C#

Started by
3 comments, last by NathanRidley 9 years, 1 month ago

Hi,sry for my english i speak french from Quebec Canada I have a few questions where I'd love to have some honest answers from experienced professional programmer :

1) How long does it take to reach junior-intermediate lv in C# and start working ? (important note : I already have a little experience in C++ and remember my concept class pointers etc and I can study C# 10hrs / day for over a year or 2, but I haven't programmed in 10 years)

2) with all the talk about tablet & phone being the future does C# and xamarin (mono) have a great future prospect compared to others tech like Java ? like which is better to learn today in 2015 and why ?

3) with all the talk about .Net being open sourced and the new/next asp.net being able to run on others server than ISS like apache, does .net stack well vs ruby,php,html5 etc etc and the others new web dev tech or its getting old like a dinosaur ?

thanks have a nice day

Kevin

Advertisement
1. Since you've done programming in C++ before, you could probably become fairly proficient in C# in a few weeks at 10 hours a day, but it really depends on how many different programming concepts you still remember. It might be good that you used C++ 10 years ago - remembering things specific to C++ might just confuse you instead of help you.

2. Xamarin looks promising, and so does the open source CoreCLR (since it includes JIT back-ends for both Intel and ARM processors which is crucial to mobile platform support). One key thing is that Unity supports most mobile platforms and they're using C# and Mono for their "scripting" language. I use C# and Unity at work and it's better than making games in Java in my opinion.

3. In my opinion, .Net is a much more mature and robust technology stack than ruby, PHP, and HTML5 are. C# and .Net are old, but they're being updated constantly with very useful features on a regular basis (roughly once every 2 years, C# gets a MAJOR update), so I wouldn't call it a dinosaur.

1) all of programing languages have similarities. c++ and c# both are children of c. i believe c# is simpler than c++. maybe there are some syntax differences but basic and concept is the same. if you know some concepts like oop and its features starting a new language like c# doesnt take long.

2) c# basically is for microsoft and only works for microsoft platforms. mono is a good technology that helps you work with c# for other platforms like android but as people who worked with it and worked with java, they say you dont get enough quality of working with native java for android and the sdk for android devices like vibration or camera is not very good with xamarin or mono.

the technology that i beleive it will own the future is unity. it uses c# syntax as scripting language and is very easy too work and youcan simply get out put for many different languages with a little changes.

3)i believe .net has most compelete and biggest libraries in all language. it is much better documented and well supported than other languages. for commercial projects its not free but it gives higest qualities you want.

C# is a great language that has changed from being a poor Java clone (C# V1) into a powerful milti-paradigm language that crosses the OO/Functional divide. It does miss some things from the functional side and its type inference could be better but still one of my favorite languages.

If you know C++/Java it will be quick to pick up the basics by Linq might spin you head a bit for a while, worth it as one of the best things to be added to the language.

As far as I know, the .NET being opened up is not the old CLR but the new .NET core. This is a new push by MS to create a new version of .NET that makes sense cross platforms (including mobile etc) So it is a stripped down version with modular add ins. So don't expect old .NET code to work under Core unless you stay clear of the more esoteric libraries and those more tightly coupled with Windows.

That said you can use Mono with the current .NET to target many platforms and I believe Mono is keeping up with the features of mainline .NET in most of the important areas.

If you want to play with .NET go grab the Visual Studio 2013 Community Edition. This is full blown .NET development environment that is FREE. It is not the old crippled express versions of the past :)

Also .NET does not tie you to C#, there is nothing stopping you creating an F# library and consuming it from C# etc.

On the Java side... The JVM is a fast powerful VM although for me Java is a dog of a language bogged down by its enterprise past. That said you have some real interesting languages that target JVM, such as Scala.

2) c# basically is for microsoft and only works for microsoft platforms.


Man, I wish people would stop spouting this outdated nonsense. C# is an open standard, and as others have said, Mono/Xamarin have been around for ages now and they let you target all platforms. Not only that, but Microsoft have now fully open-sourced the next version of .Net and upon its full release within the next few months, it will be able to target multiple platforms including Windows, Mac and Linux.

C# all the things! Yay!

This topic is closed to new replies.

Advertisement