5 ms·
Not a huge fan of JS but you can't deny that the language has improved tremendously over the years while still maintaining backwards compatibility.
by oweiler 5y ago
Not a huge fan of JS but you can't deny that the language has improved tremendously over the years while still maintaining backwards compatibility.
- swiley 5y agoI don't know if this is part of the standards but there was a backwards incompatible change in the way regex worked around firefox 73 and a bunch of sites crash in older firefox now.
- dleslie 5y agoI'd like to say it's a testament to the original design; but I can't overlook the hundreds of millions of dollars, perhaps more, that has been spent to improve the language. It's nothing short of incredible that it is as fast as it is and as useful as it is. It shows that many hands do make light work; and money can buy that effort.
- irrational 5y agoI don't have any numbers to back this up, but I'm pretty sure that between Google, Mozilla, MicroSoft, etc. more resources (both people and money) have been put towards improving JavaScript (language and performance) than any other language in the history of programming. Now I hope someone will provide numbers to show why I'm wrong.
- dleslie 5y agoI want to say that C has had more resources due to it being the defacto compiler reference target; but honestly, I doubt it.
- hajile 5y agoHuge amounts of inspiration came from coffeescript. The biggest advantage of JS has often been going last and executing what is already proven to be a great idea.
- montroser 5y agoYes, indeed. It is really pleasant compared to how it was 10 years ago, and still -- code written 10 years ago, even code written 25 years ago still runs in modern browsers. It's amazing and wonderful. JavaScript has quite effectively managed to avoid anything the Perl 6 fiasco which greatly contributed to Perl's demise, or the Python 2 => 3 timult, which turns out will not be a kiss of death, but made for some rough years. JavaScript did almost have its own trouble of the same sort with ES4, but it was very wisely abandoned when it turned out to be too ambitious/contentious...
- GuB-42 5y agoI wouldn't call Perl6/Raku a fiasco. I don't actively use it but I followed it. It is actually a more modern language than pretty much anything else and it seems to have great community that is not a bunch of zealots. Also, it is far from dead. At the same time Perl5 is also still alive and from the start, it was clear that the two will be maintained in parallel. Perl6 was not intended to replace it, they changed the name to Raku to clarify the situation. So while it may be a fiasco if you consider the market share, it clearly isn't for the language. Perl5 doesn't really need change, and if you want to change it anyways, it would be for a whole new language, and that's exactly what happened.
- ketzo 5y agoI dunno. If you walked into a sophomore-level computer science lecture 15 years ago, most of the people there would either have heard of Perl or be proficient in it themselves. Now? I'd be amazed if a single student had written a line of Perl, or ever heard of Raku. That simply doesn't compare to where Python, Java, or even PHP are in the popular mind, IMO. I would call that something of a fiasco, frankly. Market share is everything for a programming language. The game isn't zero-sum, but it's close; there's only so many developers with so many hours to create libraries, guides, new software.
- sevrinsky 5y agoSpeaking as a long-time Perl monger (Perl5 has been 80%+ of my day job for most of the last 25 years): Perl6 was definitely a fiasco that contributed to Perl5's demise. The active support in the ecosystem was divided between the "two Perls" and sapped the driving forces in the community. Perl5, like any other language, needs constant maintenance and growth in order to interact with modern tools and frameworks. For example, Protobuf and gRPC only work with a particular module (Google::ProtocolBuffers::Dynamic) which requires an arcane series of dependencies. Remember that a language is much more than just the semantics and the batteries-included libraries with the core. On the module and community side, Perl has been in free fall for the last decade.
- superkuh 5y agoBackwards compatibility is one thing. But forwards compatibility is something javascript devs have a terrible time with. The standards change fast and new features are added constantly. And unlike, say, Bash devs, javascript devs want the latest and greatest and don't care if it doesn't run on $software from 2 years ago.
- Vinnl 5y agoYes they do, that's the entire reason to use Babel. If there's any part of the stack where you have to go to great pains to be compatible with a wide range of completely different environments, it's the frontend. It's the dev environment that churns a lot, partly for that reason.
- superkuh 5y agoBash runs on an vastly larger number of different environments yet Bash devs still manage to write forwards compatible code. It's the culture, not the language.