Page 1 of 2

C or C++

Posted: Sat Sep 09, 2006 4:55 pm
by shiznatix
I want to learn one of them because its compiled and what have you so ya. Which should I learn though? Really I just want to know the one that is most 'in demand' and would make me a more valuable employee.

Posted: Sat Sep 09, 2006 5:03 pm
by n00b Saibot
shiznatix wrote:Really I just want to know the one that is most 'in demand' and would make me a more valuable employee.
Java :P

Posted: Sat Sep 09, 2006 5:06 pm
by shiznatix
gah I have been trying to avoid Java but i suppose you may be correct.

Posted: Sat Sep 09, 2006 5:20 pm
by Mordred
If you want to get seriously into programming, learn different paradigms, not just languages.
If you know OOP with PHP5, C++ or Java will offer little new.
Since PHP is like C in another skin, you'll find the C syntax familiar, but the actual coding frustrating (ya have to define them variables, you know ;)
For a really mind-opening experience try LISP (or rather Scheme, as the academics prefer it AFAIK) and/or PROLOG -- they are not just different languages, but totally different programming worlds.
Then go back to PHP and start using lambda functions and generated code like real men do ;) (Just kidding, hey)

To answer your question directly - if you have to choose betwen C and C++, go for the ++.

Posted: Sat Sep 09, 2006 5:27 pm
by alex.barylski
Java developers are high in demand, but most jobs which seek Java developers also seek a minimum of 4 years post-secondary schooling, in addition to job experience.

So although learning Java wouldn't hurt, you may find it difficult to actually get a job programming in Java.

C/C++ have the added benefit that they are still very common. C will let you eventually get into OS kernel design, etc. Play aorund with *nix... :P

C++ is still the most widely used application programming langauge for desktop environments, although C# is slowly gaining ground, it still has a ways to go before it topples C++ stance on the market share.

C++ is quite complex...it's like C (which is complex in it's own right) but with the added complexities of advanced design pattern concepts, best practices, etc...

There are many ways of doing one thing and each has advantages over the next...Smart pointers, Templates, Libraries, Functors, Delegates and so on...

Of course the power you unleash when you learn C++ is unparalelled in any language (why it remains popular so many years later) it's learning curve as a whole is larger than any existing language (also why it remains popular).

You can be as close to the machine as a system language like C or almost as abstract as PHP, infact it's sometimes more abstract. Good C++ developers are truely inspiring people to learn from and often have amazing insight. There are some kick bum libraries around in C++ which capitalize one some cool, but not common techniques of C++ compiler design.

Also, I wouldn't count on getting a job developing C++ software anytime soon...although like Java or C it wouldn't hurt to have some experience on a resume...

Of course these are just my experiences and opinions on this subject :)

p.s-This topic has sooo been beatin to death :P You shoudl search for this topic I'm sure you'll find something more :)

Cheers :)

Posted: Sat Sep 09, 2006 5:51 pm
by timvw
In my experience you're better with C# if you're willing to relocate to Switserland... Virtually every shop i know is having difficulties finding qualified developers...

Posted: Sat Sep 09, 2006 6:20 pm
by Weirdan
As Mordred said, if you're after learning something new and different, try to learn new paradigms. Lisp, Haskell, Fort. ObjectiveC might be interesting too.

As for the market demand, Java and C# hold their position.

Learning some ancient languages like Fortran, Ada and Cobol may get you some interesting (money-wise) jobs without virtually any competition.

Posted: Mon Sep 11, 2006 4:40 pm
by AngusL
I'd say C++ if you're starting off, then C if you feel the need. C does not lead nicely onto C++, like many seem to believe, certainly not if you've got any degree of proficiency so that you can see beyond the superficial.

I'd also like to second the vote for Haskell. I'm getting the hang of it just now. It's very different to anything else I've used, and seems to be good for some uses (complex mathematical functions have code reduced by an order of magnitude or more over C in my experience).

Oh, and a .NET language might be good, just for kicks. ;)

I think that would give a good base in compiled languages (albeit .NET is JIT :lol:).

Posted: Mon Sep 11, 2006 5:03 pm
by MrPotatoes
C++, just for the strings and OOP. C is great but awful to beginners. doesn't leave much in terms of being 'nice' to you lmao!

with C/C++ tho there are still alot of jobs out there. they are just more selective. so if anything learn an assload of languages. once you learn C++ and C you can take anything on within hours. i was first taught C/C++ then i thaught myself PHP in a week and C# in less than 4 hours. HTML and CSS was hoenstly trivial.

then come the API's. so many more for C/C++ which in turn make you look more tasty to an employer. DIrectX (*UGH*), OpenGL (*YAY*), most physics and AI stuff (faster in these) and most shader languages. jut do it man. just do it

Posted: Mon Sep 11, 2006 5:42 pm
by Weirdan
once you learn C++ and C you can take anything on within hours.
Not really. Try some of the languages I mentioned... C/C++ background doesn't help much when learning them.

Posted: Tue Sep 12, 2006 12:45 am
by timvw
AngusL wrote: I think that would give a good base in compiled languages (albeit .NET is JIT :lol:).
With ngen you can precompile the .Net code... Opposed to regular JITted code that only lives in the memory this results in native instructions that are persisted on disk (so you reduce the amount of code that needs to be compiled @runtime).

Posted: Tue Sep 12, 2006 7:20 am
by MrPotatoes
Weirdan wrote:
once you learn C++ and C you can take anything on within hours.
Not really. Try some of the languages I mentioned... C/C++ background doesn't help much when learning them.
well i had a background in these for 2 years before i started anything else. everything else came really easy. but then again i was programming in these two like crazy.

reason i say what i said is because alot of the programing paradyms come from either of these. OOP, structs, namespaces, coding conventions and such

Posted: Tue Sep 12, 2006 10:27 am
by Weirdan
everything else came really easy.
...because everything else you tried was very similar to those two.

Posted: Tue Sep 12, 2006 11:35 am
by Jenk
You could always give COBOL a whirl.. or the insanely restrictive RTF (Report Format Tables) if you have a spare z/os machine knocking around..

Posted: Tue Sep 12, 2006 12:35 pm
by thallish
You could also go with Python while it is not compiled it is very neat :wink: