5 ms·
Microsoft and the Mono Project have both doubled down on C# as their language of choice for the CLR. Rather than really push for greater adoption of F#, it seem
by hkarthik 14y ago
Microsoft and the Mono Project have both doubled down on C# as their language of choice for the CLR. Rather than really push for greater adoption of F#, it seems that they're letting F# incubate functional programming concepts, which later trickle down into C# for more mainstream developers.
Looking at the JVM, it seems like a similar dichotomy is happening with Scala, although more slowly without a Microsoft-like corporate shepherd.
Java and Groovy still have the mainstream developers' attention, but Scala is slowly growing mindshare. Clojure, much like F#, still seems to remain in the realm of the hobbyists and early early adopters.
- GlennS 14y agoMy feeling is that C# as a language is getting close to being full of features. Microsoft have done a really good job of adding things to it so far without turning it into a hodge-podge, but if they keep going at the same rate then it seems inevitable that they'll either have to let it get messy or do a big redesign.
- hkarthik 14y agoI'd agree with this, but I think the reason that more .NET developers don't revolt is because there seems to be limited uptick on some of the newer features. E.g., generics were introduced in .NET 2.0 around 2005, but it was very common to find .NET shops where you didn't see them used in the code even as late as 2009. Same goes for Lambdas in .NET 3.5, and Dynamic objects in .NET 4.0. The corporate install base just tends to be more conservative with picking up new language features. I think it's more likely that a big redesign will come and a new language will get introduced in a few years.
- michaelcampbell 14y agoHonest question: Do you get the sense that the type of programmer who really likes .NET is one that goes for "alternate" languages? I've had limited exposure, but I do not get this sense; rather, the ".NET guys" I've been around fall into 2 basic camps: 1) They want to just do the minimal problem solving required for their role and don't really care about technology for the sake of it, and 2) They have bought into the MS ecosystem, and will just go with that flow. Basically, they're not hobbyist or "I code because I love to" types; which are the (IMO) more curious and invest time in new things, just because.
- hkarthik 14y agoI think that's a fair assessment, and it's one of the reasons I left .NET about a year ago. The average .NET developer usually works in a 9-5 corporate environment that is completely bought into the MS ecosystem. This environment has traditionally been very opposed to Open Source and discourages hobbyist programmers as a result. There are hobbyists and "I love to code" types in the .NET community (many will likely jump into this HN thread) but there are comparatively fewer hobbyists in the .NET community when compared to other communities.