Ok, the title is a litte exaggerated. Maybe not for for a Windows Developer …
Anyway, consider this post as a current state of my mind, nothing special, nothing that I could swear to, just an open monologue about what I think.
Due to the fact that my kids are getting bigger and bigger, and they need a space and work machines (hah, of course they’re playing games, not really ‘working’), I have finally bought a laptop just for me (oh, how it sounds great!) with some solid specs (i3 and SSD were my minimum requirements) and start to think about how I’m gonna ‘stuff’ it with developer things. First of all, there should be some OS there, right? Well, spending years and years with Microsoft and developing mostly on .NET, I had no desire and no need to think about something else than Windows. Don’t get me wrong, I love Windows and I think it’s probably the best OS out there, but something made me think about something else. You know, a positive shivers to try something unfamiliar. Maybe it’s because that Windows Phone I have is no longer cool (we have (un)luckily 4 of them in the house!), maybe because I’m working the last couple years on JavaScript and other web client-side stuff (like KO, Angular, Node, etc) and the OS is no longer so important, maybe because IE is no more my first browser choice for dev or play…
I don’t know why, but I did that step, and install Ubuntu 16.04 on my brand new laptop.
First thing: I did not encounter any errors or problems. That thing just installed. And my aversion to the ‘dark-side’ things begun to fade away. IMHO it’s a standard Win-dev dellusion that any other system or application that is not MS-based will fall apart, and I began to feel I am/was that part of the world. Yuck! The other things just happily followed. I indeed found myself in an uncharted territory, but I rather quickly adapted – I started to use a “super” button (it’s really a Microsoft button, right?), learned about new file system, got to know how to use terminal (a “sudo window”) and installing the packages through the weird commands. And everything worked! No pain, no errors.
And what about programming? How I’m gonna throw away my favourite Visual Studio 2015 and give up the best IDE in the world? No worries, luckily there is a Visual Studio Core – the code editor that really shines! It runs on Windows, Mac, Linux, and it’s easy to work with. There are extensions for almost every programming language of today. I’ve installed C# and TypeScript, since these two I use daily, and start to code. It’s easy to build C# application, including ASP.NET, since there is a .NET Core which ports to every OS, including Linux. VS Code even has linters and static code analysis that I love, so nothing really stands against developing with the Code.
So, I made a little ASP.NET Core app that uses Web API 2 and make some calls, test it with Postman, and it worked. Also bootstrapped an Angular 2 app, installed packages with NPM, ran it with Node, and it also worked. Now I was ready for a new app stack!
Thinking about new stack, I’ve installed MongoDB, since I’ve also been unfamiliar with it (that said, working with the MS SQL Server and Oracle, I never fell for the open-source databases since I got feeling that they suck). And once again, a positive surprise – it’s a very good thing! Maybe too different that I’ve used to with all this ‘document-like’ structure, but really nice. I’ll try MySQL too, and even make some Node.JS app to try it out. Just in case.
Next, I’ve installed Wine, since I just couldn’t find a decent game on Linux (except for the evergrowing steam game list). That was also easy, and I installed my favourite Anno series there (for your information, Anno 1404 needed DirectX 9.0c to be installed via Wine, and that passed quite nice). So, I currently use this machine to code AND play. Nice.
What to say at the end about Linux? It’s not a big deal to install it, familiarize with it, and run the apps on it. Ubuntu has a nice GUI and you can do lots of things with no problems. I hope I’ll keep that opinion also in the future. For now, I’m quite satisfied with my decision to work (even on a one machine) with a ‘dark-side’ OS, just for a change 🙂
Kind regards,
Ratko.