|
yep. this is what cross-platform programming is all about - writing for the Least Common Denominator.
for extra fun, throw in AIX, HPUX and a couple of versions of Solaris (especially the one that doesn't recognize 'namespace')
|
|
|
|
|
Eww. I have standards.
Real programmers use butterflies
|
|
|
|
|
"I didn't mention the bats - he'd see them soon enough" - Hunter S Thompson - RIP
|
|
|
|
|
TBH I am quite surprised that an über-techy coder like like you has not gone Linux, ages ago. vscode+Linux worx like a charm.
"If we don't change direction, we'll end up where we're going"
|
|
|
|
|
I'm in the northwest. it's microsoft territory up here and that's how i made my bones. so i guess maybe it's inertia that keeps me using it? There are some must have apps I run though that aren't available for other operating systems.
Real programmers use butterflies
|
|
|
|
|
You can run those apps on Linux too: Opensource.com[^]
...or you could create a file-share, and access your Windows-box over remote desktop.
Linux does lack some nifty GUI tools e.g. like the ones that came out of Sysinternals, but the command-line tools provide all such info. The command-line is an acquired taste, I daresay.
For me the transition started at work. Everything we do there runs on Linux servers, every dev uses Linux, for over a year I stubbornly stuck to Visual Studio with Samba-mounts and what not, and ofc I could not use the VS debugger. (For debugging I logged into the Linux env and used dbg, on the command-line, but that is another story.) So in the end I went "eff it" and now I run Linux. At home I code on Linux too now, and I never looked back. I still have an old 12-core Windows-monster sitting in a closet. I use that remotely, for chess analysis only.
Nudge nudge.
"If we don't change direction, we'll end up where we're going"
|
|
|
|
|
I ran linux for several years until I finally got tired of it eating my MBR whenever it updated GRUB making my machine unbootable. EVERY. TIME.
I'll never run it as a host OS again. I prefer reliable operating systems, thanks.
I'll probably go with an apple, TBH
Real programmers use butterflies
|
|
|
|
|
I can't confirm that. Cross platform development work flawlessly once you start to use CMake amd vcpckg properly and work with generated solutions in Visual Studio. I write, test, debug and profile inside Visual Studio and run testsuites and benchmarks on other platforms in Docker. No problems at all. Everything is a breeze compared to other development platforms - which are close to masochism vim based editing.
|
|
|
|
|
Yeah, but if you're using MSVC then no. Just no.
I'd rather gouge out my own eyes than rely on what microsoft thinks is C++ again.
Real programmers use butterflies
|
|
|
|
|
Ehm, that is simply not true. Unless you are targeting expertimental features from C++23 or similar there is very little left to complain about. What specifically are you missing?
|
|
|
|
|
This was already hashed out elsewhere on this thread, and forgive me for being loath to repeat it again. It's around here somewhere if you want to chime in there, otherwise we're just re-covering lengthy ground.
Real programmers use butterflies
|
|
|
|
|
|
Welcome to the club
|
|
|
|
|
You're not using CLANG and Visual Studio, that's your problem.
Since CLANG support arrived, I honestly don't know anyone who still used MS C++.
|
|
|
|
|
I don't need visual studio for C++ anymore. VS code is better, frankly, because of its support for so many different file formats by way of extensions, which I often need while doing real world projects in C++.
Real programmers use butterflies
|
|
|
|
|
I sense a strong reluctance to use VS Code and Visual Studio side-by-side.
Honestly, I do back-end in Visual Studio, just to get IntelliSense, as that alone saves me about an hour each day.
Front-end in VS Code for the extensions.
If I need to find something in the code, I forgo both and use the online repo-search in Azure-DevOps.
|
|
|
|
|
That's because I don't have a reason for it.
Real programmers use butterflies
|
|
|
|
|
If POSIX was so big deal, we didn't have to have all those compilation problems! EVERY single package under Linux even between linuxes cannot be compiled w/o issues. And that I speak about SAME COMPUTER(!) - same CPU/arch etc. So don't say "POSIX", it means nothing.
Windows is a separate platform, it never tried to be compatible with anything. Yes, Windows also have sockets! Moreover - we have IIS under Windows Server! And hell... nobody complained before "sockets under Windows is something unusable/inconvenient/clumsy".
Just drop your ridiculous C++ and use C#, Nemerle, D, lot of 'em! Even Ruby is way better than C++.
|
|
|
|
|
I don't have your compilation problems with POSIX. Maybe the problem is your code?
As far as dropping C++ for C#, yeah no. I use both.
C# will not run well on an ESP32. Will not run on an ATmega2560, nor will it run on most of my ARM devices.
Your holy rolling won't serve you well as a developer. Just sayin'
Real programmers use butterflies
modified 19-May-21 9:11am.
|
|
|
|
|
The only big thing I have against GNU\Linux is that it names it's background drivers daemons. This drive me nuts. I wish they would stop that and name them services.
I agree, I'm a former .NET Developer and I've been booting into Debian 10 lately because a client of mine wants me to work with Node.js. Debian 10 boots faster and seems to have better tools for Node.js development. Also, my hard drive isn't getting constantly hit up like it seems to have been in Windows 10 Version 2004. I also don't get hit with stupid updates. Debian tends to update quickly when it does and it often shuts down fast; however, I need the Global Protect client from Palo Alto for work and the GP client stinks in GNU\Linux. It barely works...
I still believe that C# and .NET Core are the most efficient ways to create Line of Business applications for businesses that are maybe a 1/10 of the size or Walmart or smaller, but yeah, I think you are right about bloat in MS Windows and a maybe flaky Microsoft C++ compiler implementation. I have almost no non-trivial experience with it but DirectX12 is an absolute nightmare BTW. I'm thinking I should have tried to learn Unity, Vulkan or OpenGL. From my experience OpenGL is really reliable even if ASIO and DirectAudio might be better for latency than ALSA. Don't get me wrong, JACK has unlimited potential, but I've had issues with low-latency audio programs in GNU\Linux distros. In general, high performance DAWs and audio programs like Cubase and Emulator X seem to work better in MS Windows. Strangely, however, an older Direct X game Falcon 4 runs faster in Steam Proton (Wine Layer on GNU\Linux) than its does on Windows 10. There's something wrong with that... Also, Steam Overload seems to perform better in Steam OS than it does in Windows 10 while Civilization V seems to perform worse in Steam OS than Win 10 and Civilization 6 seems to do about the same in Win 10 as it does in Debian on Steam with the nVidia proprietary drivers for GeForce GTX 710.
Another thing that really bits my hide about MS Windows is that I recently had two hard drives crash on me and I lost some family pictures. I have not yet put them in the freezer in a desperate effort to try to get the data back or send them off to data recovery services. The *other* parent of my children should have a back up, but she is not cooperating... GNU\Linux game me some warning that the drives were about to fail by reporting bad sectors. No where did I see Windows 10 2004 report any of that to me other than an occasional chkdsk error. I didn't even get a SMART warning from the OS. Had I been using Debian back then, I might have noticed the problem earlier. I even downloaded the Segate tools and they did let me know about bad SMART status of one of the drives but they didn't report the bad sectors. This is absurd. GNU\Linux reported the bad sectors. Anyway, *one* of the drives I expected to fail and I had most of the data off. The other drive I did *not* expect to fail and while GNU\Linux game me some warning from Gnome Disk, Windows 10 seriously let me down...
Windows 10 just seems to have issue and I'm thinking it's best suited for things like Cubase that don't run correctly on GNU\Linux. It's clearly obvious that high performance gaming can be done on GNU\Linux maybe even better than Windows 10. The audio thing could be fixes also but the market hasn't concentrated on it.
They just need to rename the GNU\Linux background drivers from daemons to services and I will be cool
Gotta get to my day job.
Sorry for the partially irrelevant rant and imminent grammar errors. I don't have time to fix them right now.
Best,
Shawn
|
|
|
|
|
DAWs, Falcon 4, ASIO, etc - you clicked all my buttons. I like you.
I use FL Studio, for the record. It's a weird DAW, but then I'm a weird human.
Real programmers use butterflies
|
|
|
|
|
No flames. Venting can be very helpful. I do have a question though. Do you have an alternate platform you wish you were developing on??
|
|
|
|
|
I'm starting to consider a *gasp* Apple machine.
I've had some serious stability problems - like my machine failing to boot - with Linux across multiple years and machines to the point where I won't run it as a primary OS anymore.
Apple's OS is POSIX based, essentially a *nix core, with closed loop development and matching hardware that should in theory increase its stability.
And if not Apple, then I'm not sure. Windows 7 with Linux in a VM? (i've never had issues with Linux running in a VM)
Real programmers use butterflies
|
|
|
|
|
I started as a Mac programmer and loved the proprietary and super stable software. Apple worked hard on the user interface and it is a shame that it was never adopted by Apple and others. Although the beast has changed, and I have given in to the 'dark side' of Windows development, there is still a soft spot in my heart for the Mac.
If you go that way, keep the information valve open on how it works for you.
|
|
|
|
|
I started as a Linux developer and after 10 years I switched to Windows 8.1 for quality reasons.
With Windows 10 natively supporting the Ubuntu shell, I'm pretty much set for life, as I can now build hybrid Windows/Debian toolchains, and prototype every combination I can think of.
One time, I tried developing on a Mac Book Pro.
The lack of configuration setting infuriates me.
|
|
|
|