|Photo by ladyvee9|
For example, can you pick anything you would call a clear winner in the following categories:
- Web frameworks in Java
- Web frameworks in other programming languages
- Client-side frameworks (low-level)
- Client-side frameworks (high-level)
I think that the closest we can get to an easy technological choice, in the sense of a technology with a large market share and which is also considered good stuff, is maybe jQuery, "used by over 55% of the 10,000 most visited websites". But, even that is not what one would call an obvious technological choice. And for everything else, the level of consolidation remains fairly low.
There is currently a huge rebirth of interest in programming languages, and these days you don't even have that clear of a choice as far as programming languages are concerned anymore.
Not that this is bad: the fact that there is so much going on is very exciting, and it probably means that software will remain interesting for a very long time.
So today more than ever you have to be careful when choosing technology. Here are a few things we think about when choosing technology:
- Did it come out just yesterday, or does it have a few years behind it and a strong community?
- Is it just cool because of fashion or hype, or does it solve a real problem?
- How much effort is it going to cost us to integrate that technology?
- Does it integrate nicely with your existing technologies (unless you are starting from scratch)?
- Are big companies using it (and by this I don't mean IBM, but maybe Twitter)?
- As a programmer, are you going to be happier using it?