Slashdot Mirror


Starting an Education in IT?

AriaStar asks: "It's overwhelming to start trying to learn all the different technologies needed to go into programming. It seems that every type of technology assumes knowledge of a different one, which in turn requires knowledge of another, until it's gone full circle. I am interested in everything from Unix to AJAX to Perl. Things like HTML, Javascript, and SQL are like English, but then again, they're basic. Where is the best place to start? What is a good path for someone who learns quickly and easily, but who is simply too overwhelmed, to take?"

5 of 425 comments (clear)

  1. Programtic structure by dave562 · · Score: 5, Insightful

    Take a course in basic programming structure first. You need the foundation of how to properly setup the code. By that I mean declaring variables, setting up functions, properly commenting (gasp) your code so that others can follow what you've done.

    Once you understand the proper structure it is much easier to branch out to the nuiances of the various languages.

  2. DO by iguana · · Score: 5, Insightful

    Don't just read about stuff. Do stuff.

    Find a pet project, find someone with a pet project, volunteer to help a friend or community organization set up a website. It has to be something you're interested in doing or you'll avoid it and not enjoy it. Pick a target and shoot for it, O'Reilly and Google at your side.

    The only way to really learn anything is to do it. I read a bazillion books about DNS/Bind but none of it sank in until I had to set it up myself. Same with SQL, Perl, Python, Template Toolkit, C++, etc.

    It's annoying, it's painful, it's frustrating, but the only way to really learn anything is to get in there and get your hands dirty.

  3. learn by solving *your* problems by Speare · · Score: 5, Informative
    Sure, there are seriously important things to learn in data structures, algorithms, and methodologies, but the fastest way to learn programming (the fastest way to learn ANYTHING) is to try to solve your own problems, not the stock rote example problems you'll find in books.

    If you want to learn how to skate, take a tennis ball and chase it around a parking lot while having skates strapped to your feet. Don't spend more than a few minutes trying to consciously learn how to stand, roll forward, brake, or fall. Chase the ball. Do something OTHER than learn how to skate, but do something that requires skating. Your medulla oblongata will do the job far faster if it's allowed to do it without micromanagement from your conscious mind.

    Same goes for programming. You won't learn how recursion works by typing in a fibonacci example. You'll learn how recursion works when you want to make a gallery thingy and find yourself needing to catalogue all *.jpg files below a certain directory. You won't learn how object oriented programming works by re-reading the wikipedia article on polymorphism, you'll learn more valuable lessons when you decide it's insane to be writing almost identical code in so many places and realize that's what a parent class is for.

    Solve YOUR problems, not the book's, and you will develop a passion for problem solving. Almost all of the "programmers" out there who succeed have one thing in common: they wanted something implemented so they got it working on their own.

    --
    [ .sig file not found ]
  4. Errata by Anonymous Coward · · Score: 5, Funny

    The last sentence, " You may have great ideas, but if you cannot them to your English-speaking peers, then you are no better than a pseudo-technologist. ", should read, "You may have great ideas, but if you cannot explain them to your English-speaking peers, then you are no better than a pseudo-technologist."

  5. Re:DIY by bobdapunk · · Score: 5, Insightful

    I am so tired of people saying that installing linux is a good way of learning a *insert language/technogloy*. Read a book. Work on a project. Linux is not the greatest tutorial invented to teach - it is an open source source operating system that offers flexible solutions to many problems for people that want to learn the applications and environment.

    The best way to learn a certain language or technology is to work in an environment that you understand and build on your current knwoledge. Jumping into a different environment and leanring it can get you frustrated and distracted from the true goal and I am sure has lead more than one perosn to be discouraged enough to stop pursuit of what they set out to accomplish.

    I am drunk, sorry if I am rude. But being a linux fanboy is not the answer to every f'ing question posted to /.