🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Your Preferred Os And Why

Started by
67 comments, last by Truanger 7 years, 10 months ago

Linux, hands down. I grew up with Windows and I've been/am writing C++ code for both Windows and Linux.

Without going into any of the obvious political issues surrounding spyware and security...

1) Linux is undoubtedly better suited for C++ programming than Windows. Compiling code is so fundamental to every Linux system, developing just feels more streamlined and more thought through (none of that manual DLL copying of dependencies stuff, or screwing around with VS solution file settings).

2) It feels more responsive. This is a big issue of mine. If you've worked with Linux for a few months then switch to Windows, Windows just feels laggy. Dragging windows is slower, copying files is slower, compiling is slower, applications take longer to start, etc. I don't know why this is, but in my experience, Windows runs slower.

3) Annoying updates. Windows doesn't have a package manager. When I start Windows, I will get random popups about "nvidia update", "Acrobat reader update", "java update", etc. at completely random times (sometimes even minimizing the game I'm playing). This is super annoying. Windows 10 even forces you to reboot after installing updates. Why does Windows even have to reboot? Linux can update packages without having to restart anything, what's the deal?

4) Efficiency. Windows 10 does have multiple desktops, but it's not usable. I really wish Windows would let me handle more than 8 windows efficiently, but it doesn't. I have to either alt-tab my way through the stack of windows or search for my Window in the task bar. That's at least a few seconds wasted. On Linux I use a tiling Window manager that is heavily keyboard-based. I organize my windows on multiple desktops in a tree-like structure, so getting to any Window is never more than two key presses away. I hardly use the mouse when I'm developing and it's just so much more efficient than what Windows currently provides.

Can you post relevant extracts from the License terms please

Read my signature, and follow the link in my signature.

"I would try to find halo source code by bungie best fps engine ever created, u see why call of duty loses speed due to its detail." -- GettingNifty
Advertisement
This is super annoying. Windows 10 even forces you to reboot after installing updates. Why does Windows even have to reboot? Linux can update packages without having to restart anything, what's the deal?

Well, to get all technical, this is down to fundamental differences in how windows and unix-like systems handle shared memory, and memory mapped files.

When an executable is loaded (or a shared library, dll etc) it isnt directly loaded into ram, but its code and data sections are memory-mapped into the virtual memory layout. In windows, this involves placing an exclusive lock on the file, meaning it can't be updated whilst its running.

In linux, if you "rm" (delete) that file, the inodes on disk (on-disk filesystem structure) and the disk data remain in place and allocated, just hidden from the directory structure, until all open file handles are closed. This means that an exclusive lock on the file doesn't have to be taken out to memory map it. *

The file can be removed, replaced, and any apps using the old instance will continue to work and will use the new version once restarted. Technically, the only thing you need to reboot to update in linux is the kernel core itself (you can even unload then modprobe modules independently so long as the ABI hasn't changed in the last update).

In terms of updating etc, linux has decades of experience ahead of windows as it is based on unix/posix which has been around since the 60s compared to windows's start in the early 80s.

On the topic though, i use windows 10 on my laptop and gamedev desktop (and i love it), I use ubuntu on my netbook, and have debian installed on my wife's laptop, and on my home server. All cellphones in the house run Android.

At work in the office we run a windows network but I have mandated that the IT department use whatever OS they feel comfortable (so long as it is able to join the windows domain) and all three of us use various flavours of Linux (personally i use debian with KDE 4).

I'm a fan of any intelligently designed operating system and to be honest both windows and linux are intelligently designed, just targetted at different demographics.

I haven't really had much exposure to OSX however, my last foray into it was six years ago, and it didnt inspire me or put me off. It came across as just one of those 'expensive toys' that i couldn't afford and would play with if I ever was given or had access to a Mac.

That's my story, opinions, and what i run.

* (Of course this does mean that you can write to that file without rm'ing it and the contents in memory instantly reflect this change so it can be used as an IPC mechanism. Accidentally forget to rm a shared object before overwriting it with a new one and watch hilarity and segfaults ensue)

Can you post relevant extracts from the License terms please

Read my signature, and follow the link in my signature.

That's a privacy statement, not an actual license, what would be interesting is what is allowed within the actual license you agree to when installing windows. Also among the huge wall of text on that page only a small chunk concerns Windows and within the same paragraph where they say what they could collect they also say "And because Windows is personal to you, we give you choices about the personal data we collect and how we use it"

It's about as un-shocking as any legalese around personal data could be really.

Read my signature, and follow the link in my signature.



Ok, let's have a look.

/reads...

Yeah, you selectively edited that. What it actually says is

Finally, we will access, disclose and preserve personal data, including your content (such as the content of your emails in Outlook.com, or files in private folders on OneDrive),


Holy shit, they'll access your emails and files stored on their servers to comply with the law? I am shocked, shocked, I tells ya.
Certainly, google, apple, dropbox, or any other cloud storage/email provider on the planet would never have such a condition.

It's actually possible to have an up-to-date, fully functional (without the shit) Windows which takes up just 15G on your harddisk. Bet you didn't think you could.


You're right, I didn't think I could. However, it turns out I have 7 TB of disk space so I really don't care either. :P
if you think programming is like sex, you probably haven't done much of either.-------------- - capn_midnight


It's actually possible to have an up-to-date, fully functional (without the shit) Windows which takes up just 15G on your harddisk. Bet you didn't think you could.


You're right, I didn't think I could. However, it turns out I have 7 TB of disk space so I really don't care either. :P

+1, who cares today really, it's probably even possible to have all that in under 1GB, it's not like it's taking 1 000 times as much code as before to do the same thing as in the 90s, it's just more media shipped with OSes, high res backgrounds, videos, plenty of drivers because space is free (vs downloading them on a by need basis) etc. OS space is simply something no one really cares about today (on PC that is, of course it's different for phones / embeded).

On my windows 10 out of 10GB in System32, nearly 6GB is "DriverStore", it could work without well, most of that, probably reducing 5.6gb out of the 5.7 it takes, but since GBs are cheap it's easier on everyone to just have it sitting there, ready for your hardware. Large Windows install size is just that Microsoft always takes that side of the tradeoff and at the GB/$ ratio it's a good tradeoff to make for an OS that reaches well, pretty much everyone from knowledgeable developpers to average joe in a small town with a 56K modem.

I'm happy it is that large because i'm happy i get the upsides of Windows being that large :)

I dislike Mac OSX a lot. The kernel is garbage, the file system is garbage, the memory consumption is obscene, stability is equal to or slightly worse than my Windows machines (all of which have their issues), and I despise pretty much every last UI decision they've made. And then there's XCode. This is not the worst IDE I've used, and exactly how bad it is varies up and down through the years and versions. But basically I'm not generally happy about using XCode to do anything that is actually productive. And of course there's a BSD userspace awkwardly grafted on top, which is admittedly handy but does not justify calling this OS a unix-alike. Counterpoint: clang. Clang is the best. This is also the only OS where somebody has put actual thought and time into designing the audio subsystem. You really notice if you do any type of recording work.

Oh, and this gets its own paragraph. The Mac OSX 3D graphics stack is the worst creation in all of the modern day desktop OSes. THE WORST. You are not a serious graphics programmer if your primary environment is Mac. There is no redeeming factor to anything Mac does with GPUs or graphics - and I've learned in the last month that against all odds, Android is somehow even worse. If you're serious about 3D graphics, stick to Win/Linux/iOS.

Linux has its ups and downs. I like a fair number of things about it, and I've warmed to the kernel since the 3.x series started. (2.6 got on my nerves and 2.4 was incredibly problematic.) The filesystem options are pretty solid. I hated XFCE in the past but I've gone back to test recently and it's actually alright now. GNOME 3.x and Ubuntu Unity are trash. Cinnamon is my favorite and Linux Mint in general is nice, except that you can't distupgrade. They want you to delete the entire system and restore a backup onto a new install, which is idiotic. I'm testing Ubuntu Studio as a candidate for primary distro now. Don't have a good read on the audio capabilities, need to test how well JACK etc actually works. I continue to hate working with GCC, but clang as a drop in replacement works wonderfully. There are still too many occasions where you have to go to arcane or obscure command line commands to accomplish seemingly basic tasks, enough that I wouldn't recommend any Linux to non-techies still. The package manager fans can go to hell, the entire approach is ludicrous and they know it. But for someone technically minded and with compatible hardware, I'm generally okay with Linux.

Windows. Oh, my old wonderfully flawed friend. I'd put 7 as the best version, but 10 is alright. Didn't care for 8.x before, can't stand it now. Decently capable kernel, mediocre filesystem, way too many things eager to run in the background and too hard to find out what or why. Interface design is miles ahead of Linux, nevermind whatever drugs they're using on the Mac side. All the usual advantages of software and hardware support. I like VS a lot, although they need to fix all the damned performance regressions they keep introducing. The C++ compiler used to be the best in the business for speed and code gen if not features, now it's sort of a sad also-ran in a world where clang exists. Clang for Windows is sadly not ready yet. Audio is a catastrophe of competing shifting APIs that you'd expect from open source, not a commercial product. The way updates are delivered continues to be the single biggest problem with Windows for literally everybody, and yet none of the changes they make ever seem to have any user facing improvements. How is a hexcore 64GB SSD-RAID machine still slow at installing updates?? Has any update ever not required a reboot? And now they're aggressively required. Goddamn. And while the telemetry/privacy stuff doesn't bother me per se, MS appears to have no understanding at all of "optics". They make stupid decisions and then stupidly look like they're trying to hide them.

Overall, Windows. I will recommend Mac to people who have repeat problems with Windows, as the laptops were until recently vastly better made and the system as a whole is harder for the tech-ignorant to break. They're also fantastic for media production work, no doubt about it. I don't consider Mac to be a serious choice for tech-savvy people or developers, based on 12 years of using the damned things. Linux... well. I much prefer it to anything else on servers, Windows client versions and Mac are horrific even as impromptu servers and Windows Server is mostly fine but not my preference. For a desktop OS, I don't see a reason to but I always have a Linux VM ready to go as it's my preferred way to do "unixy things", not Mac.

SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.

On my windows 10 out of 10GB in System32, nearly 6GB is "DriverStore", it could work without well, most of that, probably reducing 5.6gb out of the 5.7 it takes, but since GBs are cheap it's easier on everyone to just have it sitting there, ready for your hardware. Large Windows install size is just that Microsoft always takes that side of the tradeoff and at the GB/$ ratio it's a good tradeoff to make for an OS that reaches well, pretty much everyone from knowledgeable developpers to average joe in a small town with a 56K modem.

On my Windows 10 box, aside from my install of Medieval Total War, which is bloated because I have the Third Age and Stainless Steel mods installed, the next biggest chunk of disk space consumed is my Windows/Installers directory. I don't know why it would be bad to space all those old windows update msi's and whatever is in there - it's gigs of garbage. But it seems that that can cause some issues.

Eric Richards

SlimDX tutorials - http://www.richardssoftware.net/

Twitter - @EricRichards22

I like VS a lot, although they need to fix all the damned performance regressions they keep introducing.

I keep VS2008 around because for many tasks it works far better than any of the modern versions. Still needs VisualAssist for coloring, but it feels like every version since then has been far worse than those before.

You're right, I didn't think I could. However, it turns out I have 7 TB of disk space so I really don't care either. :P

You may want to reconsider before ridiculing that.

Having a 15G system rather than a 45-50G system means that you can do a bare metal backup of your "operating system and programs" partition in 1/3 the time. It means you can do use a 32GB USB stick for that (many people will advise against this because USB drives have the cheapest, least reliable storage - I've yet to see one fail, however). It also means you can use a blu-ray M-Disk to store it all, virtually forever. It also means you can backup to SAN without making this a dominating part of your life.

It means that doing 3 installs takes 1/3 the time (actually more like 1/50... because included updates cost nothing whereas applying updates is painstakingly slow).

It also means a couple of other things having some ten thousands of files which do nothing useful fewer on your disk (I don't actually know how many they are, but they are many).

Not having Chinese (and Aramaic and Thai and whatnot) installed alone is a blessing, as is having no other input languages installed but the one that's your native one.

Why? It costs you nothing to have these, right! Except when you press some innocent buttons (I don't even know which combination, but it happens for example when modelling in Blender) and your super smart Windows says: "Oh sure, let's change the input language, the keyboard layout, and everything. The user just pressed the shift button twice, so that must definitively be what is intended". You only notice because suddenly constraining to th Y axis doesn't work any more (fuck, Blender is broken...?) and because when you type in an editor, text is garbled.

Oh, you just held down the right shift key for some seconds. Sure, you absolutely want a dialog popping up asking you whether to enable key lock. Heck, you said "no accessibility stuff" in the control panel, but you probably didn't mean it that way. I'll just ask you over and over again to be sure. Oh it's time to bug you about Windows defender, too.

If you removed the complete functionality from the installation, it is just... gone. Everything just works normally, no errors and no failures. Only just the shit is gone. Same for the indexer.

Or you use one of the many freely available programs which, for one reason or another, let you do something with different fonts. Luckily, Windows hides those Chinese fonts that you can't read anyway. Except sometimes (for example in LibreOffice) it doesn't. You cannot remove them easily either because Windows doesn't let you. Guess what, if they were never present on the install, the whole problem never appears.

So yeah, disk size is not everything :)

well, I think it depends on way too many factors, like the type of use you want, free availability, and so on, but in general, I was somewhat surprised to see that the consensus here seems to focus on the few latest versions of MS (especially W10). I suppose it's a strategic direction to reach the most players/software/development tools. So, taking all this into account, what do you think about the development nowadays for MS-DOS? May it be complete nonsense, or on the contrary, if you aim for a low profile project, it makes sense? Thinking about the possibility to be emulated on multiple platforms (and a few other advantages), I definitely give MS-DOS a chance against other more glamorous choices.

This topic is closed to new replies.

Advertisement