How do I get started in programing?

MYSTic Jedi

Limp Gawd
Joined
Jan 9, 2006
Messages
285
Hey, i am currently a 10th grade homeschool student, and next year, i would really love to take a course or two and learn some sort of programing language. What would be one of the easiest to start out with, note i have never doen any other programing before. I'm thinking VB or BASIC, but i "think" i would really be a little more interested in something like HTML, Java, or maybe even C++ or CAD (what is CAD really anyway) or some sort of game programing. What are some learning curriculams or apps that might help me, and i am kinda looking for free things, but i would be willing to pay some. Any help would be grately apriciated! Thanks you guys!
 
Skip VB and basic. They really won't teach you anything about programming. HTML isn't a programming language, so skip that(unless you want to learn html. it won't teach you anything about programming, though). I'd start off with something like C or Ada. Yes, Ada. It's a bitch of a language to actually do anything in, but dammit, you'll learn good programming(at least better than if you dive into C without knowing what you are doing). :D CAD is computer aided drafting, so that's not what you want. Definitely hold off trying to do anything with games(at least anything interesting with games :p) until you've got the fundamentals down.

Not really any applications that I would recommend other than a good text editor with syntax highlighting(ie. emacs). I say head down to the library or book store and pick up a couple intro to programming books. I don't have any recommendations for good ones, though.
 
I wrote an Essay for Programming Students which you might find useful.

Strictly, HTML isn't programming; neither is CAD. You'll want to find out what these things are, deeply, before you make a decision.
 
Yeah C++ is a good foundation to start on and there are a lot of cheap books and free tutorials out there. I think the easiest way not to get discouraged with it would be to find a book that has small projects that build up. Visual basic would be a good option to look at too but I would take them one at a time.
 
Throwing Python into the hat, based on experience. Squeak Smalltalk is also supposed to be good for learning - at least according to the guys who developed it ;)
 
well if you're throwing in Python, i'll throw in Ruby. Ruby is getting pretty popular these days (Ruby on Rails especially), and i hear it's a good language to learn OO with. if i wasnt so dependant on Perl, i think id also pick it up. still might, eventually.
 
Why do you guys think learning to program is a language-specific task?
 
ValeX said:
Because you can't learn how to program by studying 8 different languages at once.
Why not two or three? Or zero?
 
mikeblas said:
Why do you guys think learning to program is a language-specific task?

personally, i enjoyed actually being able to see my code run. im not sure how far i couldve made it with pseudocode and general theory before losing interest or seeking out an application for the concepts. and bad habits stick, so if you learned with something as lenient as say..perl, you might be a little less disciplined when doing OO or something in other languages.

and nobody is saying he's not allowed to learn more languages, or even learn them concurrently.
 
Maybe learning about basic data structures and procedural based languages may be best to start off with. There you will learn about functions, constants and basic program flow. Try solving a few problems with pseudo-code. Programming is all about "problem solving" most of which involve algorithms. Try making a simple bubble sort algorithm in pseudo-code and progress from there.

But ur prbably best to ignore me i'm a noob when it comes to programming, but listen to mike blas and read his essay, its essential reading.

Alan :)
 
i started with basic, did some pascal, minimal HTML, and when i finally went back to school they started us with java, and i have had a much easier time than people with no programming background and surprisingly i have done better than people who have done C++ for years (and nothing else) in some regards.

point being, i am not a developer, i am capeable of writing programs to do some of the things i want them to do, but i now know how to find out how to do the things that i previously would have no idea where to even begin with. do i want to learn other languages? you better beleive it. does all the experience i have had help in doing that? it has become easier to pick up the basics in each new language, and i definitely attribute that to what i learned from the previous language.

i can also say that being in an academic environment, the emphasis on understanding what the code is actually doing helps a great deal. this information is out there, in books and on the web, and you don't need someone to teach it to you, but the incentive of a degree at the end of all the work does help motivate.

as for HTML not being a programming language.... you can always learn PHP after getting the basics of HTML down. with PHP and HTML you get some instant gratification and some background in debugging code, and any old computer can handle a small LAMP dev environment.

with C++ you have to deal with pointers and some hard core memory access concepts, including memory cleanup, that can crash your computer completely if you make a mistake, with no indication as to what happened except your computer crashed (as in, you're lucky to get a blue screen crash). with java you have a nice sandboxed environment that does all the background stuff for you, and when your program crashes you're not going to crash your system or end up with a memory leak that brings you to your knees. in both instances you are dealing with object oriented languages, which is the trendy thing in programming (.NET, PHP5, etc).

i reccomend finding a good book first. choose a language, get a book, and dig in. for additional references, looking through class web pages at universities can give you a good idea what the academic world is doing, and give you some good ideas for teaching yourself some of what are considered fundimental concepts for programming and computing.
 
I like BASIC and modern versions are pretty good if you choose to use the OO features.

Java or C# are probably better choices for a new programmer who has no use for BASIC though.
 
Thanks so much for posting so much information! I think i am going to try out C++, do a little anitial research and stuff before i get real into it, but i think it will work out pretty well. thaks again, andthis thread is not closed, so more suggestion are always welcome!
 
c++ is a big language. It was my first real language to learn...started with psuedocode then implemented in c++.

Once I got through data structures I pretty much dropped it...however I've seen the suprising similarities between c++ and java & php. It really is pretty neat that while there are some differences...the syntax is pretty much the same. My last year in college, I took a freshman level VB class. Since what I had done in c++ was thoroughly overkill, it was a breeze.

Start with c++. It will make you really strong in other areas...but not the bedroom.
 
ok, well, i just downloaded both python and ruby.............but they wont open, its a differant file type than what windows is used to opening i guess. So what do i need to open the file, or did ui just d/l the wrong thing. here are the file names........
Python-2.4.3 (TGZ file, never heard of it)
ruby-1.8.4.tar (GZ file)
 
You got the Unix versions (tgz and gz are tar gunzip and gunzipped respectively).

The windows versions have .exe installers or come as .zip archives.

http://www.python.org/download/

See where it says Windows installer? Yeah, that's what you want.
 
Tarballs aren't necessarily linux-specific. It's most likely just the source. It should work for any platform(that's supported).
 
jpmkm said:
Tarballs aren't necessarily linux-specific. It's most likely just the source. It should work for any platform(that's supported).

true, most commonly used on linux though
 
C,

html isn't really programming, and basic/vb are just sidetracking. Go with C, its not terribly hard when you start, but it will take sometime to master. The next logical step is to go c++, since OOP is what the real world uses
 
If that's the case why not just recommend C++ to begin with? You don't need to learn C to do C++, and in the worst case, you could translate any possible bad practices you learn from C to your C++ coding style.
 
acidic said:
The next logical step is to go c++, since OOP is what the real world uses
I think that's entirely dependent on the problem domain. Not everything maps well to an OOP paradigm.
 
I would say go with C or C++. I took C++ courses at college, and that was the first programming language I have ever attempted. It isn't too difficult to understand conceptually, it just takes a lot of work if you really want to learn it. I tried to learn C++ on my own before college and it was very hard because I lacked the motivation. It's a totally diferent story when you're being graded though ;)
 
I would vote for Python as a starting language, strictly from the standpoint that you have a nice development environment to start with (IDLE), the choice to run a "program" or run the syntax in command line, and you don't have to screw with the intricacies that can come with C or C++ programming.

The main goal you should be getting out of this is learning how to structure your programs and learning things like "what is an if-statement". Python is simple and clean enough to get over the first hurdle in programming and it can be a language that sticks with you throughout your career.

My 0.02,

Good luck!
 
jpmkm said:
Skip VB and basic. They really won't teach you anything about programming. HTML isn't a programming language, so skip that(unless you want to learn html. it won't teach you anything about programming, though). I'd start off with something like C or Ada. Yes, Ada. It's a bitch of a language to actually do anything in, but dammit, you'll learn good programming(at least better than if you dive into C without knowing what you are doing). :D CAD is computer aided drafting, so that's not what you want. Definitely hold off trying to do anything with games(at least anything interesting with games :p) until you've got the fundamentals down.

Not really any applications that I would recommend other than a good text editor with syntax highlighting(ie. emacs). I say head down to the library or book store and pick up a couple intro to programming books. I don't have any recommendations for good ones, though.
I like this answer the best. I was taught programming using Ada 83 on VAX VMS. There is nothing wrong with Ada. Try out GNAT, the free Ada 95 complier (you need to have gcc installed already).
 
mikeblas said:
Nothing at all?
I'm sure one could find fault in anything. If so, may I suggest lex(flex) and yacc(bison)? Of course this then goes beyond starting in programming...
 
Back
Top