En ce qui concerne le "pourquoi", voici l'introduction de mon premier article sur le sujet (PLM n° 16) :
----------------
Dans cet article nous allons étudier le principe de fonctionnement d'un « compilateur » tel que celui fourni pour PANORAMIC. Ce dernier est en fait un traducteur qui transforme le code PANORAMIC en code FreeBASIC, lequel est alors compilé. Les objets graphiques (boutons etc.) sont rassemblés dans une bibliothèque liée à chaque programme, d'où la taille importante des exécutables. Les différents composants (compilateur FreeBASIC, bibliothèque d'objets graphiques etc.) sont fusionnés dans l'unique fichier PANORAMIC_COMPILER_EDITOR.exe ; le FreeBASIC est installé puis désinstallé à chaque compilation. D'autre part, on ne peut habituellement pas examiner le code FreeBASIC généré, car il est effacé en fin de compilation, ce qui ne facilite pas la correction des bugs !
Afin de rendre le processus moins opaque, nous allons installer FreeBASIC une fois pour toutes. Par ailleurs nous n'allons pas utiliser la bibliothèque d'objets graphiques de PANORAMIC mais une bibliothèque externe, FLTK (Fast Light Tool Kit). Cette dernière se présente sous la forme d'une DLL chargée dynamiquement pendant l'exécution du programme. La taille de ce dernier s'en trouve ainsi considérablement réduite.
----------------
Le langage FBPano est intermédiaire entre PANORAMIC et FreeBASIC, ce dernier étant lui-même un intermédiaire entre le BASIC classique et le C !
Le carnet d'adresses a fait l'objet d'un autre article (PLM n°37)
Le fichier fbpano.htm te donne accès à toute la documentation de FBPano.