Hacker Newsnew | past | comments | ask | show | jobs | submit | Hasnep's commentslogin

But it's also not not an increasing rate, there's not enough information to know if the rate is increasing or not.


It's not the Nix/Guile that's expensive, it's situations like:

    let chromium = pkgs.chromium; in 1 + 1
In a maximally eager language you'd need to wait for the entirety of Chromium to build before you can find out what 1 + 1 is.


I checked the spec and Scheme R5RS does have lazy evaluation in the form of promises using "delay" and "force", but I can see why explicitly having to put those everywhere isn't a good solution.


Focusing on criticising people's actions and being lenient and not judging the person's character is literally centuries old, I don't think you can say it's because of woke.


It's arguably one of the central principles of Christianity. Let he who is without sin cast the first stone and so on.


Yeah, that's exactly what I was thinking of, just didn't want to start a flame war.


The woke movement in many ways has taken core Christian principles, cut out the supernatural elements, and formed a new quasi religious movement. It has its dogmas and priests, it focuses on the poor & disadvantaged, etc. That's not a criticism of woke, I see it more as a response of the failures of Christianity in practice to live or embrace those values.


Yes, sounds right. Because you can't hit a killer with stone if you envy your rich neighbor.


There's a reason Nietzsche labeled it slave morality. It undermines people's confidence to act and judge other appropriately, revalues weakness to be a virtue and strength as evil, and demands that people stop trying to change the world for the better and focus instead on their own supposed guilt. It's morality developed for people who are structurally unable to act (because they are commoner serfs with no power) to make them feel justified and satisfied with inaction.


Wrong thread?


I bounced off OCaml a few years ago because of the state of the tooling, despite it being almost exactly the language I was looking for. I'm really happy with Gleam now, and recommended it over OCaml for most use cases.


Can you use Gleam for ad-hoc scripting? In my mind that means two requirements that most languages fail at.

1. You can import by relative file path. (Python can't.)

2. You can specify third party dependencies in a single file script and have that work properly with IDEs.

Deno is the best option I've found that has both of those and is statically typed.

I'm hoping Rust will eventually too but it's going to be at least a year or two.


I always assumed a runtime specialized for highly concurrent, fault-tolerant, long-running processes would have a noticeable startup penalty, which is one of the things that bothers me about Python. Is that something you notice with Gleam?


I tried out Gleam for Advent of Code this year. There was a significant difference in startup times, about 13 ms for Python and 120 ms for Gleam.

If you want something with minimal startup times then you need a language that complies to native binaries like Zig, Rust or OCaml.


Did you consider using F#? The language is very similar to OCaml, but it has the added benefit of good tooling and a large package ecosystem (can use any .NET package).


I've heard a lot of good things about F#, but I've also heard that C# has taken all the best features from F# and now development has slowed down. I don't know how true that is. It's also just some irrational anti Microsoft bias, even though I know .NET runs fine on Linux now, the idea still felt weird to me. I suspect if I'd actually tried F# I would have stuck with it.

I have looked at the Fable compiler for F# which lets you compile F# to Rust which is very cool!


Cosmic desktop shipped in PopOS 24.04 a few weeks ago btw


Nice, I missed that!


It seems like your main gripe is that writing the type annotations slows you down, so I'd be interested to know what you think of languages like OCaml, Elm, Gleam or Roc. These are languages which never (or almost never) require any type annotations because the compiler can always infer all the types. Most people using these languages tend to add type annotations to top-level functions anyway though.

It seems to me that this is equivalent to a language without a type checker that automatically generates a unit test for every line of your program that tests its type.


Yes, SQL is a query language and clickhouse is a database that uses SQL as a query language, but I don't see why that's relevant.


Oh, this would have been great for a project I was working on a while ago! I'll have to keep it in mind for the future. Thanks for sharing


The author is also the creator of the textual Python library for creating TUIs. The performance benefits of Rust don't seem very useful in a tool where you spend a few seconds typing in a prompt and then 90% of your time is spent waiting. As long as the UI is responsive when typing there wouldn't be much of a difference.


Didn’t know that. Good reason then of course. But I do notice these sort of differences. Codex feels way better than Claude code to me for example.

I tried Toad and to me it feels ridiculously slow and laggy. Switching between input and output (ALT+up/down) for example just lags, I can notice the transition. The whole UI lags. It's no wonder, it's python. Simply the wrong language for this, sorry.


Yeah it feels slow and laggy to me too and I'm not on an old laptop. Running on a M3 Macbook Pro here. I definitely notice the difference between using something like Ghostty (Rust based - super fast) and Toad (Python).


It doesn't really make sense to compare the performance of Ghostty, a terminal emulator, with Toad, a TUI. Also Ghostty is written in Zig, not Rust.


It's obviously way slower though. Also the point stands, it's written in a low-level, performance-oriented language. The author of Toad could have written it in Rust, Zig, C++, etc, but chose Python instead. He valued ease of development versus performance and the result is we get a laggy terminal.


I know for a fact that Textual can generate an entire frame in less than a 60th of a second. Any lag you see has nothing to do with the choice of language. A TUI just doesn’t require that much number crunching to use a low level language.

I’d be interesting in knowing what platform and terminal you observed the lag, when testing Toad.


It is quite literally instantaneous on my 5 year old laptop. Whatever you are seeing isn't due to the choice of Python.


Maybe it's something on my setup then. I notice some delay even though it's by no means huge but noticable. For me these things add up, another example is pane resizing in tmux. I like things snappy, but it's kind of an OCD thing I guess.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: