There are a number of good, general purpose languages. What we seem to have less of is good, general purpose developers and good, general purpose and stable libraries. I have always been frustrated having to debug my tools as well as my project, and I would think others feel the same. Let’s try to stop inventing new wheels and refine those we already have.
Stop making languages, start making interactive debuggers, standard libraries ("batteries includes"), autocompletors (LSP support as good as rust-analyzer), dynamic syntax highlighters, linters, autoformatters, visualizers.
No, there aren't very many good programming languages, not very old ones anyway.
Imagine everyone was happy with C/C++, we wouldn't have Rust or Nim. Imagine everyone was happy with Java and JavaScript, we wouldn't have Dart or Go.
The most used programming languages today are JavaScript, Java, Python, PHP and C++, all of which are shit-tier. We definitely need more languages, not less.
If we have good languages, the ecosystems will develop around it... it may take 20 years... but I think it would be so much nicer to see a new much better language have a great stable libraries in 20 years... than people still having to deal with shit-tier languages like python and Java in 20 years.
Idk, Java and JavaScript (as TypeScript) aren’t actually that bad. Yeah Java loves OOP and verbose design patterns, but it’s gotten a lot better with functional programming, syntax sugar, and IDE support making it much less verbose. JavaScript has some weird quirks but with strict TypeScript, a good linter, and ES2020+ features, you can “almost” avoid them.
Python and PHP are fine if you’re only using them in small projects. I agree though, if you have a decently large or performant project, or one that may scale, you should pick a different language. And C++ is just terrible and should be deprecated/replaced by Go and Rust.
Not so fast. JavaScript/C++/Python/Java are world class Champions. Having out-competed and destroyed literally thousands of competing languages. They are the battle hardened, scared veterans of years of battles. And they are still standing strong in the middle of a field of language corpses, taking on all competitors. Don’t assume that you know what it takes for a language to be a winner. Especially if you think the Champion languages that have survived 20+ years of fierce hard battle are “shitty”.
javascript/nodejs. I had been using Matlab ~15 yrs until I left the institution that was paying for it. I looked around and js/node was the clear winner. NodeJS was being continually improved with faster engines, the browser as the default GUI for any app I could create, Node can access to C libraries directly. So though I didn't know it at the time, I became full stack dev. And that is on top of my real job of engineer/data scientist. Unlike a lot of my colleagues who know only python/Fortran/C/C++ I'm comfortable putting together a server to crunch the numbers, tap in to a dB, and serve it all to a GUI of my own design if need be. JS/Node is not easy but it is the most flexible language ... oh, and you'll never be out of work even if that's the only language you know.
Maybe the programmers would be better off using a dangerous language and blowing their legs off a couple of times. This cult-of-the-compiler mentality is starting to become tiresome. It’s not very good for productivity either.
Define “general-purpose”. All languages have limitations on what it can be used for out of the box (unless it can be cross-compiled into a different language as needed).
Define “good”. Good for what? Do you mean productive? Productive for whom? Do you mean “I like it”? In what environment?
Different developers like different languages. For example, some developers love explicit types. Others don’t.
In other words, there is a reason why we have many different languages and development environments. The same reason that explains why we will always and forever have new languages, frameworks, libraries etc. solving the same problem in a new different way.
That of course doesn’t stop developers from trying every day to come up with a “one-size-fits-all” language/framework/library/architecture that will solve all problems for all developers in all situations. It will never happen of course. But it sure is fun to see the language/framework/library/architecture wars from the side line. Bring popcorn! :)
11 comments
[ 3.8 ms ] story [ 25.5 ms ] threadImagine everyone was happy with C/C++, we wouldn't have Rust or Nim. Imagine everyone was happy with Java and JavaScript, we wouldn't have Dart or Go.
The most used programming languages today are JavaScript, Java, Python, PHP and C++, all of which are shit-tier. We definitely need more languages, not less.
If we have good languages, the ecosystems will develop around it... it may take 20 years... but I think it would be so much nicer to see a new much better language have a great stable libraries in 20 years... than people still having to deal with shit-tier languages like python and Java in 20 years.
Python and PHP are fine if you’re only using them in small projects. I agree though, if you have a decently large or performant project, or one that may scale, you should pick a different language. And C++ is just terrible and should be deprecated/replaced by Go and Rust.
- General purpose windows? c#
- General purpose web? Javascript
- General purpose IOT? c++
The problem is general purpose doesn't work anymore? Not for at least 15 years.
Define “good”. Good for what? Do you mean productive? Productive for whom? Do you mean “I like it”? In what environment?
Different developers like different languages. For example, some developers love explicit types. Others don’t.
In other words, there is a reason why we have many different languages and development environments. The same reason that explains why we will always and forever have new languages, frameworks, libraries etc. solving the same problem in a new different way.
That of course doesn’t stop developers from trying every day to come up with a “one-size-fits-all” language/framework/library/architecture that will solve all problems for all developers in all situations. It will never happen of course. But it sure is fun to see the language/framework/library/architecture wars from the side line. Bring popcorn! :)