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. Why isn't C# more popular?

Why isn't C# more popular?

Scheduled Pinned Locked Moved The Lounge
questioncsharpc++javaregex
67 Posts 42 Posters 2 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.
  • C Chris Losinger

    because it's an MS product.

    B Offline
    B Offline
    BillWoodruff
    wrote on last edited by
    #31

    cue: sound of Alexander cutting the Gordian Knot :omg:

    «One day it will have to be officially admitted that what we have christened reality is an even greater illusion than the world of dreams.» Salvador Dali

    1 Reply Last reply
    0
    • P Patrick Skelton

      I've experimented with a lot of languages over the years and delivered production code in at least a handful. Of all, I find C# to be the most genial. It has syntax close enough to C/C++ not to alienate those programmers, has plenty of high-level stuff to keep users of languages such as Java happy, and these days has good performance and is open and cross-platform. The only thing I hate about it is the terrible 'destructor' pattern, which you can ignore most of the time. Despite all of this, I rarely if ever read a headline that says C# is gaining in popularity. There's no point in getting into too many syntax specifics because that would be a never-ending discussion but why does it fail to hit the spot with so many developers and companies?

      Thank you to anyone taking the time to read my posts.

      R Offline
      R Offline
      Reelix
      wrote on last edited by
      #32

      Using one of Microsoft's user-friendly Web wrappers, pull the text from a 404 page. EG: Use WebClient / HttpClient / Etc to pull the

      Do not try and find the page. That’s impossible. Instead only try to realise the truth

      text from https://www.codeproject.com/woof/index.aspx[^] To follow best practices, only use exceptions when there is an error you are not expecting. I'm all for C#, but it does have its issues.

      -= Reelix =-

      P 1 Reply Last reply
      0
      • P PIEBALDconsult

        It's too old now. Still my current go-to language, but it's been twenty years.

        P Offline
        P Offline
        Patrick Skelton
        wrote on last edited by
        #33

        Takes me 20 years to learn a language! :confused:

        Thank you to anyone taking the time to read my posts.

        1 Reply Last reply
        0
        • R Reelix

          Using one of Microsoft's user-friendly Web wrappers, pull the text from a 404 page. EG: Use WebClient / HttpClient / Etc to pull the

          Do not try and find the page. That’s impossible. Instead only try to realise the truth

          text from https://www.codeproject.com/woof/index.aspx[^] To follow best practices, only use exceptions when there is an error you are not expecting. I'm all for C#, but it does have its issues.

          -= Reelix =-

          P Offline
          P Offline
          Patrick Skelton
          wrote on last edited by
          #34

          Part II of the cutting of my programming teeth was in the video game world, using C++, where the rule was that exceptions are very much last-resort, only for events that should not happen and are generally unrecoverable, at least without some kind of restart. One thing I have often found difficult in C# is trying to avoid exceptions. Even when I have tried to do exceptions properly and catch the correct type etc., I find the program gets worse, not better, because, without looking up every single API call, you never know what exceptions might be thrown. Addiction recovery begins with admission so I will now admit here that I usually end with a catch( Exception ) {}. To me, in a language, it is as if you need one of two things: either a slimline composite return type that encapsulates any return value and also some kind of error indication (I know - dangerously close to the error return codes of old Win32 programming); or you need two basic types of exception - real ones that should ideally never happen, and a more everyday exception meaning, "Something has gone wrong in my code so don't continue using this value I am about to return to you."

          Thank you to anyone taking the time to read my posts.

          1 Reply Last reply
          0
          • V V 0

            Good points. 1. true, but you can do unmanaged stuff in C# and you can interface fairly easy with any C++ components 2. I disagree here. The investment can be done over time and #1 could help here. Is there a cost, absolutely, but far less then migrating to completely other tools. 3. Can you give examples? Most libraries are as easy or as difficult as in any other language, it more depends on who made the libraries. The C# framework itself is well documented and well supported. What's holding C# back is, I think (no expert) the lack of support in devices like TV's, phones, tablets or other platforms (macOS/Linux) and therefore cross-platform integrations.

            V.

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

            It's also valid in the opposite direction: with some time invested you can do the job in C++, which is a more performant language, that has it's own huge collection of (mostly) cross-platform libraries. I would also add to the list of issues the lack of compatibility between different .net versions.

            T 1 Reply Last reply
            0
            • P Patrick Skelton

              I've experimented with a lot of languages over the years and delivered production code in at least a handful. Of all, I find C# to be the most genial. It has syntax close enough to C/C++ not to alienate those programmers, has plenty of high-level stuff to keep users of languages such as Java happy, and these days has good performance and is open and cross-platform. The only thing I hate about it is the terrible 'destructor' pattern, which you can ignore most of the time. Despite all of this, I rarely if ever read a headline that says C# is gaining in popularity. There's no point in getting into too many syntax specifics because that would be a never-ending discussion but why does it fail to hit the spot with so many developers and companies?

              Thank you to anyone taking the time to read my posts.

              M Offline
              M Offline
              Martin ISDN
              wrote on last edited by
              #36

              why isn't Microsoft more popular? 1. C# is a feature language. they constantly add new features. although this seems the only way for a language, for me it's the least preferable. i adore languages that have a mission to fulfill and that's it. the creators of those languages had to make compromises upfront. C (portable assembly) is one such language. LISP, Lua, Go, Component Pascal, TCL, FORTH... all small languages. 2. i don't know if this is 100% true, but i bet that C#'s philosophy at the time of it's inception, was same as Java's. only OOP is good, everything else is inferior. for me that's like what Hitler used to preach. I fear not the man who has practiced 10,000 kicks once, but I fear the man who has practiced one kick 10,000 times. Bruce Lee

              P 1 Reply Last reply
              0
              • M Martin ISDN

                why isn't Microsoft more popular? 1. C# is a feature language. they constantly add new features. although this seems the only way for a language, for me it's the least preferable. i adore languages that have a mission to fulfill and that's it. the creators of those languages had to make compromises upfront. C (portable assembly) is one such language. LISP, Lua, Go, Component Pascal, TCL, FORTH... all small languages. 2. i don't know if this is 100% true, but i bet that C#'s philosophy at the time of it's inception, was same as Java's. only OOP is good, everything else is inferior. for me that's like what Hitler used to preach. I fear not the man who has practiced 10,000 kicks once, but I fear the man who has practiced one kick 10,000 times. Bruce Lee

                P Offline
                P Offline
                Patrick Skelton
                wrote on last edited by
                #37

                Don't they continually add to C++? After a few years break, I recently returned to C++ and could barely read what I was seeing. There's truth in what you say and obviously you have an absolute right to your opinion but I honestly think some people justifiably decided to hate Microsoft in the late 90s and have never looked again.

                Thank you to anyone taking the time to read my posts.

                M 1 Reply Last reply
                0
                • P Patrick Skelton

                  I've experimented with a lot of languages over the years and delivered production code in at least a handful. Of all, I find C# to be the most genial. It has syntax close enough to C/C++ not to alienate those programmers, has plenty of high-level stuff to keep users of languages such as Java happy, and these days has good performance and is open and cross-platform. The only thing I hate about it is the terrible 'destructor' pattern, which you can ignore most of the time. Despite all of this, I rarely if ever read a headline that says C# is gaining in popularity. There's no point in getting into too many syntax specifics because that would be a never-ending discussion but why does it fail to hit the spot with so many developers and companies?

                  Thank you to anyone taking the time to read my posts.

                  J Offline
                  J Offline
                  johnnyys
                  wrote on last edited by
                  #38

                  that's a good question, I still use it quite often in my work. I'm working on my own streaming service right now. I found useful info about streaming service like netflix here and decided to give it a try. This article could be useful for beginners.

                  1 Reply Last reply
                  0
                  • P Patrick Skelton

                    Don't they continually add to C++? After a few years break, I recently returned to C++ and could barely read what I was seeing. There's truth in what you say and obviously you have an absolute right to your opinion but I honestly think some people justifiably decided to hate Microsoft in the late 90s and have never looked again.

                    Thank you to anyone taking the time to read my posts.

                    M Offline
                    M Offline
                    Martin ISDN
                    wrote on last edited by
                    #39

                    that is a huge problem and i can't understand why it is happening. imagine you know C++, JavaScript and say Rust. you work at a company. large scale project that involves all three languages or at least two. 6 years latter you leave this company and go to work on a fresh new project at a new company. once again it involves C++, JS and Rust or at least two of them. so now, because there were C++ x20 and C++ 2023, ECMAScript 2019..2025 and Rust 3.x 4.x and the newest Rust 2025 (they will change it to some other naming version) you don't know any of the languages you have worked with for the last 6 years in continuation. a common book on good programming practices is on average 400-500 pages, but the core stuff would be 200 pages. those good programming practices that will make a competitive programmer write better code in FORTRAN and COBOL that a beginner in the safest programming langue in the world. how do we get from 200 pages of good programming advice to a stream of a dozen languages that endlessly evolve every year? "justifiably decided to hate Microsoft in the late 90s and have never looked again." C# was designed by Anders Hejlsberg of Borland. the creator of Turbo Pascal and Delphi. Microsoft destroyed Borland and many many other companies so they can give away money for charity? instead of giving away money for charity they could have taken away less from other companies. nothing i say is against you or your opinion. it is only my opinion. i don't like C# because it is class oriented and because it is from Microsoft.

                    1 Reply Last reply
                    0
                    • R Rick York

                      Microsoft seems to think they are. They also seem to think that deleting what you allocate is far too much to ask of programmers.

                      "They have a consciousness, they have a life, they have a soul! Damn you! Let the rabbits wear glasses! Save our brothers! Can I get an amen?"

                      T Offline
                      T Offline
                      tcruse
                      wrote on last edited by
                      #40

                      Yes, deleting allocated objects is one of the places that find lots of bugs. Many of these bugs become very difficult to track down. Slow memory leakage is something that eats up lots of support time and turns off many customers.

                      R 1 Reply Last reply
                      0
                      • A afigegoznaet

                        It's also valid in the opposite direction: with some time invested you can do the job in C++, which is a more performant language, that has it's own huge collection of (mostly) cross-platform libraries. I would also add to the list of issues the lack of compatibility between different .net versions.

                        T Offline
                        T Offline
                        tcruse
                        wrote on last edited by
                        #41

                        Maybe. The idea that c++ is highly efficient comes from the fact that c is. However, if using many of the features of c++ can make a c++ application take more memory and run slower than a managed language. With the advent of dotNet Core 5.0, the performance and the cross platform issue mainly becomes moot. The only real thing lacking is WinForms for non-windows environments. The wpf approach has some advantages for gaming and graphic applications. It however, fails when it comes to line-of-business class of applications that fund most development. My question would be why do people still think Java (or its cousins like Kotlin) make sense. My take is that there is still a culture that is anti-Microsoft.

                        W A 2 Replies Last reply
                        0
                        • W W Balboos GHB

                          CodeWraith wrote:

                          Too much comfort makes programmers ignorant and lazy.

                          In different words I've said the same thing for years. Pointer, namespaces, enumerations, everything all use the dot-separator. For those who don't know better, meaning those who learned this with C/C++ first, they are all the same. They look the same, don't they? Double colons and -> ? They're not so terribly hard to type and keep one informed of what the hell's going on.

                          Ravings en masse^

                          "The difference between genius and stupidity is that genius has its limits." - Albert Einstein

                          "If you are searching for perfection in others, then you seek disappointment. If you seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010

                          G Offline
                          G Offline
                          GerVenson
                          wrote on last edited by
                          #42

                          Well ... with the new C# version, at least pointer will come back just for you ;-)

                          W 1 Reply Last reply
                          0
                          • G GerVenson

                            Well ... with the new C# version, at least pointer will come back just for you ;-)

                            W Offline
                            W Offline
                            W Balboos GHB
                            wrote on last edited by
                            #43

                            And, after enough versions and upgrades, you may even finally be back to C++ One can only hope.

                            Ravings en masse^

                            "The difference between genius and stupidity is that genius has its limits." - Albert Einstein

                            "If you are searching for perfection in others, then you seek disappointment. If you seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010

                            1 Reply Last reply
                            0
                            • T tcruse

                              Maybe. The idea that c++ is highly efficient comes from the fact that c is. However, if using many of the features of c++ can make a c++ application take more memory and run slower than a managed language. With the advent of dotNet Core 5.0, the performance and the cross platform issue mainly becomes moot. The only real thing lacking is WinForms for non-windows environments. The wpf approach has some advantages for gaming and graphic applications. It however, fails when it comes to line-of-business class of applications that fund most development. My question would be why do people still think Java (or its cousins like Kotlin) make sense. My take is that there is still a culture that is anti-Microsoft.

                              W Offline
                              W Offline
                              W Balboos GHB
                              wrote on last edited by
                              #44

                              tcruse wrote:

                              My take is that there is still a culture that is anti-Microsoft

                              Now how on earth could such a culture develop? A mystery in a conundrum. (or something related to how they treat their customers - like releasing defective software since as long ago as DOS 6.0)
                              [edit] I had misspelled DOS (believe it or not)[/edit]

                              Ravings en masse^

                              "The difference between genius and stupidity is that genius has its limits." - Albert Einstein

                              "If you are searching for perfection in others, then you seek disappointment. If you seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010

                              1 Reply Last reply
                              0
                              • D Daniel Pfeffer

                                My $0.02: 1. For all its advantages, C#, like Java, is unsuited to system-level programming. The kernel in both Windows and Linux is programmed in C and ASM. 2. Many organizations have an investment in C and C++ code. Conversion to C# would require a major investment. Note that this is also one of the reasons that companies keep using Cobol, so I don't see this changing in the near future. 3. C# does have a serious learning curve - not for the language, but for its libraries. If you have learnt to do things in C or C++, converting to C# is far from simple.

                                Freedom is the freedom to say that two plus two make four. If that is granted, all else follows. -- 6079 Smith W.

                                T Offline
                                T Offline
                                Tomz_KV
                                wrote on last edited by
                                #45

                                agree.

                                TOMZ_KV

                                1 Reply Last reply
                                0
                                • T tcruse

                                  Maybe. The idea that c++ is highly efficient comes from the fact that c is. However, if using many of the features of c++ can make a c++ application take more memory and run slower than a managed language. With the advent of dotNet Core 5.0, the performance and the cross platform issue mainly becomes moot. The only real thing lacking is WinForms for non-windows environments. The wpf approach has some advantages for gaming and graphic applications. It however, fails when it comes to line-of-business class of applications that fund most development. My question would be why do people still think Java (or its cousins like Kotlin) make sense. My take is that there is still a culture that is anti-Microsoft.

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

                                  The idea that C++ is highly efficient comes from the zero cost abstraction design, not from anything else. Besides, performance is not everything, languages like C and C++ can offer deterministic execution time as well as object lifetime, stuff that is impossible with managed languages by design, which make them a poor choice for system programming. The fact that NetCore doesn't support WinForms, makes C# a poor choice for cross-platform GUI application development as well, so it ends up being a niche platform for people who find themselves in need to program on Linux but don't want to learn anything besides C#. "However, if using many of the features of c++ can make a c++ application take more memory and run slower than a managed language." Really? you have an example?

                                  1 Reply Last reply
                                  0
                                  • P Patrick Skelton

                                    I've experimented with a lot of languages over the years and delivered production code in at least a handful. Of all, I find C# to be the most genial. It has syntax close enough to C/C++ not to alienate those programmers, has plenty of high-level stuff to keep users of languages such as Java happy, and these days has good performance and is open and cross-platform. The only thing I hate about it is the terrible 'destructor' pattern, which you can ignore most of the time. Despite all of this, I rarely if ever read a headline that says C# is gaining in popularity. There's no point in getting into too many syntax specifics because that would be a never-ending discussion but why does it fail to hit the spot with so many developers and companies?

                                    Thank you to anyone taking the time to read my posts.

                                    M Offline
                                    M Offline
                                    MikeCO10
                                    wrote on last edited by
                                    #47

                                    I think there's a few reasons. 1) In VS, it's a go to language for desktop development, yes and sorry, there are tens of thousands of those in use every day. No need for cross platform, ever. While it's still a substantial market, it has been eclipsed by cross platform stuff. I know it's fully capable of that, but you start to lose the advantage of the language in a hurry. 2) To my first case point above, there's also a split between vb.net and C# that dilutes the usage. (Fire away!) Being bilingual, those translations back and forth are pretty easy in the .net environment. Yes, I know the differences but over the years there's a lot of parity and you may never hit a wall in vb.net that is solved in C# in real world apps. 3) Without a good reason, you're not going to move from C/C++ to C#. You might if find yourself in a RAD desktop scenario, but you're probably not chasing that world if it's out of your comfort zone. 4) Programming has matured some into more of a profession. Your eye doctor doesn't see some new ortho procedure and think; "hey, I'll be an orthopedist". I still glance at the newest languages, but it's not the 80's or 90's and having time to play with a massive language isn't a hobby anymore. The be all, end all, one size fits all theory (Java,lmao) hasn't really panned out well. Languages are tools that have their best use. You can put a screw in with a hammer, but it's liable not to be pretty.

                                    1 Reply Last reply
                                    0
                                    • P Patrick Skelton

                                      I've experimented with a lot of languages over the years and delivered production code in at least a handful. Of all, I find C# to be the most genial. It has syntax close enough to C/C++ not to alienate those programmers, has plenty of high-level stuff to keep users of languages such as Java happy, and these days has good performance and is open and cross-platform. The only thing I hate about it is the terrible 'destructor' pattern, which you can ignore most of the time. Despite all of this, I rarely if ever read a headline that says C# is gaining in popularity. There's no point in getting into too many syntax specifics because that would be a never-ending discussion but why does it fail to hit the spot with so many developers and companies?

                                      Thank you to anyone taking the time to read my posts.

                                      S Offline
                                      S Offline
                                      Steve Naidamast
                                      wrote on last edited by
                                      #48

                                      I believe that there are too many languages available for any one language to become the number #1 language in use. Though I am completely fluent in C# and have built quite a few C# applications over the years, I still prefer VB.NET for all my own development endeavors. This comes from my years as a DBase\FoxBase\Clipper developer in the late 1980s and 1990s. One cannot also assume that surveys are actually are a reflection of popularity for any one language as all surveys have built in biases. As my wife has always told me, marketing and surveys is all about what answer(s) you want to obtain and then developing surveys to attain them. Nonetheless, as some commenters here have said, C# cannot compete with those areas where C\C++ must be used and\or is preferred. And nor can it compete with the many niche languages that have popped up over the years that have very loyal proponents, even though C# can do most if not all of what these languages provide. You also still have a lot of Microsoft haters out there who would never give a Microsoft product a legitimate chance. But do not despair, C# and VB.NET will be around for some time to come... :)

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

                                      1 Reply Last reply
                                      0
                                      • P Patrick Skelton

                                        I've experimented with a lot of languages over the years and delivered production code in at least a handful. Of all, I find C# to be the most genial. It has syntax close enough to C/C++ not to alienate those programmers, has plenty of high-level stuff to keep users of languages such as Java happy, and these days has good performance and is open and cross-platform. The only thing I hate about it is the terrible 'destructor' pattern, which you can ignore most of the time. Despite all of this, I rarely if ever read a headline that says C# is gaining in popularity. There's no point in getting into too many syntax specifics because that would be a never-ending discussion but why does it fail to hit the spot with so many developers and companies?

                                        Thank you to anyone taking the time to read my posts.

                                        M Offline
                                        M Offline
                                        Matt McGuire
                                        wrote on last edited by
                                        #49

                                        It is a (mostly) general language, but best suited to app development, there is a whole world of development that C#/net can't touch or has no part of.

                                        1 Reply Last reply
                                        0
                                        • P Patrick Skelton

                                          I've experimented with a lot of languages over the years and delivered production code in at least a handful. Of all, I find C# to be the most genial. It has syntax close enough to C/C++ not to alienate those programmers, has plenty of high-level stuff to keep users of languages such as Java happy, and these days has good performance and is open and cross-platform. The only thing I hate about it is the terrible 'destructor' pattern, which you can ignore most of the time. Despite all of this, I rarely if ever read a headline that says C# is gaining in popularity. There's no point in getting into too many syntax specifics because that would be a never-ending discussion but why does it fail to hit the spot with so many developers and companies?

                                          Thank you to anyone taking the time to read my posts.

                                          S Offline
                                          S Offline
                                          StampedePress
                                          wrote on last edited by
                                          #50

                                          I think there's a lot of great reasons here that focus on language alone, and a handful that talk about how software is released once it leaves the IDE. While Azure has implemented a lot of nifty features to make deployment easier, to me the biggest draw back is the release and management of applications in Prod. Working in a number of FinTech companies, they used C# but only in very limited ways. Who wants to support IIS servers and deal with the underlying Windows server? It's a nightmare. It took a long time to get decent config management tools to work with Windows. While linux goes bad too, patching issues and system failures feel more severe on Windows server. For the majority of applications especially anything customer facing Java rules the roost. I'm not thrilled about Java / Tomcat but I rather support that then anything C#. I've never seen a .net core deployment in the wild, though I would love for things to go that way. I've thought about specializing in that area to assist orgs trying to accomplish that but definitely a lot of sharp edges to consider. The horror stories seem to end in a full stop not compatible not supported by Microsoft.

                                          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