Hacker News new | ask | show | jobs
by jack9 2753 days ago
> 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.

1 comments

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.