3 ms·
The other comments here confirm what I suspected was true about most hackers - we never learned the "basics", or at least not at first (at least not the "basics
by ewjordan 17y ago
The other comments here confirm what I suspected was true about most hackers - we never learned the "basics", or at least not at first (at least not the "basics" that this blog post seems to take as fundamental to our trade). We just became obsessed with the idea of making things, and did so without doing anything right. After enough screwing up and causing yourself headaches, you revisit the basics, not because it's something you feel like you "have to do" to learn to program "properly" (whatever that might mean), but because it makes doing what you wanted to do in the first place easier.
I don't think I know of a single good programmer that learned to code in such a horrible grueling manner. If you're not making shit from the very beginning, then you're never going to learn to love it, and if you don't love it, then you're not going to be very good at it.
One of the most important traits of a good programmer is that while they work hard, they barely consider it work. Especially at the beginning, where the work:play ratio is practically zero. The boring programming grind should only start when you're doing work for other people that you don't care very much about; if it feels like that before you reach that stage, you're doing something wrong. Find a nice easy graphical language to play around with while you learn about functions, classes, I/O, and algorithms; you can start worrying about mastering the LAMP stack once you've realized that the programming part of it is easy and fun, and the LAMP part of it is just another set of technologies whose quirks we learn and put up with in the name of getting things done a bit more easily.
I think the real problem is that the blog post might be right: you do need to know the basics to get very far in programming. But the basics of programming have nothing to do with hard library-specific study and grueling memorization; they involve loving to build things and make them work, thinking logically and experimenting with all sorts of code just to see what happens. The rest comes pretty naturally once you have that down.
- inmygarage 17y agoActually I agree with you. I think what I did not communicate well in the post is exactly what you said - I have more ideas than I know what to do with and the rate that I think of things to build is exponentially greater than the rate at which I can build them. I am not someone who will learn something conceptually just for the sake of knowing it. The point is that, what I learned from Chinese was that if you just suck it up and force yourself to learn the basics for a while (no matter how much you wish you could just get back to building things) that you can actually become better faster. That is the part that's painful - the actual making-of-things part is way fun.
- donaq 17y agoThat's true for me too. I enrolled in computer engineering in university without any interest or experience whatsoever. Then I wrote a horrible mIRC script and boom, suddenly I was interested in algorithms.
- cousin_it 17y agoThe boring programming grind should only start when you're doing work for other people that you don't care very much about Hm, this doesn't sound right. My programming education only began in earnest once I started writing programs for other people, for money. Every new project stretched my abilities.