12 Oct 2010
4 minute read
Now that I’ve got your attention, let me say this:
LONGCHAR doesn’t always suck. But, it definitely does suck sometimes…
Here’s an example. How long does it take for this code to complete on your system?
DEF VAR lc AS LONGCHAR NO-UNDO.
DEF VAR i AS INT NO-UNDO.
DO i=1 TO 1000000:
lc = lc + STRING(i).
IF i MOD 100 EQ 0 THEN
STATUS DEFAULT STRING(i).
02 Oct 2010
6 minute read
I have recently been working on a new compiler interface and backend for my
workplace. I am pretty much done with it at this point - and the adventure
is worthy of it’s own blog post - however, I thought I would share a little
script with the world that might be useful to others.
Basically, I wanted to table-ize as much meta information about a program as
possible when it gets compiled. One piece of information I wanted is the main
block parameters of a program (e.g.
DEFINE INPUT PARAMETER ipcString AS
CHARACTER. at the top of the program). I mean, how cool would it be to do a
simple check on
RUN statements to see if they will fail at compile-time (by
checking existing compile snapshots of the program referenced by the
assuming of course that the
RUN statement can be evaluated at compile-time)?
21 Aug 2010
28 minute read
I won’t go into any detail about how I got the job I currently have programming
in Progress OpenEdge ABL, but suffice to say I knew I was in deep trouble from
the start when most of the documents about the Progress language I read when
learning the language were more focused on “business logic” and how the language
makes things “easy” on the programmer rather than displaying the language’s real
raw technical strengths.
The cold chill down my spine that I initially felt upon glancing at the language
documents has since turned into a fiery rage that burns with the intensity of a
thousand suns after having learned it. I have done my best to make do with the
language’s limitations, and I believe I have pushed it to about as far as it can
go without directly linking into external .NET libraries.
08 Jul 2010
1 minute read
Just finished polishing up and committing a Progress/OpenEdge/ABL syntax
SyntaxHighlighter to GitHub!