Archived

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

BKStoltman

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

Recommended Posts

BKStoltman    100
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 this post


Link to post
Share on other sites
rohde    432
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 this post


Link to post
Share on other sites
antareus    576
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
sSimontis    100
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
Eskhan    122
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
Guest Anonymous Poster   
Guest Anonymous Poster
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
Nypyren    12074
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
tortoise    122
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
Guest Anonymous Poster   
Guest Anonymous Poster
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
Themonkster    159
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
BKStoltman    100
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
HenryApe    120
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
tortoise    122
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
hellfire    122
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
HenryApe    120
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
Guest Anonymous Poster   
Guest Anonymous Poster
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 this post


Link to post
Share on other sites
Arild Fines    968
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 this post


Link to post
Share on other sites
Guest Anonymous Poster   
Guest Anonymous Poster
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 this post


Link to post
Share on other sites
Guest Anonymous Poster   
Guest Anonymous Poster
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 this post


Link to post
Share on other sites
Guest Anonymous Poster   
Guest Anonymous Poster
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).

Share this post


Link to post
Share on other sites