this post was submitted on 16 Jul 2023
646 points (92.3% liked)
Programmer Humor
32745 readers
242 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
it is a horribly slow, ugly language, with the most braindead scoping rules (apart from js, of course). The only fast parts of it are libraries written in other languages, because python itself is not up to the task for anything more than glueing code from other, better languages together.
Honestly JS seams saner then python, it's wierd but rather sane. The only really bad parts of JS are the type coercing == and =! operators which are very broken
For example "" == 0 and 0 == "0" are both true, but "0" == "" is false.
this is an unpopular opinion of mine, but I think lua is, in turn, a saner version of js. Apart from the 1-based indexing (which really isn't that big a deal imo). But I really love the stackful coroutines.
I haven't worked with any 1-based indexing languages, but I can't really see how it could be problematic. The only advantage I see about 0-based indexing is the simplicity in how the memory address is calculated. Just
arr + index × sizeof(member)
which I think even has its own MOV instruction on x86. But besides that I can't see any more advantages. With 1-based indexing I see the advantage of the number of elements also being the index of the last element of the array, avoiding off-by-one errors when writing. Though, again, I've never used a 1-based indexing language.