As a practical language in use, Java is far from dead. Not even close. But Java is also conflated with the Java Virtual Machine (JVM) which also runs other languages becoming popular (Groovy, Clojure, Scala, etc.).
But honestly, I don't have a real practical purpose for this. That's partly why I came out asking whether or not anyone would care. With the exception of Minecraft, Java doesn't really have any future in gaming. Even though Android is doubling-down on Java in Android by switching to OpenJDK, game developers use C/C++ and probably will for performance reasons for quite a long time.
My point is I have no vision of this being a competitive choice. I thought perhaps it might be another way to introduce Allegro/game dev/programming to people who would be afraid of C/C++ development for various reasons.
The amount of interest generated (plus or minus) will change how seriously I take this project and the amount of time I put into it. The "just for fun" level may be to develop far enough to make a simple game in a few languages, put it on github and stop there, while a more serious approach may be to install a full-on development environment and/or Linux to see if we can use JNAerator to generate the full Allegro binding automatically.
EDIT: I checked into JNAerator and used it to generate a full Allegro binding from allegro.h. It does work, but I did have to touch it up a little. I say it gets me maybe 80% of the way there. Some random issues:
I had to manually deal with size_t
The only issue I had not having native system headers is any function taking/returning c_time was skipped (a few file I/O functions)
While it defined types like ALLEGRO_BITMAP, for whatever reason all of the Allegro object types it treated like void** when it mapped them (like in al_load_bitmap)
the fixed point math and haptic functions were all skipped (??)
I think I can take this as a starting point and then maintain it essentially by hand, since the API changes so rarely. I can fix up things like typed pointers, and I can rename things so that this line based on the out-of-the-box code:
ALLEGRO_COLOR.ByValue color = al.al_map_rgb_f(1f, 0f, 0f);
Looks like what I would like it to:
AllegroColor color = al.mapRgbF(1f, 0f, 0f);