« Things to do in 2004 | Main | Functional wannabe »

Predictions for 2004

10+ predictions for 2004.

  1. Java. Continues to become a platform for little languages while Java the language becomes less important. I got some stick for saying this last year, and it's related to the developer productivity prediction below (tho' I didn't know that at the time). I'm just surprised at how much has happened since then - expect more. JXTA and Javaspaces turn some heads as potential SOA backbones since no-one really knowns how to apply Grid technology in the enterprise ;) JUnit gets forked.
  2. J2EE cuts the fat. The economic pressures that are driving developer productivity are forcing people to find better ways to build out middle tiers and integrate systems. This will force the JCP drive out the fat in the J2EE or risk hurting the relevancy of the J2EE value proposition. We're already seeing the better projects such as Spring, WW, Pico and Hibernate force the issue.
  3. Mono. Mono will be good enough before the year is out. And if Mono turns out to be really good (which will only happen if we see the same kind of OS activity we've seen with Java), it will greatly disrupt the middleware market. A lot of people assume that if Mono succeeeds, Microsoft will kill it - but I don't see how they can do that without committing strategic suicide in the enterprise market.
  4. More startups. But not your fathers statups. Software startups have traditionally been product or "idea" focused. These startups will focus on services/education sectors, using small teams of productive developers building on open source infrastructure and will have sustainable business models while not being instant IPO material. Products offerings where they exist will tend to be disruptive - variants of existing overpriced tools which retain better user experience and support that open-source offerings. The goal of these companies is not to burn up and cash out, but to become the next Jetbrains, Atlassian, ObjectMentor, Core Developer Network or who knows, the next Thoughtworks. The single exception might be RSS reader products.
  5. BSD/Mac eat Linux share on corporate servers . I'm only half-joking about this. Redhat's new business model and the SCO suit are making lots of people twitchy. On the other hand, Novell have a chance to become a real force with SuSe (my favourite distro).
  6. XML. XPath and XQuery will drive out DOM hacking once and for all. Lots of frustration with XML APIs except for pull APIs. RELAX NG goes mainstream.
  7. RDF/Semantic Web. In the breathing space left by lots of recommendations getting nailed down, the penny finally drops, and the community gets behind a sane XML serialization. Behaviour takes a front seat as the focus is on query and rules. That should mean more tools and more useful tools, but I suspect this is a make or break year for the semantic web project - we're more than half a decade in with little to show, and real problems (such as provenance, context and spam) are not being tackled.
  8. Web. Personalized search. Learning search. Weblog categories mixed in with social networks. Distributed/Desktop scale search. This is where the real semantic web action is. Not just becuase it's hard to find and organize stuff, but because of the urgent need to eliminate spam. Spam is about the best thing to happen to applied AI since Japan. All the research spent on AI personalization technology in the mid-nineties might just bear fruit. Email gets serious about statistical/learning filters (this is more of a usability issue; the technology is there).
  9. Death of OO. Just kidding! Though I think it will become less controversial to question the validity of using objects in certain areas particularly as an integration technology. This should help to make discussions in OO circles such as Public versus Published interfaces and object versioning somewhat moot, given the likely answer is to center on document and message contracts [obligatory doffing of the cap: my CTO has been saying this for ages...]
  10. Developer productivity increases. This will be brought about by developers, not tools vendors. One good answer to the question "why should I be kept on when 3 coders in India|China|Georgia can do my job and much more for the same wage?" is to become 5-10 times more productive and invest the surplus time understanding the customer and the domain (rather than some hazy spec). To do that, you certainly need better environments (IDEs like IntelliJ, good version control) and practices (tests, build systems). But, ultimately you need high productivity languages that allow you to concentrate on the problem, not the machine. Concentrating on the machine is a great leveller. These days, losing your job is an ongoing problem for any developer living west of Berlin. The growing interest in dynamic and data-driven languages like Jython, Groovy and X# along with agile practices, even AOP, is a reaction in part to tough times and the commodization and outsourcing of what is increasingly referred to as "basic coding". [I also think we aren't anywhere near ready to commoditize "basic coding", but that's another matter.]

Some things I said last year - judge for yourself!

January 2, 2004 12:51 PM


Trackback Pings

TrackBack URL for this entry:

Listed below are links to weblogs that reference Predictions for 2004:

» Goodbye 2003 - Hello 2004 from InsultConsult
2003: A Dave odyssey 2004 Predictions What's Out and In for 2004? Bob's Predictions for 2004 10 technologies to watch in 2004 Predictions for 2004 LinuxWorld Looks at Linux in 2004... [Read More]

Tracked on January 3, 2004 06:26 PM