I really have never programmed before in my life. I've done none of it, but I want to start. What should I use to learn? SICP? I understand SICP will probably be overly difficult but I'll just spend a lot of time with it. Or will it be impossible for me to understand?
Pick up Python or Ruby. Both are solid good choices for a beginner: easy to learn, easy to try out stuff (no compilation, and you can try out thing in interactive mode), and the user communities are both intelligent and friendly to beginner.
Go visit the official site for both languages, you'll find pointers to ebooks aimed at first-time programmers.
Disregard the trolls that will follow.
Name:
Anonymous2008-02-10 21:55
gigamonkeys.com/book
All the advantages of Python or Ruby, but without the slow and the lack of power.
Name:
Anonymous2008-02-10 21:58
((((((((lol power((((and performance))))))))))))
Name:
Anonymous2008-02-10 21:59
Hi, OP here again. >>4 >>5
I will start on Python, would it be alright for me to just go ahead and go through all three? Would that make sense? Start with Python move on to Ruby move on to Common LISP? Or should I just pick one and move to a more advanced language next?
start with c. it is a very simple language. do all the k&r problems.
then learn scheme, the algorithmic language. read sicp.
then read the art of computer programming by donald knuth.
Name:
Anonymous2008-02-10 22:01
>>7
Well, it would be kind of stupid to dick around with Python when you know Common Lisp exists, and even dumber to mess with Ruby unless you're looking to take advantage of Rails, but other than that, go for it!
Alright so the way I'm looking at it now. I'll just learn Common Lisp. Why should I not start with SICP or C? Can I really not comprehend it yet? Or would it just be that much easier to already have an easier language as a basis before I start?
Name:
Anonymous2008-02-10 22:13
>>7
Pick one and master it. Once you master a language, switching to another is a trivial matter. Right now you want to master the basic concepts of programming, not the intricacies of various languages. Python is one of the good choices for that, if you like what you see, stick with it.
Name:
Anonymous2008-02-10 22:14
>>14
Alright, thanks. I'll keep that in mind. Also one other thing, I hear programming is something you have to do for 10 years in order to truly become great at it (like piano etc.), is this true? If so is it too late for me to be starting as I'm going to be going to college in a year?
Name:
Anonymous2008-02-10 22:16
>>15 I hear programming is something you have to do for 10 years in order to truly become great at it (like piano etc.), is this true?
That's true of everything. Are you planning on dying in college or something? If so, it's too late.
Name:
Anonymous2008-02-10 22:19
>>13
You're aware that lisp doesn't get any sort of actual use in the real world, right? There's a good reason for that.
Also, stay the fuck away of C unless you're gonna code devices drivers or video games. You will have to take care about all sort of chores that will get in the way of learning useful stuff.
Also, you'd better understand that more than 50% of /prog/ is subtle trolling before you take any opinion we give you seriously.
Name:
Anonymous2008-02-10 22:19
>>16
Well if I decide to major in CS or EE in college will I be prepared for it?
Name:
Anonymous2008-02-10 22:19
>>15
My friend was in your position (never having programmed) and he came out of university an (IMO) EXPERT STUDENT.
Name:
Anonymous2008-02-10 22:20
>>17
I'm aware of that but I want to learn programming, I don't really care if it's actually useful in the real world or not. I just want something that is useful in learning.
Name:
Anonymous2008-02-10 22:21
are you good at math
Name:
Anonymous2008-02-10 22:24
>>15
Becoming an EXPERT takes years, but becoming a coder can happen overnight. It's really something you either get or don't.
Here's pretty much how the world works:
* 95% of normal people.
* 4% of people who could string a coherent Java program after 10 years of experience.
* 1% of people who will get it naturally right from the start.
Name:
Anonymous2008-02-10 22:27
>>21
Yes, I love math. Physics and math are probably the two areas I excel in.
>>22
I see, when you say something I do or don't get what should I use to figure out whether or not I "get it." Should I start learning a language and see if I immediately understand the concepts or what?
>>17 There's a good reason for that.
You mean that it caught the blame for the AI crash? I know, it's unfortunate that programming in general has been set back by so many years.
>>18
Yes. They will start you from the absolute ground up.
Name:
Anonymous2008-02-10 22:39
>>20
Lisp as a first language is not the most frequent choice. Lisp is definitely something interesting to learn even if you don't get to use it, but most people tend to pick up lisp after having experience with something more recent.
But well, on the other hand, most people pick up some shitty first language that fucks you up for years, like Java, PHP, or VB. Just keep in mind that Python and Ruby are both good beginner languages and useful in the real world, while lisp is a language only really used in CS, no matter how much its fans wish it were not the case.
Name:
Anonymous2008-02-10 22:41
>>24
Okay according to that test I have a programming mind. I don't really get how anyone else could come to an alternate conclusion, all of the problems are the same why wouldn't you apply the exact same model to every single one? I guess that's why some people can't be programmers? Unless I interpreted this wrong.
Name:
Anonymous2008-02-10 22:45
>>27
That's what I told you, if you don't run away screaming like a little girl after being exposed to /prog/ it's pretty obvious you'll have no problem learning to code, so your only concern should be to learn it right, and whether you start with lisp or python it would be difficult to screw up.
Name:
Anonymous2008-02-10 22:51
>>28
Alright, I will start learning tomorrow. Thanks a bunch to everyone who gave advice. Hopefully I will soon be able to tell people to "Read SICP" with confidence.
Anyways, >>14 is right. You need only to listen to that advice. When you learn your first programming language you end up learning a simplified model of how a computer works. Once you understand this model programming essentially becomes a subset of English, and so learning another programming language is very simple.
Name:
Anonymous2008-02-11 0:49
This is what to do:
1. Read SICP. No, it's absolutely great, and definitely not too hard if you haven't already fucked up your brain with some ``easy'' programming books (it's a fucking introductory book).
2. Learn Python. It's a decent language actually useful in the real world. Don't bother with Ruby. It's not different enough and much messier (I've used both for years, and eventually ditched Ruby for Python). I wouldn't recommend Common Lisp. It's technically superior to both Python and Ruby, but suffers from a severe lack of libraries and a huge cultural problem.
3. Learn C. Yes, everyone needs to know it. NO EXCEPTIONS.
4. Learn whatever you want or need. Haskell is a nice thing to know.
Name:
Anonymous2008-02-11 0:57
>>33
ONE WORD, THE FORCED INDENTATION OF CODE, THREAD OVER.
Name:
Anonymous2008-02-11 1:03
>>33 Common Lisp [...] suffers from a severe lack of libraries
Do we seriously believe the OP not to be a troll?
Yes
Name:
Anonymous2008-02-11 3:30
>>22,23
disregard this moron, anybody can code if they apply themselves and have done at least decent in calculus. There isn't anything to 'get' unless your one of those elitist satori faggots.
I was a C- in math - basically a java faggot gamer who thought he wanted to be a coder. I read SICP and that fixed me good.