Hello :-) I'm Jen. New to programming & new to the forum. After much research, I've decided C++ is the language I'm going to start with. Although I've heard it can by difficult to learn, my dad's a programmer, network engineer, web developer & all around tech guy & I inherited the aptitude so I figured I enjoy it, why not take advantage of it!! From what I understand, learning a language like C++ will give me a much better understanding of what programming really IS vs going with a more simplified language that does lots of things automatically. So I want to build a good, solid foundation.
I really don't even know what I want to do in programming yet. I'm just curious what you pro's out there would recommend in terms of the next language I should learn. I know it depends on what I want to do with it, which for now is just make myself as marketable as possible, then I'll go more creative with it, perhaps gaming, etc.
My (defence industry) company simply cannot hire C++ coders fast enough. We try, we just can't find them. I had lunch yesterday with a chum who does quantitative analysis for a bank. They just can't hire C++ coders fast enough. I gave notice at my last two jobs without bothering to get another lined up because I had no fears at all about not being able to find another one before I actually left. I thought that was standard practice until I mentioned it to other people.
C++ is not the easiest language to start with. However, if your intent is to really understand how programming works, then a mid-level language like C/C++/Fortran is one of the better ways to go, and I can't say I'd recommend any language leading up to either of those...
I've got to say I'm always confused at why people find C++ harder... all the other languages I tried learning first did a lot of stuff that I didn't really understand and acted strangely, but C++ doesn't pull punches and it's because it's so strict that I found it easier and less of a headache to learn. I think that a strict language is well defined and a well defined language is easier.
I think most people's issue with C++ is you start out in the console and with web-friendly languages or something like Visual Basic you can start out in a nice looking and interesting place straight away...
AWESOME to hear that C++ is so in demand!!! Guess I picked a good one!! I know it's supposedly "on it's way out" yet it still seems so widely used that I doubt it will be outta here by the time I learn it lol.
And thx ascii, i've only just started the cprogramming.com tutorial. It all makes perfect sense but in my mind I'm thinking, wow...how much code (and knowledge of such) will it take to create your "average" program lol??? I'm sure you end up learning shortcuts, etc., but still...wow!! I'm not concerned by that, I'm hooked already...from newbie to junkie!!! But I imagine (though possibly not), there will be times when I'll feel like I'm just droning through it to get to the other side. Even if its a year away, I still want to look toward the future though. Any suggestion of sites (or other threads) that suggest languages "packages" (if a "package" is even necessary) based on what you want to do in programming?
So Moschops, would you say that being really proficient in C++ would already put me in high demand without knowing another language? (Assuming the demand remains at least uniform in the duration it takes me to learn it)?
cool nomiigr, seems like we both made the right choice!! i'm so excited!!! although sharma's advice is likely to be a LOT better than mine b/c he/she is probably already an experienced programmer!! but nice to meet another newbie!!! :-)
if you really want to get good, which it seems like you do :), i reccomend that you get a good book. Ivor Hortons books on Visual C++ are very god, and the C++ for Dummies are good as well for a better price, but arent as in depth or deep. also realize that asides from learning the ins and outs of C++, at some point you will most likely have to download and learn an additional library to give you functionality on whatever it is youre doing (software development, business porgramming, game development etc.) good luck :)
and to emphasize once more, get a good book i promise you wont regret it :) not that the tutorials on this website are bad, but youll learn a lot more from an 100 page chapter on variables then a 1 page tutorial on them.
ascii, thx so much for your book recommendation :) i almost got the dummies book until i found the tutorials. but i then i noticed the tutorials often create more questions than answers i end up having to drudge the web half the night for clues lol. even glossaries etc, while helpful, are often a bit ambiguous in terms of something like say "object," which often seems to refer to classes but is also loosely used for just about anything declarable lol. i definitely want a very comprehensive book on C++ so i'm gonna check out horton right away. thx again!!
and hi there ace70!! thx for the warm welcome :) i'm so excited to get to know everybody and to learn and share ideas. i feel a bit like a fish that was raised on a cramped, oppressive fish farm who's just been released into the ocean. after years of somewhat enjoyable sales/cx svc positions and even more years of boring admin work, this is a major career epiphany!! finally i get to put some of that fine gray matter to use and enjoy the process!!!
Bleh Books! They are good for references but at the end of the day you not going to learn programming faster with your head in a book. Coding is the way to go so code code code code code code ... and then code some more. Like any language out there, the more you practice the better you are going to get. Also remember,
Practice makes you better not perfect.
Oh yeah, for the haters out there. If you get stuck, then look up the problem in a book or a great website like www.cplusplus.com
Yes, Java is a good next language to learn after C++.
The Java API is so nice that you will find that you will be able to get things working very quickly and usually much more easily than C++. php is useful if you want to do web-server related stuff. Now, beyond Java and C++ (OOP), you should look into Scala for functional programming, but one step at a time... ...C++ is a big language.
However, if you are programming on a Windows box, I would just do C++/.Net at the same time and then jump to some other language after that like F#. Which programming route you take can largely depend on your choice of OS.
If you want to play with an interpreted language, Ruby is fun.
Start with C and than jump to C++. Don't waste time in vc++ (mfc etc). these are outdated things and Microsoft don't support these.
Having good grasp on C/C++ will give you many options. Going for .net/C# will make you a windows programmer with only application development at hand.
Being a master in C/C++ will open many gates like working on real time applications on unix like systems. Windows is not used anywhere apart from as a desktop. You want to work on server side applications, or heavy processing applications, intelligent application its all unix (exceptions are there).
Although there are many books on these topics, i always suggest these. They are sometimes hard to understand for beginners but always help in long run.
for C read The C Programming Language (K&R)
the c++ programming language by bjarne stroustrup
Inside the C++ Object Model by Stanley B. Lippman
Introduction to Algorithms, Thomas H. Cormen
Algorithms by Robert Sedgewick
And there is always the programming series by Don Knuth who want to go deep.
Read these and you will have good basic foundation. And yes as GodPyro said, Coding is essential to be a good programmer. Do programming whenever you get free time. Make it a hobby.
hahaha...yes correct.. I am not saying that one cannot make money working in VC++. In fact people are making money till date.
But what is the use of learning something which is not upgraded or is being replaced by new technologies in the industry. When someone wants to build a career, he/she should learn something which is used the most at present and in future.
A college graduate will not want to learn cobol now. I hope you will agree.