I’ve had it with Java, too much technology to learn with Unit testing, ORM, IoC, AOP, and SOA, not to mention static typing and waiting to compile. That’s why as of right now I’m a converted .BAT programmer and here’s why:

1. .BAT is already installed on 90+% of the computers in the world

2. .BAT supports dynamic typing (set FOO=x, set FOO=1)

3. .BAT is interpreted, no build (and waiting) necessary to run my code

4. .BAT is modular and extendable (FOO.BAT can call BAR.BAT)

5. .BAT supports a variable number of arguments to other .BAT modules (BAR.BAT 1 2 3 4 5 6 7)

6. .BAT has more IDE’s than any other language (although my favorite is Notepad)

7. The OS has built in refactoring support allowing me to move and rename my .BAT modules without starting up my favoriate IDE (Notepad)

8. .BAT is cross-platform (DOS, Windows 3.1, Windows 95, Windows 98, ME, 2000, XP, 2003)

9. .BAT supports running from a GUI by double clicking on it or using it from the command line

10. .BAT makes accessing environment variables easy so I can move most configuration out of my .BAT module

11. .BAT has built in debugging and logging with PAUSE and ECHO

Things I’m hoping to see in the next release of .BAT (shipping with Longhorn)

1. Improved ODBC driver support in .BAT

2. Improved regular expression support (although their * and ? filesystem regex support is already the best in the business)

I only wish I’d seen the light sooner before I wasted the better part of a decade on Java!