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

    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
    Steve Naidamast
    wrote on last edited by
    #40

    The grass is always greener on the other side, isn't it?

    Steve Naidamast Sr. Software Engineer Black Falcon Software, Inc. blackfalconsoftware@outlook.com

    1 Reply Last reply
    0
    • H honey the codewitch

      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 Offline
      K Offline
      KateAshman
      wrote on last edited by
      #41

      I sense a strong reluctance to use VS Code and Visual Studio side-by-side. :-D 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.

      H 1 Reply Last reply
      0
      • R Rusty Bullet

        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.

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

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

        1 Reply Last reply
        0
        • K KateAshman

          I sense a strong reluctance to use VS Code and Visual Studio side-by-side. :-D 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.

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

          That's because I don't have a reason for it.

          Real programmers use butterflies

          1 Reply Last reply
          0
          • R Rusty Bullet

            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.

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

            I've been hesitant to buy Apple. I was an unfortunate owner of the ill fated Apple ][gs which I learned to code on back in 1986. They abandoned that $2000 (in 1986 money!) machine less than a year after they released it. Hardly anyone wrote software for it after that. Basically I've been boycotting them since. I haven't bought a single apple product except one ipod nano thing that I only bought because someone i love dearly basically begged me for it. So for me to reconsider going back to Apple is ... it's existential stuff. :laugh:

            Real programmers use butterflies

            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
              stephen hazel
              wrote on last edited by
              #45

              I've finished really disliking Windows as a development platform. Ya got nothin but agreement n sympathy from me. For me, Qt held all the answers. Nearly all my hobby things run on linuxes now. And it was easy. For job coding, you'll still need all the junk of course.

              H 1 Reply Last reply
              0
              • S stephen hazel

                I've finished really disliking Windows as a development platform. Ya got nothin but agreement n sympathy from me. For me, Qt held all the answers. Nearly all my hobby things run on linuxes now. And it was easy. For job coding, you'll still need all the junk of course.

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

                Honestly, I'm glad I've had no need for Qt. I don't want to learn another GUI system. X|

                Real programmers use butterflies

                S 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
                  SeattleC
                  wrote on last edited by
                  #47

                  Visual C++ implements a fussier read of the standard language than does gcc or clang. VC++ excepts a slightly different language for templates than does gcc. I can't say which is right. I've never had any trouble writing my own template stuff, but it may barf on gcc template code. VC++ does (or did?) require more frequent use of the typename keyword than gcc. In VC++, constexpr expressions have to be assigned to constexpr variables to get compile-time evaluation. The standard contains ambiguity on this point. Clang is more likely to evaluate functions at compile time than VC++ is.

                  H 1 Reply Last reply
                  0
                  • S SeattleC

                    Visual C++ implements a fussier read of the standard language than does gcc or clang. VC++ excepts a slightly different language for templates than does gcc. I can't say which is right. I've never had any trouble writing my own template stuff, but it may barf on gcc template code. VC++ does (or did?) require more frequent use of the typename keyword than gcc. In VC++, constexpr expressions have to be assigned to constexpr variables to get compile-time evaluation. The standard contains ambiguity on this point. Clang is more likely to evaluate functions at compile time than VC++ is.

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

                    Thank you for that. It explains a lot.

                    Real programmers use butterflies

                    1 Reply Last reply
                    0
                    • H honey the codewitch

                      Honestly, I'm glad I've had no need for Qt. I don't want to learn another GUI system. X|

                      Real programmers use butterflies

                      S Offline
                      S Offline
                      stephen hazel
                      wrote on last edited by
                      #49

                      but is there another gui system on linux? isn't it just gtk or qt? pretty sure qt > gtk and while qt mayyy be < c#'s gui... it's def > win32 api :)

                      1 Reply Last reply
                      0
                      • H honey the codewitch

                        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 Offline
                        P Offline
                        Paul Michalik
                        wrote on last edited by
                        #50

                        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?

                        H 1 Reply Last reply
                        0
                        • P Paul Michalik

                          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?

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

                          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

                          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