

Best program and books to learn how to code? - mindfulbee

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
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!

~~~
mindfulbee
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!

~~~
pdelgallego
DO NOT use w3school is a horrible and misleading website.

<http://w3fools.com/>

------
malandrew
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.

~~~
mindfulbee
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
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).

~~~
mindfulbee
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!

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

------
katieben
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
/ book person. (: Sorry to assume you're a guy! (:

~~~
mindfulbee
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
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.

~~~
mindfulbee
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
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>

~~~
mindfulbee
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
Starting Forth, by Leo Brodie

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

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

------
riskish
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
I have been learning ruby. I like the railsforzombies.com website

------
stray
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.

