Live data from Hacker News

How to improve your programming skills

antoarts.com

21–30 of 93 posts

Re: How to improve your programming skills

#21

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…

I've explored similar concepts. In particular I've found it rather powerful to be able to export/import code refs with:

use YAML::Syck; $YAML::Syck::UseCode = 1;

Watch out though, when you take executable code from a user.

Re: How to improve your programming skills

#22
"Learn a new programming language"

I would rephrase this to learn a new programming paradigm. There are fundamental differences between static typing and dynamic typing, object orientation and functional, manual memory management and garbage collection. There are also "pure" single-paradigm languages and multi-paradigm languages. If you learn the same type of language multiple times, you're really just learning new syntax and probably a couple of extra idiosyncrasies, so it's important that you pick languages with fundamental differences.

Compare going through this learning path:

Perl -> PHP -> JavaScript -> Python -> Ruby -> Node.js

To going through this:

Java -> C -> Scheme -> JavaScript -> Erlang

For example.

Re: How to improve your programming skills

#23
post #19

Earlier quoted context omitted.

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.

Or, if it's important, go to stack but make a record of what it was... Then try to do the same thing without looking a weekend down the line .. sometimes things can't wait!

Re: How to improve your programming skills

#24

"Learn a new programming language" I would rephrase this to learn a new programming paradigm . There are fundamental differences between static typing and dynamic typing, object orientation and functional, manual memory management and garbage collection. There are also "pure" single-paradigm languages and multi-paradigm languages. If you learn the same type of language multiple times, you're really just learning new…

Yeah, I said that it especially helps if the language utilises a different paradigm. It is the important thing, actually.

Re: How to improve your programming skills

#25

"Learn a new programming language" I would rephrase this to learn a new programming paradigm . There are fundamental differences between static typing and dynamic typing, object orientation and functional, manual memory management and garbage collection. There are also "pure" single-paradigm languages and multi-paradigm languages. If you learn the same type of language multiple times, you're really just learning new…

I went like this CPP -> Java -> Haskell -> Python -> Ruby -> Coffeescript and elisp somewhere inbetween.

I learned a lot about languages but there are many of my friends who know just PHP or Java and who are much more productive day to day than me.

My advice to someone would be to pick one language an learn it really well so you can do pretty much anything in it. Do Code Katas, make stuff all the time. When you're bored, dick around with other languages like Haskell or some of the Lisps(try to do SICP exercises).

But be productive in at least one language.

Check out some of Corey Haines's videos on practice to understand better what I mean.

Re: How to improve your programming skills

#27
I find that trying to ask my question at StackOverflow is the best way to improve. Because I have to think about how best to word my problem, and really make it clear and concise. And usually when I do that, I end up just solving the problem on my own.

Of course, I see a lot of give me teh codez there, so I can see where the author is coming from. Nevertheless, I find it to be a useful tool in helping me become a better programmer.

Re: How to improve your programming skills

#28
post #27

I find that trying to ask my question at StackOverflow is the best way to improve. Because I have to think about how best to word my problem, and really make it clear and concise. And usually when I do that, I end up just solving the problem on my own. Of course, I see a lot of give me teh codez there, so I can see where the author is coming from. Nevertheless, I find it to be a useful tool in helping me become a bet…

I had the same thought. I think the author is only warning against immediately looking on Stack Overflow for existing answers. Formulating a good question of your own for SO requires a significant amount of thinking about the problem, which is what's being advocated.

Re: How to improve your programming skills

#29
post #27

I find that trying to ask my question at StackOverflow is the best way to improve. Because I have to think about how best to word my problem, and really make it clear and concise. And usually when I do that, I end up just solving the problem on my own. Of course, I see a lot of give me teh codez there, so I can see where the author is coming from. Nevertheless, I find it to be a useful tool in helping me become a bet…

Good catch. This is similar to "rubber-duck debugging" (http://en.wikipedia.org/wiki/Rubber_duck_debugging).

Re: How to improve your programming skills

#30

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.

It's a great book! Here's something really cool: ultra-linguist and general bad-ass Sean Burke went through it doing all the examples in ... Javascript!

http://interglacial.com/hoj/hoj.html

Post reply on HN