Journal un nouveau langage de programmation

Posté par  .
Étiquettes : aucune
0
21
jan.
2004
Non, je ne vais pas me lancer dans l'écriture d'un nouveau langage de programmation. J'ai déjà assez de mal à choisir un de ceux qui existent.

Je me demande plutôt qu'est ce qui importe quand vous choisissez un langage de programmation. Est-ce la synthaxe, la rapidité d'exécution ou de développement, la facilité avec laquelle il fait le café?

À quoi ressemblerait votre langage si vous pouviez (vouliez) en écrire un? À quoi servirait-il ce nouveau langage? Qu'aurait-il que les autres n'ont pas?

Cela fait beaucoup de questions. Je demande donc votre avis chers lecteurs.

P.S. Je ne cherche surtout pas des réponses du style : "Mon langage est meilleur que le tien."
  • # Re: un nouveau langage de programmation

    Posté par  (site web personnel) . Évalué à 3.

    Perso, quand j'utilise un language, je pense réutilisabilité et portabilité quand je compte développer quelquechose à long terme.
    Si en plus se pose un problème de perf, je m'oriente sur c et c++ (c++ encore plus facile à réutiliser), sinon aussi java.
    Pour un petit dev, pour répondre à un besoin précis, les languages tels que perl,python, ...
    Pour ce qui est du nouveau language j'avoue que pour l'instant je n'éprouve pas de nouveau besoin : le marché (du libre surtout) répond à mes demandes ...
  • # Re: un nouveau langage de programmation

    Posté par  . Évalué à 2.

    > À quoi ressemblerait votre langage si vous pouviez (vouliez) en
    > écrire un? À quoi servirait-il ce nouveau langage? Qu'aurait-il que
    > les autres n'ont pas?

    Ca ressemblerait à ça:
    http://www.nosica.net/(...)

    Mais bon, ça avance pas trop vite, alors c'est pas trop utilisable encore... Mais David fait un super travail là dessus !
  • # Re: un nouveau langage de programmation

    Posté par  (site web personnel) . Évalué à 8.

    Je veux tous les avantages :-)
    Sinon, c'est une histoire de compromis, donc pas de réponse à ta question. Tout dépend de la tâche.
    Pour moi c'est C++ car c'est rapide, je le connais plutôt bien et ce n'est pas trop mauvais, et python car c'est super pratique à écrire (et les autres langages genre ruby n'apportent pas assez pour que je change, même si ils peuvent être meilleurs).
    Conclusion: le meilleur c'est souvent celui qu'on connait déjà.
    • [^] # Re: un nouveau langage de programmation

      Posté par  . Évalué à 2.

      Conclusion: le meilleur c'est souvent celui qu'on connait déjà.
      Je plussoie !
      Et j'ajoute qu'on doit également se poser la question de choisir quel langage en fonction de quel usage. Pour un petit truc rapide, le shell peut suffire, si le shell ne suffit plus, on peut s'orienter vers du perl|python|ruby|autre.
      Dans l'absolu, je ne pense pas qu'il y ai _un_ langage.
      Quant à savoir lequel choisir, et bien, apprends en plusieurs (cela te servira toujours de pouvoir écrire des Hello Worlds en 126 langages, si si). Et je suis sûr qu'il y en a un qui t'accorchera plus...
  • # Re: un nouveau langage de programmation

    Posté par  . Évalué à 1.

    Ben je serai pas trop exigent,

    Un langage comme le C me convient parfaitement du fait de son étendu
    d'utilisation.

    La seul chose que je voudrais dans un nouveau langage serait qu'il me
    parle et que je lui parle en Francais, c'est tout.
  • # Re: un nouveau langage de programmation

    Posté par  (site web personnel) . Évalué à 2.

    Comme certains ci-dessus, j'aime le C/C++ pour la portabilité (merci mon amis gcc), sa lisibilité et sa rapidité d'exécution notament vis-à-vis de certains langages comme java qui ont leurs importances mais ont quelques lacunes (la lenteurs des vm justement, etc...).

    Etant un fana de programmation objet, j'aimerai qu'il existe un langage avec la même syntaxe que le C++ (ou s'y rapprochant) mais vraiment purement objet (sans fonctions globales mais à la rigueur statiques à une classe), des initialiseurs de classes (appelé au début du prog pour initialiser les membres statiques - un constructeur mais pour la classe, pas pour ses instances) ce genres de chose koi.
    Remarquez, ca existe peut-etre déjà ?

    Un jour libre ?

  • # Re: un nouveau langage de programmation

    Posté par  . Évalué à 3.

    Personnelement j'apprécie fortement Ocaml

    Il mélange fonctionnel/imperatif et objet, ce qui permet d'ecrire le code le mieux adapté a un probleme donné.

    Son style fonctionnel permet d'ecrire du code tres proche des specifications formelles, d'ou un code qui marche bien du premier coup, et tres peu buggé.

    Son typage fort (je dirait meme blindé) et par inférence est un régal

    Bref, un langage super puissant et tres fiable.

    Malheureusement, il est un peu déroutant pour les adeptes des langages purement impératifs, et il manque de librairies.
    • [^] # Re: un nouveau langage de programmation

      Posté par  . Évalué à 1.

      J'ajouterais que la syntaxe de Ocaml est pour le moins un peu déroutante. En effet, C/C++, java, PHP, python et autres langages de programmation sont assez proches (les mots réservés sont quaziment tous les même).

      En outre, je trouve qu'il manque des exemples concrèts à Ocaml. L'exemple de la tour de Hanoi, de la suite fibonacci, KPM ou de reines sur leurs trône sont des cas d'école et pas vraiment des applications en tant que telles.

      Personnellement des applications comme unison (http://www.cis.upenn.edu/~bcpierce/unison/(...)) ou Hamilcar (http://mattam.ath.cx/soft/Hamilcar.html(...)) me parlent beaucoup plus sur les possibilités du langage.
      • [^] # Re: un peu hors sujet

        Posté par  . Évalué à 1.

        Merci pour le lien vers Unison !!!
        Je ne connaissais pas du tout et je crois que c'est ce que je cherchais depuis plusieurs moi !
        Merci ! J'essaie ça ce soir même
  • # Re: un nouveau langage de programmation

    Posté par  (site web personnel) . Évalué à 3.

    qu'est ce qui importe quand vous choisissez un langage de programmation

    Je répondrais par une autre question : qu'est-ce qui est important pour le logiciel que tu souhaite développer ?

    En effet pour moi le langage permet d'écrire un programme, ce n'est pas une fin en soi. Le choix du langage dépend alors des contraintes externes : framework existant, rapidité d'exécution, complexité du logiciel, portabilité, etc.

    Une fois que tout est clair, on peut choisir le langage. Par exemple,
    - si mon besoin c'est de manipuler trois chaînes de caractères, j'utilise 'sed' ou 'awk',
    - s'il faut que ça marche sur windows je prends Java,
    - si je voulais jouer avec GNUStep, je choisirai objectiveC,
    - etc.

    Quand à savoir s'il faut un nouveau langange, je ne connais pas tous les langages déjà existants (Ruby, Perl, scheme, Python, et tous les autres plus ésotériques encore) alors...

    Le langage que j'aimerai trouver, c'est un langage objet, proche du C, compilable (comme le C++), mais avec moins d'ecueils (comme Java). Si vous avez des pistes, je suis prenneur.
  • # Re: un nouveau langage de programmation

    Posté par  . Évalué à 1.

    Moi ce serait un langage qui integre la notion de composants. Car aujourd'hui il n'existe que deux solutions :
    - Utiliser des gros frameworks bien lourds tels que CCM, Com/Bonobo, ...
    - le simuler avec les elements fournis par le langage telles que les interfaces, classes virtuelles pures ...
  • # Re: un nouveau langage de programmation

    Posté par  . Évalué à 5.

    Je dirai que ca depend pas mal de ce que tu veux faire :
    - tu veux developper bas niveau ? (materiel, driver, io) : prend du C
    - tu veux faire un truc super optimise où tu avoir complètement la main sur la façon dont sont faites les allocations (alloca, malloc ...) : prend du C
    - tu veux faire un prototypage rapide pour voir si c'est possible de faire ce que t'as demande ton boss ? prend un script : perl/python/autre
    - tu veux faire une appli metier super complique ? prend un langage de tres haut niveau qui va t'abstraire de pas mal de taches bas niveaux chiantes a gerer a la main : nottament, il te faut un garbage collector. Prend si possible un langage où la librairie standard est touffue et couvre le plus de features possible : Java / python. Si tu as des contraintes de rapidite en plus (comportement pseudo temps reel, chemin critique a optimiser), prend du c++

    Au boulot on est en full c++ a cause de limites tres fortes en termes de rapidité de réaction et d'occupation mémoire. Il nous faudrait des bêtes de courses si on le faisait en Java. Ce qu'on ne peut se permettre car le déploiement se fait sur des postes clients, et il est impensable (dans notre contexte) de dire : "pour deployer notre appli il faut changer de machine".
    Sinon, perso, j'adore le Java.

    A cote de ca, je developpe Nosica qui est un concentre de Java et de c++ : une syntaxe plus "objet" et plus restreinte que le c++, mais aussi un langage plus complet que le Java : généricité, covariance, plus de sureté, typage fort ...
    Ce serait "mon" langage ultime ... le jour où il sera terminé et utilisable. A l'heure actuelle ce qui lui manque le plus c'est une librairie standard etoffé (en plus de continuer à implémenter les nouvelles constructions du langage)

    A+
  • # Re: un nouveau langage de programmation

    Posté par  . Évalué à 1.

    Pour moi ce serait Python mais avec:

    * La simplicité d'interaction avec d'autres langages de .NET
    * Une structure hiérarchique des modules ala JAVA
    * La rapidité d'exécution du C
    * Une meilleure déclaration typée des méthodes et attributs (private, instance de classe, ...)
    * Des modules qui implémentent les spécificités des autres langages: programmation par contraintes, logique, le threading déterministe (avec les variables assignables qu'une seule fois), ...
    * Des modules qui font ce que font les meilleurs framework: application distribué et les patterns qui vont avec, DB objet, Workflow compatible Wfmc, ...
  • # Re: un nouveau langage de programmation

    Posté par  (site web personnel) . Évalué à 2.

    Pour moi, il y a deux choses qui compte dans un langage :

    - ses nombreuses bibliotheques qui machent le boulot.
    - sa facilité d'installation des produits finis

    Le deuxieme va souvent à l'encontre du premier. Si Python, Perl, Java sont très complet en matiere d'API et de lib, ils sont souvent bloquant quand on veut diffuser son logiciel... p'tet que quand Microsoft mettra apt-get install sur windows, ça pourrait simplifier les choses, mais en attendant...

    Axel
  • # Re: un nouveau langage de programmation

    Posté par  (site web personnel) . Évalué à 2.

    use perl;

    A l'époque où je me suis lancé dans le Perl, je me suis dit :
    "mon petit, tu devrais au moins connaître un langage spécialisé CGI,
    tu as raté un job qui t'aurais permis de bosser sous linux..."
    Perl ou PHP ? J'ai choisi Perl qui me semblait, d'après ce que j'avais pu en lire, plus souple et plus complexe que PHP...
    Et je ne l'ai pas regretté.
    Petit à petit j'ai découvert ce langage, les soirs et les week-ends (car j'étais célibataire) pour me laver la tête de ces horribles Windev puis Progress

    L'intérêt du Perl a été, pour moi, de mieux me familiariser avec la culture Unix, dans le sens où Perl est très lié aux expressions régulières, c'est un langage de script qui me permet de faire ce que je ne sais pas faire en bash, awk sed...

    Maintenant Perl me permet d'écire des CGI, d'extraire des fichiers csv pour les intégrer dans MySQL, forger des messages EDI, etc...
    En passant il faut aussi prendre en compte les bibliothèques disponibles quand tu choisis un langage.

    Bref, maintenant je suis le seul informaticien dans ma boîte, et le Perl nous rend pas mal de services.

    Par contre, comme j'ai déjà pu le lire, Perl n'est pas le langage qu'il te faut pour apprendre à programmer ; il y a bien longtemps c'était le Pascal, puis le C.

    Maintenant je lorgne sur le Python car je me dis qu'un intranet en Zope pourrait être très sympa pour mes collègues...
    • [^] # Re: un nouveau langage de programmation

      Posté par  . Évalué à 2.

      Pour moi aussi, la découverte de Perl a été un grand bonheur : les expressions régulières qui sont un vrai bonheur quand on les maitrise, la possibilité d'écrire des scripts rapidement et comblant bien des besoins, la génération automatique de code de toutes sortes, etc...
      Bref, pour les petits besoins que j'ai, il me rend vraiment service et est assez rapide pour ses besoins.
      Pour ce qui est de la maintenabilité, la syntaxe est trop obscur et chaotique dès que l'on veut faire de l'objet ou des scripts assez importants...

      C'est pourquoi depuis quelques temps, j'essaie de passer à Ruby qui pour moi ressemble au successeur de Perl vraiment objet. Malheureusement, j'ai un peu plus de mal à m'y mettre. Ca me parait bizarrement un peu moins intuitif pour des besoins courants. P'tet à cause d'un manque de culture objet.

      Mais par exemple, j'ai découvert WeBrick (en standard dans la dernière version de Ruby) ou comment écrire un serveur Web en 3 lignes !
      http://www.webrick.org/(...)
      • [^] # Re: un nouveau langage de programmation

        Posté par  (site web personnel) . Évalué à 1.

        Pour ce qui est de la maintenabilité, la syntaxe est trop obscure et chaotique dès que l'on veut faire de l'objet ou des scripts assez importants...

        Mmmoui mais non. Ca dépend vraiment de ce que tu en fais. Le C aussi peut être obscur...
        D'ailleurs je crois qu'on en parle dans les 10 Perl myths :
        http://www.perl.com/pub/a/2000/01/10PerlMyths.html(...)
        (je ne l'ai encore jamais lu entièrement, je remet tjrs ça à + tard...Qui se dévoue pour en faire la traduction ? :-) )

        Pour donner mon expérience personnelle, je modifie en ce moment le Facturie d'UNGI (donc pas un simple petit script), entièrement écrit en Perl... et ... ça va. Je m'en sors, même si je n'aurais envisagé d'écrire des cgi de cette manière. J'avais mes habitudes, mes 'trucs', je découvre un autre point de vue, c'est très enrichissant.

        ... Merde, il faut que je continue à bosser d'ailleurs...
  • # Re: un nouveau langage de programmation

    Posté par  (Mastodon) . Évalué à 1.

    Si je pouvais écrire un langage, ça serait (à peu de choses près) Ruby. Note que comme ça, j'ai même pas besoin de l'écrire, ce qui satisfait tout à fait une des trois grandes vertues du programmeur: la paresse (d'après Larry Wall, monsieur Perl).
  • # Re: un nouveau langage de programmation

    Posté par  . Évalué à 1.

    Débat sensible s'il en est !

    Personnellement, ma préférence a de plus en plus tendance à s'écarter de celles des autres et est principalement axée sur le bas-niveau et l'optimisation. Donc :

    - énormément de langage C.

    - Du C++ également, lorsque j'ai besoin d'une structure objet. Dans ce domaine, j'affectionne spécialement ce langage plutôt que d'autres comme Java, d'abord parce qu'il se comporte, à la compilation, comme le C et permet de produire du code très proche de la machine, ensuite parce que je fais un usage assez poussé de la surcharge des opérateurs (nécessaires à mon goût pour réellement définir un nouveau « type »), ainsi que certains principes assez intérressants comme l'héritage multiple et aussi les templates.

    - Beaucoup d'assembleur. C'est par définition le seul langage qui permette de s'affranchir des couches intermédiaires. Je m'étonne d'ailleurs qui si peu de gens soient encore intérressés par savoir comment fonctionne réellement leur machine. Il existe toujours un fossé entre l'assembleur et le langage C pourtant réputé être le plus proche.

    - Coté scripts, j'aime beaucoup le shellscript. Perl est très sympa aussi mais je n'ai jamais eu le temps de m'y mettre sérieusement.

    En résumé: Tout ce qui m'apporte liberté et puissance !
    • [^] # Re: un nouveau langage de programmation

      Posté par  (site web personnel) . Évalué à 2.

      J'ai les meme buts, principalement la vitesse d'execution, et la taille des executables generés.

      Donc, tres tres principalement C, le C++ tres rarement, plus pour tester qu'autre chose (je n'aime pas l'objet generalement, question de gouts, bien que tout ce qui est GUI s'y prette bien).

      L'assembleur, de temps en temps, justement quand j'ai besoin de choses dont la taille n'excede pas 100ko pour un printf() mais reste rapide :)
      J'avoue faire neanmoins tres peu d'asm sur x86, je reserve plutot ca a tout ce qui est "emebedded", ARM, 6502, etc. C'est quand meme bcp plus amusant :)

      Tout ce qui est script shell, pour les choses vraiments simples (Entre autre set ou get de variables snmp en boucle, choses du genre)
  • # Re: un nouveau langage de programmation

    Posté par  (site web personnel) . Évalué à 2.

    Il ressemblerait à ça :
    http://www.loria.fr/serveurs/IsaacOS/francais/l_pres_menu.htm(...)
    (www.isaacos.com)

    Langage totalement objet, basé sur la technologie des prototypes
    (i.e. L'objet ne s'instancie plus, il se clone, il est vivant dès l'écriture, il reste objet à l'éxec, et l'héritage est dynamique)

    Il est bas, moyen, haut niveau

    Que demande le peuple ?

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • # Commentaire supprimé

    Posté par  . Évalué à 1.

    Ce commentaire a été supprimé par l’équipe de modération.

    • [^] # Re: un nouveau langage de programmation

      Posté par  . Évalué à 1.

      À propos de langage de programmation pour du numérique, est-ce que quelqu'un connaîtrait un clone d'IDL? Je suis allé voir les prix, j'ai crû qu'ils avaient mis un zéro de trop. :-( Si le clone est libre ça m'intéresserait encore plus.
      Sinon, pour le Fortran 90/95 d'après http://www.gnu.org/software/gcc/fortran/(...) , l'intégration est prévue pour gcc 3.5 (donc dans un moins un an environ à priori). Pour l'instant il faut se contenter du compilateur propriétaire Intel (et tester le compilateur GNU pour rapporter les bogues).
  • # Re: un nouveau langage de programmation

    Posté par  . Évalué à 1.

    Alors pour ma part j'ai pratiqué environ 5 langages plus ou moins courrament avec des langages tels que C, C++, Java 2, Delphi (TPascal..), et VB.

    Ce qui en ressort :
    Préférence personnelle pour Java 2, que je trouve hyper interessant et très riche, les gui se font en un clin d'oeil (sans ide hein, au bloc note !!), puis il est beaucoup plus proche de la rapidité du c++ que ya quelques années..

    Sinon pour l'evenementiel, ayant énormément pratiqué le VB au lycée, bah je dirai que c'est rapide, simple, mais terriblement lent, chargé de dépendances a des dll's, et qui plus est, c'est du microfiotte... Mais LE point fort du VB, c'est quand je suis en entreprise et que j'ai plein de taf sur des tableurs excel, ou sur access, bah je suis content de connaitre le langage pour developper des supers macros de la mort qui tue tout !

    Mais le turbo pascal orienté graphique (Delphi) est a mon humble avis bien plus interessant que le VB ! Beacoup plus rigoureux, plus rapide, les applis sont majoritairement standalone et surtout on peut recompiler sous linux via kylix

    Enfin le C++ est le meilleur langage a mon sens, puisque il a "++" de plus que le C (humm...)
    Non mais j'aime bien réutiliser ce que je fais, et les classes bah c'est le pied...
    Mais le C c'ets très bien aussi bien entendu, en cours je fais que ca, donc faut pas m'en vouloir si ca me saoule un ptit peu :-)

    Donc pour le langage tip top de mes reves, bah je dirai, une sorte de java, mais compilable comme le C, avec des pointeurs en + car ca me manque sous java..., puis un langage case insensitive, pour que je puisse ecrire un truc genre PUBlic StAtiC VoID MaIN (StrINg ArG[])
    Tellement plus beau :-)

    Voilou pour mon avis !
    • [^] # Re: un nouveau langage de programmation

      Posté par  . Évalué à 0.

      avec des pointeurs en + car ca me manque sous java

      Waarrrrfffffff !!!!!!!!!!!!

      Pour info, java c'est KE des pointeurs ... mais bon sinon c'est pas grave.
      • [^] # Re: un nouveau langage de programmation

        Posté par  . Évalué à 1.

        Bon je reformule, avec une syntaxe de pointeur comme c++, dans la lignée de int * b=&a;
        Et sinon j'ai lu dans plusieurs ouvrage que la notion de pointeur n'etait pas valable pour un langage tel que Java.

        Bref voilà, c'etait tout. Pas la peine d'imiter le chien...

        grumpfff
        • [^] # Re: un nouveau langage de programmation

          Posté par  . Évalué à 0.

          Appelons les references si tu preferes, mais dans tout les cas on ne manipule pas l'objet lui meme, mais son adresse. (Ce qui explique pourquoi l'operateur d'affectation ne fait pas de recopie d'objet)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.