I agree, programmers are drowning in a wash of languages with one coming out every week. We have so many to chose from it's ridiculous. One that isn't even released is even more of a bore.
The defining feature with any language is the libraries and frameworks. And, let's face it: code samples on Stack Overflow and open source projects to rip apart and destroy.
The odd thing about M# is how it highlights the ridiculous bureaucratic nature of Microsoft. C# is great language, and MS has done a wonderful job of sucking programmers into the Windows black hole ecosystem. Instead of expanding C# to accommodate for their needs an internal teem has gone off on a tangent.
Furthermore, it's a little bit odd that when Mozilla explores that space with a new language, it's the hottest thing since sliced bread on HN, but this here gets drowned in snark. At the same time, the discussions on reddit (of all places!) are way more focused, technical and objective.
I know nearly zero about why people choose Rust or Go. But my best guess:
1) historical reason. Rust, according to Wiki came about 2010 and golang came around 2009. So they are pretty old languages by now, even though Rust is still only at 0.8 release.
2) catchy words like concurrency and memory-safe caught attention. The first + thing I heard about Go is concurrency, how the language supports concurrency and channels out of the box. Being a total Go novice (though have written a few small programs), I imagine this means I no longer suffer Python's GIL and I don't need complex multiprocessing module to launch my jobs.
Rust is memory-safe, a replacement to C++. It also support concurrency. Looking at the language's influence, looks like Lisp and Erlang hackers love them. My guess is people who deal with programming languages are often functional programming language lovers.
3) names plus practical examples. Google was going to use Go to replace some of their existing C++ apps. Rust is now used to implement the next generation of Firefox's layout engine, Servo, which is totally awesome.
Now comes the real question: "why another language?" Basically a language comes down to the application domain the language is trying to solve. SQL is to solve business application where persistency and data analysis are required. Now people are wondering what is the purpose of M# when C# and Java are good enough... as a general programming language. Yeah, I am totally stealing this from Compiler class on Coursea (just started my first lecture last night myself :)))
> when Mozilla explores that space with a new language, it's the hottest thing since sliced bread
I'm all in for new languages that solve unsolved problems (or solve better problems other solved). When Rust came out, it was new and exciting. When Go came out, it was new and exciting. This one is new and plans to solve some problems Go and Rust already solved. It'll be exciting if it solves them better. Right now, we know nothing about it.
From the list in the blog post, the only problem M# (or whatever it's called in the end) solves other languages haven't already solved is what to do with all the C# developers we have out there. It's not a problem I am very excited about.
The defining feature with any language is the libraries and frameworks. And, let's face it: code samples on Stack Overflow and open source projects to rip apart and destroy.
The odd thing about M# is how it highlights the ridiculous bureaucratic nature of Microsoft. C# is great language, and MS has done a wonderful job of sucking programmers into the Windows black hole ecosystem. Instead of expanding C# to accommodate for their needs an internal teem has gone off on a tangent.