This is not a rant about how Xerox created the future, but in the mean time did not have courage to gather (or rather pick up) the benefits, so it fumbled its own future.
This rant is about what is likely to happen in the following 5 years:
Guessing the Future
1. Virtualization of computers on top of the JVM. Now it is up to 80% the speed, but it will get to 120% of the speed or more through optimizations (how I don't know, but if you look at past abstraction layers, once they were slower, then they became faster: Curses, Java, etc.). There will be no reason to run an operating system directly on hardware.
2. Multicore: 2007: 4 cpus, 2011: 16 CPUs, 2020: 256 CPUs. How to use all that raw power? One solution is virtualization for consolidating servers on one machine. Another solution is multithreading for making programs run faster, the problem is that typical multithreading is hard, specially if you want to improve the speed by 10. Typical speed improvements is not even 2x when coding multithreaded code by hand and optimizations are error prone. The EJB model allows to write multithreaded code as if it were single threaded, and although EJB was probebly not the best implementation, it is a very smart idea and I bet someone will come up with a way to implement it correctly so that magically all Java programs are multithreaded.
3. Hard drives replaced by pendrives on 2012: Computers will get smaller and consume less energy. Some people argue that this can't happen because the flash technology on which pendrives are based does not allow to record the same memory address more than a few million times. That's a very interesting argument, but it is a technological one. I can't know how it is going to be fixed, but it is going to be fixed for sure, somehow, just because there is a market impulse in that direction, so there is money to be invested, and smart ideas wil get funded. This means computers will get less expensive more people will buy computers, the software market will become bigger and therefore the software makers will become richer. Also since pendrives are not mechanic, the structure of data in disk will no longer follow the BTree structure, since access to contiguous portions of the hard disk meant faster access, but flash pendrives are RAM, and therefore they could be stored in HashMaps, TreeMaps or LinkedHashMaps and it wouldn't matter, access will be at least 10 times faster. Also paging memory will become faster, so computers with 64 bits will have unlimited memory (compared with today's miserable 2 GB). You laugh now, we will talk in 2012 and we will have computers with virtual RAMs of 32 GB.
4. 32" inches LCDs on every desktop on 2012: Less consumption and less space means lower prices and less eye strain, since the LCD monitors do not flicker.
5. WiMax means always connected and always on. IP-Radio, IP-Cells and IP-TV will be used on the road. TV programs will be stored on pendrives, and everyone will have their TV shows, which means less quality (can we even go any lower? yes, unfortunately, but at least you will have many options and you will have to dig for information, which is really good for Google). When will WiMax take off? Maybe 10 years from now, but then it will be to late to develop the technology. It must be created and perfected 10 years before, as happened with other technologies.
6. Since computers will be so cheap and powerful, fast operating systems will be considered legacy, and secure operating systems (microkernels written in Java for example) will be the operating systems du jour. As long as they can run Java (and its legacy). Windows and Linux wil run on top of Java, and since Java operating systems like the BEA's Liquid VM run on bare hardware, good bye operating systems.
7. ERPs like SAP have taken the market by storm because they can offer an integrated solution for the whole enterprise, but they are not easily configurable. All the 6 months projects to adapt SAP turned into 3 years projects which either did deliver or were simply killed. SAP is migrating to Java. There are many open source ERPs. So you will be able to fund your own company on cheap hardware and free software, and once everyone can do it, it is not a good business anymore. Companies will have to use cheap hardware and free software, but also invest in differentiation if they want to survive. The copycats will thrive.
8. All the software will run on the web, using Ajax technologies, mimicking the way Windows or MacOsX work. A new standard for web usability will emerge. Which? I wish I knew, but I guess people will prefer the tried and true (the Desktop???)...
9. Operating systems running on top of Java and Java running on a browser. This of course means operating systems running on top of a browser. There is a web browser called Lobo that is written in Java. What we are lacking yet is an OS written fully in Java, and then Java will be able to run independently of the all the legacy code, but will support all the legacy code. Then the hardware manufacturers will be free to improve the CPU design removing all that is not needed to run Java. Woudl it be significant an operating system written in Java? For starters the code must be short and simple, it must be microkernel and use virtualization to run several operating systems on top (even itself). This way if a driver fails, that one driver fails and it doesn't take the whole machine down.
10. The app server market is fragmented. If there was a mechanism for executing all the code form the different app servers into just one app server, it would be a real hit. For the moment there are machines like Azul that have more than 300 cores and can execute different OS and different app servers on the same machine, integratign several platforms, making everything execute faster, because the application can communicate with other servers using the internal data bus. It would have been a lot faster if the applications were developed for the Azul hardware instead (really meaning all in Java, since Java can run on top of a bare Azul system).
11. Ethernet at 40GB and 100GB will be standard on 2010.
12. The market for IT (converting manual process in automated and semiautomated processes) is way deeper than what is actually delivered today. It is only through constant failure, that the market still manages to deliver such a poor performance. The main problem is that when user and analysts design new systems, there is a lack of developers to implement the new tasks and they deliver in weeks, months and years instead of delivering in minutes, hours and days. There is a strong market for a need that has not been satisfied.
13. Devices connected through TCP/IP. This means lower time to market and lower desing expense, since all devices and drivers will simply use TCP/IP. Besides there are improvements in the use of the buses because information can get fragmented and therefore, you don't have to finish one operation to start the next. This means better throughput and more reliable bus communication. Also it would mean that you could connect to another computer devices without having to access the host's CPU.
martes, 31 de julio de 2007
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario