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...