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.


Alex Ott said...

May be to add Bigloo to list of the Scheme implementations, supporting JVM?
P.S. i can prepare Emacs part for this book, as i already has some notes for my series of articles with common name Emacs as development environment

Berlin Brown said...

Thanks for the info. Most of the languages I have mentioned, I worked with at least some. Actually, I haven't tried KAWA and am more partial SISC. But, I would certainly look at Bigloo.

Sure, I may consult for the emacs part. Nice overview as well.

Alex Ott said...

we written pretty big part of intranet site in mix of kawa & bigloo about 6-7 years ago, at that time SISC was in early stages of development and has very poor performance

Berlin Brown said...

Just based on your experience, it sounds like have a lot of faith in bigloo. I will make sure to do my research on it. I am surprised that these JVM languages don't get a lot of press.

Anonymous said...

Hi Nice Blog .This web based timecard is used to track the time and attendance of employees, and at the same time track labor activity against specific parts, jobs, and operations.