Développer en Pascal |
Bienvenue invité ( Connexion | Inscription )
Développer en Pascal |
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 ? |
|
|
11 Feb 2018, 15:54
Message
#2
|
|
Oui ? Groupe : Membres Messages : 3 889 Inscrit : 24 Jun 2003 Lieu : BZH Membre no 8 224 |
Mon dernier code en Pascal doit remonter aux années 90.
Le passage au C fut un peu douloureux car c'est un langage " subtil ", mais au final le C est devenu mon langage préféré. -------------------- "Je sais que vous croyez comprendre ce que vous pensez que j'ai dit, mais je ne suis pas sûr que vous réalisiez que ce que vous avez entendu n'est pas ce que je pense."
(Alan Greenspan) |
|
|
11 Feb 2018, 22:25
Message
#3
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 2 490 Inscrit : 19 Aug 2004 Lieu : 92 Membre no 22 254 |
|
|
|
12 Feb 2018, 20:48
Message
#4
|
|
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 https://ultibo.org/ Ce message a été modifié par Jaypee - 12 Feb 2018, 21:59. |
|
|
6 Mar 2018, 09:12
Message
#5
|
|
Nouveau Membre Groupe : Membres Messages : 8 Inscrit : 11 Feb 2018 Lieu : PARIS Membre no 204 176 |
Merci pour cet historique… mes héros s'appelle tous Steve (mais pas nécessairement Jobs, le Juda de la bande).
Mon appli, entièrement développée en Pascal (même pas objet), continue de tourner, même sur les derniers systèmes, et continue de se vendre. Elle n'est pour le moment que 32 bits pour continuer à être rétro-compatible avec tous les anciens systèmes. Elle tourne même (de façon très limitée) sur MacOS 7, c'est dire… (en dessous, c'est théoriquement possible, mais il y a des problèmes de mémoire qui rendent la chose peu réalisable… et puis j'ai jeté depuis longtemps tous mes MacPlus, SE, etc. à la benne). Si ça intéresse certains, je peux livrer quelques parties de code bien utiles… des astuces pour adresser le système et en utiliser les ressources programmatiquement. C'est du Pascal, c'est lisible, il n'y a pas de tournure spécifique au Pascal, c'est appréhendable par tous. En fait, j'ai isolé tout ce qui adresse la machine (afin de transcrire sur d'autres environnement… jamais fait à ce jour : pas le temps ni trop l'envie). La base du langage est Pascal, mais C ou autres conviendraient… le langage n'est qu'un support qui n'affecte en rien le résultat compilé. Ce que j'aime, dans le Pascal, c'est que ça reste lisible, même quand on est fatigué, pressé ou … bourré. D'ailleurs, un des fondamentaux de ma partie débuggage repose sur l'esthétique du code (et aussi, on ne le dira jamais assez, sur des commentaires en forme de flags, avec mots clés). |
|
|
Nous sommes le : 20th April 2024 - 04:00 |