IPB

Bienvenue invité ( Connexion | Inscription )

> Développer en Pascal
Options
DONKEY
posté 11 Feb 2018, 11:25
Message #1


Nouveau Membre


Groupe : Membres
Messages : 8
Inscrit : 11 Feb 2018
Lieu : PARIS
Membre no 204 176



Bonjour

Je développe en Pascal depuis le 1er Mac Plus.
Toujours le même logiciel qui évolue sans cesse et dont la vente me fait en partie vivre.
En ce moment, sous XCode avec FreePascal.

Il en a d'autres ou je suis le dernier ?
Go to the top of the page
 
+Quote Post
 
Start new topic
Réponse(s)
Jaypee
posté 12 Feb 2018, 20:48
Message #2


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 486
Inscrit : 29 Aug 2002
Membre no 3 340



Salut Donkey,

Pascal a eu un role essentiel dans le développement de la Toolbox du Mac original.

A l'époque, pour pouvoir exploiter au mieux la puissance du Mac 128K, je m'étais intérssé à MacForth un langage très proche de la machine. La bibliothèque livrée avec le langage avait une couverture de 80 à 90% de la Toolbox, et donc pour aller où le vendeur du produit n'était pas encore allé, il fallait en Forth, émuler un appel de fonction de la même manière que Pascal. Pour une fonction telle que function mafonction(x:integer, y: integer) : integer; il fallait:
- Empiler 0, un entier qui sera remplacé par le résultat,
- puis empiler y, puis empiler x,
- puis sauter à l'adresse de mafonction, qui dépile x, puis y, puis calcule et finalement remplace 0 par le résultat entier sur la pile, que l'appelant peut dépiler.
Les adresses de fonctions de la Toolbox étaient documentées dans les gros tomes du "Inside Macintosh" bible de de tous les programmeurs Mac.

Plusieurs années plus tard, je travaille à côté d'un collègue, précurseur dans son domaine, programmant en Windows 3.x. Et bien, la bibliothèque de Windows 3.x était en grande partie écrite en Pascal, et certaines fonctions étaient documentées avec une syntaxe C, précédée d'un mot-clé: Pascal int mafonction(int x, int y);

Travailalnt en C, il avait soigneusement omis le mot-clé Pascal et s'étonnait que non seulement son code crashait, mais il avait la vague impression que les arguments étaient utilisés en ordre inverse. Et il avait raison, C organise la pile d'appel à l'inverse de Pascal. Habitué à ces manip de pile, je le convaincs d' ajouter le mot clé, et en effet, il a finalement obtenu les résultats escomptés.

Après Pascal, le professeur Niklaus Wirth a créé Modula 2, et la revue Byte avait fait un reportage sur la station de travail Modula appelée Lilith au début de années 80. Wikipedia et Byte magazine Puis il est allé toujours plus loin avec un autre langage Oberon.

Sur Mac, après MacPascal qui a levé le voile sur le futur des outils de développement modernes (graphisme vectoriel, sons, débuggueur, éxécution pas-à-pas...) une boîte crée un compilateur ultra rapide Lightspeed Pascal, qui évolue vers ObjectPascal. Avce le succès, elle grandit et change de nom et devient Symantec. Il y avait aussi l'évolution du Pascal UCSD de l'Apple II avec MacAdvantage Pascal.Les "vrais" développeurs avaient un Mac II, et un environnement Unix-like MacApp pour créer leurs app en Pascal. Adobe Photoshop a été créé comme ça, mais pas comme MS Word 2.0 version WYSIWYG, ou MS Excel 1.0 créé sur Mac. Microsoft avait ses propres outils tournant sur Digital Equipment (Vax et VMS)

Même s'il est tombé un peu en désuétude, Pascal a été le lait maternel de plus d'un développeur Mac.

Respect donc à ceux qui continuent à entretenir la flamme... mais il y a aussi de très belles choses à voir ailleurs aussi.

@+ JP
PS: Pascal pas mort... sur Raspberry PI (un ordi monocarte à 50€) un "OS" Ultibo remplace Linux, et l'environnement principal de dev est Lazarus, l'IDE pour FreePascal. Alors, là oui, il y a des tonnes de belles choses à explorer smile.gif
https://ultibo.org/

Ce message a été modifié par Jaypee - 12 Feb 2018, 21:59.
Go to the top of the page
 
+Quote Post

Les messages de ce sujet


Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 25th April 2024 - 02:17