#### Archived

This topic is now archived and is closed to further replies.

# Which Language to Learn Visual C++ or Visual C#?

This topic is 5284 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

## Recommended Posts

I recently got my hands on Visual Studios .Net. I am a decent programmer in Visual basic, however the .NET version is way different. I want to learn a C language because most code examples out there are in C. But which C should I teach myself. Visual C++ or Visual C#. I plan to write simple windows applications, and perhaps eventually play with DirectX. But obviously I will start with the basics. So which shall I start with. Is C++ stronger but C# is less powerful but easy.

##### Share on other sites
I would definitely say C#; especially if you want to do some simple Windows applications.

Chheck out Dr. GUI .NET on MS''s site. It''s a nice C#/VB/ASP .NET tutorial.

"Yeah, I would''ve killed you, but I''m glad I didn''t - the paperwork is a bitch"

##### Share on other sites
Learn them both.

Learn C# first then go backwards and learn some C++ as you play with DX. C# has managed DX libraries, but C++ is still a very marketable skill.

Oh and the other day during the summer my boss came to me and said, "did you know the average salary of a .NET developer is $100,000?!" All I could say is "wow!"; my intern salary didn''t really approach that and I was punching C# out. Maybe next summer. #### Share this post ##### Link to post ##### Share on other sites I would experiment. I have said this several times today. Look through both of them. Which has easier to read source code? Which seems easier to you? Whgich do you feel most comfortable with? I would say go with C++, but I want to experiment with C# when I get my copy. Scott Simontis e-mail:ageofscott@comcast.net AIM:ssimontis #### Share this post ##### Link to post ##### Share on other sites I don''t really know what c# is about but i would reccomend thinking through what i would want to use the language for and see which one would be most applicable to what i want to do, if i want to go for graphics i may opt for c++ and opengl for example. (just an example i don''t know if you can use c# with opengl etc.) -------------------- Though this program be madness, yet there is a method in''t #### Share this post ##### Link to post ##### Share on other sites Consider this, C/C++ are much more multiplatform than C#. It''s an MS brainchild, like DX, but I don''t think it''ll be the dominating language. Of course I tend to sway towards Linux/cross-platform and OGL so...pick what you want, but in the end you should learn both. #### Share this post ##### Link to post ##### Share on other sites It''s a lot faster to create a simple windows app in C#... and almost as flexible (remember that you can DllImport anything that the framework doesn''t natively have). The DirectX documentation for C# absolutely sucks... other than that it''s about the same amount of coding for DX in C++ or C#. here''s your basic windows form in C#: using System.Windows.Forms;class MyForm : Form{ static void Main() { Application.Run(new MyForm()); } MyForm() { Text = "My First Form!"; }}  In C++, you also have to define the whole window class structure, register it, and define a WndProc. Or you could use MFC and submit to the ways of the Dark Side(tm). #### Share this post ##### Link to post ##### Share on other sites quote: Original post by Eskhan just an example i don''t know if you can use c# with opengl etc. csgl.sourceforge.net : I''ve only played with it but it looks nice. Actively developed and deemed "stable". I don''t understand why one would want to learn C# before Java. Unless you''ve got a very specific reason for needing .NET, Java is pretty much the same thing; except far more mature, far more used, diverse, not susceptible to the whims of one company, and runs on pretty much anything. There''s more to programming than Microsoft, kiddies #### Share this post ##### Link to post ##### Share on other sites quote: not susceptible to the whims of one company HAH! Not that I like Microsoft, but this made me laugh. #### Share this post ##### Link to post ##### Share on other sites yeah Java is what I would go for because there is''nt much between C# and java. Once you have java then C# will be very easy to learn. Also you could go for small talk first and learn the program in oop(I did that and java was easy after that). #### Share this post ##### Link to post ##### Share on other sites Or, if you simply don''t care about portability (since you''re going to learn DirectX anyway), you could avoid wasting time and just learn C#. #### Share this post ##### Link to post ##### Share on other sites Thanks all of you - Keep the opinions coming, I am not fully convinced cause the ideas are rather spread out. Its come down to I will learn both languages in the end, but I think I am leaning towards C++ first but as I said not sure. #### Share this post ##### Link to post ##### Share on other sites If you want to get into PC/console game programming, learn C++. If you want to use your programming to work just about anywhere else, learn Java. Sun even has a Visual Basic resouce center for people who are leaving Microsoft's abandoned version of VB and moving on (though it seems mainly targeted at web programmers). If you absolutely want to use Visual Studio dotNET because you spent a lot of money on it, go with C# since I suspect its libraries simplify a lot of the ugly Windows development. [edited by - HenryAPe on September 1, 2003 5:27:26 PM] #### Share this post ##### Link to post ##### Share on other sites quote: Original post by Anonymous Poster quote: not susceptible to the whims of one company HAH! Not that I like Microsoft, but this made me laugh. And why is that? How much do you work with Java? Many companies/organizations have stakes in Java, not just Sun. IBM''s got just as much riding on the language as anybody. You''ve got things like, for example, Java2D that were codeveloped between IBM, Kodak, Sun and Adobe. Java is almost entirely developed by community process. The pattern new Java tech follows is to develop a standard by community process, then let anyone who wants implement that standard. JMX (the standard) and JDMK (Sun''s implementation) is an example. Sun couldn''t highjack JMX even if they wanted to. It''s not exactly ANSI C here, but they''ve done a good job IMO. quote: Its come down to I will learn both languages in the end, but I think I am leaning towards C++ first but as I said not sure. One thing is for sure, learning C++ first will make learning these new "toy" managed languages very easy #### Share this post ##### Link to post ##### Share on other sites I don''t know if this was bought up before. But isn''t the reason MS created C# was because they got sued and lost over J++? I think C# is MS answer to java right? #### Share this post ##### Link to post ##### Share on other sites Nah, J# is their answer to Java #### Share this post ##### Link to post ##### Share on other sites C# is the real answer to Java. J# is stuck in a six year old version of Java and is just there to trick Java developers that it will be easy to migrate to dotNET. #### Share this post ##### Link to post ##### Share on other sites Actually, I''d rather use JLCA to migrate from Java to .NET. -- AnkhSVN - A Visual Studio .NET Addin for the Subversion version control system. [Project site] [Blog] [RSS] [Browse the source] [IRC channel] #### Share this post ##### Link to post ##### Share on other sites I''d learn C++. I heard some bad things about Managed DirectX and C# (apart from eachother), tho those things could ofcourse be wrong, I have not checked them. You are saying Visual C++, but C++ itself is much more. You can use it on many other developement environments, such as Borland. Making a win32 app with Borland is way easy. Far more easier then with VC++; just drag some buttons and connect events to them... Another word on that, imho C# is written for win32 app development. They wrote a total language for this - normally it would be just a library. M$ made some design-screwups when designing the win32 development in C (which you mostly use when you are writing win32apps in C), again imho.

As said abouve, learn C++ from a good book. "The C++ programming language" is heavy stuff, but it''ll do the job in the best way possible. Then the other languages are very easy to learn.

##### Share on other sites
quote:
Original post by Anonymous Poster "The C++ programming language" is heavy stuff, but it''ll do the job in the best way possible. Then the other languages are very easy to learn.

What job would that be? Curing insomnia?

##### Share on other sites
Learning you a descent knowledge of the language, which i think is important.

No offence, but i see a lot of bad/ugly coding around this scene in C++. Many problems can be solved cleaner.

I also recommend the book "Exceptional C++", which shows some pitfalls. And ofcourse it''s successor.

##### Share on other sites
quote:
What job would that be? Curing insomnia?

LOL, how true. Seriously, that book is really bad (and not in a good way).

##### Share on other sites
I''m sorry for being so arrogant. I actually don''t like people being arrogant. However, it is not always possible to _not_ be arrogant.

Why is that book bad? Do you have any arguments?

It is recommended by almost everyone on the C++ newsgroups, and so do I.

##### Share on other sites
It contains the necessary info but it is just not very reader-friendly. Quite incoherent.

##### Share on other sites
On first sight I had to agree, about the reader-friendly thing. But later on when you raed more you get used to the style and it gets quite acceptable.

Later I read another book, but found it rather irritating because it was not so clear as "The C++ Programming Language". It didn''t follow a logical path to teach you something. More books have this problem. And yes, I have read more then a couple of books...

Tho, for some people this book is indeed too heavy stuff (no offense).