C or C++

Player's Avatar, Join Date: Aug 2007
Go4Expert Member
Hi all.

Due to changing times in my line of work, ideally I need to be learning C++. I have some knowledge of C so this is my problem.

1 Do I continue and finish learning C, and then move to C++ or....

2 Do I scrap C and start C++?

I have been told that knowing C before learning C++ has it's disadvantages.

A few bit's of advice from you pro's would be much appreciated.
xpi0t0s's Avatar, Join Date: Aug 2004
Mentor
C and C++ are different languages with shared heritage and just as with the question "should I use a hammer or a screwdriver" you have to look at the job you need to use the tool for. So if you need C++ then you should learn C++.

What do you need C for?
SaswatPadhi's Avatar, Join Date: May 2009
~ Б0ЯИ Τ0 С0δЭ ~
with xpi0t0s.

Quote:
Originally Posted by Player View Post
I have been told that knowing C before learning C++ has it's disadvantages.
Player's Avatar, Join Date: Aug 2007
Go4Expert Member
Thanks guys, you have pretty much said what i thought you were going to say.

Cheers
Player's Avatar, Join Date: Aug 2007
Go4Expert Member
Quote:
Originally Posted by xpi0t0s View Post
C and C++ are different languages with shared heritage and just as with the question "should I use a hammer or a screwdriver" you have to look at the job you need to use the tool for. So if you need C++ then you should learn C++.

What do you need C for?
I work in the fruit machine industry and we use C to program our reel based products. I was kinda promised a job if I learnt C.

Things have changed a lot and video based product will be the way forward plus online stuff.

I don't want to waste my time learning C only to find out later on that things are going to change. I'm confident that video will be big so that's why i'm asking this question
xpi0t0s's Avatar, Join Date: Aug 2004
Mentor
Learning C is no waste of time. Embedded software will always use it. Even if you eventually learn C++ knowledge of C will help, the main difference between C and C++ is the different focus of the language - C is procedural but C++ is object oriented, and understanding procedural programming can be something of an obstacle to learning OO techniques as they are very different (although it seems to be that OO is built on top of procedural - sure, objects send messages to objects, but how are they going to do that without a bit of procedural glue to hold it all together?).

> kinda promised a job if I learnt C

Watch out for stuff like that. So the answer was NO because you don't have the skills, but if you train yourself, i.e. not at the company's expense but at your own expense, for a skill you don't need except for working at the company and for their benefit, then they'll give you a job? Do you have the word "SUCKER" tattooed on your forehead or something?

If the answer is NO then look elsewhere. If the answer is YES then get a start date. Skills are easy to acquire - it just takes a couple of weeks (full time) to get a good handle on C and it can be at least equally important that you and the people you'll be working with get on well together.
Player's Avatar, Join Date: Aug 2007
Go4Expert Member
Quote:
Originally Posted by xpi0t0s View Post
Learning C is no waste of time. Embedded software will always use it. Even if you eventually learn C++ knowledge of C will help, the main difference between C and C++ is the different focus of the language - C is procedural but C++ is object oriented, and understanding procedural programming can be something of an obstacle to learning OO techniques as they are very different (although it seems to be that OO is built on top of procedural - sure, objects send messages to objects, but how are they going to do that without a bit of procedural glue to hold it all together?).

> kinda promised a job if I learnt C

Watch out for stuff like that. So the answer was NO because you don't have the skills, but if you train yourself, i.e. not at the company's expense but at your own expense, for a skill you don't need except for working at the company and for their benefit, then they'll give you a job? Do you have the word "SUCKER" tattooed on your forehead or something?

If the answer is NO then look elsewhere. If the answer is YES then get a start date. Skills are easy to acquire - it just takes a couple of weeks (full time) to get a good handle on C and it can be at least equally important that you and the people you'll be working with get on well together.
Thanks for the sound advice xpi0t0s. I think i'm going to carry on with the C. Once i have learnt that, if they don't want to give me a job then i'll look elswhere .
aVague's Avatar, Join Date: May 2007
Go4Expert Member
c++ is better ,when you want to create something large
c is more usefull in understanding/processing smaller things