My linux Laptop (Dell XPS 13) arrives today. I tried to order it from Dell, but ended up canceling the order twice. Every time I order something from a on-line store not named Amazon I'm repeatably shocked at how bad it is. I eventually canceled both incorrect orders and just bought the same laptop from Amazon for the same price and it took 2 days to arrive, not the 9-15 days directly from Del. There is a reason Amazon is eating everyones lunch.
Enough ranting about Dell. On a lot of levels, Amazon is also a crappy company in that they don't pay taxes, screw over Seattle, refuse employee attempts to unionize, etc, etc, etc. But they do know how to ship stuff and run a website. If I had 140 billion dollars I'd sure as hell be super nice to my employees.
I digress again...
Anyway, my Linux laptop arrives today... wait it's not actually a Linux laptop, it's a Windows laptop because Dell doesn't make a Linux laptop with a 512GB SSD, so I had to buy a Windows one and will install Linux as soon as it arrives.
My goal is to see how far I can get developing my new game on directly on Linux and not the Mac (I haven't developed on Windows in years). Can I ditch the Mac and go 100% Linux?
For working on the "game", this shouldn't be a problem once the engine runs on Linux. The few custom tools I use (Wimpy, for example) and all built from the same code the engine is, so once it's working under Linux, they should compile as well.
The real issue is going to be developing the "engine", which I spend most of my day doing. Writing C/C++ code in a nice text editor and compiling it isn't really the issue. It's mostly that I've gotten very used to the visual debugging found in Xcode and Visual Studio.
It seems that Linux IDEs are really behind in this. Once I get started I'll explore it deeper and I hope I'm wrong.
I've been a full-time Mac user for 20 years but Apple seems to get more and more paranoid and authoritarian as time goes buy. I would love to move to Linux, but I don't know if I can without making a lot of productivity sacrifices.
I'm going to install Ubuntu Budgie going solely on the fact that I like the looks. I've resigned myself to installing Linux several times before I find something I like.
We'll see... I have my finger crossed.
Visual Studio Code can be good too, but you'll have to spend some time assembling a hodgepodge of plugins, and all the debugging plugins I've tried have been extremely rudimentary (like, "I might as well use gdb directly for all this gets me"). If you go that route, might want to check out the clangd plugin since the default C/C++ plugins are fairly bad.
Hope this helps! And welcome to Linux :)
Could you please expand a tad on what are the reasons that made you consider leaving such company after so many years?
I wanted a new PC for someone on my team. Looked at the list of current Dell models, picked one. After a few days, the local rep comes back and says it'll be three weeks. Are you kidding me? I don't want to wait three weeks. "Well, right now I have this laptop, and one of these desktops. Would either of those do?" No, I picked THAT desktop. Why does it take three weeks? "Has to be built and shipped over. From China." WTF? I could drive down to PC World now and just buy one of similar spec that's sitting on their shelf. Why do we have a business relationship with you for off-the-shelf, commodity hardware that I can buy in a shop in thirty minutes, if the lead time is three weeks?
Maybe they're optimised for companies that order 500 at once, for delivery in six months, and the very idea of them doing anything at the small scale, quickly, is just totally unworkable.
I'm a professional C++ software developer for about 15 years now. At work I exclusively work with Windows and Visual Studio but personally I use Linux exclusively. About half a year ago, together with some colleagues, I started developing my own adventure engine, similar to yours for Thimbleweed Park (Many thanks for the dev blog, which helped a lot).
Anyway, since I do this on Linux, I had the same problem as you and started looking around for a usable IDE. While I also use the commandline a lot, there is no way I will debug via raw gdb on commandline, I think debugging really is the bane of developing under Linux.
Anyhow, I decided to go with qtcreator (though I'm not using Qt), and so far it almost matches my experience with Visual Studio. As build system I use CMake, so that I can easily compile it under Windows as well as Mac if needed. CMake nicely integrates with qtcreator, and since it is cross platform and IDE independant I think a solid choice.
The debugger still has some quirks and all, but it seems sufficient for now. I needed to fix some "visualizers", so that std::strings are properly displayed in the debugger, but that was it.
A very nice introduction to debugginq with qtcreator that I can recommend was this one, which actually gave me the push to try qtcreator in the first place: https://www.youtube.com/watch?v=xTmAknUbpB0
When it comes to desktops I made all the long way from DOS (first Digital Research, then Microsoft) to Windows. Until I switched desktop and laptop to Linux as well, three years before. Since then I am "Linux-only" - and it was one of my best decisions ever.
My personal favourite for the Desktop is Linux Mint, which I would recommend. Under the hood is still a bit of Debian visible (which I know very well from the servers), but of course more of Ubuntu (which is easy for beginners to find support online) but much more it is simply the polished Mint-Style, bringing Debian and Ubuntu together to a nice Desktop OS. This is my personal opinion, of course.
I am running the XFCE-version as I like the "classic" way of Desktops, not so much into Mate, Cinnamon and all the other stuff. But I guess XFCE would be a bit too classic for people who are used to an OS made by Apple.
Anyway: Nice that you give Linux a try and I guess you will be happy with it!
If you don't, Qt Creator may still be fine, but there will be some hurdles to overcome, so something like VS Code may be a better idea.
Big Red Button
I have been using Linux as my default OS in parallel to Windows 10 (for some special cases) for several years now and for example I prefer Dolphin as the default file manager for ergonomic reasons such as the split mode, which is not supported by some other common file managers.
Also, since I've been used to the Windows UI (and am quite conservative), I prefer the KDE environment, as it is pretty similar to the Windows UI and even better. KDE was the reason why I recently switched from Linux Mint to Kubuntu, since Mint is no longer available with KDE. There may be other UIs that look better or are currently more popular, but I think you need to try them out in order to find out what you prefer.
Nice attempt at a strawman, too bad it's obviously a fallacious argument based on the false premise that a successful business like Amazon can only be ran by exploiting low-level employees, while the fact that the top levels are fantastically rich makes it abundantly clear that better work conditions are undoubtedly possible. The fault is not of the customer, but of those who conduct the business.
All builds of my game are done using a cloud-based CI machine, so I can produce clean Windows, Mac and Linux builds without needing to have those machines.
It gets a little trickier when doing Switch or Playstation builds, but I'll cross that bridge later.
Alessander Botti Benevides
I use it on Ubuntu 20.04 (with Cinnamon DE) and I really liked the CLion experience for C++.
If this is true, and while Linux is the right choice, I'd advocate tojump over Ubuntu and go straight to Debian.
Debian basically is Ubuntu without the millionaire driving Ubuntu. It is based on Debian, with some additions.
For instance, Ubuntu recently decided to move away from the Debian way of installing apps (frely) and nw implents its own wy of doing it. For simplification, they say. The result is anyhow a centralized app store, where Ubuntu will soon decide if you are entitled to put your software (and then how much to may for that hosting).
Believe me, if you are used to Ubuntu, you'll hardly find a difference with Debian -save the independence...
The key realization was that different workflows aren't necessarily better or worse (at least not significantly so), but you will have to put up with uncomfortable changes for a time. It is what it is. I made the switch 3 years ago and by now I'm used to doing things "the Linux way". Or more accurately, one of the many many Linux ways. ;)
There's no doubt in my mind that the change can be done. The question is simply whether or not you're able to put up with initial discomfort, especially if that "initial" ends up lasting months!
Stable Desktop Environments are KDE Plasma, Xfce, Cinnamon, MATE and even GNOME 3. Although, GNOME 3 isn't quite desktop-friendly. IMHO.
In my experience Kubuntu (Linux Mint KDE Edition), Linux Mint Cinnamon, Xubuntu (Linux Mint Xfce Edition), Ubuntu MATE, Manjaro are good and convenient for day to day use and software development.
(Or not, all it does is insult you if you type your password improperly at a sudo prompt, but computers today don't insult their users enough - And it doesn't work on MacOS X because Apple is Apple.)
I would highly encourage you to use fedora silverblue - as containerized workflows are awesome. :)
funny to see that you are making the same change i did early this year. I got a new notebook from Lenovo (sorry for that but i love the good old Thinkpad series, and they have native Linux support now too) and I use it for development under Linux .
I don't know why, but nobody is using Eclipse as IDE. I have tried it, because in the past I used Zend Studio for PHP development that is based on Eclipse, and I liked it.
So I use now Eclipse for C/C++ for cross compiling on a Ubuntu distribution and I like it since a half Year.
Once worked through the initial setup for my Projects, everything is working great. You can make debugging with GDB, GIT, and every additional thing you want is installable with additional modules from online repositories.
I don't know if you can completely switch to Linux, i did not, I have still a Macbook Pro for development and use still Windows for C# development.
But i see it as my Linux gets the same status as the two commercial operating systems, and worldwide, in my opinion, it is rising to rule the world in the future.
I am rubber, you are glue.
The only "problem", if you do not pay again, is that you will receive updates for 2 years(?), but it will work perfectly. It's a really good tool.