6 ms·
Anders Hejlsberg – What brought about the birth of the CLR? (2004)
- mkr-hn 12y agoI came across this while looking into a question in the thread on Microsoft Edge: https://news.ycombinator.com/item?id=9481043 https://news.ycombinator.com/item?id=9481043
- rottyguy 12y agoThanks for the digg. Still not clear he's considered the father (definitely a mind-share contributor according to your link). Perhaps there was none, but usually there is front-person leading the charge for things like this w/in an organization.
- hanlec 12y agoAccording to Wikipedia [1] ("which never lies"): > He was the original author of Turbo Pascal and the chief architect of Delphi. He currently works for Microsoft as the lead architect of C#[1] and core developer on TypeScript. [1]: https://en.wikipedia.org/wiki/Anders_Hejlsberg https://en.wikipedia.org/wiki/Anders_Hejlsberg
- frik 12y agoIn 1996, Hejlsberg left Borland and joined Microsoft. One of his first achievements was the J++ programming language and the Windows Foundation Classes; [...] Since 2000, he has been the lead architect of the team developing the language C#. In 2012 Hejlsberg announced his new project TypeScript—a superset of JavaScript. -- https://en.wikipedia.org/wiki/Anders_Hejlsberg https://en.wikipedia.org/wiki/Anders_Hejlsberg For better or worse, he influences with his C# syntax ideology now TypeScript and indirectly JS/ES6.
- shawnb576 12y agoI worked with Anders for years (he was on my interview loop, still no idea how I got in), and no, he's not the father of the CLR. That project (Project 42, COM+, NGWS, among other names) I think even pre-dated his arrival at MS. Anders was pretty focused on C#, which _was_ a direct consequence of the dust-up with Sun over Java. The MS Java libraries (WFC, etc), COM+, and C# sort of all converged to become what is considered CLR+.NET today. When VJ++ was killed via the Sun suit, the CLR was already in existance, but still pretty rough. It was a solid (fun, but painful) 3 years between when that happened and when .NET 1.0/VS 2002 shipped. The "father" of the CLR is probably Mike Tougtangi, or Chris Brumme. I'm not exactly sure who was on that original team.
- frik 12y agoWho killed VB6 and thought VB.Net would be a good idea? I remember a long gone Channel 9 video where the VB guys had arguments for .Net and showed a demo of the third part transition tool, that ship as Lite-version with Visual Studio 2002/3.
- shawnb576 12y agoThe idea was that a converged, single, multi-language runtime and framework was the way to go. This is the way the culture works in Redmond - that's considered "strategic thinking", which is only exists in that bubble. It wasn't that the plan was bad, it's that it was unrealistic to think that the users of a very mature, very scenario-focused product would be happy with a V1 generalized product that was sorta-kinda the same thing. This was obviously false, and I actually fought against the porting tool because I didn't think it would work (it didn't), and just piss people off (it did). To keep VB6 alive until VB.net matured is anthetical to the way the place runs. Newer is _always_ better, even if it's not, and there lacked any incentive in the comp system for people to take care of the existing userbase. So, that's what happened.
- sukilot 12y agoThis really puts into focus the meaning of "strategic thinking": abandoning current customers in favor of potential future customers.
- zerr 12y agoAlso interesting - why this kind of framework (.NET) required to be under managed runtime instead of being native? Like Delphi.
- overgard 12y agoYou can compile C# native now.
- StevePerkins 12y agoWell... certain C#, which I don't know anyone actually writing (i.e. Windows 10 Universal apps). It would be interesting if you could compile a traditional desktop app into a dependency-free EXE, or bundle up an ASP.NET app with an embedded server as you can with modern Go microservices. I would go from "somewhat interested" to "chugging Kool-Aid and changing my career path" if those use cases entered the picture. I'm not sure whether either of those are in future plans, though.
- akoeplinger 12y ago> or bundle up an ASP.NET app with an embedded server You can do that today: http://docs.asp.net/en/latest/conceptual-overview/dotnetcore.html http://docs.asp.net/en/latest/conceptual-overview/dotnetcore...
- StevePerkins 12y agoI have been reading about ASP.NET 5 with much interest, but I'll probably engage with it more seriously in six months or so. It was still pretty flaky when I tried to get an OS X environment up and running last week. It's also a bit confusing whether this "Kestrel" embedded server is production-grade (like Golang, or the embedded server options for Spring Boot in the Java world)... or whether it's meant for development only (https://www.nuget.org/packages/Kestrel https://www.nuget.org/packages/Kestrel). It's amazing that CoreCLR is coming to multiple platforms within the next year or so... but what IS the production deployment story for Linux going to be, seriously? What is the development story for OS X? (VS Code looks interesting, but surely they're going to have to port the "real" Visual Studio, right?) Don't get me wrong, I'm not a naysayer! Since I've started exploring .NET, I've found C# to be an improved version of Java that I'd really like to work with. F# seems like a more coherent alternative to Scala. Documentation, availability of learning resources, and community friendliness are outstanding. Still, I'm not 100% convinced yet of the cross-platform reality living up to the extraordinary hype. It really is too soon to judge, but I'm definitely watching closely and believe that the next 6 to 12 months will be crucial.
- vermooten 12y agoTo copy Java.
- easuter 12y agoYeah, copy the good stuff. And then leave it in the dust :)
- bitmapbrother 12y agoBut, in the end Java won. Open sourcing their CLR was pretty much a sign of defeat as it was never gaining traction. As for the language differences, Java will eventually catch up with all of the syntactic sugar.
- cbd1984 12y agoHad Sun not sued Microsoft for making an incompatible JVM, would the CLR exist?
- iwwr 12y agoHad Sun not sued Microsoft then Microsoft would have ran off with the platform and built themselves an incompatible JVM and framework (common java + Windows-only Microsoft extensions).
- mikerichards 12y agoEssentially, that's what they ended up doing anyway..."built themselves an incompatible JVM and framework (common java + Windows-only Microsoft extensions)."
- pcunite 12y agoI've worked with COM quite a bit. The .NET runtime does makes working with Windows much nicer. However, COM has not been completely been abstracted. Still waiting for things like Extended MAPI and other parts of the ShellAPI to get "wrapped" up somehow. But I'm moving on from those spaces so it does not matter to me personally too much now.
- seabrookmx 12y agoIt's true. I recently explored In-process side-by-side, a feature where you can call legacy .NET 3.5 code running in the 3.5 VM from code running in .NET 4.5. It does this by spinning up two copies of the CLR. We figured this would be awesome, as we wouldn't have to port the old libraries to .NET 4.5 (and yes - porting would be required. Sadly that library was written very poorly and used reflection on private methods that didn't exist in 4.5, among other uglyness). The long and short of it though is the way you "call into" the .NET 3.5 code is through COM. This had lots of implications, such as no support for generics, lots of difficulty debugging, etc. We decided to just bite the bullet and upgrade the old lib instead, and I think we made the right choice. COM is a mess.
- bootload 12y agono mention this is vid/audio