26 ms·
Office 365 is being completely rewritten in JavaScript
- davidhyde 8y agoAs if they didn't learn their lesson with skype for business.
- thelarkinn 8y agoI don't think I mentioned Skype for Business anywhere did I? :-)
- avryhof 8y agoThere's a Skype for Business written in JavaScript? I know there is Skype, but it doesn't talk to our Skype for Business (Lync) server.... I have to use Pidgin for that. (Linux)
- megaman22 8y agoDefinitely not. Unless it's the godawful Mac client that doesn't work for most things, which is possible, since it's using UCWA under the covers. The Skype for Business Windows client was barely reskinned from the Lync 2013 client. I think they are still only a couple dozen patch revisions apart on the version number.
- avryhof 8y agoThat's what I thought. It's tough to use Linux in a Windows shop. I have most of it figured out, though. It would just be nice to be able to join Skype/Lync meetings with Screen sharing.
- rbinv 8y agoOffice for Windows (WIN32) will be an Electron app? I have no words. edit, since there seems to be some confusion: I am explicitly talking about the WIN32 variant, which he confirmed to be based on Electron.
- vesak 8y ago"No they are not electron apps. They are compiled to native code. It's now finally one toolchain(#webpack) It's one codebase and it compiles to: Web Android IOS MacOS UWP WIN32 (only one that uses electron) 7:52 AM · Jun 13, 2018" https://mobile.twitter.com/TheLarkInn/status/1006761134395834368 https://mobile.twitter.com/TheLarkInn/status/100676113439583...
- rbinv 8y agoHe says so in another tweet/reply.
- rising-sky 8y agolink?
- rbinv 8y agoSee above (last line).
- deleted 8y ago[deleted]
- awinder 8y agocomment seems to be saying -- in modern windows (UWP) it'll be using native code, but microsoft is taking the easy path on win32. i guess some people are surprised that despite years of telling people that win32 is going away microsoft is finally making good. but I am not, I'm more excited than anything at another good sign that Microsoft is finally done with legacy windows.
- wvenable 8y ago> Microsoft is finally done with legacy windows. It's kind of sad; all the good stuff I use is basically legacy Windows. None of what Microsoft has done since Windows 7 has appealed to me.
- rado 8y agoThe sky is falling
- bitL 8y agoOh 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.
- 8y ago
- nickpp 8y agoOther tweets in thread are interesting too: No they are not electron apps. They are compiled to native code. It's now finally one toolchain(#webpack) It's one codebase and it compiles to: Web Android IOS MacOS UWP WIN32 (only one that uses electron)
- cm2187 8y agoanother tweet on that thread: > how is that even possible? there are tons of legacy features in there, COM/OLE APIs, SDKs, plugin architecture, macro system, VBA interpreter, VBA IDE, graphing components etc. Almost 30 years of development. No way MS is going to rewrite all of that. (Maybe the "mobile" version) I think this is a strong indication that all these technologies are going away.
- Amezarak 8y agoThis would be suicide for Office. I struggle to believe that Microsoft is replacing the full Windows desktop version of Office with a version rewritten in JS. It makes no sense. Many, many, many businesses absolutely rely on the features you're mentioning, and many others that would be a tremendous undertaking to re-implement. There has to be something that's not being communicated right here. Maybe they mean the "lite" versions of the programs.
- osullivj 8y agoStrongly agree. Backwards compatibility has always been a strong suit for MS. Changing that stance is a major strategic shift, and IMHO would be a huge error, similar in scale to IBM's open PC architecture.
- chrisseaton 8y agoI also think it’s extremely unlikely MS is announcing an new native code compiler for JavaScript, something I’m not sure anyone knows how to do with reasonable performance, with a Tweet this casual.
- 8y ago
- cm2187 8y agoExcel is already a dog in term of realculating large spreadsheets. I think we will need Intel's 28 cores at 5GHz monster!
- bitL 8y agoMaybe they'll just make it as slow as Open/LibreOffice's recalculation to be competitive...
- chris_wot 8y agoDo you have an example spreadsheet that shows the slowness in LibreOffice?
- F_r_k 8y agoTry plotting a 2x10000 range in libreoffice. Takes > 2 Mon just to render the graph. I'd be happy to provide the CSV to anyone interested
- dm319 8y agoI've found the speed relates to the fileformat it is saved in. Might well still be slower, but in terms of speed ods > xls > xlsx for some reason.
- bitL 8y agoI had it slow with plain CSV...
- jackvalentine 8y agoPlain CSV is ‘slower’ for whatever reason in my experience. (I have no idea how other formats are structured)
- chris_wot 8y ago
- zihotki 8y agoI wonder, is it actually JS or they are using TypeScript? VSCode is written in TypeScript but it was mentioned there that it's JS, did somebody mixed things up?
- fhrow4484 8y agoYeah, we can verify the validity of the statement since most of these project are open source. It's all Typescript, not JavaScript. according to the OP: >> Those are one in the same thing (compiled) :-). But us TypeScript in majority at Microsoft in almost all the projects I've seen or been apart of. Using the same logic, could we say that all windows is written in assembly ? When looking at JavaScript output of a Typescript program, it does really look like JavaScript is treated as assembly. One almost never edits the JavaScript code when using Typescript, especially if the mapped ts files are available when debugging in F12.
- shrumm 8y agoSurprised 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.
- sebazzz 8y agoJavascript can still mean that Typescript is used.
- qubex 8y agoOr most likely WebAssembler...
- 8y ago
- discordance 8y agoAtwood's Law - "Any application that can be written in JavaScript, will eventually be written in JavaScript."
- FridgeSeal 8y agoCan we skip to the bit where we start re-writing software that we re-wrote in JS in other, more appropriate languages? :P
- JustSomeNobody 8y agoNot yet. Let's wait a little longer, that way those of us who would do the writing will be more valuable.
- theandrewbailey 8y agoMy hunch is that those other languages don't exist yet, but afterwards we'll realize that those were even less appropriate than JS.
- neals 8y agoThe Javascript is compiled to native code, apparently. Maybe there's a Typescript to Cpp transpiler that I haven't heard about?
- dagw 8y agohttps://github.com/NectarJS/nectarjs https://github.com/NectarJS/nectarjs Still not sure if it's just a 'cool hack' or an attempt at a serious product though.
- pimmen 8y agoWhy is this trend going on with using js in domains where it previously was not a component? Is it to ease shipping new features? To make it easier for contributors once they make the application open source? Good PR?
- discordance 8y agoAside from the view layer, probably due to the motivation to have a common code base across web, iOS, Android, Windows, Mac and Linux.
- dagw 8y agoWhy is this trend going on with using js in domains where it previously was not a component? Office products need to be on the web these days. Having a common code base between desktops, mobile and web makes that much easier and in that world JavaScript is the lowest common denominator.
- bitL 8y agoJavaScript developers are cheaper and a legion.
- spicymaki 8y agoFWIW, I personally like the direction Microsoft is going in. I look forward to seeing where this transformation leads.
- cm2187 8y agoThe positive side of breaking compatibility with all legacy technologies (COM, VBA, XLL, etc) that currently force large companies to stick to MS Office is that it has the potential to reintroduce competition in the office-like software space. And in my opinion Office is the main reason why large enterprises stick to Windows. Most internal apps are moving to the web. If office backward compatibility goes away, then it's not clear that Windows is an obvious choice anymore. And it is kind of consistent with Microsoft's new strategy to de-emphasize Windows.
- pjmlp 8y agoNot sure if employees will enjoy the return to the days of time-sharing and remote X-Windows sessions though. Which is the end result of Webification of our tools.
- h1d 8y agoHow is it the reason to stick to Windows when MacOS has had Office for quite a while? I think it's just people are used to the OS itself. I've seen people stick to Windows just because even in small companies.
- chrisseaton 8y agoIt 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.
- tluyben2 8y agoI 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.
- sebazzz 8y agoIt is not a question of dogfooding, it is a question of re-use. Office also needs to run in the web browser (Sharepoint, OneDrive)
- solarkraft 8y agoBut C# can run on WebAssembly!
- jhall1468 8y agoWhich is fine if you don't need your app to run in IE. They probably do.
- ygra 8y agoThere has been a constant divide between the developer tools division (where C# comes from) of Microsoft and the OS/Office divisions. They both have worked very differently in the past and not at all in the same directions.
- contextfree 8y agoOffice client never used .net or C# to begin with
- 8y ago
- danso 8y agoThe tweet that the OP is quoting/responding to is interesting: https://mobile.twitter.com/jdgarciauc3m/status/1005768121230163969 https://mobile.twitter.com/jdgarciauc3m/status/1005768121230... > Tip of the day. > Scripting languages as first programming language for CS bachelors are WRONG. You are not able to write an OS, a DBMS, or even an Office suite with an scripting language. I honestly thought this was a satire tweet. I guess I just don't associate even a CS bachelor's degree with writing that kind of software. I mean, it can, but there are more theoretical tracks that don't involve writing a OS/DBMS.
- laurentl 8y agoMost of the CS tracks I've seen recently (and even back in my days) have an "introduction to C/Linux" module which requires writing common command line tools, starting easy and gradually ramping up to a basic shell, a web proxy, etc. Not exactly OS/DBMS but still pretty low-level.
- arghwhat 8y agoI very much agree that this is a broken line of argumentation. However, I find the opinion to be correct: Scripting languages might not be a good first programming language for a CS bachelor, where priority is deep learning of programming. I'd also argue that JavaScript would be a bad candidate, as it is a very "unclean" language, being a poor way to teach language/compiler theory. As a first practical programming language for a non-CS bachelor, scripting languages are fine. Without CS courses to support you, other approaches might be too difficult, while scripting languages often let you get (terrible) programs up and running (ish) while ignoring basically all CS aspects during the learning phase (only while you're not making anything big, though—the "high level" illusion breaks down fast as things grow). (Also, yes, you can write a DBMS or an Office suite in a scripting language. I can't possibly comprehend why you'd want to do something like that, but it's very much possible. Bringing OS's into things is cheating, as most compiled languages can't be used there either, and those that work often only work with a subset of the full language.)
- chrisseaton 8y ago> for a CS bachelor, where priority is deep learning of programming The priority is deep learning of computer science, not of programming. I think JavaScript is a fine language for teaching a lot of CS basics. For example you could run a course based on SICP using JavaScript instead of Scheme, I believe.
- setquk 8y agoThis is good news for those of us who have to deal with VSTO, MSI packaging and all that cack. At last it might not feel like being buggered by a traffic cone repeatedly.
- cm2187 8y agoThe ideal of an IT dept is to force all of their users to use only a locked down ipad. Of course they won't be able to achieve any work on them, and productivity will go down the drain, but that's not the problem of the IT department.
- tluyben2 8y agoSeems like a very strange move... But it’s a tweet. Might not mean anything really.
- cm2187 8y agoMy first thought was an April fool joke that got lost in a queue or as a result of a bad network connection...
- FridgeSeal 8y agoThis is a joke right?
- amiga-workbench 8y agoAre they trying to give hardware sales a nudge by writing everything as inefficiently as possible?
- FridgeSeal 8y agoSo of all the good, far more suitable languages they could use, we're getting it written the flaming pile of trash that is JavaScript? Why though?
- KenanSulayman 8y agoRecruiting is incredibly simplified
- FridgeSeal 8y agoBecause recruiting devs for any given language is a block for the like of Microsoft right?
- bitL 8y agoMBA revenge on nerds...
- PunchTornado 8y agobecause it is not a pile of trash. the programmer can be a pile of trash though.
- slig 8y ago> because it is not a pile of trash For instance, see the `Set` implementation here <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set> 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.
- jhall1468 8y agoThis 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?
- anfilt 8y agoNo! Bad MS! Stop it!
- gaius 8y agoBrendan Eich is our generation’s Thomas Midgley.
- majidazimi 8y agoTime to apply for a 20M dollar loan to buy a semi supercomputer in order to run skype, slack and office all together. Any remarks on cray supercomputers?
- setquk 8y agoErr yeah, get your three phase power fitted now :)
- IncRnd 8y agoExactly. Microsoft won't tell their enterprise customers that their crypto now runs in a browser and is no longer compliant with the standards of their industries. They would lose almost all of their sales revenue if they did that.
- tenryuu 8y agoWouldn't mind comparing battery life of this against current office 365 on my Gen1 Surface Pro Half the battery goes to edge alone on a good day
- keriati1 8y agoIs it now TypeScript or JavaScript? It's a huge difference...
- dvfjsdhgfv 8y agoI'll wait until it's done, released, and I have the opportunity to actually use it. Skype is already much worse than the original, so I really hope they don't go this way. I'm definitely not going to buy a 32GB notebook just to be able to use the most recent version of MS Office. (32 GB is nice BTW but a huge battery drain.)
- deleted 8y ago[deleted]
- coinerone 8y agoThat could lead to a possible "good" Linux version of Office 365? That would be Awesome imho. AAAnd hopefully they kill VBA and replace it with JavaScript :D. Like Building Forms with JS in Adobes Lifecycle Designer but in a good way.
- alfredallan1 8y agoThat’s a good thought. As bad as JS is, I’d still prefer it to VBA.
- dentemple 8y agoHaving had to write both, professionally... You've just never seen the monstrosity that is enterprise-level VBA. Javascript is a godsend over VBA.
- alfredallan1 8y ago^^ word. Been in the same boat..
- thelarkinn 8y agoHi there, original tweeter here. Just to clarify: no one said when this work would land, simply that we are working on it! Sorry to disappoint XD, but I guess blame the OP.
- mhoad 8y agoHappy to take the blame :) It was too interesting a tidbit not to share though.
- thelarkinn 8y agoNo harm done <3
- petee 8y agonot your blame to take, perhaps its the guy who is vaguely tweeting without official capacity to do so...
- wiz21c 8y agowhen you say rewritten in JavaScript, you mean acutally rewritten or just cross compiled to Javascript ? Or a bit of both ?
- deleted 8y ago[deleted]
- golergka 8y agoWhy not Typescript, btw?
- nameiscubanpete 8y agoI'd almost guarantee that it's Typescript. But being a superset of Javascript, it's still correct to call it Javascript.
- 8y ago
- mping 8y agoFrom the tweet author: >It is. But @typescriptlang is just a static type linter that compiles to JS. Hell, any language is just an assembly runtime plus a grammar. TS is a language that happens to be compiled to Js, I bet in the future it will be wasm.
- DougN7 8y agoUgggh :( I miss my old Outlook 2013. Outlook 2016 is so slow it can’t keep up wirh my typing. I thought it already was javascript. Guess it will be even slower still. Super! (not)
- hellofunk 8y agoReally the choice of language is unlikely to be the cause of any slowness you are experiencing in different versions. JS can be faster than a native experience, all depends on program architecture. The main JS engines are blazing fast and a low-latency UI is perfectly possible; sluggishness is not a sacrifice you must accept when coding in nearly any language in 2018. But bad practices in any language can lead to a poor user experience.
- TeMPOraL 8y agoTechnically true, but in practice, the culture matters. JS ecosystem is what it is - based on past and current experience, you can't expect efficiency coming from there.
- hellofunk 8y agoMaybe not from the ecosystem at large, but from Microsoft, on something like Outlook, sure you can expect efficiency.
- Sylos 8y agoI am not aware of a single piece of software written by Microsoft that I would call efficient, apart from maybe Notepad or MSPaint.
- gspetr 8y agohttps://en.wikipedia.org/wiki/Sysinternals https://en.wikipedia.org/wiki/Sysinternals Very efficient, though technically MS acquihired Mark Russinovich. He still works on them even though he's Azure CTO.
- chaz6 8y agoI am slightly surprised by the choice to use ECMAScript instead of WebAssembly.
- harrygeez 8y agoYou can't access DOM ATM. That's not to mention how large of an initial download it would require to put it on webasm. If they're gonna build only a thin client, JS is the best bet
- captainbland 8y agoI for one welcome our new Libre Office overlords.
- moolcool 8y agoDoes LibreOffice still look like a Windows 3.11 application?
- captainbland 8y agoMaybe if you had this theme installed: https://www.gnome-look.org/p/1079270/ https://www.gnome-look.org/p/1079270/ Hey you know, with a different font and a slightly different colour scheme that wouldn't be far off the Metro look.
- 0xcafecafe 8y agoI wonder how much of global warming is caused by inefficient code written in higher level languages requiring more powerful hardware to run. It might be infinitesimal but still non-zero.
- thelarkinn 8y agoTechnically JavaScript is only ~7% slower then C++ to execute. But snipe away at that stats with real data.
- TeMPOraL 8y agoTechnically, maybe. In practice, each language has its culture, its ecosystem. Its set of tools to pick from. Is it reasonable to expect the JavaScript Office will really just bind directly to all the native APIs it was using before, thus incurring only 7% penalty (+/- FFI)? Or is it more likely that it'll have web rendering shoved in everywhere, and then layers upon layers of off-the-shelf JS libraries, thus incuring more like 700% penalty in resource use?
- 0xcafecafe 8y agoDoesn't it depend on the benchmark? Yes, for some numeric problem as described here (https://www.linkedin.com/pulse/algorithmic-performance-comparison-c-javascript-java-malyshev/ https://www.linkedin.com/pulse/algorithmic-performance-compa...), the 7% figure seems reasonable. But for a real world app with object creation/deletion, the C++ memory model at a lower level would provide a much better performance over a garbage collected higher level one. And even if (hypotheically) the performance difference a constant 7%, that is still a tangible cost.
- xeeeeeeeeeeenu 8y agoThe real problem is DOM, not the language or its implementations.
- JCSato 8y ago"Javascript is literally killing the Earth" might be the most HN comment I've ever read
- JustSomeNobody 8y agoI want to see a breakdown of resource usage (RAM, CPU, etc.) before I cry too loudly. Office 2016 is a beast, so here's hoping (but not holding my breath) that they'll improve on it.
- pandasun 8y agoI wonder how often NoScript maintainers just feel like throwing in the towel.
- JCSato 8y agoAhahahaha
- TeMPOraL 8y agoI often wish we could just fork off the modern web and redo things the right way.
- evv 8y agoIf you figure out how to build a cross-platform application distribution mechanism that is better than the modern web, please do let us know!
- TeMPOraL 8y agoI sure will. The challenge here is social. The Web has fist-mover advantage. Also, I fear that doing it the right way would be equivalent to forcing standardization on a single operating system (or a family of systems).
- ManFromUranus 8y agoYou would inevitably just end up re-implementing a shittier Web with less features and no adoption. A waste of time. In the best case scenario you implement something almost identical to the current web which is only slightly better, and therefore not worth moving the entire world over to your stack just to get these minor improvements.
- Waterluvian 8y ago"Doing it the right way" is a fictitious concept in software development. You will have built a beautiful language/Web for today's needs, 10 years too late. And as the needs mutate you'll try to mutate with it, and that's how we get JavaScript.
- morrbo 8y agoWhy not C#? Seems a bit of a missed opportunity to feed some of the APIs undoubtedly created for this into the new .net core stuff. I guess i'll just keep dreaming of the day when i can reliably convert a docx into a pdf without using office interop.
- JCSato 8y agoThis is the confusing part for me, yes. Javascript is fine and well, but C# seems the better choice in general here.
- shawnz 8y agoWhat makes it the better choice in this situation? C# can't run in browsers whereas Office 365 can.
- recursive 8y agoWell, blazor exists now, so that's not totally true.
- TensorMetric 8y agoThey 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.
- dep_b 8y agoHow do you know they're doing that? Not that it doesn't make total sense to use TypeScript from any angle I can imagine. > 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. Yeah F# is really nice, but the IDE support is kinda meh. Also .Net expects you to embrace nil at a lot of points which doesn't gel so nice with F#. But Swift has a worse problem with Objective-C-isms but being a first class citizen really helps as they make a lot of API's really better to use with Swift.
- ksec 8y agoOne Day Microsoft made VSCode and everyone loves them. The Second day Microsoft decide to buy GitHub and everyone were flocking off to Gitlab, everyone hates them. Now they are moving to the biblical end of computing era by making every Javascript. May be they will even Open Source the Windows Kernel some day.
- bunderbunder 8y agoIf, by "everyone", you mean "everyone as in everyone who's currently having strong enough feelings about this thing to make a bunch of noise about it on the Internet." Which is probably a much smaller and more variable set than "everyone as in every single person."
- sp332 8y agoThey've released DOS http://www.computerhistory.org/atchm/microsoft-ms-dos-early-source-code/ http://www.computerhistory.org/atchm/microsoft-ms-dos-early-... Word 1.1 http://www.computerhistory.org/atchm/microsoft-word-for-windows-1-1a-source-code/ http://www.computerhistory.org/atchm/microsoft-word-for-wind... and WinFile (an old version but updated to run on Win10) https://github.com/Microsoft/winfile https://github.com/Microsoft/winfile I'm sure they'll get to the kernel eventually!
- random42_ 8y agoNow they are moving to the biblical end of computing era by making every Javascript. Does that means the apocalypse is upon us?
- TeMPOraL 8y agoIt's already here. https://www.npmjs.com/package/armageddon https://www.npmjs.com/package/armageddon
- fokinsean 8y agoIntegrating blockchain into MS paint is the final prophecy before the Microsoftcalypse
- 8y ago
- candiodari 8y agoLet's all have a minute silence for all those software developers at Microsoft. Much evil has been inflicted on them in the past, ... and now this.
- emodendroket 8y agoOh, just what Office needed: a rewrite that will almost certainly not even approach feature parity
- wilsonnb2 8y agoActually, I think the opposite is true. Instead of seeing new desktop versions without feature parity, we will finally see the iOS/Android/MacOS/Web versions of the Office Suite get feature parity with the Win32 versions because they will all be built from the same codebase. I know that it's common for rewrites to not approach feature parity, but I think Microsoft is aware of how much people rely on Excel and Word and will make feature parity a high priority because of that.
- emodendroket 8y agoI find it hard to believe they will ever duplicate all the edge cases. I mean in some cases it's literally impossible because IIRC VBA can actually hook into Win32 functions (I mean I guess you might argue that feature is a bad idea)
- oceanswave 8y agoIf VBA can hook into WIN32 functions, why do you think a VBA parser/interpreter written in JavaScript using a native module that exposes the same WIN32 functions couldn’t do the same
- emodendroket 8y agoI suppose that's true; I just imagined it was going to be sandboxed to be browser-compatible.
- AnIdiotOnTheNet 8y agoPar for the course with everything else they've rewritten then.
- anfractuosity 8y agoFor skype I'm curious how much will be written in JS, I'm assuming crypto won't be? I could well be wrong but I thought with an interpreted language it would be very hard to protect against timing attacks? Wouldn't a lot of the network communication also be utilising compiled libraries?
- stunt 8y agoReminds me Gary Bernhardt's "The Birth and Death of JavaScript" talk.
- deleted 8y ago[deleted]
- _bxg1 8y agoRe: the original tweet JavaScript is a real language now. It's powerful and performant and uses modern paradigms, in addition to its sheer relevance. That said, I am glad I was taught using C++ in college. Not because I plan to ever write an OS or DBMS, but because it taught me valuable lessons about pointers, how memory is managed, how arrays and lists differ, and other computing fundamentals that still inform you when writing in higher-level languages, even if you don't have to deal with those concepts directly.
- ATsch 8y agoThis is true, but people like the orginal tweeter often pretend that this learning order is somehow the only "real" way to do things. I don't see why it isn't equally as valid to learn high-level concepts first and then learn the gory details later. I'm confused why there seems to be such a large number of low-level people so stubbornly insisting their order is the right one.
- _bxg1 8y agoIt can be a more difficult transition to go from high to low than from low to high. Not impossible, but frustrating and confusing. But also - not to stereotype too hard - but low-level people often have that crusty-old-sailor syndrome where they've been doing things the hard way since before these youngun's even first saw code, and if they can manage their own memory for performance then god-dangit everyone else should have to too.
- eropple 8y agoFrom both my own experience and the experience of teaching people, those "gory details" are the nouns and verbs that compose higher-level abstractions. I haven't written C++ in anger in a decade, but it informs what I'm looking at when I'm reasoning through how V8 or the JVM is going to handle my code. I've been required to teach people in the top-down manner that has left knowing gaps and rendered them without the tools necessary to solve their problems. That's not to say somebody who eagerly learns on one's own may be fine. Of course they might, so long as they have a way to determine what they need to learn. But most people don't eagerly learn on their own, and so a prescriptive "start at the bottom and build up" provides the necessary knowledge and grounding despite themselves.
- yitchelle 8y agoIs this the "real" reason why they bought Github? They want to migrate their entire office products to use the ElectronJS. VisualCode and others were like the guinea pigs before going fully in with their office products. /end_speculation.
- trevorsg 8y agoNot Electron. https://twitter.com/TheLarkInn/status/1006761134395834368 https://twitter.com/TheLarkInn/status/1006761134395834368
- neolefty 8y agoThe tweet: No they are not electron apps. They are compiled to native code. It's now finally one toolchain(#webpack) It's one codebase and it compiles to: Web Android IOS MacOS UWP WIN32 (only one that uses electron)
- bhanu423 8y agoMy 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.
- wilsonnb2 8y agoThis 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.
- TensorMetric 8y agohttps://www.thurrott.com/cloud/office-365/161295/microsoft-redesigning-office-user-interface https://www.thurrott.com/cloud/office-365/161295/microsoft-r...
- wilsonnb2 8y agoWell that's disappointing. The simple ribbon in the new OneNote feels like such a step back from the ribbon UI in OneNote 2016. It does say users will be able to enable the full ribbon UI still, so I suppose I will have to do that. Hopefully they don't deprecate that feature.
- ygra 8y agoIn the past the reasoning to replace the menu system with ribbons completely and not allowing to switch back is the understandable desire to not having to maintain and test two different UIs all the time. Two different ribbons may still work, as the ribbon already has information about "importance" or "prominence" of each item, but I fear eventually there'll be only one remaining in the future.
- akerro 8y ago>It's one codebase and it compiles to: Web Android IOS MacOS UWP WIN32 (only one that uses electron) Ah yes, you can see here the strong love of Linux in Microsoft.
- Melchizedek 8y agoThis guy confirms all my prejudices against JavaScript hipsters, ruining computing for everyone since 1995. The beard, the super-fun-happy demeanor instead of thoughtfulness and competence. Please Wasm, save us from this nightmare! And nuke the hipsters from orbit.
- jmull 8y agoYou're using an ad hominem argument in the cause of thoughtfulness and competence?? Hm.
- JCSato 8y agoI know, right? Friendly, bearded, probably lives on the west coast and uses a Mac. Ugh. Can't wait for new technology to make these pathetic hipster devs hired by Microsoft for their abject lack of competence to go out of work.
- jjeaff 8y agoYa, we all know that the only truly competent developer is socially awkward and difficult to work with, unwilling to compromise and writes everything in assembly. Sort of the developer version of "Nick Burns, Your company's computer guy"
- dijit 8y agoYou wrote this comment thinking that you're right; that the only thing that is not hipster is ASM and being socially awkward. But you're both wrong, and I know it's obvious to everyone reading this comment but I'm spelling it out for you and OP specifically because nobody ever calls anyone out correctly. There is a nuance to technology; it's not black and white and leaping to the extremes is not helping. Is Javascript a "good" language by the classical definition of "good", well, no, not really.. but it's "good enough" for enough stuff and the ecosystem is the healthy part of it. My point is (if I'm trying to make one), making things natively is certainly better for users RE: desktop software. So if you care more about your users time and their resources than you do your own development time then it makes sense to do it in a native language. (Not ASM, that's facetious) The question invariably becomes: "Yeah, JS is /classically/ a bad language, mostly known by people who aren't formally qualified programmers who understand systems" vs. "Yeah, but can you imagine making something cross platform in C++ in 2018! talk about foot guns!" There is middle ground here, but unless we can talk about it professionally and with charity to the "other side" then we'll never get anywhere.
- daemin 8y agoThat explain why the Office windows are laggy as hell when being moved. It's like they're not processing window messages quickly enough or something.
- draw_down 8y agoCompare the JS talk here to how sanctimonious everyone gets when PHP comes up. Then it’s “right tool for the job”, “don’t hate on something just because you don’t prefer it”, et cetera. When JS is the topic, well, see for yourself. Amazing.
- chandmk 8y agoAs a side note, Microsoft login echo system sucks big time in the context of office. You have no idea which URL to use to login to office 365. Between login/logout/timeout/other office apps/personal accounts/business accounts/forgot password workflows browser redirects to various URLs at least a dozen times. And you keep seeing new URLs I am wondering how less tech savvy people are coping with their authentication workflow. Depending on how you are authenticating you will see URLs with various words in them. loginlive office.com outlook.office.com office365 outlook.com account.live products.office.com login.microsoftonline.com and this list goes on and on... I am wondering if they made an announcement that they are fixing their messy authentication workflow instead spending resources in rewriting office in JavaScript, that would have gotten this much attention on hacker news.
- youseecomrade 8y agoSome login servers that you go through, like Skype's, share the same IP address that many "anti-telemetry tools for Windows (10)" are blocking.
- Tsiklon 8y agoThat has to be a deliberate choice on the part of Microsoft.
- privacypoller 8y agoWhen you have multiple accounts it's even worse - especially if you've got a work account with domain authentication, a private one with 2-factor, a sub-account email under another... I'm usually pretty savvy about typing information into a rando web form, but with windows logins it's a major chore to figure out what exactly I'm looking at. I hope they staff up to meet the 18-month rewrite cycle for modern JS apps. I'll stick with my 2003 version on the desktop for now.
- amorphid 8y agoThis reality bit me when my Skype account was rolled into Microsoft's Live/Outlook/something system. Both accounts had the same email address, and suddenly my Skype account was no longer accessible. I finally figured out how to delete the non-Skype account, but it was a major pain and I had to wait 60 days for it to finally go away.
- adreamingsoul 8y agoSeriously? This is a bad idea, and I say that as a engineer who writes a lot of JavaScript.
- youdontknowtho 8y agoThey are using TypeScript for large scale projects.
- andrewmcwatters 8y agoWhich is an even worse idea. In widespread practice, I regularly work with developers who can't even master JavaScript. To blithely toss another CoffeeScript in the mix is foolish if you ask me.
- crooked-v 8y agoYou may want to actually learn what Typescript is before blithely making such comments.
- andrewmcwatters 8y agoYeah, I know what Typescript is. It's another transpiled language. I don't care what the syntax looks like, the point is you've added a secondary level of knowledge required to operate in a codebase written in it, and most don't fluently know the first. Please tell me more about what I don't know.
- rawrmaan 8y agoWell, if you remove your assumptions about how incapable people are, TypeScript is the way to make large JS code bases maintainable. It doesn’t even change any of the JS syntax, it just adds to it. It’s the opposite of CoffeeScript in many ways.
- Dylan16807 8y agoTypescript is pretty much just annotations and linting. Most of the syntax features have been folded into javascript by now. In other words it's not a "secondary" level, you only have to learn one level to use it.
- cmjqol 8y agoMost of the comments seems to say "it's a bad idea" , keep in mind Microsoft is now using React very intensively for most of their projects as well as angular (VSCode , Windows Server etc... ) Meaning it's not the language the real issue , it's what you do with it. Also Junior at school are less and less trained with Java and C# but straight up with JS or PHP , so it will be much easier to integrate juniors on this re-written version of office rather the pile of legacy C++ / COM / C# bridges mess they have right now.
- walshemj 8y agoMail is one of the key parts of the internet no offence you don't want someone straight out some boot camp of dubious provenance having any input into what language or the spec of a MUA or MTA. Any new developers on this need to have experience working with email standards and a good knowledge of C++ / C not some fracking scripting language! And as some one who used to do international interconnect I think I have some valid input here - this has shades of the amusing project spitfire fiasco in the late 80's.
- cmjqol 8y ago> no offence you don't want someone straight out some boot camp of dubious provenance None taken . My point is Microsoft is shifting to make it easier to separate their apps into clear layers . Coders from bootcamps can deal with the UI and some logic , C++ Engineers will deal with back-end and the mess that office is, and expose some API in JavaScript for them.
- AnIdiotOnTheNet 8y ago> Coders from bootcamps can deal with the UI and some logic Great, so the UIs will continue to get slower and more broken. What a glorious future we have to look forward to.
- pducks32 8y agoThis is literally the same argument of the tweet's first poster (to which the linked tweet is a reply). This is just simply not true. I know many people who make mail apps for some big big companies. They have CS degrees and would admit they suck at C++ (I wouldn't even mention C) but they are great at Python
- chengmau 8y agoI know the architecture too good, more than I need as I was leaving MS recently. This tweet is not likely to happen. Talking about desktop apps, this doesn't make any sense. Office apps have millions of lines in code and many years of lost knowledge between the classes. Just too many screens, checkboxes and features. A complete bloatware. Buy MS doesn't take any feature off the app- if you have 1B users, most likely that any minor feature cut will hurt some of them, hundred of thousand of them, and they are probably paying, not free riders. Any new office version only hides features, letting this small users group to get them back, never deleting lines of code. MS doesn't want to get billions fined as happend when they moved to docx/pptx/xlsx and didn't support backwards. Talking about the online versions of office, it is a mess. For Word and PPT they tried to replicate the desktop to the web, rewriting the code, so their current online versions are already using (mostly) new code dedicated for the web. Saying that, they also have a huge number of legacy components and features that they need to support for backward compatibility.So for word and ppt this is a mix in code, not a total re-write. They also have a substantial subset of the features that appear only in their older desktop brothers. Even the PMs don't dare to dream on features parity between the versions. Excel is a different world and a big-big elephant that won't likely be rewritten any years soon. Think of a code that is maintained over 30 years. Literally, developers are still maintaining code written in the 90s. Trying to bring Excel to the online world made MS create an architecture of html frontend which communicates with a dll session behind the scenes. As weird as it sounds, this dll lives as long as the browser has the spreadsheet opened. Think of it as MS raising VM for every excel file that is opened over the internet. While this is not very cost effective (saying the least) and not very performance friendly (hey ma! I made an understatement) this allowed them to move forward with Excel online very quickly by having a UI communicating with the bloatware dll that runs on the background in Azure. Summarizing Excel, it probably won't also be rewritten in js. So this PM might be talking about the new apps - Teams or flow or something similar. Not the office cash cows. Personally I really hope he is talking about Skype which became a total garbage in the past versions. Anyone from Google here? I'm looking for a job :-) ping me (chengmau) in the blind app
- exikyut 8y agoI've always been curious... are the Word and Excel layout engines more complex than HTML+CSS+SVG? Not in terms of code bloat/complexity (these exist in both, as you've just described), but in terms of engine size, drive-ability, edge-case handling, etc. It's probably a hard question to answer; it's (for some reason) hard for me to articulate exactly what I mean too. And regarding Excel-literally-in-the-cloud... is that why Microsoft needed to make Azure? :P
- southpolesteve 8y agoMore specifically React https://developer.microsoft.com/en-us/fabric https://developer.microsoft.com/en-us/fabric
- starpilot 8y agoTitle is missing the word "in." Come on.
- Fulck 8y agodownload link anyone?
- sonnyblarney 8y agoI hope to god they mean to say 'TypeScript'. Otherwise, they'll never finish :)
- OnlyRepliesToBS 8y agoDon't break your arm patting yourself on the back. The language is irrelevant to the users. The UI is made with evil anti-user dark patterns because of... Microsoft.
- babsHeinz 8y agoBye bye Office 365. https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/ https://www.joelonsoftware.com/2000/04/06/things-you-should-...
- arisAlexis 8y agoanybody knows details like if they use typescript or vanilla or some framework