- Java Reference Guide
- Overview
- Table of Contents
- J2SE: Standard Java
- Java Windows NT Services
- Advanced J2SE
- J2SE 1.5.0: "Tiger"
- Java SE 6
- Core Computer Science Principles in Java (Data Structures)
- Annotations
- Java Generics
- Java New I/O
- Java Sound
- Java Applets
- JavaFX
- Java SE Threading
- Resource Management Using Semaphores
- Java Atomic Operations
- JavaTemplate Pages
- Executing Templates with the JtpExecutor
- Java Cryptography Extensions (JCE)
- Java Database Connectivity (JDBC) API
- Jakarta Commons - Net Class Library
- Jakarta Commons HttpClient
- Apache POI
- Regular Expressions
- JavaMail
- Cool Tools
- Building an Really Simple Syndication (RSS) Java App
- Logging with Log4J
- Inside Swing
- Swing Components
- SwingX
- Swing Styled Documents
- Web Rendering in Java Swing Applications
- Java Look-and-Feel Graphics Repository
- Java Media Framework
- Quicktime for Java
- Media in Java Review 2008
- Graphs and Charts
- Holiday Special: Electronic Greeting Card
- Media Framework: Presenter Application
- Standard Widget Toolkit
- JFace
- Java Performance Tuning
- J2EE Performance Tuning
- Caches and Pools
- Java Caching System
- Java Compression and Decompression
- Obfuscating Java Applications
- Continuous Integration
- Load Testing
- Tomcat Clustering
- Enterprise Java Testing
- Automated Unit Testing with JUnit and Ant
- Unit Testing: Tips From The Trenches
- Custom Ant Tasks
- Extensible Markup Language (XML)
- Java Web Technologies
- Web Frameworks
- Struts 2
- Wicket New
- JavaServer Faces
- Distributed Programming / RMI
- Servlet Filters
- Building a Robust Java Server
- J2EE: Enterprise Java
- Spring
- Java Design Patterns
- XDoclet
- Hibernate
- Project Backup
- J2EE Project: Hands-On
- Enterprise Java Beans (EJB) 3.0
- Disaster Recovery
- Java Management Extensions (JMX)
- Service-Oriented Architecture
- Web Services
- Project: Building a Web Photo Gallery
- J2ME: Micro Java
- Specialized J2ME
- Optional Packages
- Other Java Technologies
- Derivatives and Competitors
- Java, Engineered for Integration
- Additional Resources
- The World of Java Tools
- Building Java Applications with Ant
- Managing Java Build Lifecycles with Maven
- Source Control with Subversion
- Inversion of Control and Dependency Injection
- Certification
- Roadmap: Becoming an Enterprise Java Developer
- Roadmap: Becoming an Enterprise Java Developer in 2007
- The Business of Enterprise Software
- JavaOne 2006
- JavaOne 2007
- JavaOne 2008 Wrap-Up
- JavaOne 2009 Wrap-Up
- How to Survive in a Turbulent Job Market
- How to Hire the Best Talent
- Cloud Computing
- Enterprise Java in 2008 and Beyond
- Predictions for 2018
Predictions for 2018
Last updated Dec 28, 2007.
While most sites are concerned with predictions for 2008, we decided to give you a much more lasting, and arguably slightly cloudier, set of predictions: what will technology look like in ten years, in the year 2018? Since we're looking a little far out, I need to fill you in on some major events between now and then that will shape 2018. After the Internet evolves in 2014 into one large neural network, gains artificial consciousness, and then tries to eradicate mankind, and of course after we evade the first wave of alien invasions in 2016, technology will be ready for a change.
But in all seriousness, let's reflect on what has happened to technology and to Java in the last ten years and see if we can predict where we might be heading in the next decade.
Last 10 Years in Java
I feel old thinking that 10 years have passed since 1998, but it really does demonstrate Java's staying power. Java was created in 1995 (and traces its roots back as far as 1991 when it was used internally at Sun in the Green project) and really became known when it appeared in its Applet form in Web browsers in 1996. In 1997, Sun introduced the Servlet specification and in 1998 we saw mass adoption of Servlets, and to some extent JavaServer Pages. Ten years ago Java was quickly becoming the preferred dynamic Web content technology, but it was going to take almost two years before Java 2 Enterprise Edition was released.
The Web at that point was in its infancy, but had gained significant momentum from its commercial debut in 1995 (and I added the term "commercial" because no, Al Gore did not invent the Internet in 1995.) (Editor’s Note: Can poor Al catch a break? He stated publically during the 2000 presidential campaign that he never claimed to have invented the Internet, but merely championed funding that became instrumental in its creation. We can thank the media for distorting his words, and, ironically, we can thank the Internet itself for keeping those distortions in circulation years later.) In 1998 people started to realize that the Internet was going to revolutionize the way businesses do business, consumers purchase goods, and people interact with one another.
Ten years ago, Java was used for two primary purposes: Applets to display interactive web content (at this point this mostly included annoying ad banners) and Servlets to build dynamic web content. Today, Java includes a full-blown enterprise platform upon which large banks move billions of dollars on a daily basis, it is the backend for some of the most popular Web sites in the world, and its technical reaches touch everything from multimedia to applications to mobile platforms to Mars rovers. Not bad for ten years of evolution!
So where is Java heading in 10 years? Let's review how technology will change in 10 years and then find Java's home.
Operating Systems
While many people predict, or hope for, the mass adoption of Linux by consumers, the truth is that it really has not happened nor will it happen any time soon. But if we push the crystal ball out ten years and look at the trends over the past couple years, then we can see a change coming. The past 10–12 years have been dominated by Microsoft operating systems, but Microsoft has made a few key mistakes over the past couple years that are causing consumers to lose confidence in their products:
- Internet Explorer 7: because of backward compatibility issues, a year after its release, many companies are still not supporting it in their environments. And while IE still dominates the browser market, Mozilla and Opera and continuing to gain market share and a home in the hearts of their users.
- Office 2007: Microsoft deviated far enough away from 12 years of office products that the reception has been far from positive. As a matter of fact, most of the reviews that I'm reading on the Internet don't stop short of saying, "no, don't upgrade!" On top of that, OpenOffice.org, as well as IBM's release of Lotus at no cost, are being seen as viable alternatives. Not to mention the movement to online office products by the likes of Google.
- Vista: need I say more?
With these foul-ups, I think that the market is currently ready to entertain alternatives. But looking out ten years, I think that the change is going to be dramatic. I expect Apple's market share to increase substantially, although I do not think they will capture the dominant position simply because their computers are so expensive. I don't see Steve Jobs selling $300 laptops, like I can buy with Vista preinstalled — I would love a Mac notebook, but I don't have one simply because I can't afford one!
So what does this mean to Linux? In its current state, it is simply too much work for the average consumer. But over the next ten years I think its market share will grow at a steady rate. Again, it will not hold the dominant position, but its numbers will grow.
So then, who will own the operating system market? I think it is going to remain split between the leaders, but I do think we will see a powerful new alternative emerge and within the next ten years to displace Microsoft as the leader. This may be a Linux derivative or something fresh, but it will definitely be an enabler for whatever form the Internet happens to take at the time. My best guess as to who will pioneer this operating platform: Google. It may sound cliché at this point to identify Google as the operating system leader, after all they only recently introduced a mobile platform, but the company is structured much differently than Microsoft and Apple. They cultivate innovation and inspire fresh ideas in their employees. For a great example of the different mindset that Google maintains, take a look at the Newsweek article: Google Goes Globe-Trotting. I think that their approach and agility will give them an advantage that they will leverage to lead this, as well as most, of the technology market. And my predictions below that the PC will not be the dominant Internet device only further support Google's chances of dominating this market.
One Big Networked World
While PCs will still be found in most homes in the world, the technical focus is not going to be on PCs, but rather on Internet-Enabled Devices. WiFi will be available everywhere and your mobile devices, your digital book readers, and even your vehicles will always be online. There will be a high level of connectivity in your home as more devices come equipped with wireless connections. You will become used to using your cell phone (or other mobile device) to not only control your television, but check the status of and control your washing machine, decide what you want from your refrigerator, and check on your kids in their room using a wireless video camera.
With one big networked world, the locality of your personal data will not be that important to you. The important thing will be secure access to your personal data. Most likely through biometric technology, your devices will uniquely identify you and provide you with access to all of your personal data. I think that when you purchase media, such as music and movies, it will simply be made available as part of your personal data: there will be no physical media involved. And then when you sit down to do your work, walk up to your home stereo, go to the gym with your iPod (should I say gPod?), or drive in your car, it will be immediately available to you. The entire transaction will be electronic and there will be no need for your personal local storage of anything, all data will be hosted somewhere on the Internet and replicated with enough redundancy to ensure that it is never lost.
Looking at schools in a highly networked world, in ten years I don't think you'll see kids carrying around books. But rather you'll see students with some mobile device that resembles a tablet PC, but probably compacts greatly and expands to be more usable when needed. Through this device they'll read their text, do their homework, and take tests online in their classrooms. The contents of libraries will all become available online, so students will simply be granted access to the library services and can perform all of their research from this device. And because technology evolves so quickly, this device will work seamlessly throughout the entire day (no 3 hour battery limit) and will have processing power that far exceeds your best gaming machines today.
In short, the mass availability of WiFi, without "dark areas" that cause you to lose connectivity, will change the face of the technologies we're using on a daily basis. And companies will find new and innovative ways to exploit this technology to provide us with even more unique ways to enjoy ourselves.
Rich Internet Applications
With the focus moved away from stand-alone PCs and Web browsers (although we will still have web browsers, just they won't be your primary mechanism for finding content on the Web), we'll need a paradigm shift away from the current Web GUI technologies. Although we have extended HTML to become more dynamic and most recently have developed AJAX applications to mimic desktop-like applications, the truth is that Web applications are still poorly lacking behind their desktop counterparts. When you compound the current poor applications with the need to support a plethora of platforms you arrive at an abstraction layer in which the content will be rendered on the destination device in the most appropriate format. And that format is going to be very engaging and rich with multimedia.
In the next five years, look to Adobe Flex, Java (which might include JavaFX), and Silverlight to lead the way in rich Internet applications and forget about a major AJAX revolution. AJAX is a good patch to the existing technology, but it is not the solution. When we look at these three technologies, consider first that they will evolve and will not resemble what we know them to be today and then consider their strengths and weaknesses:
- Flex: this project is owned by Adobe, who has historically demonstrated its prowess in multimedia. Flash has the highest reach of any of these technologies, showing that they have the marketing ability and they support all major operating systems, but they have a serious flaw: they are a multimedia software company, they do not have the same experience developing programming languages and application platforms that the other two technologies do.
- Silverlight: great idea and I bet that Microsoft will be very successful with it, but they will suffer from a serious blind spot: they will support Windows platforms very well, but I wouldn't hold my breath that this technology will move across operating systems as well as across non-Microsoft devices. They may release Linux and Mac support, but their primary focus is going to be Windows. The fact that they think that they need to own the entire technology stack (including the operating system, whether that is on a PC or a mobile device) will be their downfall.
- Java: Java is a great programming language and application platform that can be deployed to any type of device (consider why Java was created in the first place). Their weakness is in Sun's marketing and their ability to penetrate the current browser market. And this is compounded today by HUGE downloads (you can get Flash up and running in a matter of seconds on a good speed Internet connection, but Java is still a hog.) The Consumer JRE aims to change this with fast startups and a quick download and installation.
In ten years you will still see powerful multimedia content supported by Adobe (or whoever acquires them) and you hopefully will see Java as the application technology of choice (I say hopefully because there is a major perception barrier that Java is slow that needs to be overcome and thus far Sun has not been able to do it.) And Microsoft will have a proprietary technology solution that will only work well on its dwindling market share.
Conclusion
If we do it right, Java is poised to be the dominant language in the next ten years. From a client perspective, Internet applications will move away from their feature-poor HTML and sluggish AJAX manifestations to be much richer, to which Java can be a major contributor. And as WiFi expands everywhere, data loses locality, and devices communicate more with each other, Java holds two key advantages:
- Java is capable of supporting the infrastructure that the Web needs for this evolution — enterprise Java applications have already demonstrated this throughout all of our financial and commercial industries
- Java was initially designed in 1991 to support communication between smart devices. The first product was the Star 7 device, which was like a smart remote control. Java has grown, but at its foundations it is very strong at networked communication, so it is going to be poised to be the environment of choice to deploy applications to your car, mobile device, washing machine, and of course your PC
So in short, if we don't mess up the technology and we make the right decisions, Java will be in the best position to drive technology in the next ten years.
(And this will get us ready to defend ourselves in the 2020 clone wars.)




Account Sign In
View your cart