tags:

views:

454

answers:

11

As an outgrowth of "Why should I learn C++ rather than C# question, here is a poll: who is using C# for things that are not related to Windows GUI? Web programming qualifies, even if I think it's borderline. Ideal example would be a back-end application where you chose C# specifically because of its language features, and not because that's the only thing used at your shop.

+5  A: 

We use C++ and C# and we've done a lot of C# back-end services because it tends to be faster to develop, easier to write unit tests for and cost less to maintain. I wouldn't even consider writing a WCF service in C++.

Of course we still use C++ for drivers and kernel work, where it's still very appropriate.

ctacke
+2  A: 

I think Joel stated that he uses C# in server code http://fogcreek.com/Jobs/Dev.html.

I worked at a company that used C# for client/front end app and also for the server side. The company used a mix of C++ and C# and for that product I think they just went with C# for consistency. Not sur what you are driving at here. Is there a reason you think C# is not suitable for anything but GUI work?

Tim
A: 

We use C# as console app and C# as code-behind with ASP.NET. It's been a long time we used C# for win32 GUI.

Kb
+1  A: 

As a Web Devloper, I chose to learn C# for the following reasons:

  1. To expose myself to a syntax that applies more easily to other languages (javascript,Java, C++).

  2. To ease the search for example code (a person might find an example that is in C# but not in VB).

  3. To remain competitive in the market. When it was pretty much ASP and/or ColdFusion, a web-programmer really had an edge, in the web-dev arena, over traditional C++ programmers. Now that C# is prevalent, traditional C++ programmers can easily play in the web-dev sandbox.

  4. To learn.

madcolor
+1  A: 

I've used C# to create a Windows service that runs on a server and processes requests that come in from other .NET applications. I chose C# for the easy communication with other .NET apps (WCF), for the ease of communicating with databases, and for the extra bit of safety that comes from automatic garbage collection.

Mitchell Gilman
+1  A: 

I use C# with Asp.Net to build web applications for corporate users all the time.

Daud
+1  A: 

I've used C# to create windows services, web sevices, and web applications. We choose C# because of the benefits of the .net framework. The choice between VB and C# however was purely subjective and just because everyone at the shops prefered C#'s syntax.

JoshBerke
A: 

I don't personally use it, but many of the groups at my company does. It's used for website (ASP.Net), and webservices that our applications interact with are implemented in .Net. In both those cases the code is all server-side code.

It's my understanding that C# (and .Net in general) is actually used fairly often on the server-side (perhaps even more often than for client GUI applications).

Herms
A: 

I must admit the bulk of my work is for a smart client application(windows forms) but I have used C# for web services.

What you must understand about C# and all of .NET is it's more than just the language features it is the support that you get from the entire framework. Example in C++ by default you don't have a DateTime class library or heck even a good string library. It's also the productivity you get out of the .NET framework that is very hard to get from a language like C++. Don't get me wrong C++ has it's place (OS, high end graphic apps, games, etc..) just the everyday applications that most individuals write the productivity gain from .NET more than compensates for any negatives.

Brian Kriesel
A: 

I guess I don't understand the "specifically because of its language features" part of the question.

If I have a GUI or Web application, and need to have some back-end code, such as a web service or a service, I don't see the point in switching languages.

That does not mean though, that C# is the only language I use. For some admin/surveillance tasks, I use PowerShell scripts.

Currently C# is my language of choice, just as Delphi was for a long time.

devio
A: 

I've used C# for file manipulation console apps - simply because it is convenient.

Example apps:

  • File joiner - concatenates all files in a directory, sorted by name, into a single output file. Also ignores certain files if they have a label in the first line.
  • Image splitter - we had an old app using a bitmap with many icons side by side in a table form. I wrote a splitter that split the images into 36x36 images, then applied a few specific fixed because the original image was a bit mangled. (replaced one color with another, made a transparent background).
  • Several other tools, most of them have only been used once but some we use daily.

Basically, everything is write is by default in C#. I use other languages only when there is a reason to use them.

configurator