5 ms·
Another acerbic article from Richard Eng critiquing javascript. Granted that javascript is inconsistent and poorly designed. But what does he expect a beginner
by Lordarminius 10y ago
Another acerbic article from Richard Eng critiquing javascript.
Granted that javascript is inconsistent and poorly designed. But what does he expect a beginner programmer to do? Learn a language has neither widespread acceptance nor community support, in an attempt to get away from javascript's deficiencies?
Even Google could not wean sophisticated programmers (who appreciate the issues way better than I and many others do) away from javascript despite its incredible efforts.
I for one am interested in getting the job done quickly and as painlessly as possible. I dont make the tools I just use them.
Thoughts anyone?
- throwaway7645 10y agoAll good points. Personally, its an idealism versus practicality argument. I personally believe (take this with a grain of salt) that we should deprecate awful languages like JS if there is truly a better alternative out there that gives superior power, ease of use, and safety. The economist in me points out that this would've already happened had they really been that much better. Kind of like one-hit wonders like "ice-ice baby" are actually not crappy songs but amazing works of art according to the masses. Maybe one day P6 will get optimized and polished enough to where all users of (P5, Python, Ruby, and TCL) say "I want that" and switch. Individuals might do that. Companies are more like glaciers.
- dri_ft 10y agoI don't think whether or not it happens (or has already happened) depends solely on whether the other languages are better. Isn't it a lot of it a co-ordination problems? People want to write in the languages that are widely used and have a lot of libraries; people write libraries for languages that are already widely used; that sort of thing? You're right about Ice Ice Baby, though.
- dgreensp 10y agoI see it as popularity vs merit. A lot of things feed into popularity, like familiarity and network effects. Also, you can be popular by appealing to the sentiments or taste of the masses or influencers, regardless of merit, unless there are strong corrective market forces.
- throwaway7645 10y agoHaha, you're right that there is a chicken and egg problem, but if DART was really an order of magnitude greater than JS, there would be a lot more DART programmers after this many years.
- paulddraper 10y agoYou don't need to have thousands of others appreciate Ice Ice Baby and create an ecosystem of libraries and tooling around it. But a successful language requires those things, for the masses (not the early adopters). That creates glacial inertia, even for individuals.
- paulddraper 10y ago> Even Google could not wean sophisticated programmers away from javascript despite its incredible efforts. Not sure what you mean. Angular 2 is typescript-first.
- gokr 10y agoWell, I agree that the article can annoy some people. But... as an avid Smalltalker with a LOT of experience with it - and a lot of experience with Javascript too (and tons of other languages) - there is a "truth" in here. Smalltalk is immensely cleaner and gives you IMHO a much deeper more gratifying experience working in it. Yes, it's OO all the way, while Javascript is... well, not sure what to call it these days ;) A hodgepodge perhaps. But the real magic in Smalltalk is in the live environment. It all boils down to the Right Tool for the Right Job. If you are looking for a really powerful tool for abstraction and working interactively with advanced domain models, often using meta capabilities - then Smalltalk totally rocks. The more advanced, the more it shines. But of course Smalltalk has its negative sides too, and it depends on your specific use case. It's (if we consider the Cog VM which is the most common one) pretty fast, but comes short of V8. It can interoperate with other languages, but it's not as easy as in some other languages. It has a decent community, but not as large as Javascript/Python/Ruby. And so on. But when your use case fits - it's really good. So my advice is learn many languages, it will make you a better developer, and its fun! <promotion>Personally I am trying to evolve Smalltalk by merging it with ideas from Lisp, JavaScript and Rebol: sprylang.org</promotion>
- horrido 10y agoJava is currently the most popular language in the world. There are far more job postings for Java than for any other programming language. Java is the enterprise standard language. Java has a tremendous ecosystem and a vast user community. Java is pretty much unassailable. However, in 1995 Java was nothing more than a hopeful upstart from Sun Microsystems. There were no job opportunities for it. It had no ecosystem to speak of and relatively few users. Performance-wise, it ran like a slug (today, the JVM is well-optimized). How did Java achieve today's status? To a large extent, it was thanks to Sun Microsystem's marketing efforts. People were drawn to the promise of "write once, run everywhere." They also liked that Java was a fairly simple and easy-to-learn language. In time, Java developed a large community and widespread usage. The point is, all programming languages have to start from zero. They either grow from grassroots, or they grow from corporate sponsorship and marketing. Incumbent languages with their large ecosystems and user communities eventually yield to newer languages with their promise of greater ease, productivity, flexibility, power, etc. Getting the job done is important, but one should also look to the future. That's the hope of languages such as Go, Swift, Dart, Julia, Rust, Elixir, Smalltalk, and so on.