Should I learn C++?

S

Scott Sellers

Hi,

I am a Junior Software Engineer who currently works programming in
Delphi. I have been working with Delphi for around 12mths but I am
interested in learning C++.

The reason for this interest is that I noticed that alot of
universities have started to teach C++ as their core language and I am
beginning to think that its time now to widen my range of programming
languages/skills. When I was at university I personally learned Java
and Delphi as part of my studies but following my graduation I focused
on using Delphi (which for the most part as been quite simple) as I
enjoy developing and working with Windows Apps.

I am not sure if I should learn C++, I know that it would be a useful
skill but I was wondering if it would affect my work with Delphi. I
also don't know where I should start with learning C++ (if at all), do
I start with the very basics or would my previous experience help me
in developing this new skill.

I am sorry if this is not a good question for this forum but I have
used Google groups in the past and found it very helpful.

Thanks

Scott
 
G

Greg Comeau

I am a Junior Software Engineer who currently works programming in
Delphi. I have been working with Delphi for around 12mths but I am
interested in learning C++.

The reason for this interest is that I noticed that alot of
universities have started to teach C++ as their core language and I am
beginning to think that its time now to widen my range of programming
languages/skills. When I was at university I personally learned Java
and Delphi as part of my studies but following my graduation I focused
on using Delphi (which for the most part as been quite simple) as I
enjoy developing and working with Windows Apps.

I am not sure if I should learn C++, I know that it would be a useful
skill but I was wondering if it would affect my work with Delphi. I
also don't know where I should start with learning C++ (if at all), do
I start with the very basics or would my previous experience help me
in developing this new skill.

I am sorry if this is not a good question for this forum but I have
used Google groups in the past and found it very helpful.

It's hard to say, but 12 months is not a vast amount of experience
so it may not hurt for you to start from the very basics. And if
you find you know some of the basics, then use it as a review.
Often thought the mindset and focused and goals of different
languages establish different and new basics, so I doubt you'll
be in much dillemma. But keep an open mind, since Delphi ways
are not necessarily C++ ways, and so on.
 
G

Gianni Mariani

Scott said:
Hi,

I am a Junior Software Engineer who currently works programming in
Delphi. I have been working with Delphi for around 12mths but I am
interested in learning C++.

The reason for this interest is that I noticed that alot of
universities have started to teach C++ as their core language and I am
beginning to think that its time now to widen my range of programming
languages/skills. When I was at university I personally learned Java
and Delphi as part of my studies but following my graduation I focused
on using Delphi (which for the most part as been quite simple) as I
enjoy developing and working with Windows Apps.

I am not sure if I should learn C++, I know that it would be a useful
skill but I was wondering if it would affect my work with Delphi. I
also don't know where I should start with learning C++ (if at all), do
I start with the very basics or would my previous experience help me
in developing this new skill.


Yes, you should learn C++.

The best way to learn a language is by using it. Pick a small project,
say a small utility text file manipulation tool that gets you to
exercise the language. Say a file sorting tool that reads in strings of
various types (ints, floats, strings) and then you can pick a way to
sort these.
 
W

Walter Bright

Scott said:
The reason for this interest is that I noticed that alot of
universities have started to teach C++ as their core language and I am
beginning to think that its time now to widen my range of programming
languages/skills.

If you want a broad range of useful programming skills, then C++ is a
must to learn, along with Java, Ruby, Lisp, Assembler, and D.
 
G

GeekBoy

Scott Sellers said:
Hi,

I am a Junior Software Engineer who currently works programming in
Delphi. I have been working with Delphi for around 12mths but I am
interested in learning C++.

The reason for this interest is that I noticed that alot of
universities have started to teach C++ as their core language and I am

No, they have been for many years.
beginning to think that its time now to widen my range of programming
languages/skills. When I was at university I personally learned Java

Which is based on C++
 
D

dave_mikesell

If you want a broad range of useful programming skills, then C++ is a
must to learn, along with Java, Ruby, Lisp, Assembler, and D.

How much would one's range be broadened by learning D after learning C+
+ and Java?
 
C

Christopher Pisz

The reason for this interest is that I noticed that alot of
universities have started to teach C++ as their core language and I am
beginning to think that its time now to widen my range of programming
languages/skills. When I was at university I personally learned Java
and Delphi as part of my studies but following my graduation I focused
on using Delphi (which for the most part as been quite simple) as I
enjoy developing and working with Windows Apps.


<sarcasm> Universities teach C++?!!
The two universites I attended only forced me to use some kind of hybrid C
and deprecated C++ mix that they called C++ and alot of bad programming
practices. They also shoved Linux down my throat and forced me to pretend to
hate Microsoft. There wasn't much teaching involved.
 
V

Victor Bazarov

Martijn said:
* Christopher Pisz:

Well, maybe you haven't *learned* anything.... ;)

Most likely nothing of what they weren't teaching, but
certainly something else, probably. :)
 
G

Gianni Mariani

Christopher Pisz wrote:
....
<sarcasm> Universities teach C++?!!
The two universites I attended only forced me to use some kind of hybrid C
and deprecated C++ mix that they called C++ and alot of bad programming
practices. They also shoved Linux down my throat and forced me to pretend to
hate Microsoft. ...

And what's the problem ?

:)
 
V

Victor Bazarov

Walter said:
In D you can do advanced things with much less effort than in C++.

I think that just confirms the point. If it's easier, what's the
value of _learning_ it? Using it, I can understand. But learning?
It's like learning to drive automatic after mastering stick shift.
 
C

Christopher Pisz

Martijn van Buul said:
* Christopher Pisz:

Well, maybe you haven't *learned* anything.... ;)

I learned how to say," yes ma'm or yes sir... absolutly right, we should all
use iostream.h fstream.h stdlib.h etc, declare main to return void, never
use the STL but rather implement our own buggy data structures, use char
arrays instead of strings, use atoi and itoa instead of a stringstream,
warnings are only displayed to entertain us, trunctation is a word we
shouldn't really worry about, the more globals we have the better, VIM is
the best tool to use when writing my code because it is extremely important
that I dedicate hours to memorizing keystrokes instead of writing code, the
debugger? that's something I'll learn later when I am on the job...my
employer won't mind. Yes ma'am or sir, you've been doing this since i was
still semen, so you are correct as usual. Oh and yes all republicans suck
and we should all smoke pot, have gay marraiges, and it is my fault that
women are sex objects because I have been beating them with a baseball bat
since birth to dance for money. Absolutly...yes ma'am.
 
G

Gianni Mariani

Christopher said:
I learned how to say," yes ma'm or yes sir... absolutly right, we should all
use iostream.h fstream.h stdlib.h etc, declare main to return void, never
use the STL but rather implement our own buggy data structures, use char
arrays instead of strings, use atoi and itoa instead of a stringstream,
warnings are only displayed to entertain us, trunctation is a word we
shouldn't really worry about, the more globals we have the better, VIM is
the best tool to use when writing my code because it is extremely important
that I dedicate hours to memorizing keystrokes instead of writing code, the
debugger? that's something I'll learn later when I am on the job...my
employer won't mind. Yes ma'am or sir, you've been doing this since i was
still semen, so you are correct as usual. Oh and yes all republicans suck
and we should all smoke pot, have gay marraiges, and it is my fault that
women are sex objects because I have been beating them with a baseball bat
since birth to dance for money. Absolutly...yes ma'am.

You forgot the repentance for your repressed memories of using cobol in
your previous incarnation.
 
I

Ian Collins

Victor said:
I think that just confirms the point. If it's easier, what's the
value of _learning_ it? Using it, I can understand. But learning?
It's like learning to drive automatic after mastering stick shift.
It took me quite a while to stop using two feet!
 
V

Victor Bazarov

Ian said:
It took me quite a while to stop using two feet!

It's like speaking English to a colleague after a phone conversation
[in Russian] with my wife - requires a mental effort to switch... So,
did you broaden your horizon by learning to drive automatic?
 
I

Ian Collins

Victor said:
Ian said:
It took me quite a while to stop using two feet!

It's like speaking English to a colleague after a phone conversation
[in Russian] with my wife - requires a mental effort to switch... So,
did you broaden your horizon by learning to drive automatic?
Not realy, but it was a requirement for the environment (the US). When
I returned to my normal environment, I kept forgetting the clutch and
stalling. I'm sure there's an analogy buried in that somewhere!
 
U

Unknownmat

The reason for this interest is that I noticed that alot of
universities have started to teach C++ as their core language and I am
beginning to think that its time now to widen my range of programming
languages/skills. When I was at university I personally learned Java
and Delphi as part of my studies but following my graduation I focused
on using Delphi (which for the most part as been quite simple) as I
enjoy developing and working with Windows Apps.

I would recommend against learning C++ if your stated goal is to
broaden your horizons. From a language perspective C++ is quite
similar to Java which you already know.

I strongly recommend that you cast your net a bit further. In
particular, I would recommend a LISP variant because it is so easy to
write mini-languages within it. Haskell would be good because it is a
purely functional, lazy language and learning its type system will be
quite insightful. To round out the list, I also recommend at least
understanding the basics of Prolog (the canonical logic-deduction
language).

Anyway, there are a ton of languages out there that represent widely
disparate means of reasoning about programs. For a somewhat shallow
overview of 6 or 7 that you ought to know (of which Java/C++ are
conspicuously absent), please see: http://www.informit.com/articles/article.asp?p=704316&rl=1.
I think there are huge advantages to be able to think in completely
different paradigms (even if you stick with Java professionally), and
in this regard C++ doesn't fall far enough from the Java tree (or vice
versa, actually), for me to be able to recommend it to you.

BTW, if you have not already read this, then I strongly recommend
reading the book "Structure and Interpretation of Computer
Programs" (which uses Scheme): http://mitpress.mit.edu/sicp/. This
book is quite amazing. Talk about broadening your horizons.
 
I

Ian Collins

Unknownmat said:
I would recommend against learning C++ if your stated goal is to
broaden your horizons. From a language perspective C++ is quite
similar to Java which you already know.
My Ford is similar to my Landrover, but the latter gets me to way more
interesting places.
 
W

Walter Bright

Victor said:
I think that just confirms the point. If it's easier, what's the
value of _learning_ it? Using it, I can understand. But learning?
It's like learning to drive automatic after mastering stick shift.

You do learn to appreciate an auto after learning a stick <g>.
 

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,769
Messages
2,569,580
Members
45,054
Latest member
TrimKetoBoost

Latest Threads

Top