Friday, October 15, 2010

Bringing the hobbyist back?

Over the years I have shelved dozens of personal programming projects. They were either too ambitious or I would have had to learn too many new techs at a time to actually bang out my idea. Without getting into too many details or flame wars, I've come to understand it is primarily the result of the complexity of J2EE stacks. They really aren't friendly to the computing hobbyist - generally speaking the barrier to entry is too high in terms of time and complexity. That's why I am excited about some of the new technologies that are being touted today. No, I don't believe they are a silver bullet or anything like that, but they have lowered the barrier of entry to the point where you don't have to spend a lot of time configuring or troubleshooting your infrastructure and instead you can focus on your idea. Specifically I am talking about techs like CouchDB. I'm not coming at this from the angle that NoSQL dbs are good or not - forget about that. As a hobbyist, or even a small startup, I don't really care if I can scale, or need high-availability, etc, etc. I just want to work on my pet project of the day. It has brought back the feel and simplicitly of developing for a 2-tier stack. You don't have to worry about OR/M, or whether or not your struts actions and servlets are configured correctly. You don't have to worry about what JVM you're running. You don't have to worry about your JDBC connections. So and and so on. With something like Couch, there really is no middle tier (or 3rd tier, whatever). It is just you in your browser making XHR calls to your database. That's it. Done. Only 2 points to troubleshoot - your javascript code or the data you stuffed in your DB is wrong. And no, I am not a javascript fanboy, far from it. See one of my previous (now dated) posts on the subject. I have been working with Javascript, specifically Dojo on and off for just over a year. I still choke on it everyday, but I'm willing to overlook the crappy IDE's, quirks, etc, etc and give this "new" approach to development a shot. Seems to me right now, that there are some cool innovations coming out in the js space. For whatever reason, the folks in the js and NoSQL worlds seem to be the only ones embracing simplicity and at least trying to innovate in ways the java world is not (yes, I know blanket statement). JAX-RS/Apache Wink in the java world is a start, but at this point they are a step behind wrt simplifying things. Similarly, even though apparently the Spring frameworks attempt to make things simpler, there is still a big stack there and all the learning that comes with it (tried it on a previous pet proj so not an expert, but exactly the type of learning you don't have with Couch and js).

1 comment:

  1. Hey, have you tried WebStorm from the IntelliJ guys? It's actually a really awesome javascript IDE. Has excellent autocomplete for different libraries like JQuery, and probably DOJO. 45 day trial period too.

    ReplyDelete