Which programing language should I learn?

S

Srdja123

Like the topic says, I want to learn a language, but which should I
learn? Which language will be mostly used in the future? C++ or C#?
 
M

Mirco Wahab

Like the topic says, I want to learn a language, but which should I learn?

To do what?

Programming ICBM hardware? Analyze genetic or protein
data? Administrate a bunch of unix servers? Creating
a data centered business application for win32/win64?
Which language will be mostly used in the future? C++ or C#?

No, it'll be of course JavaScript, beyond any doubt.

Today's positions (TheDice) in the U.S.:

http://seeker.dice.com/jobsearch/se...0&FREE_TEXT=sql&Ntx=mode+matchboolean&x=0&y=0

SQL (22964)
C (15966)
Java (14785)
C++ (7136)
Javascript (5773)
Perl (4900)
Apache (2137)
PHP (2100)
Python (1208)
Assembler (251)
Fortran (121)
Smalltalk (50)


But to know some specific language is not enough,
you'll need the knowledge to handle things in
the real world using your language. This in-
volves probably a lot of concepts/tools to
know about.

Regards

M.
 
B

Bo Persson

(e-mail address removed) wrote:
:: Like the topic says, I want to learn a language, but which should I
:: learn? Which language will be mostly used in the future? C++ or C#?

Probably the one that most people learn. You are one of those making
the choice!


Bo Persson
 
J

James Kanze

To do what?
Programming ICBM hardware? Analyze genetic or protein
data? Administrate a bunch of unix servers? Creating
a data centered business application for win32/win64?
No, it'll be of course JavaScript, beyond any doubt.
Today's positions (TheDice) in the U.S.:

SQL (22964)
C (15966)
Java (14785)
C++ (7136)
Javascript (5773)
Perl (4900)
Apache (2137)
PHP (2100)
Python (1208)
Assembler (251)
Fortran (121)
Smalltalk (50)

I'm not sure what those sort of statistics really mean (although
I use them myself at times). At one time, I did something
similar for Europe, comparing C++ and Java. At that time, the
number of offers was about the same, but the C++ jobs were
typically for a longer duration. (This was for contracting
jobs.)

From other sources, I've seen that even today, more lines of
code are being written in Cobol than in any other "classical"
language. (Of course, it takes more lines of code to do a
simple job in Cobol than in any other classical language.)

If you're actually looking for a job, the real issue is offer
and demand. If there are 10000 job offers for Java, but 100000
candidates, but 5000 job offers for C++, but only 100
candidates, you're in a better market in C++. (There again, I
suspect that Cobol is the way to go: there aren't a whole lot of
offers, because companies keep the ones they've got. Because
schools aren't turning out a lot of Cobol experts today.)

Most places will require several different skills: my major
skill is C++, but I wouldn't get many job offers if I didn't
know Unix as well, and have some knowledge of SQL and a number
of other technologies.
But to know some specific language is not enough,
you'll need the knowledge to handle things in
the real world using your language. This in-
volves probably a lot of concepts/tools to
know about.

The problem is that this doesn't easily show up in a job offer,
nor in a CV.
 
E

Erik Wikström

From other sources, I've seen that even today, more lines of
code are being written in Cobol than in any other "classical"
language. (Of course, it takes more lines of code to do a
simple job in Cobol than in any other classical language.)

Kind of off-topic: That more lines of Cobal are being written seems a
bit suspect to me (but could be true, some systems are constantly
updated) but I have heard somewhere that there are still more lines of
code written in Cobol that is currently running than in any other language.
 
E

Erik Wikström

Like the topic says, I want to learn a language, but which should I
learn? Which language will be mostly used in the future? C++ or C#?

My advice is to learn C++ because it is so complex and require that you
think about a lot of stuff. In my opinion a good C++ programmer can
quite easily learn other, similar languages such as Java and C#. But to
go the other way can be harder.
 
V

Victor Bazarov

Erik said:
My advice is to learn C++ because it is so complex and require that
you think about a lot of stuff. In my opinion a good C++ programmer
can quite easily learn other, similar languages such as Java and C#.
But to go the other way can be harder.

Using the same argument, perhaps "lazy studying" is actually better
since having learned Java or C# one could be more effective sooner
than trying to comprehend the same fraction of C++. With languages
less complex it is easier to fit in a group and start contributing.

I would probably hire somebody who claims to know Java or C# to work
in a C++ shop hoping that they will learn the necessary parts of C++
as they go (provided they are capable of *un*-learning some stuff).
Similarly, if one already knows C++ relatively well, it is not such
a big stretch to expect them to do well in Java or C#, but getting to
the "knows well" point is much more difficult in C++.

Just my $0.04...

V
 
J

jkherciueh

Erik said:
My advice is to learn C++ because it is so complex and require that you
think about a lot of stuff.

Equivalently: C++ is very complicated and you have to worry about many
gotchas.

In my opinion a good C++ programmer can
quite easily learn other, similar languages such as Java and C#. But to
go the other way can be harder.

Equivalently: an average C++ programmer moving to a similar language will
feel that, for the first time in his life, he can spend time on thinking
about the problem at hand as opposed to the language.


(sorry, couldn't resist :)


Best

Kai-Uwe Bux
 
S

Sherman Pendley

Like the topic says, I want to learn a language, but which should I
learn?

As many as you can.

Do you see house painters asking which color to learn?

sherm--
 
J

James Kanze

On 2008-01-02 23:28, James Kanze wrote:
Kind of off-topic: That more lines of Cobal are being written
seems a bit suspect to me (but could be true, some systems are
constantly updated) but I have heard somewhere that there are
still more lines of code written in Cobol that is currently
running than in any other language.

Yes, I'm not at all sure how reliable those "other sources" are.
I'm not even sure that there is any reliable way of measuring
this.

The original poster seemed to be mainly concerned with job
security. With that in mind, I can assure him that good Cobol
programmers have a job for life. They've become exceedingly
rare, and there is all that legacy code out there.

Of course, if the issue is job satisfaction... I wouldn't do
Cobol if I were paid by the line.
 
J

James Kanze

[...]
I would probably hire somebody who claims to know Java or C# to work
in a C++ shop hoping that they will learn the necessary parts of C++
as they go (provided they are capable of *un*-learning some stuff).
Similarly, if one already knows C++ relatively well, it is not such
a big stretch to expect them to do well in Java or C#, but getting to
the "knows well" point is much more difficult in C++.

From personal experience (having actually been involved in
vetting prospective employers at various times): I would never
hire anyone because the "claimed to know X". I would be
especially leary if X happened to be the latest "in" language
(e.g. C#, at present), since in my experience, the bluffers tend
to choose the language whose name pops up most.

On the other hand, I wouldn't hesitate hiring someone to do C++
who'd never written a line of C++, if they could show
proficiency in another language, and could show familiarity with
things like good OO design, or more generally a sound
development process.
 
P

Puppet_Sock

Of course, if the issue is job satisfaction... I wouldn't do
Cobol if I were paid by the line.

Heh heh. I know a guy who knows Cobol. He very
carefully does *not* put that information on
his resume. He would be able to get as many
contract hours, at his highest rate, as he
could tolerate. But it's doing work in Cobol!
And it's doing maintenance work on accounting
packages with batch-command-line interfaces.
On legacy hardware that is older than him.

But if he ever wants a really nice car...
Socks
 
T

tragomaskhalos

Like the topic says, I want to learn a language, but which should I
learn? Which language will be mostly used in the future? C++ or C#?

Which to learn? The answer depends on your situation, and previous
experience, which unfortunately you don't tell us.

Which will be mostly used in the future? Meaningless question really
as it depends on what business area you're talking about - software
engineering is a very broad church.

So the best I can do is give my personal impressions ....

If you are a 38-year old estate agent who wants a career change but
is not particularly technical, Java or C# would be a good starting
point. They are relatively easy and straightforward for people with
a modicum of technical ability to grasp.

If you are a 17-year old whizzkid who already codes in x86 assembler
for fun, then learn C++. C++ is extremely powerful and rewarding,
but it is also complex, obtuse and requires more up-front effort
to make progress.

Most people fall somewhere between these two poles.

C# evolved from Java which in turn sort-of-evolved from C++; Java
was specifically engineered to be more idiot-proof than C++ and
pushed C++ out of a lot of its previous niches on that basis.
C++ is still strong in areas where portability and/or performance
and/or a high degree of low-level control are important - eg.
shrinkwrapped applications, games, operating systems. C# and
Java compete for largely the same niche, and predominate in
bespoke enterprise applications ("company X need a system to
automate their such-and-such operation" sort of thing).
This is necessarily a rather crude stereotype of a more complex
picture, but you get the idea ...

If you know C++, you can pretty much do Java / C# straight off
the bat (I speak from personal experience here). The converse
is not true; a C#er would be utterly perplexed by much of C++
unless he does a fair bit of training / reading first.

Use the internet to get a feeling for C++, C# and other
languages (though note there are a *lot* of really crap
tuturial sites out there); if you want a career in programming,
search jobsites, see what jobs interest you and see what
skills they require.

HTH
 
T

Tomás Ó hÉilidhe

Like the topic says, I want to learn a language, but which should I
learn? Which language will be mostly used in the future? C++ or C#?


I'd learn C and C++. Probably best to go with C++ first. I use both
languages for all kinds of projects and have never wanted for another
language.
 

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

Members online

No members online now.

Forum statistics

Threads
473,743
Messages
2,569,478
Members
44,899
Latest member
RodneyMcAu

Latest Threads

Top