3 ms·
> 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 ne
by 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.)