I am an "Enterprise" (I know people don't like that term) developer and about to start a book that deals with JVM languages for use on larger enterprise applications, especially geared towards Web and Database driven systems.
I want to cover a lot of the JVM languages that are used today, I don't feel that a book has truly covered these topics. If I am an Enterprise developer and am considering a JVM language, I would want to see how the language compares with other languages, possibly with the Java language. How could this language be used? What are the advantages, disadvantages, etc?
I have also noticed that some developers are religious about the programming language they use. I am not partial and just want to find the most productive tool for the job.
I want to cover the following languages, I know there are a lot, but a developer may decide to investigate all of them or use a combination of them.
Scala, Clojure, JRuby, Jython, Groovy, SISC
Smaller Sections: Rhino, ABCL Lisp, JScheme, Bytecode Engineering, Kawa, Antlr write your own own language
Clojure proposals for the JVM?
I will not cover beanshell and not cover groovy with too much detail.
Topics covered for each language:
- Hello World applications, Socket Client Apps (RSS reader?) and general syntax possibly
- Syntax, Algorithms with the JVM language, Project Euler examples
- Approaches for Java interoperability
- File I/O
- Database driven web development (Spring, Hibernate, JDBC, etc etc), Online Security
- Web services
- GUI (Swing/SWT) development
- OpenGL and game development
- Benchmarking a JVM language
- Terracotta and the JVM
- IDE setup with Textmate, VIM, Emacs, JEdit, Eclipse
- XHTML to PDF/Image conversion with XHTMLRENDERER.
I know there are a lot of topics and it could be a huge book, but I refuse to leave out any of those sections.
Hmm, can you cover 12 languages in one book.
Edited-1: I am probably going to remove the 'enterprise' bit. If I cover 'games' in here, then that is not really enterprise.
Edited-2: I really want to cover a lot of topics, including programming basics and advanced features. My mini scheme is an implementation of scheme with pure java code. A alpha JVM language, that covers interpreters. But, I also want to cover compilers as well. I am just not that well versed on the subject. Should I go for it anyway. Maybe covering a java forth? Hmm.