Sunday, February 1, 2009

Outline for "Enterprise Development with JVM languages"

I am creating a book, "Enterprise Development with JVM languages"

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?

Other topics:
Mono, Factor

I will not cover beanshell and not cover groovy with too much detail.

Topics covered for each language:

  1. Overview
  2. Hello World applications, Socket Client Apps (RSS reader?) and general syntax possibly
  3. Syntax, Algorithms with the JVM language, Project Euler examples
  4. Approaches for Java interoperability
  5. File I/O
  6. Database driven web development (Spring, Hibernate, JDBC, etc etc), Online Security
  7. Web services
  8. GUI (Swing/SWT) development
  9. OpenGL and game development
  10. Benchmarking a JVM language
  11. Terracotta and the JVM
  12. IDE setup with Textmate, VIM, Emacs, JEdit, Eclipse
  13. 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.

No comments: