IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Pascal Discussion :

Mes doutes personnels du moment : Pascal ou Ada ?


Sujet :

Pascal

  1. #1
    Inactif Avatar de Hibou57
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    852
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 852
    Points : 493
    Points
    493
    Par défaut Mes doutes personnels du moment : Pascal ou Ada ?
    Bonsoir les gens d'ici,

    Tout d'abord j'suis désolé pour le fil sur les options de la ligne de commande que je n'ai pas terminé, mais j'y reviendrai.

    Comme certains le save, je me suis interessé à FreePascal (et comme beaucoup ici, je suis passé par la case TP7), parce que je lui trouvais beaucoup d'avantages : pas trop lourd, assez fidèle au extention Borland, et portabilité Windows <-> Linux.

    En même temps, le reproche qui est parfois fait à Pascal, son manque de standardisation, je le passais outre, parce qu'il ne me semblait pas s'exprimer.

    Mais je me suis aperçu d'un important changement de la sémantique objet depuis la dernière version de pascal : des accés à des membres protected qui ne le sont plus là où il l'était avant, et qui font que les codes de la version précédentes ne sont plus garantie compilable sur la nouvelle version (et chez moi, effectivement, ça ne compile plus).

    Tout d'un coup ce problème que j'ignorais s'est mis à surgire. Au départ, je pensais à un bug, et je l'avais signalé. Mais on m'a répondu que non, que c'était la sémantique qui avait changé. J'ai alors fait remarqué que l'interprétation faite par le compilateur est en contradiction avec la référence du langage qui se trouve sur le site. On m'a répondu que c'était comme ça, et que ça ne changerait pas (ni la nouvelle sémantique, ni ce que la documentation en dit de contradictoire). J'ai alors poursuivi en faisant remarqué qu'un tel changement de sémantique ne serait pas sans poser de problème, et qu'alors il serait peut-être interessant de faire un fork de FPC. Etrangement, alors que le compilateur est sous une license qui l'autorise, on m'a fait comprendre que je ne serais pas le bien venu à forker FPC.

    J'avais beaucoup travaillé à porter mes anciens sources C vers Pascal, et voilà que j'ai l'impression que je ne peux pas faire confiance à ce compilateur. Et je me dis que le simple fait de se dire "ce compilateur" me pose problème.... Parce que les autres compilateurs seraient différents, et que je ne peux même pas me dire "je passe à un autre compilateur pascal", parce que tout les compilateurs pascal fonctionne sur le mode "extention perso", ou dans le meilleur des cas, ont une sémantique qui varie en fonction des options de compilation.

    Alors comme je me suis aussi interessé à Ada (compilateur GNAT), que je l'avais abandonné parce qu'il me semblait produire des executables trop lourds, mais qu'entre temps j'ai trouvé le moyen d'y remedier, je me dis que peut-être qu'un fois de plus, je devrais encore migrer une fois de plus, mais vers Ada cette fois, pour être là plus probablement à l'abris de ce genre de mésenventure.

    Seulement, ça ne m'emchante guère..... même si Ada et Pascal sont réputé proche, ils sont assez différents, et ce second portage ne peut pas se faire sans redesign (pour être propre en collant au langage, et comme je l'ai fait pour porter de C à Pascal).

    Donc la question me vient de savoir si ce serait-ce une bonne chose que de migrer encore une fois de plus.... est-ce que je ne m'embale pas trop vite.

    Et surtout, justement comme Ada et Pascal sont réputés proches : pourquoi Pascal plutôt que Ada, et réciproquement, pourquoi Ada plutôt que Pascal..... étant donné que ceux/celles de l'un peuvent comprendre les concepts de l'autre, qu'est-ce qui guide le choix de l'un plutôt que l'autre ?

    Que perdrais-je si je migrais de Pascal vers Ada (la question de ce que j'y gagnerais ne pouvant pas être l'objet d'un fil dans le forum pascal).

    En temps que "Pascalien(e)s", qu'est-ce qui motivent votre choix de Pascal plutôt qu'Ada ? Et quelles arguments, en pensant au long terme, auriez-vous pour me dire "non, ce serait une erreur, mieux vaut rester à Pascal" ?

    Au plaisir de vous lire
    ------------------------------------------------------------
    Sur le web, c'est la liberté qui est gratuite, mais bien évidement pas la consomation ... et encore moins la consomation à outrance
    ------------------------------------------------------------
    Language shapes the way we think, and determines what we can think about [ B. Lee Whorf ] ... mais ce n'est pas tout à fait vrai à 100%...
    ------------------------------------------------------------
    Pascal (FreePascal?) - Ada (Gnat-3.15p)
    XSLT (XSLTProc) - CGI binaires (Ada/C) [ Clavier Arabe ]
    ------------------------------------------------------------

  2. #2
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 464
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 464
    Points : 4 311
    Points
    4 311
    Par défaut
    Personnellement, je pense qu'il faut envisager que chaque compilateur puisse fonctionner différemment, et éviter de penser qu'il serait souhaitable que tous les compilateurs soient compatibles entre eux, c'est une utopie. Tout simplement, parce que les gens qui font les compilateurs ne sont pas les mêmes, et non pas la même façon de fonctionner ou penser.

    Est-ce vraiment un gros traumatisme si les membres protected ne sont plus vraiment protégés ? Quel est l'impact pour ton code exécutable compilé ? A mon avis, la réponse est: aucun impact. A voir donc, quel est le coût en terme de temps d'un portage, comparé à l'inconvénient (que je jugerai minime) apporté par ce changement de politique dans FreePascal. Ce n'est qu'un exemple, mais pour moi la réponse est claire et sans appel: rester à FreePascal Quitte à modifier mon application, ce qui me prendra probablement pas plus de 3 secondes.
    M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal

  3. #3
    Inactif Avatar de Hibou57
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    852
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 852
    Points : 493
    Points
    493
    Par défaut
    Citation Envoyé par wormful_sickfoot Voir le message
    Quel est l'impact pour ton code exécutable compilé ?
    L'impact est que le code ne peut plus être compilé.

    Citation Envoyé par wormful_sickfoot Voir le message
    Est-ce vraiment un gros traumatisme si les membres protected ne sont plus vraiment protégés ?
    C'est le contraire : ce sont des accès qui étaient autorisés qui ne le sont plus. Il faudra que je retrouve la déclaration de bug que j'avais faite, pour poster le lien ici. Et moi j'avais intégré cette logique, et mes unités étaient basé sur cette logique. Comme elle est maintenant fausse, l'architecture des unités est maintenant fausse elle aussi.

    Pour la questions des différences entre compilateur, peut-être que j'ai cette utopie justement. Il y avait bien un Pascal ISO, ..... mais celui là, ce n'est même pas peine d'en parler.

    Et puis je pense au futur projet d'introduire la généricité dans FPC. Je me dis que c'est une bonne idée. Mais s'ils inventent leurs propre notion de la généricité : vat-elle être stable ? Le même phénomène risque peut-être de ce reproduire. Alors que justement dans l'autre langage que je cite, la généricité est définie depuis longtemps (j'avais oublié de préciser ce point, mais il pèse en ce moment dans ma manière de penser la chose).

    J'étais en train de me dire que FreePascal + Lazarus, ce n'est pas la même chose que FreePascal sans Lazarus. On quand on travail avec Lazarus, on est plus fortement lié à FPC que l'orsque l'on ne l'utilise pas, et c'est peut-être pour cette raison que je parviens pas à me décider (alors que pour les utilisateurs de lazarus la réponse est plus immédiate et souffre de moins de doute je pense)

    Enfin, je préfère passer une ou deux journée à me torturer l'esprit que de regréter un choix trop hatif....
    ------------------------------------------------------------
    Sur le web, c'est la liberté qui est gratuite, mais bien évidement pas la consomation ... et encore moins la consomation à outrance
    ------------------------------------------------------------
    Language shapes the way we think, and determines what we can think about [ B. Lee Whorf ] ... mais ce n'est pas tout à fait vrai à 100%...
    ------------------------------------------------------------
    Pascal (FreePascal?) - Ada (Gnat-3.15p)
    XSLT (XSLTProc) - CGI binaires (Ada/C) [ Clavier Arabe ]
    ------------------------------------------------------------

  4. #4
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 464
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 464
    Points : 4 311
    Points
    4 311
    Par défaut
    Il suffit de réécrire la partie du programme qui ne se compilent plus. Si les accès autorisés ne le sont plus, c'est qu'il y a une raison valable, au niveau conception ou sécurité.

    Le but d'un compilateur est de compiler pour une plateforme donnée et de fournir un code exécutable. Je pense que c'est utopique de penser qu'un code puisse être compilé sur n'importe quelle plateforme et qu'il fera exactement la même chose. C'est peut-être possible actuellement et dans certains cas, mais à mon avis, ce n'est pas la bonne direction à prendre pour le développement futur (Je ne parle pas de java, qui permet de s'affranchir de cela).
    M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal

  5. #5
    Inactif Avatar de Hibou57
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    852
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 852
    Points : 493
    Points
    493
    Par défaut
    Citation Envoyé par wormful_sickfoot Voir le message
    Il suffit de réécrire la partie du programme qui ne se compilent plus. Si les accès autorisés ne le sont plus, c'est qu'il y a une raison valable, au niveau conception ou sécurité.
    Mon problème c'est une perte de confiance : je ne voyais pas les choses de cette manière, l'idée de repenser la logique des choses parce que les règles du langage ont changé ne m'inspire pas confiance.

    Citation Envoyé par wormful_sickfoot Voir le message
    Le but d'un compilateur est de compiler pour une plateforme donnée et de fournir un code exécutable. Je pense que c'est utopique de penser qu'un code puisse être compilé sur n'importe quelle plateforme et qu'il fera exactement la même chose. C'est peut-être possible actuellement et dans certains cas, mais à mon avis, ce n'est pas la bonne direction à prendre pour le développement futur (Je ne parle pas de java, qui permet de s'affranchir de cela).
    Oui, bien sûr, et j'ai été souvent là pour le dire, dans d'autres sections du site (comme je dis toujours, Windows c'est Windows, Linux c'est Linux, etc, etc). Mais là ce n'est pas une question de plateforme, c'est une question de stabilité dans la sémantique. Je suis peut-être bête, mais poiur moi ces choses là doivent êtres quasiement immuable, ou alors évolué quand c'est absoluement nécéssaire. Comme je disais plus haut, c'est un problème de confiance, et je ne sais plus quoi en penser.
    ------------------------------------------------------------
    Sur le web, c'est la liberté qui est gratuite, mais bien évidement pas la consomation ... et encore moins la consomation à outrance
    ------------------------------------------------------------
    Language shapes the way we think, and determines what we can think about [ B. Lee Whorf ] ... mais ce n'est pas tout à fait vrai à 100%...
    ------------------------------------------------------------
    Pascal (FreePascal?) - Ada (Gnat-3.15p)
    XSLT (XSLTProc) - CGI binaires (Ada/C) [ Clavier Arabe ]
    ------------------------------------------------------------

  6. #6
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    Foy,
    Citation Envoyé par Hibou57 Voir le message
    Mon problème c'est une perte de confiance : je ne voyais pas les choses de cette manière, l'idée de repenser la logique des choses parce que les règles du langage ont changé ne m'inspire pas confiance.


    Oui, bien sûr, et j'ai été souvent là pour le dire, dans d'autres sections du site (comme je dis toujours, Windows c'est Windows, Linux c'est Linux, etc, etc). Mais là ce n'est pas une question de plateforme, c'est une question de stabilité dans la sémantique. Je suis peut-être bête, mais poiur moi ces choses là doivent êtres quasiement immuable, ou alors évolué quand c'est absoluement nécéssaire. Comme je disais plus haut, c'est un problème de confiance, et je ne sais plus quoi en penser.
    Je ne vois pas pourquoi tu hésites, tes commentaires montrent qu'en fait ta décision est déjà prise, tu ne veux plus de FreePascal, et même de Pascal en général.

    Il n'y a pas de véritable norme en Pascal, sauf les bases du langage, ce qui ne va pas bien loin.
    Et encore, est-ce une norme au sens propre ?

    Une "quasi-norme" était due au développement par Borland, mais cela n'a rien d'officiel, et personne n'est donc obligé de suivre.
    Si les cons volaient, il ferait nuit à midi.

  7. #7
    Inactif Avatar de Hibou57
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    852
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 852
    Points : 493
    Points
    493
    Par défaut
    J'ai bien réfléchi, et je passe finalement à Ada (que je n'utilisais que accessoirement jusque maintenant), mais sans renier l'intérêt que représente Pascal pour les usages éducatifs, et pour les bons souvenirs que m'a laissé Borland (bien que Ada, bien présenté, puisse être utilisé à cette fin également).

    Bon, mais maintenant je rame pour faire de la cross compilation.

    Tant pis, je me débrouillerai.

    Merci quand-même pour vos réponses

    (je marque résolu à titre personel seulement)
    ------------------------------------------------------------
    Sur le web, c'est la liberté qui est gratuite, mais bien évidement pas la consomation ... et encore moins la consomation à outrance
    ------------------------------------------------------------
    Language shapes the way we think, and determines what we can think about [ B. Lee Whorf ] ... mais ce n'est pas tout à fait vrai à 100%...
    ------------------------------------------------------------
    Pascal (FreePascal?) - Ada (Gnat-3.15p)
    XSLT (XSLTProc) - CGI binaires (Ada/C) [ Clavier Arabe ]
    ------------------------------------------------------------

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Facebook] Qui leur a vendu mes données personnelles?
    Par nuke_y dans le forum La taverne du Club : Humour et divers
    Réponses: 37
    Dernier message: 12/05/2014, 11h22
  2. Réponses: 0
    Dernier message: 21/03/2014, 05h39
  3. Utiliser Ogre pour charger mes dll personnelles
    Par Kromagg dans le forum Ogre
    Réponses: 0
    Dernier message: 29/09/2008, 20h58
  4. Apprendre avec de bonnes habitudes : Ada ou Pascal ?
    Par steiner81 dans le forum Débuter
    Réponses: 15
    Dernier message: 03/06/2007, 00h38
  5. Traduction programme Pascal en ADA
    Par Argol dans le forum Ada
    Réponses: 1
    Dernier message: 02/10/2006, 13h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo