Thursday, December 15, 2005

I Hate Frameworks

I've become one of those guys...

After I graduated college way back in '82, my first few programming jobs were developing applications on personal computers - IBM PC, Radio Shack TRS-80, etc. - which was unusual since most professional programmers were still working on "big iron" back then. I would inevitably run into one of those guys on the job - an old timer clinging to the good old days. I was told more often than I can remember that PCs were toys, that programming in anything other than C (or even Assembly Language) was horribly inefficient, that GUIs were wasteful and pointless, and that I should get a "real job" programming on an IBM 360.

Flash forward 20-something years. I've been developing web applications for the past five years or so, programming in Java using the Servlets API. I've done some pretty nice applications (video streaming, data archiving, etc.) for the small scientific community I serve and I've managed it all by writing primarily to the servlet doGet function, with a little XML for configuration. No JSP, Struts, Spring, or Velocity, thank you very much.

So along comes a new project that someone else has started, and it's all frameworks, shortcuts meant to automate the routine bits of programming. It's a horrible mishmash of - you guessed it - Struts, Spring, JSP, Velocity and Eclipse. All without benefit of a requirements document or functional spec. So I've become one of those guys after all. What do I need with all this frippery? I can develop this app so much more efficiently - a web page is a servlet is a class is a Java file - no fuss, no muss. Instead I'm dealing with dozens of tiny, interconnected file with no roadmap as to how they go together. And instructions like: "in the new class' execute method, you need to access the persistence layer." Persistence Layer? It's a Database! Just call it a database, no one will think the less of you, man.

I'm getting too old for this shit.