Live data from Hacker News

Ask HN: How to become a better programmer?

news.ycombinator.com

1–10 of 63 posts

Ask HN: How to become a better programmer?

#1
My questions is: what abilities are required to effectively build complex web apps and services?

My current knowledge is limited to PHP and MySQL, with no real understanding of OOP.

That said, what would you suggest my next step be? Should I take a stab at Ruby? Javascript? Python? Frameworks?

I would appreciate any suggestions.

Re: Ask HN: How to become a better programmer?

#2
It's important to differentiate between the technical ability to build web applications and the craft of programming. It seems you are interested in the former, in which case I would recommend learning a popular framework (Ruby on Rails or Django). While you are learning a framework you'll pick up the base language just fine.

If you'd like to learn the more general craft of programming, Peter Norvig has some excellent advice: http://norvig.com/21-days.html. You'll find some language recommendations in the appendix.

Re: Ask HN: How to become a better programmer?

#4
I can do everything I need to with PHP and MySQL, however I'm currently working on JSP, and planning to learn Ruby and Python.

If you want to learn object oriented thinking I would recommend Java or C++. Fortunately I was already proficient at C++ before I started web programming so I already had a fairly firm grasp of object oriented thinking.

As for learning programming languages, to my way of thinking the more languages you know the better, both from a job standpoint and from a flexibility standpoint.

Re: Ask HN: How to become a better programmer?

#6
post #5

91 Ways to Become the Coolest Developer in the World http://www.techquark.com/2008/11/91-ways-to-become-coolest-d...

That is quite an extensive list and probably includes just about everything you would ever need to know. Personally I like to keep it short and sweet: The coolest developer in the world is always learning and is ready to try new things and new approaches. That summarizes probably 90% of those 91 points.

Re: Ask HN: How to become a better programmer?

#7
"improve my PHP abilities to OOP"

Reading that made me laugh. PHP's OOP is extremely flawed (among various other things, like their inability to universalize the $needle and $haystack argument order: http://bugs.php.net/bug.php?id=37088), so using PHP to "improve your technical abilities" wouldn't really get you anywhere except having a better understanding of PHP.

I think that what you're trying to accomplish really needs to be defined in terms that aren't so broad. Especially these days, "technical skills" is such a vague term that it can really be applied to anything.

You don't need to have a complete understanding of some silly framework or whatever in order to still be considered an excellent developer in many ways. For example, you could write a stunningly elegant and clever mathematical algorithm in C without using a function more complex than sqrt(). (Or maybe you could write a more efficient sqrt!)

I think that learning something like that might improve your understanding of machines and could, indirectly, improve your understanding of "web apps and services"—that is, understanding HTTP, statelessness, and so forth.

tl;dr Figure out exactly what it is you want.

Re: Ask HN: How to become a better programmer?

#8
to build complex web applications you need to learn javascript, I would also take move along to ruby / python / erlang as well as/instead of php.

then I would start bashing out applications as quick as you can, stuff with a smaller scope and a clear end so you can keep them public for quite a while and learn how to reduce/remove maintenance cost.

Re: Ask HN: How to become a better programmer?

#9
post #6
post #5

91 Ways to Become the Coolest Developer in the World http://www.techquark.com/2008/11/91-ways-to-become-coolest-d...

That is quite an extensive list and probably includes just about everything you would ever need to know. Personally I like to keep it short and sweet: The coolest developer in the world is always learning and is ready to try new things and new approaches. That summarizes probably 90% of those 91 points.

Yeah, that, and the title is totally misleading. There can't be thousands of coolest developers in the world, dammit!

Re: Ask HN: How to become a better programmer?

#10
Hey Paton,

The quickest way to become a better programmer is to take a real world problem and then to solve that with a technology that is as far removed from the ones that you are already familiar with as you can imagine.

Since you're already in to the imperative mode why not try a functional or a logic language for a change to see what the other side of the street looks like ?

The interesting bit in that approach is that when you return to your current languages you'll look at them in a completely new way.

Post reply on HN