My (Amateurish And Armchair Developer) Opinion Of Java

I will just come out and say it.......

I don't like Java. I guess Visual BASIC ruined whatever chances of me accepting Java. The fact is that I never found Java appealing. After being exposed to Visual BASIC first, I never had much love for Java. At my high school (early 2000's), there was only one programming class, and they taught Java. However, I got the impression that the high school defaulted to the Java programming language because they didn't want to purchase licenses for Visual Studio (granted, there is a significant price overhead). This was also the same impression when we used Textpad for editing Java programs instead of Sun's NetBeans/Forte IDE. Schools have to cut costs somewhere.


I admit that I'm a sucker for IDE's. It goes all the way back to fiddling with BASIC programs in QB. I'm not all opposed to text editors for writing code at all. Notepad++ kicks a$$ when it comes to editing C++ code. I've compiled 86Box before from source, and I've made my own personal edits to the code and produced my own binaries. Thus, the Notepad++ approach feels natural when it comes to editing source code from projects that were not written in an IDE. 



However, when Java programs are advertised as web applications that would define the Internet, both as a backend and a graphical frontend as well; it would make sense that an IDE would be appropriate. Granted, there is actually a very competent IDE in the form of NetBeans/Forte. Sun pulled a page straight out of Microsoft's rulebook of IDE's and forged this quite useful environment in the process. Forte allowed coders to make Java applications in a very intuitive manner similar to VB programs. In fact, I'm very inclined to believe that Java has change the landscape of computing for the positive. However, this mainly been the case as serving as an backend for server, database, and web applications.


Yet, I remember the 90's tech hype train all-to-well when it came to all things Java. It would redefine the web as we knew it as proclaimed by the loudest voices in the tech sector. This was the time when people crapped themselves when they saw a webpage for the first time. As with any new arrival of tech, people went apes**t when it came to the Internet in its infancy. Yes, it was the 90's. I've heard all the buzztalk about how great and wonderful Java was going to be for us dumb blokes. The JAR file running under the Netscape browser was going to blow our minds away. The JAR file was going to be the new EXE as we witness the convergence of platform-agnostic computing for the masses, which was going to free us from Windows, x86, and blah, blah, and blah. Web applications would take over, with our browsers feeding us Java morning, noon, and night. 


From the tech realms, Java was also going to free us from that "evil garbage" that was Visual Studio. Now, granted, Microsoft didn't have the most positive of images during the time. Look, they were abusing there monopoly position, plain-and-simple. They thermonuked IBM during the Windows 95 launch, and threatened to do the same with Compaq and HP if they didn't remove the Netscape icon from the desktop while also not changing the default desktop shell. Microsoft was raging their own campaign of annihilation against Netscape.


Yet, at the end of the day (and many years later and for desktop applications), Microsoft actually implemented the idea of Java better than Sun did with .Net, which is basically Java done right. (Yes, I understand that they're massive differences between the two). Ironic at a time when Microsoft's attempts to dominate the smartphone market has blown up in there face while missing out entirely on the tablet, social media, and other emerging tech markets as well (The Xbox division has faced intense competition as well, but I don't really mention Xbox in these articles as while they are technically a part of Microsoft, they are now basically a company unto itself). Karma can be very harsh like that.


Most of what was said about Java for the positive came from the academia espousing programming principles and concepts, while those behind the screen were still secretly compiling code in Visual C++ or BASIC and looked far less interested. To me, Java was like Communism; it worked much better in theory than in actual practice.


Now, I'm not saying that Java is without merit. Java works wonders as a database and server backend. The platform-agnostic approach to Java is definitely a worthwhile pursuit that serves the web well. Because the WWW was meant to be a open-platform for all, Java's open approach actually suits well with the goals of the Internet.


The Java programming language barrows heavily from C++, using almost a carbon-copy syntax. Thus, for those who want to learn C++, Java actually like a great introduction language; as well as for those already familiar with C++, thus making Java a great complementary language. Notice that I said beginner language for C++, not beginner language for programming in general. Trying to introduce someone who's never written a line of code to C++ (and thus Java) is like suggesting teaching Latin as a intro language to middle-school students in public school. Latin would go well beyond there heads as would C++/Java for those who never programmed before.


Despite the shared language syntaxes and coding styles, there was a massive difference between the two. While with C++, the source code is compatible across multiple CPU architectures and operating systems, you can't run that code in "interpreter" mode similar to a BASIC program. The source code had to be compiled on that platform before it could run.


However, in Java, the program is compiled in interpretation mode, meaning that the program is being compiled at runtime. As such, a JAR file is truly portable across any platform that had the JRE (Java Runtime Environment) available for it. For Sun Microsystems, who wrote Java, they were quite generous in porting JRE to as many environments and platforms as well. It was available on the PowerPC, x86, and SPARC architectures. It was released for Windows 95/NT, MacOS, IBM's OS/2, various UNIX platforms (including Sun's own Solaris operating system, no surprise), and various Linux distros. In fact, a mobile version of JRE was released on the early smartphones, which was heavily optimized to the point where often, JAR applets could run nearly as fast as their native counterparts. It was the mobile market that really showed Java's potential to the end-user.


If early on that Java was promoted as a language to write mobile applets, server and database backends, or web applications, Java would have fared much better. But I remember the hype. (I was a kid of the 90's after all!) Java was going to transform computing forever, especially in the desktop realm. The chants that "Visual Studio was dead!" among those who embraced it were ever loud. Java was going to transform the PC desktop for Joe Average. My response to all of that is.....What In The Hell Happened! This will be explored in the next article, so stay tuned!

Comments

Popular posts from this blog

WeatherStar 4000 Simulator For Windows (Part 1)

My Thoughts Close Of The Election : Religion and Politics

Old Hardware Emulated :Psion Model 3a Emulated On DOSBox Windows

Classic Systems Emulated: Windows 3.1 OEMS

Old Hardware Emulated : Pocket PC 2000/2002

Some More Thoughts Of Greg Abbott

Classic Systems Emulated: Windows 95 (Part 1)

2021: American Insurrection

WeatherStar 4000 Simulator For Windows (Part 2)

Old Hardware Emulated - Windows Mobile 5.0