Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Comparison
Message
From
12/04/2023 06:10:24
 
 
To
11/04/2023 03:01:40
Dragan Nedeljkovich (Online)
Now officially retired
Zrenjanin, Serbia
General information
Forum:
Python
Category:
Other
Title:
Miscellaneous
Thread ID:
01686457
Message ID:
01686477
Views:
55
>Just once I saw the Clipper 87 code, in C++. Because that version of clipper wasn't even a compiler, it was a preprocessor for c++.

I used Clipper87 for a handful of applications, but never saw their code. If you follow the history of Clipper from there, Harbour, Harbour++ and offshoots you will expect similarities in approach. If you look at X# sources the usage of compiler constants is heavy. I never checked if they use a special preprocessor run or the Roslyn conditional or replacement functionality, but expected the latter.

>And literally every command you write actually translates into a call of some runtime function. Pretty much what any interpreter does, just producing a file of this intermediate step. Looked a lot neater than the xbase syntax, which was confusing in many places (to a beginner, when I was one).

Yupp, second that; when I load the debug version of the x# classes to get an idea what was happening behind the curtains of "xBase/x#/vfp# dialect", it made a lot of sense. I have previous familiarity with some of the topics that must be handled for dbf/index/memo from last century - I used libraries for dBase3+ compatible access in ModulaII and C++ sources for years and once also the Sequiter Codebase routines. As said - if you are not under time pressure, educational. Nowadays find Sequiter code under:
https://github.com/MPSystemsServices/CodeBase-for-DBF
;-)

>Ah... when I remember how the clipper guys looked down on fox, because it needs runtime, doesn't produce a monolythic exe. And that runtime was what, 2M? And look at the size of dot net runtimes...

That was a pure straw man rhetorics IMO, as the relevant dimensions might benefit one or the other according to the task or problem. Their functionality was just included in their exe - a benefit for 1 shot tasks, as deployment problems were reduced to data tables. OTOH identical functionality was deployed via lots of floppy discs if a handful of separate exe were delivered. Lazy me went for that deployment ease first in the 80ies when coding xBase on x86 - back then coded on Windows, OS/2 and GemDOS (Atari ST and PC) with statictics in Fortran via Naglib, Pascal or ModulaII for crosscompiled Apps, dBman, xBase3+ and Clipper87 depending on need and client.
My Clipper apps were mostly done with Clipper for install/maintainance ease. When moving to intel386 exchanged Fortran with C(++) and fox for option to use FoxPro C hooks. Shot several feet when deploying such a code mess at first ;-)
Previous
Reply
Map
View

Click here to load this message in the networking platform