Earlier quoted context omitted.
Not 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 :)
Nobody is going to pay you $1200/day to write JavaScript. The converse is true, there is an overload of low-paid JS devs.
Office 365 is being completely rewritten in JavaScript
71–80 of 459 posts
Re: Office 365 is being completely rewritten in JavaScript
#72Surprised they didn’t opt for Typescript. Then again, it’s a tweet - looking forward to a longer blog post with technical details when they’re willing to talk about it more.
Javascript can still mean that Typescript is used.
Re: Office 365 is being completely rewritten in JavaScript
#73It says that the the JavaScript is compiled to native code. That's not something you get from React Native today is it? Have they implemented a new native code compiler for JavaScript? I wonder what compiler technology it uses.
I was wondering that after reading more of the tweets; React native doesn’t compile the JS to native, so not sure what they are using to do all of that? Bit worried about the far superior languages C# and F# if they are not even dogfooding anymore.
Re: Office 365 is being completely rewritten in JavaScript
#74Earlier quoted context omitted.
It'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…
>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 rath…
"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.
Re: Office 365 is being completely rewritten in JavaScript
#75Oh 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?
>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.
From a technical perspective, there are couple disadvantages in the long run that can make large codebases unmaintainable. In particular JS and PHP are resistant to static code analysis since they support functions like exec. So it becomes difficult to deprecate functions because the references are not necessarily explicit, thus can lead to tech debt buildup. ES6 does a better job but its backwards compatibility can leave the code vulnerable.
Re: Office 365 is being completely rewritten in JavaScript
#76Half the battery goes to edge alone on a good day
Re: Office 365 is being completely rewritten in JavaScript
#77Earlier quoted context omitted.
It'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…
>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 rath…
Nope. No it does not.
JavaScript is particularly egregious because of it's weird behaviour about types and coercion and you know, just silently failing, behaviour that I wouldn't want going on in any proper system that handles anything important. Other people have written at great length about JS's many failings.
JS is not the only language with nice async support, practically every mature language has async support and a good number of the compiled ones have proper parallel support as well.
Re: Office 365 is being completely rewritten in JavaScript
#78Earlier quoted context omitted.
>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 rath…
> (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 fast…
But you still have to compute hashcode yourself :D
Re: Office 365 is being completely rewritten in JavaScript
#79Re: Office 365 is being completely rewritten in JavaScript
#80Earlier quoted context omitted.
>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.
I think most devs who dislike it because it reduces the barrier to entry which undermines both their own prestige and quality of coworkers. Its similar to dislike of outsourcing in many ways. From a technical perspective, there are couple disadvantages in the long run that can make large codebases unmaintainable. In particular JS and PHP are resistant to static code analysis since they support functions like exec. So…
I think the prestige comment is a bit unfair, but today at work I had to educate a JS dev on what headers are in a HTTP request/request and some other pretty basic things (a dictionary/record type object and a JSON string are not the same thing for one). They were like "I know I've got to do these things, but I don't know why/how they work".
So yeah, I don't think disliking it because that's the average quality of JS dev I see is an unreasonable position. I'm sure there's some great ones out there doing impressive things, but I'm sure you could point them towards nearly any language and they'd produce something equally cool.