this post was submitted on 21 Nov 2023
193 points (90.7% liked)
Programmer Humor
32467 readers
1243 users here now
Post funny things about programming here! (Or just rant about your favourite programming language.)
Rules:
- Posts must be relevant to programming, programmers, or computer science.
- No NSFW content.
- Jokes must be in good taste. No hate speech, bigotry, etc.
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
And yet somehow it evolved to become something that will last to the heat death of the universe.
I've grown used to it with time, though. Once you know it's "quirks", it's not so bad.
I guess the internet just grew that fast. The first arrival took all and locked everybody in.
Now, we have just two browsers that are widely used, so maybe we do have an opportunity to go back and fix it. Go sounds like it's a pretty popular choice for statically typed, imperative high-level language.
Honestly, given the context of a browser, Javascript's "Everything is better than crashing" philosophy does not seem too out-of-place. Yes, the website might break, but at least it would be theoretically usable still.
Yes, a statically typed language would help, but I'd rather not have one that is "these two types are slightly different, fuck you, have a segfault", but rather one that is slightly more flexible.
Actually, that's a good point, in scripting fatal type errors can happen at runtime. I guess Python is the right choice then, given it's maturity and popularity, and then you can code the complex stuff in whatever you want via WASM like other people mentioned.
Not even "not so bad", I would say that as a scripting language it's fantastic. If I'm writing any actually complex code, then static typing is much easier to work with, but if you want to hack together some stuff, python is great.
It also interfaces extremely easily with C++ through pybind11, so for most of what I do, I end up writing the major code base in C++ and a lightweight wrapper in Python, because then you don't have to think about anything when using the lib, just hack away in dynamically typed Python, and let your compiled C++ do the heavy lifting.