I'd like to learn a programming language

thatguyant

Member
Feb 28, 2005
151
0
76
I've always been fascinated by computers and have tinkered with my hardware, but I've never really gotten into the programming side. I think I'd just like to start exploring to learn more about it. Who knows, maybe it'll turn out to be something I'm good at.

Does anyone have any suggestions about what language to start with? I remember programing in scheme back in high school, but that's been a long time. Which languages are most common, and where should a beginner start?
 

goatjc

Senior member
Oct 25, 2006
274
0
0
cout >> "Hello World.";

It's been about 6 years since I've touched programming, but in college they started us on C++
 

thatguyant

Member
Feb 28, 2005
151
0
76
Is there any particular reason to choose one language over another? Do they share any common structure or anything like that. This would be more of a hobby for now, but I do want to learn something meaningful.
 

Kirby

Lifer
Apr 10, 2006
12,028
2
0
Originally posted by: goatjc
cout >> "Hello World.";

It's been about 6 years since I've touched programming, but in college they started us on C++

haha, its cout<<"Hello Error!";

C++ is my vote too.
 

DougK62

Diamond Member
Mar 28, 2001
8,035
6
81
A beginner should start with taking classes that will teach concepts. They'll probably start you on a Java/C/C++. I guess you could skip the basics if you just wanted to hack something together, but you won't become a good programmer.

 

purbeast0

No Lifer
Sep 13, 2001
53,764
6,645
126
Originally posted by: goatjc
cout << "Hello World.";

It's been about 6 years since I've touched programming, but in college they started us on C++

Fixed ... and yes, it shows that it's been 6 years :p

I would say do some web stuff ... php w/some HTML. I always thought scripting was pretty simple to learn cause you get instant feedback as to where your problem is.
 

DaShen

Lifer
Dec 1, 2000
10,710
1
0
Start with Pascal, then C, Then C++

Or if you think Pascal is too easy, jump straight to C++
 

thatguyant

Member
Feb 28, 2005
151
0
76
Originally posted by: DougK62
A beginner should start with taking classes that will teach concepts. They'll probably start you on a Java/C/C++. I guess you could skip the basics if you just wanted to hack something together, but you won't become a good programmer.

Unfortunately I don't have the time right now to take classes because I already have a job. I just was looking at getting into it on my spare time because I've been interested in a long time. I should've taken some in college, but I was intimidated by it. Would anyone recommend any self taught books?
 

esun

Platinum Member
Nov 12, 2001
2,214
0
0
If you want immediate productivity, then a scripting language like Perl, Python, or Ruby is the way to go. If you want a nice theoretical start with a solid textbook that's free, use Scheme and check out SICP (Structure and Interpretation of Computer Programs): http://mitpress.mit.edu/sicp/

That's the introductory course at MIT, UC Berkeley, and I'm sure a number of other universities. You can also go a more traditional route and try C/C++ or Java, but honestly they won't be as immediately useful as the scripting languages and are harder to learn in general. Don't learn Assembly first unless you hate yourself.

EDIT: I wouldn't recommend PHP, which others have suggested. It serves a very specific purpose and in that role it relies heavily on knowledge of HTML and CGI, which is bad if you just want to learn programming. Again, better general-purpose scripting languages are Perl, Python, and Ruby.
 

MrPickins

Diamond Member
May 24, 2003
9,125
792
126
If you still need to learn basic programming concepts, I vote Pascal, then follow it up with c++

C wasn't written to be friendly for beginners.
 

fLum0x

Golden Member
Jun 4, 2004
1,660
0
0
Originally posted by: thatguyant
I've always been fascinated by computers and have tinkered with my hardware, but I've never really gotten into the programming side. I think I'd just like to start exploring to learn more about it. Who knows, maybe it'll turn out to be something I'm good at.

Does anyone have any suggestions about what language to start with? I remember programing in scheme back in high school, but that's been a long time. Which languages are most common, and where should a beginner start?

honestly, there are about 5-10 languages you could learn first and then from there, anything is MUCH easier. I started with VB6 in college and once you get the concepts down...it is easy. I learned Java very quickly and I know enough to edit pretty much anything. Writing from scratch is a whole different beast :) It really depends on what you want to do though. If you are just doing small little business needs... .NET would work fine. If you want more robust, look to Java or C or C++. If you want basically the end all be all right out of the gates, go for C++
 

mundane

Diamond Member
Jun 7, 2002
5,603
8
81
Originally posted by: esun
If you want immediate productivity, then a scripting language like Perl, Python, or Ruby is the way to go. If you want a nice theoretical start with a solid textbook that's free, use Scheme and check out SICP (Structure and Interpretation of Computer Programs): http://mitpress.mit.edu/sicp/

That's the introductory course at MIT, UC Berkeley, and I'm sure a number of other universities. You can also go a more traditional route and try C/C++ or Java, but honestly they won't be as immediately useful as the scripting languages and are harder to learn in general. Don't learn Assembly first unless you hate yourself.

Mmmmmmm ..... python. Incredibly easy to use. If you want to do some web programming, checkout Ruby on Rails - also very easy to get into.

As for online texts, Bruce Eckel has a number available for C/C++/Java.
 

mugs

Lifer
Apr 29, 2003
48,920
46
91
That's a tough question. Like DougK62 said, you really want to learn the concepts first, and the way to do that without having to do a lot of stuff you don't actually understand is to use C or C++. A lot of schools start with Java now, but that requires you to jump right into classes without knowing anything about anything.

Eventually you'll want to move to something like C#, but not until you have a solid understanding of programming fundamentals.
 

NuclearNed

Raconteur
May 18, 2001
7,887
383
126
If you want to be get in on the bleeding edge of current technology, give MS Visual COBOL++ a shot.
 

thatguyant

Member
Feb 28, 2005
151
0
76
Thanks for all the input guys. So it seems like there's two schools of thought. Starting with the basics and learning theory which would go the C or C++ route, or jumping into a scripting language like Perl, Python, or Java.

Would starting conceptually allow me to pick up other languages easier? Or does each language make you start all over again about how you think out code?
 

irishScott

Lifer
Oct 10, 2006
21,562
3
0
Java is nearly identical to C++ and C in syntax, it just does more automatically for you (garbage collection and such). I'd start with Java to learn the basics, and then transition to C++ when you want to get more in-depth. (ie: Into direct memory management and whatnot).

Python is a very versatile language with a lot of advantages, but the syntax is completely different from C/C++/Java.
 

Malak

Lifer
Dec 4, 2004
14,696
2
0
Visual Basic, IMO, is the easiest one to start with. Plus you can be making utilities you'd actually use fairly quickly. Clarion is the easiest database language to learn.
 

Farmer

Diamond Member
Dec 23, 2003
3,334
2
81
I second Scheme. 6.001 at MIT is a Scheme-based class, which is what every CS major takes, so there's gotta be a good reason. (Then again, the non-electric engineering courses teach mostly Java) Python is another one to look at.