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 C# is hot... cool... whatever

Why C# is hot... cool... whatever

Scheduled Pinned Locked Moved The Lounge
csharpcomtutorial
35 Posts 21 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.
  • K Kevin McFarlane

    Nemanja Trifunovic wrote:

    Scala probably has better chance of going mainstream

    Twitter is a prominent user. It's written mostly in Ruby, Java and Scala.

    Kevin

    B Offline
    B Offline
    Bit Smacker
    wrote on last edited by
    #23

    Yeah, but considering that Twitter runs on Apple stuff, it makes sense to that the fruit-fanatics would "think different" about how to create a mainstream web app. It also explains why their service so often displays "network too busy" messages when trying to simply login.

    1 Reply Last reply
    0
    • K Kevin McFarlane

      That's one of the advantages of .NET over C++, the rich framework. Yes I know you can achieve the same in C++ but you have to hunt harder. Though things may have moved on in the past four years which was when I last looked at C++.

      Kevin

      A Offline
      A Offline
      accent123
      wrote on last edited by
      #24

      Please do not confuse between .NET and C++; .NET is a framework, while C++ is a language. Also, C++ creates .NET.

      K R 2 Replies Last reply
      0
      • A accent123

        Please do not confuse between .NET and C++; .NET is a framework, while C++ is a language. Also, C++ creates .NET.

        K Offline
        K Offline
        Kevin McFarlane
        wrote on last edited by
        #25

        I'm not confused. When you're using C# it's inseparable from the .NET framework, i.e., you have a rich library at your fingertips. With C++ typically you do not and either need to do all the stuff yourself or hunt around for disparate pieces.

        accent123 wrote:

        Also, C++ creates .NET.

        So what? I'm not saying that C# is superior to C++, just that it has better "infrastructure" support for common problems. Naturally there are some scenarios where despite this C++ is a better choice.

        Kevin

        1 Reply Last reply
        0
        • B Bit Smacker

          Henry Minute wrote:

          Now all they have to do is make MSDN work, so that it's easier to find this stuff out.

          No kidding! I can usually find what I'm looking for on MSDN faster by using Google, and usually accidentally find better information on external blogs!

          L Offline
          L Offline
          Lost User
          wrote on last edited by
          #26

          I don't program much anymore but enjoy reading threads such as this as I still do a little C# .NET work. Your post caused me to wax nostalgic and recall how back in my early days when something didn't work the way you thought it would - due to bad or no documentation, or buggy program, or hardware failure (which used to happen quite often) - you had no Internet for help. Imagine no user forums. There were computer clubs whose members helped one another but when you're at a point that needs to be dealt with immediately, well, you know... There were published algorithms to do all kinds of sorts and searches and stuff, but there were no rich frameworks that generated the code for you. To make matters much worse there was always a memory and storage limitation to consider. Now if you need a fast file hash method just allocate some megabytes or gigabytes or, hell, terabytes. As for a development platform C# .NET is superb. As Ray Kurzweil's book title says: The Singularity is near. Mack McKinney

          S B 2 Replies Last reply
          0
          • L Lost User

            I don't program much anymore but enjoy reading threads such as this as I still do a little C# .NET work. Your post caused me to wax nostalgic and recall how back in my early days when something didn't work the way you thought it would - due to bad or no documentation, or buggy program, or hardware failure (which used to happen quite often) - you had no Internet for help. Imagine no user forums. There were computer clubs whose members helped one another but when you're at a point that needs to be dealt with immediately, well, you know... There were published algorithms to do all kinds of sorts and searches and stuff, but there were no rich frameworks that generated the code for you. To make matters much worse there was always a memory and storage limitation to consider. Now if you need a fast file hash method just allocate some megabytes or gigabytes or, hell, terabytes. As for a development platform C# .NET is superb. As Ray Kurzweil's book title says: The Singularity is near. Mack McKinney

            S Offline
            S Offline
            shea c4
            wrote on last edited by
            #27

            It's wonderful isn't it? The functionality at your fingertips these days is so rich that sometimes it feels like you can get 10 times as much done these days as you could a mere 10 years ago.

            arnshea.blogspot.com

            1 Reply Last reply
            0
            • L Lost User

              I don't program much anymore but enjoy reading threads such as this as I still do a little C# .NET work. Your post caused me to wax nostalgic and recall how back in my early days when something didn't work the way you thought it would - due to bad or no documentation, or buggy program, or hardware failure (which used to happen quite often) - you had no Internet for help. Imagine no user forums. There were computer clubs whose members helped one another but when you're at a point that needs to be dealt with immediately, well, you know... There were published algorithms to do all kinds of sorts and searches and stuff, but there were no rich frameworks that generated the code for you. To make matters much worse there was always a memory and storage limitation to consider. Now if you need a fast file hash method just allocate some megabytes or gigabytes or, hell, terabytes. As for a development platform C# .NET is superb. As Ray Kurzweil's book title says: The Singularity is near. Mack McKinney

              B Offline
              B Offline
              Bit Smacker
              wrote on last edited by
              #28

              I remember purchasing a library of assembly language functions for the Commodore 64, which provided user interface functionality. That was the closest thing that I had to a framework back then. I would sit up all night, staring at code, printing out code and highlighting it, compiling over and over, making small changes to avoid a troubleshooting nightmare. It was almost an art form -- to try to fit the most functionality into the smallest amount of memory, using the smallest amount of processor power. Now, things are almost directly opposite. With all emphasis being on development time, optimization takes a back seat in most business-oriented applications. I still get a guilty feeling when I code something quickly, knowing that I could have done it more efficiently with just a little more time. But, that extra time could be spent on another project, and that's all that matters to the corporate bean-counters.

              1 Reply Last reply
              0
              • A accent123

                Please do not confuse between .NET and C++; .NET is a framework, while C++ is a language. Also, C++ creates .NET.

                R Offline
                R Offline
                return Jonny
                wrote on last edited by
                #29

                In the spirit of dispelling confusion, may I counter that C++ did not and does not "create" .NET.

                A 1 Reply Last reply
                0
                • R return Jonny

                  In the spirit of dispelling confusion, may I counter that C++ did not and does not "create" .NET.

                  A Offline
                  A Offline
                  accent123
                  wrote on last edited by
                  #30

                  It is either Assembly or C++ or a combination of both. Also, comparing C++ and the .NET family of languages is like comparing apples and oranges. C++ is a fully compiled laguage and you are totally free to do anything with it, including hang your self, where as, .NET languages are not fully compiled; they end up in bytecodes which are then interpreted by the .NET run-time when the application runs. Therefore, if your code is intended for speed in a extreme high trafic environment, such as real-time communication, C++ is your choice. Otherwise, for rapid app development, pick .NET. if you disagree, then please tell us what was used to create the .NET framework/.NET languager interpreters, or Java, or Javascript or all the other bytecode-oriented/managed codes/interpreters/the so-called "new languages" for that matter, that are being sold out there.

                  A 1 Reply Last reply
                  0
                  • A accent123

                    It is either Assembly or C++ or a combination of both. Also, comparing C++ and the .NET family of languages is like comparing apples and oranges. C++ is a fully compiled laguage and you are totally free to do anything with it, including hang your self, where as, .NET languages are not fully compiled; they end up in bytecodes which are then interpreted by the .NET run-time when the application runs. Therefore, if your code is intended for speed in a extreme high trafic environment, such as real-time communication, C++ is your choice. Otherwise, for rapid app development, pick .NET. if you disagree, then please tell us what was used to create the .NET framework/.NET languager interpreters, or Java, or Javascript or all the other bytecode-oriented/managed codes/interpreters/the so-called "new languages" for that matter, that are being sold out there.

                    A Offline
                    A Offline
                    Andevian
                    wrote on last edited by
                    #31

                    I don't think that the phrase "fully compiled" means what you think that it means. I'm certain that "compiler existence" is not a direct feature of any language. For some languages, compilers have been created. For others, they have not. The languages themselves are entirely distinct from such things. If one were so inclined, a Javascript compiler could be created. So far, no one has been so inclined (that I know of anyway). In fact, if one were so inclined, said compiler could be created using C#. C# could be used to make a C# compiler. Comparing C++ to "the .NET family of languages" is an apples-to-apples comparison, because languages are languages and compilers are compilers and the two categories are only related when someone links them together (punny!). I think the folks at Microsoft responsible for Visual C++ might take particular exception to you attempting to distinguish C++ from "the .NET family of languages", given all the really hard work that went into making it into one of those .Net languages. ANY language can be a .Net language; all it needs is to be able to refer to the libraries. If having JITted bytecode really bothers you, use NGEN[^] on it. For the record, I've got some real-time communications code working just fine. I wrote it in VB. I didn't NGEN it. Heck, I didn't even adhere to general best practices while coding it. I could have written it in C++, but I like making the VB and .Net haters go spastic.

                    1 Reply Last reply
                    0
                    • P patbob

                      I all comes down to money. C# is cool and hot only because Microsoft has marketed it to developers that way. C# is just another slow, limited, buggy C++ clone without the .NET library. The .NET library could have been written almost 20 years ago as that's when a lot of those patterns you're loving so much were first written up and the community was catching on to their value. Mircosoft only did something that was new for them with C# and .NET, not something that was new to the developer community. Yes I use C#, every day in fact. Obviously, I'm not terribly impressed.

                      patbob

                      C Offline
                      C Offline
                      Cyrilix
                      wrote on last edited by
                      #32

                      C# is C++, that has been made nicer. I do probably 75/25 C++/C#, but it's clear which language is more elegant in terms of syntax and conventions. What C++ needs is a complete redesign, to get rid of a lot of the stuff that doesn't work in languages, and add stuff that works. No, I don't mean C++0x which is like a little bandaid patch. Unfortunately, it has a lot of interoperability to keep, so that won't ever happen. When you say C# is slow, you should also qualify your statement. How slow and which parts are slow? It may not be as fast as native code in general, but compare it to an interpreted language like python. Then, how slow are we talking about?

                      P 1 Reply Last reply
                      0
                      • R rastaVnuce

                        I was about to suggest exactly the same thing. Quite a few of my company's products are based on that framework, and I must say, working with it is a pleasure. Good job, Trolltech, Qt Software and Nokia (this sounds exactly as me, myself and I :D ).

                        Where it seems there are only borderlines, Where others turn and sigh, You shall rise!

                        D Offline
                        D Offline
                        Donsw
                        wrote on last edited by
                        #33

                        the framework is only getting better and deeper. use it fulltime.

                        cheers, Donsw My Recent Article : Backup of Data files - Full and Incremental

                        1 Reply Last reply
                        0
                        • C Cyrilix

                          C# is C++, that has been made nicer. I do probably 75/25 C++/C#, but it's clear which language is more elegant in terms of syntax and conventions. What C++ needs is a complete redesign, to get rid of a lot of the stuff that doesn't work in languages, and add stuff that works. No, I don't mean C++0x which is like a little bandaid patch. Unfortunately, it has a lot of interoperability to keep, so that won't ever happen. When you say C# is slow, you should also qualify your statement. How slow and which parts are slow? It may not be as fast as native code in general, but compare it to an interpreted language like python. Then, how slow are we talking about?

                          P Offline
                          P Offline
                          patbob
                          wrote on last edited by
                          #34

                          I disagree which language is more elegant. I actually seem them in a dead heat with neither being a clear winner. I'm not going to go into details -- this is not the right media for me to do that effectively. Slow -- that I can exactly qualify. Its about as fast as Java, another compiled-to-bytecode/bytecode-interpreted language. There are certain kinds of problems that neither language is appropriate for -- anything compute intensive. For example, there's no native C# nor Java H.264 codec implementations. Someday there will be, but for now we'll have to stick with the C++ implementations if we want to watch video on our computers. That said, there's an entire class of problems where (moderate) slowness doesn't matter, and that's UIs. So UIs are where C# excells over Visual C++, which is why, where I work, we've pretty much switched to doing UIs in C#, brute force computing in C++ and taking the pain to write the managed C++ thunking layers between the two. However, it isn't so much the base C# language that makes it so good for UI implementatiton, nor that it's semi-interpreted, but its the .NET library.

                          patbob

                          C 1 Reply Last reply
                          0
                          • P patbob

                            I disagree which language is more elegant. I actually seem them in a dead heat with neither being a clear winner. I'm not going to go into details -- this is not the right media for me to do that effectively. Slow -- that I can exactly qualify. Its about as fast as Java, another compiled-to-bytecode/bytecode-interpreted language. There are certain kinds of problems that neither language is appropriate for -- anything compute intensive. For example, there's no native C# nor Java H.264 codec implementations. Someday there will be, but for now we'll have to stick with the C++ implementations if we want to watch video on our computers. That said, there's an entire class of problems where (moderate) slowness doesn't matter, and that's UIs. So UIs are where C# excells over Visual C++, which is why, where I work, we've pretty much switched to doing UIs in C#, brute force computing in C++ and taking the pain to write the managed C++ thunking layers between the two. However, it isn't so much the base C# language that makes it so good for UI implementatiton, nor that it's semi-interpreted, but its the .NET library.

                            patbob

                            C Offline
                            C Offline
                            Cyrilix
                            wrote on last edited by
                            #35

                            Actually, yes it is the base C# language that makes it so good for solving a wide array of problems, because quite simply, it learns a lot from previous languages as to what they didn't do right, and does it better. C++ has a lot of intricate and complex syntactical conventions that are just not clear unless you've read several books. Since I work with both tools, I have to at least take some of the time to learn what I need to learn in order to get done what needs to get done, but it's undeniable that C++ has a lot of shortcomings that have come about as we've progressed in the development of programming languages.

                            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