Live data from Hacker News

Ask HN: Okay okay, I'll learn to program...now what?

news.ycombinator.com

31–40 of 56 posts

Re: Ask HN: Okay okay, I'll learn to program...now what?

#31
You know CSS, so it seems logical to learn Javascript.

That opens up both server and front end web programming [jQuery/DOM and Node.js on the backend]

For books, try Crockfords 'Javascript the Good Parts' and mimic some of the nicer idioms as you see more jQuery code.

Re: Ask HN: Okay okay, I'll learn to program...now what?

#32

Python. Do not do the official guide. Do not read the documentation. Do something that forces you to program examples of increasing difficulty. In short, do this course: http://cs.northwestern.edu/~akuzma/classes/EECS110-s10/index... All the labs and assignments are online. You get to make maze solvers, generate fractals, implement Conway's Game of Life, lots of genuinely fun stuff. Just work through it and tell your…

I began with "Dive into Python" and switched over to Zed Shaw's "Learn Python The Hard Way" after 20 pages. His concept works great for me, somehow I manage to come up with enough discipline to actually do every exercise and the extra credits.

Re: Ask HN: Okay okay, I'll learn to program...now what?

#33
post #31

You know CSS, so it seems logical to learn Javascript. That opens up both server and front end web programming [jQuery/DOM and Node.js on the backend] For books, try Crockfords 'Javascript the Good Parts' and mimic some of the nicer idioms as you see more jQuery code.

I found "JQuery For Absolute Beginners" to be quite helpful for getting familiar with JQuery: http://net.tutsplus.com/articles/web-roundups/jquery-for-abs...

Re: Ask HN: Okay okay, I'll learn to program...now what?

#34
Lots of great advice here. It's refreshing to see that, largely, people aren't just pushing their own language of choice, but are saying (quite rightly) that it doesn't matter. Like dpcan, I started on basic, then qbasic and moved up from there.

You asked about breaking down the options. Something which I've only fairly recently realised, is that languages differ in more ways than just syntax and built-in modules.

As I see it, the three main 'types' of language are:

  Object Oriented ("OO"/"OOP")

  Functional

  Procedural
OO languages are usually built on top of procedural, and procedural languages are by far the most widespread.

Functional languages are based on a more mathematical model, and if you've studied maths they'll probably make a lot of sense to you. They're still seen as largely academic languages, but they are used in some real-world scenarios, and they have devout followers. It's a powerful paradigm.

Object-Oriented purports to allow you to model the real world more closely, but the degree of success is debatable. Personally it's my favoured approach; to me you can lay out your model really simply with an OO approach, which in turn lends itself well to separation of concerns, reusability and modularisation (i.e. you don't want to build your login system and have that also handle thumbnail uploads, they're different concerns, they should be handled in different parts of your code)

Procedural, to me, is really a necessary evil en route to OO.

So, yeah, I thought a broader view of language types might help, rather than a specific view of particular languages.

Re: Ask HN: Okay okay, I'll learn to program...now what?

#35

Python. Do not do the official guide. Do not read the documentation. Do something that forces you to program examples of increasing difficulty. In short, do this course: http://cs.northwestern.edu/~akuzma/classes/EECS110-s10/index... All the labs and assignments are online. You get to make maze solvers, generate fractals, implement Conway's Game of Life, lots of genuinely fun stuff. Just work through it and tell your…

When talking about python I found http://diveintopython.org/ to be an excellent book for beginners.

Supposedly it's pretty dated, though; see the author's comment here: http://www.reddit.com/r/programming/comments/bv9gt/dive_into...

I would recommend http://diveintopython3.org/ instead.

Re: Ask HN: Okay okay, I'll learn to program...now what?

#37

If you're looking to do a web startup, ditch your Windows computer. Get a Mac or a Linux machine.

Terrible advice and tribalist. Your platform doesn't matter, work what you are comfortable with rather than spending months being awkward because some random guy on HN told you windows sucks.

You didn't even give a reason why OS X or Linux are better, which tells everybody you are just a zealot (and the people who upvoted you are as well).

Re: Ask HN: Okay okay, I'll learn to program...now what?

#38

If you're looking to do a web startup, ditch your Windows computer. Get a Mac or a Linux machine.

I recently went back to Windows 7 as my main workstation. So far the only negative has been that access to Steam and great games has had a slight negative effect on my productivity. What, objectively, is so much better and easier under Linux? Note, we're talking dev machine here, and not deployment server.

Re: Ask HN: Okay okay, I'll learn to program...now what?

#39

You need to decide what you want to build, or at least what you want to build first. From CSS, an obvious way to go is Javascript or PHP, or better yet both. If you think that you don't want to build a specific thing, but instead want a birds-eye armchair view of the essence of what programming is about, don't waste time; try SICP: http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussma... But odds are that you'…

Someone told me to try SICP when I was first trying to learn how to program and it was an incredibly frustrating and deflating experience. The process goes something like this: Okay, SICP sounds good. They're using LISP. How do I make a LISP program? The internet says SLIME is THE way to go and I'd be an idiot to try any other development environment. Ok, I guess I'll just install that... (3 weeks later)... okay that…

Yes, this is exactly what I was trying to say, though I would never want to say it so bluntly up front because, well, some people love SICP. Of course, some of us loved statistical mechanics and vector calculus as well. There is no accounting for taste.

Learn PHP. You know more than you are letting on, because you evidently understand exactly why PHP is a big success. Get some stuff done. I assure you that the websites you build with PHP are real websites, and the money you earn with them is real money.

Given that I work at a Drupal company, I would be remiss if I didn't suggest that learning to build sites with Drupal is a great way to learn to work with PHP, Javascript, a web stack, et cetera. The community has lots of people who are coming from just the same place that you are.

Re: Ask HN: Okay okay, I'll learn to program...now what?

#40
post #33
post #31

You know CSS, so it seems logical to learn Javascript. That opens up both server and front end web programming [jQuery/DOM and Node.js on the backend] For books, try Crockfords 'Javascript the Good Parts' and mimic some of the nicer idioms as you see more jQuery code.

I found "JQuery For Absolute Beginners" to be quite helpful for getting familiar with JQuery: http://net.tutsplus.com/articles/web-roundups/jquery-for-abs...

I'll second that. NetTuts has a nice video series on jQuery that is pretty lucid to understand.
Post reply on HN