News for hackers. Stuff that matters.
Re:Bill Gates answers questions about Java during a depositi... by xxs on Sunday October 26, 2014 @07:35PM (#8512962)
C# and .net had Delphi's mastermind, nothing to do with Visual J.
Re:Bill Gates answers questions about Java during a depositi... by MichaelGG on Sunday October 26, 2014 @08:56PM (#8513236)
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. 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.

Re:Bill Gates answers questions about Java during a depositi... by pjmlp on Monday October 27, 2014 @03:38AM (#8514315)
> 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....

Re:Bill Gates answers questions about Java during a depositi... by MichaelGG on Monday October 27, 2014 @11:58AM (#8516272)
I 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".
Re:Bill Gates answers questions about Java during a depositi... by pjmlp on Monday October 27, 2014 @02:32PM (#8517234)
Sorry if I somehow misinterpreted it.

Yeah, LINQ was what got enterprise developers slowly started into the FP world.

Re:Bill Gates answers questions about Java during a depositi... by tanzam75 on Sunday October 26, 2014 @09:43PM (#8513351)
> 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.as...

Also see: 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-...

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.

Re:Bill Gates answers questions about Java during a depositi... by MichaelGG on Sunday October 26, 2014 @11:41PM (#8513664)
Right, 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.)

Re:Bill Gates answers questions about Java during a depositi... by V-2 on Sunday October 26, 2014 @07:51PM (#8513039)
You 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-H...
Re:Bill Gates answers questions about Java during a depositi... by xxs on Sunday October 26, 2014 @08:04PM (#8513084)
Fair point, I always thought he joined in 1998.