I'm interested in learning to write software. I may want to write a freeware program or if I get good enough, perhaps try to sell a program and make a couple of bucks. At some point I may be interested in getting a job related to computers, maybe not necessarily programming but something having to do with computers. I'm also interested in learning to create websites.

It seems some of the first questions I need to address are, what programming languages should I learn first ? What are the most useful & versatile languages ? What languages should I learn to make myself as employable as possible if I decided to pursue that avenue ? How will this likely change in the next 5 or 10 years ?

What are some the the best and most *in demand* computer jobs presently available ? What type of positions could I get with minimal training, say a 2 year degree ? Are there entry level positions available with no degree ?

Lastly, could anyone please recommend some good books that could help me with the aforementioned goals & interests ? Books or teaching materials that lend themselves to self study or self teaching would be best.

Knowing of any *classic* computer texts that I should have would also be helpful.

You are starting with the wrong questions. If you feel that programming is something you would like to do, then you need to persue that course through a college or technical school. No one will hire you anymore if you are self-taught, unless you have a ton of experience and a portfolio of what you have done.

The most in-demand jobs right now are very language or job specific (like DBA programming and managing experience).

There is no "Best" programming language, as it depends on what you are writing. The best thing to do is just to start googling to see what jobs are available, consider if you are interested, and then choosing a programming path to get you there.

John, I myself am a novice programmer and do it for fun. I suggest you start with a book in a language that appeals to you. I personally like Visual Basic, but am going to learn C++ and eventually go in that direction as I want to do basic game programming with DX and whatnot.

The important part is to learn a language, do small programs, see if you like it. 20% of the time is coming up with the idea for a program, 10% coding it, 70% debugging and fixing bugs. That 70% is quite boring for some and will be the determining factor to see if programming is right for you. See if you like this field before you dedicate your life to it. It is amazingly frustrating at times, but is rewarding when you see your finished product.

So to review:

-Choose a language, learn it.
-See if you like programming
-Go from there, then see us in a month

Thanks for your feedback guys, and thanks for summarizing things for me PVTCaboose1337.

-Choose a language, learn it.

Click to expand...

As I started checking into this, there were so many different languages and the computer field changes so fast, I felt like, where in the world do I start ? I suspect one could devote their entire lives to one specific language or area of computer or Internet technology if they wanted to. I don't want to do that

In the past I have had ideas for engineering software (software to design mechanical parts) that I sent into a software company via email and they actually implemented the ideas. I have also had ideas for whole software programs (what the program does, not the actual code) which I have seen sold successfully.

I thought well, if I knew how to write the code then I could have produced those products. I know it's not that simple though, even if you can write the code it generally takes a huge amount of time, money, and effort to get a product to market as I know from a venture with a mechanical device I had.

I thought about learning lisp to make programs for AutoCAD. I'm not sure what language most engineering type programs usually use. I also thought it might be fun to write a firefox extension or create a website.

Writing some type of useful program and releasing it as freeware or donation-ware appeals to me. It would not have to be engineering related. I get ideas for improving programs but I do not presently have the skill to implement them.

In my research on programming languages it seems wherever I look C++, Java/Javascript, & visual-basic come up for general programs & HTML, CSS, & PHP come up for the web. Perhaps I will start with one of those and go from there. It seems there are variations of the "C" languages, C, C#, C ++, etc..

I suppose the C languages are related so if you know one then you know something about the rest ? From what I can gather so far C++ is the one to know.

If my additional info will help you provide any more feedback please let me know. Otherwise, thanks again and take care.