Why you should be thinking about developing in Clarion for .Net
Why should you be thinking about developing in .NET? Well there are many compelling reasons, but I'm starting from the point of view of accepting that .NET is clearly part of the future for Windows developers. And no, that doesn't mean Clarion native code is going away. We're planning to continue to develop our Clarion compiler and tools for native code, we know that our customers want us to, and there are many good reasons to have both native and managed code tools available.
But if the MS marketing machine hasn't already convinced you of the value of .NET, then let me point out some very good reasons for embracing Clarion.Net.
Language Compatibility
Using Clarion.Net and the Clarion# language the learning curve for moving to .Net is just a small bump in the road. Clarion# is the language that you know and love, extended to take full advantage of the .Net Framework. Yes, under the hood a .NET assembly (DLL or EXE) is all objects, but Clarion# lets you program using whatever style you prefer. Do you prefer to code using friendly and familiar Procedures and Routines? No problem, they are fully supported. Do you like the familiar FILE structures, the TopSpeed driver, Queues, Report structures, Groups, the Entry Control, the List control, etc.? No problem, you have all of those too.
As just one example of language compatibility, you can literally take FILE processing code you wrote for Clarion for DOS, and copy it right into your Clarion .NET program, and it runs just as expected. And thats true for Queues, Reports, and just about any other Clarion code that doesn't do direct memory access.
Data Compatibility
You can run your Clarion.Net application side-by-side with your C7, C6, C5, C4, C2 and C1 apps, sharing the same data file. If you use Clarion .dat files then you can include CPD 2.110 running on DOS to the list. Imagine that! An unbroken data pedigree running back to the DOS days.
Multi-Platform
With Clarion.Net you can build Desktop applications for any OS that supports .Net 2.0 or higher,
build Web applications using ASP.Net and run them under IIS or Apache, and build applications for any Windows Mobile powered device, such as the PDA's from Palm, HP, Dell and many others, and on phones from Samsung, Motorola, HTEC and many more.
Platform Potential
All .NET compilers produce Intermediate Language (IL), and IL is generic, it is not tied to a particular CPU or hardware platform. IL is specifically built with other platforms in mind. For example on Linux, there is the Mono project and in the future, other platforms will likely implement IL execution as well.
Mono, if you weren't already aware is an implementation of the .NET Framework for Linux that allows managed .NET code to execute on Linux. Mono is exciting because it demonstrates that .NET itself is available on other operating systems. Mono already supports ASP.Net quite nicely, and has come a long way towards completing WinForm support.
64bit Platforms
With .NET, its possible to move into the 64 bit world and take advantage of the faster processing power without recompiling, redesigning, or even redistributing your software.
Unified API
Let's face it, the Windows API is a not very well organized collection of subsystems that evolved over 15 or more years, put together by different teams whose goal was to make it work without too much emphasis on consistency.
One of the best things Microsoft did with the .NET Framework is to insulate the programmer from the Windows API (as for example in WinForms), and to wrap subsystems with objects that have easy to use interfaces. Clarion of course has already insulated programmers from the API that deals with developing GUI applications, and the .NET Framework just takes it to the next level.
.NET boosts developer efficiency, as developers program to just one common API.
Now, as the OS API changes and develops it's Microsofts headache to maintain the Framework library, and we leverage this and get all the benefits of their work.
The Framework Library
Don't underestimate the importance of the .NET Framework library: we finally have a single library in Windows available for all .NET languages. A Library with over 28,000 types! No more reinventing the wheel, unless you want to. Whatever you want your application to do, there is a very good chance that lots of the hard work has already been done for you. The Clarion# language makes all of the Framework library functionality available to you.
.NET Language Neutrality
You may have heard it said that .NET is language neutral. But .NET is more than just language neutral. .NET brings all .NET languages together through the CLR (Common Language Runtime) and the CTS (Common Type System). The CLR and CTS allow all the .NET languages to use assemblies (DLLs or EXEs) produced by other languages as if they were produced by the same language.
We no longer have to deal with the translation of parameter types, calling conventions, or naming conventions. Now, C# users can use modules produced by Clarion# developers, Visual Basic users can use modules produced by Clarion# developers, and vice versa, Clarion# developers can use any module from any other .NET language. Now that the object model is the same for all languages, it's trivial to combine modules written in Clarion#, C#, C++, VB.Net, COBOL.Net, and many other .NET languages.
Minimal .NET Education
.NET does require some re-education and changes to developer techniques. But the same conceptual changes existed when developers moved from DOS to Windows. Working with Clarion# you will learn the .NET framework, largely from just reading the code the Templates generate.
Some time must be allowed for learning about Winforms, Web Forms and Compact Forms, but the time invested will quickly pay off. And these new techniques are best of breed practices that applications will benefit from anyways.
Sizzle
Not all of .NET is about eye-candy, but we all know that eye-candy helps to sell our applications. With Clarion.Net you have a whole world of fancy and functional controls at your fingertips, both free and commercial, and you can even design and create your own controls.
Migration
Do you have to redesign your application from the ground up? No, you don't. But you should look at some key areas and consider altering them to operate under the new paradigms so that they will run properly, and efficiently.
Final Word
.NET will be in your future, and it brings a lot to the table - so the sooner you make the first step into the Clarion.Net IDE and Clarion# language, the better. You can leverage your Clarion knowledge plus Microsoft's own .NET "momentum" to widen your market presence and boost your platform of choice.
Learning to build Clarion.Net applications makes you a part of the future not just for the Windows desktop platform, but for Web and Mobile platforms too, and Clarion makes it possible to do it without re-inventing yourself. If you begin working with Clarion.Net now, you can plan for a smooth integration with your Win32 applications or a migration, and you will reap many benefits.
Clarion is now tied firmly into the future of mainstream language development, running in parallel with all other major languages. With Clarion.Net, we now offer the easiest and most efficient path from Win32 to .NET.
SoftVelocity Inc.