Lifespan of clarion

Totally agree with this.

Perhaps it’s because I’ve inherited a project which wasn’t set up correctly in the first place, but my experience of trying to maintain a commercial product (even with C11) has been a total nightmare.

Everything is more complicated than it needs to be - simple file operations are painful in Clarion, implementing new windows break references throughout a multi-dll project, and the compiler will randomly corrupt or alter references within modules which take hours to sort, or require reverting and re-editing code.

Window control location edits which don’t save themselves because the IDE doesn’t recognise changes, random colour and text issues…

The debugger is a joke compared to “proper” in-line debuggers which have been happily used since the 90s. Also missing are frustratingly simple functions like being able to identify and open referenced code in other forms/projects, so unless you have quite simple projects (or know them off the top of your head) you can’t quickly make edits and follow code paths.

The worst crime for me is the TPS file format - precluding any possibility of practical interfacing with other programs (yes I’m aware it can be done, but not well). Migrating the code base away from the TPS files would be equally painful.

For those saying you could make a great cloud-based app, ASP and other .net technologies knock everything Clarion can do out of the park. It’s so easy, well-supported and well-documented not just by Microsoft but whole communities of developers, with thousands of plugins and add-ons available for free.

To be frank, VB6 makes C11 look antiquated and over-complicated.

1 Like

Hi Harvey

I don’t want to appear to be an apologist for Clarion but suffice to say your poor experience with Clarion bears no resemblance to mine (or many other developers I know).

Clarion over the years has enabled me to write and maintain large systems with millions of lines of code. Sure I’ve sometimes had problems and frustrations but they pale into insignificance compared to what can be achieved by someone who knows what they are doing - and sure part of that is no doubt knowing “the Clarion way” including what to avoid.

In Clarion circles some people refer to the road or highway through the swamp. This is a reference to an article by David Bayliss originally published in Clarion Online back in 1997:

http://www.dabhand.org/OldStuff/nobugs.htm

in it DAB says “The result is that any mainstream application will have a selection of heavily trafficked well-tested pathways, and vast acres of uncharted, bug-ridden swamp. Which is actually OK. Driving on a highway through a swamp is relatively safe, provided you know where the road is. Of course the people who don’t know where the road is … will simply charge off in the direction they wish to go and find they get bitten.”

many years back I knew someone who had a background in the Pick universe, using Advanced Revelation and (from memory) Open Insight. He had great difficultly using Clarion as he was still stuck in a different mind set.

having lots of 3rd party templates available often can give you a great boost in productivity and like Bruce (who is from Capesoft - probably the largest third party vendor) says, rumours of Clarion’s demise have been around for decades. And yet here we all are.

cheers

Geoff R

3 Likes

As I see it there are two problems with new users starting with Clarion:
The first is that they haven’t heard of it.
The second is they have to plunk down a minimum of $1,000 to even try it out. More likely $2,000.

That’s a bit rough when you can get a whole bunch of “competing” tools for free, or on a subscription model.

When I first started using a Clipper-based product called Mustang, it was also expensive to buy. But they had a licensing model that allowed me to pay per project that I was developing. By the time I had paid for the first 5 projects I had bought the full product. I think I managed 3 different projects until Windows took over from DOS and Clipper/dBase didn’t keep up. Now I use Microsoft Access and the Access version of Mustang, which had a more sensible approach: the product was free but you paid for the training.

So there are plenty of other business models available to SV. Maybe the Community Edition will come out this November. Probably not.

2 Likes

I have been using Clarion since the days of Clarion Personal Developer 1.0. people have asserted its demise since shortly thereafter. I am still working all the hours I want to work for multiple clients today, some still using the Clarion 5.0b compiler. Make your own decision about its future.

InfoWorld - Google Books

4 Likes

VB exists in two forms at Microsoft: VB.NET and VBA (Visual basic for Applications). Until Microsoft rips out its programming language from Office, it is still the same as VB6.

Then there’s this: https://www.mrlacey.com/2020/03/vbnet-is-done-not-dead.html

1 Like

As a long time user of Clarion, CFD 2.0 was my first, and have been developing application with all its versions for 29 years. For me it is the speed of development and the fact that with the Data Dictionary and Template language means that I can develop across multiple platforms. We are currently using Clarion 11 to create MSSQL database structures that can be accessed by our Clarion Windows applications and our PHP Laravel applications. I have templates that generate the Laravel Models so that our Windows and PHP are always synchronized. I don’t know many tools that would be able to do the same. Without the template language, I would have probably left Clarion a long time ago, but I am always finding new ways to create ne functionality that meets our requirements.

Ron

4 Likes

Good to see you here Ron

3 Likes

" I would have probably left Clarion a long time ago, but I am always finding new ways to create ne functionality that meets our requirements."

yes what is really needed is perhaps a change in the capital structure of clarion SV.

Splitting the technology into segments and opening up the template system to redevelopment in 64 bit.

Splitting the IDE away from the compiler.

Making it a lot easier for developers to create addon products.

SV should be promoting more development addons for the Template system and opening it up.

Perhaps spin the template language off and opening it up.

2 Likes

One of these days I will get back to my project which makes an open source version of the template language. I have the lex/yacc for the template language and the book I used in Univ. to write a compiler still applies. Lex & Yacc
So much coding, so little time… :slight_smile:

1 Like

AT least SV could open up some of the black boxes like

AWSS3Client.Connect PROCEDURE(STRING AccessKey, STRING SecretKey)
ptr LONG,AUTO
dotnet &ClaRunExtClass
ret &AWSS3Client
CODE
dotnet &= ClaRunExt.DotNet()
SELF.netCode = dotnet.ConnectToS3(AccessKey, SecretKey, SELF.lastError)
RETURN CHOOSE(SELF.netCode <> 0)

and put the Clarunext on github

this keeping everything under tight control days are well over with MS opening up their GUI and other technologies.

SV needs to make some progress towards letting developers ADD Value to the product.

Splitting the technology into segments and opening up the template system to redevelopment in 64 bit.

I Can’t see what advantage 64bit would be to the template language?

Splitting the IDE away from the compiler

It already is. The IDE just calles the Make system that runs the generator, compiler and linker

Making it a lot easier for developers to create addon products

Addon’s are never really easy, but you can add just about anything now.
and I’m not sure what could be added to the template system that isn’t there already

Nothing is split up as far as product is concerned…
You have to buy the whole thing.

The template language is an IDE only tool. Its not general purpose…

The language is very extensible but the GUI is not plug and play in regard to the language but making it a bindable solution might slow it down.

As is its very fast and splitting the GUI away would slow it down i suppose.

As an outsider who doesn’t use Clarion but is responsible for moving users off of a Clarion app, this seems correct. If you want to breathe new life into this ecosystem, some open source tooling needs to appear–a compiler, at the very least. Software houses in the line-of-business space may choose to use expensive licenses for auxiliary things (i.e. MSSQL or Oracle for their database), but free basic language tooling is a virtually unnegotiable expectation for new projects.

The value proposition of Clarion+AnyScreen is not clear to me when I can build a cross-platform app today using .NET 5 and Xamarin/Avalonia for UI and not pay a cent while doing so. The templating system is mentioned often but if you are interested in eliminating boilerplate, IL-weavers and Roslyn source generators are the answer to this in the .NET space. (Support for generic type arguments for classes also helps – I don’t think the Clarion language supports this?)

But that’s for new development. If you’ve got an existing project you want to maintain, don’t fix what isn’t broken.

There is nothing out there that can compete with the Clarion Template system. I keep looking, there are source generators, but then you hand code from there. The integration with the IDE and the templates is key. My dream is an open source template generator that hooks into an IDE.

If I was creating a new project today, I would still use Clarion.

Ron

2 Likes

I use a tool called Mustang (it works with Access97) that generates code that you can then modify in one of two ways:

  1. Add in keywords into the data dictionary (Yes, Mustang has a data dictionary, unlike Access itself which hides the dictionary - go figure) that generate useful additional code
  2. Make the changes by hand and hope the basic change management system in Mustang keeps your changes. This can end in tears.

At some point you stop needing the code generator and proceed by hand without it. By contrast, I think Clarion’s approach is really clever.

Having never heard of Roslyn before, I don’t know what it does with user changes. What I can say is that so far I am seriously impressed with the way Clarion, and especially templates like NetTalk handle changes almost seamlessly.

Roslyn is the compiler infrastructure for .NET and is responsible for providing Intellisense suggestions and keyword highlighting in Visual Studio. Source generators are an extension point on top of that that can parse your code files and add new lines or generate new files, while leaving your original files on-disk intact.

A typical example would be something like generating fast (de)serializer code for gRPC or JSON. You write a class with some members on it, tag it with an attribute that the generator can recognize, and the generator will create a typed deserializer for it at compile-time.

Here’s a decent post about it from last year: https://devblogs.microsoft.com/dotnet/introducing-c-source-generators/
…and a design document for it: https://github.com/dotnet/roslyn/blob/main/docs/features/source-generators.md. The design document is a bit technical but it lists the design goals up top:

  • Generators produce one or more strings that represent C# source code to be added to the compilation.
  • Explicitly additive only. Generators can add new source code to a compilation but may not modify existing user code.
  • Can produce diagnostics. When unable to generate source, the generator can inform the user of the problem.
  • May access additional files, that is, non-C# source texts.
  • Run un-ordered, each generator will see the same input compilation, with no access to files created by other source generators.
  • A user specifies the generators to run via list of assemblies, much like analyzers.

There’s no templating language here. It’s a very low-level facility. BUT I believe you could, in theory, write a templating language implementation that takes advantage of this. And if you wanted to have something Clarion-like where you can manipulate template parameters from the IDE, I believe you could write a Visual Studio add-on to provide the UI for that.

When you have a mature product written in Clarion then AS offers a way to run that proven code on the web without lots of changes. It’s easy to try it and see if it will work. While you may “not pay a cent” for your tooling you will pay a lot to start from scratch on the application.

The topic of this thread is not what’s the best way to develop a New Web app for free. To discuss that in depth start a new topic.

if i possible to open the template language up to addins and allow it to work without the IDE Dialog APP gen i think it would be a very powerful tool.

Of course we cant see the internals but the project written by the austrlian that generated java was interesting and looked very very powerful.

The template language Requires the app and Dct. Almost all the template symbols come from there. So it’s impossible to decouple it. You would be left with not much at all.

Well that might be right but if the vars were bindable objects then it matters not much as a bindable object would register its own objects.

The DCT and APP would register these as runtime bindable objects.