Why is Moving Towards ? by Mike Rozlog of Borland

It is normally bad practice to answer a question with a question, but read the article and find out why it is the perfect time to ask the following question. What is development? This is one of the most important questions being asked at Borland. Development as defined by the dictionary states: it is a noun that has synonyms including evolution, augmentation, and maturation. Taking the definition of development and its synonyms and applying them to the question of "Why is Borland moving towards Eclipse?" reveals answers that many people may not have thought about.

First, it is always important to the history behind a current position. Take for example an auto race. Usually the winner is not the person that initially leads from the starting position; it is a person who has made important adjustments throughout the race to put them into the best position to win. Now, this is not to say that a poleleader can not win the race, it just means they have to make other adjustments throughout the race to also put themselves into a position of winning it. Understanding that analogy, it is no wonder why Borland is going to start to use Eclipse as a customer facing technology. Keep in mind that Eclipse is not just a JBuilder issue at Borland; it will be used in various areas that have interaction with the customer. However, it is important to understand the background of JBuilder and put it into perspective of why it has been very important over the years, for supporting the platform. When Java was first introduced by Sun back in the middle 1990's it was a different time. It is hard to remember just how different, but let me reassure you, it was a very different time. After Sun's announcement of Java, Borland took a very active role in trying to help Sun iron out some of the language wrinkles. One of the first things Borland did was to add support for Java in our ++ product. It basically gave you the ability to have syntax highlighting, and the ability to call the . It did not support debugging or any advanced features that we take for granted today. It was decided that this would not be the best approach to Java development and a new project was started based on the IDE called Latte. This approach took some of the advanced features of Delphi and tried to apply them to Java, however, Java was in its infancy and had a plethora of limitations like not having an event model, component model, or even a standard debugging interface. It was then decided that it would be better to create a new IDE framework based lightly on the Delphi IDE but with the ambition of being written in Java 1.1. The first release of JBuilder as we know it today was a combination of that Java- based framework with Delphi and C++ mixed in to fix significant short-comings to the Java language. This approach served Borland and JBuilder well, until the release of Java 1.2, when the Java platform matured. By the time JBuilder 3.0 was released, it was about 95% Java and only about 5 percent Delphi and C++. Bear in mind, that Java was changing very fast. New capabilities were being added and the were expanding at an exponential rate due to the acceptance of the Java Community Process (JCP) and Java in general in the marketplace.

Borland made a radical decision to move to a new all-Java framework that would be more stable, have a cleaner plug-in architecture, and a product that could highlight and show the world that Java was ready for Primetime. Ironically the name of this all-Java framework was Primetime internally, and that was what it became to be known inside of Borland. Looking back on it today, it is hard to remember how hard it was to move towards that new Framework. The idea of having a generic cross-platform IDE framework, that could handle the idiosyncrasies of each platform that was going to be supported, and truly fulfill the "write once, run anywhere" paradigm was huge. So, within the first 5 years of Java, Borland had already gone through 3 frameworks. However, from the business perspective of the Primetime framework, it was going to allow Borland to move at light speed compared to the competition because it was defined as an open-architecture, pluggable environment that could be segmented. This meant that new language features could be done as a plug-in or technology preview, much like Borland's first attempts at the mobile market. The original plug-in was just that, something that the community could download and try as Borland had time to perfect the design pattern for that type of development. The Primetime framework allowed Borland to release a JBuilder product twice a year. Some customers hated the fact that it seemed like JBuilder was always being released, and every release was big, with not just a few features here or there, but a full product release with awesome support for whatever was hot in Java. Again the Java language was maturing and the Java community was expanding exponentially. This gave Borland the best of both worlds, to not only capture the new customers coming to Java, but also keep the existing customers excited about new features by trying to ensure backwards compatibility and increase developer productivity.

Having this background in place now allows for the conversation to move towards the definition from the first paragraph. The first word to focus on is maturation; Java is now very mature and very complete. The standards and specifications are now coming to market in a much more defined and normal time sequence. The need to have an in-house IDE framework that allowed for customized workarounds for the Java language and platform has been greatly minimized. The maturity of the Java platform is very evident. Look at the number 1 bug for Java today as voted on by the community and you will see it has a whopping 777 votes, out of a community estimated around 4 million developers. This leads to one of the next realizations that the need for an open, yet proprietary IDE framework is not as important as it was 3 to 5 years ago.

The next word in the definition is evolution; it is true that Java has changed development for the better. Not through radical ideas or unrealistic goals, but more along the lines of good ideas, implemented well. Eclipse is a generic framework that can be applied to practically anything, not just IDEs. Because of the maturity of Java, it gave the community the ability to really abstract the underlying framework. They were able to evolve ideas into a more generic sense, which allowed for greater community interaction and involvement. Borland has been part of the Eclipse history since very early on; first as a lurker and then as time went on and other companies were brought into the Borland fold, a deeper involvement was forged, to where we are today as an Eclipse Strategic Partner. So Borland's support for Eclipse has evolved from keeping an eye on the community, to helping to make sure some of the challenges that Borland has already overcome in its 20 plus years of creating development frameworks can be passed on for the greater good of the industry as a whole.

While the word augmentation brings many different concepts to mind, at Borland we look at it as the ability to augment a really good foundation with exceptional tools and practices. Eclipse brings to the table a very complete and stable framework for developing IDEs and end-user intensive applications to the market. Borland believes that with its heritage in Application Lifecycle Management (ALM) that it can augment the base framework and really bring value to customers who want and need advanced development tools to get the job done, get it done right, get it to specification, and allow for any methodology they would want to use. So by augmenting the Eclipse project with extensive framework knowledge, 20 plus years of ALM practice, and a large group of developers who are passionate about what a great product can do for them, Borland is helping define the future.

The last area of interest to most people is the support for the developer who has to take advantage of these advanced features. Since has been a staple of Borland for so long, it is no surprise that it supports multiple components and wizards for tools like Borland Windows' platform, Delphi that supports for Win32 and .NET, C++, and C#. It also comes with the latest support for JDBC in a type 4 driver, which is fully JDBC 2.0 compliant. However, we at Borland understand that not everybody is going to use Borland development tools; we wish they would but they don't, so we have added additional great features for developers to control the no matter the development products being used. Things like dependency tracking of UDFs (User Defined Functions), XML data generation for enhanced support for XML based applications, SQL Rows support, and programmable services to help administer and monitor the database when it's deployed. All of these features are just starting to scratch the surface of what makes InterBase an awesome product.

With that statement, "helping to define the future" brings this article full circle, because it started by answering a question with a question, "What is development?" That is the answer to why Borland is moving towards Eclipse...to be effective today, you need to have a stable framework to build upon, and so you need maturity. It has to have the ability to evolve as the marketplace and underlying technology changes and finally it must have the ability to be augmented. Eclipse has all of the criteria and by not having to focus a good number of developers on the underlying framework, Borland can focus on how make development easier than it has ever been. These are same reasons used in the past at Borland to drop existing IDE frameworks, so that advantages for our customers could be realized. First by embracing some of the ideas behind Eclipse, and then by extending them to the entire ALM process, we can help our customer's deliver better software, faster. By helping our customer deliver more through superior integration and additional tools, we can bring our dream of Software Delivery Optimization (SDO) to fruition faster and help the entire systems world move to a better place with more consistent results. That is why Borland is embracing Eclipse.

------

Mike Rozlog is Borland Software Corporation's chief technical architect. For the past seven years, he has held a number of positions at Borland before becoming the chief technical architect. He spends a great deal of time thoroughly discussing and explaining all technical and business aspects of Borland products and services to audiences and analysts worldwide. If you get a chance, check out his blog at Borland, (http://blogs.borland.com/MichaelRozlog/) which he is just getting started. He has been published many times, and his latest collaboration is Mastering JBuilder from John Wiley & Sons, Inc.