|
Microsoft scares me, for no good reason. Would, say, a Ruby or node.js-oriented web developer find the F#/.NET community lacking, incomplete, unfriendly, uncool? Is there even a community to speak of? What's to stop a young developer from going against the grain and adopting .NET? (Here come the downvotes. Shun the "hipster." But really, I'm looking for a subjective perspective from somebody on "the other side." I don't even know how to search for ".NET" on Github. For instance, is NuGet anything like npm or gem?) |
I'm not sure the F# community is the same as the broader .NET community. I think at the moment, with functional programming being a little more niche still, it's perhaps quite self-selecting. It has a lot of people in who really care. I think that's a good thing - I hope - but obviously the broader .NET community is perhaps more heterogenous - it can feel quite enterprise-y or business-y in places, unsurprisingly.
I hope the F# community wouldn't be found lacking, unfriendly, etc. We certainly try hard to be welcoming and inclusive, and I think generally do OK - although we could do better I'm sure, as could every community. There probably isn't as much open source in the .NET world as there is for Ruby/Node as much as anything else because of the backgrounds of the languages and communities (Microsoft has a strong influence over certain parts) but there is still quite a lot, with some very enthusiastic smart folk.
What's stopping people adopting it? Probably too long an answer for here. I would say that I think there are fewer and fewer things preventing adoption as time goes on, especially with F#, and there are some cool startups trying to do big things.
I'd like to think it's friendly, and I'd also like to think it's always open to ideas from other communities. If you wanted to chat as Ruby or Node dev (or anything else) I hope you'd be welcomed.
(Final note - NuGet is kind of like NPM yes - it's a common binary packaging form for dependency management. It has flaws, but is commonly used, and is certainly better than nothing. In the F# world at least, Paket is doing very well - it's compatible with NuGet packages, but perhaps slightly more accurate about using and managing them!)