Ask HN: Okay okay, I'll learn to program...now what?
41–50 of 56 posts
Re: Ask HN: Okay okay, I'll learn to program...now what?
#42You 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…
SLIME is supposed to be the way to go for a complicated LISP like Common Lisp or perhaps a richer Scheme or Clojure, but SICP is trying to teach you programming, CS and the like, and what you learn from about Scheme is incidental (well, until you get the the metacircular interpreter magic).
Re: Ask HN: Okay okay, I'll learn to program...now what?
#43If 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.
Tool chaining. For me, the ease with which I can bang out scripts and makefiles and have the tools easily check out versioned code from rcs/svn and that I can pipe and redirect and have a host of efficient tools like grep and nm and objdump and more, and they all work together piping and redirecting to make exactly what I want in so many easily altered configurations. Release and debug and partial debug and static-checking build and more, with all the makefiles just text - so easy to alter and tweak and copy and share (and even have them configure on the fly, reading the output from the compilation and rerunning with extra warnings or debug symbols) and have them run commands themselves like sending eMails to everyone who is listed as an interested party on the source controlled spec list, and so much more. Valgrind is so useful that if I have to develop on a Win32 machine I get a version of it going under MinGw, and sometimes I run a Win32 debug under Wine on Linux so I can use Valgrind on it.
I sound like the biggest *nix dev env fanboy ever.
Re: Ask HN: Okay okay, I'll learn to program...now what?
#44Earlier quoted context omitted.
Dr. Scheme might have made things easier. Especially because SICP uses Scheme and not Lisp. That said, the first term of my freshman year of college used SICP as the textbook. I banged my head against a wall for the first six weeks and had an epiphany in week 7. It's the best feeling in the world when functional programming finally makes sense.
Everything is hard in Scheme/LISP world. As a first programming project for an isolated person without collaborators or teachers, SICP is death. It will be months before the autodidact can accomplish something that he can feel proud of. Nothing will kill interest faster than beating your head against the wall in isolation for months in your spare time without any tangible progress. I believe people that say it's awes…
That said, if you have something you want to build starting with a project and an appropriate language and ecosystem (including instructional material) is very good. I myself started out in a high school punched card IBN 1130 FORTRAN "IV" course, but soon started a project that really got me going.
I didn't try SICP until half a decade later; by then I was an experienced imperative language programmer (mostly C by that point) and fairly experienced in Maclisp and Lisp Machine Lisp. At which point it really made sense, both in terms of being able to understand the material and why it was really important.
Re: Ask HN: Okay okay, I'll learn to program...now what?
#45Earlier quoted context omitted.
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.
"What, objectively, is so much better and easier under Linux? Note, we're talking dev machine here, and not deployment serv" Tool chaining. For me, the ease with which I can bang out scripts and makefiles and have the tools easily check out versioned code from rcs/svn and that I can pipe and redirect and have a host of efficient tools like grep and nm and objdump and more, and they all work together piping and redire…
Re: Ask HN: Okay okay, I'll learn to program...now what?
#46You 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.
6th edition of Flanagan's Definitive Guide coming out.
Re: Ask HN: Okay okay, I'll learn to program...now what?
#47If you're looking to do a web startup, ditch your Windows computer. Get a Mac or a Linux machine.
Re: Ask HN: Okay okay, I'll learn to program...now what?
#48Python. 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…
Re: Ask HN: Okay okay, I'll learn to program...now what?
#49If 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).
"You didn't even give a reason why OS X or Linux are better, which tells everybody you are just a zealot"
Actually, I didn't give a reason hoping that it would spark an intelligent discussion with other people sharing information about pros and cons. I was opening the topic. I can understand how it looked like zealotry and tribalism to you.
Re: Ask HN: Okay okay, I'll learn to program...now what?
#50Seriously, it doesn't really matter where you start. I don't want to be pessimist, but you've got so many things to learn that the important here is not where you start but the determination that you will put in to continue working days after days. That said, I suggest you start with something fun because it will motivate you. Example of that might be a simple dynamic website (using php, python, ruby, or whatever els…