

Ask HN: What is the best (online or offline) resource to learn to code? - roryliam

Hi Hacker News, thank you for reading.<p>I've been in to techie/hacker related things for a while but I have never had the opportunity to learn to code beyond some fairly rudimentary stuff (html, css and Visual Basic) I learnt in my early teens. I use a lot of opensource software and feel quite guilty that I use it without being able to contribute to it (even in a minor way).<p>In an ideal world I would be access to coding courses as easily as accessing courses in second natural languages but the world is less than ideal.<p>So, back to my question. Where would you guys recommend I start?
======
astine
If your concern is about contributing to open soource software, you don't need
to know how to code to contribute. Bug reports are actually hugely important
and some projects take financial donations.

As to learning to code, there are actually a lot of good resources.
<http://learnpythonthehardway.org/> Is a good book which will show you the
basics and get you started with a lot of practice. The Khan Academy also has
some introductory videos:
<http://www.khanacademy.org/cs/tutorials/programming-basics>. In addition, you
can find tutorials for just about any language and they'll also show you some
of the basics.

Oh, and Visual Basic, while arguably being shitty, _is_ a real programmng
language, so if you understand it, you already know how to program. You just
need to learn a more useful language.

~~~
roryliam
Thank you for those links. I think I will make more of an effort to contribute
to projects in non-coding ways while I learn to code.

------
jfaucett
Since you say you know html,css, then I think the easiest thing to do would be
to learn javascript and jquery and get a github account. This will probably
let you see results and start contributing to open source the fastest. Once
you get good enough in js you can do some bug fixes for any of the tons of js
projects on github and work your way in on that route. I'd say with any non
web-centric language (i.e. c, c++, ruby, go, haskell)- especially since you
don't know coding yet - your looking at a minimum of two years before you
could start actively contributing to a project.

Here's some links to learn js/dom: MDN: <https://developer.mozilla.org/en-US/>
Opera Developer Site: <http://dev.opera.com/> Javascript Repos on github:
<https://github.com/languages/JavaScript> (read the source!)

Also "javascript the good parts" by Crockford is a good javasceript book.

~~~
roryliam
Thank for you those resources. I've added the book to my Amazon Wishlist. It
seems that coding for the web is probably the 'easiest' entry into the world
of coding and I have an idea that I wish to pursue so having that goal will
give me extra motivation.

Apart from the actual languages and frameworks, what would be the best way to
go about learning? Gradually or intensive?

------
knwang
Learning to code is a bit too general for concrete advice. what would you like
to code for? websites? mobile apps? games? algorithm? or automating systems?

do you have a language / framework in mind?

~~~
roryliam
I kind of deliberately left the question fairly wide just to see how people
would reply. I think I would edge towards websites and similar but I would
like to understand the processes involved in developing software for Linux.
What would you recommend for a beginner (apart from JS and Python)?

~~~
knwang
The Ruby programming language and the Ruby on Rails framework would be your
best bet. The ecosystem is quite polished on building web apps.

~~~
knwang
If you are a beginner, I wrote a post about how to start with Ruby / Rails as
a beginner that you may find interesting:

[http://www.railstutors.com/blog/the-best-way-to-learn-
ruby-o...](http://www.railstutors.com/blog/the-best-way-to-learn-ruby-on-
rails-as-a-beginner)

------
Lasher
I've found Lynda.com is an awesome resource for getting a quick overview or
refresher on the basics of a language with more in-depth classes if I find
something interesting enough.

If you're looking at learning a single language in depth they're probably not
the best for anything, but a lot of breadth on there, they cover a lot of apps
too. Not free, basic plan is 25 a month but they do have a free trial.

------
spuiszis
I've been pretty happy with RubyMonk.com and CodeSchool thus far. Also,
Coursera and EdX have open programming courses taught by professors from Cal,
MIT, Stanford, etc.

Also, Why's Guide to Ruby has been good to me so far if you want to get into
Ruby.

------
shakeel_mohamed
For html/javascript/python, go with CodeAcademy.com!

~~~
roryliam
Thank you, I remember using that a few months ago but other things got in the
way. I have done a few exercises since you replied and it is proving very
helpful.

