The Java Programmer Lifecycle

22nd March 2002

Novice Java programmer

  int x = 2+2;

Experienced Java programmer

  Integer myInt = new Integer((new Integer(2)).intValue() +
                              (new Integer(2)).intValue());

Expert Java programmer

  final Integer theInteger =
      IntegerFactory.newInstance(2).add(IntegerFactory.newInstance(2));

Guru Java programmer

  IntegerFactoryFactory myIntegerFactoryFactory =
      new IntegerFactoryFactoryFactory.getInstance();
  IntegerFactory firstIntegerFactory = myIntegerFactoryFactory.getInstance();
  IntegerFactory secondIntegerFactory = myIntegerFactoryFactory.getInstance();
  public static final transient volatile Integer theSumOfTwoAndTwo =
      functionFactory.makeFunction(functionFactory.ADDITION).apply(
          firstIntegerFactory.getInstance(2),
          secondIntegerFactory.getInstance(2));
  firstIntegerFactory.callFinalizationMethod();
  secondIntegerFactory.callFinalizationMethod();
  myIntegerFactoryFactory.releaseResources();

Wizard Java programmer

(Contributed by Ken Williams <ken@seatbooker.net>)

  int x = 4;

 

(And I haven't even mentioned the Java Enterprise programmer, who does all this using threads, observers and - no doubt, XML/XSL.)

UPDATE: 17th December 2003

Andrew Eland sent me a link to a most wonderful tutorial on different programming styles, Understanding Object Oriented Programming at http://csis.pace.edu/~bergin/patterns/ppoop.html It's very much in the same spirit as this page, with the key difference that, so far as I can tell, these guys are serious.

Feedback to <mike@miketaylor.org.uk> is welcome!