Settings

Theme

Best program and books to learn how to code?

14 points by mindfulbee 15 years ago · 23 comments · 1 min read


Trying to learn how to code. I've heard a lot of people recommend ruby and python. Is there any specific books or programs people might of use that may be helpful? or suggestion of other languages? Planning to spend about 6-10 hours a week.

greglockwood 15 years ago

If you want to do front end web dev, learn these languages in this order:

HTML - http://www.w3schools.com/html/ CSS - http://www.w3schools.com/css/default.asp Javascript - http://eloquentjavascript.net/contents.html

And then pick one of the following two: PHP - http://www.tuxradar.com/practicalphp or Rails - http://ruby.railstutorial.org/ruby-on-rails-tutorial-book

There are many languages that you can learn for front end other than RoR and PHP, but they are two of the most popular right now, and will almost certainly suit your needs. Good luck, and stick with it when it gets frustrating, learning how to code is definitely worth it!

  • mindfulbeeOP 15 years ago

    Also, do you have any recommendations on whether I should have a end target to build mobile apps or web apps? I know the mobile app industry is growing,but I'm not sure which path to take. Is there a specific language targeted towards mobile app vs. web development? or is it the same background?

  • mindfulbeeOP 15 years ago

    Thanks! This is exactly the advice I needed! I'm majoring in business, but I realized I actually really love computer science; however, I think if I majored in it then I wouldn't really love it anymore.

    Starting on HTML!

malandrew 15 years ago

In addition to what others have said, I would add The Little Schemer to the list. It may not seem like the most practical book, but it will make you a better programmer.

Beyond that, I would reiterate the following suggestions put forth by others: -- How to Design Programs (get version 2. Racket, the IDE for this book, is practically plug-and-play, so you won't waste time prepping your development environment)

-- Think Python by Allen Downey (i haven't read this one, but it comes very highly recommended. the excerpts I've read show that Allen communicates the concepts very clearly)

-- Eloquent Javascript (very good introduction, all examples can be done directly in the browser with the specially-made console. This eliminates the time and confusion you will experience trying to set up a development environment with other languages.)

On top of those I'd also add: -- The C Programming Language by K&R (if you are interested in C)

-- Dive into HTML5 (if you are interested in web development. HTML is a markup language, but you are going to need it to be able to build web stuff. This book complements Eloquent Javascript nicely)

-- Land of Lisp

-- DOM Scripting (Pair this book with Eloquent Javascript. It's the best introduction to the DOM that I've seen and will bridge the gap between HTML and Javascript)

The best books on coding are those that place equal emphasis on good prose and good programming practice and that de-emphasize syntax.

Also, look for books where the examples are real-world examples. i.e. things that people have actually had to implement at one time or another. Avoid books with completely imaginary examples that use made up names like foo, bar, widget, etc.

  • mindfulbeeOP 15 years ago

    Thanks for the recommendations! Do you have any recommendations on where to start. I'm currently in college and trying to take this on as a hobby. I wish there were ways to learn these languages a lot faster (like matrix, just plug it in), but I realize I need to spend a decent amount of time to actually pick it up.

    Also, any recommendations on whether I should try to be building mobile apps or web apps as my end goal?

    • malandrew 15 years ago

      You can't go wrong with any of those books.

      Given your interest in mobile/web apps, my recommendation is to start with Eloquent Javascript then Dive into HTML5 and then DOM Scripting. With those three, you'll have a solid base for what the next 5 years of what technology trends will throw at you.

      Eventually you'll need to start working more with stuff on the server side. Once that time comes, you'll know enough to choose the server side language that makes the most sense for you (my bet is that you'll probably end up choosing between Javascript, Python, Ruby or Clojure in that order).

      • mindfulbeeOP 15 years ago

        Thank you so much for your help! I found some books that I will be using and I will definitely still be needing more advice down the road. Here is my blog I started, if you'd like to see my progress later down the road:

        http://mindfulhack.wordpress.com/

        I just want to thank you again for all your advice! It's very helpful!

  • katieben 15 years ago

    My boyfriend (@andjones) insists that I need to read The Little Scheme, too, there's a vote for that one. Despite my ADD about programming book reading it's on my list.

ccarpenterg 15 years ago

How to Think Like a Computer Scientist (Python) http://greenteapress.com/thinkpython/thinkpython.html

katieben 15 years ago

Do you really want books? Are you really a book kind of guy? I bought a bunch of books when I first wanted to learn how to program, but actually didn't read any of them. I didn't have the patience to read, I wanted to just DO.

I learned via the copy, paste, google and osmosis method, and it worked great for me. (:

So I guess my advice would be... before you spend your money on books, since time=money, the X hours you spend paying for the books might be better off "just doing it".

But, not relevant if you actually are a book guy.

  • katieben 15 years ago

    / book person. (: Sorry to assume you're a guy! (:

    • mindfulbeeOP 15 years ago

      Haha Thanks! Don't worries, I'm a guy. I usually not a book person, but in this case...it just seems to be more helpful in the state that I'm in.

runjake 15 years ago

It depends on where you want to focus first.

1. Web development? 2. Mobile development? 3. What platforms do you prefer?

If you want to just learn programming for the sake of learning programming you'll likely not make much progress.

Define a goal and get back to us.

  • mindfulbeeOP 15 years ago

    I would like to focus on doing Mobile development. I was told by a previous post to try doing Eloquent Java, HTML5, and then DOM scripting (In that order)

    My goal is to build an application similar to TripIt(travel advisor), but tailored towards education.

wallflower 15 years ago

A while back (9 months?), there was a business guy who started a site about learning how to code. I just checked and he's kept on going(!)

http://proudn00b.com

  • mindfulbeeOP 15 years ago

    wow. I think I might start a blog too... This really motivates me. I kind of wish I started 9 months back, but I haven't really joined the workforce yet...still in college. So I guess i still have some time?

NonEUCitizen 15 years ago

Starting Forth, by Leo Brodie

http://www.forth.com/starting-forth/sf1/sf1.html

MPiccinato 15 years ago

Code Complete is a great read. It will help you out a great deal no matter which language you choose.

riskish 15 years ago

www.TryRuby.org is a good one to get started. it will walk you through a few basic commands.

there are plenty tutorials out on the web and most any basic intro book will be good if you're learning to code.

you can also check out www.hackerbooks.com

BenWGarton 15 years ago

I have been learning ruby. I like the railsforzombies.com website

stray 15 years ago

You could try starting with "How to Design Programs" at http://htdp.org (or buy the dead tree version). That book has been very helpful for some people. The programming language environment used in HTDP can be downloaded from http://racket-lang.org.

If you'd prefer Python, a real gem of a book is Core Python Programming by Westley Chun. Python btw, is an excellent choice for a first programming language.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection