Live data from Hacker News

How to improve your programming skills

antoarts.com

11–20 of 93 posts

Re: How to improve your programming skills

#12
For those of you who get a database error, I think it is the huge amount of traffic I'm getting at the moment which causes this (>1000 visits last hour). I'm using shared hosting, which might have problems with this, so in one way, you are DDOSing my site ;-). I don't know if it is safe to tell you to just wait and reload the page, but do that, BUT NOT TOO FAST!

Re: How to improve your programming skills

#13

The article suggest reading code, which I agree is a good way to improve programming skills. But I'm a bit unsure what to do with the advice to read the linux source code. Where would you start? I find the only way to actually get to reading code, is if you have a need to understand some part of it (e.g. to fix a bug or add a feature). So perhaps a more actionable proposal is to try to fix a bug, preferably one you c…

I often go read code to figure out how somebody else does something I want to do. Usually, somebody has solved your problem better than you have.

Re: How to improve your programming skills

#14

Also, randomly: I started putting bug bounties on my code on CPAN: http://search.cpan.org/~sargie/Data-Google-Visualization-Dat... This made me more conscientious about what I release ;-)

I found a doc bug :-) "This module is attempts to hide the gory details". The "is" isn't English grammar.

(No, doesn't count as a bug, really)

Re: How to improve your programming skills

#15

Learning Javascript changed my Perl for the ... more fun to write. Possibly better, too. I've started passing around coderefs as arguments to functions a lot more recently, and allowing people who use my APIs to do just that... I've been writing code that allows you to describe a website in data and at a high level recently, and builds you up all the methods you need to interact with it. In general, when people need…

Then I can highly recommend "Higher Order Perl" by M.J. Dominus (ebook for free on http://hop.perl.plover.com/book/ but the printed edition is well worth paying for too).

It essentially teaches you functional programming in Perl.

Re: How to improve your programming skills

#17
11. Rewrite something that desperately needs to be rewritten.

So many times I've encountered something and thought, "I can't believe that people are actually expected to use this software."

It was bad from a user perspective: difficult to use, slow, tedious to do what you actually needed to do, unable to "get there from here".

Then once I looked under the hood, it was often worse: built upon a horribly designed data structure, inflexible with constants where there should have been parameters, no apparent thought put into its use, too many violations of acceptable practice to mention, looking as if it evolved haphazardly (which it probably did).

It's easy to bitch about stuff like this, but you often have to go to the next level to do something about it. It's amazing how much rethinking you have to do and how many tools you have to build to turn horrible software into what should have "obviously" been done in the first place.

Easier said than done. And often, some of my best learning experiences.

Re: How to improve your programming skills

#19
post #8

Earlier quoted context omitted.

I've been trying to get better at this myself. Although, you do feel foolish when you bang your head against something for six hours, and then you get your first (correct) answer on stack overflow five minutes after you post. Still, if you're not feeling foolish often, you're not learning. Competence is deadly that way.

Learning to find the answer yourself is -way- more helpful than having it provided to you. Don't regret those 6 hours. It's a process.

Agreed. Plus next time you won't have to go looking for it on Stack again because it'll be ingrained, painfully, in your brain. And you'll probably learn a whole lot of other things along the way too.

StackOverflow isn't a total no-no, just don't make it priority 1.

Post reply on HN