Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17


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

Posted on 2004-04-15
Medium Priority
Last Modified: 2010-04-01
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.
Question by:WhlGyro
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions

Accepted Solution

guntherothk earned 116 total points
ID: 10833818
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.

Assisted Solution

leflon earned 108 total points
ID: 10834158
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

LVL 44

Assisted Solution

by:Karl Heinz Kremer
Karl Heinz Kremer earned 108 total points
ID: 10834518
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:
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.


Assisted Solution

Cayce earned 108 total points
ID: 10835962
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:,

Expert Comment

ID: 10843380
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.


Expert Comment

ID: 11091065
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.


Featured Post


Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Article by: SunnyDark
This article's goal is to present you with an easy to use XML wrapper for C++ and also present some interesting techniques that you might use with MS C++. The reason I built this class is to ease the pain of using XML files with C++, since there is…
Introduction This article is the first in a series of articles about the C/C++ Visual Studio Express debugger.  It provides a quick start guide in using the debugger. Part 2 focuses on additional topics in breakpoints.  Lastly, Part 3 focuses on th…
The goal of the video will be to teach the user the difference and consequence of passing data by value vs passing data by reference in C++. An example of passing data by value as well as an example of passing data by reference will be be given. Bot…
The viewer will learn how to clear a vector as well as how to detect empty vectors in C++.

722 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question