Live data from Hacker News

dBase: 1979-2026

delphinightmares.substack.com

71–80 of 88 posts

Re: dBase: 1979-2026

#71
post #24

The article states >By feeding legacy PRG (circa 1985) and logics to models like Claude, ChatGPT, developers can now instruct the AI to translate decades-old dBase PRG directly into memory-safe Rust, highly concurrent Go, or modern Dart/Flutter cross-platform applications. And it alludes to this early on, but it doesn't show any examples.

I wonder if anyone ever tried to make the Clipper 5 pre-processor spit out Delphi..

Re: dBase: 1979-2026

#72
post #19
post #12

I remember dBASE IV from my childhood days when my father, who had no computer background, was required to take computer training by his workplace. My father and his colleagues were given free evening computer lessons by their company, taught by the same teachers who used to teach us, the kids, computers in our school. After their first class, he brought home a fat dBASE IV manual. Since I was very interested in comp…

It’s a pity your father’s perspective didn’t prevail. We’d all be using better programming languages now.

No parent should have to learn from their child about the abuses computer people have done to mathematical notation.

Re: dBase: 1979-2026

#73
post #67

Earlier quoted context omitted.

I would prefer X is 5 X is x + 5

How do you feel about ADD 5 TO X GIVING X? I kid, of course, but "X is x + 5" brings Prolog to mind with all the unification and bidirectionality that implies.

> ADD 5 TO X GIVING X

Grammatically, this would not change X. "...GIVING X" would just return X. Since it's part of the same statement, it seems it should ignore the "ADD 5 TO X" part.

Now, if you'd like to place the result into X, I suggest "ADD 5 TO X" would suffice as the entire statement.

Re: dBase: 1979-2026

#75
post #12

I remember dBASE IV from my childhood days when my father, who had no computer background, was required to take computer training by his workplace. My father and his colleagues were given free evening computer lessons by their company, taught by the same teachers who used to teach us, the kids, computers in our school. After their first class, he brought home a fat dBASE IV manual. Since I was very interested in comp…

I had the same problem. Sometime in 1982. at age 11, I started working through a BASIC book and an Apple II computer. I was perplexed: what is this?

  10 X = X + 1
  20 Y = Y - X
If the computer is meant to solve two equations here, why not start with an example that has solutions??!

Re: dBase: 1979-2026

#76
post #23
post #19

Earlier quoted context omitted.

It’s a pity your father’s perspective didn’t prevail. We’d all be using better programming languages now.

It's a notational issue. IIRC Pascal used := for assignment and = for equality testing. Where this becomes extremely Rorsarch is the spectrum between "notation is absolutely critical: there is only one correct representation of programs in people's heads and we have to match that exactly" vs. "all program text is ultimately syntactic sugar and programmers will just adapt to whatever". History tells us that the C choi…

If you have no concept of destructive manipulation of variables, because all the variables you have ever known were the ones in math, you will still read := as equals.

Re: dBase: 1979-2026

#77
post #48

Earlier quoted context omitted.

The = for assignment is FORTRAN’s fault. In the beginning there was no equality, just assignment, and FORTRAN (being just a FORmula TRANslator after all) made the somewhat dubious decision to use = for that (punch card space being sparse and symbols limited and all). When FORTRAN gained equality it went for .EQ. out of practicality and necessity. Many others followed suit but used the somewhat more pleasant == instea…

A rumor I heard was that x := 4 was chosen because it looks similar to x ⇐ 4

But why? := is perfectly understandable and established notation for definition. You don't get closer assignment without resorting to esoteric notation?

Re: dBase: 1979-2026

#78
post #70

Earlier quoted context omitted.

The = for assignment is FORTRAN’s fault. In the beginning there was no equality, just assignment, and FORTRAN (being just a FORmula TRANslator after all) made the somewhat dubious decision to use = for that (punch card space being sparse and symbols limited and all). When FORTRAN gained equality it went for .EQ. out of practicality and necessity. Many others followed suit but used the somewhat more pleasant == instea…

> ALGOL decided to stick close to mathematical tradition And now we have all 3 in Python (=, ==, and :=) which makes me sad.

Splitting = and := in python is very intentional though, It makes writing bugs like this impossible:

    if is_logged_in=True:
        allow_access()
I've got... opinions on the way python separates statements and expressions, but there's some real benefits to it too.

Re: dBase: 1979-2026

#79

I still maintain a VFP9 project from time to time. Although AI has been extremely helpful in writing VFP9 code, I can't imagine migrating this enormous project, which has grown over the course of 30 years, to a more modern system by feeding the source code to AI. While one could debate which approach would be best for migrating such a project, an 'AI-led Big Bang Migration' would be insane. However, AI would certainl…

If you're ever looking to migrate off of that a better starting point is finding a way to dump the DBF files into CSV (there's a perl script for this that works wonders called DBF2CSV but I hear LibreOffice can just open these files too)... After inheriting a project where the source code CDROM went missing I can definitely see a use case for at least trying with the latest frontier models to rescue the logic because…

Thanks for the tip—I'll give it a try soon!

> After inheriting a project where the source code CDROM went missing That sounds insane! Was it a VFP9 project?

Re: dBase: 1979-2026

#80
post #48

Earlier quoted context omitted.

The = for assignment is FORTRAN’s fault. In the beginning there was no equality, just assignment, and FORTRAN (being just a FORmula TRANslator after all) made the somewhat dubious decision to use = for that (punch card space being sparse and symbols limited and all). When FORTRAN gained equality it went for .EQ. out of practicality and necessity. Many others followed suit but used the somewhat more pleasant == instea…

A rumor I heard was that x := 4 was chosen because it looks similar to x ⇐ 4

That is indeed the case in Smalltalk.

The Xerox keyboards had the support for ⇐, with its workstation OSes being all graphical based.

When Smalltalk grew beyond Xerox PARC walls, ⇐ turned into :=

You can see this in the original Xerox PARC documents and books for Smalltalk.

Post reply on HN