About That Office 365 and JavaScript Thing

About That Office 365 and JavaScript Thing

A Microsoft employee claimed publicly that “all of Office 365” was being “completely rewritten” in JavaScript. And then all hell broke loose.

First things first. It’s not true. So if you were freaking out that Microsoft was somehow abandoning C# and C++ for its most mission-critical offerings, freak out no more. It’s not happening.

Windows Intelligence In Your Inbox

Sign up for our new free newsletter to get three time-saving tips each Friday — and get free copies of Paul Thurrott's Windows 11 and Windows 10 Field Guides (normally $9.99) as a special welcome gift!

"*" indicates required fields

This field is for validation purposes and should be left unchanged.

So what is happening?

A Microsoft program manager named Sean Larkin perhaps got a little overly-exuberant on Monday, when he tweeted the following. (I’ve edited out some nonsense.)

All of Office 365 is (almost finished) being completely rewritten in this little scripting language called #JavaScript.

And Skype
And Microsoft Teams
And [Visual Studio] Code
And all of [Microsoft Edge] Debug Protocol (instead of C++)

nbd

“nbd,” for you fellow old folks, means “no big deal.” Well, sorry, Sean. This is a big deal. And you got most of that tweet completely and utterly wrong.

Without even looking at his follow-ups and clarifications, I can tell you off the top of my head that “all of Office 365” is not being “rewritten” at all, let alone in JavaScript. Most of the new apps that have been added to this service over the past several years are indeed web-based. And most likely use some combination of web technologies, which could include JavaScript. (But also TypeScript, Microsoft’s superior JavaScript-like language.)

Skype is not being rewritten in JavaScript.

Microsoft Teams is not being rewritten in JavaScript. (It’s already web-based, however, and is being evolved into a Progressive Web App.)

Visual Studio Code not being rewritten in JavaScript. It has always been Electron-based.

The Edge thing could be correct, who cares. But Edge itself is a native app and is, of course, not being rewritten in JavaScript.

Sigh.

Anyway, he tried to clarify things in follow-up tweets when his original missive exploded intro controversy. Which shouldn’t have been a surprise. And yet, somehow, it was.

“It’s always the tweet’s you’d least expect to blow up,” he noted, obliviously.

Anyway, he finally corrected himself on Reddit, blaming Twitter’s character limitations for his many factual errors.

“We are not abandoning C++, C#, or any of the other awesome languages, APIs, and toolings that we use across Microsoft,” he clarifies. “Nothing [in Office 365] is converting to ‘all/completely’ JavaScript/TypeScript.”

Stupid Twitter and its character limits. Sigh.

But seriously, facts matter. And getting something this big this wrong is inexcusable.

Share post

Please check our Community Guidelines before commenting

Conversation 30 comments

  • dcdevito

    14 June, 2018 - 9:04 am

    <p>"<span style="color: rgb(0, 0, 0);">Visual Studio Code&nbsp;</span><em style="color: rgb(0, 0, 0);">not</em><span style="color: rgb(0, 0, 0);">&nbsp;being rewritten in JavaScript. It has always been Electron-based."</span></p><p><span style="color: rgb(0, 0, 0);">Isn't Electron JS-based?</span></p><p><br></p><p><span style="color: rgb(0, 0, 0);">And he said "</span>&nbsp;API's and Services are still going to be powered by C++, C#" – so yeah not entirely rewritten but if that's all that's left then I'd say it's still a pretty big deal.</p><p><br></p><p>I think there's more to this that we don't know yet, despite his back peddling </p>

    • Paul Thurrott

      Premium Member
      14 June, 2018 - 9:15 am

      <blockquote><a href="#284063"><em>In reply to dcdevito:</em></a></blockquote><p>Again, Code is not being rewritten in JavaScript.</p>

      • maethorechannen

        Premium Member
        14 June, 2018 - 9:34 am

        <blockquote><a href="#284070"><em>In reply to paul-thurrott:</em></a></blockquote><p>It is written in JavaScript. I don't get why you're making a big deal out of a typo.</p>

        • maethorechannen

          Premium Member
          14 June, 2018 - 10:01 am

          <blockquote><a href="#284078"><em>In reply to maethorechannen:</em></a></blockquote><p><br></p><p>After rereading the tweet, it's not even a typo. It's a piss poor use of the word and, but it's fairly obvious from the context of the tweet that it's a list of major products MS are currently using JavaScript to develop, some of which actually are rewrites and some are wriiten in JS from scratch.</p>

          • Skolvikings

            14 June, 2018 - 4:35 pm

            <blockquote><a href="#284084"><em>In reply to maethorechannen:</em></a></blockquote><p>That's also how I read it in the context of the Tweet he was replying to. He was saying O365 was rewritten in JavaScript and that Skype, Teams, and Code were already using JavaScript. That explains his frustration with the Twitter character limit, because people misunderstood what he was saying.</p>

  • dontbe evil

    14 June, 2018 - 9:13 am

    <p>you cannot blame character limit, you literally wrote something totally misleading</p>

    • nbplopes

      14 June, 2018 - 3:41 pm

      <blockquote><a href="#284069"><em>In reply to dontbe_evil:</em></a></blockquote><p><br></p><p>Well he actually wrote something that it’s not misleading in anyway. He went on to Redit for specifics because you know, the legion mindset was not on par.</p><p><br></p><p>Nothing he wrote on Redit contradits his more general piece of info. Somehow some people feel more appeased with his more specific explanation when they should not if they did not understand it in the first round.</p><p><br></p><p>Basically, yes JavaScript and it’s superset Typescript was the language of choice for the new apps and its creeping up in other stuff all around when it comes to cross platform applications. Simply put, neither C# or C++ where fit for the purpose, understandably. Xamarin platform and UWP in general would not do it either since it does not support the development of web clients.</p><p><br></p><p>Its about using the best tech all around for the job at a point in time. Not necessarily the best language in abstract.</p>

  • TheJoeFin

    Premium Member
    14 June, 2018 - 9:15 am

    <p>TypeScript is Microsoft's tool for making JavaScript strongly typed. It transpiles to JavaScript. React is also a library/language which transpiles to JavaScript.</p><p><br></p><p>Electron is a platform which enables devs to bring their webapps to self-contained applications. It works with Node.js on the backend and Chromium on the frontend. VS Code is written in TypeScript and runs on Electron.</p><p><br></p><p>We live in a strange new world where JavaScript is more of a compile target and less of a language.</p>

  • maethorechannen

    Premium Member
    14 June, 2018 - 9:22 am

    <p><em style="color: rgb(0, 0, 0); background-color: transparent;">Skype is not being rewritten in JavaScript.</em></p><p><br></p><p><span style="color: rgb(0, 0, 0); background-color: transparent;">They're just (allegedly) dumping the UWP and switching to the PWA for all platforms. I think that counts as a rewrite.</span></p><p><br></p><p><em style="color: rgb(0, 0, 0); background-color: transparent;">But seriously, facts matter. And getting something this big this wrong is inexcusable.</em></p><p><br></p><p><span style="color: rgb(0, 0, 0); background-color: transparent;">I'm not so sure in this case. It was a reply to someone saying that scripting languages are a poor choice as a first language for CS students. Two people being idiots on twitter should not be this big a deal, especially when it comes to things that really don't matter.</span></p>

  • curtisspendlove

    14 June, 2018 - 9:46 am

    <p>I’m a bit confused then. I get that the “rewritten” part is inaccurate, but most of those apps are written in tech that in inherently JavaScript driven, running in “client” or “server” versions of a JS runtime. </p><p><br></p><p>I know Code is Electron based. </p><p><br></p><p>I thought the newer Skype was Electron based. </p><p><br></p><p>I’ve not used teams, but I trust Paul… so that one is currently web based and is being rewritten as a web app. So that one is, indeed being rewritten in JavaScript. </p><p><br></p><p>I agree about Edge…who cares. I like Edge, but writing a browser in JavaScript is just silly talk. </p><p><br></p><p>I could see Office 365 written in JavaScript. The online office offering is quite good. Current JavaScript tech is quite powerful, I’d be impressed, but not surprised if MS could pull it off. </p>

    • maethorechannen

      Premium Member
      14 June, 2018 - 9:56 am

      <blockquote><a href="#284079"><em>In reply to curtisspendlove:</em></a></blockquote><p>It wouldn't surprise me if it was the online version of Office that was being referred to as Office 365, especially as the guy was replying to a tweet that included an office suite as the sort of thing you can't write in JavaScript. </p>

  • pderosa

    14 June, 2018 - 9:51 am

    <p>Microsoft sometimes says important stuff in random tweets and buried forum posts. That's part of why I took this nonsense seriously when I first saw it.</p><p><br></p><p>I still don't know what to think of it. I wonder if polaris and cshell will ever turn into consumer products.</p>

  • yaddamaster

    14 June, 2018 - 9:56 am

    <p>I don't wish ill for people but seriously – Sean Larkin needs to be relieved of his job duties and demoted to the call center.</p><p><br></p><p>Could you imagine being an engineer at Microsoft having to report to this guy?</p>

    • kufdhh

      14 June, 2018 - 10:55 am

      <blockquote><a href="#284083"><em>In reply to yaddamaster:</em></a></blockquote><p>He's a PM, he doesn't have direct reports.</p>

      • yaddamaster

        14 June, 2018 - 11:14 am

        <blockquote><a href="#284103"><em>In reply to kufdhh:</em></a><em>there are resource managers and then there are program managers. Two different things. You can still be on his team without being his direct report.</em></blockquote><p><br></p>

    • lvthunder

      Premium Member
      14 June, 2018 - 10:56 am

      <blockquote><a href="#284083"><em>In reply to yaddamaster:</em></a></blockquote><p>So you have him all figured out based on what one tweet. This was a reply to a tweet by someone saying that you should teach first year cs students Javascript because you can't create anything powerful in it like an Office suite.</p>

      • skane2600

        14 June, 2018 - 11:42 am

        <blockquote><a href="#284104"><em>In reply to lvthunder:</em></a></blockquote><p>This might be a case of just because you could doesn't mean you should. Is there really any existing JavaScript programs that are comparable in size and sophistication to Office? </p>

  • Boris Zakharin

    14 June, 2018 - 10:27 am

    <p>Wait, so what *are* they doing?</p>

    • maethorechannen

      Premium Member
      14 June, 2018 - 10:33 am

      <blockquote><a href="#284091"><em>In reply to bzakharin:</em></a></blockquote><p><br></p><p>Using Type/JavaScript and React Native in several products, including Office 365 (which is apparently using React Native for cross platform UIs).</p>

  • Trickyd

    14 June, 2018 - 10:39 am

    <p>Its like Dilbert's pointy eared boss days all over again , a little knowledge is a dangerous thing where managers are concerned!</p>

  • lvthunder

    Premium Member
    14 June, 2018 - 10:42 am

    <p>If you read his clarifications he meant just the UI was being done in Javascript. Much like how they want you to write Office Add-Ons. If you do that then your add-on would work everywhere (Windows, Mac, Web, and Mobile). I think eventually they are going to remove VBA from Office and have everyone use Javascript. That's why they showed writing custom Excel formulas in Javascript instead of VBA.</p>

  • Eric Rasmussen

    Premium Member
    14 June, 2018 - 10:50 am

    <p>JavaScript is a great language to teach early CS students. The idea of being able to write something and get immediate feedback is really helpful when you're learning. Plus, there's no setup; if you have a browser then you have the runtime and the debugger. I taught my kids how to program simple little things in JavaScript to show them how programming works.</p><p><br></p><p>With WebAssembly finally becoming real, I am looking forward to using things like C# and F# directly in the browser, running compiled and optimized code. I know that Microsoft is using web technologies for Office Online, but I'd be surprised if they didn't at least have _someone_ investigating something like Blazor for the desktop products. It is Microsoft, though…</p><p><br></p><p>These days, Microsoft seems to do the opposite of what I would expect and they tend to jump off of their own tools and platforms regularly. Instead of fixing the issues with WPF and pushing to make it cross platform, they abandoned it. Instead of fixing UWP and pushing to make it actually "universal", they are apparently abandoning it for PWA.</p><p><br></p><p>Oh, and I'm sure a lot of you have seen the recent pop up for updates on Windows 10. Windows is no longer an operating system, it's a service. "What are you running?" "Windows Service v10." Sigh.</p>

  • nbplopes

    14 June, 2018 - 11:37 am

    <p>Some things that seamed off to me in this article.</p><p><br></p><p>Electron: <strong>Build cross platform desktop apps with JavaScript, HTML, and CSS</strong></p><p><br></p><p><a href="https://electronjs.org/&quot; target="_blank" style="color: rgb(9, 126, 149);">Electron</a><span style="color: rgb(58, 88, 95);">&nbsp;is an open source library developed by GitHub for building </span><strong style="color: rgb(58, 88, 95);">cross-platform desktop applications with HTML, CSS, and JavaScript. </strong><span style="color: rgb(58, 88, 95);">Electron accomplishes this by combining&nbsp;</span><a href="https://www.chromium.org/Home&quot; target="_blank" style="font-size: 0.875em; color: rgb(9, 126, 149);">Chromium</a><span style="font-size: 0.875em; color: rgb(58, 88, 95);">&nbsp;and&nbsp;</span><a href="https://nodejs.org/&quot; target="_blank" style="font-size: 0.875em; color: rgb(9, 126, 149);">Node.js</a><span style="font-size: 0.875em; color: rgb(58, 88, 95);">&nbsp;into a single runtime and apps can be packaged for Mac, Windows, and Linux.</span></p><p><br></p><p>Paul, Electron its not a language.</p><p><br></p><p>Visual Studio Code, the new Skype and MS Teams are indeed apps built in Javascript using Electron libraries and its packaging system. Both Visual Studio code and <strong>Skype are listed as Electron Apps, hence developed in Javascript/Typescript</strong>. MS Teams is not listed, but check down bellow.</p><p><br></p><p><strong>Typescrip</strong>t its a language made by MS and built on top of Javascript. <strong>In fact its superset of Javascript</strong>. Its an extension to Javascript <strong>adding new constructs, that in turn its translated to standard javascript at compile time. </strong>One can say that Javascript its a subset of Typescript. One cannot write Typescript without writing Javascript, yet one can write the later without writing the former.</p><p><br></p><p>Stackbliz (https://stackblitz.com) its an online IDE built using the open sourced visual Visual Studio Code! They decoupled the Visual Studio Code from electron API's and made it run as a Single Page Web Application. Interesting read here: https://medium.com/@ericsimons/stackblitz-online-vs-code-ide-for-angular-react-7d09348497f4</p><p><br></p><p>So how come he got the all tweet wrong? If you know the stuff, he is being pretty accurate in the examples given. Yes a stretch from this examples to come out that with the idea that Office 365 is being completely rewritten in Javascript – thinking about its core apps such as Word, Powerpoint and Excel, but who knows what coming as this technology matures and matures …. </p><p><br></p><p>For instance, from a technical stand point there is no reason why Outlook Desktop cannot be built using Javascript/Typescript right now! The problem might be COM for embedding objects used currently by Outlook Desktop to interior with other applications, such as MS Word and Powerpoint! But there is already equivelent tech in the Web world called Web Components (elements). So things are progressing at an incredible pace!!!!!</p><p><br></p><p>In essence, PWAs might one day totally replace Electron!!!!!!!!!! In instances, Electron its like PWA advanced :)</p><p><br></p><p>You know that you can run javascript outside a web browser don't you? For instance, I have plenty of scripts in javascript that run from the command line using nodejs. You can even do Azure functions in javascript for instance, and much more … welcome. </p><p><br></p><p>You are excused 🙂 And yes, <strong>MS seams to be abandoning UWP</strong> in a lot of its efforts! Its weird they are not pushing the alternatives they are using in Build. But the developers in the field following this stuff closely see what is happening.</p><p><br></p><p>Cheers.</p><p><br></p><p>Some interesting info on MS Teams: https://blog.thoughtstuff.co.uk/2017/04/under-the-hood-of-the-microsoft-teams-desktop-application/</p><p><br></p&gt;

  • glenn8878

    14 June, 2018 - 1:44 pm

    <p>How would he know? He's just a manager.</p>

  • aThingOrTwo

    14 June, 2018 - 2:03 pm

    <p>The tweet has some inaccuracies but it is still more accurate than this article.</p><p><br></p><p>I take issue with these statements in particular:</p><p><br></p><p class="ql-indent-1"><em>Skype is not being rewritten in JavaScript.</em></p><p class="ql-indent-1"><em>TypeScript, Microsoft’s superior JavaScript-like language</em></p><p class="ql-indent-1"><em>It’s already web-based, however, and is being evolved into a Progressive Web App</em></p><p><br></p><p>Progressive Web Applications (PWAs), Electron applications or any indeed any application using a React/React Native framework – these are all inseparable from JavaScript. They cannot work with it.</p><p><br></p><p><strong>Scoring the tweet:</strong></p><p><br></p><p><strong>Office – 0</strong></p><p>Many Office UI compontents are being migrated React Native for Windows – but nothing like the whole suite.</p><p><a href="https://github.com/Microsoft/react-native-windows&quot; target="_blank">https://github.com/Microsoft/react-native-windows</a></p><p><br></p><p><strong>Skype – 1</strong></p><p>Skype clients use ReactXP.</p><p><a href="https://microsoft.github.io/reactxp/&quot; target="_blank">https://microsoft.github.io/reactxp/</a></p><p><a href="https://www.youtube.com/watch?v=jFHuOhNAsw4&quot; target="_blank">https://www.youtube.com/watch?v=jFHuOhNAsw4</a></p><p><br></p><p><strong>Teams – 2</strong></p><p>Electron based. Most likely Typescript.</p><p><br></p><p><strong>VS Code – 3</strong></p><p>Electron based. Definitely Typescript as open source.</p><p><a href="https://github.com/Microsoft/vscode/tree/master/src&quot; target="_blank">https://github.com/Microsoft/vscode/tree/master/src</a></p><p><br></p><p><strong>Edge Debug Protocol – 4</strong></p><p><br></p><p>So I would mark it as a 4/5.</p><p><br></p><p><strong>Some wider context on JavaScript/TypeScript:</strong></p><p>From <a href="https://blogs.msdn.microsoft.com/typescript/2014/10/22/typescript-and-the-road-to-2-0/&quot; target="_blank">TypeScript and the Road to 2.0</a>:</p><p><br></p><p class="ql-indent-1"><em>“Our goal with TypeScript is […] to make it the best language we can for JavaScript at scale.”</em></p><p class="ql-indent-1"><em>&nbsp;“Aligning with ES6 allows TypeScript to become a superset of the next JavaScript”</em></p><p><br></p><p>It is an extension not an alternative, they are indivisible and the first step to learning TypeScript is learning JavaScript. Moreover almost all modern JavaScript run in the browser is compiled or transpiled in some way. Typescript is considered part of the JavaScript ecosystem in the same way JavaScript XML (JSX) is part of the JavaScript ecosystem. In practice writing ES6/ES.Next in combination with Flow for type safety is not all that different to writing in TypeScript.</p><p><br></p><p><strong>Some wider context on Sean Thomas Larkin:</strong></p><p>Sean Thomas Larkin is on the webpack core team, webpack is the defacto standard for bundling web applications. He has a solid engineering background and does not need to be demoted to a call center as some are suggesting.</p><p><br></p>

    • nbplopes

      14 June, 2018 - 2:27 pm

      <blockquote><a href="#284189"><em>In reply to aThingOrTwo:</em></a></blockquote><p><br></p><p>Absolutely.</p><p><br></p><p>Only a non developer would assume that even a C# application does not make use of components built in C or C++. For instance, a lot of </p><p>IO calls are developed either in C or C++. Developers of course call a C# function that is “linked” to a binary. The same for any paint command in a canvas. It’s pre built in the franework. So saying that anything it’s entirely built in C# it’s not correct, but one needs to be pretty anal about specifics to challenge such assertion. Most developer don’t go so low level in C# because already someone did the job form them. The same happens with Javascript/Typescript.</p><p><br></p><p>One thing is for sure. These clients, some of them stand alone, don’t seam to be built using UWP tech, if not for wrapping purposes, much like UWP can wrap an x32 application.</p><p><br></p><p>With the undestanding above of course MS is not abandoning C# or C++, but there is no doubt that is not using it for the UI at least of these new Office applications. Wether it’s using JavaScript/nodejs in parts of the backend we don’t really have a way to know do we?</p>

  • Robin

    14 June, 2018 - 3:19 pm

    <p>I think they should rewrite it in machine code.</p>

    • MachineGunJohn

      14 June, 2018 - 11:32 pm

      <blockquote><a href="#284217"><em>In reply to Robin:</em></a></blockquote><p>you're not far off. They should build it using web-components authored in C# compiled to web-assembly. Best component architecture + best performance + most reuse of their existing C# business logic </p>

      • Todd Poulson

        23 June, 2018 - 2:48 pm

        <blockquote><a href="#284359"><em>In reply to MachineGunJohn:</em></a></blockquote><p>I think you got it! We know MS is involved with WebAssembly. This makes all statements made accurate: base code stays C++, but Webassembly port is underway. Similar to what AutoCad has done.</p>

Windows Intelligence In Your Inbox

Sign up for our new free newsletter to get three time-saving tips each Friday

"*" indicates required fields

This field is for validation purposes and should be left unchanged.

Thurrott © 2024 Thurrott LLC