Main > Software Forum
OT: Getting started into programming/other...
RacerX:
--- Quote ---...I would concur with Lilwolf.
--- End quote ---
AlmtyBob:
I'm going to out on a limb here and disagree with everyone. Starting with standard C, not C++ is the way to go if you've never had ANY programming experience. Learning an Object Oriented Language is not a good idea at entry level, simply many explanations on how stuff works are left out until much later. For example, I could explain every single little aspect of how the 'Hello World" program operates in C in a short while, however, to explain the "Hello World" program in full in Java would take about 6 chapters. It is much easier to follow the more "linear" structure of a non OOL. It may sound silly, but your best bet for a newbie would be "C for Dummies" volumes 1 + 2. When you are through with that it would be a good idea to read either a small book on C++ or OOP in general, or skip right ahead to a beginner Java book.
As for computer security, installing Linux on a cheap/spare PC would be a great way to learn. By the time you've installed it and patched and tweaked everything, you'll have a pretty strong foundation :)
Howard_Casto:
Sorry guys but basic is THE language to start out with. Why? Simple basic/visual basic syntax is easy to understand, while java, c++, ect is not. You can argue all you want but it's the truth. I've took em all and I'm very glad that my first language was qbasic, because if I would have had to learn structered programming logic AND learned countless lines of non-sensical syntax I wouldn't have made it.
And btw (ok this is where the flame war starts) java is a nice language to play around with, but in the business world it's pretty useless. Why? I really don't know, but no-one wants anything coded in java. C++ is what's gonna get you hired and vb is nice for small in-house programs, but not really for larger projects. You can do anything in c++ and if you learn it's syntax it's pretty close to all the others save basic/vb.
Lilwolf:
As for java not being a buisness language... that was the thinking about 5 years ago. It's hasn't really moved forward (has always been there) but the JVM (the virtual machine java runs in) has. The JVM's now compile down the machine language before running so it ends up being about 10% slower then c++.
But the cross platform, instant web access, and imbedded support without changing code has made it the fastest growing language in...well... since c++.
As for a good language to learn. Not having garbage collection and pointers can really help in my mind.
Dave Dribin:
If you're just doin' this on the side, pick a good, free language to work with. I wouldn't shell out a dime for an expensive IDE, for example. I would start with a scripting language, like Perl, since they tend to shield the programmer from many low-level activities. You may want to look into Python and Ruby, too, as I hear there have a few less wrinkles than Perl. Once you get a grasp of some of the basics, you can move up to a more advanced language like Java or C++. Java is a fantastic language. I would heartily recommend it. Many businesses use Java, so it has good value on the resume, too. :) I don't think its too advanced for beginners, either, as I think many universities teach Java in intro CS classes. C++ is a little rougher than Java, but the two languages are really very similar.
I would pick a project to work on, too. Something really simple, though. Having a goal will keep you motivated. I don't think you'll learn a lot if you just sit down and start reading Donald Knuth's TAOCP, for example. That's not to say you should ignore theory altogether. Having good, sound knowlege of basic data structures is absolutely essential in real-world programming. TAOCP is the bible of CS, but it's not light reading.
-Dave