FAQ — Français
Qu’est-ce que Lisaac ?
Lisaac est le premier langage de programmation compilé basé sur les prototypes. Là où la plupart des langages à prototypes reposent sur l’interprétation ou sur la compilation juste-à-temps (JIT), Lisaac compile en avance de phase vers du C ANSI optimisé — offrant des performances comparables à celles du C et du C++ écrits à la main, tout en conservant un langage de haut niveau, entièrement orienté objet.
Pourquoi Lisaac ?
Lisaac réunit des idées longtemps considérées comme incompatibles. De Self, il hérite des prototypes et de l’héritage dynamique — pas de classes, uniquement des objets clonés à partir d’autres objets. D’Eiffel, il reprend le typage statique et la programmation par contrat (design by contract), ce qui permet de détecter les erreurs tôt et de rendre le code plus fiable. De Smalltalk, il adopte le principe selon lequel tout est objet. Le résultat est un langage expressif et flexible, sans sacrifier la sûreté ni la vitesse.
Lisaac est-il conçu pour de vrais systèmes ?
Oui. Lisaac est né du projet Isaac — l’un des premiers systèmes d’exploitation entièrement construits sur une technologie objet basée sur les prototypes. Cet héritage permet à Lisaac de gérer nativement des aspects bas niveau comme la gestion des interruptions et les entrées/sorties mappées en mémoire (memory-mapped I/O), tout en restant un véritable langage de haut niveau.
Comment fonctionne le compilateur Lisaac ?
Le compilateur Lisaac effectue une analyse globale du programme (whole-program analysis) afin de prédire les types et de spécialiser le code, en résolvant statiquement la grande majorité des appels de méthodes dynamiques. Le résultat : des binaires natifs compacts et efficaces — la preuve que la programmation basée sur les prototypes et les hautes performances ne sont pas incompatibles.
Où Lisaac peut-il s’exécuter ?
Lisaac Ω cible Linux, macOS, Windows, Android, WebAssembly et Arduino — des serveurs aux navigateurs jusqu’aux microcontrôleurs.
FAQ — English
What is Lisaac?
Lisaac is the first compiled prototype-based programming language. Where most prototype-based languages rely on interpretation or just-in-time compilation, Lisaac compiles ahead of time to optimized ANSI C — delivering performance on par with hand-written C and C++ from a high-level, fully object-oriented language.
Why Lisaac?
Lisaac brings together ideas that were long considered incompatible. From Self, it inherits prototypes and dynamic inheritance — no classes, just objects cloned from other objects. From Eiffel, it takes static typing and design by contract, catching errors early and making code reliable. From Smalltalk, it embraces the principle that everything is an object. The result is a language that is expressive and flexible without sacrificing safety or speed.
Is Lisaac designed for real systems?
Yes. Lisaac was born out of the Isaac project — one of the first operating systems built entirely on prototype-based object technology. This heritage means Lisaac handles low-level concerns like interrupt management and memory-mapped I/O natively, while remaining a genuinely high-level language.
How does the Lisaac compiler work?
The Lisaac compiler performs whole-program analysis to predict types and specialize code, statically resolving the vast majority of dynamic method calls. The result is compact, efficient native binaries — proof that prototype-based programming and high performance are not at odds.
Where does Lisaac run?
Lisaac Ω targets Linux, macOS, Windows, Android, WebAssembly, and Arduino — from servers to browsers to microcontrollers.