What does Clarion.NET *really* offer over C#? ![Rated Excellent [5 out of 5].](/community/Themes/default/images/Star5.gif)
What does Clarion.Net *really* offer over C# or put another way I might ask how
do you go about choosing which .Net language to develop in? If I were to compare two languages to decide
which one is better, the most important factor for me is the runtime libraries
delivered with the language. To be really productive with a language means
mastering the supporting libraries and classes, and that mastery is the result
of experience. Learning
the syntax of
any language is not much of a problem. But knowing the functions and
classes
that exist in the runtime library is more important then syntax because
that
knowledge can save you hours (or even days) of coding. And
having a runtime library suited for a specific task (creating
database applications) is equally important.
Now consider the .Net
libraries and classes. All .Net
languages use the same .Net Framework Class Library (FCL). For us developers this means whether you
develop in Clarion.Net, C# or VB.Net, when you display a window or a dialog box
you are getting a Winform created from the System.Windows.Forms.Form namespace
of the .NET framework class library (FCL).
And a Winform has the same methods, properties and events available
regardless of the language used to create it.
So
does it matter which language you choose for your .NET development? Yes, it definitely matters. Why? Because two different languages that both support the .NET framework are just
that, different. The important
difference is the runtime libraries. Clarion.Net
has full support for the .NET FCL, just as any first-class .NET language must, but
it also has the .NET version of the Clarion runtime library (RTL), which means
it has the familiar built-in data access methods, the Clarion database Drivers,
the View Engine, the Report engine, Queues, Groups, and everything else that defines Clarion.
So
what does Clarion.Net really offer over C# or VB.Net? Here’s my answer to that question.
1)
A Runtime library that you already know (and one that’s been designed for building
database applications).
Clarion
knowledge and experience transfer quite nicely to Clarion.Net. So much so, that even if you learned Clarion
back in the days of DOS, dropped out of development and just came back
recently, your knowledge of the Clarion RTL would make you immediately
comfortable and productive in the .Net world.
2) A language
designed for Database Applications
Clarion
was designed from day one to build business applications, the same can’t be
said about general purpose languages. And
using Clarion.Net you have complete flexibility to code it your way, using PROCEDURES
and ROUTINES, or completely Class-based code, or a mix of the two.
But I’d guess that at this
point many of you are raising your hand and shouting “wait you forgot the most
important thing!” And you’re right, because
I haven’t mentioned Clarion’s ace-in-the-hole, its legacy and trademark feature;
Code Generation.
Even if all other things are
equal, the productivity gains that the Application Generator and the Templates
deliver tip the scales heavily in favor of the Clarion language and IDE. Take a Clarion developer familiar with the
Win32 version of the RTL, add just a little
bit of new knowledge on the .Net changes in the RTL, and point at a spec for
any database application. The Clarion developer will complete the .Net application significantly
faster, and with much less custom code than any VB.Net or C# developer. And did I mention ongoing maintenance of the application? I'll leave that subject for another post.
One final comment, there are other
code gen products out there today, and still others coming that will do their very
best to mimic Clarion. But don't be fooled, twenty years
experience in Code Gen technology is not something you pickup at the local
grocer. If
you look at any of those
other products you’ll find they don’t support round-trip code
generation, you
generate and use it, or you re-generate and start making your changes
all over
again. And they also don’t integrate with a Data Dictionary. The Templates,
if they even exist, are a watered down imitation of what you’re
accustomed to. They don't have the concept of .App and .Dct files,
and
most important from where I sit, they don’t do the Clarion language!
What
do you think? You can post a comment
right here, or sound off over in the Clarion.Net forum.