Live data from Hacker News

Ask HN: How to become a better programmer?

news.ycombinator.com

41–50 of 63 posts

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

#41

Learn another language. Not just because PHP isn't a particularly good one (IMHO), but because learning new languages inevitably teaches you new ways of thinking about programming. Ruby is good for OOP.

Since nobody mentioned yet... lisp is a great language to learn just to expand your horizons. Don't expect to actually develop websites in it (though clojure might be a good bet for more complex web apps), but it _will_ make you a better programmer.

"Don't expect to actually develop websites in it"

I just tried to develop a website with SBCL and Hunchentoot, and it works relatively well for small examples. There's pretty good MySQL support, and it's all pretty fast. I couldn't figure out how to get a long-running SBCL process to keep even on memory usage. I saw a talk from a guy who works at ITA software [1] where he said they blow away their SBCL instances and restart them on regular intervals, so maybe it's just not possible!

To anyone who is serious about developing a Lisp website, I'd spend a lot of time up-front evaluating different Lisps

[1] I can't find this talk anymore :<

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

#42
post #28
post #12

Earlier quoted context omitted.

Between starting with Ruby on Rails or Django with Python, is one better to start with than the other?

Despite what a lot of people will tell you ;) Python isn't really a web app language (really, at all, in the slightest). Stick with PHP or learn RoR. In all seriousness if a web app is your aim, and you have on in mind, then stick with what you know and get good at it - it will suffice :) at the end of the day there is no particular limitation with PHP that RoR or Python will solve - if you get the point of having to…

Python is a mature language with solid implementations, top-class web frameworks, an above average user community, and hundreds of libraries that do pretty much any thing you want.

Ergo: it is fine to use with web apps.

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

#43
post #28

Earlier quoted context omitted.

Despite what a lot of people will tell you ;) Python isn't really a web app language (really, at all, in the slightest). Stick with PHP or learn RoR. In all seriousness if a web app is your aim, and you have on in mind, then stick with what you know and get good at it - it will suffice :) at the end of the day there is no particular limitation with PHP that RoR or Python will solve - if you get the point of having to…

Python is a mature language with solid implementations, top-class web frameworks, an above average user community, and hundreds of libraries that do pretty much any thing you want. Ergo: it is fine to use with web apps.

But im not deriding Python per-se (indeed I believe it is a fantastic language and the vast majority of my code is in Python).

However when you consider it in the situation of a Web App (i.e. running under Apache or another web server) it loses most of the advantages. Not to make it worse - but if you know PHP there is no huge benefit for switching to Python :) Which is what the OP is asking "should I learn a new language to make a web app in". I'd say no, not if PHP serves you fine! :)

On the other hand if you want a general purpose language to hand then, yep, Python is ace.

(despite all that when programming for the web I still prefer PHP, because, well that was what it is designed for).

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

#44
post #36

Earlier quoted context omitted.

The guy wants to build complicated websites, not be a hacker snob, so I'm giving him the honest truth and getting modded down for it. "While I agree about your points I still maintain that a couple of courses in data structures and algorithms is a very good investment of your time." Maybe a good investment of your time, but not if you are going to just be building websites, that would not be a good investment, the re…

I'm 100% self-employed and build websites where I earn money from advertising/affiliate/sales-revenue. Been doing it fulltime for 7 years now, before that I was a student for a couple of years (where I learned that me and academics wasnt a match made in heaven..). I used to have a site that carried 5m uniques/month, but I've also run sites that had has worse performance problems with much less users. I know of severa…

Sounds like you dropped out of academics, were successful in website development, are arguing for a hands on learning approach where it "makes your view of an issue much more complete", and even successfully used compsci books, you write "many subjects is completely useless stuff" and yet in your first post you give advice of doing the opposite of what you found success doing.

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

#45
post #44

Earlier quoted context omitted.

I'm 100% self-employed and build websites where I earn money from advertising/affiliate/sales-revenue. Been doing it fulltime for 7 years now, before that I was a student for a couple of years (where I learned that me and academics wasnt a match made in heaven..). I used to have a site that carried 5m uniques/month, but I've also run sites that had has worse performance problems with much less users. I know of severa…

Sounds like you dropped out of academics, were successful in website development, are arguing for a hands on learning approach where it "makes your view of an issue much more complete", and even successfully used compsci books, you write "many subjects is completely useless stuff" and yet in your first post you give advice of doing the opposite of what you found success doing.

I'm saying that academics helped me understand some subjects that have been very valuable for me in my "career" as a website developer.

Perhaps I would have done fine without them, but I'm sure my projects are better as a result of me spending a couple of years learning stuff.

If you want to become a "better" programmer in the context of writing more efficient code, more bugfree code and become more efficient (learning to use the concepts that comes with the language instead of reinventing the wheel). Then yes, school helps.

You can learn it outside school aswell but I bet it will take more time in the long run. I think we'll have to accept that we disagree on this topic.

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

#46
post #39
post #30

Earlier quoted context omitted.

Style over substance? Another reason down-voting is a disgrace for this website and should have stayed removed.

Nothing to do with style: the other sort of presentation :) i.e. I believe you started the response with a rather silly statement then structured the rest in a sort of out-of-breath "OMG SRSLY" way. Unreasoned response is bad - but badly structured reason is worse. I apologise for the rudeness but I feel that sort of posting needs to be discouraged. I'd have let it pass but for the cancer comment: that's just idiotic…

This is probably one of the reasons they experimented with removing the down-voting on comments. Some people, rather than vote on relevance or insight of the comments feel they should be enforcing their own arbitrary standards.

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

#47
post #46
post #39

Earlier quoted context omitted.

Nothing to do with style: the other sort of presentation :) i.e. I believe you started the response with a rather silly statement then structured the rest in a sort of out-of-breath "OMG SRSLY" way. Unreasoned response is bad - but badly structured reason is worse. I apologise for the rudeness but I feel that sort of posting needs to be discouraged. I'd have let it pass but for the cancer comment: that's just idiotic…

This is probably one of the reasons they experimented with removing the down-voting on comments. Some people, rather than vote on relevance or insight of the comments feel they should be enforcing their own arbitrary standards.

I think the issue is in looking on down votes as a bad thing :) who cares? You did make a silly comment and people are pointing that out (relevance is fairly subjective; I suspect a number of people read the cancer comment and then stopped reading it as "not relevant")

Sometimes people down vote poorly or for the wrong reasons, I agree. I think this case was justified - but for the cancer comment I myself wouldn't have - indeed I'd probably have upvoted because I do agree. That is how badly it came across (and as you might read elsewhere this is about my 2nd vote today :))

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

#49
post #43

Earlier quoted context omitted.

Python is a mature language with solid implementations, top-class web frameworks, an above average user community, and hundreds of libraries that do pretty much any thing you want. Ergo: it is fine to use with web apps.

But im not deriding Python per-se (indeed I believe it is a fantastic language and the vast majority of my code is in Python). However when you consider it in the situation of a Web App (i.e. running under Apache or another web server) it loses most of the advantages. Not to make it worse - but if you know PHP there is no huge benefit for switching to Python :) Which is what the OP is asking "should I learn a new lan…

I wrote a PHP app back in the day. It was small and messy, had code strewn all throughout the HTML. Hell, I didn't even know how to run a PHP script without loading an URL in the web browser.

That's not necessarily a fault of the language, but the books available for PHP taught me how to code that way. And the community was in a perpetual state of newbishness. At least in 2005, the IRC channels were dominated by people (like me) who one day though "I have no programming experience but I would like to make a web app. I know! I'll use PHP!". PHP can be programmed well, but it was hard to find someone in the community to point you in the right direction.

Facebook proves that large, successful web apps can be built with PHP. But PHP was probably not Zuckerberg's first or only programming experience.

As for your contention that "Python isn't really a web app language (really, at all, in the slightest)", that's just straight stupid, and doesn't deserve a further response.

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

#50
post #26

Since nobody suggested it, go to college/university and learn about data structures, lists and processor architecture. It will help you become a much more insightful programmer.

This advice is so bad I think it just gave me cancer. The OP is asking "what abilities are required to effectively build complex web apps and services?" 99.9999999999% of data structures in web programming are arrays and hashes. Look those up on wikipedia and read it, then you are done, now get to work. Processor architecture??? Is that really to be taken seriously? Not only was it previously not relevant to the OP's…

Downvoted for tone, not for the quality or validity of your viewpoint.
Post reply on HN