Live data from Hacker News

Office 365 is being completely rewritten in JavaScript

twitter.com

251–260 of 459 posts

Re: Office 365 is being completely rewritten in JavaScript

#251

It 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.

This is right, its more nativeish apis and webview for UI and friends. Worthy Snipe and misinformation on my part in thread.

wait.. so its using a webview for UI with native calls like cordova and pals?

Re: Office 365 is being completely rewritten in JavaScript

#252
post #67

Earlier 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…

> What is it missing that makes you hate it so? 1. Type Safety. TypeScript helps, but until strong typing is mandatory in the language, I can't fathom using JS in any sizable project. This is also true of Python, et al. 2. A sane dependency management framework. Maven solved this problem a decade ago. Gradle is trying to fix Maven's XML mistake. But the fact is, if I need a dependency in Java, I know how to get it. A…

> ...until strong typing is mandatory in the language, I can't fathom using JS in any sizable project.

There are quite a large number of counter-examples to show type safety isn't especially important to the success of large projects.

I think the guarantees it provides are far too limited and weak to support large software systems. It relies on static code analysis, which doesn't mean much unless your app is a single build and runs as a single instance. That's more of a '90's style Microsoft Word type of app than what a typical large software project is today. Meanwhile the guarantees it does provide are only helpful to the extent developers can map their domain problems to the capabilities of the type system. Sometimes there is a nice natural fit, but usually the typesystem is both too weak (doesn't provide a convenient and natural way to impose the constraits of your problem domain) and too strong (imposes constraints your don't need or want, encumbering your development process).

Not to mention that when it comes to Javascript, you can opt-in to about as much static code analysis, including type-safety, as you want.

Re: Office 365 is being completely rewritten in JavaScript

#254

Atwood's Law - "Any application that can be written in JavaScript, will eventually be written in JavaScript."

Can we skip to the bit where we start re-writing software that we re-wrote in JS in other, more appropriate languages? :P

My hunch is that those other languages don't exist yet, but afterwards we'll realize that those were even less appropriate than JS.

Re: Office 365 is being completely rewritten in JavaScript

#255
post #185

Earlier quoted context omitted.

> because it is not a pile of trash For instance, see the `Set` implementation here " rel="nofollow">https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe... and note that it doesn't even has `union` and `intersection` in the standard library. You have to copy/paste some code and place somewhere to have a minimum usable `Set` implementation. Pretty much a "pile of trash" in my opinion.

This thread is getting weird. Now we're arguing an entire language is trash because the Set type doesn't have native methods you want? Really?

It's just a tiny example of how silly this whole thing is. What's the point of having a committee to draft and design an language that can't even be bothered to have a working Set implementation? It simply doesn't make sense.

Re: Office 365 is being completely rewritten in JavaScript

#256
post #176

Earlier quoted context omitted.

every dynamically-typed language has "weird" behaviour around type coercion, that's simply the nature of the beast. sure wish i knew what you are talking about w/r/t "silently failing". JS has working exceptions just like 99% of widely used languages. I'm very glad that you've been omniscient enough to determine what "proper" parallel support is, though. How's that working out for you? Meanwhile, those of us using Ja…

> every dynamically-typed language has "weird" behaviour around type coercion Do they now? $ irb irb(main):001:0> "0" + 1 TypeError: no implicit conversion of Fixnum into String from (irb):1:in `+' from (irb):1 from /usr/bin/irb:11:in ` ' irb(main):002:0> ^D $ python >>> "0" + 1 Traceback (most recent call last): File " ", line 1, in TypeError: cannot concatenate 'str' and 'int' objects >>> ^D $ node > "0" + 1 '01' >…

Thank you for illustrating my point. All of the dynamic languages made different decisions on how to handle type conflicts, there simply is no right or wrong answer.

Oh, and JavaScript is single-threaded. It's impossible to share resources in a single process.

Re: Office 365 is being completely rewritten in JavaScript

#257
post #176

Earlier quoted context omitted.

> every dynamically-typed language has "weird" behaviour around type coercion Do they now? $ irb irb(main):001:0> "0" + 1 TypeError: no implicit conversion of Fixnum into String from (irb):1:in `+' from (irb):1 from /usr/bin/irb:11:in ` ' irb(main):002:0> ^D $ python >>> "0" + 1 Traceback (most recent call last): File " ", line 1, in TypeError: cannot concatenate 'str' and 'int' objects >>> ^D $ node > "0" + 1 '01' >…

I know you know this, but for the GP or anyone else: "Dynamically typed" doesn't mean "strongly typed". Python and Ruby are strongly typed, JS is weakly typed.

In your rush to be an asshole you completely missed my point, smart guy.

Re: Office 365 is being completely rewritten in JavaScript

#258

Earlier quoted context omitted.

every dynamically-typed language has "weird" behaviour around type coercion, that's simply the nature of the beast. sure wish i knew what you are talking about w/r/t "silently failing". JS has working exceptions just like 99% of widely used languages. I'm very glad that you've been omniscient enough to determine what "proper" parallel support is, though. How's that working out for you? Meanwhile, those of us using Ja…

> every dynamically-typed language has "weird" behaviour around type coercion, that's simply the nature of the beast. No, that's not true at all. Dynamic languages don't necessarily have type coercion at all, much less weird behavior around it (and, conversely, statically typed languages they have coercion may have weird behavior around it; there's just no link between dynamic typing and weird coercion behavior.)

Who's to say not doing type coercion isn't weird? Every dynamic language treats things slightly differently.

Re: Office 365 is being completely rewritten in JavaScript

#259
post #179

Earlier quoted context omitted.

What makes it the better choice in this situation? C# can't run in browsers whereas Office 365 can.

Well, blazor exists now, so that's not totally true.

They are actually using Typescript, and this will lead to less friction wrt hiring devs, supporting all those platforms and integrating web components. Still I would have hoped that MS would be a little more forward thinking, and put some of their MSR tech in good use, to encourage the use of better languages. Just like how Facebook is pushing ReasonML.

I think that the C# focus of .NET is a major mistake holding the platform back, especially when we have languages like F#, Scala, Swift, ReasonML and Rust these days.

Re: Office 365 is being completely rewritten in JavaScript

#260

My hunch is probably there will be 2 versions maintained separately like visual studio and vs code. The version built in javascript will probably be free for personal usage, can have lesser features and probably fight for marketshare against google drive, libreoffice etc. I wouldn't be surprised if they even keep the source open. PR and market wise, this would be a great move.

This was kind of true with OneNote up until recently. There are currently two desktop versions. One that comes with Office and looks/feels like the rest of the Office suite, and one that is made with UWP and available for free from the Windows Store. That one looks/feels a lot like the Android/iOS OneNote app.

However, they've announced that they're EOLing the Office version, with bug fixes through 2020 and security updates through 2025, and are continuing forward with the UWP version.

Perhaps we will see a future where they EOL the other Office applications in favor of new versions that are more similar to the iOS/Android versions. The iPad versions of Excel and Word are already pretty good.

Post reply on HN