Intel-based Mac mini launched!!! Presentations made with LyX and Prosper
2006 03 01

Do this :

  1. Read Teach Yourself Programming in Ten Years by Peter Norvig.
  2. Install Linux (preferably something like Kubuntu) and become proficient with it.
  3. Learn Scheme, Python and/or Ruby.
  4. Scratch Where It’s Itching (find a problem that is really bothering you and solve it using your newly acquired programming skills)
  5. Release your software as opensource.

Trust me!

Popularity: 1% [?]

Add comments

written by avinash

14 Responses to “How to become a great programmer”

  1. Eddy Young says:

    Anyone can become a good programmer nowadays. New software development techniques have been developed and are very well documented. Back in the days when I started, I had only a DOS disk, which I formatted due to lack of documentation. I can say I learned the hard way as that was the only time I ever messed up a computer!

    Why the focus on Scheme, Python and Ruby? The emphasis should instead be on development techniques. The language is only a tool. If you have the technique, you can write programs in any language.

  2. avinash says:

    Hi Eddy,

    I think you missed my point. For me, to become a great programmer, one HAS TO THINK DIFFERENTLY. Hence the references to Linux, Scheme, Python, Ruby and Opensource.

    I could have used BSD, Lisp, Smalltalk, Erlang and Public Domain for that matter and my point would have been exactly the same.

    By the way, what do you think of Peter Norvig’s article?

  3. Nafii says:

    ya i think u r rite about this 1, one really needs 2 think differently n have a perception of the real world n adapt it 2 programming

    but then again its also a matter of “daring to go ahead, no matter what happens”, for e.g if the pc crashes we’ve got 2 have the guts 2 try again… :-)

    a great programmer needs a lot of support from family n friends 2

  4. Eddy Young says:

    To be a great programmer, one does not necessarily have to think differently. One only has to know what options are available and which one solves the problem at hand most effectively.

    The open-source scene is a proof of that. How many of the most successful open-source projects out there are just regurgitations of what were already available? Were these created by great programmers? Absolutely! Linux is undeniably one of the greatest achievements in computer history, but did Linus think differently? Not at all. He wanted to copy an existing operating system!

    BTW, I think Peter Norvig is simply stating the obvious.

    Nafii: There are differences between “innovative” and “great” programmers. I think you are mixing the two categories.

  5. avinash says:

    Hi Eddy,

    Now we have an argument :-)

    You said: “To be a great programmer, one does not necessarily have to think differently.”

    For me, there is only ONE way to become a great programmer : one SHOULD think differently!

    Your examples are flawed. Most of the best Opensource software (including Linux) are not “just regurgitations of what were already available” or else we would have used those “already available” alternatives (as most of us don’t mind indulging into a little piracy from time to time :-)

    We use OSS because the software are not necessarily better but different enough to please us as geeks.

    Linux is not a copy of anything (not even Unix). Linus built Linux as a 100% compliant implementation of the Posix standard. He did not use 1 line from Minix or any other Unix available at that time. He was the first to think along this line. Remember, at that time, there was no other Posix OS. And therefore, he thought differently :-)

    Peter Norvig might be stating the obvious but this is something young people need to understand : you must put a lot of energy if you want to become great in anything.

    Great = innovative for me.

    You are mixing issues.

    Great != productive (i.e. writing lots and lots of lines of code in a very short time) or even good (i.e. being better than the average guy working in the same company). Being great is another thing altogether… And very few (dare I say none) of us will be one day be recognised as being in that mould. Unfortunately…

    Except if I’m wrong :-)

  6. Eddy Young says:

    I never shy away from an argument, or rather, a discussion :-)

    The absence of a clear definition for “great” caused the disagreement. Now that I know you meant “innovative”, I have to agree that innovation is most likely to come from those who think differently.

    For me, great programmers are people who excel in their field, and that means being the most able to apply optimal solutions (in terms of cost, time and maintainability) to programming problems.

  7. Nafii says:

    i agree with u Sir on this 1,

    one has 2 believe that the code will work n make sure its not crap n meant 2 do wat its supposed 2 do.

    Programming is like playing a pc game, we want 2 reach the end of the different levels n the most interesting part is that we understand wat we r doing.

    :-) No offense meant toward u Eddy

  8. avinash says:

    “Fame cannot be bought…”

    Remember this kids (there are a lot of my MCCI and UoM students reading this blog) You will have to work a lot for people to take notice of you. And, only then, will you be happy :-)

  9. Eddy Young says:

    Hey, I’m an ex MCCI :-)

  10. Nafii says:

    Thats y am proud 2 b Mauritian, but i am sad i cudn’t talk to OUR DODO!
    Just 2 bad some people just steals our wealth, but we have more than they can get

    Happy Independence Day 2 u all :-)

  11. avinash says:

    ???

  12. Nafii says:

    Guess u didn’t get the meaning, i meant 2 say that we r born programmers
    we just hav 2 recollect our 2 code things we have been using since childhood like video games.

    Wen i was a kid i liked Tetris a lot, n in Squeak they got the idea of adding this game.

    Mauritian Kids r very intelligent, u just have 2 listen 2 them n think about wat they have just said :-) but there r exceptions, not all kids r angel

  13. tarriq says:

    Here is a rather interesting but disturbing article i came up with

    http://www.lexpress.mu/display_search_result.php?news_id=72256

    should we look for someone to blame??

  14. avinash says:

    Why not? What do others think of the article?

Leave a Reply