I appreciate random ideas
Sorry, but I shudder to think of using anything MS, open source or not. Even with Mono available. It could be old prejudices, or that most of my development experience has been web related, which is dominated by apache/linux. Or maybe it’s because I get frustrated because I need to reboot my machine every few days because the memory is frazzled or I installed new software or updated a driver, instead of just stopping/restarting a service. And there is no way in <any-bad-place> that I would trust a windows box when it comes to up-time and reliability. Or efficient resource management. Or anything that doesn’t have to do with watching a movie, listening to music, or playing a video game (and even then windows can be a pain).
I actually haven’t played around with C# in the past. I’ve played around with c and c++, but nothing MS specific. I did work for a company that was porting an ASP (classic) project to PHP, but that was just vbscript really.
Go has been around for 4+ years now, so it’s doing well. Plenty of people using it, there’s plenty of documentation, I hear about it a lot on current podcasts, and there is more open source code to look at and learn from. Google is still backing it, so Rob Pike, Russ Cox, Andrew Gerrand and a few others are behind it full force. But from what I gather the majority of the work and contributions are coming from the open source community.
A lot of people are moving from ruby and python over to go.
It’s a compiled language, yet the syntax has a scripting language flavor to it. The main thing about it is that when they say it’s a modern language, they don’t mean that it’s a language that implements the things it likes in other languages. What it means is that since Java (20 years old), there hasn’t been a large advancement in a compiled language to deal with what modern systems and developers need to do in today’s landscape. So they offer a new modern language that offers better and quicker compilation, small and efficient binaries, concurrency, which is huge when it comes to distributed systems like a cloud, simple syntax that you can keep in your head (hello c) and that allows you to be more productive with less lines of code. Another cool thing about it is that it compiles cross-platform from any platform. I can compile windows binaries on a linux system. And when you use Go’s file system package it’s going to work on unix/linux/windows/mac/bsd/and a few more.
I’d take a look if I were you, it looks pretty exciting, and I think the wave is just about to hit us.