Jump to content

Talk:Clarion (programming language)

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 196.203.7.3 (talk) at 12:17, 18 May 2007 (This is an encyclopedia, *NOT* a marketing or support tool). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

This is an encyclopedia, *NOT* a marketing or support tool

As an INDEPENDENT software developer, who lives in Bolivia (not having any kind of business with the tool vendor), I say that's true...Clarion has unmatched productivity (I went to a .Net seminar, where the whole application functionality, delaying the complete course in Visual Studio, I could have it done in 30 mins)...

it has shortcomings also, regarding the lack of being able to generate .Net , being only capable of generating Win32 apps. However, there will be a next version that supposedly will do this, the version is delaying too long, anyway.


In my case, for an expert system solving an specific industry problem, any option outside Clarion would mean more re$ources to get the job done.

So, in short, for developing win32 apps, IT'S THE BEST HANDS DOWN. You can connext to any backend easily, so it can be used to develop bigger apps. For web apps, it can be done, but it's still limited.

Again. It's not the best for everything, but it's the best BY FAR for developing win32 apps, and if the next version is capable of generating .Net as well as it generates win32, it would be a killer development for .Net too. Cribera 19:31, 26 March 2007 (UTC)cribera[reply]


75.209.109.109 08:18, 14 February 2007 (UTC) Let's get the fluff out and use an acceptable temaplate for this article. Thank you![reply]

If you have a problem, please then SUPPLY an "acceptable template" for use so we can get this article sorted out. I have not one or I would have posted it here before, so I would like you to put your money where your comments are and supply one here, or stop posting on the issue if you have only problems to raise without a decent solution. Thank you.(And please sign your posts so we know who you are...)Riebens 15:53, 21 February 2007 (UTC)[reply]


Hello i'm From tunisia (North Africa) i'm using Clarion since 1993 (DOS, Clarion 2, and now Clarion 6.3)

i's really a very good tool, for busness aplications, we hope only that we can have more documentation and examples.

Ahmed Abdelmoumen

Historical comments

This article seems like a big marketing attempt. It feels like it was all written by someone trying to sell me on the language and related products. To make it more objective, someone should include perhaps some criticisms or shortfalls of the language, major users of it, etc. --unsigned posted by User:71.213.114.125 July 2006

Probably becaause most postings are made by users of the language who happen to think it's better than most other languages for many applications. However note in the article the comment Not so mysteriously, TopSpeed elected to skip the dreaded version number three - which in fact was so bad that I stopped using the language for some time. Nevertheless they recovered from that disaster. --Brat32 19:45, 27 July 2006 (UTC)[reply]
Another consideration is the amount of third party support for Clarion. There are abundant add-ons which extend the language functionality by adding templates and features. Because of this, and because Clarion is somewhat of a niche language, this article has numerous external links. I might agree, that if the same were to be applied for Visual Basic, for example, it would be unnaceptable, and would result in a mass of spam links which would have to be removed. At this point, it seems to me that the number of links is still justified. --Brat32 20:29, 27 July 2006 (UTC)[reply]
I don't know if there were substantial changes since this original comment about the POV was made, but it still reads a little biased in my eyes so I've placed {{POV}} on the article. —Locke Coletc 20:33, 25 December 2006 (UTC)[reply]

As a user of the Clarion programming language for more than 15 years (and previous user of dBase, Clipper, FoxBase, FoxPro, Powerbuilder, Symantec Enterprise Developer and various dialects of BASIC, not to mention Z80 and 8086 Assembler, for more than an additional 20 years) the Clarion page is in my mind fairly neutral. Granted there are not a lot of Clarion developers in the world, especially when you compare it to the populations of other developers, but in large part this is due to the fact that the various entities that have owned the language over the years have simply failed to market the product successfully.

Yes, the product does have it's warts, what product doesn't? The major drawbacks to the current version are: lack of a 32 bit development environment that allows design time expression of OCXs or other COM components. The 16 bit development environment does not allow the developer to work on more than one application at a time and restricts certain functionality through the use of system modal windows. There are also limitations to the number of controls that can be populated on a window due to constraints imposed by memory pool size relative to 16 bit architecture. In light of the release of Windows Vista, the Clarion help system is .HLP (WinHelp based) and will not be able to be displayed since Microsoft has eliminted support for the .HLP file format in Vista.

Most of the problems with the existing product appear to stem from poor management of the company that owns the product rather than the language itself.

On a more positive note, the Clarion template language allows developers to customize the fuctionality of the development environment by generating any kind of source code the developer desires, provided they wish to write templates to do so. There are currently templates available to output ASP, PHP, and Clarion source. Other developers have also embarked on open source template projects to output Perl, Java and C++ for compilation and execution on other platforms besides Windows.

Most developers who use Clarion, including myself, prefer to take advantage of the power of the template code generation functionality as opposed to writing Clarion language code in an editor. The primary reason for this is that code generated by the templates has the distinct advantage of having been 'pre-tested' in many thousands of applications by many thousands of developers since the release of Clarion for Windows in October 1994. This provides a very tangible advantage over writing code in other languages (or writing Clarion code by hand) as the software development cycle can be exceedingly abbreviated since template generated code can be trusted to work the same every time it is generated.

Also, although there are other code generation technologies available for other development environments, in nearly all other cases the developer can only take advantage of code generation in a project one time. Clarion allows you to generate code for your product throughout the development life-cycle without overwriting or destroying any modifications made to the generated code by use of what are called embed points within the template / application generator interface.

From the standpoint of the pure Clarion language itself, Clarion code that was written in the Clarion Professional Developer (DOS based product), especially code for batch processing, can easily be ported to Windows with an astounding 95 percent compatibility. The language itself is very syntactically simple and at the same time very robust in its functionality. Most of the changes between the DOS based versions of Clarion and Clarion for Windows had to do with the user interface statements to define display structures and event loop processing, known as the ACCEPT loop, to handle the processing of the controls on the screen.

Unlike other Windows based programming languages, Clarion (right out of the box) allows you to code, compile and link fully stand alone, royalty and runtime free executables (including DLLs), not dependent upon any Microsoft components (aside from operating system functionality) which can connect to virtually any kind of data file: ASCII, CSV, Binary, 2 proprietary Clarion file formats, .DAT (native Clarion) and .TPS (Topspeed) as well as ODBC SQL (and native, accelerated drivers for MS SQL and Oracle), ADO, XML and others. This lack of dependence upon Microsoft components also eliminates the dreaded 'DLL Hell' scenarios that so often appear when using Microsoft development tools.

The best way to describe Clarion development is that it is 'data-centric' and 'database-neutral' in that the development paradigm is focused on the structure of the data first by virtue of the Clarion Data Dictionary and then by use of the Clarion Application Generator and template set (Clarion legacy or Clarion ABC) to effect the presentation of the previously defined data structures. The reason this paradigm is so successful in developing business applications is because business applications are focused around data and development using other software languages tends not to focus on data structures but upon the presentation layer instead.

The 'database neutrality' comes from the fact that by using the replacable Clarion database drivers you can connect to virtually any type of data file and use the same data file access commands in the Clarion language to access the data. This helps to eliminate the confusion developers might face if they move from an ISAM based data file to one of the SQL RDBMS systems. In Clarion code the commands to retreive the data would be the same in both cases. The database drivers automatically translate the Clarion file access commands to the appropriate native commands to access the actual data.

Many languages have come and gone, Microsoft has changed the Visual Basic (more than once) in such ways as to 'break' existing code, file formats have come in and out of favor, but the Clarion language (and related development environments) has stood the test of time for more than 20 years. That's a long time for a development language to be consistent. Bruce Barrington was visionary in his creation of the language and the expression thereof. BenEBrady 15:44, 29 December 2006 (UTC)[reply]

I am very surprised, and then again NOT, to find this article POV'd. Clarion as a language and as a means of earning a living, has always had very emotional and negative comments from ex-Clarion users and non-Clarion users.

I thought the article was a nice description of the Product, the Language and the Loyalty inspired by the Clarion phenomena. The harder you love, the bigger the hate when the love wears away.

The following comes from the document : WHY CLARION, A layman’s guide to the merits of Clarion for Windows Published on 11 July 2003 by Topspeed Corporation

…and holds mostly true till this day….

Clarion developers love the Clarion language. It is easy to learn, easy to write, and easy to read. Concise but clear, simple yet powerful. The Clarion language was designed specifically for writing Windows Business Programs.

Clarion is the only Windows language with built-in support for database access. It is the only Windows language with built-in support for printing reports. As amazing as this sounds, Clarion is the only Windows language with accurate business math. In fact, Clarion arithmetic produces perfect results of up to 31 decimal digits without introducing rounding errors.

Whether you are a Programmer, Information Systems Manager, Consulting Client or a Development Executive, Clarion for Windows™ is the most efficient, professional and economical solution in the marketplace today!

As only Clarion users can really tell you the truth about Clarion, and as the user User-71.213.114.125 requested:

I am a Business Owner with 27 Software Products in the Agricultural, Financial, Logistical and Military environments. These Clarion Developed Products are up to 18 years old and others that are less than a year old, and they all still makes me money, satisfy my customer's needs and are easy to maintain and upgrade with changes in technology, environments and customer requirements using only 3 programmers.

I have played with many other development products that came along, new languages and other RAD Environments, but my only Commercial RAD Environment stays the Clarion RAD environment as it allows me to develop and release projects nearly faster than the ink can dry on the contracts.

I know BenEBrady – he is a well respected Clarion Developer, I am a Certified Clarion Developer, but I don’t know User-71.213.114.125 and I don’t know User- Locke Cole, both of whom objected to this article. If I knew their backgrounds and expertise, I may be able to better respond to their objections to this article.Riebens 19:09, 29 December 2006 (UTC)[reply]

The article is not only biased it is inaccurate. Clarion is a 3GL, general purpose imperative programming language. SQL and ADO are not data base formats. There are a couple of other problems with the text. The first comment about the article being a sales pitch is fairly accurate. Dennis E Evans 01:52, 30 December 2006 (UTC)[reply]

Maybe we should split the language from the development environment, both of which are referred to as Clarion. The Language may be 3GL, but the Clarion Development Environment is definitely 4GL.

PLEASE read the pages on 4GL languages http://en.wikipedia.org/wiki/4GL and on http://www.soi.city.ac.uk/~tony/dbms/4ges.html. Any 4GL environment will have 3GL aspects to it, especially in the language part where the abstraction is already at a very high level.

The mention of SQL and ADO ad database formats is definitely wrong. This should be fixed to indicate data access languages and/or objects.Riebens 14:07, 30 December 2006 (UTC)[reply]

The first link does not provide a reasonable definition of a 4GL. The second link provided attempts to define something called a Fourth Generation Environment (4GE), not sure what happened to the first three or how they are defined. I’m not even sure there is such a thing as a 4GE. Assuming the definition of a 4GE from the second link is correct then Clarion is not fourth generation. The Clarion environment lacks an end user query tool, a data base management system and a report generator, the link claims these are typical parts of a 4GE. The Clarion environment does contain a dictionary but it does not meet what the link calls a comprehensive dictionary. Clarion is a good tool and good programming language, but it is not a fourth generation language. Dennis E Evans 22:28, 30 December 2006 (UTC)[reply]

In spirit of being more accurate, I have edited the main article with respect to the data access methods supported and clarified the various types of data files Clarion supports. Perhaps a better definition of the 'generations' of programming languages is found here: http://searchsmb.techtarget.com/sDefinition/0,,sid44_gci211502,00.html The Clarion language definitely fits the definition of a 4GL and given the definitions refereced in the above stated link, the Clarion development environment certainly categorizes it as a 5GL. Ben E. Brady 15:55, 2 January 2007 (UTC)[reply]

Joseph James Frantz-->> I am a former Clarion Developer (back from the DOS days). I had gotten out of programming which is the only reason I stopped using Clarion. Recently I have started programming again at my job. My initial desire was to go with Clarion. Softvelocity allowed me updgrade for a very reasonable price though I had not used since DOS. I ultimately decided not to use Clarion for three reasons. First, I realized shortly after my installs, that the programs it produced were 16bit which is unacceptable in today's 32 & 64 bit environments. Second, I had begun my migration to GNU/Linux at that time which is currently unsupported by Softvelocity. Lastly, it is of course closed source.

However this in no way changes the truth of the article in question. Yes it does sound like a sales pitch. Quite often a product does not live up to its sales hype. But if the sales pitch states facts, then so be it. Other than the 16bit issue, Clarion is one product that does live up to its hype. Within a few days of receiving Clarion for the first time, I was able to deliver a fully running app to a client.

With Clarion, you can create your own templates which will output code in any language (finally...they should have created templates in other languages ages ago). The templates can be designed in such a manner that the generated code will only contain necessary sections. If something is not use, the code is not generated. In addition, within the template (and with the templates that come with clarion) you can place code hooks. So that as you design an application in the Visual IDE, you can insert custom code at those locations. Find yourself often inputing the same code at the same code hook locations? Well just add that code to the app. If you are not fully sure you will use it forever, you can create a switch in the template that will leave that section of code (or any other) turned on or off by default. Then in the IDE you will get a dialog with which you can change the settings. No more generating code, then modifying it, and praying you do not have to regenerate code at a later time, thus overwriting your output.

As to the Clarion language and the Data Access statements. Well maybe some of the folks did not use exactly the right technical terminology. However the fact is still the same. If I write a Clarion program using Clarion data access, in one file system, then later wish to change to another file system...my Clarion code can remain the same. The Clarion Language is clean, readable and geared specifically towards businesses and data. It is very easy to maintain including generated code.

If Clarion ever makes the move to 32bit/64bit and GNU/Linux (even on Wine), open or not, I will move back.

68.99.156.37 17:10, 4 January 2007 (UTC)Joseph James Frantz of Cleveland Ohio.[reply]

I have tried Clarion since 1998. I have found it very hard to use. I have been a programmer for over 30 years and am not sure why I am having problems. I have purchased both training CDs (at about $400 each). Still, I found Clarion hard to use. I have version 4, 5, 5.5 and 6. Still I keep trying. I think that the the Wikipedia article should indicate that the training material is poor.

-->>

Clarion has generated 32bit programs for some time, unfortunately earlier versions defaulted to 16bit programs. The Project selection needed to be changed for 32bit, this was not known to some beginning users. Current versions do not generate 16bit anymore.

The development environment window is still 16bit, but that does not effect the progam generation. It does limit the maximum size of dictionaries and procedures, but the limit is high enough for most usage. I have had no problems running it under Windows XP and 2000.

The Clarion development system can be used at whatever level the user chooses, from automatic program generation to low level manual coding. Using low level coding, or writing custom templates for the code generators, requires additional training. Much documentation and training is available, including a subscription "Webzine" publication. --Carl W Sumner 20:34, 12 January 2007 (UTC)[reply]

Clarion is GREAT! More is yet to come. Just wait guys!

I like Clarion, it is easy to program an application. I still have applications that is running on Clarion 2.0 for DOS (I wrote them in 1992 or 1993). I agree that the trainning material is not very good, but Clarion is still a good development tools. I have use it accessing DB2 on an IBM i-series (or AS/400 or IBM system i), it works fine.

I am from Honduras. I have been using Clarion since 1992 and I still use it. I started with Clarion 2.0 for DOS then I jumped to Clarion 5.5 and now Clarion 6.3 and I'm waiting for the next major version. The article about Clarion is pretty good, I think it lacks additional information about this good programming language.