Do you suggest me using IDE when I'm learning JAVA

T

Tom Anderson

If you expect to use more than one of those platforms it may be worth
learning an editor that is available for all those platforms.

I'm pretty sure both of the one-true-editor

ed and cat?
are available for all those platforms, with and without GUI trappings.

True. But some people (eg me) find them both horrific. Still, if you
don't, definitely an excellent option. And one should know at least one of
them (in particular, vi) anyway, for times when you don't have a GUI.

As i mentioned above, jEdit is cross-platform. It runs everywhere java
runs, and since we're talking about an editor for java development, that
would seem to be sufficient.

tom
 
C

cr88192

Lew said:
Notepad is very bad for Java programming because most extant versions
don't handle Unicode and they don't like cross-platform line endings.

errm, Unicode in notepad works fine...
(not that most people actually use any non-ASCII characters anyways, but
Notepad works fine if they do...).

but, we all know CRLF is the proper cross-platform line ending, since after
all, it is used by Windows...
(and typically people develop on Windows for Windows anyways, most
non-Windows development often being a misnomer...). even when it is for
non-Windows deployment, it is still typically developing on Windows for
whatever is their target OS / HW...


(ok, granted, the line-ending issue is an annoyance sometimes, but this is
no bigger of an issue for Java than it is for C or C++...). but, this is
typically a minor annoyance, little more...

And Gnu make is useless for Java.

it works well for mixed-language codebases, and can easily invoke either
javac or ant...
but, in general, make does what make does, and it does it well...

make really pays off though if C or C++ code comes into the mix, as is
typically the case for mixed-language codebases, ...

for a really generic build system, there is at present not a whole lot of
solidly better options.
Ant doesn't really do C or support lots of customization;
MSBuild doesn't have any good non-MS implementations (AFAIK);
most other options are either a hassle, are uncommon, don't work well of a
variety of systems, don't support the needed level of customizability, ...
(and often just use make as a backend anyways).

the result then is that make is usually the best general tradeoff...

(and it works a lot better than nmake...).


at least I was not suggesting autoconf/configure...

I am a big fan of command-line project deployment, but those tools you
mention are not very useful for Java.

they work plenty well enough though...
 
T

Tom Anderson

but, we all know CRLF is the proper cross-platform line ending, since
after all, it is used by Windows... (and typically people develop on
Windows for Windows anyways, most non-Windows development often being a
misnomer...). even when it is for non-Windows deployment, it is still
typically developing on Windows for whatever is their target OS / HW...

!

I don't know a single good developer who develops on Windows.

Exception: i know one guy who's really into 3D graphics, and he does that
on Windows because the graphics card drivers are generally ahead of the
Linux ones.

I'm sure good developers who use Windows exist, but *everyone* i know
who's worth their salt uses either a Mac or Linux.

Needless to say, i know numerous bad developers who use Windows.

As for deployment, i've been involved in exactly one project that was
planning to deploy on Windows. As far as i know, that project is still in
the process of bursting into flames and dying, although that's got little
if anything to do with its target platform.

tom
 
C

cr88192

Tom Anderson said:
!

I don't know a single good developer who develops on Windows.

Exception: i know one guy who's really into 3D graphics, and he does that
on Windows because the graphics card drivers are generally ahead of the
Linux ones.

I'm sure good developers who use Windows exist, but *everyone* i know
who's worth their salt uses either a Mac or Linux.

I use Linux sometimes, but mostly Windows...

the great problem though is if one develops for Linux, then their potential
user-base is much reduced, whereas Windows is a sort of de-facto OS which
nearly everyone uses... (and, especially, most end-users run Windows...).

not that one has to write Windows-specific code though...


similarly, Linux can't really play most games or run most apps, so then if
one uses Linux they are stuck in a world with a greatly reduced set of games
or apps, ...

Needless to say, i know numerous bad developers who use Windows.

fair enough...

As for deployment, i've been involved in exactly one project that was
planning to deploy on Windows. As far as i know, that project is still in
the process of bursting into flames and dying, although that's got little
if anything to do with its target platform.

I think a lot depends though on intended target domain.

for example, if a person is developing server or enterprise apps, then
Windows doesn't make as much sense. (admittedly, I am running a web-server
on an old laptop running WinXP, but this was more because I was being lazy
here...).

if one is targetting end-users, or for that matter targetting developers
targetting end-users, then Windows makes much more sense...
 
M

markspace

P. Lepin said:
gvim is a bit of nethack among the editors, in that it seems to have
everything, including the kitchen sink, if you're willing to look for it.

What really shocked me, though, is that it does have autocompletion. Now
that's just sick.


I use gvim a lot, it's really awesome. The one thing I haven't found is
a way to edit binary files in gvim, with some kind of split
hexidecimal / ascii display. If I could figure out that, then gvim
would do everything I need. ;)
 
T

Thufir

Use an IDE and a tutorial. If you get stuck ask here. Plenty of people
will know beginner's stuff.


My two cents are that the code completion feature can provide quick entry
to an API, which only has upsides, and that encapsulating the build
process with a single click has no downsides (initially) and can speed
development. Also, small features, like "encapsulate fields" to generate
boilerplate, saves time while encouraging adherence to Java Beans
standards.


-Thufir
 
A

Arved Sandstrom

markspace said:
Yes, I do. Learning to use an IDE is part of learning how to program.
There are lots of little time saving enhancements with an IDE that you
should learn, and those enhancements will help you learn faster as well
as be more productive later in your profession. It's win-win.

A few years ago I would have said "no, just use a text editor" like
several others here, but these days an IDE is so valuable that it should
be part of your basic learning. (A few years ago, you would have used
shell scripting too as part of your basic learning, because the shell
tools were so important to being productive as a programmer. My first
class at university for C was titled "C and the Unix Shell.")

Eventually, you should learn the command line tools, but learning the
command line tools (and Ant) is different than entering code, and the
latter is what you will be mostly doing as you learn. An IDE is the
best tool to help you enter code.
I agree with all of the above - now. Prior to 2000 I used text editors
for Java, but that was more because any IDEs prior to that weren't all
that great. Basically for the past decade I've used IDEs because I
honestly think it's silly to forgo the productivity gains.

Up until not so long ago I recommended making use of a text editor for
initial basic learning. Now that I've really thought it though, I see no
point in using anything but a good IDE. An IDE provides assistance in
entering code, and there's nothing wrong with that.

I also tend to believe that you won't be using code generation features
of the IDE until you have some idea what feature X is anyway.

AHS
 
S

Stefan Ram

Arved Sandstrom said:
I agree with all of the above - now. Prior to 2000 I used text editors

»[T]he only 3 editors we know to be used by great
hackers are TextMate, vim and emacs. (...)

We haven't met a single great hacker that relied
on an IDE, although we hear they exist.«

http://giraffesoft.ca/blog/2009/03/10/4-core-competencies-of-great-hackers.html

»He declined offers of typing help, and just kept
writing away in pencil. He rewrote parts, copied
things over, erased and rewrote.

Finally André took his neat final pencil copy to a
terminal and typed the whole program in (...)
the VTOC manager worked perfectly from then on.«

http://www.multicians.org/andre.html

I ordered my first computer in 1977, but it was delivered
not before 1978. In the meantime, I learned »my« first
programming language »BASIC« by reading a book and writing
programs on paper, executing them in my mind. So, when the
Pet 2001 finally arrived, I already was able to program it.
 
A

Arved Sandstrom

Stefan said:
Arved Sandstrom said:
I agree with all of the above - now. Prior to 2000 I used text editors

»[T]he only 3 editors we know to be used by great
hackers are TextMate, vim and emacs. (...)

We haven't met a single great hacker that relied
on an IDE, although we hear they exist.«

http://giraffesoft.ca/blog/2009/03/10/4-core-competencies-of-great-hackers.html
[ SNIP ]

After reading what that guy wrote in that link, I must conclude that
he's an ignorant idiot. It is not humanly possible - and common sense
should have informed that fool of this fact - to be faster without an
IDE than with one. And if some individual has an environment built up
around vim or emacs or some other programming text editor, with all
sorts of helper scripts and macros and what have you, with which they
are also very productive...guess what? That is also an IDE.

AHS
 
A

Arne Vajhøj

....
As i mentioned above, jEdit is cross-platform. It runs everywhere java
runs, and since we're talking about an editor for java development, that
would seem to be sufficient.

And it is pretty good.

And with lots of Java related plugins.

Arne
 
A

Arne Vajhøj

Up until not so long ago I recommended making use of a text editor for
initial basic learning. Now that I've really thought it though, I see no
point in using anything but a good IDE. An IDE provides assistance in
entering code, and there's nothing wrong with that.

There is nothing wrong with the code typing assistance.

But IDE from day 1 often result in people that do not know
anything about how to run things outside the IDE.

Arne
 
M

Mike Schilling

Tom said:
!

I don't know a single good developer who develops on Windows.

You know me :) I develop on Windows because it's what most of my customers
use, and also because I develop stuff that combines Java and .NET.
 
A

Arved Sandstrom

Arne said:
There is nothing wrong with the code typing assistance.

But IDE from day 1 often result in people that do not know
anything about how to run things outside the IDE.

Arne

That's entirely possible, that some people will have barely any grasp of
how to work outside the IDE. If we discount developers leaving the IDE
fro time to time to use a word processor or web browser, and also
include the ability of the IDE to call up server consoles and what not,
then these days with the latest IDEs a person can likely get away with
using the IDE for everything and not suffer.

AHS
 
A

Andreas Leitgeb

RedGrittyBrick said:

This page refers to "xxd" for the actual forth and back conversion.
Since this is already an "OT"-marked thread here, I add to it, by
mentioning my own "hextools" package with two sources (in C) for
hexdump and hex2bin with a set of features that at least I myself
found very useful back when I wrote it :) (and still, btw.)

http://avl.enemy.org/utils/hextools/

I programmed it in ANSI-C, and the gnuwin32-people seem to have
liked it enough to offer Windows-binaries for it (which I haven't
yet tried, myself for lack of that platform):

http://gnuwin32.sourceforge.net/packages/hextools.htm

(This one is even the first google-hit for "hextools", while
my own follows only after a couple of other links :)
 
C

cr88192

Mike Schilling said:
You know me :) I develop on Windows because it's what most of my
customers use, and also because I develop stuff that combines Java and
.NET.

yep.

granted, Windows is not exactly the perfect OS by any means, but for various
reasons it may be difficult to justify not using it...

otherwise, one may end up producing apps which many possible customers/users
would be unable to use (or use well, as one often gets cross-developed apps
which can be buggy or wonky when used on Windows...).

also, Wine still tends not to work very well, and QEMU+WinXP or similar is
inconvinient.
(actually, I have also recently seen Win7's XPMode, which seems to be
reasonably good for an emulator setup, since the mouse transitions easily,
it supports desktop-integration, ...).


granted, if Linux managed to become dominant among end-users (and got good
app/vendor/... support), then there would be little reason not to use it.

sadly, in some ways its strengths are its weaknesses, and I am left to doubt
that it could compete on equal terms with Windows... (in particular, with
the ways HW and SW vendors typically do things...).

solid binary ABI's and binary-compatibility would do much to help matters.
expecting people to distribute source or build their binaries for damn near
every version of every distro is unworkable...

or such...
 
R

Roedy Green

Do you suggest me using IDE when I'm learning JAVA? because I'm about
to using Eclipse when I'm learning JAVA? Did you using IDE while/when
are a beginner?

You might use an IDE designed for beginners, see
http://mindprod.com/jgloss/ide.html just so you won't be overwhelmed.

There is something to be said for learning to drive with a manual
shift -- analogously no IDE to start so you understand better what
goes on under the hood.

On the other paw, IntelliJ's ability to let me look at any source code
with a click greatly speeds up understanding how Java works.
 
J

Jim Janney

Arved Sandstrom said:
I agree with all of the above - now. Prior to 2000 I used text editors

»[T]he only 3 editors we know to be used by great
hackers are TextMate, vim and emacs. (...)

We haven't met a single great hacker that relied
on an IDE, although we hear they exist.«

http://giraffesoft.ca/blog/2009/03/10/4-core-competencies-of-great-hackers.html

»He declined offers of typing help, and just kept
writing away in pencil. He rewrote parts, copied
things over, erased and rewrote.

Finally André took his neat final pencil copy to a
terminal and typed the whole program in (...)
the VTOC manager worked perfectly from then on.«

http://www.multicians.org/andre.html

I ordered my first computer in 1977, but it was delivered
not before 1978. In the meantime, I learned »my« first
programming language »BASIC« by reading a book and writing
programs on paper, executing them in my mind. So, when the
Pet 2001 finally arrived, I already was able to program it.

I started programming with punch cards, first in Fortran and then
Algol W -- you'd write everything out by hand and then stand in line
for one of the keypunches. It did make you check everything over and
over and over again. Still, I wouldn't recommend doing that now.
 

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

Forum statistics

Threads
473,769
Messages
2,569,579
Members
45,053
Latest member
BrodieSola

Latest Threads

Top