c# over c++
Is there anything in c# that could not be achieved through c, c++ and assembly??
I am asking this because I want to dedicate my time learning operating systems and networking and I don't want to be held back at any point due to the lack of c# understanding. So please let me know if there is anything at all for which I would inevitably require c#, or can I do without it..
In general, I'd think the only language you absolutely need to study operating systems and networking would be C. But with regard to particular operating systems, and particular high level networking platforms, you might need C#. Of course, if you want to look into into all particular operating systems and all particular networking platforms, C# is going to be just one of a number of languages involved.
Originally Posted by juice
But no one has time for that, so I guess it is a matter of what in particular you take an interest in.
personally, I'd say that C++ probably has the broadest application to what you're talking about. once you know C++ very well, C# comes incredibly easily.
It is not about what each language can achieve but rather what needs they were designed to meet. Just because a language can achieve something does not mean you should use it for that purpose. Deciding which language to use is often a factor of business precedence, team experience, requirements, and timeline to name a few.
Simply put languages are tools. When you look at them this way you can leverage the strengths of each and minimize their weaknesses.
Honestly, what languages you know is far less important than how well you can design and implement that design.
Once you've learned one language really well, the time and effort to learn other languages is not worth worrying about. If you really knew how to program well in C++, you could pick up C# in a handful of days.
What you're really trying to do with a language is get enough practice to really think like a programmer. The language itself is the least of hurdles.
Think of it somewhat like natural language. Hundreds of millions of people can read English, but how many of them can write a top-notch novel? Being able to communicate in a language is necessary to tell a great story, but it's not sufficient - there is far more to the art of storytelling than knowing a language. There's a reason, after all, that we're not all Hemingways.
That's not to say there aren't important variants among languages, but it's more important to learn techniques than languages. For example, learning the concepts of procedural programming, object-oriented programming, event-driven programming, etc. are important; the specific language you use to learn those concepts is not.
No. Do not worry. It's not as if there will be a huge barrier you cannot cross because you didn't learn C# when studying these topics. Once you understand the concepts, it's all a matter of syntax.
Whether that's Java, C#, C++ or C, or some other language is irrelevant. If you know the concepts, you can easily translate the syntax to understand what it means.
But no one can read your mind. If you are required to write things in some specific language, then perhaps it is best that you learn it. You will have to do that research yourself.
Nevertheless, that said, it is never a bad idea to learn as many languages as you can.