Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

Whats the dealio with C#?

Options
  • 20-05-2008 8:14am
    #1
    Registered Users Posts: 2,234 ✭✭✭


    I've just got my myself a beginners book on C# and am picking up the basic pretty quick after spending a year on java..

    My question is about the popularity of the language and should I have chosen something else? I read somewhere that C# is mainly for web orientated programs and that it's pretty close to java also.

    Should I concentrate more on something like C++ as my second as i've read this is more powerful etc..

    I want to be able to make little programs for windows that can interact with it.

    Is C++ very difficult??


Comments

  • Registered Users Posts: 2,931 ✭✭✭Ginger


    Wherever you read that C# is main web orientated, you probably read wrong

    C# is just another .NET language and you can use it to write applications such as ASP.NET Web apps, Windows Forms client applications, Windows Mobile applications (using the .NET Compact Framework), CLR functions in SQL Server 2005 and above, Web Services in .NET or using WCF, Workflow using Windows Workflow in products such as Sharepoint .. see where this going :D

    C# is an extremely powerful language (tho any language is powerful if leveraged correctly!)

    For Windows Apps look at C# with Windows Forms, its quite easy


  • Moderators, Society & Culture Moderators Posts: 9,689 Mod ✭✭✭✭stevenmu


    "Powerful" is a very ambigous term.

    Some people say that in the belief that C++ executes faster than C#, but there's only a small amount of truth to that. C# apps do have a longer startup time and the memory overhead of having the CLR running, but other than that they should execute as quickly as C++.

    Others say it because C++ runs on the "bare metal", i.e. it's compiled into machine code which is run directly by the CPU and not intermediate byte codes run by the CLR (the equiv of the JVM). This is useful in cases when you need direct access to hardware, and it can let you manage program resources more carefully. It opens up the possibility of running code on anything you can find/create a compiler for, and it useful for lower level software, drivers etc. But equally running in a managed CLR environment has it's advantages too, gains you access to places C++ won't (mainly extensions or add-ons for microsoft products), inherent security and stability, garbage collection, platform neutrality (C++ can be platform neutral must be written to be platform neutral and generally must be recompiled), ease of deployment, no more DLL hell.

    There's many pros and cons for each, and each have their place, which one you should go for really depends on what you want to do with it.

    (there's generally more .Net jobs available than C++ if that's your main focus)


  • Moderators, Science, Health & Environment Moderators Posts: 10,079 Mod ✭✭✭✭marco_polo


    techguy wrote: »
    Is C++ very difficult??

    Not a whole lot more difficult at a basic level really once you get your head around pointers. It has a number of very powerful features such as pointers, multiple inheritace, operator overloading and templates that are not found in C# or Java (with the exception of Generics in Java/C# which provide somewhat the same functions as template). Using these appropriately is a different story.

    People use these the power of C++ to do good, but it the wrong hands it can wield great evil :pac:


  • Registered Users Posts: 2,931 ✭✭✭Ginger


    C# allows operator overloading and pointers


  • Registered Users Posts: 2,234 ✭✭✭techguy


    stevenmu wrote: »
    There's generally more .Net jobs available than C++ if that's your main focus.

    That'll do :D


  • Advertisement
  • Closed Accounts Posts: 8,199 ✭✭✭G-Money


    C# is pretty handy and not that difficult to learn. I started out with VB and kind of taught myself then about a year and a half ago made the conscious decision to move to C#.

    It can be used for web development, for example you can create a site using ASP.net and your code that does all the work can be C#. I had a quick mess around with it and VS makes it very easy.

    One thing about C# and most .Net applications is that they are quite easy to 'decompile'. The same might be true of Java, but I don't know. For example, if you write a simple app in C# and compile it, then get a hold of .Net Reflector from Lutz Roeder. You simply point to the .exe or whatever file that holds your code and hey presto, you can see most of your code through Reflector.


  • Moderators, Science, Health & Environment Moderators Posts: 10,079 Mod ✭✭✭✭marco_polo


    Ginger wrote: »
    C# allows operator overloading and pointers

    Opps didn't know that :o, have only skimmed through a few basic overviews.
    C# is pretty handy and not that difficult to learn. I started out with VB and kind of taught myself then about a year and a half ago made the conscious decision to move to C#.

    It can be used for web development, for example you can create a site using ASP.net and your code that does all the work can be C#. I had a quick mess around with it and VS makes it very easy.

    One thing about C# and most .Net applications is that they are quite easy to 'decompile'. The same might be true of Java, but I don't know. For example, if you write a simple app in C# and compile it, then get a hold of .Net Reflector from Lutz Roeder. You simply point to the .exe or whatever file that holds your code and hey presto, you can see most of your code through Reflector.

    Yep you can decompile bytecode in Java in a very similar way.


  • Registered Users Posts: 2,234 ✭✭✭techguy


    They are all great points.. now that I have started with C# I may aswell stick at it and good at the basics anyway..

    I've just began looking around for a few short demonstration videos but all I can find is low quality youtube vids where they fit the whole screen into the video.

    Does anybody where I can find some decent size tutorials, i'd settle for one like this which focuses in on the square around where the mouse pointer is. I really wish a few more people would take this into consideration..


  • Registered Users Posts: 2,931 ✭✭✭Ginger


    Have a look at http://www.asp.net/learn/videos/

    They are usually quite good


  • Registered Users Posts: 2,234 ✭✭✭techguy


    Ginger wrote: »
    Have a look at http://www.asp.net/learn/videos/

    They are usually quite good

    Yey, it's silverlight.. I was beginning to wonder did I waste my time installing it! Cool stuff..

    Thanks..


  • Advertisement
  • Registered Users Posts: 2,931 ✭✭✭Ginger


    THe popularity of languages can be found in this index


  • Registered Users Posts: 2,234 ✭✭✭techguy


    Thanks, heres another I came across.

    < http://www.langpop.com/ >


Advertisement