Code Generation: Good, Bad or Ugly?

Fully formatted shownotes can always be found at http://javaposse.comA discussion about code generation and where it might be useful, or whether it should be avoided. Recorded at the Java Posse Roundup 2009 in Crested Butte, CO.* Early vs. late binding + http://stackoverflow.com/questions/367411/

early-binding-vs-late-binding-what-are-the-comparative-benefits-and-disadvantag

  • Matisse
  • http://wiki.netbeans.org/NBDemoGUIBuilder

  • EJB 2.1 vs EJB 3.0

  • http://www.ibm.com/developerworks/websphere/

techjournal/0602_ejba/0602_ejba.html

  • Bytecode generation at runtime
  • http://cglib.sourceforge.net/

  • ASM

  • http://asm.ow2.org/

  • Thrift

  • http://incubator.apache.org/thrift/

  • Protocol buffers

  • http://code.google.com/p/protobuf/

  • Comparison

  • http://www.eishay.com/2008/11/serialization-protobuf-vs-thrift-vs.html

  • QtJambi

  • http://www.javaworld.com/javaworld/jw-08-2007/jw-08-qtjambi.html

  • Scala

  • http://www.scala-lang.org/

  • Dynamic proxies

  • http://java.sun.com/j2se/1.4.2/docs/guide/reflection/proxy.html

  • Interface injection

  • http://blogs.sun.com/jrose/entry/interface_injection_in_the_vm

  • WSDL - Web Services

  • http://www.w3.org/TR/wsdl

  • IDL - Interface Definition Language

  • http://en.wikipedia.org/wiki/Interface_description_language

  • Annotations

  • http://java.sun.com/j2se/1.5.0/docs/guide/language/annotations.html

  • Working around limitations of Java?

  • http://www.cis.njit.edu/~cis456/javacourse/Java_Limitations/outline.html

  • Database persistence, JPA

  • http://java.sun.com/developer/technicalArticles/J2EE/jpa/

  • Traits/Mixins

  • http://www.scala-lang.org/node/126

  • DSL - Domain Specific Language

  • http://en.wikipedia.org/wiki/Domain-specific_language

  • MDA - Model Driven Architecture

  • http://www.omg.org/mda/

  • OptimalJ

  • http://en.wikipedia.org/wiki/OptimalJ

  • UML

  • http://www.uml.org/

  • NoMagic

  • http://www.nomagic.com/dispatcher.php

  • POJOs

  • http://en.wikipedia.org/wiki/Plain_Old_Java_Object

  • Dynamic Languages

  • http://en.wikipedia.org/wiki/Dynamic_programming_language

  • Schema migrations

  • http://code.djangoproject.com/wiki/SchemaEvolution

  • Autopatch

  • http://autopatch.sourceforge.net/

  • JavaFX production suite

  • http://javafx.com/docs/gettingstarted/production_suite/

Thanks

  • Libsyn.com - http://www.libsyn.com - for hosting and bandwidth
  • Feedburner.com - http://www.feedburner.com - for feed redirect
  • Kirsty Doherty, Amy Ehmann for Java Posse artwork
  • Theme Music:
  • Opening - "Java" the parody song Copyright 1997 Broken Records and Marjorie Music Publ. (BMI),
  • written and performed by Loose Bruce Kerr of the Dr. Demento Show and Sun Microsystems attorney.
  • Based on the WWI popular song, "Ja-da." Ukelele style on the recording taught to Bruce by his dad.
  • Re-produced with kind permission from "Loose" Bruce Kerr - http://loosebrucekerr.libsyn.com http://www.youtube.com/watch?v=TAX0gJt-aZg

  • Closing - Juan Carlos Jimenez - In the House (Intro No. 1)

  • To contact us:

    • Visit our homepage - http://javaposse.com
    • Post on our Google Group - http://groups.google.com/group/javaposse
    • Pose a question on our Google Moderator group - http://tinyurl.com/q4javaposse
    • Call us with questions and feedback - (408) 465-4626
    • Or send us email - javaposse@gmail.com

The Java Posse consists of Tor Norbye, Carl Quinn, Joe Nuxoll and Dick Wall