FoxPro is back: FoxDev Studio runs your old apps on 64 bits
Translated by a model; the original is in Russian.
Microsoft stopped developing Visual FoxPro in 2007, freezing it at version 9 and at 32 bits. FoxDev Studio offers what a "version 10" might have been: the same language, rebuilt on a foundation that has not been frozen since.
The project opens as it was
The core promise is no migration. You point the studio at a folder you have not opened in years and get exactly what is there: projects, forms, class libraries, menus and reports open straight from the existing files. The familiar designers, the project manager, the Command Window and a debugger that stops on your line are all present. Tables, indexes, memos and databases are read and written in place and stay the same kind of file they were before.
The old system calls, automation objects and add-in libraries an application leans on keep working, so the parts nobody wants to touch remain untouched.
What changed underneath
The studio is 64-bit throughout. That removes the ceilings baked into 32-bit arithmetic: a table and a memo file no longer stop at two gigabytes, and a big report no longer runs out of memory. Every file offset is 64-bit, and a table is never read into memory whole, so the same .dbf reaches into the hundreds of gigabytes. There is a catch: a table grown past two gigabytes will not open in Visual FoxPro again — a one-way door.
The virtual machine is written in Rust and compiled to WebAssembly. The same compiler checks the code you type, so what the editor underlines and what the runtime refuses cannot drift apart. A running program is a fiber: when it needs something from the outside world it yields rather than blocks, which is why the window behind a modal message does not freeze.
A form on screen is a live tree of objects drawn by React; each object watches only itself, so changing one label repaints that label rather than the whole form.
A bridge to the 32-bit world, and FoxScript
Old .fll libraries are 32-bit images and cannot be opened inside a 64-bit application. Instead of refusing, SET LIBRARY TO starts a tiny 32-bit process to hold the library, and the runtime talks to it synchronously.
The FoxScript add-on extends the language with lambdas and a way to answer an HTTP request from the code that already knows your business logic. The same runtime executes both your forms and your web routes.
Behaviour is settled not by a reference page but by matching Visual FoxPro's own answers: of 1,722 elements of the language reference, 1,534 are exercised by a test that compares results with the product. Nightly builds for Windows and Linux are published on GitHub.
Source: Hacker News
Comments
Sign in, to comment.