Chad Perrin: SOB

11 February 2007

Answering the question: What is the Next Big Thing?

Filed under: Cognition,Geek — apotheon @ 05:23

People like to speculate about the Next Big Thing. This is particularly true, in my experience, of pop culture and information technology — more so in the case of information technology, at least as far as my experience is concerned, though that may be because I spend an awful lot of time on IT matters and very little on pop culture (I didn’t even watch the Superbowl). Case in point: Steve Yegge (almost everything he writes ends up on the front page of reddit) recently laid out his list of characteristics that the Next Big Language must have, and stated unequivocally that he knows for a fact what the NBL will be, but it’s a secret. He did this in The Next Big Language which, of course, I found on the front page of reddit. Go fig’.

There’s some interesting conversation to be had in the discussion of the essay, including (of course) a massive stew pot of predictions. Certain predictions kept getting repeated, with one in particular topping the heap of predicted likely candidates. A couple of extreme minority instances made more sense than almost all the more popular suggestions. My thoughts on a few are as follows:

  1. Perl 6: It fits the Steve Yegge criteria more fully than any other language mentioned, and by a wide margin in all but a couple of cases. Especially noteworthy is the fact that Steve specifically alluded to the fact that the NBL is not yet completely finished and production-ready, but that its characteristics in the current, publicly available state of development (whether already usable or just documented) clearly point the way to the language’s likely success as the Next Big Language. He also made a point of indicating that Perl (through version 5) qualifies for the corporate backing requirement of the NBL via O’Reilly, which carries through to satisfy the requirement for Perl 6 as well, even if that’s the highest-profile corporate backing it ever gets.
  2. Java++: The second best fit for his criteria, but the most uncertain in terms of whether it will ever emerge in the necessary form to supplant Java as the NBL, is the next, open source Java, now that the JVM is going GPL. If it develops in a manner to suit the needs of supplanting old Java (rather than just being an almost indistinguishable — if improved — Current Big Thing iteration) before Java’s mindshare is supplanted by something else, it will certainly beat out any of the other options, including Perl 6. Java as it currently exists of course already suits all the necessary characteristics of the NBL (because it was the previous NBL and is the CBL), with the exception of the things we might expect to see from an open source evolution. Again, this assumes an awful lot about what will happen to open source Java, so it strikes me as second place. Of course, Perl 6 actually suits the requirements more fully than a new Java anyway, but the increased corporate backing of Java over Perl 6 (I’m frankly skeptical of O’Reilly as being effective enough a corporate backer to make any language the NBL on its own) sure does make it a close call.
  3. ECMAScript 4: The third best fit is the new ECMAScript (henceforth ES), currently in development. The current ES, like Perl 5, fits enough of the Steve Yegge criteria to be a serious contender in its own right, if only for a few little — but critical — shortfalls. Also like Perl 6, these shortfalls are precisely the things being addressed in the new version under development. For those of you unfamiliar with the term ECMAScript, you may be surprised that the number three contender for Steve Yegge’s NBL criteria is most popularly known in its browser-based JavaScript (henceforth JS) implementation. That’s right, an evolution of JS may be the Next Big Language. It’s not just language characteristics that make this seem likely, however — there’s also the fact that Adobe is working on the client-side applet platform Apollo for the new iteration, ECMAScript 4 (henceforth ES4). This will provide a new way of getting, and using, applications that combines the convenience and ease of the Linux/BSD software manager model with the sandboxed security, clicky widgetness, and cross-platform capability required of a single platform for the NBL — essentially both the next evolutionary step of the JVM and the convergence of the best qualities of both the JVM and the Web as platforms. . . . but wait, there’s more! Mozilla is offering the Tamarin VM for JS, which will both provide a stand-alone platform for ES4 and be used as the JS engine of the Mozilla Firefox browser. This is of course thanks in large part to the recent opening of the JS/ES source. Meanwhile, Microsoft has its own implementation of ES, in the form of JScript (henceforth known as JScript). Google has already started working on plans to make some of its currently web-delivered services (such as Google Maps) available via Adobe’s Apollo platform. While MS is of course setting out to derail the Adobe effort, it is mostly doing so via a competing implementation of ES — JScript, you may recall me mentioning — and the open source community is already on board with Tamarin. That’s kind of a four-pronged assault on the CBL by a serious contender for the NBL, according to Steve Yegge’s criteria. The major hang-up is that the current crop of “serious programmers” look down their noses at JS, but I don’t think that’ll be much of a deterrent to adoption because of the simple fact that the old guard won’t have much to do with its adoption (or lack thereof) — they’ll be sidelined, as C++ was by Java and Fortran was by, well, everything. That’s not to say they’ll be out of jobs, of course: they’re still going to have very solid job security for a long time to come, because their work cannot be supplanted so easily. They just won’t be the guardians of the CBL any longer, and they’ll have nothing to say about it.

Java could sweep all contenders away, but it really would require a complete open source overhaul and, as I’ve mentioned already, the chances of that are quite sketchy. It’s merely the strength of its marketing merits if it happens that Java++ is worthy of the silver medal. In terms of actually existing evidence, both Perl 6 and ECMAScript are clear winners. The fact that Perl 6 is given the gold here is largely predicated upon Steve’s identification of O’Reilly as its marketing powerhouse — which definitely has its value, and makes the language a contender, but I’m skeptical of its ability to sell to the level of the NBL. This means that, if I ignore Steve’s faith in the power of O’Reilly as a corporate backer, ECMAScript owns the field in terms of likelihood.

I’m still not convinced, though, even of my own top three guesses. I’m certain of them if Steve Yegge’s rules prove to be the ultimate decisive factors, but things are not quite so cut and dried. In the world of information technology, I believe there are three major branches to the Next Big Thing, and they are all inextricably linked in determining what comes next. In other words, in a very real way, the NBT is actually a package deal, even when it arrives in fits and starts. The holy triumvirate of the NBT are the Next Big Language, the Next Big Platform, and the Next Big System. A couple of examples follow:

  • The NBT was at one time made up of
    1. NBL: The language was C, including C++, as the OOP extension of it.
    2. NBP: The platform was the persistent user interface environment, pioneered by Unix and marked by the ability to run discrete binary executables within a multitasking abstraction from the hardware.
    3. NBS: The system was end-user computing, an aggregate market of stand-alone computers with varying levels of interconnectivity, but no reliance on a network.
  • The NBT was at a later point made up of
    1. NBL: The language was Java, and I think this should be currently obvious enough that I don’t have to explain it.
    2. NBP: The platform was the Virtual Machine, which suited the megalithic corporate business environment necessary to the language’s popularity quite well.
    3. NBS: The system was the Internet, almost by accident — but a serendipitous accident for Java, which could not have achieved its successes so thoroughly without the World Wide Web.

Further examples could be brought up, of course — some were mere flash-in-the-pan phenomena, but flashes that clearly demonstrated the forces that lead to the information technology NBT, both directly and by counter-example to demonstrate where failure to comply with those forces leads to failure. It’s worth noting, as you ponder this, that I’m talking about the NBT in the same sense in which Steve Yegge talked about the NBL, by the way: I don’t mean the best system to come, but rather the one that will come to dominate and redefine the market. I don’t mean necessarily that it will redefine computing or the state of information technology, though it will have some effect on that — other things will have bigger, if more quietly applied, effects: rather, I’m talking about something that will redefine the market in which we work and, more specifically, be the tool most of us will need to learn if we want to do mainstream work.

Take for example the current state of Big Thing affairs: more programmers use Java professionally than any other language; Java runs on its own virtual machine on thousands of corporate servers all over the world; more of that enterprisey code is written for the Web than anything else. While Java isn’t the most-used web development language in the world, that’s not really the point — the Web is the most important use of Java, in terms of what keeps people using the language. Take away Java and the Web goes on; take away the Web, and Java dries up as people rediscover the use of non-VM languages, high-performance short-run coding, and languages that aren’t painful to use.

So . . . what’s next? I really don’t know. ES4 certainly has its appeal as a future prediction, with the new platform (an applet VM internetworked with the rest of the world, like Apollo and friends) and the ability for it to potentially leverage the emerging Next Big System (the social network enabled by the hardware network) for great effect. Perl 6 also has its appeals, of course, including the fact that it’s being developed in tandem with its own VM that can be used as an implementation of the kind of multilanguage rainbow-land represented by the .NET CLR framework, language features that will certainly catch the attention of most programmers who bother to give it a serious look, and implementations of the language springing up all over the place in the community in addition to the core VM implementation. Java still holds its own as a potential candidate, with the big IF of “if it ever moves in that direction now that it’s freed from a proprietary implementation and standard” still applying. The fact that I’ve just identified what I’m convinced is the “real” underlying set of factors that determine the NBL, as a single small part of a larger NBT framework, really throws a lot of doubt on those assumptions, however.

I do tend to agree with the likelihood of Steve Yegge’s criteria being relevant, of course. They all make perfect sense as reasonable correlative predictors. I just think it’s also entirely possible that we may be surprised by the effects of the interplay between the three NBT components. The market will change, and we may not even realize it in any comprehensive fashion until it’s about time to start thinking about the next major change. The biggest indicator will probably be the NBL. If it doesn’t match Steve’s criteria as well as we might expect, it’ll indicate that we’ve definitely overlooked something in the question of what will be the NBP and NBS.

One other point: I don’t think Steve Yegge really knows what the NBL will be. I think he’s being subtly ironic in his conspiratorial claims, even if on some level he believes his own marketing (not insulting him here — we all do that from time to time, and it’s often a necessary step on the path to brilliance when considering a given subject). I think it’s most likely that he actually knows he’s not really sure of the NBL, but has a couple of strong ideas, with one he’s picked out as the most likely or at least the one he’d most like to see succeed.

. . . and I think his may be the most intelligent essay I’ve ever read that speculates on the identity of the NBL, even though it doesn’t really discuss how we arrived at the Previous Big Languages very much.

(next, I think I’ll talk about Java)

1 Comment

  1. […] Apotheon conjectured that Steve Yegge’s unnamed Next Big Language might be ECMAScript (that’s JavaScript all dressed up for the party), and Steve has now casually confirmed that it is at least “a” if not “the”. […]

    Pingback by Chipping the web - triperfect -- Chip’s Quips — 20 December 2007 @ 11:26

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

All original content Copyright Chad Perrin: Distributed under the terms of the Open Works License