Java Platform, Enterprise Edition

Java EE Journal

Subscribe to Java EE Journal: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get Java EE Journal: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


J2EE Journal Authors: Douglas Lyon, Stackify Blog, APM Blog, Sumith Kumar Puri, Javier Paniza

Related Topics: RIA Developer's Journal, Java EE Journal, Java Developer Magazine

RIA & Ajax: Article

Java Editorial — Unofficial History of Programming: '96 - '06

Unofficial History of Programming: '96 - '06

I want back in the '90s...seriously. Ten years ago I didn't know Java: I'd been using PowerBuilder and was able to program pretty much everything in this RAD object-oriented tool. To find a job back then, all I needed to have on my résumé was PB, a single framework (PFC), and SQL. With these skills I could have created a prototype of a rich CRUD client/server application in a couple of days. However, that was the sunset of the client/server era.

While making the deployment of the client software easier, the Web pushed the user-facing applications years back. Just look at these ugly screens: several plain text boxes, a dropdown, and a trivial HTML table. Mainframe dumb terminals had black screens with green letters, but the interaction with the big iron was super fast. The Web offered a white background with black letters and poor performance. But the entire world was so happy with this new way of accessing the wealth of data and tons of e-commerce opportunities, that people were willing to put up with some minor inconveniences.

GoF had released a famous book on design patterns. I wonder if anyone has read this manuscript from start to finish? This book was the first step in turning programming from an art to a trade. Singleton, MVC, Factories, value objects...just pick up the proper design pattern(s), and your code will look as if it was written by an expert. Don't forget to comment your programs explaining which design patterns were used in your code. There still is a small number of programmers who get by without pattern programming, but they'll be extinct soon.

SQL was in favor in the '90s. People knew how to delete duplicates from a database table by applying such SQL clauses as group by and having. How many people have read the book by Joe Celko, SQL for Smarties? Let me put it another way. How many people know what SQL is? Why bother, Hibernate will let me map class attributes to the database table columns. How nice...I'm drowning in XML now. Let's not jump ahead though; mankind did not know Hibernate or XML back then.

The Java programming language was born. It became visible as a language for creating applets, but it quickly abandoned the desktop and started to shine on the server side. It took Sun almost 10 years to realize that desktop programming is also important and it's time to create a Swing-based RAD tool.

The end of the last century can be called the Gold Rush of Programming. People started to spread the fear of Y2K issues. Since the dates were stored as two digits, some nuclear explosion or a less serious disaster was expected on January 1, 2000. For example, I'd never include "'96-'06" in the title of this article. Why? Because 06 minus 96 is equal to negative 10. Get it? Lots of people quickly became programmers with the noble mission of saving mankind. Lots of IT managers quickly climbed the corporate ladder working on this noble mission.

In the beginning of the new century, XML became popular. Yes, it was a nice way to describe data, but at the same time it was too heavy. It did not manage to kill the CSV format - the hype is over - but it did find its use in a variety of applications.

Microsoft came out with .NET platform, which became a direct competitor of J2EE. These two mainstream technologies cover most of the enterprise software development.

Another important trend of this century is the spread of open source software. In the past, vendors used to sell software licenses, but now many of them give the software away for free and sell services instead. The documentation of our open source product may be poor, but no worries, we'll be happy to help you with our great tool for an extra fee.

What are the latest notable trends? Let me throw in a couple of buzzwords.

AOP stands for aspect-oriented programming. It's an interesting concept that allows you to change the behavior of a compiled application without changing its source code. For example, you can implement a cross-cutting concern like logging after the application was written and turn it on or off as needed. AOP definitely will be used in some applications, but it's not going to revolutionize programming as OOP did 15 years ago.

The latest fashionable thing is AJAX - a self-proclaimed savior of Web applications. You enter a letter in an HTML search text field , and the results comes back without the page refresh. Time will show if AJAX is the right solution for Web 2.0, but many vendors are trying to make their tools AJAX-enabled because it sells well today.

Meanwhile Java developers go crazy, because of this orgy of 50+ Web frameworks that do the same thing as Struts.

During the last three to four years, lots of enterprise mission-critical systems were moved from the Unix to the Linux platform, and this trend will continue.

Ruby on Rails is heavily promoted by a group of enthusiasts. At this point it's not clear if Ruby will become a commercial programming language, or just another good language such as Lisp or Smalltalk. I don't know, but I'm planning to purchase a book about this language.

Rich Internet Application are back; I'm talking about fat clients here. The major players are Adobe Flex 2, Microsoft WPF, and Java Swing with JWS, of course. This is an interesting field to be in today.

What about us programmers? We have to keep learning more and more buzzwords/tools/frameworks/languages to become senior software developers...oops, I meant to say architects. Why not developers? Because only architects can possibly figure out how to put all these unrelated pieces together.

I want back in the '90th...seriously.

More Stories By Yakov Fain

Yakov Fain is a Java Champion and a co-founder of the IT consultancy Farata Systems and the product company SuranceBay. He wrote a thousand blogs (http://yakovfain.com) and several books about software development. Yakov authored and co-authored such books as "Angular 2 Development with TypeScript", "Java 24-Hour Trainer", and "Enterprise Web Development". His Twitter tag is @yfain

Comments (2) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
Durga Prasad 08/18/06 09:41:43 AM EDT

Hi
That was a rather quick history lesson, while missing no important link, ensures all milestones are clearly identified.

Regards
Durga

Darcy Schultz 08/17/06 08:03:50 PM EDT

Gong!!! You hear that reverberation? That's me saying damn right! I was there for the PowerBuilder years. I started with version 1.0, and I, like nearly everyone else, moved onto Java (with a minor sightseeing tour of Delphi). And I echo your candor in describing the lack of productivity and frustration with the churn in the Java web space. I mourn for the poor users who've been made to suffer web-application hell in the name of progress. But I've begun to see a little of that old magic again with Ruby on Rails. Hell no it's not perfect and no I don't get paid to develop with it, but at least it gives me hope...