Nouveau site web dédié au langage Pascal (2021), basé sur Pure Pascal

Les bouquins, les scans, les pdf ou les liens qui vont bien... ici c'est la bibliothèque.

Modérateurs : Papy.G, fneck, Carl

Neotenien
Messages : 354
Inscription : 23 oct. 2020 19:15
Localisation : Le Mans
Contact :

Nouveau site web dédié au langage Pascal (2021), basé sur Pure Pascal

Message par Neotenien »

Bonjour à tous.

Durant le confinement du Covid, j'avais créé 2 site web. Le 2ème d'entre eux est dédié au langage Pascal, sur base de "Pure Pascal 1.1.1" sur Atari ST/Falcon, dont j'ai traduit de l'allemand une grande partie et convertit en HTML. Les Atari ST ont eu 3 compilateurs Pascal : Alice PAcal, HS Pascal (dit Maxon, compatible TP5) et Pure Pascal (compatible TP7+)

Cliquez sur ce lien .

Pure Pasal 1.1.1 est la version Atari de Turbo Pascal 7+ (le + pour, par exemple, des fonctions telles que Break ou l'utilisation du type Pchar).

J'ai traduit, grâce à Google Translator (parce que je ne connais pas un mot d'allemand), quelques 76 pages du fichier HELP d'Atari et plus de 450 pour les Unités (non complet), dont CRT, GRAPHE et DOS. Il reste les parties TOS/GEM. Donc des centaines de fonctions Turbo Pascal7/Pure Pascal sont d'ores et déjà documentés.

J'ai créé la partie Unité en PHP de sorte que les fonction et procédures soients accessible par 2 voies... Soit par hyperliens, soit par menu déroulant classés par unités.

J'ai ajouté des suppléments perso, comme des algorithmes pour mettre à jour certaines choses comparé à Free Pascal (et en ajoutant certaines fonctoins d emon cru)... Pour le moment, il n'y a que la partie MATHS1 (42 fonctoin) et "POLYNOME (n'existant pas sous Free Pacal) que j'ai ajouté... Mais des centaines d'autres algorithmes sont prévus (notamment ajout du type DArray qui sont des pointeurs de tableau, des fonctions de traitement de texte pour s'approcher de la bibliotèque de PHP...

J'ai choisi le Pascal parce que ce langage à tout pour lui. Il est le tout premier langage impératif, il est verbeux, intègre des notions tels l'orthogonalité, la surcharge d'opérateur (ce que ne faoit PAS le langage C) a été le premier langage à convertir en pseudo code (18 ans avant Java), est non permissif et a des possibilité que le C n'a pas tout en ayant la simplicité de langages tels le Python. De plus, les vitesses de compilation de Pascal sont bien plus rapides que les mêmes logiciels en C, il a des fonctions comme par exemple demander l'espace RAM en continue disponible... et plein d'uatres choses que le C (mêm le C++) n'ont pas.

Le but de ce site web ets un centre de ressources d'algorithmes pour le Pascal qui, à mon sens vaut bien mieux que le Java (qui n'est que OO) ou que le C.
__sam__
Messages : 7987
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Nouveau site web dédié au langage Pascal (2021), basé sur Pure Pascal

Message par __sam__ »

Super, mais les derniers paragraphes sont faux et/ou très approximatifs.

Le principe du P-code existe depuis bien avant le langage Pascal. On te l'a déjà dit. Ensuite tu dis que le Pascal se compile plus rapidement que le C. C'est juste faux. La vitesse de compilation est dépendante du compilateur, pas du langage. Il existe des compilos C très très rapides (regardes la vitesse de compilation de TCCBOOT). Enfin tu dis qu'il y a des fonctions du pascal (exemple connaitre la ram dispo) inexistantes en C. Déjà ces fonctions ne font pas parti du langage, mais de l'OS. Le C y a accès comme tous les langages ne tournant pas dans un bac-à-sable. Il n'y a donc pas de fonctions que fait le Pascal qui ne soit faisable (et même ait été déjà faite) en C. Tu semble mal faire la distinction entre un langage, ses bibliothèques, et l'OS. C'est pourtant fondamental de bien distinguer ce qui est la part de de l'OS et celle du langage dans le résultat.

Dommage de ternir ton message avec des propos faux contre le C. Ca n'est pas ca qui va faire (re)venir les gens vers le Pascal. Il faut parler de gros outils bien visibles faits en(*) Pascal pour attirer le chaland. Bon, yen a vraiment plus des masses. Les gens passent à autre chose.
___
(*) Ou plutôt: .. faits avec une certaine version d'un compilo Pascal, car on entends plus parler du compilateur que du Langage lui même à propos de Pascal.
Dernière modification par __sam__ le 06 févr. 2023 20:51, modifié 1 fois.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Daniel
Messages : 17423
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Nouveau site web dédié au langage Pascal (2021), basé sur Pure Pascal

Message par Daniel »

On ne peut pas accéder à ce nouveau site avec un bloqueur de publicité. C'est une bonne raison pour programmer en C.

antiblock.png
antiblock.png (16.62 Kio) Consulté 2622 fois
Daniel
L'obstacle augmente mon ardeur.
Neotenien
Messages : 354
Inscription : 23 oct. 2020 19:15
Localisation : Le Mans
Contact :

Re: Nouveau site web dédié au langage Pascal (2021), basé sur Pure Pascal

Message par Neotenien »

Pour te répondre concernant les vitesses de compilation Pascal, euh, HS Pascal sur Atari ST compile 20.000 lignes en 1 mn pour un Atari ST 8 MHz et 1000 lignes/seconde pour un Atari Falcon avec un 68030 à 16 MHz (je te laisse imaginer pour une machine 1000 fois plus puissance en théorie). Et le problème du C vient du fait qu'il faille faire des tests sur des conditions alors que ce n'est pas le cas en Pascal qui n'est pas un langage permissif et n'a pas besoin de plusieurs passes. Donxc ce que j'ai écrit sur la vitesse de compilation est VRAI désolé de t contredire! C'est pas avec un exemple spécifique en 1 passe que tu vas contredire ce fait. C'est reconnu d'ailleurs que les compilo pascals sont les plus rapides existant (renseignes toi)

Pour le P-code, oui c'est une petite erreur de ma part (même si la docu là dessus est inexistante, mais ici je voulais surtoit dire que le Pascal fournissait du Byte Code bien avant Java et que donc c'était pas un point en faveur de Java.

Pour les fonctions sur la RAM, je parle ici d'un comparatif "Unité" vs "librairie" dispo entre les 2 langages. En Pascal, on a MaxAvail, et MemAvail de l'Unité "system" (intégré dans Pascal) dont je n'ai pas trouvé l'équivalent. Tu dis que ces fonctions viennent de l'OS ? Alors pourquoi ne sont-elles pas intégré dans les Unités DOS, TOS ou GEM des Atari mais dans System ? Ca veut dire que ce sont des fonctions propres au Pascal non ? (j'attend une explication cohérente sur ce fait).

D'autres part, j'ai comparé des fonctions existante dans les unités standard de TP (CRT et Graph), et je n'ai trouvé aucun équivalent dans les librairies standard du C (référence "Lattice C 3.5" qui est pourtant un gros pavé), notamment sur les fonctions positionnant le curseur à l'écran, GOTXY, WhereX, WhereY, et les fonctions de l'Unité Graph... oui permet de tracer facilement des formes géométriques. Et c'est d'ailleurs un des ponts qui m'a fait fuyir du C/Pascal.

Le Pascal a la surcharge des opérateurs, pas le C, le Pascal permet également le polymorphisme avec certaines fonctions (comme write, read) ce qui n'est pas le cas du C. Ya plein de raisons qui me font préférer le Pascal au C (hélas), mais les langages sont quand même très proche au niveau paradigme. Pour ce qui est du défaut des tableau dynamique, le Pascal l'a intégré depuis fort longtemps.

En conclusion la seule chose fausse que j'ai écrite est la primeur du Byte Code de Pascal.

Bon c'est cool de m'avoir démoli sur quelques rares point sans me féliciter sur le travail accompli. C'est bien, français comme comportement ça... De mon côté je suis élogieux à ton égard Samuel... je parle de toi chaque fois que l'occasion se présente. Et j'en ai un peu part de recevoir sans cesse des réprimande surtout de la part de Daniel...

Je ne suis pas obligé de faire tout ça, je ne vis que du RMI/RSA depuis des années (bah oui tout le monde n'a pas la chance de faire partie d'une élite et de bosser pour DASSAULT ou que sais-je)... et j'essaie quand même d'être le plus fiable et juste possible. Parce que quande même le gros de ce site web est la traduction de plus de 600 fiches venant de fichier HLP de l'allemand.
Avatar de l’utilisateur
hlide
Messages : 3506
Inscription : 29 nov. 2017 10:23

Re: Nouveau site web dédié au langage Pascal (2021), basé sur Pure Pascal

Message par hlide »

Oh ! Ah ! ah bon ? printf et scanf ne peuvent pas avoir une liste d'arguments variables ? les fonctions dont tu parles (Read, ReadLn) ne sont pas des fonctions pures Pascal. Eclaire moi sur comment déclarer une fonction variadique en Pascal ?
__sam__
Messages : 7987
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Nouveau site web dédié au langage Pascal (2021), basé sur Pure Pascal

Message par __sam__ »

Rahalla je ne sais pas pas où commencer. Le début, disons le début.
Pour te répondre concernant les vitesses de compilation Pascal, euh, HS Pascal sur Atari ST compile 20.000 lignes en 1 mn pour un Atari ST 8 MHz et 1000 lignes/seconde pour un Atari Falcon avec un 68030 à 16 MHz (je te laisse imaginer pour une machine 1000 fois plus puissance en théorie).
Et ? Tu parles de compilateurs là pas de langages. Changes de compilo pascal, et tu peux descendre bas, bien plus bas (exemple). Ca n'a rien à voir avec le langage, mais avec le compilo tout ca.
Et le problème du C vient du fait qu'il faille faire des tests sur des conditions alors que ce n'est pas le cas en Pascal
Gniii ? Il n'y a pas de conditions en pascal peut-être ? Et en quoi ca influence la vitesse de compilation.
qui n'est pas un langage permissif et n'a pas besoin de plusieurs passes.
Le C non plus n'a pas besoin de plusieurs passes. Les premiers compilos C faisaient tout en une passe. On retrouve ca dans des projets comme TCC, C4, le schulter-cc, le SmallerCC (je te laisse faire des recherches), mais cela a un prix: il y a moins d'optimisations car les adresses ne sont plus modifiables après la première passe. Cela voudrait dire que compiler vite signifie moins optimiser ? Zut alors! (je te laisse tester une compilation C avec GCC en -O0 et -O3)
Donxc ce que j'ai écrit sur la vitesse de compilation est VRAI désolé de t contredire! C'est pas avec un exemple spécifique en 1 passe que tu vas contredire ce fait. C'est reconnu d'ailleurs que les compilo pascals sont les plus rapides existant (renseignes toi)
Aie aie aie, tu n'as rien contredit. Tu as affirmé pleins de choses sans source ni lien avec ce qui est dit. Les compilos pascals sont rapides ? Essaye déjà de battre TCC et sa compile de l'ensemble des sources du noyau linux (à la louche 8 millions de loc) en 10-15sec.
Pour le P-code, oui c'est une petite erreur de ma part (même si la docu là dessus est inexistante, mais ici je voulais surtoit dire que le Pascal fournissait du Byte Code bien avant Java et que donc c'était pas un point en faveur de Java.
Tu sais que de nos jours le pcode est traduit en code machine natif par les JVM ? Autant générer du code natif dès le départ. C'est ce que gnu GCJ faisait.
Pour les fonctions sur la RAM, je parle ici d'un comparatif "Unité" vs "librairie" dispo entre les 2 langages. En Pascal, on a MaxAvail, et MemAvail de l'Unité "system" (intégré dans Pascal) dont je n'ai pas trouvé l'équivalent.

Code : Tout sélectionner

man sysconf
Tu dis que ces fonctions viennent de l'OS ? Alors pourquoi ne sont-elles pas intégré dans les Unités DOS, TOS ou GEM des Atari mais dans System ? Ca veut dire que ce sont des fonctions propres au Pascal non ? (j'attend une explication cohérente sur ce fait).
Parce que ce sont des utilitaires masquant la complexité de l'allocation mémoire. D'ailleurs quel est le sens de la mémoire disponible dans un environnement avec multithread et mémoire virtuelle ? très peu. Tiens une discussion à ce sujet: https://forum.lazarus.freepascal.org/in ... ic=41486.0

Du restes, tu fais encore la confusion entre langage (le pascal) et les bibliothèques de support propre à un compilo, voir à une machine donnée. System.MemAvail ne figure pas dans l'ISO-Pascal. Cela ne fait pas parti du langage, mais c'est écrit sous forme d'une bibliothèque dans ce langage pour certains compilos sur certains OS.
D'autres part, j'ai comparé des fonctions existante dans les unités standard de TP (CRT et Graph), et je n'ai trouvé aucun équivalent dans les librairies standard du C (référence "Lattice C 3.5" qui est pourtant un gros pavé), notamment sur les fonctions positionnant le curseur à l'écran, GOTXY, WhereX, WhereY, et les fonctions de l'Unité Graph... oui permet de tracer facilement des formes géométriques. Et c'est d'ailleurs un des ponts qui m'a fait fuyir du C/Pascal.

Code : Tout sélectionner

man curses
Ecore une fois tu confonds le langage, ses bibliothèques et l'OS autour. Quand j'étais en école d'ingé on avait du Pascal sur station Apollo. Il n'y avait pas d'unité CRT, donc pas de GOTOXY et consort. Pourtant on faisait du Pascal. Faut pas croire que Pascal = turbo-pascal sur PC.
Le Pascal a la surcharge des opérateurs, pas le C, le Pascal permet également le polymorphisme avec certaines fonctions (comme write, read) ce qui n'est pas le cas du C.
Pas dans le pascal de base. Ceci est une extension propriétaire propre à certains pascals, mais pas tous hélas. C++ a de la surcharge d'opérateur, mais perso j'aime pas ,ca fait des effets de bords bien crado quand l'addition et le produit perdent leur distributivité.
Bon c'est cool de m'avoir démoli sur quelques rares point sans me féliciter sur le travail accompli.
Désolé, tu n'as pas bien lu le début de mon texte.

D'ailleurs on ne démolit pas. Tu peux très bien montrer que le Pascal-<insérer ici le compilateur et l'os> est un environnement très bien. Mais pas besoin de raconter des trucs faux sur les autres langages. On te signale juste qu'en propageant des fausses infos sur le C, on ne peut pas te prendre au sérieux pour le reste. C'est dommage.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Neotenien
Messages : 354
Inscription : 23 oct. 2020 19:15
Localisation : Le Mans
Contact :

Re: Nouveau site web dédié au langage Pascal (2021), basé sur Pure Pascal

Message par Neotenien »

hlide a écrit : 06 févr. 2023 22:56 Oh ! Ah ! ah bon ? printf et scanf ne peuvent pas avoir une liste d'arguments variables ? les fonctions dont tu parles (Read, ReadLn) ne sont pas des fonctions pures Pascal. Eclaire moi sur comment déclarer une fonction variadique en Pascal ?
Ce n'est donc pas orthogonal : une seule fonction pour écrire à l'écran en Pascal, idem pour écrire, avec printf et les putc, putl etc, ça en fait plusieurs

D'autres part pour les fonctions variadiques, on peut passer des paramètres en Pascal tout comme en C... Voir ici ...

On peut écrire un programme Pascal avec
program(string : parametres);
begin

end.
Où on peut décortiquer ladite chaine... Ou utiliser un type structuré...
Sappas
Messages : 679
Inscription : 02 oct. 2022 18:11

Re: Nouveau site web dédié au langage Pascal (2021), basé sur Pure Pascal

Message par Sappas »

Le Pascal a été décrié, il fait parti des langages de programmation, il mérite rien qu'au niveau historique, d'être cité !
Après je ne m'aventurerai à le comparer !
C'est mon premier langage appris à la fac.
Avatar de l’utilisateur
paspeur
Messages : 320
Inscription : 29 avr. 2022 16:28
Localisation : Californie/Bretagne

Re: Nouveau site web dédié au langage Pascal (2021), basé sur Pure Pascal

Message par paspeur »

Merci pour ce site web @Neotenien !

Après le BASIC et de l'assembleur, je me suis mis au Pascal avec Turbo Pascal 4. Borland a fait un beau travail avec ces Turbos et ses produits dérivés (Turbo Tutor, Turbo Editor, Turbo Database, ...)

Le P-Code en tout ça m'intrigue...
Dernière modification par paspeur le 07 févr. 2023 10:26, modifié 1 fois.
__sam__
Messages : 7987
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Nouveau site web dédié au langage Pascal (2021), basé sur Pure Pascal

Message par __sam__ »

Neotenien a écrit : 07 févr. 2023 01:25 On peut écrire un programme Pascal avec
program(string : parametres);
Où on peut décortiquer ladite chaine... Ou utiliser un type structuré...
Donc on peut pas écrire des fonctions avec un nombre variable d'arguments. On doit bricoler pour ses propres fonctions. Tout passer sous forme de chaine marche probablement pour le writeln(), mais comment on fait quand certains paramètres sont modifiés en sortie? Hum... (les record ont un nombre défini de champs.)
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Neotenien
Messages : 354
Inscription : 23 oct. 2020 19:15
Localisation : Le Mans
Contact :

Re: Nouveau site web dédié au langage Pascal (2021), basé sur Pure Pascal

Message par Neotenien »

paspeur a écrit : 07 févr. 2023 03:08 Merci pour ce site web @Neotenien !

Après le BASIC et de l'assembleur, je me suis mis au Pascal avec Turbo Pascal 4. Borland a fait un beau travail avec ces Turbos et ses produits dérivés (Turbo Tutor, Turbo Editor, Turbo Database, ...)

Le P-Code en tout ca m'intrigue...
Le P-Code est la méthode de "compilation" utilisé par Pascal UCSD (années 70, qui existe aussi sur Thomson TO8), mais pas par les Pascal des années 80 et la suite. Ceux là ne font que des compilations en Langage Machine. Pour Atari ST/TOS, c'est Alice Pascal,HS Pascal (dit "Maxxon) et Pure Pascal (dont la dernière version d'aout 1995 ets compatible avec Turbo Pascal 7+).
Le P-Code est du pseudo code c'est à dire une sorte de code intermédiaire qui rend ce code compatible avec tous les UCSD (et donc ça agit comme le Byte Code Java dont chaque VM traduit le code en assembleur de la machine courante). Ca fait un code pas très rapide (sur Thomson TO8, j'ai testé un peu ce pascal UCSD et c'est très lent comparé à du compilé).

Sur la page d'accueil de mon site web, en bas, ya une petite liste de compilo pascal pour différents ordinateurs 8 bits. Il semble que Kylian Pascal soit un bon pascal pour les ordi à base de 6502 (C64, Atari 8 bits, Apple II).

Turbo Pascal est "de fait" devenu une norme en langage Pascal et n'ea pas attendu différents consortium pour faire évoluer le langage.

Pascal est l'ancêtre de Modula 2n puis Oberon qui reprennent les grands principes tout en supprimant certaines choses de Pascal, comme les opérateurs SHL/SHR (inutiles avec les multiplication de puissances de 2) et en ajoutant d'autres (je crois - pas sîr - que Oberon permet la généricité ainsi que Modula).
Dernière modification par Neotenien le 07 févr. 2023 11:35, modifié 1 fois.
Zebulon
Messages : 2806
Inscription : 02 nov. 2020 14:03

Re: Nouveau site web dédié au langage Pascal (2021), basé sur Pure Pascal

Message par Zebulon »

Neotenien merci beaucoup pour tout le travail que tu fais pour la communauté.

J'ai officiellement commencé l'informatique avec le basic (d'abord sur l'Epson HX-20 puis sur l'Amstrad CPC 464) mais dès la terminale j'ai appris le Pascal en option informatique avec Turbo Pascal 3.0. Ensuite j'ai passé de grands moments à développer en Turbo Pascal dans ses versions successives et "orientée objet" sur la fin comme y disaient, avec mon PC 1512. C'est aussi mon langage de cœur que je redécouvre aujourd'hui sur le CPC 6128 que je n'avais pas pu avoir dans ma jeunesse (d'ailleurs je suis beaucoup les devs de Gilles59 sur le forum vert).

Donc pour en revenir à ton fil, je suis content d'apprendre qu'il y a une mouture sur Atari et je pense que la machine est assez puissante pour faire des trucs sympas avec, donc j'espère pouvoir m'y essayer quand la machine achetée à Jeff l'été dernier sortira de la pile "to do".

Concernant le Byte code de Java, il me semble que les premières VM (Virtual Machine) Java exécutaient (interprétaient) le Byte code, la compilation JIT (Just In Time) est venue un peu plus tard comme effectivement un gros progrès pour les performances et crédibiliser ce langage dans les entreprises (celle où je bossait en tout cas) qui n'y voyaient au départ qu'un truc pour faire des gadgets dans les pages Web.

Pour le standard "de fait", c'est clair que Borland a été la locomotive et le plus grand promoteur du langage Pascal, d'ailleurs c'est un peu comme frigo/réfrigérateur, on parle de Turbo Pascal comme du langage Pascal.
Neotenien
Messages : 354
Inscription : 23 oct. 2020 19:15
Localisation : Le Mans
Contact :

Re: Nouveau site web dédié au langage Pascal (2021), basé sur Pure Pascal

Message par Neotenien »

__sam__ a écrit : 07 févr. 2023 07:30
Neotenien a écrit : 07 févr. 2023 01:25 On peut écrire un programme Pascal avec
program(string : parametres);
Où on peut décortiquer ladite chaine... Ou utiliser un type structuré...
Donc on peut pas écrire des fonctions avec un nombre variable d'arguments. On doit bricoler pour ses propres fonctions. Tout passer sous forme de chaine marche probablement pour le writeln(), mais comment on fait quand certains paramètres sont modifiés en sortie? Hum... (les record ont un nombre défini de champs.)
Pascal est sensé être un langage non permissif pour éviter les erreurs de programmations (et des bugs). C'est un langage cadré. Ca suppose de réfléchir les algorithmes avant de se lancer à corps perdu. Les pointeurs de variable (et de procédures) sont arrivés sur Pascal sur le tard.

Après pour répondre à ta question, les variables structurées en Pascal peuvent être dite "variantes". Ca signifie qu'un type record peut avoir un champ différent suivant la valeur d'un (et un seul) des champs de ces enregistrements. L'exemple de la page donnée en l'hyperlien peut aider à comprendre. Comme il est dit dans cette page, le type Objet est alors préférable au type structuré... Il y a cette page qui explique plus en détail comment fonctionne les variants et en explique les limites. L'exemple donné ici dépend du statut d'une personne et fait varier "sur le coup" le nombre de champs et leur type, d'un enregistrement. Ca peut être considéré comme une forme de polymorphisme (enfin pas exactement puisqu'ici, ce n'est pas une fonction mais une variable) qui dépend toutefois de la valeur d'un des champs.

Autre chose, en Pascal, tu as les "function" et les "procedure"!! Si tu as des paramètres modifiés en sortie, tu peux utiliser la clause "var" dans une procédure

Exemple

Code : Tout sélectionner

Procedure carrecube (X : real; var  carre, cube : real);
begin
   carre:=x*x;
   cube:=carre*x;
end;
Ici tu as une variable passée par "valeur" (X) et 2 par "référence" (carre et cube). C'est le var qui indique que c'est une référence (eh oui c'est l'inverse du JavaScript! en JavaScript, c'est var qui indique une variable locale). Et si je ne dit pas de Bettise, en C, les références sont donnés par l'Astérisque ? (*)
Neotenien
Messages : 354
Inscription : 23 oct. 2020 19:15
Localisation : Le Mans
Contact :

Re: Nouveau site web dédié au langage Pascal (2021), basé sur Pure Pascal

Message par Neotenien »

Pour Zebulon

Oui c'est intéressant de voir qu'il y ait eu 3 compilo pascal pour les Atari ST. Le moins évolué, Alice Pascal, est déjà bien sympa. Pure Pascal 1.1.1 est fulmlmy compatible avec Turbo Pascal 7+ (autrement dit, c'est quasiment du Delphi avec quelques petites niances).

Pue Pascal a été édité et commercialisé par Application System Heidelberg, Allemagne, qui a produit aussi de très bon logiciels pour Atari ST ou Falcon. Texel, un tableur similaire (mais avec + de possibilité) à Excell de l'époque a été développé en Puure PAscal. Mais je soupconne d'autres logiciels d'ASH développé par ASH.

Concernant les logiciels développés en Pascal actuellement, il y a une liste non exhaustive de 33 logiciels développés par Free Pascal sur wiki.

Pour mon site web, dans "lexique" et "unités" il s'agit de la doc en format HLP traduite de 'lallemand avec Google Translator. Plus de 500 pages web fait ainsi. Je ne connais pas l'allemand. J'ai relu les traduction en modifiant parfois certaines parties de traductions qui ne me paraissaient pas claires ou compréhensible (mais c'était rare). Donc ça n'est pas dénués d'erreur dans la traduction (ou même de la part d'ASH eux même).

Par contre, la partie "Algorithme" est de mon propre fait. J'esaierai d'y mettre tos les algoritmes que j'ai en ma possession ou que j'ai créé (et pas forcément qu'en Pascal, mais je les changerai pour ce langage, notamment j'en ai pas mal en PHP et JavaScript).
Avatar de l’utilisateur
hlide
Messages : 3506
Inscription : 29 nov. 2017 10:23

Re: Nouveau site web dédié au langage Pascal (2021), basé sur Pure Pascal

Message par hlide »

Toujours pas une fonction variadique. Et le lien que tu me donnes sur le polymorphisme pour y parvenir est incroyablement inefficace et ne répond pas.

Code : Tout sélectionner

const
   Three = 3;
var 
   K: Integer; 

function add(i1: integer = 0; 
             i2: integer = 0;
             i3: integer = 0; 
             i4: integer = 0; 
             i5: integer = 0; 
             i6: integer = 0;  
             i7: integer = 0;  
             i8: integer = 0): integer;
begin
   add := i1+i2+i3+I4+I5+i6+I7+I8;
end;

begin
   K := add; { K is 0}
   K := add(K,1); { K is 1}
   K := add(1,2); { K is 3}
   K := add(1,2,Three); { K is 6, etc.}
end.
Je suis limité à 8 arguments maximum ici et pire je dois exécuter chaque "add" même si je n'en passe que trois ou quatre arguments et je suis bien sûr limité au "integer". Bref, quelque soit la solution proposée, on note que l'implémentation, le code qui en résulte n'est pas optimal.

Ça me rappelle à quel point les opérateurs "and" et "or" sont d'une efficacité redoutable comparé aux && et ||. C'est ironique bien sûr. Alors oui, ils ont fini par ajouter "and then" et "or else" mais honnêtement je n'ai jamais trouvé un intérêt à utiliser "and" et "or" dans les conditions "if" tant c'est stupide et absolument pas optimal du tout.

A vouloir te faire passer pour un expert en langage de programmation, tu n'es pas crédible d'autant que tu mélanges langage (grammaire) et implémentation (librairie et compilateur). Mon premier langage structuré fut le Pascal et j'adorais le magazine Pascalissime. Mais tu ne convaincras pas de la supériorité du PASCAL sur n'importe quel autre langage. Et d'ailleurs, pourquoi ne pas faire du Modula-2 au lieu du Pascal ?

Je ne réagis pas par rapport à ton site mais à ton discours discriminatoire sur le C qui te dessert plus qu'autre chose et qui ne devrait pas avoir lieu en fin de compte pour annoncer ton site. J'ose espérer que le site ne soit pas de la même teneur à propos du C. __sam__ souligne qu'il n'aime pas le C++ et il en a le droit mais il ne cherche pas à nous convaincre avec des arguments fallacieux.
Répondre