Improve company productivity with a Business Account.Sign Up

  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 207
  • Last Modified:

How should i go about learning what i need to know about programing

I am industrial & Communications Technology Major and i am trying to learn to prgram but i don't know much about it i am looking to teach myself a bit over the summer and want to know how you all (people who know what they are talking about lol) learned and with what and how and what can you do with the different languages and which one is best to know.
4 Solutions
Learning to program is much more than memorizing the syntax of a programming language. You must also study algorithms (because problems fall into typical categories), data structures (because they affect performance), and even some theory. Most peple think it takes a four year college degree and 2+ years of full time practice to become proficient. Although there are self-taught programmers, they often lack the background knowledge to build first-rate software.

For the non-software-engineer wanting to program simple tools in support of their area of concentration, I'd recommend a scripting languages like perl or python, because they're not too complex. If you really wanted to learn to develop applications, and want to learn on your own, I'd recommend java, because you can get a full suite of java tools and books online for free. I'd specifically steer away from C++. It's the most powerful extant programming language, but the learning curve is both steep and long. I would also not bother with C, BASIC, or any other non-object oriented language if I wanted to code anything even reasonably complex.

Good luck.
Hi WhlGyro,

you should answer some questions for yourself (and for us to give an advise)

- which platform will i work on (windows, linux, mac etc.)?
- will there be a certain field i program for (text parsing/analysing, graphics, math etc.)?
- is a certain language prefered (cause it is used at work/college, a friend or co-worker uses it - as an expert at hand, etc.)?
- will it be just a hobby or a more serious task (i know hobbies are serious fun)? some languages are easy to start with, some take a certain time to get used to.
- which tolls are available (some are free, some cost a whole bunch of money)
and maybe some other questions too.

when you have decided about environment, language, tools etc.
- grab a good book
- try to get your hands on the code of someone else (don't steal it :-) ), you can learn a lot from other people, but keep being suspicious
- start with your own simple prog

Karl Heinz KremerCommented:
The most important thing you can do (after you get the basics of C++ down): Read code, read as much as you can get your hands on. These days it's pretty easy to download projects of any size and have access to all sorts of sources. Try to understand why things are done in a certain way. Try to come up with better solutions. Try to learn anything that you don't understand.

If you need a book, look into Thinking in C++ by Brucke Eckels - it's a free download:
Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Well, I'm a self taught programmer. I learn first to doing batch files in DOS (amazing what you can do with ANSI escape sequences), then (very promptly) moved to C then to Delphi, then learned OOP with C++. Later on I went for Java, Perl, PHP, etc. Then I went to college and learned all the important stuff such as algoritms, data structures, software engineering, etc.

The truth is you can grab most of all this knowledge by getting some books and looking in the web. (However, you'll need to practice, practice, practice).

I don't think the language you choose should really be that important. But if I were a begineer now, I'd love to learn Java. Why?

1) It's available on all platforms.
2) There's a helluva of information on the internet.
3) There's a ton of books about Java.
4) The SDK is free.
5) There's either very cheap IDE's or the wonderful open source eclipse (
6) It's object oriented.
7) It's easy to learn C/C++ once you learn Java (You could say "and viceversa", but I don't think so).
8) It's a managed language. Meaning that you cannot render (that easily) your computer unusable with a Java program.

I could go on and on, and I'm sure every other language has an advocate who could come in here and post 1000 reasons why you sholdn't use Java and use another language. Anyway, I don't even use Java for work (I work 90% of the time in C++ projects), however it's my hobby language, and it sounds to me that you're looking to learn how to program so you can have your own software pet projects, so I'd like to recommend it to you.

Here's some links for you:
Java Tutorials and more java tutorials: 
This is college stuff:
MIT programming basics:
Some books:
Algorithms (This is mostly math, I've got this book on print. It's the best, not for the weakly-hearted):
More Computing Theory:
Data Structures in Java:,
leflon's advice is sound; determine what you want to use programming for. That will help you understand both what language you'll need to learn and what extent of learning is appropriate. You might also want to consider how much time you have to invest in learning to program.

If you want a career programming, then the college degree is your path. I've actually sat and watched HR folks do a first sort on resumes by trashing every one with no college degree. It's an easy way to turn 300 resumes into 50 for further study. You maybe throw away some gems, but also a gtreat deal of trash. It is "possible" to be successful without making this investment, but you won't get the best assignments at the best companies any other way. There are people who think they are programmers because they can type raw HTML. Don't listen to them; they have no clue.

If you just think you'll need to do a bit of coding in support of another career path, then I'd go for something you can download for free and avoid investing too much time and money before you've tested your motivation to learn on your own. I recommend java for this purpose.

hi tinchos,
as  WhlGyro never seems to return to any of his Qs and as everyone gave some valid input i would recommend a 4 way split.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now