Emacs is truly the best operating system
comments
Oh, I've misread your original post. The page had a white background with black text for me, and that looked ok. But a complete black background and white text really isn't optimal.
Ooo interesting, I didn't know that!
Changing brightness back and forth just for the site isn't something I would do. But besides that, I don't think it works (tested for 5 seconds). The better approach is changing the coloring of the site, and I can do that with Firefox itself or one of the available extensions. But the fact that I have to do this is in my opinion a broken styling on the site. And I mean its broken for me, not an universal take here. Everyone is different, and if you like it, then well you like it and that's totally fine.
BTW having a white background and black font color has the same contrast, and it doesn't hurt my eyes. So its not just the contrast that makes my eyes bleed. For short text, it's not really an issue, but for longer ones.
As soon as uv provides an alternative implementation so you can just run
uv run --but-fastI think it will become popular.
You can already do uv run -p pypy and uv run -p graalpy to automatically download and use those versions of Python.
the stdlib of rust is woefully lacking, proper error handling is way too verbose, the dependency chains are massive and unauditable, and all the implicitness makes it hard to reason about stuff like a.from() without proper editor support which makes code review a nightmare. i do like ccontract-driven design though. all in all i think i'll stick to zig if i need safety.
and self documenting
Ha ha ha ha ha ha
Rust is pretty great in almost all domains. The only ones where I think Python is a sensible choice are research, where a REPL is really useful (think Jupyter).
I write C# and Python, and C# is much more expressive than Python is and performs about 10x to 77x better. C# has much better pattern matching and has operators to deal with null and support for it in the type system. C# records can be serialized without issue (Python's built in JSON serializer can only serialize dictionaries). Althoigh variable scoping in C# isn't perfect (object patterns in if statements pollute the outer scope) variables at least aren't just function scoped like in Python. You can define user defined primitve types in C# which enables bettrr support for domain typing than what is possible in Python.
I think his point was that Python is more useful for one-off stuff and I'd claim that much better than bash at those kinds of things.
But Python has so many quirks and bad designs. Function scoped variables, multiple inheritance, backwards comprehension syntax, poor pattern matching, poor handling of None and so much is convention based so you don't get an error if you did it wrong. Python classes aren't serializable (not even data classes).
Coupled with it's awful performance I'm convinced the reason people use it is because they don't know anything else.
I think it's the right call. The issue with CPython's JIT is that it isn't really a true JIT like you would find in Java or .NET and suffers from the same issue that auto vectorization did in C++: you had to understand the internals of the CPython runtime to properly utilize it which isn't a great developer experience.
Little rant: My eyes hurt from reading 100% white on 100% black background… Wish sites stopped doing it. Thank god Firefox has this builtin reader view functionality.
I love the high contrast, especially on cheaper displays. Maybe it helps to lower the screen brightness?
it's just such an odd question. you know nothing about my domain or my requirements, you just assume i can or want to use rust.
it's all work stuff unfortunately. it's just basic ctypes stuff though.
AI doesn't need feedback – you're supposed to write "make no mistakes". Why are you worrying about "static correctness checks" when AI can just write flawless assembly?
Do you have a codeberg? I'd love to see how you use c and python together
This some great stuff and a really fun read.
On an unrelated note, as a remark about the world I live in. I spent the entire article waiting for the mention of how an LLM was used to devise a faster algorithm or how it was used to research this.
Even myself, a certified LLM hater, has fallen into the trap of assuming that some well researched, and especially novel, creation was ultimately the product of a bot. I really can't stand how much my confidence in humans has been shaken.
In either case this was a blast to read, especially for someone who loves low level OS/Systems code.
For such important projects, its not a big deal to just create Python packages. I don't get your point. You can use Python for scripting, and you can use it for full fledged programs or share package dependencies.
My only problem is, that non standard package dependencies need to be installed by the end user, or sometimes the Python version does not match. These are the biggest issues to me.
There are plenty of things that are "scripting", i.e. ad-hoc admin of other projects that aren't actually Python projects, where you want to share code between multiple scripts.
Rust has scripting support. It's nightly only but that's not actually a big deal since running nightly is trivial.
It has some limitations currently, but... so does Python.
little rant
Its a valid rant.
Wouldn't be python then 🤣
because i need my programs to be dynamic and scriptable?
Python is good for scripting. If you start importing and having multiple packages involved with relative imports, that's no longer "scripting". We have standard library and the package manager for a reason. I think you are conflicting with full fledged applications and scripting.
Just because import works different in the language than the ones you like, does not mean the language is crap.
No, it means it's unsuitable for scripting, if you need anything more than a single file. Better than Bash of course (not hard).