ICanHaz

Distinguished
Dec 18, 2010
2
0
18,510
i don't know if here is the best place to ask but i'm too lazy to register another account on another forum. i'm kind of reluctant to ask a programming question on a site that has "Hardware" on its name. lol anywho, here goes.

currently, what they teach me at school is C. still basic stuff. now, will the transition from C to C++ be difficult in the sense that will it be like learning another programming language altogether? or will it just be more syntax and more libraries?

also, in a professional perspective, which is the better language to master and which fields/areas are C and C++ used at?

lol i know i may be getting ahead of myself but it's been bugging me since i'm not 100% sure about the course i picked. i do like computers though so that shortens the list.
 

Pyroflea

Distinguished
Mar 18, 2007
341
0
18,930
C is an excellent language to have as a base, as quite a few of the more popular languages are based off of it. Transitioning from C to C++, Java, etc. is usually quite painless.

C# is in extremely high demand, and is a fantastic language as well if you ask me. It definitely wouldn't hurt to learn. Mind you, it depends what field you're going in to.
 

Emperus

Distinguished
Aug 10, 2008
75
0
18,610
All programming languages differ only with syntax.. A good logical mind is more important regardless of the language you choose.. Having said that, C is an excellent language to start your programming career with.. C++ is an extension of C with addition of objects and classes.. Java and C++ differ only by commands and libraries.. Otherwise they both employ object oriented programming approach.. You'll learn all this as you progress..
 

Emperus

Distinguished
Aug 10, 2008
75
0
18,610
All programming languages differ only with syntax.. A good logical mind is more important regardless of the language you choose.. Having said that, C is an excellent language to start your programming career with.. C++ is an extension of C with addition of objects and classes.. Java and C++ differ only by commands and libraries.. Otherwise they both employ object oriented programming approach.. You'll learn all this as you progress..
 

Zenthar

Distinguished
Dec 31, 2007
250
0
18,960
I like the idea of learning C first because it is a rather low-level language. To me it's a nice compromise instead of learning assembly when you want to understand the bare working of a PC, the fact that there is no such thing as magic.

When going C++, the learning curve isn't THAT hard as most of the syntax is the same (IFs, FORs, WHILEs, ...), but you have to understand the object oriented programming (OOP) paradigm (inheritance, overriding, overloading, ...) or else you will end-up writing code that could one day end-up on the dailywtf website :p. The thing I HATE about C++ it that there is no way to force OOP compliance; you can write a C program and pretty much compile it with the C++ compiler without issue and even mix both (which is the part that bothers me). You then end-up with programs that mixes "new" and "malloc", pointers and references, ... For that reason, I prefer Java for learning OOP as if forces OOP down your throat. Moreover, Java constructs are pretty identical to C (FORs, IFs, WHILEs, basic types, ...).
 

dEAne

Distinguished
Dec 13, 2009
116
0
18,660
C is my language when I was still school, I hate it very much but I have no choice. I am a nerd by nature I have mastered lots of these computer languages pretty much. What I am going to say is this pick the one you enjoy programming with not the one people says it is the best.

There are programming languages that make work more fun and quick.