Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. I'm starting to really dislike Windows as a development platform

I'm starting to really dislike Windows as a development platform

Scheduled Pinned Locked Moved The Lounge
visual-studiocsharpc++java
51 Posts 25 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • H honey the codewitch

    Eww. I have standards. :laugh:

    Real programmers use butterflies

    pkfoxP Offline
    pkfoxP Offline
    pkfox
    wrote on last edited by
    #19

    :thumbsup:

    "I didn't mention the bats - he'd see them soon enough" - Hunter S Thompson - RIP

    1 Reply Last reply
    0
    • H honey the codewitch

      First of all, let me get the standard complaint out of the way about their updates causing me problems way too frequently on everything from my video to my network stack. Second, as I've coded more cross platform things in C++ these days, it has become painfully apparent to me just how proprietary Windows is designed. Apple's OS is POSIX. Unixes are POSIX. Heck, even my little ESP32 IoT devices are kinda POSIX - at least as much as they can be. This means that if I want to use sockets, I can write the same or almost the same code for each platform. Same for memory mapped files, etc. So my code has to fork specifically for Windows and only Windows. This is especially critical in C++ where there isn't a massive framework that encompasses modern OS functionality like there is with say, Java or .NET. Finally, outside of Visual Studio, their development tools are the worst. Thank you Microsoft though, for VS Code, which makes Visual Studio less important. I'm sorry, I know I'll probably get a lot of pushback for this, but on paper, in broad strokes, Microsoft's C++ compiler is a lot more standard in theory than it is in practice. Microsoft's compiler team apparently has never quite understood templates. You can't metaprogram with the thing. It won't resolve complex constexpr statements very well either. Not the way GCC and Clang can. Bottom line is I can write code that will compile on gcc or clang with a -std=C++XX option and get reliable results - the code will also compile on other compilers using that same option. I haven't figured out how to do that with Microsoft's offering. Their compiler barfs on almost everything nontrivial I've ever written using templates. Also GCC is built on the LLVM backend (which can even render to asm.js) which Microsoft has no answer for. I'll take the best compiler over the best IDE any day of the week, if I have to choose. GCC and Clang are it. I use GCC to build windows dlls and exes these days. I have more issues with it I'm sure, but I'll have to wait until the next time Windows reminds me of one. It's getting to the point where I'm looking for an excuse to leave it behind altogether. Flame away. :laugh:

      Real programmers use butterflies

      M Offline
      M Offline
      megaadam
      wrote on last edited by
      #20

      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"

      H 1 Reply Last reply
      0
      • M megaadam

        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"

        H Offline
        H Offline
        honey the codewitch
        wrote on last edited by
        #21

        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

        M 1 Reply Last reply
        0
        • H honey the codewitch

          I like to combine that with programming though. it makes maintenance fun.

          Real programmers use butterflies

          R Offline
          R Offline
          Roger Wright
          wrote on last edited by
          #22

          Sacrificing a goat sometimes helps, too, but it can get messy when there are a lot of dependencies.

          Will Rogers never met me.

          1 Reply Last reply
          0
          • H honey the codewitch

            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

            M Offline
            M Offline
            megaadam
            wrote on last edited by
            #23

            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"

            H 1 Reply Last reply
            0
            • H honey the codewitch

              First of all, let me get the standard complaint out of the way about their updates causing me problems way too frequently on everything from my video to my network stack. Second, as I've coded more cross platform things in C++ these days, it has become painfully apparent to me just how proprietary Windows is designed. Apple's OS is POSIX. Unixes are POSIX. Heck, even my little ESP32 IoT devices are kinda POSIX - at least as much as they can be. This means that if I want to use sockets, I can write the same or almost the same code for each platform. Same for memory mapped files, etc. So my code has to fork specifically for Windows and only Windows. This is especially critical in C++ where there isn't a massive framework that encompasses modern OS functionality like there is with say, Java or .NET. Finally, outside of Visual Studio, their development tools are the worst. Thank you Microsoft though, for VS Code, which makes Visual Studio less important. I'm sorry, I know I'll probably get a lot of pushback for this, but on paper, in broad strokes, Microsoft's C++ compiler is a lot more standard in theory than it is in practice. Microsoft's compiler team apparently has never quite understood templates. You can't metaprogram with the thing. It won't resolve complex constexpr statements very well either. Not the way GCC and Clang can. Bottom line is I can write code that will compile on gcc or clang with a -std=C++XX option and get reliable results - the code will also compile on other compilers using that same option. I haven't figured out how to do that with Microsoft's offering. Their compiler barfs on almost everything nontrivial I've ever written using templates. Also GCC is built on the LLVM backend (which can even render to asm.js) which Microsoft has no answer for. I'll take the best compiler over the best IDE any day of the week, if I have to choose. GCC and Clang are it. I use GCC to build windows dlls and exes these days. I have more issues with it I'm sure, but I'll have to wait until the next time Windows reminds me of one. It's getting to the point where I'm looking for an excuse to leave it behind altogether. Flame away. :laugh:

              Real programmers use butterflies

              P Offline
              P Offline
              Paul Michalik
              wrote on last edited by
              #24

              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.

              H 1 Reply Last reply
              0
              • H honey the codewitch

                First of all, let me get the standard complaint out of the way about their updates causing me problems way too frequently on everything from my video to my network stack. Second, as I've coded more cross platform things in C++ these days, it has become painfully apparent to me just how proprietary Windows is designed. Apple's OS is POSIX. Unixes are POSIX. Heck, even my little ESP32 IoT devices are kinda POSIX - at least as much as they can be. This means that if I want to use sockets, I can write the same or almost the same code for each platform. Same for memory mapped files, etc. So my code has to fork specifically for Windows and only Windows. This is especially critical in C++ where there isn't a massive framework that encompasses modern OS functionality like there is with say, Java or .NET. Finally, outside of Visual Studio, their development tools are the worst. Thank you Microsoft though, for VS Code, which makes Visual Studio less important. I'm sorry, I know I'll probably get a lot of pushback for this, but on paper, in broad strokes, Microsoft's C++ compiler is a lot more standard in theory than it is in practice. Microsoft's compiler team apparently has never quite understood templates. You can't metaprogram with the thing. It won't resolve complex constexpr statements very well either. Not the way GCC and Clang can. Bottom line is I can write code that will compile on gcc or clang with a -std=C++XX option and get reliable results - the code will also compile on other compilers using that same option. I haven't figured out how to do that with Microsoft's offering. Their compiler barfs on almost everything nontrivial I've ever written using templates. Also GCC is built on the LLVM backend (which can even render to asm.js) which Microsoft has no answer for. I'll take the best compiler over the best IDE any day of the week, if I have to choose. GCC and Clang are it. I use GCC to build windows dlls and exes these days. I have more issues with it I'm sure, but I'll have to wait until the next time Windows reminds me of one. It's getting to the point where I'm looking for an excuse to leave it behind altogether. Flame away. :laugh:

                Real programmers use butterflies

                R Offline
                R Offline
                Riz Thon
                wrote on last edited by
                #25

                I did try clang on VS some time ago when I need to compile a specific library: Clang/LLVM Support in Visual Studio | C++ Team Blog[^] . Maybe that could help.

                1 Reply Last reply
                0
                • H honey the codewitch

                  First of all, let me get the standard complaint out of the way about their updates causing me problems way too frequently on everything from my video to my network stack. Second, as I've coded more cross platform things in C++ these days, it has become painfully apparent to me just how proprietary Windows is designed. Apple's OS is POSIX. Unixes are POSIX. Heck, even my little ESP32 IoT devices are kinda POSIX - at least as much as they can be. This means that if I want to use sockets, I can write the same or almost the same code for each platform. Same for memory mapped files, etc. So my code has to fork specifically for Windows and only Windows. This is especially critical in C++ where there isn't a massive framework that encompasses modern OS functionality like there is with say, Java or .NET. Finally, outside of Visual Studio, their development tools are the worst. Thank you Microsoft though, for VS Code, which makes Visual Studio less important. I'm sorry, I know I'll probably get a lot of pushback for this, but on paper, in broad strokes, Microsoft's C++ compiler is a lot more standard in theory than it is in practice. Microsoft's compiler team apparently has never quite understood templates. You can't metaprogram with the thing. It won't resolve complex constexpr statements very well either. Not the way GCC and Clang can. Bottom line is I can write code that will compile on gcc or clang with a -std=C++XX option and get reliable results - the code will also compile on other compilers using that same option. I haven't figured out how to do that with Microsoft's offering. Their compiler barfs on almost everything nontrivial I've ever written using templates. Also GCC is built on the LLVM backend (which can even render to asm.js) which Microsoft has no answer for. I'll take the best compiler over the best IDE any day of the week, if I have to choose. GCC and Clang are it. I use GCC to build windows dlls and exes these days. I have more issues with it I'm sure, but I'll have to wait until the next time Windows reminds me of one. It's getting to the point where I'm looking for an excuse to leave it behind altogether. Flame away. :laugh:

                  Real programmers use butterflies

                  A Offline
                  A Offline
                  afigegoznaet
                  wrote on last edited by
                  #26

                  Welcome to the club :)

                  1 Reply Last reply
                  0
                  • P Paul Michalik

                    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.

                    H Offline
                    H Offline
                    honey the codewitch
                    wrote on last edited by
                    #27

                    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

                    P 1 Reply Last reply
                    0
                    • M megaadam

                      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"

                      H Offline
                      H Offline
                      honey the codewitch
                      wrote on last edited by
                      #28

                      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

                      1 Reply Last reply
                      0
                      • D DerekT P

                        If only. WUAUSERV is stopped + disabled, I set Windows Update to do as little as I can through configuration. Yet today Windows is still telling me it won't let me put off a restart any longer, it is going to restart "out of hours" regardless. I even did a manual restart this morning (after the first notification), but me restarting apparently will not cut the mustard. Half an hour after my reboot, it's telling me again that it's going to restart tonight. :wtf: X| :((

                        T Offline
                        T Offline
                        thewazz
                        wrote on last edited by
                        #29

                        If you want to delay updates, use Win Update Stop. It works (delays the inevitable, but it's up to you when.)

                        1 Reply Last reply
                        0
                        • OriginalGriffO OriginalGriff

                          It's the chicken sacrifice each time I instantiate a class that gets me ... :~

                          "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt AntiTwitter: @DalekDave is now a follower!

                          B Offline
                          B Offline
                          BryanFazekas
                          wrote on last edited by
                          #30

                          OriginalGriff wrote:

                          It's the chicken sacrifice each time I instantiate a class that gets me

                          Use a lawyer or politician. They appear to be an unlimited resource, no matter where you live, and there is no chance of an emotional attachment. Instantiate enough classes and you might win an award!

                          1 Reply Last reply
                          0
                          • H honey the codewitch

                            First of all, let me get the standard complaint out of the way about their updates causing me problems way too frequently on everything from my video to my network stack. Second, as I've coded more cross platform things in C++ these days, it has become painfully apparent to me just how proprietary Windows is designed. Apple's OS is POSIX. Unixes are POSIX. Heck, even my little ESP32 IoT devices are kinda POSIX - at least as much as they can be. This means that if I want to use sockets, I can write the same or almost the same code for each platform. Same for memory mapped files, etc. So my code has to fork specifically for Windows and only Windows. This is especially critical in C++ where there isn't a massive framework that encompasses modern OS functionality like there is with say, Java or .NET. Finally, outside of Visual Studio, their development tools are the worst. Thank you Microsoft though, for VS Code, which makes Visual Studio less important. I'm sorry, I know I'll probably get a lot of pushback for this, but on paper, in broad strokes, Microsoft's C++ compiler is a lot more standard in theory than it is in practice. Microsoft's compiler team apparently has never quite understood templates. You can't metaprogram with the thing. It won't resolve complex constexpr statements very well either. Not the way GCC and Clang can. Bottom line is I can write code that will compile on gcc or clang with a -std=C++XX option and get reliable results - the code will also compile on other compilers using that same option. I haven't figured out how to do that with Microsoft's offering. Their compiler barfs on almost everything nontrivial I've ever written using templates. Also GCC is built on the LLVM backend (which can even render to asm.js) which Microsoft has no answer for. I'll take the best compiler over the best IDE any day of the week, if I have to choose. GCC and Clang are it. I use GCC to build windows dlls and exes these days. I have more issues with it I'm sure, but I'll have to wait until the next time Windows reminds me of one. It's getting to the point where I'm looking for an excuse to leave it behind altogether. Flame away. :laugh:

                            Real programmers use butterflies

                            K Offline
                            K Offline
                            KateAshman
                            wrote on last edited by
                            #31

                            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++.

                            H 1 Reply Last reply
                            0
                            • H honey the codewitch

                              First of all, let me get the standard complaint out of the way about their updates causing me problems way too frequently on everything from my video to my network stack. Second, as I've coded more cross platform things in C++ these days, it has become painfully apparent to me just how proprietary Windows is designed. Apple's OS is POSIX. Unixes are POSIX. Heck, even my little ESP32 IoT devices are kinda POSIX - at least as much as they can be. This means that if I want to use sockets, I can write the same or almost the same code for each platform. Same for memory mapped files, etc. So my code has to fork specifically for Windows and only Windows. This is especially critical in C++ where there isn't a massive framework that encompasses modern OS functionality like there is with say, Java or .NET. Finally, outside of Visual Studio, their development tools are the worst. Thank you Microsoft though, for VS Code, which makes Visual Studio less important. I'm sorry, I know I'll probably get a lot of pushback for this, but on paper, in broad strokes, Microsoft's C++ compiler is a lot more standard in theory than it is in practice. Microsoft's compiler team apparently has never quite understood templates. You can't metaprogram with the thing. It won't resolve complex constexpr statements very well either. Not the way GCC and Clang can. Bottom line is I can write code that will compile on gcc or clang with a -std=C++XX option and get reliable results - the code will also compile on other compilers using that same option. I haven't figured out how to do that with Microsoft's offering. Their compiler barfs on almost everything nontrivial I've ever written using templates. Also GCC is built on the LLVM backend (which can even render to asm.js) which Microsoft has no answer for. I'll take the best compiler over the best IDE any day of the week, if I have to choose. GCC and Clang are it. I use GCC to build windows dlls and exes these days. I have more issues with it I'm sure, but I'll have to wait until the next time Windows reminds me of one. It's getting to the point where I'm looking for an excuse to leave it behind altogether. Flame away. :laugh:

                              Real programmers use butterflies

                              T Offline
                              T Offline
                              Thornik
                              wrote on last edited by
                              #32

                              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++.

                              H 1 Reply Last reply
                              0
                              • T Thornik

                                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++.

                                H Offline
                                H Offline
                                honey the codewitch
                                wrote on last edited by
                                #33

                                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

                                1 Reply Last reply
                                0
                                • K KateAshman

                                  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++.

                                  H Offline
                                  H Offline
                                  honey the codewitch
                                  wrote on last edited by
                                  #34

                                  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

                                  K 1 Reply Last reply
                                  0
                                  • H honey the codewitch

                                    First of all, let me get the standard complaint out of the way about their updates causing me problems way too frequently on everything from my video to my network stack. Second, as I've coded more cross platform things in C++ these days, it has become painfully apparent to me just how proprietary Windows is designed. Apple's OS is POSIX. Unixes are POSIX. Heck, even my little ESP32 IoT devices are kinda POSIX - at least as much as they can be. This means that if I want to use sockets, I can write the same or almost the same code for each platform. Same for memory mapped files, etc. So my code has to fork specifically for Windows and only Windows. This is especially critical in C++ where there isn't a massive framework that encompasses modern OS functionality like there is with say, Java or .NET. Finally, outside of Visual Studio, their development tools are the worst. Thank you Microsoft though, for VS Code, which makes Visual Studio less important. I'm sorry, I know I'll probably get a lot of pushback for this, but on paper, in broad strokes, Microsoft's C++ compiler is a lot more standard in theory than it is in practice. Microsoft's compiler team apparently has never quite understood templates. You can't metaprogram with the thing. It won't resolve complex constexpr statements very well either. Not the way GCC and Clang can. Bottom line is I can write code that will compile on gcc or clang with a -std=C++XX option and get reliable results - the code will also compile on other compilers using that same option. I haven't figured out how to do that with Microsoft's offering. Their compiler barfs on almost everything nontrivial I've ever written using templates. Also GCC is built on the LLVM backend (which can even render to asm.js) which Microsoft has no answer for. I'll take the best compiler over the best IDE any day of the week, if I have to choose. GCC and Clang are it. I use GCC to build windows dlls and exes these days. I have more issues with it I'm sure, but I'll have to wait until the next time Windows reminds me of one. It's getting to the point where I'm looking for an excuse to leave it behind altogether. Flame away. :laugh:

                                    Real programmers use butterflies

                                    S Offline
                                    S Offline
                                    Shawn Eary May2021
                                    wrote on last edited by
                                    #35

                                    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

                                    H 1 Reply Last reply
                                    0
                                    • H honey the codewitch

                                      First of all, let me get the standard complaint out of the way about their updates causing me problems way too frequently on everything from my video to my network stack. Second, as I've coded more cross platform things in C++ these days, it has become painfully apparent to me just how proprietary Windows is designed. Apple's OS is POSIX. Unixes are POSIX. Heck, even my little ESP32 IoT devices are kinda POSIX - at least as much as they can be. This means that if I want to use sockets, I can write the same or almost the same code for each platform. Same for memory mapped files, etc. So my code has to fork specifically for Windows and only Windows. This is especially critical in C++ where there isn't a massive framework that encompasses modern OS functionality like there is with say, Java or .NET. Finally, outside of Visual Studio, their development tools are the worst. Thank you Microsoft though, for VS Code, which makes Visual Studio less important. I'm sorry, I know I'll probably get a lot of pushback for this, but on paper, in broad strokes, Microsoft's C++ compiler is a lot more standard in theory than it is in practice. Microsoft's compiler team apparently has never quite understood templates. You can't metaprogram with the thing. It won't resolve complex constexpr statements very well either. Not the way GCC and Clang can. Bottom line is I can write code that will compile on gcc or clang with a -std=C++XX option and get reliable results - the code will also compile on other compilers using that same option. I haven't figured out how to do that with Microsoft's offering. Their compiler barfs on almost everything nontrivial I've ever written using templates. Also GCC is built on the LLVM backend (which can even render to asm.js) which Microsoft has no answer for. I'll take the best compiler over the best IDE any day of the week, if I have to choose. GCC and Clang are it. I use GCC to build windows dlls and exes these days. I have more issues with it I'm sure, but I'll have to wait until the next time Windows reminds me of one. It's getting to the point where I'm looking for an excuse to leave it behind altogether. Flame away. :laugh:

                                      Real programmers use butterflies

                                      R Offline
                                      R Offline
                                      Rusty Bullet
                                      wrote on last edited by
                                      #36

                                      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??

                                      H 1 Reply Last reply
                                      0
                                      • S Shawn Eary May2021

                                        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

                                        H Offline
                                        H Offline
                                        honey the codewitch
                                        wrote on last edited by
                                        #37

                                        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. :-D

                                        Real programmers use butterflies

                                        1 Reply Last reply
                                        0
                                        • R Rusty Bullet

                                          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??

                                          H Offline
                                          H Offline
                                          honey the codewitch
                                          wrote on last edited by
                                          #38

                                          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

                                          R 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups