Most Read This Week
From the Editor
Java Editorial — Unofficial History of Programming: '96 - '06
Unofficial History of Programming: '96 - '06
By: Yakov Fain
Aug. 14, 2006 01:00 PM
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.
Reader Feedback: Page 1 of 1
Subscribe to the World's Most Powerful Newsletters
Today's Top Reads