4 ms·
C# and .net had Delphi's mastermind, nothing to do with Visual J.
by xxs 12y ago
C# and .net had Delphi's mastermind, nothing to do with Visual J.
- V-2 12y agoYou are mistaken. After joining Microsoft, Hejlsberg led the company’s efforts in Visual J++ [...] Hejlsberg helped make Visual J++ the most popular and most productive Java IDE in the late '90s. http://www.microsoft.com/about/technicalrecognition/Anders-Hejlsberg.aspx http://www.microsoft.com/about/technicalrecognition/Anders-H...
- xxs 12y agoFair point, I always thought he joined in 1998.
- MichaelGG 12y agoOne if the major things .NET had in it's favor was MSR to actually figure out generics. MS Corp viewed it as an academic and experimental feature and would never have gotten it implemented on their own. From what I've heard, Delphi's mastermind was not in favor of them, but I don't have a quote for that. Furthermore, looking at C#'s first couple releases, it seems they were aiming for a slightly improved Java. Only after F# did C# reluctantly start to pick up functional features. To MS's credit, .NET did aim to be a true multi language runtime, back to Project 7. They got feedback from many people to make sure many languages could be accommodated (looks like they've since given up on this goal). Ironically, the JVM, with it's strictly less capable VM, boasts far more languages targeting it's runtime. Probably because Microsoft worked against releasing it for other platforms and is still a bit standoffish.
- tanzam75 12y ago> One if the major things .NET had in it's favor was MSR to actually figure out generics. MS Corp viewed it as an academic and experimental feature and would never have gotten it implemented on their own. From what I've heard, Delphi's mastermind was not in favor of them, but I don't have a quote for that. According to Don Syme's blog posts, certain "product team members" said that "generics is for academics only." However, he did not name Anders Hejlsberg as being one of them. Here's the blog post: http://blogs.msdn.com/b/dsyme/archive/2011/03/15/10141602.aspx http://blogs.msdn.com/b/dsyme/archive/2011/03/15/10141602.as... Also see: http://blogs.msdn.com/b/dsyme/archive/2012/07/05/more-c-net-generics-history-the-msr-white-paper-from-mid-1999.aspx http://blogs.msdn.com/b/dsyme/archive/2012/07/05/more-c-net-... Also see the story from the other side: http://blogs.msdn.com/b/scottwil/archive/2007/10/24/working-with-msr-cambridge.aspx http://blogs.msdn.com/b/scottwil/archive/2007/10/24/working-... I wonder if MSR's implementation of generics in .NET 2.0 was why F# got bundled into Visual Studio as a first-class language. IronPython, IronRuby, etc. never got that type of internal buy-in and got spun-off instead.
- MichaelGG 12y agoRight, I have no actual citation on Anders or other C# team members regarding their position on generics. Just personal conversion. Perhaps it's way off base. Yet, the lack of lambdas, inference, and the reluctant implementation in C# 3 (only the minimum for LINQ) suggests that was not the style they were looking for. Same for the handling of async in C# - instead of a general mechanism, it's another hardcoded intrinsic. More evidence: TypeScript also looks lackluster, despite being a big step up from JS. I've no real clue why F# was productized, but I'd like to think it was because MS realized it has to stay competitive. F# is probably the most advanced language with that level of tooling, support, libraries, etc. I know F# is the only reason I continue to target the CLR. At the same time, MS's F# support certainly feels like it's just lip service, even while their flagship language lacks basics like a REPL. (I know, Roslyn will cure all.) I've yet to see any marketing suggesting F# would be a better choice for many projects; only esoteric sciencey and maths usages see suggested. What'd really be forward would be for MS to support Rust or a project like that. (I believe they hired the guy behind BitC but I don't think it was for language design.)
- pjmlp 12y ago> Only after F# did C# reluctantly start to pick up functional features. This is not true. C# got functional features thanks to the work of Erik Meijer and his team. His paper "Confessions of a used programming language salesman" about this work, is very well known in the compiler design community. http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.118.2025 http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.118....
- MichaelGG 12y agoI was careful not to say F# caused functional features to appear, only the timeline. I also noted all the features they added were purely for LINQ. So it does feel, to an outsider, that C# only obtained its functional features by happenstance. Had someone without Meijer's intent gone for a LINQ feature, maybe a different approach may have been taken. I get the feeling he was like a covert agent, dangling this easy way to get LINQ, to entice other employees into accidentally allowing such powerful features in, or as I believe he says in that paper "well even VB now has monads".
- pjmlp 12y agoSorry if I somehow misinterpreted it. Yeah, LINQ was what got enterprise developers slowly started into the FP world.