Live data from Hacker News

Ask HN: What are important topics for new programmers?

news.ycombinator.com

11–18 of 18 posts

Re: Ask HN: What are important topics for new programmers?

#11
post #10

Writing clearly and precisely in English. Managing conflicts and expectations. Business and financial matters. If you can't express yourself clearly to your peers and managers, you won't control your career. If you can't work well with people, you won't control your career. If you don't understand the business context of your work, you won't control your career.

Oh, and don't think you are the smartest person in the room. If you find you're the smartest person in the room for real, you need to get a better job.

Re: Ask HN: What are important topics for new programmers?

#15

Some form of test driven development. Helps programmers get a better grasp of what they want to solve while creating some meaningful tests. I sadly only really got into it well after I finished school. Not a good idea to try this out while learning a new language though (makes learning both 3 times harder since your changing code so often)

Or learning how to write code you can trust without testing it.

Re: Ask HN: What are important topics for new programmers?

#16

Some form of test driven development. Helps programmers get a better grasp of what they want to solve while creating some meaningful tests. I sadly only really got into it well after I finished school. Not a good idea to try this out while learning a new language though (makes learning both 3 times harder since your changing code so often)

Or learning how to write code you can trust without testing it.

that's not feasible in the long run.

Try that on a large or enterprise level project and watch your product fall apart. The effort you save by not testing will be wasted fixing bugs many times over.

Test driven development isn't necessarily the best/right way to test all the time but you have to have some form of testing unless you just don't care about working on the software for over a month

Re: Ask HN: What are important topics for new programmers?

#17

Earlier quoted context omitted.

Or learning how to write code you can trust without testing it.

that's not feasible in the long run. Try that on a large or enterprise level project and watch your product fall apart. The effort you save by not testing will be wasted fixing bugs many times over. Test driven development isn't necessarily the best/right way to test all the time but you have to have some form of testing unless you just don't care about working on the software for over a month

You know what is not feasible in the long run? Finding out what obscure corner case in which component was not properly covered, using tests only. Components interact with each other in non-trivial ways, which more often than not cannot be captured in tests. When an error is found in a sufficiently large program, the poor programmer typically ends up applying a patch where the error manifests itself, rather than actually tracking and fixing the source of error. I know this from experience.

On the other hand, if the program (or any of is constituent subunits) is designed right from the beginning keeping in mind that it is fundamentally a transformation from a precondition to a postcondition, from a logical predicate to another, then not only does locating errors become much easier, also testing becomes superfluous.

But it takes education to accept this point of view.

Re: Ask HN: What are important topics for new programmers?

#18

Earlier quoted context omitted.

that's not feasible in the long run. Try that on a large or enterprise level project and watch your product fall apart. The effort you save by not testing will be wasted fixing bugs many times over. Test driven development isn't necessarily the best/right way to test all the time but you have to have some form of testing unless you just don't care about working on the software for over a month

You know what is not feasible in the long run? Finding out what obscure corner case in which component was not properly covered, using tests only. Components interact with each other in non-trivial ways, which more often than not cannot be captured in tests. When an error is found in a sufficiently large program, the poor programmer typically ends up applying a patch where the error manifests itself, rather than actu…

well... looks like you're a little full of yourself

Hope whoever gets stuck debugging whatever code you spit out agrees with you viewpoint after spending hours tracing :/

Post reply on HN