Monday, April 28, 2008

Multi-Inflection-Point Alert

Multi-Inflection-Point Alert: "


I was up late on IM with a much-younger computer programmer
and he asked ‘Damn, there’s a lot going on. Is it always like this?’
Well, no, it hasn’t been. But in the future, it may be.


Near as I can tell, we’re simultaneously at inflection points in
programming languages and databases and network programming and processor
architectures and Web development and IT business models and desktop
environments. Did I miss anything? What’s bigger news is that we might be
inflection-point mode pretty steadily for the next few years.


Programming Languages


Up till not too damn long ago, for a big serious software project you could
pick Java or .NET or, if you really liked pain, C++. Today you’d be nuts not
to look seriously at PHP, Python, and Ruby. What’s the future mind-share of
all these things? I have no idea, but that decision is being made
collectively by the community right now.


By the way, on this subject, check out the
Interview
with the TIOBE guy
; interesting stuff, even though I disagree with some.


Databases


CouchDB.
SimpleDB.
BigTable.
Need I say more?


No, I don’t think relational databases are going away anytime soon. But I
think that SQL’s brain-lock on the development community for the past couple
of decades has been actively harmful, and I’m glad that it’s now OK to look at
alternatives.


Will the non-relational alternatives carve out a piece of the market? I
suspect so, but that decision is being made by the community, right
now
.


Network Programming


CORBA is dead. DCOM is dead. WS-* is coughing its way down the slope to
dusty death. REST, they say, is the way to go. Which I believe, actually.
Still, there’s not much yet in tooling or best practices or received wisdom or
blue-suit consultants or the other apparatus of a mainstream technology.


So what are they going to be teaching the kids, a few years hence, the
right way is to build an application across a network full of heterogeneous
technology? That’s being worked out by the community, right now.


Processors


Moore’s law is still holding, but the processors get wider not faster.
Now that the best and the brightest have
spent a decade building and debugging threading frameworks in Java and
.NET, it’s increasingly starting to look like threading is a bad idea; don’t
go there. I’ve personally changed my formerly-pro-threading position on this
180º since joining Sun four years ago.


We still haven’t figured out the right way for ordinary people to program
many-core processors; check out the inconclusive results of my
Wide Finder project
last year. (By the way, I’ve now got an Internet-facing T2000 all of my own
and will be re-launching Wide Finder as soon as I get some data staged on it;
come one, come all).


And I can’t even repeat my crack about the right answer being worked out
right now, because I’m not actually sure that anyone has a grip on it
just yet. But we’re sure enough at an inflection point.


Web Development


Used to be, it was Java EE or Perl or ASP.NET. Now all of a sudden it’s
PHP and then Rails and a bunch of other frameworks bubbling up over the
horizon; not a month goes buy that I don’t see a bit of buzz over
something that includes the term ‘Rails-like’.


It seems obvious to me that pretty soon there’s going to be a Rails++ that
combines the good ideas from RoR with some others that will be
obvious once we see them.


Also, that some of those ‘Rails-like’ frameworks, even if they’re not a
huge step forward, will get some real market share because they’ll have some
combination of of minor advantages.


Once again, I can’t say it’s being worked out right now, because
for right now I see a pretty uniform picture of Rails’ market share advancing
steadily. It won’t last.


Business Models


Servers, they’re easy to understand. Blue-suited salesmen sell them to
CIOs a few hundred thousand dollars’ worth at a time, they get loaded into
data centers where they suck up too much power and HVAC.


Well, unless you’re gonna do your storage and compute and load-balancing
and so on out in the cloud. Are you? The CIOs and data-center guys are
wrestling this problem to the ground right now.


And as for software, used to be you shipped binaries on magnetic media
and charged ’em a right-to-use license. Nope, nowadays it’s open-source and
they download it for free and you charge them a support contract. Nope,
that was last century; maybe the software’s all going to be out there in the
cloud and you never download anything, just pay to use what’s there.


Personally, I don’t think any of those models are actually going to go
away. But which works best where? The market’s working that out, right
now
.


Desktops


As I wrote a couple of months ago: how long can the public and private
sector IT management continue to go on ignoring the fact that in OS X and
Ubuntu, there are not one but two alternatives to the Windows desktop that are
more reliable, more secure, more efficient, and cheaper? More or less
everybody now has a friend or relative that’s on Mac or Linux and is going to
be wondering why their desktop can’t be that slick.


What’s going to happen? I don’t know, but it’s going to be dramatic once
we get to the tipping point, and I think we’re approaching it right
now
.


Will It Always Be Like This?


You know, just maybe. Our mastery of the IT technologies is still in its
brawny youth, with lots of low-hanging fruit to be snatched and big advances
to be made. And these days, with the advent of blogs and unconferences and
all those
new communication
channels
, our thought leaders are busy chattering at each other about all
these problems all the time, 24/7/365. The gap between the leading edge and
technology that’s actually deployed in the enterprise is as wide as it’s ever
been and to me, that feels like a recipe for permanent disruption.
Cowabunga!


"



(Via ongoing.)

No comments: