> I wouldn't know how to make a case that any language is a bad language
I have a checklist I've been building which is purely based on my experience and is subjective. Appearing on the checklist makes teaching someone else more difficult and looks bad for the language in general.
I believe the ecosystem is part of the language. You can't do much without running into npm if you use node but you can avoid it if you just use JS - are they separate? I treat them so. If you aren't a general purpose language being used as a general purpose language, that's partially the language's (including ecosystem) fault. eg don't make a UI with erlang.
* Language has a toxic ecosystem - node
* Language makes it easy to do the wrong thing - node, js, PHP, lua, Perl (notice no Python)
* Language makes it hard to do the right thing - node, js, PHP, Perl, erlang, Python, Haskell, Java
* Language is based on an esoteric design principle - erlang, Haskell, lua (meta-things)
* Language which is internally inconsistent - node, js (floats, time, etc), PHP (bifs), Java (type system)
etc. I think there's plenty of languages which have problems and few seem to be shoring them up because we still don't have a consensus on how dynamic typing should be implemented, so we build upon the sand of flawed languages and argue about triviality.
No programming language design survives first contact with the programmers. This is also holds on project level if you are 100 persons working on the same project it's very easy to mess it up.
I've seen lots of bad python code, I don't think it's hard to do the wrong thing.
> The premise of this argument relies on assuming life arising on Earth and Mars are stochastic processes that each occurred independently
That isn't the premise. It's the premise of how it got there for a straightforward example, but doesn't avert the filter questions (regardless of how it got there).
I rather enjoyed this for awhile, although a bit repetitive and long-winded at times. He did mention it was rushed.
Decades later, I'm surprised that languages aren't changing to make programming less boilerplate and more convenient; eg nested comments, single type multi-var declarations and assignments. As a matter of interest, he generates a compile error in a small function at ~51:05 in his own language.
He doesn't think memory safety is important (13:25 "I don't give a flying toss...") but is going to be adding the runtime bounds checking (~56:50 "It's not hard to add...") in the future for arrays only? This is probably a good idea, since he thinks Rust is overly careful.
At about the hour mark, before his enthusiastic "clever pointer tricks" segment, I checked out. I'll see if this goes anywhere after he's made some tougher tradeoffs.
Now that there's been some time to see all the comment threads, there was nothing crackpot about the straightforward question about a Clinton connection.
It sounds like you are an atypical user or distorting facts. No one I know (including ppl who have driven for these services) has ever experienced any of the problems you describe. I live in large metropolitan areas in the west coast.
> the price of everything rises by the same proportion
Due to regulation, that's simply not the universal case - e.g. rent control. The economy is conceptual, but prices are concrete leading to some ironic situations.
Inflation is when the currency itself loses market value. There's no such thing as inflation that only affects some goods and not others. The prices of some goods do fluctuate relative to each other, but that's not inflation!
I have a checklist I've been building which is purely based on my experience and is subjective. Appearing on the checklist makes teaching someone else more difficult and looks bad for the language in general.
I believe the ecosystem is part of the language. You can't do much without running into npm if you use node but you can avoid it if you just use JS - are they separate? I treat them so. If you aren't a general purpose language being used as a general purpose language, that's partially the language's (including ecosystem) fault. eg don't make a UI with erlang.
* Language has a toxic ecosystem - node
* Language makes it easy to do the wrong thing - node, js, PHP, lua, Perl (notice no Python)
* Language makes it hard to do the right thing - node, js, PHP, Perl, erlang, Python, Haskell, Java
* Language is based on an esoteric design principle - erlang, Haskell, lua (meta-things)
* Language which is internally inconsistent - node, js (floats, time, etc), PHP (bifs), Java (type system)
etc. I think there's plenty of languages which have problems and few seem to be shoring them up because we still don't have a consensus on how dynamic typing should be implemented, so we build upon the sand of flawed languages and argue about triviality.