Est. 1984 Intermediate

4D

A pioneering integrated development and database platform created in 1984, combining a relational database engine, proprietary programming language, and application server into one environment for building business applications.

Created by Laurent Ribardiere

Paradigm Multi-paradigm: Procedural, Object-Oriented, Event-driven
Typing Static, Strong
First Appeared 1984
Latest Version 4D 21 LTS (January 2026)

4D (originally known as 4th Dimension) is a proprietary integrated development and database platform that has been in continuous development since 1984. Combining a built-in relational database engine, a proprietary programming language with over 1,300 commands, an IDE with graphical form designer, and an integrated web server, 4D provides a complete environment for building database-driven business applications. It stands as one of the earliest graphical relational database management systems and remains actively developed today.

History & Origins

The Silver Surfer Project (1984)

4D was created by Laurent Ribardiere, a student of applied mathematics at Ecole Centrale Paris, one of France’s most prestigious engineering schools. In 1984, Ribardiere began developing what would become 4th Dimension, a project he codenamed “Silver Surfer” after his favorite comic book character. That same year, he founded the company ACI (Analyses Conseils Informatique) to publish his software.

Apple initially planned to publish the software, but reportedly canceled those plans in 1985 due to pressure from other database publishers – notably Ashton-Tate, whose dBase III dominated the PC database market at the time. The project reverted to Ribardiere, who partnered with French businesswoman Marylene Delbourg-Delphis to publish 4th Dimension independently.

Launch and US Expansion (1987)

The first public release came in 1987 for the Apple Macintosh, featuring its own programming language and a graphical interface for building relational database applications. That same year, Delbourg-Delphis established a US subsidiary called ACIUS in Silicon Valley, with Guy Kawasaki involved in leading the North American distribution effort. ACIUS was reportedly one of the first European-founded tech companies in Silicon Valley.

Despite Apple not publishing 4D, the company reportedly used it extensively for internal projects including fitness center management and Computer Integrated Manufacturing (CIM) applications.

Evolution to Cross-Platform (1993-1997)

In 1993, the introduction of 4D Server brought client-server architecture to the platform. Version 3.5 in 1995 marked the first cross-platform release, supporting both Windows and Macintosh. Version 6.0 in 1997 added a fully integrated web server, allowing developers to serve web applications directly from 4D without external web server software.

Corporate Rebranding and Modern Era (2000-Present)

In 2000, ACI was rebranded to 4D SAS in France (March), and ACIUS was renamed to 4D Inc in the US (April). The company continued to evolve the platform through regular major releases, adding an SQL engine (v11, 2008), PHP integration (v12, 2010), and mobile development capabilities (v14, 2014).

The most significant architectural changes came with version 17 (2018), which introduced ORDA (Object Relational Data Access) – an object-oriented abstraction over the database – and version 18 (2020), which introduced project-mode databases with text-based source files compatible with Git and other version control systems, along with full class-based object-oriented programming.

In November 2024, Volaris Group acquired 4D SAS. The platform continues to operate under CEO Eric Teissandier, who has been with the company since 2013, and is headquartered in Le Pecq, France (Greater Paris Region).

Design Philosophy

4D was built around the idea of an all-in-one platform. Rather than assembling a tech stack from separate database, language, IDE, and server components, 4D integrates everything into a single cohesive environment. This philosophy has remained consistent from the original 1987 release to the present day.

Core design principles include:

  • Integration over assembly: Database, language, IDE, web server, and application server in one platform
  • Plain-English commands: Using readable command names like QUERY, ADD RECORD, and ALERT rather than cryptic syntax
  • Graphical-first design: Built for the Macintosh GUI from inception, with visual form designers and structure editors
  • Deploy anywhere: The same application code can run as a standalone desktop app, a client-server system, or a web application

Key Features

Integrated Relational Database

4D includes an ACID-compliant relational database engine with B+Tree indexing, supporting one-to-one, many-to-one, and many-to-many relationships. The database is accessed directly through the 4D language without requiring a separate database driver or connection layer:

QUERY([Customers]; [Customers]Country = "US")
QUERY SELECTION([Customers]; [Customers]Status = "Active")

For each ($customer; ds.Customers.query("country = :1"; "US"))
    // Process each customer using ORDA
End for each

The 4D Language

The proprietary 4D language includes over 1,300 built-in commands covering database operations, string manipulation, file I/O, networking, cryptography, and UI construction. Variables use prefix notation to indicate scope:

// Local variables use $ prefix
var $message : Text
$message := "Hello from 4D"

// Process variables have no prefix
myCounter := myCounter + 1

// Interprocess variables use <> prefix
<>globalSetting := True

ORDA (Object Relational Data Access)

Introduced in version 17 (2018), ORDA provides an object-oriented interface to the database:

// Query using ORDA with entity selections
var $activeCustomers : cs.CustomersSelection
$activeCustomers := ds.Customers.query("status = :1"; "Active")

// Navigate relationships naturally
For each ($order; $activeCustomers.first().orders)
    // Access related order data
End for each

Class-Based OOP

Full object-oriented programming was introduced in version 18 (2020):

// Class definition in Classes/Greeter.4dm
Class constructor($name : Text)
    This.name := $name

Function hello() -> $greeting : Text
    $greeting := "Hello, " + This.name + "!"
// Using the class
var $greeter : cs.Greeter
$greeter := cs.Greeter.new("World")
ALERT($greeter.hello())

Integrated Web Server

Since version 6 (1997), 4D has included a built-in web server. Modern versions support REST APIs, TLS 1.3, and the QUIC protocol:

// Expose a REST endpoint
// In an ORDA Data Model class
exposed Function getActiveCount() -> $count : Integer
    $count := This.query("status = :1"; "Active").length

Multiple Deployment Modes

A single 4D application can be deployed in several ways without code changes:

  • Standalone: Single-user desktop application with direct database access
  • Client-Server: 4D Server maintains data while remote clients connect via TCP/IP
  • Web: HTTP/REST server for browser and mobile clients
  • Merged Application: All components combined into a single distributable executable

Evolution

4D has undergone substantial evolution while maintaining backward compatibility:

EraVersionsKey Developments
Macintosh Erav1 (1987)Graphical relational database for Macintosh
Client-Serverv3.1-3.5 (1993-1995)Server architecture, cross-platform support
Web Erav6 (1997)Integrated web server
SQL Integrationv11 (2008)SQL engine alongside native 4D language
Modern Objectsv14-v16 (2014-2017)Object data type, preemptive multithreading, 64-bit
ORDA & OOPv17-v18 (2018-2020)Object-relational mapping, class-based programming, project mode
Currentv19-v21 (2021-2026)Apple Silicon native, AI/vector engine, QUIC protocol

The transition to project mode in version 18 was particularly significant. Previously, 4D stored all code in binary structure files, making version control difficult. Project mode stores each method and class as a separate .4dm text file, with forms stored as JSON .4DForm files, enabling standard Git workflows.

File Structure

Modern 4D projects (v18+) use a text-based file structure:

ExtensionPurpose
.4DProjectProject file (launches development environment)
.4dmMethod and class source code (text)
.4DFormForm definitions (JSON)
.4ddData file (binary)
.4DSettingsConfiguration (XML)
.4DCatalogTable and field definitions (XML)

Legacy binary mode uses .4db (structure) and .4dc (compiled structure) files.

Current Relevance

4D remains actively developed with a regular release cadence. The latest release, 4D 21 LTS (January 2026), introduced a native AI engine with vector embeddings and semantic search capabilities, QUIC protocol support, WebSocket clients, and deeper Visual Studio Code integration.

The platform follows a dual release cycle:

  • Feature Releases (R-releases) on a roughly quarterly cycle for early adopters
  • LTS (Long Term Support) versions for production stability

The 4D ecosystem now also includes Qodly, a companion low-code web development platform, and 4D Go Mobile for iOS and Android development.

The community, while niche compared to mainstream languages, has notable longevity – spanning nearly four decades. Resources include the official developer documentation (developer.4d.com), the 4D Forum (discuss.4d.com), the independent 4DMethod user group, and an annual 4D Summit developer conference.

Why It Matters

4D holds a distinctive place in programming history for several reasons:

  1. Pioneering integration: 4D was among the earliest platforms to combine a relational database, programming language, and graphical IDE into a single product, predating many modern “full-stack” development environments
  2. Macintosh heritage: As one of the first graphical database development platforms for the Mac, 4D demonstrated that database applications could have sophisticated graphical interfaces rather than text-based screens
  3. Remarkable longevity: With continuous development since 1984, 4D is one of the longest-lived commercial development platforms still actively maintained
  4. All-in-one philosophy: 4D’s integrated approach influenced the design of other rapid application development platforms and continues to offer an alternative to the modern approach of assembling applications from many separate components

Timeline

1984
Laurent Ribardiere begins developing 4th Dimension (codenamed 'Silver Surfer') while studying at Ecole Centrale Paris; founds ACI (Analyses Conseils Informatique)
1987
First public release of 4th Dimension for the Apple Macintosh; US subsidiary ACIUS established with involvement from Guy Kawasaki
1993
4D Server v1.1 introduced, adding client-server architecture to the platform
1995
Version 3.5 released as the first cross-platform version supporting both Windows and Macintosh
1997
Version 6.0 ships with a fully integrated web server, enabling web application development directly from 4D
2000
ACI rebranded to 4D SAS (France) and ACIUS to 4D Inc (US)
2008
Version 11 adds an SQL engine to the database, enabling native SQL alongside the proprietary 4D language
2018
Version 17 introduces ORDA (Object Relational Data Access), collections, dynamic forms, and object notation
2020
Version 18 introduces project-mode databases with text-based source files for version control, and full class-based OOP with inheritance and polymorphism
2024
Volaris Group acquires 4D SAS in November; platform continues under CEO Eric Teissandier
2026
4D 21 LTS released in January with native AI engine, vector embeddings, QUIC protocol support, and WebSocket clients

Notable Uses & Legacy

Apple (Internal)

Apple reportedly used 4D extensively for internal projects including fitness center management and Computer Integrated Manufacturing (CIM) systems during the late 1980s and 1990s.

Sweetwater Sound

Built a custom CRM application in 4D interconnecting over 700 concurrent users for customer relationship management and inventory operations.

Art Institute of Chicago

Developed CITI, a custom collection management system used daily by approximately 100 curators, registrars, conservators, and librarians to manage the museum's collection.

Enterprise Business Applications

4D has been deployed for CRM, ERP, inventory management, healthcare, and financial applications, with the company reportedly reaching over 10,000 customers by approximately the early-to-mid 2000s.

Language Influence

Influenced By

Pascal SQL dBASE

Running Today

Run examples using the official Docker image:

docker pull
Last updated: