-
11-12-07, 03:41 PM #1Registered Senior Member
- Posts
- 431
New to programming
What avenue would you recommend to teach oneself about programming and coding? Books, etc. I know classes would be recommended but is there anything else for a novice to pick up and start learning?
-
11-13-07, 09:16 AM #2Registered Member
- Posts
- 2
Reading, after a certain age, diverts the mind too much from its creative pursuits. Any man who reads too much and uses his own brain too little falls into lazy habits of thinking. - A.Einstein
so get any good book and start using your head along with reading.
-
11-13-07, 09:46 AM #3
-
11-13-07, 10:50 AM #4Registered Senior Member
- Posts
- 189
Programming is extremely difficult for most people, and extremely easy for the others. Try to learn one language at school and see which category you fall under. If it's the second category then you're officially a "programmer" and teaching yourself new languages should generally be quite easy.
For your first language you should preferably learn one in the "structured programming" paradigm. This includes most malts languages, such as BASIC, JAVA, C, PASCAL, and all their variants. The most important theoretical aspects of structured languages are progressive statements (first do this, then that, then...), branching (if test is true then this, else that), and iteration (looping, doing the same thing over and over until something changes); another important aspect, though not theoretically important, is the existence of sub-routines. Object oriented programming (C++, VB, Smalltalk, etc) is also okay, as it's usually built upon structured programming. On the other hand, functional programming (eg. pure hard-core Lisp), pattern matching programming (Haskel, Prolog, etc), and others would, I BELIEVE, be more difficult to start off with, though you can learn them later when you're comfortable with the whole idea of being a programmer.
Maybe I'm wrong, but I won't recommend learning C first as it is a bit TOO low level, and you wouldn't want to stress over pointers, format specifiers, file structures, etc while you're trying to grasp the whole idea of programming. C is a VERY rich language and most people who use it don't know it fully (eg. bit masks, the <setjmp.h> library, etc). Many resources for teaching yourself Python often implicitely assume that you're a C programmer (I've never seen any Python manual explain the % operator properly; they just say that it works like C's printf format specifier syntax), but I would recommend it as your first language if you're teaching yourself (just use some other resource other than the help manuals, as they assume that you're a programmer).
If you manage to master a single language almost fully, then you're a "Guru." If you're comfortable applying different algorithms and paradigms in many different languages (that is, if someone says "I want a program that does this difficult task tommorow", and you can do it properly in any of the languages you know) then you're a "hacker."
-
11-13-07, 10:55 AM #5Registered Senior Member
- Posts
- 189
"This includes most MAJOR languages, such as..."
-
11-13-07, 11:13 AM #6Valued Senior Member
- Posts
- 15,612
1. try the samples in the textbooks you are reading.
2. use other peoples programs and try to inprove upon them.
3. rewrite the programs you create to deliberately crash to gain insight into the symptoms various errors cause. not all errors are obvious.
4. learn to debug code. a programmers nightmare begins with code that is full of logic errors. remember, there are at least 2 ways to program the same results.
5. write programs for simple card and dice games. this will give you confidence and plenty of debugging skills.
6. and lastly, if you haven't mastered the language you are studying for in about a month or so the the language isn't right for you. also remember that you will run into situations where you alone must provide the solution, there will be no precedents for you to draw from. i have racked my brain a number of times over 5 or 6 lines of code that drove me crazy for months on end.
good luck!
Similar Threads
-
By desi in forum LinguisticsLast Post: 09-23-07, 03:01 PMReplies: 2
-
By John99 in forum Computer Science & CultureLast Post: 08-28-07, 12:41 AMReplies: 13
-
By Spectrum in forum Computer Science & CultureLast Post: 07-10-07, 11:03 PMReplies: 2
-
By python in forum Computer Science & CultureLast Post: 06-10-07, 02:32 PMReplies: 23
-
By kaduseus in forum Intelligence & MachinesLast Post: 02-03-07, 11:18 PMReplies: 1



Bookmarks