|
Multiple Language Support
The Understand 2.0 parser supports multiple languages*.
This is a major improvement in flexibility and usability.
In the previous version, a single license supported just one language.
For example, if you had to analyze C++ code and Java code you needed two separate licenses,
one of Understand for C++, and another of Understand for Java.
Now in 2.0, in most cases, one license allows you to parse code in all the most common programming languages
(see info about L1 and L2 language sets...).
*Note: Only L1 and L2 licenses support multiple languages. See moreā¦
Support for C#
Understand 2.0 now supports the increasingly popular C# language, a
capability many users have requested. Additionally, the PLM 80 and PLM 86
languages are now supported.
Combined Language Analysis
Even more important, Understand 2.0 now has Combined Language Analysis
(CLA). With CLA, you can handle code bases written in multiple languages,
such as C++ and Java, or Ada combined with FORTRAN. Combined code only needs
to be parsed one time, instead of parsing for each language present in the
source. Moreover, once parsing is done Understand 2.0 shows the dependence
between parts of the code written in different languages. CLA make it easy
to follow the calls.
New Editor
Our goal for the Understand 2.0 editor was to provide something equal to the
top programming editors, but also give it lots of features for maintaining
and understanding code. And that's what we've achieved -- the best
programming editor for maintaining code.
The new Understand editor has all the features you'd expect, such as syntax
colorization, auto-completion and syntax-based collapsing & folding. We've
also expanded the way we show C-preprocessing regions (in the C portion of
the editor) where before we used to identify them just by color. Now you
can hide or show active & inactive regions. This is a huge benefit for
users working extensively with the C-preprocessor.
The biggest addition is the "browse mode", which essentially turns the
editor into a web browser for code. Essentially, Understand 2.0 shifts from
the editing mode to browsing, and as you move around in the code it pushes
information about it to you as you work. This makes understanding your code
very easy, just click on what you want to know about and all the information
is right readily available.
New, Streamlined Interface
We've totally rewritten the Understand 2.0 GUI, folding in modern features
like tabs, tab groups and docking, to name a few and bringing it all up to
date.
Function is much improved, especially on Linux and Unix/X11, and
there is a native Apple OSX port.
Understand 2.0 lets you create your own customized workspace to organize
information, palettes, source code, etc. Unlike the previous version, which
made you choose between separate windows (SDI model) or an all-in-one window
(MDI model), this GUI operates in a whole new way. Now you can put windows
anywhere you want. You can place windows inside other windows. You can
drag them out and put them on another monitor. Whatever works best for the
job you're doing.
Multiple Monitor Support
We've also added very robust, smart support for multiple monitors. Now
Understand supports any number of monitors. Monitor configurations can be
easily changed, and it adapts automatically. Many of our customers were
asking for this, and all our own engineers are using two or three monitors,
so we figured this was pretty important. After all, when you're maintaining
code, the more you can see the better.
See an example from one of our engineers
Improved Diff
Understand's "diffing" function is quite powerful, and since it is
integrated into the application, all the code navigation features available
with it. This makes it much easier for you to find things and focus on what
you need to do. Its visual overlay system identifies changes at a glance.
It also performs "character diffing", highlights individual characters that
are different from one place to the next, and immensely useful advantage.
Everything is integrated at the menu level, which makes finding functions or
classes, and diffing them from others, quick and easy.
File and Folder Comparing
This feature lets you compare entities, files and folders. This becomes very
useful when you have sections of code or functions that are similar.
By comparing entities, you can quickly see why one is working and the other
isn't, or if you can combine them. Comparing files works great for merging
in changes that others have made to the code. And comparing folders tells
what files are new, which ones aren't in the newest version, and files that
are different between versions. None of this requires a parse, which makes
it very fast.
Faster Find in Files
We've sped this up dramatically. The Find Files function in Understand 2.0
is 2 or 3 times faster than in the previous version. It also gives you new
ways to specify your search regions, so that you can search smarter. Now
you can search multiple directories, and you can specify multiple
directories to search. You can search open files and project files. All
searches can be saved, and you can even search within search results.
Searching on "Architectures" (another new feature in 2.0) is particularly
valuable. For instance, after you change functions or entities in your
code, you can easily search for parts of code that depend on those changes.
Even if you're working on a multi-million SLOC code base, this kind of smart
functionality means you can intelligently limit your searches to just a few
thousand line of code, which speeds up your work flow.
|