4 ms·
You should try C#. It's like Java with closures (and some other nice features: http://stackoverflow.com/questions/610199/the-art-of-programming-java-vs-c-sharp
by Yrlec 15y ago
You should try C#. It's like Java with closures (and some other nice features: http://stackoverflow.com/questions/610199/the-art-of-programming-java-vs-c-sharp http://stackoverflow.com/questions/610199/the-art-of-program... )
- tomp 15y agoC# is one of the most interesting languages, really. It's been developing really fast, and along with F#, it shows that MS is really putting an effort into programming language progress. However, my main concern with C# is not the language, but the libraries/ecosystem. It's so tightly bound to Windows that it hurts. There are no good cross-platform implementations, poor IDE support, and I'm pretty concerned developing for a runtime that might go away... Now, if only MS would open-source their implementation, most of these arguments would become void.
- silverlake 15y agoMono is pretty good. F# also runs on the Mono runtime.
- eropple 15y agoMono is a great attempt done by great people (I did Google Summer of Code for Mono and it was a blast). However, its utility is hit-or-miss; performance is a concern relative to Java-on-Unix or .NET-on-Windows and I'm starting to find that a lot of the cross-platform usefulness claimed by stuff like MonoTouch to be a lot less than I originally bought into. I can get most of the same out of C++ (and most of the same, iOS excepted, from Java), and I know it'll be there in the next few years. Couple that with the future of .NET itself not looking terribly bright thanks to WinRT, and I'm personally getting more and more concerned about the viability of .NET, and implicitly Mono. I'd dearly love to be wrong, but I don't think I am. - This is one of the things about Microsoft that infuriates me. I've heard from people in Microsoft that "developers have told us they want C++"--well no shit, really, when you've jerked around .NET as much as you have, people are going to assume there's little future for the platform. Self-fulfilling prophecy.
- pnathan 15y agoBack around 2000 I was studying graphics programming as a hobby, and the DirectX APIs were moving pretty quickly at that time. It seemed as if a new version was dropping every 6 months. I got tired of playing catch-up to Microsoft and switched to OpenGL. Much better experience; got code running much faster. I saw the same pattern begin with .NET; you had to keep playing catchup and buying into the New Hotness. I realized that this seemed to be a Microsoft strategy: obsolete the old knowledge and watch the developers pay money for the new hotness. I'm not saying that MS needs to be static, but there appears to me to be a deep seated instability in their approach, which implies pretty heavy retraining every five years. Contrast this against C++, which has been more or less standard since the mid-90s, especially for the common cases. I get tired of running on a tech treadmill. Learning how to crap out the same concept in yet another language (much the same as the ones I already have used) has nil interest for me. I am tired of wasting my life figuring out the subtleties of a Java clone, or a C++ clone, or a Perl clone, or... etc. I look for a stable, long-term language, on fairly stable core technologies, so I can build really amazing new technology without throwing it out and restarting due to the New Hotness. I personally have picked Common Lisp for my long-term code and projects. Others might pick C++, Perl 5, or Fortran. I look over new languages and technologies as they come out and see if they have something meaningfully innovative that really merits learning and/or switching. Some do. Most don't. Haskell looks like it has a good future right now.
- eropple 15y agoThat sounds about right. I've gone back to Java and C++ for most of my own projects because of the uncertainty factor. (OpenGL is a festering mess, though. DirectX is a wonderful API in comparison.)