[.net] .NET & C++

Started by
11 comments, last by dxFoo 18 years, 9 months ago
Is learning C++ a little pointless these days when we have more powerful languages such as .NET/Java? It seems like it can do all that C++ can, yet make development time much faster, less error prone, etc. I figure the only reason to learn it is to maintain programs written in C++, which is 90% of the world. Should it be still considered a large focus?
Advertisement
More powerful how? All languages have their purposes. .Net doesn't eliminate the need for C++, nor does C++ mean that .Net is not needed. Learn them all.

In time the project grows, the ignorance of its devs it shows, with many a convoluted function, it plunges into deep compunction, the price of failure is high, Washu's mirth is nigh.

I have. I'm just wondering which one to entirely focus on these days.
Don't, Focus on both. In fact, just focusing on two is a huge blind side. Focus on a lot more than just C++ and .Net.

In time the project grows, the ignorance of its devs it shows, with many a convoluted function, it plunges into deep compunction, the price of failure is high, Washu's mirth is nigh.

Alright. Personally speaking, I just know anyone can learn 50 languages, but one can master an area using a certain language. For instance, knowing C# requires you to learn ASP.NET ontop of that, including mobile & graphics programming. Learning C++ is a complete opposite end of what you need to learn with it, as much as Java is in its own area: Java3d, mobile, smart cards, etc. It seems like after learning each language, one needs a focus. I guess that's what I'm stuck on.
Define "powerful". C# and Java still don't come close in terms of language features to C++. If you need a RAD language then they are useful, but C++ is still the most powerful language imho.

And beside of that if you REALLY know C++ then all imperative languages are a piece of cake.
Let's put it this way. When I started programming, Windows didn't exist and C++ was still C with Classes, a baby project at Bell Labs, yet to be released to the world as a whole. I still have a book on how to program Fortan on punch cards. Things change. Whatever you learn now, you'll need to learn something different ten years from now. Learn to learn. Do things that interest you and pick up new things that interest you as they come along. As long as you keep your brain in motion you're set.
I understand C++ is powerful, but I personally think it's not very convienent. For example, COM, GUI, DX, etc. I guess that's why I appreciate Java/.NET. You throw in the button and be done with it, and yet have that same flexibility as you did in C++, but more leaning on .NET's side.

Anyway, I'll try focusing on them all, but I still beleive each language is just a tool to use its main features (mobiles, etc.), which differ on how Java would do it, or on how C++ or C# would do it. Each requires a long study in each area.
well personally I think you have answered your own question...

As SiCrane suggested,

If you feel comfortable using .Net for what you need to do, then I say: do it. Don't feel you have to learn a language because there is the potential you may one day have to use it. That's not a good attitude, and you will end up frustrated. If you don't have any interest in learning the language (and it sounds like you don't) then don't learn it.

If, on the chance you wind up in a position where you have to work with someone elses C++, well, then thats the fault of the person who is employing you not recognising where your strengths as a programmer lie.

And in any case, programming is equal parts logic, structure and planning. Be it on a high level or low level, it's all the same. The problem is that understanding the language is a small part at the beginning, that one hurdle before you can start learning those three key disciplins. The way you build skills in those areas is not by spreading yourself thin and getting the basiscs of many different languages, it's by repeated exposure to a familiar language, therefor you refine your abilites in those key areas, because you are now fluent in the language.

When your new to a language 99% of what you do is try to remember the syntax and structure, thinking about the code at hand. When your fluent in the language, you can think the code faster than you can type it, so it becomes 99% thinking ahead. Big difference.

ohh,

And choose your own path. Don't listen to me.
C++ hands down for all the reasons you'll find out later.

This topic is closed to new replies.

Advertisement