11-09-2008, 10:56 PM
The vast majority of webservers run Unix, Windows or Linux. Windows has a 35% share of the webserver market.
C# and other .NET languages run under Windows and also, via Mono 2.0, under some other operating systems, including Linux and Unix.
C# is probably the hottest language in desktop programming right now. Nonetheless, my impression was that despite Windows' webserver marketshare, not a whole lot of webserver applications are written in C#, and very few client-side apps are.
So at the moment, is C# mostly for desktop apps, or are there a lot of webs apps out there written in C# as well?
Not all .NET applications are written in one programming languages.
C# is certinally the most popular programming language that runs on .NET and most open and closed source apps targetting .NET are written in C#
If you do a google search on Programming Language Job Trends, you will find that C# is gaining popularity for both; desktop and web applications.
According to IT Jobs Watch, there has been an increase in demand for C# developers. please see
The same is true for VB.NET
but looking at the salary, and how much a programmer may be earning if they are working as C# programmers vs VB.NET...I would certainly learn how to program in C# if I was you.
11-10-2008, 03:00 AM
It all depends on what your target environment is. I write more C# desktop applications than web apps but that is just because I don't do as much web development as I used to. If you know you will be able to run ASP.NET on your server, you can use C# on the web.
The main reason C# is getting a lot of attention is that it is very easy for a C++ programmer to transition into it and it has a very rapid development process. And it isn't too hard once you know how to make C# applications call functions written in C (or C++) that are in a DLL. So you can get the best of both worlds, you can make your multi-threaded GUI really quickly in C# and still have your complicated heavy lifting C++ backend if you want.
The .NET framework does have some drawbacks, while they have tons of existing data structures they are pretty weak when it comes to different trees. And there isn't any really predefined way of doing IPC (Inter-Process Communication), you can accomplish that with sockets however. Though you can always roll your own data structures if desired as well.