Java tools

M

MCastellanos

Hi;

I am coming from C# and I want to learn and develop and enterprise
system in pure Java. I have a few questions:

1.- What is the best way to get up and running developing in Java?
2.- What tool is the best for enterprise development that would cover
most platforms? Websphere? Oracle tools?, etc.
3.- What is the best source for JavaBeans and other useful tools for
developing web and rich client applications, as well as server side
components?

Thanks in advance,

MC
 
M

Malte

MCastellanos said:
Hi;

I am coming from C# and I want to learn and develop and enterprise
system in pure Java. I have a few questions:

1.- What is the best way to get up and running developing in Java?
2.- What tool is the best for enterprise development that would cover
most platforms? Websphere? Oracle tools?, etc.
3.- What is the best source for JavaBeans and other useful tools for
developing web and rich client applications, as well as server side
components?

Thanks in advance,

MC
For the best allround experience I recommend Oracle JDeveloper.
You will get other responses recommending Eclipse, JBuilder, Netbeans,
xxx, yyy, zzz ad nauseam.

They're all good, some of them (Netbeans, Eclipse) are free.
 
O

Oscar kind

MCastellanos said:
I am coming from C# and I want to learn and develop and enterprise
system in pure Java. I have a few questions:

1.- What is the best way to get up and running developing in Java?

With the JDK, a command line and a text editor (preferably with Java
syntax highlighting). Try to stay away from IDE's until you're comfertable
with how Java works at a low level.

You may want to try BlueJ, an IDE specially designed for teaching. But as
you're already a programmer I'd forego that and after "breaking yourself
in", try several IDE's and choose one.

2.- What tool is the best for enterprise development that would cover
most platforms? Websphere? Oracle tools?, etc.

Any really. The things that ties you to an operating system are
specialized libraries with native methods and databases (because they may
be not as often used on some platforms, and thus not as well supported).

One tool in particular is good to learn though: Ant. This is a build tool
like make, but more powerful IMHO (at least out of the box). Also, it's
syntax is easier (an XML format), and it allows development with any IDE,
and even the aforementioned text editor. Learn it, use it, love it.

3.- What is the best source for JavaBeans and other useful tools for
developing web and rich client applications, as well as server side
components?

"JavaBeans" can mean several things:
- Generally, it means "java beans". These are basically objects with
properties, although you have to define the get & set methods
separately as Java doesn't have the concept of a "property" as VB.NET
and C# have.
- Sometimes it means "Enterprise Jaava Beans", EJB's for short. This is
generally percieved to be something completely different though.

For "server side components", note that they don't exist in Java.
Something that comes very close is a tag library, but there are subtle
differences (the basic principle is the same though).

As to tools, the more advanced IDE's can help you here. Say something
about the size and functionality of Eclipse.
 
B

BlackStarReview

MCastellanos said:
Hi;

I am coming from C# and I want to learn and develop and enterprise
system in pure Java. I have a few questions:

1.- What is the best way to get up and running developing in Java?
2.- What tool is the best for enterprise development that would cover
most platforms? Websphere? Oracle tools?, etc.
3.- What is the best source for JavaBeans and other useful tools for
developing web and rich client applications, as well as server side
components?

Thanks in advance,

MC

1. Looking at the Sun tutorial wouldn't be a bad place to start. There are
also plenty of good books available.

2. If you want to go the whole hog you should take a look at one of the big
beasts (Eclipse, NetBeans, JBuilder etc). However for getting a real feel
for how it all fits together then something simpler may be more useful.
Take a look at jEdit (reviewed recently here:
http://www.techbookreport.com/tbr0135.html), or JCreator (which is also
reviewed on the same site, but which is specific to Windows rather than
jEdit which is itself coded in Java).

3. There's plenty of good Java software available as open source. If by Java
beans you mean components then take a look at the Jakarta commons.

HTH

=================================================
TechBookReport Java http://www.techbookreport.com/JavaIndex.html
 
B

Bjorn Abelli

...
I am coming from C# and I want to learn and develop and enterprise
system in pure Java. I have a few questions:

1.- What is the best way to get up and running developing in Java?

As you're already programming in C#, I'd like to give an additional advice
besides those already mentioned. The similarities between C# and Java can
sometimes be deceitful, so I suggest you start with delving into that. Here
is a source:

http://genamics.com/developer/csharp_comparative.htm

Then you take some of your C#-applications and simply "translate" them into
Java, both simple ones and more elaborated. In that way I think you can get
into Java pretty fast.

// Bjorn A
 
A

Antti S. Brax

With the JDK, a command line and a text editor (preferably with Java
syntax highlighting). Try to stay away from IDE's until you're comfertable
with how Java works at a low level.

I also believe that this is the Right Way.
 
M

Malte

Antti said:
I also believe that this is the Right Way.

Why not just use edlin? Then use a goose feather to mark your
observations on some old scraps of paper?

This *is* 2005

;-)
 
V

Virgil Green

Malte said:
Why not just use edlin? Then use a goose feather to mark your
observations on some old scraps of paper?

This *is* 2005

;-)

<rant>
Yes, it is. And I do a daily hand-holding session with others in my shop who
simply don't understand the basics of their jobs. Admittedly, this is a
non-Java environment, but the principle is the same. They don't have a clue
what happens and they are often lost because of this. I had someone ask me
today what was the difference between Query Manager and SQL. The former is a
tool for managing SQL and non-SQL queries and the latter is... well, we know
what it is. This developer hadn't a clue that Query Manager *manages* SQL
queries and that SQL was a language. To them, it was just two separate,
roughly equivalent, "tools".

Sorry, but I'm a believer in learning the basic principles of this stuff. I
will agree that edlin and goose feathers is a bit too far down the line, but
I believe text editor and command line is where a person should start
learning Java.
</rant>

Thanks for listening. I feel better now.
 
T

Thomas Kellerer

Virgil Green wrote on 10.03.2005 23:04:
<rant>
Yes, it is. And I do a daily hand-holding session with others in my shop who
simply don't understand the basics of their jobs. Admittedly, this is a
non-Java environment, but the principle is the same. They don't have a clue
what happens and they are often lost because of this. I had someone ask me
today what was the difference between Query Manager and SQL. The former is a
tool for managing SQL and non-SQL queries and the latter is... well, we know
what it is. This developer hadn't a clue that Query Manager *manages* SQL
queries and that SQL was a language. To them, it was just two separate,
roughly equivalent, "tools".

Sorry, but I'm a believer in learning the basic principles of this stuff. I
will agree that edlin and goose feathers is a bit too far down the line, but
I believe text editor and command line is where a person should start
learning Java.
</rant>

I completely agree with you.

I do had those situations as well. Just look at this newsgroup. Questions
on how to run a Java class or to build an executable jar file do arise
because the IDEs nowadays tend to shield the more complex parts from the
developer. I'm not advocating that for the daily work this is not a good
thing, but only if the underlying principles are understood and for that a
good editor and the command line *are* the best way to learn it.

Thomas
 
T

Thomas Weidenfeller

Malte said:
Why not just use edlin? Then use a goose feather to mark your
observations on some old scraps of paper?

This *is* 2005

And why do you think this is a valid excuse for not learning the basics?

/Thomas
 
M

Malte

Thomas said:
And why do you think this is a valid excuse for not learning the basics?

/Thomas

Gimme a break, I did not say anything like that. I just happen to NOT
believe one has to start with Notepad to learn Java. One CAN use an IDE.

I believe I am entitled to that opinion.
 
O

Oscar kind

Malte said:
Why not just use edlin? Then use a goose feather to mark your
observations on some old scraps of paper?

This *is* 2005

I agree with the current year ;-) . Also, I find that the self-imposed
restriction of not using IDE's is cumbersome. Unfortunately, it works
better to force someone to learn the basics than anything else I've
encountered.

And as to the (probably deserved) jab at my statement, does anyone know
another way to "force" / encourage a student to learn the basics that
are hidden by an IDE?
 
M

Malte

Oscar said:
And as to the (probably deserved) jab at my statement, does anyone know
another way to "force" / encourage a student to learn the basics that
are hidden by an IDE?

See, I tought IBM's and Oracle's Java classes to students. I believe
that teaching and learning Java is entirely possible using an IDE.

Beginners will have to learn OO basics anyway. Even the best of IDE's
can't screw up simple exercises that teach simple classes, simple
inheritance and polymorphism, for example.

Some of the things that are hidden by the IDE (importance of CLASSPATH,
compiler options, impact of package structures) can be easily tought in
an hour (using Notepad, or, in my case, kwrite or VI).
 
J

John C. Bollinger

Malte said:
Gimme a break, I did not say anything like that. I just happen to NOT
believe one has to start with Notepad to learn Java. One CAN use an IDE.

I believe I am entitled to that opinion.

Of course you are. It just happens to be an opinion little favored by
most of the regulars here who voice an opinion on the subject (including
myself). You are likely to get a better reception if you employ a
little less sarcasm and a little more rhetoric.

Moreover, Thomas made an implicit assertion and raised a valid question
that you have in no way responded to. In his opinion and mine, IDEs do
a good job of hiding many of the nuts and bolts of language usage, and
he asks why you think it is acceptable for students of the language to
remain ignorant of these matters. Inquiring minds want to know.

The biggest problem I see with learning a language -- any language --
with use of an IDE is that what you really learn is how to use the
language via the chosen IDE. When faced with a different (or no) IDE, a
person who has learned that way is often lost. A person who learns
without reliance on an IDE, on the other hand, tends to afterward learn
_any_ IDE fairly quickly. Such a person also tends to use any chosen
IDE more effectively, because they understand better what the IDE is
doing for them.

The fact that IDEs are _available_ is no particular support for an
argument that they are appropriate for language learners.
 
J

John C. Bollinger

Malte said:
See, I tought IBM's and Oracle's Java classes to students. I believe
that teaching and learning Java is entirely possible using an IDE.

No doubt you taught the material effectively and your students learned
it reasonably well. The question, however, is whether the material is
the _right_ material. Any time devoted to actually learning the
specifics of the IDE in question (and there will be a fair amount of
this, whether or not a formal part of the class) is time wasted relative
to the stated goal of learning the language. To the extent that this
also obscures lower-level details, your students have not learned all
that they should.
Beginners will have to learn OO basics anyway. Even the best of IDE's
can't screw up simple exercises that teach simple classes, simple
inheritance and polymorphism, for example.

Huh? Agreed, IDEs do not tend to get in the way of learning such
concepts, but they don't generally do anything special to support it,
either. OO basics are not really the issue anyway.
Some of the things that are hidden by the IDE (importance of CLASSPATH,
compiler options, impact of package structures) can be easily tought in
an hour (using Notepad, or, in my case, kwrite or VI).

You are making a dangerous mistake: confusing teaching with learning.
You can cover the details you describe in a short class, but the best
way for students to _learn_ them is to have to _use_ them. It takes
more use than just a few exercises.
 
M

Malte

John said:
No doubt you taught the material effectively and your students learned
it reasonably well. The question, however, is whether the material is
the _right_ material. Any time devoted to actually learning the
specifics of the IDE in question (and there will be a fair amount of
this, whether or not a formal part of the class) is time wasted relative
to the stated goal of learning the language. To the extent that this
also obscures lower-level details, your students have not learned all
that they should.



Huh? Agreed, IDEs do not tend to get in the way of learning such
concepts, but they don't generally do anything special to support it,
either. OO basics are not really the issue anyway.



You are making a dangerous mistake: confusing teaching with learning.
You can cover the details you describe in a short class, but the best
way for students to _learn_ them is to have to _use_ them. It takes
more use than just a few exercises.

I give up. I assume you'd teach computing by handing out a blank sheet
of paper and have students write a bunch of zeroes and ones.
;-)
 
G

Guest

Malte said:
I give up. I assume you'd teach computing by handing out a blank sheet of
paper and have students write a bunch of zeroes and ones.
;-)

Malte: 0
John C. Bollinger: 1
 
P

Patricia Shanahan

Malte said:
John C. Bollinger wrote: ....

I give up. I assume you'd teach computing by handing out
a blank sheet of paper and have students write a bunch of
zeroes and ones. ;-)

No, after a few weeks, when you are sure they have fully
absorbed binary, you should let them use hexadecimal.

Seriously, there are dozens of skills that have all the
following characteristics:

1. Learning them may enhance programming skill.

2. The best way to learn them is to have to use them.

3. The essentials to get started on OO programming can be
imparted in summary form in a much shorter time.

I would include in this category, in no particular order:
discrete mathematics, assembly language programming,
computer hardware architecture, computer hardware logic
design, electrical engineering, sociology (programming is
often a group activity), domain knowledge for specific
programming projects, operating systems structure,
distributed system concepts, formal grammars, compilers, and
command line programming.

Why is command line programming so special?

Patricia
 
H

Hikikomori

My teachers must have made the mistake of confusing teaching with
learning too. From the way they taught me, I didn't think I was
supposed to use what I learned. =D

Seriously, I was taught command line programming when I first started.
Things like "javac abc.java" or "java abc" are familiar to me. When I
started to work, I realized that everyone is using an IDE and no one
cares about the command line. Strangely, they don't seem to be any less
productive than those command line gurus.
You are making a dangerous mistake: confusing teaching with learning.
 
A

Antti S. Brax

Things like "javac abc.java" or "java abc" are familiar to me. When I
started to work, I realized that everyone is using an IDE and no one
cares about the command line. Strangely, they don't seem to be any less
productive than those command line gurus.

I've seen IDE people being overproductive. Adding accessors to
all private fields without thinking about what kind of effects
exposing the fields can have. Only because it is so easy on the
IDE.

I call it "programming faster than the speed of thought". :)

A good trend in IDEs is that they all seem to integrate with
Ant seamlessly. That way, when a project is set up properly,
it can be developed with an IDE and command line tools. Also
making nightly builds and test runs becomes trivial with Ant.
 

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,277
Latest member
VytoKetoReview

Latest Threads

Top