|
Java is a mature platform for application development with a rich array of
libraries to draw upon. Running Java programs, however, especially on Linux,
has historically been a bit tricky. Java may be "portable" but setting up an
execution environment can be frustrating in the extreme: Rather than having a
single command to execute you have to muck around with finding the exact right
things to put on your CLASSPATH, knowing the exact class name to run, and even
finding a Java VM that will actually work can be a pain.
The traditional approach to this sort of problem is to use autoconf and
automake. But in the Java world, all you have to do is identify and select a
compiler, identify and select a runtime environment, and locate and formulate
an appropriate classpath. That's it.
equivalence is a tool which takes a new approach to the configuration problem,
and makes it quick and easy to develop and distribute using Java on Linux. We
take an unusual approach: it's not much more than a set of Perl scripts which
find prerequisites and then create a make fragment. That fragment is the
included by a well constructed Makefile which just builds what needs building.
You can build and run either from command line or from within your IDE.
equivalence supports changing between runtimes and compilers so you can quickly
verify that your code works in Free Java as well as within (say) Eclipse
running in real Java.
So this talk will talk about the general configuration problem, how the nature
of Java constrains and simplifies what you have to take care of, and some
thoughts on how to approach dealing with it. I will offer some tips around how
to effectively develop in both in traditional Java, using an IDE like Eclipse
and using gcj to compile to native ... all at the same time!
Audience
Anyone who knows Java and wants to do development on Linux but isn't quite sure
how to effectively combine the tools available - this talk is for you.
If you have ever struggled with trying to make your code available to others
(especially in the open source world when you want someone to have a "quick
look" at your code but know they will trip all over trying to get it running)
you will benefit from this talk.
We'll chat about bootstrapping new projects, sharing code with others, and best
of all how you can focus on coding and not worry about build infrastructure.
And one lucky audience attendee will win a free cup of coffee, so how can you
think this talk is NOT for you?
|