|
|
||
Kathy Sierra's BlogJune 2005 ArchivesJavaOne trend spotting... sort of.Posted by kathysierra on June 28, 2005 at 11:30 PM | Permalink | Comments (0)JavaOne talks are full of numbers... 1 billion JavaCards, 550 worldwide Java user groups, 912 members of the JCP, 28 J2EE compliant app servers, 45,000 Java applications for cell phones, 78% of handsets shipping in 2005 are Java-enablied, and on and on. So I thought I'd offer up a few other random metrics that might mean something. Or nothing. Non-technical stats:* Number of people waiting in line to have their picture taken with Duke: I counted at least 50 at the moment I walked by the line. People who paid $2000 to be here were skipping sessions to get a Polaroid of themselves standing next to a guy wearing a Duke suit. Let that sink in.* Number of t-shirts I was able to get in one pass on the show floor: 5. Without really trying. Surely the improvement in booth giveaways means something. It's not like the old days, but last year, I swear I was lucky to walk away with a white paper.
Technical stats:* Day one's most heavily attended sessions (announced at day two's keynote):1) JBI - foundation for SOA (so popular in fact, that they're repeating it. Too many people wanted in but were turned away). 2) 1.5 Language Features 3) Josh Bloch's famous puzzler session 4) EJB 3.0 5) Next generation web services 6) JAXB So, the Java Business Integration thing was the #1 most popular session yesterday. Today, the "Java at the movies" session on the Blu-Ray spec was completely full, door closed, turning people away. I reckon it was one of today's most popular sessions. * Day one's top-selling books at the show bookstore: 1) Java puzzlers 2) Swing Hacks (Yay! Java on the Desktop obviously lives) 3) Maven Developers Notebook 4) Head First Design Patterns 5) Hibernate in Action 6) JBoss 4.0 official guide 7) JBoss Developers Handbook 8) Spring in Action 9) Java Language Spec, third edition 10) Refactoring 11) Spring Live 12) Killer Game Programming in Java What can we infer from this? Not sure, but notice that the word "hacks" and "killer" are both in the list. And both Spring and JBoss each have two books in the list.
Stay tuned for results of tomorrow's "cool hunt".
JavaOne mood: surprisingly festivePosted by kathysierra on June 27, 2005 at 11:12 PM | Permalink | Comments (0)The old optimism is still here in San Francisco. Sure we've heard it all before: the huge HUGE "opportunity" in mobile, the "renewed commitments" with other big players like IBM, and "the really interesting things", as Gosling calls them, that Sun's customers are doing with Java... but still, we can't help ourselves from suspending disbelief and getting swept away once again by the enthusiasm. And why shouldn't we? In McNealy's session today, he pointed out that for the first three years of JavaOnes he was absolutely hammered by the press for "crazy talk"-- the outrageous overhyping of Java. But now, ten years later, if you go back and read what he said... it was dramatically underhyped! So why not indulge in a little optimism for Java? We tend to focus sometimes on the predictions for Java that didn't pan out, or that took much longer than expected... but so much more than most of us expected has happened for Java in these last ten years. We imagined a world where Java was in devices, and while the whole toaster and Java Dog Collar thing didn't happen (thank goodness), Java is in billions of devices, with millions of dollars being made from downloadable Java-enabled content. We aren't wearing our Java rings (although I still have mine), but Java is the smarts inside a gazillion smart cards (and at least one Boeing airplane). We imagined a world where Java was THE client-side web language, and while that didn't work out, Java ended up playing a much more substantial web role, powering the world's most heavy-duty enterprise server-side apps. Of course we all wanted Java in gaming consoles, and that hasn't gone quite as we'd hoped, but now the Blu-Ray standard means Java will be inside virtually every next generation DVD player! Downloadable AV content, it seems, could be an opportunity even greater than supplying downloadable mobile device content. It could happen. We imagined a world where JavaBeans (remember 1998?) were going to be The Thing, and everyone and their grandmother would be able to use a simple authoring tool to wire up an app (complete with multimedia) in no time. That didn't happen, and for a while it looked like the JavaBeans team went down to something like... 1/2 a person. But now 2005 is starting to look like 1998 again, only this time they really mean it. NetBeans is seriously rocking, and the client/desktop component model is showing up in all kinds of JSRs and tools. Sun's damn serious about adding those 5.5 million more developers, and they're pulling out quite a few stops to lure (or as Gosling put it last night, "seduce") them in with friendlier tools. And color me naive, but I honestly believed it when Scott McNealy said -- and this is pretty close to an exact quote -- "We're absolutely committed to Jini, and supporting the community like crazy." He went on to explain that there's just so many things to talk about, and so much noise, that he and Sun haven't been doing a good job at talking about Jini (duh!), but that he wanted to do more. And he did, starting with saying, "Jini, Jini, Jini" into the mic. He talked about how much Jini is used internally, and I suddenly remembered that four years ago (when I was a Sun employee) I wrote a Jini browser, and when I finally got it working I suddenly "discovered" all kinds of Jini services the storage guys were doing somewhere on campus. I was so thrilled to find real services to list in my toy browser that I never stopped to recognize that these services the storage folks were doing were serious Jini apps. (I, on the other hand, was building Really Important Applications like the Jini-enabled virtual pet kennel). Anyway, all the optimism here at JavaOne doesn't mean we aren't a little more jaded, skeptical, and rational than we were in 1997, but when you look back over the last ten years, Java has changed the world. And y'all are a part of that. (The highlight of the first day for me, though, was seeing the bullet point on the Mustang Features slide that mentioned wildcard classpaths. It's amazing how much applause one simple little asterisk can generate...) So just pause for a moment and let it sink in how far we've come in ten years. Then try to project ten more years into the future. If the next ten years are anything like the last, then whatever you're imagining is surely an understatement. Java True ConfessionsPosted by kathysierra on June 24, 2005 at 04:20 PM | Permalink | Comments (3)As I'm sitting here packing for JavaOne 2005, I'm remembering an event from last year that was... scary. It was one of Gilad Bracha's sessions on generics. (Gilad Bracha, remember, is Sun's "Computational Theologist" -- which means, among other things, that he interprets Java's "holy books" [his term] or, the specs.) The room was packed. A guy got up to ask a question at the microphone about generics, and Gilad's reply was something like, "We've been talking about that here for the past 8 years... let's move on." Gilad assumed that we'd all been not just coming to JavaOne for the last 8 years, but that we'd all been participating actively in the discussion and progress on adding generics to Java. The next guy at the mic carefully prefaced his question with, "I'm sure everyone else here has been keeping up on this for years, but this is my first JavaOne and I haven't been following it..." Gilad's response was enough to guarantee that only the brilliant--and more importantly--long-time Java developers asked a question. Oh, and you had to be 100% current, too. It wasn't just Gilad making the assumption that virtually everyone at JavaOne had been writing Java code, like, forever and had long sense grown bored by the older JSRs they'd obviously memorized. I believe there's a disconnect summed up in two big myths: =======
1) MYTH:Java is a mature language now, therefore most Java developers have been developing in Java for a long time.FACT A: In the last two years, the number of programmers using Java grew by 50%. At JavaOne in 2003, Scott McNealy announced there were 3 million Java developers, and today he's claiming 4.5 million. So a huge chunk of Java programmers have been at it for less than two years! FACT B: Tim O'Reilly and co. have been analyzing book sales data (not just O'Reilly books, but all technical books) to use book sales as a technology trend indicator, and one of the things they've comfirmed in the data is that as a programming language matures, the book sales for that language shift from advanced to beginning books. Today, most of the top-selling Java books are targeted at beginners, while five years ago that wasn't the case. The number one selling Java book since 2003 is for brand spankin' new first-time Java programmers. I reckon this is somewhat intuitive--when a programming language is new, you get the "alpha coders", but as the language matures, most of the people coming in are those trying to learn it for the first time, and tend to be mere mortal geeks--regular folks--who might need more help. People like me, for example, who don't dream in binary and usually prefer a little more handholding when transitioning to a new language (or for some, into programming for the first time). And don't forget that when the alpha geeks were there in 1997, remember, Java had fewer than 300 classes in the standard API! There was a whole lot less to learn then, so the barrier to entry seemed lower. (Although there were far fewer resources with which to learn, not to mention that large parts of the API didn't actually work, so perhaps that balances it out. Less to learn, but more to work-around. I can remember having to roll my own scrolling text box in Java 1.02.) Anyway, this latecomers-are-regular-folks thing maps well to the Technology Adoption Life Cycle fleshed out in Geoffrey Moore's book, Crossing the Chasm. My conclusion? Within another 18 months or so, half of all Java programmers will be relatively new to the language. ======= 2) MYTH:Most Java programmers spend a significant amount of time keeping up on the discussions of where the language is headed, studying JSRs, attending JavaOnes, and keeping current on beta versions of most of the key specs.FACT: I don't actually have a fact, but I'll bet you a microbrew that even here--on java.net where we come specifically because we do want to keep up--many of you harbor the dirty little secret that you're not as current as you could be. That you know more about Mustang the car, then the next version of Java. That there are still a few things about generics you don't actually know. Or worse--that you're still on Java 1.4! Worse still, that you don't even understand the new naming/numbering/version scheme and whether it's Java 1.5, Java 5.0, or why there's still a Java 2 in there somewhere. (Just kidding, it's obvious that even Sun doesn't fully understand it, so I reckon we're all off the hook for that one, and Sun has promised to announce some new naming/versioning plans at JavaOne). ======= I started this post by speculating whether Java is still friendly for newcomers, but perhaps the bigger question might be... is it still friendly enough for those of us who aren't? Personally, I was burned on that whole beta EJB 2.0 spec fiasco, where it changed quite dramatically at the very end. Many of us spent months trying to come up to speed on an approach that was eventually (and thankfully) scrapped, but it was changed only after the point at which we thought it was safe to start learning the spec. Yes, it was beta... but when it gets close to final, usually you feel pretty safe. I learned my lesson, though, and now I rarely bother to spend my precious brain bandwidth (in my case, an extremely limited resource) on anything that I might have to unlearn when it shifts. No, I'm happy to stay blissfully in the dark on most things, until the time is right and the resources are stable enough to jump in and learn it cleanly and efficiently. And although I might be wrong (and you'll tell me if I am), I don't think I'm alone on this it's-not-like-I-don't-have-too-much-to-do-as-it-is thing. Perhaps we need a self-help group: "Hi, I'm Kathy, and I don't keep up on all the beta specs." There, I feel better already.
Yes I do understand and appreciate that there should be plenty of advanced sessions for those of you who have (and it's often the BOFs that fill that role best), but I hope that the average session (not explicitly marked "advanced") does not come loaded with the unspoken prereq that I've memorized every relevant JSR.
By the way, for those of you secure enough in your geekhood to admit that you, too, don't always keep up, I'll be blogging some Cliff's Notes-esque highlights of JavaOne. : )
| ||
|
|