Live data from Hacker News

Teach Yourself Programming in 10 Years.

norvig.com

31–33 of 33 posts

Re: Teach Yourself Programming in 10 Years.

#31
I agree with this being reposted occasionally, as its lessons are fresh to newcomers.

Several of the other comments reference useful books on the topics, particularly on algorithms. One book that has a lot of important lessons about becoming a good programmer is Coders at Work.

One of the interviews is with Peter Norvig who tells about a bloggers failed attempt at solving sudoku. Peter's solution used a very novel approach to the problem that is non-obvious, and I would put this in the category of what you can learn from studying algorithms. They are not all about reducing computational complexity. Perhaps the other extreme example is an epic stack overflow answer that repeats many times that you can't use regular expressions to properly parse html. And this keeps coming up, it seems.

And I found the lessons in Coders at Work somewhat startling. I recommend it to new programmers and old programmers alike. It's not about the IDE, it's not about the language, it's not about the testing.

Re: Teach Yourself Programming in 10 Years.

#32
post #28

Earlier quoted context omitted.

"A knowledge of algorithms doesn't teach you to pick the right problems to solve." That is true. To create a application, one needs a Use Case. A Use Case will provide the most abstract solution to what the app will be doing. Then you can take the top down design approach, by dividing the Use Case into a several abstract sub problems. That is known as code architecture and belongs to System Engineering. The System En…

"The software engineer (the project lead) takes care of identifying the sub-problems, after creating the Use Case with the domain expert (often the customer). The programmer solves those sub-problems bottoms up, by focusing on creating the atomic parts as efficient as possible." This is how yucky enterprise monstrosities get built. The "software engineer"/programmer division is nonsensical and sounds like something o…

Then please tell me how software gets built. Provide me with a methodology, instead of being a arrogant fool like you are now.

Yes, a code monkey is a term I'm familiar with. But you need good communication skills too.

Re: Teach Yourself Programming in 10 Years.

#33

Earlier quoted context omitted.

Why and how are different. "Why" is because I prefer to see discussions linked together rather than spread. In this case there is some previous discussion (although not a lot) and anyone coming across this and finding it interesting might find the previous discussion worth reading also. They could search for it themselves, but it's easy for me to do, and one person's work (mine) saving lots of people work seems a goo…

To allay your concerns, I almost always upvote links to previous submissions on HN. I make them, and find such links valuable, so I upvote them when someone else makes them. P.S. I find the best way to find previous HN threads that I remember is a site-restricted Google search with a few keywords, e.g., http://www.google.com/search?q=site%3Anews.ycombinator.com+p...

I make a practice of executing such a search before I submit a link. Of course, for me it's a VERY occasional practice. ;-)

Separately, would it be useful if HN had a sort presentation that listed posts/threads recently commented upon -- perhaps further weighted by post score -- as opposed to just recent comments (where the quantity combined with flatness of presentation quickly overwhelms me)? Of course, one would have trouble finding the new comment within the old thread -- particularly active ones -- unless there was further utility added to locate it within the thread of conversation of such a post. (If it was in response to a parent comment, it would not sort to the top.)

At which point, the current presentation paradigm for the site is starting to change significantly. Representing both a lot of work for PG, and an open-ended question as to the effects upon the community dynamics.

So... perhaps we are better off with what we have. If a page/topic is brought up again after after a significant period of time (more than a few days), it is handled as a new discussion. With thoughtful people like Rider... perhaps citing older posts/threads for further reference.

Post reply on HN