• entries
34
109
• views
38929

# Farewell Windows, it's not me, it's you.

4232 views

I've been developing on Microsoft Windows for a long time, since around 1992/93, when I got my first PC. Various other platforms before that, but I've pretty much stayed with it, not because it is a technical marvel (it's not), but based on the idea that it was the most popular OS so it should be easy to get programs running on other people's machines. Coupled with this (and no doubt because of this) there is also loads of good software for development, which had made it the 'default' choice for me.

Don't get me wrong, I have certainly admired certain aspects of the various Apple OSes over the years (especially when they embraced BSD), but been put off by having to relearn the 'backwards' way of doing everything, and rightly or wrongly the suspicion of a 'control freak' walled garden approach, where you are not in control of the computer, Apple are. And don't get me started on my experiences of having to use iTunes to do something as simple as transfer a file over usb from a Mac to an i-something. And the obvious bias towards monetizing every aspect of the experience.

In contrast I sometimes feel that Windows is *overly* open, exposing too much to developers, allowing them to too easily 'hijack' your PC and take over its resources for their own purposes at startup, as well as a series of insecure 'technologies' that seem more appropriate for malware authors than legit developers. It seems to be designed so that the OS will run slower and slower the more apps you install, until you give up and re-install windows.

Along this line comes the other unpleasant thing I found with windows, that a lot of the software would rely on some other flavour of the month technology being installed as a dependency. Want to use a text editor? No, first you needed to spend half a day installing the latest huge bloated .NET runtime, to find it probably breaks some other app. And for something that is meant to be backward compatible, certain software companies (particularly Microsoft themself) seem to go above and beyond the call of duty in making their software incompatible with anything but the latest builds of the OS.

And so we come to my personal last straw .. I spent some time last year evaluating different IDEs, and preparing projects, converting code etc, until I finally settled on using Visual Studio 2017, which was in the final release candidate stages at the time. The first version worked great until it expired. Then I tried the updater, which failed miserably at installing the next version, so I had to manually tweak things until it installed. Finally I came back from holiday 3 weeks ago to find that the 'final final' RC candidate had expired, and I was required to install the release version. Unfortunately I found the installer refused to work on my system. During the time between the RC and the release, they managed to screw up the installer (of all things??). So I was left unable to do any work until I had it resolved.

I spent several days backing up my PC and trying to update it, but even with the windows updates no joy with the installer. I resigned myself that I had a choice of either buying a new hard disk and installing windows 10, or buying a new PC. Given I didn't want to risk losing my old work, I went for a new PC, even though my old one was perfectly adequate.

£650 or so later I had ordered a fanless kaby lake system. During the order I had the choice of OS to put on it. I had originally planned to put Windows on it, but thought what the hell, I should have another play with Linux, as one of the options was Linux Mint, and I could be sure the hardware would all work, so it should be easy.

While I waited a few days for the build, I did some research into Windows 10. Unfortunately I became more and more disillusioned the more I read. While I'm sure technically the OS has got better over the years, I've heard only disturbing things (from 'the register' etc) about the roadmap Microsoft is taking with Windows.

One of the things I hate about Windows is the need for updates, and the way you are left to pray during the process that they don't break some other bit of software. So usually I turn automatic updates off, and carefully manually select any if they are really required. Not so with Windows 10! As (allegedly) the 'last' version of windows, it will now automatically update itself, forever, whether you like it or not. That's nice to know that if you are a business, you have the very real possibility of waking up one morning to find Microsoft have borked your work and there's absolutely nothing you can do about it. This is clearly a showstopper for many people, for instance having a meeting to show clients the next day and finding your PC has been remotely broken by some well meaning folks who I'm sure have your best interests at heart and not theirs.

But it doesn't end there, no now the operating system is designed to take your personal info, searches, work etc etc and send it (without your permission) to Microsoft central command mothership. Simple, you turn it off, you would think, except that, apparently, it seems you can't turn it off. So you think you will block the MS servers in your firewall etc. No dice, as the OS apparently ignores these rules because slurping your private data is too important. And even if you think you've worked a way round this, you only have to leave the PC till the next morning, for the next AUTOMATIC update to circumvent your attempt to circumvent the data slurping. Honestly, there must be laws against this kind of thing.

All this made me realise I had to seriously think about moving off windows as a development platform in the longterm, and that time may just be NOW!

Several of my old dev colleagues had by now moved to other platforms, notably a lot have moved to Apple. I admit I have an irrational phobia of all Apple products, so the only choice for me was to investigate Linux. I only had some *very* basic grounding in unix (having done some pascal on unix machines at Uni), and having played with linux on my Asus EEE netbook many moons ago. So my experiences, in the next blog post, should be useful for anyone who is an absolute beginner like me.

Suffice to say, it has been a very difficult slog learning the basics and converting my code, but I have *finally* got my libraries and game code working, and I am now a convert. The whole Linux experience seems light years ahead of windows. I may still end up having to install windows in a VirtualBox machine, but I haven't had a need as yet.

Next blog post will be my migration experience...

Yeah, I totally agree. Switched to Linux on one of my machines recently and it seems much cleaner, and I have much more control over what's running on the PC. You should check out the CLion IDE. I was skeptical that I could find a Visual Studio competitor on Linux, but after using it for a bit I think it's the superior product. Looking forward to where you go with future blog updates.

Posted (edited)

Or you can just return to the previous Window editions like myself. I've been using Windows 7 for ages with Visual Studio 2012. There's honestly no need to have to go forward, at least as far as my coding is concerned. And I still develop modern applications with it. I feel if you revert back to the previous Window OS, which if you have used Windows forever, should be fully aware of being able to do, all your problems will be gone.

Edited by Zido_Z

I am totally with you!

I use Ubuntu for exactly the same reason now. And I'm very happy and learned a lot of new things about the Terminal etc. Actually, the terminal is really useful, e.g. when searching for installing or problem solving on the internet. Because, all the problem solving consists of copying and pasting lines to the Terminal and pressing Enter and the exact solution will work for your problem and you're done. And I found that a lot of problems already have a solution thought of by someone in the cool Linux community who is more experienced (smarter? :D) with Linux than me.

The only thing I haven't got up and running, for a University project, recently and needed to switch to Win 8.1 again is developing Games with the Kinect. There is a Unity Engine build for Ubuntu which works pretty well, but the Kinect just won't work with it....but oh well it just was for this one University Project.... but now that I used Windows a bit again for some weeks, I know even better why I like Ubuntu so much :D. Glad the project is done now, and I can get back to efficient working with Ubuntu. VS 2017 is a bunch of "§$"§%"%§"$... tried to use it, then just gave MonoDevelop a try, Unity build in thing, which just worked... -.- thank you Microsoft.

I was scared to use the terminal and switching to linux at first, but now i'm a huge fan! It took me about 3 days to get up and running, I did indeed expect more. I recently started to follow Handmade Hero, since there is a guy who put a bit of work into porting the starting episodes to linux. The interesting thing for me there is, what Casey is doing on his stream to get Windows to display a window and how SDL just does it way easier. Really, every Computer Science student should try and work on Linux at some point :D! It's also been amazing, how much of my Steam Library works on Ubuntu, I mean if that's not a huge thing, then what is, your games and everything on Linux!... So in fact I found a substitute for almost every windows program. Autodesks Sketch Book Pro and Kinect sadly not yet....:C, but I keep searching, there must be something.

Arch Linux for me.

I use Unity3D/MonoDevelop, but the more I've worked in Linux, the more of a barebones developer I've become. I primarily use vim for my development, and with C++ work, I've slogged through learning makefiles (first the hard way; now I'm learning CMake). It's a pain, but it feels satisfying to know exactly what I'm asking my compiler to do, and exactly which parameters do what.

Additionally, SDL2 + OpenGL is legit, and I think Nvidia deserve a lot of credit for maintaining Linux drivers for their chips, so we devs can take full advantage of the hardware (and possibly other chip makers -- Intel also maintains Linux drivers for their chips.. can't speak for other manufacturers, but the point is that the support is there from at least some, if not all, of the major players).

I could go on and on, but basically Linux is awesome, and it continues to improve on the gaming front.

On 25/07/2017 at 10:16 AM, Zido_Z said:

Or you can just return to the previous Window editions like myself. I've been using Windows 7 for ages with Visual Studio 2012. There's honestly no need to have to go forward, at least as far as my coding is concerned. And I still develop modern applications with it. I feel if you revert back to the previous Window OS, which if you have used Windows forever, should be fully aware of being able to do, all your problems will be gone.

Yes, certainly Win 7 was good, I still have it on a couple of old PCs, and I am certainly not averse to sticking with something that works (see this post). I moved to Win 8 with my previous PC partly because at the time, the hardware didn't appear to support Win 7 (UEFI and other drivers I seem to recall, these may be available now). Another example my new PC is Intel kaby lake, which I have read may not be fully supported on versions below Win 10.

You also have the considerable problem of software supporting your particular version of Windows. Some will not install on previous versions of windows (or newer versions, maya for example). I also ran into a lot of 3d / video software that required the newest GPU support. And you get a PC with the newest GPU etc and it's hard to guarantee that there will be the right drivers for older versions of the OS...

So yup sure, if your hardware / drivers are compatible and you are sure the software you are using is okay with it.. There is still always the risk that an update to your favourite software that you *must have* no longer supports your OS.

Quote

I spent several days backing up my PC and trying to update it, but even with the windows updates no joy with the installer. I resigned myself that I had a choice of either buying a new hard disk and installing windows 10, or buying a new PC. Given I didn't want to risk losing my old work, I went for a new PC, even though my old one was perfectly adequate.

Wait... so you had trouble updating some IDE software so you decided the solution was that you needed a whole new PC?  Why couldn't you just back up your files somewhere and reinstall your OS on the PC and harddisk you already had?

23 hours ago, trjh2k2 said:

Wait... so you had trouble updating some IDE software so you decided the solution was that you needed a whole new PC?  Why couldn't you just back up your files somewhere and reinstall your OS on the PC and harddisk you already had?

Because if I'm going to install a new OS every few years (and not forgetting all the other software) I'll usually try and do it on a new PC. Time is money and all that. That way I keep the old PC functional for testing etc and it *usually* coincides with time to update hardware. But you are correct sometimes it can be worth just replacing the hard drive.

## Create an account

Register a new account