Newsletter sign-up
View all newsletters

Enterprise Java Newsletter
Stay up to date on the latest tutorials and Java community news posted on JavaWorld

JavaWorld Daily Brew

Tech Predictions, 2013

 

Once again, it's time for my annual prognostication and review
of last year's efforts
. For those of you who've been long-time readers, you know
what this means, but for those two or three of you who haven't seen this before, let's
set the rules: if I got a prediction right from last year, you take a drink, and if
I didn't, you take a drink. (Best. Drinking game. EVAR!)

Let's begin....

Recap: 2012 Predictions

THEN: Lisps will be the languages to watch.

With Clojure leading the way, Lisps (that is, languages that are more or less loosely
based on Common Lisp or one of its variants) are slowly clawing their way back into
the limelight. Lisps are both functional languages as well as dynamic languages, which
gives them a significant reason for interest. Clojure runs on top of the JVM, which
makes it highly interoperable with other JVM languages/systems, and Clojure/CLR is
the version of Clojure for the CLR platform, though there seems to be less interest
in it in the .NET world (which is a mistake, if you ask me).

NOW: Clojure is definitely cementing itself as a "critic's darling"
of a language among the digital cognoscenti, but I don't see its uptake increasing--or
decreasing. It seems that, like so many critic's darlings, those who like it are using
it, and those who aren't have either never heard of it (the far more likely scenario)
or don't care for it. Datomic, a NoSQL written by the creator of Clojure (Rich Hickey),
is interesting, but I've not heard of many folks taking it up, either. And Clojure/CLR
is all but dead, it seems. I score myself a "0" on this one.

THEN: Functional languages will....

I have no idea. As I said above, I'm kind of stymied on the whole functional-language
thing and their future. I keep thinking they will either "take off" or "drop off",
and they keep tacking to the middle, doing neither, just sort of hanging in there
as a concept for programmers to take and run with. Mind you, I like functional languages,
and I want to see them become mainstream, or at least more so, but I keep wondering
if the mainstream programming public is ready to accept the ideas and concepts hiding
therein. So this year, let's try something different: I predict that they will remain
exactly where they are, neither "done" nor "accepted", but continue next year to sort
of hang out in the middle.

NOW: Functional concepts are slowly making their way into the mainstream
of programming topics, but in some cases, programmers seem to be picking-and-choosing
which of the functional concepts they believe in. I've heard developers argue vehemently
about "lazy values" but go "meh" about lack-of-side-effects, or vice versa. Moreover,
it seems that developers are still taking an "object-first, functional-when-I-need-it"
kind of approach, which seems a little object-heavy, if you ask me. So, since the
concepts seem to be taking some sort of shallow root, I don't know that I get the
point for this one, but at the same time, it's not like I was wildly off. So, let's
say "0" again.

THEN: F#'s type providers will show up in C# v.Next.

This one is actually a "gimme", if you look across the history of F# and C#: for almost
every version of F# v."N", features from that version show up in C# v."N+1". More
importantly, F# 3.0's type provider feature is an amazing idea, and one that I think
will open up language research in some very interesting ways. (Not sure what F#'s
type providers are or what they'll do for you? Check out Don Syme's talk on it at
BUILD last year.)

NOW: C# v.Next hasn't been announced yet, so I can't say that this
one has come true. We should start hearing some vague rumors out of Redmond soon,
though, so maybe 2013 will be the year that C# gets type providers (or some scaled-back
version thereof). Again, a "0".

THEN: Windows8 will generate a lot of chatter.

As 2012 progresses, Microsoft will try to force a lot of buzz around it by keeping
things under wraps until various points in the year that feel strategic (TechEd, BUILD,
etc). In doing so, though, they will annoy a number of people by not talking about
them more openly or transparently.

NOW: Oh, my, did they. Windows8 was announced with a bang, but Microsoft
(and Sinofsky, who ran the OS division up until recently) decided that they could
go it alone and leave critical partners (like Dropbox!) out of the loop entirely.
As a result, the Windows8 Store didn't have a lot of apps in it that people (including
myself) really expected would be there. And THEN, there was Surface... which took
everybody by surprise, as near as I can tell. Totally under wraps. I'm scoring myself
"+2" for that one.

THEN: Windows8 ("Metro")-style apps won't impress at first.

The more I think about it, the more I'm becoming convinced that Metro-style apps on
a desktop machine are going to collectively underwhelm. The UI simply isn't designed
for keyboard-and-mouse kinds of interaction, and that's going to be the hardware setup
that most people first experience Windows8 on--contrary to what (I think) Microsoft
thinks, people do not just have tablets laying around waiting for Windows 8 to be
installed on it, nor are they going to buy a Windows8 tablet just to try it out, at
least not until it's gathered some mojo behind it. Microsoft is going to have to finesse
the messaging here very, very finely, and that's not something they've shown themselves
to be particularly good at over the last half-decade.

NOW: I find myself somewhat at a loss how to score this one--on the
one hand, the "used-to-be-called-Metro"-style applications aren't terrible, and I
haven't really heard anyone complain about them tremendously, but at the same time,
I haven't heard anyone really go wild and ga-ga over them, either. Part of that, I
think, is because there just aren't a lot of apps out there for it yet, aside from
a rather skimpy selection of games (compared to the iOS App Store and Android Play
Store). Again, I think Microsoft really screwed themselves with this one--keeping
it all under wraps helped them make a big "Oh, WOW" kind of event buzz within the
conference hall when they announced Surface, for example, but that buzz sort of left
the room (figuratively) when people started looking for their favorite apps so they
could start using that device. (Which, by the way, isn't a bad piece of hardware,
I'm finding.) I'll give myself a "+1" for this.

THEN: Scala will get bigger, thanks to Heroku.

With the adoption of Scala and Play for their Java apps, Heroku is going to make Scala
look attractive as a development platform, and the adoption of Play by Typesafe (the
same people who brought you Akka) means that these four--Heroku, Scala, Play and Akka--will
combine into a very compelling and interesting platform. I'm looking forward to seeing
what comes of that.

NOW: We're going to get to cloud in a second, but on the whole, Heroku
is now starting to make Scala/Play attractive, arguably as attractive as Ruby/Rails
is. Play 2.0 unfortunately is not backwards-compatible with Play 1.x modules, which
hurts it, but hopefully the Play community brings that back up to speed fairly quickly.
"+1"

THEN: Cloud will continue to whip up a lot of air.

For all the hype and money spent on it, it doesn't really seem like cloud is gathering
commensurate amounts of traction, across all the various cloud providers with the
possible exception of Amazon's cloud system. But, as the different cloud platforms
start to diversify their platform technology (Microsoft seems to be leading the way
here, ironically, with the introduction of Java, Hadoop and some limited NoSQL bits
into their Azure offerings), and as we start to get more experience with the pricing
and costs of cloud, 2012 might be the year that we start to see mainstream cloud adoption,
beyond "just" the usage patterns we've seen so far (as a backing server for mobile
apps and as an easy way to spin up startups).

NOW: It's been whipping up air, all right, but it's starting to look
like tornadoes and hurricanes--the talk of 2012 seems to have been more around notable
cloud outages instead of notable cloud successes, capped off by a nationwide Netflix
outage on Christmas Eve that seemed to dominate my Facebook feed that night. Later
analysis suggested that the outage was with Amazon's AWS cloud, on which Netflix resides,
and boy, did that make a few heads spin. I suspect we haven't yet (as of this writing)
seen the last of that discussion. Overall, it seems like lots of startups and other
greenfield apps are being deployed to the cloud, but it seems like corporations are
hesitating to pull the trigger on an "all-in" kind of cloud adoption, because of some
of the fears surrounding cloud security and now (of all things) robustness. "+1"

THEN: Android tablets will start to gain momentum.

Amazon's Kindle Fire has hit the market strong, definitely better than any other Android-based
tablet before it. The Nooq (the Kindle's principal competitor, at least in the e-reader
world) is also an Android tablet, which means that right now, consumers can get into
the Android tablet world for far, far less than what an iPad costs. Apple rumors suggest
that they may have a 7" form factor tablet that will price competitively (in the $200/$300
range), but that's just rumor right now, and Apple has never shown an interest in
that form factor, which means the 7" world will remain exclusively Android's (at least
for now), and that's a nice form factor for a lot of things. This translates well
into more sales of Android tablets in general, I think.

NOW: Google's Nexus 7 came to dominate the discussion of the 7" tablet,
until...

THEN: Apple will release an iPad 3, and it will be "more of the
same".

Trying to predict Apple is generally a lost cause, particularly when it comes to their
vaunted iOS lines, but somewhere around the middle of the year would be ripe for a
new iPad, at the very least. (With the iPhone 4S out a few months ago, it's hard to
imagine they'd cannibalize those sales by releasing a new iPhone, until the end of
the year at the earliest.) Frankly, though, I don't expect the iPad 3 to be all that
big of a boost, just a faster processor, more storage, and probably about the same
size. Probably the only thing I'd want added to the iPad would be a USB port, but
that conflicts with the Apple desire to present the iPad as a "device", rather than
as a "computer". (USB ports smack of "computers", not self-contained "devices".)

NOW: ... the iPad Mini. Which, I'd like to point out, is just an
iPad in a 7" form factor. (Actually, I think it's a little bit bigger than most 7"
tablets--it looks to be a smidge wider than the other 7" tablets I have.) And the
"new iPad" (not the iPad 3, which I call a massive FAIL on the part of Apple marketing)
is exactly that: same iPad, just faster. And still no USB port on either the iPad
or iPad Mini. So between this one and the previous one, I score myself at "+3" across
both.

THEN: Apple will get hauled in front of the US government for...
something.

Apple's recent foray in the legal world, effectively informing Samsung that they can't
make square phones and offering advice as to what will avoid future litigation, smacks
of such hubris and arrogance, it makes Microsoft look like a Pollyanna Pushover by
comparison. It is pretty much a given, it seems to me, that a confrontation in the
legal halls is not far removed, either with the US or with the EU, over anti-cometitive
behavior. (And if this kind of behavior continues, and there is no legal action, it'll
be pretty apparent that Apple has a pretty good set of US Congressmen and Senators
in their pocket, something they probably learned from watching Microsoft and IBM slug
it out rather than just buy them off.)

NOW: Congress has started to take a serious look at the patent system
and how it's being used by patent trolls (of which, folks, I include Apple these days)
to stifle innovation and create this Byzantine system of cross-patent licensing that
only benefits the big players, which was exactly what the patent system was designed
to avoid. (Patents were supposed to be a way to allow inventors, who are often independents,
to avoid getting crushed by bigger, established, well-monetized firms.) Apple hasn't
been put squarely in the crosshairs, but the Economist's article on Apple, Google,
Microsoft and Amazon in the Dec 11th issue definitely points out that all four are
squarely in the sights of governments on both sides of the Atlantic. Still, no points
for me.

THEN: IBM will be entirely irrelevant again.

Look, IBM's main contribution to the Java world is/was Eclipse, and to a much lesser
degree, Harmony. With Eclipse more or less "done" (aside from all the work on plugins
being done by third parties), and with IBM abandoning Harmony in favor of OpenJDK,
IBM more or less removes themselves from the game, as far as developers are concerned.
Which shouldn't really be surprising--they've been more or less irrelevant pretty
much ever since the mid-2000s or so.

NOW: IBM who? Wait, didn't they used to make a really kick-ass laptop,
back when we liked using laptops? "+1"

THEN: Oracle will "screw it up" at least once.

Right now, the Java community is poised, like a starving vulture, waiting for Oracle
to do something else that demonstrates and befits their Evil Emperor status. The community
has already been quick (far too quick, if you ask me) to highlight Oracle's supposed
missteps, such as the JVM-crashing bug (which has already been fixed in the _u1 release
of Java7, which garnered no attention from the various Java news sites) and the debacle
around Hudson/Jenkins/whatever-the-heck-we-need-to-call-it-this-week. I'll grant you,
the Hudson/Jenkins debacle was deserving of ire, but Oracle is hardly the Evil Emperor
the community makes them out to be--at least, so far. (I'll admit it, though, I'm
a touch biased, both because Brian Goetz is a friend of mine and because Oracle TechNet
has asked me to write a column for them next year. Still, in the spirit of "innocent
until proven guilty"....)

NOW: It is with great pleasure that I score myself a "0" here. Oracle's
been pretty good about things, sticking with the OpenJDK approach to developing software
and talking very openly about what they're trying to do with Java8. They're not entirely
innocent, mind you--the fact that a Java install tries to monkey with my browser bar
by installing some plugin or other and so on is not something I really appreciate--but
they're not acting like Ming the Merciless, either. Matter of fact, they even seem
to be going out of their way to be community-inclusive, in some circles. I give myself
a "-1" here, and I'm happy to claim it. Good job, guys.

THEN: VMWare/SpringSource will start pushing their cloud solution
in a major way.

Companies like Microsoft and Google are pushing cloud solutions because Software-as-a-Service
is a reoccurring revenue model, generating revenue even in years when the product
hasn't incremented. VMWare, being a product company, is in the same boat--the only
time they make money is when they sell a new copy of their product, unless they can
start pushing their virtualization story onto hardware on behalf of clients--a.k.a.
"the cloud". With SpringSource as the software stack, VMWare has a more-or-less complete
cloud play, so it's surprising that they didn't push it harder in 2011; I suspect
they'll start cramming it down everybody's throats in 2012. Expect to see Rod Johnson
talking a lot about the cloud as a result.

NOW: Again, I give myself a "-1" here, and frankly, I'm shocked to
be doing it. I really thought this one was a no-brainer. CloudFoundry seemed like
a pretty straightforward play, and VMWare already owned a significant share of the
virtualization story, so.... And yet, I really haven't seen much by way of significant
marketing, advertising, or developer outreach around their cloud story. It's much
the same as what it was in 2011; it almost feels like the parent corporation (EMC)
either doesn't "get" why they should push a cloud play, doesn't see it as worth the
cost, or else doesn't care. Count me confused. "0"

THEN: JavaScript hype will continue to grow, and by years' end
will be at near-backlash levels.

JavaScript (more properly known as ECMAScript, not that anyone seems to care but me)
is gaining all kinds of steam as a mainstream development language (as opposed to
just-a-browser language), particularly with the release of NodeJS. That hype will
continue to escalate, and by the end of the year we may start to see a backlash against
it. (Speaking personally, NodeJS is an interesting solution, but suggesting that it
will replace your Tomcat or IIS server is a bit far-fetched; event-driven I/O is something
both of those servers have been doing for years, and the rest of it is "just" a language
discussion. We could pretty easily use JavaScript as the development language inside
both servers, as Sun demonstrated years ago with their "Phobos" project--not that
anybody really cared back then.)

NOW: JavaScript frameworks are exploding everywhere like fireworks
at a Disney theme park. Douglas Crockford is getting more invites to conference keynote
opportunities than James Gosling ever did. You can get a job if you know how to spell
"NodeJS". And yet, I'm starting to hear the same kinds of rumblings about "how in
the hell do we manage a 200K LOC codebase written in JavaScript" that I heard people
gripe about Ruby/Rails a few years ago. If the backlash hasn't started, then it's
right on the cusp. "+1"

THEN: NoSQL buzz will continue to grow, and by years' end will
start to generate a backlash.

More and more companies are jumping into NoSQL-based solutions, and this trend will
continue to accelerate, until some extremely public failure will start to generate
a backlash against it. (This seems to be a pattern that shows up with a lot of technologies,
so it seems entirely realistic that it'll happen here, too.) Mind you, I don't mean
to suggest that the backlash will be factual or correct--usually these sorts of things
come from misuing the tool, not from any intrinsic failure in it--but it'll generate
some bad press.

NOW: Recently, I heard that NBC was thinking about starting up a
new comedy series called "Everybody Hates Mongo", with Chris Rock narrating. And I
think that's just the beginning--lots of companies, particularly startups, decided
to run with a NoSQL solution before seriously contemplating how they were going to
make up for the things that a NoSQL doesn't provide (like a schema, for a lot of these),
and suddenly find themselves wishing they had spent a little more time thinking about
that back in the early days. Again, if the backlash isn't already started, it's about
to. "+1"

THEN: Ted will thoroughly rock the house during his CodeMash
keynote.

Yeah, OK, that's more of a fervent wish than a prediction, but hey, keep a positive
attitude and all that, right?

NOW: Welllll..... Looking back at it with almost a years' worth of
distance, I can freely admit I dropped a few too many "F"-bombs (a buddy of mine counted
18), but aside from a (very) vocal minority, my takeaway is that a lot of people enjoyed
it. Still, I do wish I'd throttled it back some--InfoQ recorded it, and the fact that
it hasn't yet seen public posting on the website implies (to me) that they found it
too much work to "bleep" out all the naughty words. Which I call "my bad" on, because
I think they were really hoping to use that as part of their promotional activities
(not that they needed it, selling out again in minutes). To all those who found it
distasteful, I apologize, and to those who chafe at the fact that I'm apologizing,
I apologize. I take a "-1" here.

2013 Predictions:

Having thus scored myself at a "9" (out of 17) for last year, let's take a stab at
a few for next year:

  • "Big data" and "data analytics" will dominate the enterprise landscape. I'm
    actually pretty late to the ballgame to talk about this one, in fact--it was starting
    its rapid climb up the hype wave already this year. And, part and parcel with going
    up this end of the hype wave this quickly, it also stands to reason that companies
    will start marketing the hell out of the term "big data" without being entirely too
    precise about what they mean when they say "big data".... By the end of the year,
    people will start building services and/or products on top of Hadoop, which appears
    primed to be the "Big Data" platform of choice, thus far.
  • NoSQL buzz will start to diversify. The various "NoSQL" vendors are
    going to start wanting to differentiate themselves from each other, and will start
    using "NoSQL" in their marketing and advertising talking points less and less. Some
    of this will be because Pandora's Box on data storage has already been opened--nobody's
    just assuming a relational database all the time, every time, anymore--but some of
    this will be because the different NoSQL vendors, who are at different stages in the
    adoption curve, will want to differentiate themselves from the vendors that are taking
    on the backlash. I predict Mongo, who seems to be leading the way of the NoSQL vendors,
    will be the sacrificial scapegoat for a lot of the NoSQL backlash that's coming down
    the pike.
  • Desktops increasingly become niche products. Look, does anyone buy
    a desktop machine anymore? I have three sitting next to me in my office, and none
    of the three has been turned on in probably two years--I'm exclusively laptop-bound
    these days. Between tablets as consumption devices (slowly obsoleting the laptop),
    and cloud offerings becoming more and more varied (slowly obsoleting the server),
    there's just no room for companies that sell desktops--or the various Mom-and-Pop
    shops that put them together for you. In fact, I'm starting to wonder if all those
    parts I used to buy at Fry's Electronics and swap meets will start to disappear, too.
    Gamers keep desktops alive, and I don't know if there's enough money in that world
    to keep lots of those vendors alive. (I hope so, but I don't know for sure.)
  • Home servers will start to grow in interest. This may seem paradoxical
    to the previous point, but I think techno-geek leader-types are going to start looking
    into "servers-in-a-box" that they can set up at home and have all their devices sync
    to and store to. Sure, all the media will come through there, and the key here will
    be "turnkey", since most folks are getting used to machines that "just work". Lots
    of friends, for example, seem to be using Mac Minis for exactly this purpose, and
    there's a vendor here in Redmond that sells a ridiculously-powered
    server in a box
    for a couple thousand. (This is on my birthday list, right after
    I get my maxed-out 13" MacBook Air and iPad 3.) This is also going to be fueled by...
  • Private cloud is going to start getting hot. The great advantage
    of cloud is that you don't have to have an IT department; the great disadvantage of
    cloud is that when things go bad, you don't have an IT department. Too many well-publicized
    cloud failures are going to drive corporations to try and find a solution that is
    the best-of-both-worlds: the flexibility and resiliency of cloud provisioning, but
    staffed by IT resources they can whip and threaten and cajole when things fail. (And,
    by the way, I fully understand that most cloud providers have better uptimes than
    most private IT organizations--this is about perception and control and the feelings
    of powerlessness and helplessness when things go south, not reality.)
  • Oracle will release Java8, and while several Java pundits will decry "it's
    not the Java I love!", most will actually come to like it.
    Let's be blunt,
    Java has long since moved past being the flower of fancy and a critic's darling, and
    it's moved squarely into the battleship-gray of slogging out code and getting line-of-business
    apps done. Java8 adopting function literals (aka "closures") and retrofitting the
    Collection library to use them will be a subtle, but powerful, extension to the lifetime
    of the Java language, but it's never going to be sexy again. Fortunately, it doesn't
    need to be.
  • Microsoft will start courting the .NET developers again. Windows8
    left a bad impression in the minds of many .NET developers, with the emphasis on HTML/JavaScript
    apps and C++ apps, leaving many .NET developers to wonder if they were somehow rendered
    obsolete by the new platform. Despite numerous attempts in numerous ways to tell them
    no, developers still seem to have that opinion--and Microsoft needs to go on the offensive
    to show them that .NET and Windows8 (and WinRT) do, in fact, go very well together.
    Microsoft can't afford for their loyal developer community to feel left out or abandoned.
    They know that, and they'll start working on it.
  • Samsung will start pushing themselves further and further into the consumer
    market.
    They already have started gathering more and more of a consumer name
    for themselves, they just need to solidify their tablet offerings and get closer in
    line with either Google (for Android tablets) or even Microsoft (for Windows8 tablets
    and/or Surface competitors) to compete with Apple. They may even start looking into
    writing their own tablet OS, which would be something of a mistake, but an understandable
    one.
  • Apple's next release cycle will, again, be "more of the same". iPhone
    6, iPad 4, iPad Mini 2, MacBooks, MacBook Airs, none of them are going to get much
    in the way of innovation or new features. Apple is going to run squarely into the
    Innovator's Dilemma soon, and their products are going to be "more of the same" for
    a while. Incremental improvements along a couple of lines, perhaps, but nothing Earth-shattering.
    (Hey, Apple, how about opening up Siri to us to program against, for example, so we
    can hook into her command structure and hook our own apps up? I can do that with Android
    today, why not her?)
  • Visual Studio 2014 features will start being discussed at the end of the year. If
    Microsoft is going to hit their every-two-year-cycle with Visual Studio, then they'll
    start talking/whispering/rumoring some of the v.Next features towards the middle to
    end of 2013. I fully expect C# 6 will get some form of type providers, Visual Basic
    will be a close carbon copy of C# again, and F# 4 will have something completely revolutionary
    that anyone who sees it will be like, "Oh, cool! Now, when can I get that in C#?"
  • Scala interest wanes. As much as I don't want it to happen, I think
    interest in Scala is going to slow down, and possibly regress. This will be the year
    that Typesafe needs to make a major splash if they want to show the world that they're
    serious, and I don't know that the JVM world is really all that interested in seeing
    a new player. Instead, I think Scala will be seen as what "the 1%" of the Java community
    uses, and the rest will take some ideas from there and apply them (poorly, perhaps)
    to Java.
  • Interest in native languages will rise. Just for kicks, developers
    will start experimenting with some of the new compile-to-native-code languages (Go,
    Rust, Slate, Haskell, whatever) and start finding some of the joys (and heartaches)
    that come with running "on the metal". More importantly, they'll start looking at
    ways to use these languages with platforms where running "on the metal" is more important,
    like mobile devices and tablets.

As always, folks, thanks for reading. See you next year.

UPDATE: Two things happened this week (7 Jan 2013) that made me want to add
to this list:

  • Hardware is the new platform. A buddy of mine (Scott Davis) pointed
    out on a mailing list we share that "hardware is the new platform", and with Microsoft's
    Surface out now, there's three major players (Apple, Google, Microsoft) in this game.
    It's becoming apparent that more and more companies are starting to see opportunities
    in going the Apple route of owning not just the OS and the store, but the hardware
    underneath it. More and more companies are going to start playing this game, too,
    I think, and we're going to see Amazon take some shots here, and probably a few others.
    Of course, already announced is the Ubuntu Phone, and a new Android-like player, Tizen,
    but I'm not thinking about new players--there's always new players--but about some
    of the big standouts. And look for companies like Dell and HP to start looking for
    ways to play in this game, too, either through partnerships or acquisitions. (Hello,
    Oracle, I'm looking at you.... And Adobe, too.)
  • APIs for lots of things are going to come out. Ford just did this.
    This is not going away--this is going to proliferate. And the startup community is
    going to lap it up like kittens attacking a bowl of cream. If you're looking for a
    play in the startup world, pursue this.





Enterprise consulting, mentoring or instruction. Java, C++, .NET or XML services.
1-day or multi-day workshops available. Contact
me for details
.