4 ms·
I wish they were adding power to js as they did to Lua: with simplicity. Instead they are doing doing the C++/Scala way: with complexity. Good thing I have Cl
by islon 10y ago
I wish they were adding power to js as they did to Lua: with simplicity.
Instead they are doing doing the C++/Scala way: with complexity.
Good thing I have Clojurescript...
- k__ 10y agoThey want to be backwards compatible, so what should they do? They can only discourage people to use the old stuff, if a better alternative is now available.
- jychang 10y agoRelease a Node.js version 10 with all the backwards stuff removed. Support the current version for LTS duration. Throw in a tool that does a lot of old->new conversion automatically, like the Python 2to3 tool. Come on, this is Node.js, not Win98.
- Klathmon 10y agoHas a massive big change like that ever worked smoothly in a language with really widespread use? I mean it's 8 years later and python is still feeling the issues from the 2->3 change.
- tonyedgecombe 10y agoOnly because they didn't deprecate 2 soon enough, they could have forced peoples hand, we would all have complained but it would be long forgotten by now.
- Klathmon 10y agoI don't believe that. I understand that some of the issue is lazy developers, but I really think that the majority of the problems would be caused by unmaintained code. Websites frequently sit around un-touched for years, hell our company website has some js code that was written by me over 4 years ago and hasn't been touched since because there's just no need to screw with it. And i'll be honest, it's not going to get updated until something breaks, and I would consider myself someone who likes to be on the cutting edge and is willing to endure breaking changes in more things than i should. I really think that by advocating for a "good" subset of the language, we can get all of the benefits of removing old stuff with very little of the downsides. Something like "use strict"; in javascript now. It removed many terrible things from the language in a way that you could mix old and new code together and get the benefits of both. That worked great, and i really think it could work great again. Something like a "use es6" or something that removes a massive set of "bad ideas" in the language, but it does it in a per-file or per-function basis. Allowing new code to be written in a better way, and allows old code to keep going as it was for a very long time.
- kurttheviking 10y agoAs someone who dealt extensively with piles of legacy Python 2.7 code, I can wholeheartedly agree with this. If the "forced" 2-3 change would have occurred right away, I am certain my employer (at the time) would have forked Python itself.
- sangnoir 10y ago> they could have forced peoples hand, we would all have complained but it would be long forgotten by now. Had they been forced, a significant portion of users would have thought long and hard and jumped ship to a different language altogether, and Python "would be long forgotten by now".
- pilif 10y agoOf course then Node.js would not be running proper EcmaScript any more, but some subset dialect of that language. EcmaScript itself has to be backwards compatible or newer browsers could not display older webpages any more which none of the browser vendors want.
- stymaar 10y agoNodejs is a minor JavaScript runtime, and the backward compatibility is not really an issue: There is breaking changes in the node standard library from time to time. That's the reason it was forked into io.js last year, and why they now use SemVer. The real compatibility issue is the web ! I built a small website for an association several years ago, it still works. What if Google Chrome decided to remove whatever JavaScript features I used at this time ?
- coldtea 10y ago>Release a Node.js version 10 with all the backwards stuff removed. Support the current version for LTS duration. Throw in a tool that does a lot of old->new conversion automatically, like the Python 2to3 tool. Yeah, because it worked great for Python...
- spriggan3 10y ago> Good thing I have Clojurescript... which depends on the JVM ... ES6 has nothing to do with either C++ or Scala. It takes most of its new syntax from Python.
- _pmf_ 10y ago> which depends on the JVM ... Which has a mature ecosystem managed by people experienced in maintaining software over a decade or more.
- DigitalJack 10y agohttps://github.com/clojure/clojurescript/wiki/Bootstrapping-the-Compiler https://github.com/clojure/clojurescript/wiki/Bootstrapping-...
- gjolund 10y agoI am constantly frustrated by how much my professional work depends on the manic js ecosystem.