C++ or C#

J

John Salerno

Hi all. I'm interested in learning a little programming, mainly as a
hobby, and I was wondering which of these two languages you would
recommend. I know C++ is the most popular, but I've heard that C# might
become the most popular in the next couple of years. I'm wondering if C#
is good enough to learn, or if it's almost a waste of time given the
power of C++. Is it as full-featured as C++? Or maybe it doesn't matter?

Anyway, I'd love to hear thoughts about these two, in terms of someone
looking to program as a hobby (but interested enough to want to make the
right decision between the two.)

Also, is there a newer version of C# coming out any time soon, or is the
..NET 2003 version the latest and recommended version?

Thanks.
 
C

Cor Ligthert

John,

It is not the program language, it are the solutions you want to make as
hobby.
That can be the reason to give you a good advise.

To give you an anology, you are asking the same as what can I learn better
French or Spanish.

Than when you would go to South America(Except Brasil and Surinam). It would
be Spanish. For Africa it would be for the most places better French.

Maybe can you explain that more.

Cor
 
F

Frank Schmitt

John said:
Hi all. I'm interested in learning a little programming, mainly as a
hobby, and I was wondering which of these two languages you would
recommend.

None of these - for a beginner, I'd rather recommend a scripting
language like Python (http://www.python.org) or Ruby
(http://www.ruby-lang.org, my personal favorite).

Reasons (most/all of these apply to Python, as well):
- Ruby is very concise - C++ and C# are very verbose
- Ruby offers an interactive shell, giving immediate feedback
- Ruby is very elegant - its iterator concept makes explicit loops
almost unneccesary

That said, if you insist on learning either C# or C++, I'd go for C# -
should be somewhat easier to learn, and I expect the importance of C++
to decline slowly (although it will be around as least as long as Cobol
was).

kind regards
frank
 
B

Bruce Wood

Between the two languages... C# for sure. C++ is very powerful, but
with all of that power comes the responsibility to dot all of your i's
and cross all of your t's. C# gives you much more help and takes some
of the niggly accounting details out of programming so you can
concentrate more on getting things done.

(Of course, as Frank Schmitt noted, there are other languages that help
you even more.)

As a beginner, don't even worry about the 2005 version of C#... unless
you're wondering about laying out money, and don't want to waste your
cash on a product that's soon to be retired. VS2005 is due to go to
Beta 2 in a month or two, which means that it will be fall before it's
on store shelves.

There is nothing wrong with learning VS2003 in the meantime. There is
lots there to keep you busy, and you won't be wasting your time and
energy: everything you learn in 2003 will be fully transferable to 2005.
 
A

Alvin Bruney [MVP]

VS2005 is due to go to
Beta 2 in a month or two, which means that it will be fall before it's
on store shelves.
Really? who told you that?

--
Regards,
Alvin Bruney [Microsoft MVP ASP.NET]

[Shameless Author plug]
The Microsoft Office Web Components Black Book with .NET
Now Available @ http://www.lulu.com/owc
 
J

John Salerno

Bruce said:
Between the two languages... C# for sure. C++ is very powerful, but
with all of that power comes the responsibility to dot all of your i's
and cross all of your t's. C# gives you much more help and takes some
of the niggly accounting details out of programming so you can
concentrate more on getting things done.

(Of course, as Frank Schmitt noted, there are other languages that help
you even more.)

First off, thanks for all the responses. I'll try to respond to them all
in one post, for efficiency.

Basically what I had in mind was just learning a language for the fun of
it. I actually enjoy the process of learning the language just as much
as actually programming with it. If I ever get around to making apps,
they would be Windows programs, so I know the two C languages are good
for that. Is Ruby good for Windows? And would learning it help me move
on to another language, or would I just have to start over with
something else later?
 
J

John Salerno

Bruce said:
As a beginner, don't even worry about the 2005 version of C#... unless
you're wondering about laying out money, and don't want to waste your
cash on a product that's soon to be retired. VS2005 is due to go to
Beta 2 in a month or two, which means that it will be fall before it's
on store shelves.

There is nothing wrong with learning VS2003 in the meantime. There is
lots there to keep you busy, and you won't be wasting your time and
energy: everything you learn in 2003 will be fully transferable to 2005.

The money is one issue (it's just annoying to have to upgrade so soon
after buying a product), but mainly I don't want to learn anything that
will be changed in a newer version. But I'm guessing, like you said,
that the new version won't affect the current one too much.
 
B

Bruce Wood

I read it here. :)

Can't find the thread any more though (naturally)... :(

Of course, it could have just been a wild rumour....
 
B

Bruce Wood

From what I've seen, the new version is the addition of cool features
to the existing one. It's not like one of those VB6-to-VB.NET version
changes where you have to throw out "everything" you know and start
over.

That said, the addition of "generics" to C# in the 2005 version is a
big improvement, so I don't want to play down the importance of some of
the new features.
 
F

Frank Schmitt

John said:
Basically what I had in mind was just learning a language for the fun of
it. I actually enjoy the process of learning the language just as much
as actually programming with it. If I ever get around to making apps,
they would be Windows programs, so I know the two C languages are good
for that. Is Ruby good for Windows?

Ruby works well on windows - although if you mostly want to create GUI
apps, the lack of a decent IDE will probably hurt you.
And would learning it help me move
on to another language, or would I just have to start over with
something else later?

IME, learning any programming language always helps in learning other
programming languages - you get a better grasp of the difference between
language specialities (sp?) and basic concepts of programming.
Since Ruby is a completely OO language, moving to C# shouldn't be too
difficult afterwards - although you'll probably miss Ruby's elegance :)
If you want to develop Windows GUI applications from the start, I'd
definitely go for C# - C++ probably has a steeper learning curve, is
more complex, and its importance will probably decline - C#'s will
probably grow. VB.net is an alternative, but personally, I consider VB a
PITA - YMMV :)

HTH & kind regards
frank
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top