Home AMX User Forum AMX General Discussion
Options

How do i become a better programmer.

I know a bit of Java,C, C++, VB6. In order to upgrade my skills, what all programming languages should i learn. What all certifications should i obtain. What all devices should i program. How do i get better.

Comments

  • Options
    ericmedleyericmedley Posts: 4,177
    Although not "Programming" per se, it might be a good idea to get your head around the whole Microsoft .Net development environment. Likewise, UNIX (Apple) and LINUX (these two are very similar) There's a whole other world going on up there.
  • Options
    ajish.rajuajish.raju Posts: 185
    Thanks Eric. I think the learning never stops.
  • Options
    ericmedleyericmedley Posts: 4,177
    ajish.raju wrote: »
    Thanks Eric. I think the learning never stops.


    It doesn't for me. Keep up or get out. That's the way of the world...
  • Options
    GregGGregG Posts: 251
    One resource I have found informative and entertaining is the opencourseware stuff from MIT.

    They have a long list if computer science topics:
    http://ocw.mit.edu/courses/find-by-topic/#cat=engineering&subcat=computerscience

    I found this one to be particularly interesting:
    http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-introduction-to-algorithms-sma-5503-fall-2005/video-lectures/
  • Options
    PhreaKPhreaK Posts: 966
    +1 one on opencourseware. There's loads of free resources like this available from some of the worlds best universities - with a little Google fu you'll be able to track down a full set of video lectures for most topics of interest.

    Language wise, here's some thoughts from a few people much smarter (albeit with worse hair and glasses) than me:
    Larry Wall
    Bjarne Stroustrup
    Don't get to bogged down on specific languages though. Every one will teach you a different way of thinking, try to extract what reusable knowledge and fundamentals you can from that. Languages come and go, the ways you can think of approaching a problem accumulate.

    The number 1, most import thing you can do though is to build things. Think of something that interests you, a problem you want to solve or thing you want to create. It doesn't matter what it is. Build it. You'll be astounded at what you can learn by just diving in and doing something. As long as you have an internet connection chances are you'll be able to find a solution to any sub-problem you come across either through Google or StackOverflow StackOverflow. Aside from that, one you've familiar with a language keep an eye out for open source projects in it, preferably ones that will help with something you use or need. This will let you work with other people, workout how to work with different types of people and glean some of there knowledge while you're there.
  • Options
    ajish.rajuajish.raju Posts: 185
    Thanks Greg and Kim. I have enough information now to keep myself updated and relevant.
  • Options
    a_riot42a_riot42 Posts: 1,624
    All programming languages do the same basic task, bullying memory around, so learning a new language doesn't really get you very far beyond learning how to say the same thing a different way. My thinking is to get better at data structures and algorithms, and the math involved in these, the real meat of programming. That will advance your programming far more than learning yet another language. This text is required in CS courses: http://tinyurl.com/pnvf33d

    Learning about searches (breadth first, depth first), sorting, graphs, hashes, and other structures will really help you since they are so general and are applicable in so many areas. I am writing a JSON parser at the moment, and doing it without the concepts I've learned would be a struggle. You'll notice that you will end up writing a lot less code that does a lot more.
    Paul
Sign In or Register to comment.