in my case it's because I develop for windows users, the best and easiest way is to use C#, but like i said, we can't compare C# with good languages like ruby, python, c++, rust and so on.
it's like Java, but not designed by retards
> but still designed for retards
great APIs, but still shit for any environment with any sort of RAM constraint or where GC pausing and jitter can be perceived by a person or affect another timing-sensitive component.
high performance GCs/runtimes are very expensive products that virtually nobody uses.
additionally, programming for .NET/JVM to minimize heap maintenance costs is possible, but it's so stylistically different from idiomatic programming in those environments that you might as well just write your project in C, C++, etc.
If you're actually know what you're doing, good for you. It's a nice and versatile language for people who actually want to get shit done on a windows environment. But chances are you're some highschool/freshman dipshit who learned to make his first bubble sort yesterday, so fuck you.
C# is one of the best programming languages around. That's just a fact and whoever denies it is a butthurt Javafag who can't cope with the obvious fact that Java is little more than a retarded cousin of C# now.
Before you call me a Windows shill, I run Linux exclusively and code frequently C/C++ (compiled with GCC, not that Visual C++ crap). Also, Mono has gotten a whole lot better since MS open-sourced a few chunks of the .NET framework so I'm happier than ever that C# is one of my main programming languages.
C# is natural selection at its best. It got the best traits from Java and C++ and therefore became better than both combined. The fact that you claim otherwise means that either you wouldn't even be able to write a Hello world in C# or that you've never coded professionally.
i tooke a C# I class last semester and completed it using MONO. I'm in II now. Develop a windows form application in mono with GTK+ and get back to me.
not previous anon but a professional developer here.
the sooner you realize that no single language/platform is perfect for every solution, the sooner you quit sounding like an imbecile.
C# is generally better designed than Java, as one might expect given the advantage of hindsight, but it is in no way an all-purpose substitute for C or C++.
I've never really understood the need fordelegatemethods. Or why I should use them over using anonymous functions.using System;
public delegate void TheDelegate();
public TheDelegate Foo;
public JustAddDelegate (TheDelegate theDelegate)
Foo = theDelegate;
// Consuming code
public static void Main (string args)
var myMethod = new TheDelegate (MyMethod);
var jad = new JustAddDelegate(myMethod);
static void MyMethod()
Console.WriteLine ("Hello World!");
// Why not
public Action Foo;
public JustAddAnonymousFunction(Action theAction)
Foo = theAction;
// And then..
static class MainClass2
public static void Main2()
Action myAction = () => Console.WriteLine ("Hello World!");
var jaaf = new JustAddAnonymousFunction (myAction);
// Is the point that TheDelegate is strongly typed whereas Action isn't?
>C++17 is the way of the future though.
nobody even knows which worthwhile improvement will make the cut.
Concepts, contracts, and modules slipping into the 2020s would not surprise me in the least.
I only played with it a little bit for side modules at the job. It feels awkward coming from C++.