Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Where/When do C# and the .NET Framework fail to be the right tool?

In my non-programming life, I always attempt to use the appropriate tool for the job, and I feel that I do the same in my programming life, but I find that I am choosing C# and .NET for almost everything. I'm finding it hard to come up with (realistic business) needs that cannot be met by .NET and C#.

Obviously embedded systems might require something less bloated than the .NET Micro Framework, but I'm really looking for line of business type situations where .NET is not the best tool.

I'm primarly a C# and .NET guy since its what I'm the most comfortable in, but I know a fair amount of C++, php, VB, PowerShell, batch files, and Java, as well as being versed in the web technologes (JavaScript, HTML, and CSS). But I'm open minded about it my skill set and I'm looking for cases where C# and .NET are not the right tool for the job.

I choose .NET and C# because I'm comfortable with it, but I'm looking for cases where it isn't appropriate.

like image 395
Nate Avatar asked May 01 '10 02:05

Nate


2 Answers

C# and the .NET Framework might not be the best choice for a hard real-time application. Your application will hose on the first garbage collection, and real-time systems often have memory constraints that make the full-blown .NET framework unsuitable.

That said, there are ways around these problems, see here: http://www.windowsfordevices.com/c/a/Windows-For-Devices-Articles/Adding-Realtime-to-Windows-Embedded/

like image 75
Robert Harvey Avatar answered Nov 14 '22 00:11

Robert Harvey


C# might not be a good choice for complex algorithms, especially those benefitting from parallelism, that would be better expressed using a functional language like F#.

See: https://stackoverflow.com/questions/141985/why-should-a-net-developer-learn-f

like image 2
Simon Chadwick Avatar answered Nov 14 '22 00:11

Simon Chadwick