By Mike Rozlog of Borland: Why Is Borland Moving Towards Eclipse?
By Mike Rozlog of Borland: Why Is Borland Moving Towards Eclipse?
By Mike Rozlog of Borland: Why Is Borland Moving Towards Eclipse?
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 understand 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 Java 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 C++ product. It basically gave you the ability to have syntax highlighting, and the ability
to call the compiler. 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 Delphi 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 APIs 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 InterBase 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 Object Pascal 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 database 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.