6 Years
Discussion Span
Last Post by stultuske

You need enough focus to work on it for over an hour at a time. Ideally after maybe some intital play 2 or 3 hours in a session. The way to start is download the java sdk that sdk software developer kit from Sun. current version is 1.6.* i believe. the third number *, being this months version of 1.6. Learn to compile and run a hello world program. Essentially that means you run a program that prints hello.

You may have other experience programming. But that is allways the start. Download the tool to compile something from a code file to something you can run. and run it. Once there i'd say get a book. work through it. But keep up the short practice programs. Go from there. If you have a talent for it you may be writing programs that do all sorts of things in 6 months.



depending on your experience, start of with the universal basics, like pseudocode and, if you want to start using an object oriented language (without having used one before) read on about the principles of object oriented programming


What sorts of things are you interested in doing with programming? Different languages offer different possibilities - or, perhaps, different languages incline towards different tasks.

If you want to learn general programming skills, Java might be a good place to start, although there's a lot of overhead to absorb. Some people incline towards Python as the best starting point today, and I could believe it if I were finding better instructional material.

C is a good first language if you want to be forced to think seriously about memory and how it works.

Lisp is interesting, and there's some very good material on pure programming technique available - the Abelson and Sussman lectures and their book on Structure and Interpretation of Computer Programs (available on line, free). Lisp will make you think a lot about structure and design, and probably give you good mental habits, but it's not a very practical language.

Perl is something you'll need to know if you're using *IX computers, along with bash or another shell, but you probably don't need to learn the totality of perl - it's mostly useful for quick and dirty file manipulations and web work.

On the other hand, if you want to limit yourself to writing for Windows machines, the .NET framework languages are ugly and unpleasant, but seem to be a good way to get work. Of course, the lobotomy stings a little, but I understand you get over it after a little while.

It depends on what you're looking to do. What sort of problems do you want to solve?

In any case, extremely focussed is a requirement. You won't learn this stuff plinking at it on the weekends. Don't worry, if you're going to be any good at this, you won't be able to stop.

Edited by jon.kiparsky: n/a


I started with C++ but fell in love with Java and Python. But with any language, the logic and problem solving skills needed to start programming are the same. You need to think about your assignment (or self started project) with a step by step approach. As you become a pro, you will ask yourself "What language/method do I need to use to solve this problem", not how do I get started programming.

Just like in math you must start small and as you progress to more matured and complicated problems you challenge yourself more and more, picking up little gems of wisdom about how you solve the smaller problems as you go- kinda like divide and conquer to solve a large problem. It's a change in how you might think about simple problems as computers are not intelligent by any stretch. You have to be able to take your step by step approach to problems and instruct the computer through your java statements to solve your problem or achieve some sort of functionality.

1.) I would start out with simple math operations to get accustomed to variables, math operators, assignment, and types.

2.) Then you should work up to taking input from the keyboard and printing it as output.

3.) After you figure out how to do the first 2 items I've listed, try combining the two, like enter 2 number to get the product of those two and print the product. Lots of courses have a section on converting base 10 to base 2 or 4... handling numbers is a big part of programming.

4.) Working with Strings would be a great next step, using I/O and manipulation.

5.) After you have played (and I do mean 'play', it's supposed to be fun!) I'd start looking at object oriented programming, Java is designed for users to write Object oriented coding conventions.

This all sounds daunting I'm sure, but I've given you a very basic set of suggestions on how to start thinking like a programmer and where to begin. There are many excellent beginner tutorials with example code for you to start playing with.

Let me suggest you check out The Java Tutorial Trails midway down the page and for younger people interested in development Oracle's Learning Paths to get you moving into a productive direction, they have different paths based on your abilities and interest. They will show you what to do, and why things are the way they are.

I wish you great success in your dive into programming Java. Remember, we are here to answer questions if you show you have tried to solve the problem yourself, and there is always google.com to explore resources that assist you.

happy hacking :)

Edited by brandonrunyon: added another link


I was wondering if you could give me advice, do i need to be extremely focused? also what do i start with, where do i start?

If you do decide to do Java, try this. It's pretty fast paced, but it does cover a lot of the key concepts.

LOL! How old is that tut? It has some good exercise.
This article has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.