Ask HN: Non-Techie trying to learn code. Please help with my course outline
Hi HN,
I'm a non-techie biz guy who wants to learn how to code. I signed up for membership at ThinkVitamin (run by Carsonified) and they have an awesome library of tutorials. But what they're lacking is a roadmap for learning these languages. Could any please give me some guidance? My ultimate goal is to start playing around with building my own web app, or at least have a better understanding of code.
The courses available are:
HTML & CSS (already watched), Javascript (already watched), HTML5, JQuery, JavaScript, UX, CSS3, Design, Ruby, PHP, Ruby on Rails, NoSQL, Accessibility,
Thanks!
(
6 comments
| 4 points
| on HN
)
Before you start, understand the basic architecture of web based technology. Try to understand how http works in basic.
Just because you watched some videos and went through tutorials you won't be able to program. What you need to do is practice practice and practice. If you can't get in 100th time you should try 101st time. Another thing you need is passion. You should like what you are doing. If you are coding for the heck of it, you will not be able to code.
As an example, Javascript. You can write beautiful code in Javascript and it isn't that hard but to do it, you need to to understand closures. Closures aren't the easy topic for a new programmer to grasp immediately so it might not be the best language. I would say that python and ruby are better for making it easy to learn good practices compared to php, perl or javascript and would suggest either of those as a first language to start learning with. It doesn't have to be the language you stick with but both are good for getting you going. You aren't out of the woods by picking either of them but I think you will find the experience easier. Of the two, I would lean towards python as it has a very 'one proper way to do it' approach which is easy on beginners. That said, you can't go wrong with either. If you want to venture slightly further afield, both scheme and smalltalk are excellent languages to do as a first language. If either of those tickle your fancy, I would look at racket for a scheme implementation and pharo for the smalltalk. Pharo has learning tools when you fire it up and racket has a ton of learning materials.
The first two languages I learned where a Forth variant and a straight up machine language. So any language can be your first one. I realized later on that while I had learned to program, I hadn't learned to do it well and went back and studied the hows and whys which I think any of the 4 above would be very good places to start with.
EDIT:
One last note, if you decide to go with Javascript, I strongly urge you to read 'Javascript: The Good Parts' very early on in the process.
They have some tutorials on setting up servers, domains, etc. that are helping me understand basic web tech.
I'm using the tutorials to give myself a basic understanding of where to begin -- I often feel like books / tutorial websites don't really explain the big macro picture before diving deep into the minute details.
Thanks again
Having a project like a web app is a goal is a great idea; there's really no substitute for experience.
Good luck!