Describing enterprise IT systems as things that resemble airplane cockpits, the brainchild behind the popular programming language Java wants things to remain simple for developers.
'Father of Java' James Gosling, also a vice president and fellow at Sun Microsystems, said: "When you build systems that are powerful, one of the things that happen is they tend to get complicated. It's very hard to avoid the complexity." Gosling was addressing an audience Tuesday at Sun Microsystems' developer conference in Bangkok, Thailand.
He added that most IT systems now resemble a Boeing 747 cockpit with "knobs and dials everywhere". He attributed this to the high number of Java APIs (application programming interface) used in software programs.
Particularly in Java 2 Enterprise Edition (J2EE), used by companies to build large business systems, Gosling said there is a lot of complexity that gets in the way of software development.
"One of the challenges we had in the last couple of years is how we can keep the power [in J2EE] and make it simpler," he said.
Gosling said that Sun has been working to simplify its Java software products for developers, such as J2EE 5.0 and the Netbeans development tool.
He added that in J2EE 5.0, the focus on reducing complexity was important to Sun. For example, the company simplified many common programming scenarios so developers could work more efficiently, he said.
In addition, Netbeans also allows developers to test their mobile Java applications on actual cellphones, rather than on emulator software, to better identify potential coding errors.
Not a Sun product
The creator of Java also emphasized that the programming language which has gained huge tractions in the developers' community, is not a Sun product.
"It's really a kind of collaborative effort among developers," he said, noting that open-source communities have formed around Java, and they play a part in deciding what features get into future releases of Java.
Gosling added that the Java Community Process (JCP) is an important program that charts the future of Java. The JCP implements standards and testing procedures to ensure any upcoming Java features will work well across all platforms, he said.
"One of the failures of standardization in the computer world is that organizations often implement standards, only to realize they do not work out."
He pointed out that real-time programming is the next area of development for Java. For example, Boeing built a Java application to manage unmanned aircraft which are used in search and rescue operations. The software allows someone on the ground to control and identify objects that the aircraft should look out for, and feed images back to the central network in real-time, Gosling explained.
He also urged developers to move out of their comfort zone and stop relying on Moore's Law to speed up the performance of their applications. Rather, they should ensure robust and efficient codes in their software.
"In software development, people tend to be lazy," he said.
Gosling noted that Moore's Law, where the number of transistors on chips double about 24 months, has started to flatten in the last few years. This, he said, is due to heat dissipation and current leakages as chip speeds increase.
Developers should then start thinking about parallelism and threading, where a computing job is broken up into multiple instructions in tandem to speed up application performance, he said.
Thitipong Suparurkral, one of the 1,300 developers who attended the conference, agreed.
He said: "I think multicore processors with multithreading features will change the way developers do programming. We can’t afford to be lazy anymore."