|
> he amazing thing is that you can potentially write all your code in C and have backend/frontend logic for the web, Windows, Windows Phone, OSX, FreeBSD, OpenBSD, Tru64, VAX, Arduino, Linux Kernel, Windows Kernel, Mach, Hurd, and practically every processor or operating system ever built, and even iOS/Android (via Xamarin). Wow. Have you ever done C development like this, ever in your life? I did. Between 1994 and 2003, we had applications run across Windows, HP-UX, Aix, DG/UX, GNU/Linux, BSD, Solaris. An awful mess of #ifdefs, compiler specific behaviours, lack of POSIX compliance, OS specific extensions. This on the server side, and lets not forget there are ZERO portable standards for writing portable GUI code in C. Finally, C shouldn't never had become mainstream given its lack of safety, that we are still suffering in 2014. There were better systems programming languages in the late 70's, they just weren't at Bell Labs. |
Everything else either implements a 3rd GUI, Swing, et al, or looks weird on a few of the platforms, GTK.
Oddly enough the best cross-platform lib I've seen, Qt, is written in C++.
C certainly isn't the be all and end all, however, it's far more portable, reusable, and linkable than C#.