Help, where to start learning Java

J

john

Hi, i have read 2 books( thinking java and how to program in java), and

have general understanding of the programming language. But even
after reading 2 books, i still feel it is hard to apply what i've
learn, is there a program out there that makes learning/programming
Java easier, such as dreamweaver for html? I have spend a year in
learning how to program java, I've trying to memorize the syntax for me

to program, but doesn't seem to work, i tend to forget over time. Any
advices?


thanks
 
V

VisionSet

john said:
Hi, i have read 2 books( thinking java and how to program in java), and

have general understanding of the programming language. But even
after reading 2 books, i still feel it is hard to apply what i've
learn, is there a program out there that makes learning/programming
Java easier, such as dreamweaver for html? I have spend a year in
learning how to program java, I've trying to memorize the syntax for me

to program, but doesn't seem to work, i tend to forget over time. Any
advices?

Write alot of code. The syntax is the least of your problems. Writing good
OO code takes time, is pretty much essential and is many times harder than
remembering syntax.
Don't mean to be discouraging, but if you keep writing code, the syntax will
be 2nd nature.
It's like anything you have to do the thing to get good at it, books are
good, classes are better, the internet is a valuable resource, but you have
to know when to take advantage of each, generally do a bit of all of them,
but above all write code! If possible get an expert to review it. (I'm still
looking for that expert). comp.lang.java.* is a good resource though with a
good bunch of people, I've learnt more good Java here than anywhere else.
 
R

Roedy Green

to program, but doesn't seem to work, i tend to forget over time. Any
advices?

You might try Eclipse. It won't memorise the syntax for you, but it
will slap you on the wrist very soon after you make a mistake so you
quickly learn what WON'T work.

Also try working with code examples and modifying them. There are
hundreds of them in the Java glossary. See if you can find one to
roughly suit your task. That way the general framework with already be
there even if you end up changing every line.
 
R

Rhino

VisionSet said:
Write alot of code. The syntax is the least of your problems. Writing
good
OO code takes time, is pretty much essential and is many times harder than
remembering syntax.
Don't mean to be discouraging, but if you keep writing code, the syntax
will
be 2nd nature.
It's like anything you have to do the thing to get good at it, books are
good, classes are better, the internet is a valuable resource, but you
have
to know when to take advantage of each, generally do a bit of all of them,
but above all write code! If possible get an expert to review it. (I'm
still
looking for that expert). comp.lang.java.* is a good resource though with
a
good bunch of people, I've learnt more good Java here than anywhere else.
I just want to agree with what Mike has said. The best way to get better at
programming is to WRITE PROGRAMS, not to read about it. There's nothing
wrong with reading programming books: you have to get the basic information
somewhere. But the way to progress is to _write code_.

If you were interested in being a football player but had only played a few
games, which approach do you think would make you a better football player:
A. reading lots of books about football strategy?
B. watching lots of football games on TV?
C. playing lots of football?

I think the answer is obviously "C". You might learn a few things from "A"
and "B" - but I think you're going to learn a lot more by playing than
reading books or watching other people play.

Programming is pretty much the same deal. Writing code - and compiling it
and testing it and debugging it - are where you really LEARN how to program
well.

If I were you, I'd find a project that interests you and then devote all the
time you can spare to it. For instance, if you're interested in the stock
market, write a program to track stocks and even buy them and sell them - or
at least make recommendation for what you should buy and sell. If you're
interested in music, write programs that will play your favourite music
files or organize those music files so that they are easily found when you
want to hear them. I find that working on an interesting project is one of
the things that makes me want to program; if I have to write a program about
something that doesn't interest me, it is harder to sustain my interest.

Memorizing syntax of statements is _not_ a very good use of your time, in my
opinion. While it might be handy sometimes to have everything memorized, I
feel that it is a better use of my limited brain cells to use them for the
creative and imaginative aspects of programming than to cram them full of
facts that I can easily find in a reference book or API.

Rhino
 
D

David Segall

john said:
Hi, i have read 2 books( thinking java and how to program in java), and

have general understanding of the programming language. But even
after reading 2 books, i still feel it is hard to apply what i've
learn, is there a program out there that makes learning/programming
Java easier, such as dreamweaver for html?
The Java equivalent of Dreamweaver is a Java Integrated Development
Environment. I can recommend NetBeans 5 Beta 2 from here
<http://www.netbeans.org/community/releases/50/index.html> but I have
compiled a complete list here
<http://profectus.com.au/ee_JavaIDE.html>. These IDE's will create a
skeleton program for you, check your code as you go and suggest the
valid alternatives as you write including the documentation. Like
Dreamweaver, they allow you to visually design a form and modify the
generated code.

Rather than attempting to write a complete program I suggest you
locate a simple program, perhaps from one of your books, and change it
to add some extra features. I think the combination of reading and
writing Java code is the best way to learn.
 
L

Luc The Perverse

john said:
have general understanding of the programming language. But even
after reading 2 books, i still feel it is hard to apply what i've
learn, is there a program out there that makes learning/programming
Java easier, such as dreamweaver for html? I have spend a year in
learning how to program java, I've trying to memorize the syntax for me

You will never learn to program from reading - it will only serve to give
you a basis on which you can grow.

You must make many projects.

If you have been studying Java for a year and still don't know the syntax
then you must realize that you are doing something wrong. Begin by writing
trivial programs. As you encounter problems in your life see if you could
find a way to represent them with a Java program. Set out to write (or put
substantial effort into) a Java program every day.

I do not believe a "do it for me" program is going to help you lean Java -
just as I don't feel Dreamweaver helps people to learn HTML.
to program, but doesn't seem to work, i tend to forget over time. Any
advices?

Yes - code more.

Make simulation programs, calculators, english parsers, fun encodings/secret
codes (start with something familiar like Pig Latin and then make more
complicated and fun ones), or you could implement actual encryption
algorithms with Sun's included functions. Make games, puzzles, solve
classic algorithms.

I prefer to think in this regard, thinking in terms of a project with a
purpose, and then setting out to make it.

However, you could turn the tables - create a list of "interesting" sounding
available classes from the Sun website and then set out to make a project
using every one of them. (You can of course use more than one per project
if it suites you.)

If you study from the point of writing code - maybe 1-3 hours a day (more
when you feel like it) syntax should quickly become the least of your
problems.

If you do this for about a month, and complete somewhere aroud 20 projects
then you should be ready to start making more complicated programs. On
Roedy's website www.mindprod.com he has a list of student projects.
Ultimately though you are going to need to code something that interests
you. Programming in any language is like playing an instrument - you only
get better with practice.
 
S

Stefan Ram

Luc The Perverse said:
You will never learn to program from reading - it will only
serve to give you a basis on which you can grow.

A professional programmer will spend more time maintaining
programs than writing new programs from scratch or designing
software. Maintainig programs often begins by reading code
other programmers have written. So, one of the most important
skills is the ability to /read/ source code.

To learn to read source code, reading source code might help.

The subject is "learning Java": "Learning Java" can not be
interpret only by "Learning to write Java", it also means
"Learning to read Java".
 
L

Luc The Perverse

Stefan Ram said:
A professional programmer will spend more time maintaining
programs than writing new programs from scratch or designing
software. Maintainig programs often begins by reading code
other programmers have written. So, one of the most important
skills is the ability to /read/ source code.

To learn to read source code, reading source code might help.

The subject is "learning Java": "Learning Java" can not be
interpret only by "Learning to write Java", it also means
"Learning to read Java".

Learning to write Java is still an improvement over "learning how to read
books about Java".

Yes - modifying existing code is also an important step though - thanks for
pointing that out to me.
 
D

David Segall

Luc The Perverse said:
I do not believe a "do it for me" program is going to help you lean Java -
just as I don't feel Dreamweaver helps people to learn HTML.
 
D

David Segall

Luc The Perverse said:
I do not believe a "do it for me" program is going to help you lean Java -
just as I don't feel Dreamweaver helps people to learn HTML.
Most people want to produce web pages or write computer programs. They
have no desire to learn HTML or Java. Dreamweaver helps to produce
attractive, maintainable web pages by exposing the look of the page
and the structure of the HTML and CSS. Java IDE's serve a similar
purpose. While it is probably not possible to avoid learning the
underlying language I don't think that should be the goal. After all,
anybody who has been programming for more than a few years has
"learned" several languages that they have since abandoned.
 
J

john

Thank you for all your inputs, they are very helpful. I now have a
sense of direction on how to approach in learning to write java
program. This news group is great!!! I should have come here a year
earlier for advice. Anyway, merry Chistmas to everyone!!! and thank you
all.
 
R

Roedy Green

If you do this for about a month, and complete somewhere aroud 20 projects
then you should be ready to start making more complicated programs. On
Roedy's website www.mindprod.com he has a list of student projects.
Ultimately though you are going to need to code something that interests
you. Programming in any language is like playing an instrument - you only
get better with practice.

The most important thing is to pick a project that has heart for you.
It going to be tough slogging. You must CARE about succeeding in
getting it to work or you will be easily discouraged. Picking a
project too difficult is not nearly as big as error as picking a
project that is only mildly important to you.

My list of projects at http://mindprod.com/projects/projects.html
is just to give you some ideas, to spark your imagination. Many of
the projects themselves could be taken in many directions.
 
R

Roedy Green

The most important thing is to pick a project that has heart for you.
It going to be tough slogging.

I was lead counselor at a computer summer camp. I interviewed all the
kids and discovered most of them wanted more than anything to write
their own video games. There were programming novices. But within a
week nearly every kid had written a game or animation. I was utterly
blown away how fast they learned. In the breaks they DEMANDED to learn
trigonometry, which blew the mind of a math prof who was watching the
production.

The other thing was the kids wrote nothing but commented/structured
code. They never saw anything else, so it never occurred to them to
do other wise.
 
P

Paulus de Boska

John, the best way to learn is by studying examples and adapt them,
experiment with them as much as possible, because you can read all you
want, but things will more often than not work just a tad different
from what you expect. My lessons are all based on examples, so feel
free to take a look at them. (Your browser will need Java support,
however, because I use applets. A lot .)
 
V

vmjava

Hi Rhino,

I am a software Engineer having seven years of work experience. I had a
break of fours years due to family reasons and now I am trying to get
into IT field. I have very good software development experience in the
client -server side. I have worked in c/c++ and have abundance interest
and knowledge in DBMS, (sqlserver, SYBASE and little oracle exposure).
This is just an introduction about me. I saw your reply and was so much
impressed by the why you have answered. It is a wonderful feedback. The
last two paragraphs are simply great and could steer the interest among
many people.

VMogana
 
R

Roedy Green

- you must decide what area of java programming you want to lear.
Then, try to find some application written by java proffesionals, with
source code; and study careful this code. By my opinion, this is the
best method...

you need both. If you don't look at good code you will develop all
sorts of bad habits and goofy round about ways to solve things.

If you don't actually write code, you will imagine yourself an expert,
but you won't actually be able to create anything, like those people
who read books with cloud diagrams and imagine they are software
architects.
 
R

Rhino

vmjava said:
Hi Rhino,

I am a software Engineer having seven years of work experience. I had a
break of fours years due to family reasons and now I am trying to get
into IT field. I have very good software development experience in the
client -server side. I have worked in c/c++ and have abundance interest
and knowledge in DBMS, (sqlserver, SYBASE and little oracle exposure).
This is just an introduction about me. I saw your reply and was so much
impressed by the why you have answered. It is a wonderful feedback. The
last two paragraphs are simply great and could steer the interest among
many people.
What can I say? I love programming, particularly Java programming!

I was just sharing something that helped me when I was starting out. I found
that working on my own little projects was an excellent way to maintain my
interest in programming. If it helps anyone else, that's great.

Good luck with your plan to get into the IT field!

Rhino
 
L

Luc The Perverse

Roedy Green said:
I was lead counselor at a computer summer camp. I interviewed all the
kids and discovered most of them wanted more than anything to write
their own video games. There were programming novices. But within a
week nearly every kid had written a game or animation. I was utterly
blown away how fast they learned. In the breaks they DEMANDED to learn
trigonometry, which blew the mind of a math prof who was watching the
production.

The other thing was the kids wrote nothing but commented/structured
code. They never saw anything else, so it never occurred to them to
do other wise.

Now this I didn't realize.

I had no idea you had experience in teaching children? I have been
looking for ideas to teach and stimulate desire to learn logic and
mathmatics in younger children. It is my belief that subjects which are
typically reserved for higher education such as trig, calculus, discrete
math, deductive logic could all be started before children ever leave
elementary. The trick would only be to interest the children, and present
the material in a way that it could be absorbed.

Can you offer any insight into this matter? Into teaching children how to
make games? What engine did you use (I suppose you were using Java).
 
L

Luc The Perverse

David Segall said:
Most people want to produce web pages or write computer programs. They
have no desire to learn HTML or Java. Dreamweaver helps to produce
attractive, maintainable web pages by exposing the look of the page
and the structure of the HTML and CSS. Java IDE's serve a similar
purpose. While it is probably not possible to avoid learning the
underlying language I don't think that should be the goal. After all,
anybody who has been programming for more than a few years has
"learned" several languages that they have since abandoned.

Hmmm.

I do agree that a suprising number of people seem to lack the innate desire
to learn the intricacies of the computer. I can relate to a certain
extent - when I get into a car, I coudn't really care less how or why it
works, I just want it to take me to Taco Bell.

I would never reprimand someone for dabbling in programming - but like many
involved fields, typically one receives little enrichment from the type of
programming that an complete novice is capable of. Making a webpage is a
little different as the effect can typically be completely represented
inside a WYSIWYG editor.

What I mean is that we don't have tools which allow dabbling engineers to
build bridges - or amateur mathmaticians to publish worthwhile research
papers. IMHO, programming is generally the same. Java itself is the
crutch that allows people to dabble - people no longer have to learn machine
code, interrupts etc just to get data from the user, display results,
perform simple calculations. If people are interested in learning nothing
at all but still making the computer do what they want I expect them to be
disappointed/frustrated/give up. Still though I would recommend them to
Visual Basic or Labview (depending on what they are tyring to do.)
 
V

vmjava

Hi Rhino,

Thanks a lot.
Wishing You Merry Christmas and Happy Holidays.

Regards,
VMogana
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,780
Messages
2,569,611
Members
45,273
Latest member
DamonShoem

Latest Threads

Top