C# and C++

Started by
15 comments, last by Emeran 21 years, 8 months ago
Hey Guys, Ive just started to learn C++ but im wondering if perhaps I should have looked into C# instead. Could any of you explain C# to me? Would I do better to stop where im at with C++ and move to C#? And lastly, I installed visual C++.net on my computer which seems to me to be just visual studio.net with only C++ stuff. Can I install visual C#.net on top of visual C++.net? (did I word that right??) Thank you for your help.
Advertisement
I would say stick with learning C++ then if you want to later on, look into C#, learning C++ will be a great benifit...

CEO Platoon Studios
[email=esheppard@gmail.com]esheppard@gmail.com[/email]
C++ is more general, so learning C++ will make great benefits later. C# is .NET specific, meaning it can only make programs run under .NET platform.

My compiler generates one error message: "does not compile."
My compiler generates one error message: "does not compile."
Learning C# first would be a hell of a lot less frustrating to a newbie than learning the confused mess that is C++. The fact that you have a vast class library available to you which lets you do interesting things very early on(such as GUI programming, sockets, threading etc...) makes the whole learning process a lot more motivating and you are much less likely to give up. While some see those months working with cout and cin as some sort of rite of passage, I don''t.
quote:
C++ is more general, so learning C++ will make great benefits later. C# is .NET specific, meaning it can only make programs run under .NET platform.

This is a valid point, but it doesnt really matter for someone at Emeran''s stage. If you are new at programming, your choice of learning language shouldnt be dictated by considerations as to industry support and the whole "my language is more l33t than your language" thing. The only thing that matters is the pedagogical aspect of the language.
As a newbie, you should learn the concepts behind programming. C++ has a tendency to hide those concepts behinds layer upon layer of quirky syntactical issues, and as such is not very well suited to be a beginner language.

quote:
Can I install visual C#.net on top of visual C++.net?

Visual Studio.NET is mostly a plugin architecture. You have the base IDE, and then you have all the languages that can be plugged into it(Third party vendors have made plugins for other languages as well, such as Python, Perl and XSL/T). Installing VC# should work just fine.


"It is precisely because it is fashionable for Americans to know no science, even though they may be well educated otherwise, that they so easily fall prey to nonsense. They thus become part of the armies of the night, the purveyors of nitwittery, the retailers of intellectual junk food, the feeders on mental cardboard, for their ignorance keeps them from distinguishing nectar from sewage."
Isaac Asimov
--AnkhSVN - A Visual Studio .NET Addin for the Subversion version control system.[Project site] [IRC channel] [Blog]
Thank you all for your reply, particularly Arild Fines, who not only answered my questions but responded to the other posters comments. Im going to go ahead and order some C# books and visual C#.net. I still have all of my C++ stuff so I can always go back there if need be.

Thanks again!
quote:Original post by Arild Fines
Learning C# first would be a hell of a lot less frustrating to a newbie than learning the confused mess that is C++.


I''d hardly consider C++ a confusing mess. The basics of C++ are just as easy to learn as C#.

quote:
The fact that you have a vast class library available to you which lets you do interesting things very early on(such as GUI programming, sockets, threading etc...) makes the whole learning process a lot more motivating and you are much less likely to give up.


Agreed. C++ lacks a strong standard library for doing things such as interprocess communication/remoting, GUI programming and what not. C++ is still a very exciting language to learn though.

I can''t wait until C# supports generic programming though.



Dire Wolf
www.digitalfiends.com
[email=direwolf@digitalfiends.com]Dire Wolf[/email]
www.digitalfiends.com
i guess the bigger question is what do you want to use programming for. all of the big console game makers use C and maybe some c++. windows games are almost exclusively written in C/C++ or Visual Basic. most windows GUI applications are written in Visual Basic and some in C++. most scientific programs are written in c/c++

note that i haven't mentioned C# anywhere, b/c i honestly don't know of any domain of application programming that uses it in the majority of the field. if there's a field out there in which the majority use C#, i'd like to know so i can give some validity to the language in my own mind.

C# hasn't taken off yet, so learning C# at the expense of C++ you are banking on the industry turning to C#. learning C# in addition to C++ could be good for resume stuff.

I also don't think C++ is a hard language. I think it's pretty easy given that you have a good book from which to learn. the STL _is_ a big library from which you can draw many good things. my biggest hurdle in C/C++ programming was the lack of any native support for strings. STL solves that with it's string class.

my general feeling on learning programming languages or APIs is that you should learn as a first language the one that is the most commonly used in the industry that you wish to enter. In general, it looks best if you have the most experience with the language that the company you are applying to uses. learning an industry standard language is the best way to hedge your bets. IMHO, learning, as a first language, one that not many people use is not the best use of your time.

-me

[edited by - Palidine on August 18, 2002 4:08:40 PM]
quote:Original post by Palidine
i guess the bigger question is what do you want to use programming for. all of the big console game makers use C and maybe some c++. windows games are almost exclusively written in C/C++ or Visual Basic. most windows GUI applications are written in Visual Basic and some in C++. most scientific programs are written in c/c++

note that i haven''t mentioned C# anywhere, b/c i honestly don''t know of any domain of application programming that uses it in the majority of the field. if there''s a field out there in which the majority use C#, i''d like to know so i can give some validity to the language in my own mind.

C# hasn''t taken off yet, so learning C# at the expense of C++ you are banking on the industry turning to C#. learning C# in addition to C++ could be good for resume stuff.

I also don''t think C++ is a hard language. I think it''s pretty easy given that you have a good book from which to learn. the STL _is_ a big library from which you can draw many good things. my biggest hurdle in C/C++ programming was the lack of any native support for strings. STL solves that with it''s string class.

my general feeling on learning programming languages or APIs is that you should learn as a first language the one that is the most commonly used in the industry that you wish to enter. In general, it looks best if you have the most experience with the language that the company you are applying to uses. learning an industry standard language is the best way to hedge your bets. IMHO, learning, as a first language, one that not many people use is not the best use of your time.

-me

[edited by - Palidine on August 18, 2002 4:08:40 PM]


Why do you assume Emeran is in such a hurry to learn? Its totally possible to apply skills and techniques you learn in one language to another. The majority of programming languages all have the same concepts - if statements, loops, assigment... Once you have them down, its easy to pick up another language. The same goes for OO languages and concepts too.

I agree with Arild Fines, C++ *is* a mess compared to "modern" languages like C#, Java or Python. Beginners shouldnt have to worry about array bounds checking or pointers etc. They''ll only end up getting frustrated and then quitting programming all together. Beginners want to able to get results quickly - so their confidence increases along with their interest in programming. They shouldn''t worry about the whatever industry they want to get into yet - if they do then they are going about programming the wrong way IMO.

Python is recommended as a good beginners language by many experts - and from what i''ve seen of it i agree.
I would go the same way - start learning with a "strong runtime" language such as Java or C#.

Then moving to C+ will be faster, though very frustrating - frustrating in that you basically will realise how much money a good runtime saves you :-)

Regards

Thomas Tomiczek
THONA Consulting Ltd.
(Microsoft MVP C#/.NET)
RegardsThomas TomiczekTHONA Consulting Ltd.(Microsoft MVP C#/.NET)
As a beginner I''m learning C++ first. My cousin recommends it as a MS Certified programmer that knows both C++ and C#. I really have no idea. I haven''t looked in C# either. Considering I''m young I can''t afford to spend 2k on Visual Studio.net anyway.

This topic is closed to new replies.

Advertisement