10 ms·
Oh well, the kool-aid is strong. Next round of what Intel giveth, Microsoft taketh away... Can somebody please design even worse language so that we can progre
by bitL 8y ago
Oh well, the kool-aid is strong. Next round of what Intel giveth, Microsoft taketh away...
Can somebody please design even worse language so that we can progress by reimplementing everything in it, keeping us occupied for the next 20 years?
- setquk 8y agoNot only that, billions of hours of invested time and knowledge will be thrown out of the window instantly and everyone who integrates anything with Office will have to start again from scratch. Literally at least a third of the world is built on bits of spaghetti and duct tape on Office. For developers though, this is chargeable so I'm on the fence :)
- nawgszy 8y ago>even worse language What's wrong with JS, exactly, that isn't made up for by its advantages? I see these 'kool-aid' / 'JS is cancer' comments all the time, but they don't come with any real details. I feel like you've probably never really used JS, if I'm being honest.
- bitL 8y agoKool-aid in the sense that JS is extremely attractive to MBA types that don't have to write anything with it. There is a huge pool of JS developers (quality is questionable but price range is mostly low), browsers run everywhere, Node.js made it possible to run the whole stack on it, so that's a win for MBA types and a great value proposition. The fact that it's a historically atrocious language doesn't matter as they have peasants (i.e. us) to deal with it (to be honest, it got much better since async/await was introduced, but hacks/warts are still there to be abused in horrible ways). I wrote bleeding-edge games and other crazy stuff in JS you might be using right now in your business, so my opinion is not unfounded.
- wiz21c 8y agoBest comment so far
- setquk 8y agoWe're mostly just bitter from years of being beaten with it. I can't actually face using node.js as an example. It is physically painful compared to other options that I have dealt with (flask, asp.net). Also for me, I've been burned before. Do you remember when everyone jumped on the PHP bandwagon? That. Again. Look where we are now. On the web, and now suddenly on the desktop, velocity is not what we need. We need quality and consolidation. Down the line can you see any ES6 based API lasting as long as win32? Hell no. Why would I want to risk building a major capital product on such guarantees?
- dagw 8y agoWhat's wrong with JS, exactly The language has some very ugly warts (although ES6+ fixes many things), I find that the quality/maturity/stability of third party libraries lags behind other languages, and the whole build/dev environment best practices is constantly in flux and breaking things all the time. Also Electron, for all it's advantages, is renowned for being a massive resource hog making what is otherwise a fairly fast and efficient language appear horribly slow at times. That being said, developing in JS today is a lot better than 3-4 years ago, and I suspect that that pattern will continue.
- 8y ago
- capelio 8y agoHow much more real world evidence does HN need to see before the "JS isn't a real language" meme is abandoned? Pretty sure we're up to billions of real world value created by software written in Javascript. If you're still dismissive at this point, it's time to catch up. You've missed the boat.
- arghwhat 8y agoIt's a "real" language, it's just not a terribly good or fast one. It's works decently when its use is limited to what it was made for: manipulating web pages. For anything else, the "designed on the back of a used piece of toilet paper" starts to shine through. And no, a JIT can't save you from this, it can only make things acceptable. That it can create "real world value" is an extremely low bar, which is passed by any turing complete language. COBOL creates "real world value".
- tinus_hn 8y agoWhat part of ‘acceptable’ is unacceptable to you then?
- nawgszy 8y ago>it's just not a terribly good or fast one From everything I've seen, its performance sits just below Java (4x slower, perhaps) on some standard algorithms or tasks, and significantly faster than languages like Ruby, Python, etc.. I never see hate for those languages like for JS, so I'll disregard that. >not terribly good This one never has made sense. What is it missing that makes you hate it so? I think it has rather robust asynchronous handling, 'everything is an object' has lots of nice implications when paired with functionality like Object.keys / .assign, ... So what are the issues you see that make it 'bad'?
- arghwhat 8y ago> (4x slower, perhaps) "4x" is a lot slower, and a lot of things are much worse than this. You have to have deep knowledge of the VM (such as knowing how "hidden classes" work in V8) to be able to get JS close to Java. > so I'll disregard that. You shouldn't. Claiming a JIT'ed language is fast due to being faster than Python, an entirely interpreted language, is like saying a moped is a fast vehicle because it's faster than biking. Apples and oranges. Being faster than PyPy, the JIT'ed Python implementation, is a more interesting thing, but this is still very far off "fast" languages. > What is it missing that makes you hate it so? Most language features, really. "Everything is an object and objects are hashmaps, EVEN ARRAYS" (terrible for performance, type safety), "array of int16" strings with totally broken unicode codepoint handling (ES2016 brought new ways to deal with codepoints, but the standard way is still broken), the "Number" type which is totally retarted, the terrible "prototype" system, the malice that is "this" and how any bare function expression had its own this context (arrow functions are a good workaround now), and god I could go on. "Everything is an object" is only useful if you either actually need a hashmap (then use one!), or you have sloppy types. JS, as a langauge, is not well designed. I'm not saying it had to be Haskell or Rust, but JS is far below average. It works, and does it job decently due to the very hard work of JS engine implementors trying to make this crazy thing fast, but that's not the same as being good.
- htor 8y agothis js-is-not-a-real-language stand is only to be expected from someone like a professor or a computer science student. universities and educational institutions in general will always be the last ones to adapt to changes, after the rest of society has moved forward, and they will try imposing those conservative opinions on everyone who are not in their camp. times are changing, computers are becoming more complex and we need more abstractions too. and the ignorant js-is-only-a-scripting-language statement is simply not true anymore.
- gizmo 8y agoExcept computers have not gotten more complex. We are dealing with the same kind of filesystems, virtual memory, relational databases, encryption, compression, and network stacks as 20 years ago. Objections against javascript are not Luddite objections against all types of higher level abstractions; the complaint is that javascript is not suitable for the creation of complex high quality software. If you beat your head against the javascript walls long enough can get something to work eventually, but that's not much of an endorsement. The only thing javascript has going for it is the delivery mechanism, and that is what makes it so compelling for business use. But this is not because javascript is so good, it's that the other methods of packaging/delivering software are so painful. The total absence of high quality software written in javascript is sufficient evidence to conclude that javascript is not a tool suitable for serious application development.
- htor 8y ago> The total absence of high quality software written in javascript is sufficient evidence to conclude that javascript is not a tool suitable for serious application development. a little overstatement, but okay. js is very suitable for this in my opinion. i don't what counts as "serious" application development in your world, but i've seen quite many good, performant applications around written in js. and servers too!