Borland's Kylix: turbocharging Linux development
The Long Learning Curve, But Worth It

Scott Courtney
Monday, April 9, 2001 08:30:07 AM
I am always somewhat amused by the product reviews that talk about a "steep" learning
curve, when they mean that something is difficult to learn. Since time is usually the
horizontal axis on a learning curve, steep curves actually mean a rapid increase in
knowledge. To be perfectly clear, I will say that Kylix probably has a long, rather than
steep, learning curve for users who don't already know Delphi. The GUI equivalent of
"Hello, World" can be created in a couple of minutes with almost no coding, but there are
a lot of steps needed in creating a useful application. Anyone who claims otherwise has
been sniffing too much advertising ink.
This isn't meant as a criticism of Kylix, but rather as a reality check for project
managers who think that you can just hand a RAD tool like this to a programmer and get
instant productivity. Kylix is a serious tool, and learning to use it well involves
patience and practice. Pascal was designed as a learner's language to teach structured
programming. It provides a forgiving, simple syntax while avoiding the brain rot that
comes from using BASIC. As such, it is a quick language for programmers to learn, but it
is still different from what most Linux programmers know today. Little syntax quirks, like
using ":=" for assignment and "=" for comparison, require some mental gymnastics for
programmers who are used to C-like syntax in such languages as Java and PHP.
To this one must add the sheer volume of classes in the Kylix environment. No matter
what you need to do, there is probably a class that implements at least a portion of the
functionality -- in this way, Kylix is very much like Java, in that both have very rich
standard class libraries. Also similar to Java is the way in which the Kylix developers
have given careful thought to the abstract concepts such as collections and
exceptions. There is an elegance to the class tree that will make it more adaptable to
future developments such as new GUI components or new Internet protocols. Yet this
flexibility bears a price tag in the form of increased learning effort.
Kylix is not difficult to learn, but neither is it intuitively simple. Nor is it
suitable for a true novice programmer, in my opinion. This reality, though, does not
diminish its value as a serious tool for a professional developer. If you are moving to
Linux from a Windows environment, using either Delphi or Visual BASIC, then buying Kylix
should be a no-brainer. For programmers who need to develop sophisticated,
high-performance code where the user interface is only a small part of the project, Kylix
may not be the right way to go. On the other hand, for a corporate developer writing
vertical applications -- especially for in-house use in an environment where many such
applications are needed in a short time -- Kylix is a splendid choice.
« Back: Not Your Father's TurboPascal