Eclipse CDT: Reshaping the C/C++ Tools Market
- By John K. Waters
If Eclipse Foundation executive director Mike Milinkovich has said it once,
he's said it a thousand times (to us, anyway): Eclipse is not just about Java.
Maybe the recently announced fourth release of the foundation's C/C++ Development
Tools (CDT) project—a project that has been under way and widely supported
since 2002—will finally get that message across.
The CDT 3.0 platform for building C/C++ development tools, now available under
the Common Public License, is designed to deliver improved scalability, performance
and extensibility to developers targeting embedded systems and Linux environments.
It has been adopted as the C/C++ tools platform by a number of embedded and
Linux vendors, including IBM, Intel, MontaVista, Novell SUSE, PalmSource, QNX,
Tensilica, Texas Instruments and TimeSys.
In a way, the CDT project actually predates the Eclipse Foundation. QNX Software
Systems, a provider of real-time operating system software, development tools,
and services for embedded design, has been working on it since late 2000; the
Foundation wasn't launched until November 2001.
"We didn't have an IDE of our own," says Sebastien Marineau, QNX
director of operating systems development, and project lead for the Eclipse
CDT Project. "We relied on partners. Eclipse provided us with the ability
to come out with an IDE for QNX, to be in control of our destiny, and, because
a lot of the infrastructure is part of Eclipse, to develop some advanced tools
with less effort than would have been possible in the past with a homegrown,
Marineau expects Eclipse to impact the C/C++ tools market in much the way it
has the market for Java tools: freeing toolmakers from the need to reinvent
basic functionality with each release, while forcing them to innovate up that
stack. The CDT is likely to be especially market-changing in the embedded development
space, he says.
"The embedded space has traditionally had a very fragmented tools market,"
he says. "But in the last three years the landscape for embedded tools
has changed dramatically. Eclipse has allowed us to agree to work together on
a common infrastructure, and that has freed up resources so we can all focus
on specialized tools that will add value for our customers."
The CDT is also likely to affect Linux development, where development tools
have been less than stellar. Marineau points to the number of Linux vendors
who are now shipping or planning to ship commercial products based in the CDT.
The CDT Project provides a functional and extensible C and C++ IDE for the
Eclipse platform. New features in the 3.0 version include:
- Improved C/C++ parser performance and speed
- A more powerful language model in the form of a document object model,
making everything from the C/C++ outliner to searching and refactoring more
accessible to plug-in developers
- Source indexers that are now pluggable components, allowing users to select
from no indexing, CTags utility-based indexing and CDT parser-based indexing
- Enhanced managed build system configuration, which offers full control
over the output artifact and extension, pre- and post-build command execution,
and per-project and configuration environment variable settings
- Build environment control, allowing developers to fully configure environmental
variables when launching external build commands. (The settings are configurable
through the standard make and managed build C/C++ project properties, or can
be set when creating new projects from the new C/C++ project wizard.)
- Increased support for tool integrators: The managed build system is designed
to deliver better support for those who extend CDT, including ISVs and OEMs.
For more information on CDT Project downloads, go to: www.eclipse.org/cdt.
John K. Waters is a freelance writer based in Silicon Valley. He can be reached