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

Langages de programmation Discussion :

famille de langage et type


Sujet :

Langages de programmation

  1. #1
    Membre éclairé
    Inscrit en
    Avril 2006
    Messages
    853
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 853
    Par défaut famille de langage et type
    salut

    où puis-je trouver de l'information sur les familles de langage de programmation ainsi que les type de programmation

    merci

  2. #2
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Par défaut
    Citation Envoyé par robert_trudel Voir le message
    salut

    où puis-je trouver de l'information sur les familles de langage de programmation ainsi que les type de programmation

    merci
    Wikipedia -> programming language -> Taxonomies
    et donc aussi
    Programming paradigms

    C'est une première ébauche.

    Après tout dépend ce que tu veux en faire : mémoire de maîtrise ? Intérêt personnel ? Rapport de licence ?

  3. #3
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 615
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 615
    Billets dans le blog
    2

  4. #4
    Membre Expert
    Avatar de SpiceGuid
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 704
    Par défaut
    Plusieurs constatations personnelles:
    • c'est long d'apprendre un langage
    • puisque c'est long il ne faut pas perdre de temps
    • l'astuce pour ne pas perdre de temps c'est qu'il ne faut apprendre que 3 ou 4 langages
    • une autre astuce c'est qu'il ne faut pas s'intéresser de près aux langages de scripts
    • disons 3 langages, oui mais alors lesquels ?
    • re-astuce: 1 langage de très bas niveau (et là tout ce qui n'est pas de l'ASM est bon à jeter) et ensuite 1 langage de très haut niveau (et là tout ce qui ne fait pas concurrence à Haskell est bon à jeter)
    • souviron34 répondra peut être " Haskell" mais moi je dis que si tu maîtrise l'ASM + Haskell alors tous les langages que peut te conseiller souviron (et même les 690 autres qu'il ne te conseillera pas) c'est fingers in the nose
    • le C/C++ c'est du haut niveau par rapport à l'ASM et c'est du bas niveau par rapport à Haskell, c'est donc typiquement le genre de 3ième langage fingers in the nose

  5. #5
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Par défaut
    Citation Envoyé par SpiceGuid Voir le message
    [*]le C/C++ c'est du haut niveau par rapport à l'ASM et c'est du bas niveau par rapport à Haskell, c'est donc typiquement le genre de 3ième langage fingers in the nose


    c'est malheureusement insultant de considérer que C++ est si bas niveau... il ne faut pas croire qu'il ne s'agit que C avec des classes, c'est bien plus que cela même si une majorité des utilisateurs ne semblent pas aller plus loin que ce qui pourrait se faire avec des langages plus limités comme Java et C#
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  6. #6
    Membre Expert
    Avatar de SpiceGuid
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 704
    Par défaut
    Haut/Bas niveau, je ne le vois pas comme une échelle de valeur, je pensais plutôt à un panel large, qui s'étend du tout "commande" au tout "déclaratif" et je conseillais de s'intéresser aux extrémités de ce spectre, ceci afin d'aborder avec plus de sérénité les langages plus réalistes ou plus "mainstream" qui font les compromis intéressants qui les placent à mi-chemin.

    Après c'était peut être un mauvais conseil, à chacun de voir par lui-même et pour lui-même.

    Ce que je trouve dommage c'est que sous prétexte que j'aurais heurté ta sensibilité, tu en profites pour glisser un vilain troll C++ vs. Java.

  7. #7
    Membre émérite Avatar de HanLee
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2004
    Messages : 738
    Par défaut
    C++ peut aller quand même très loin dans le déclaratif.
    Boost.Spirit, pour décrire une grammaire.

    http://www.boost.org/doc/libs/1_36_0...c/grammar.html

    http://www.boost.org/doc/libs/1_36_0...c_actions.html

    J'ai tjrs trouvé ça magique, et c'est ça qui est bon !

  8. #8
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2008
    Messages : 69
    Par défaut
    Alors, moi je pense tu te trompes potentiellement sur le langage Haskell SpiceGuid.
    Je ne le connais pas assez profondément pour le comparer aux autres langages fonctionnels mais je pense que c'est un langage qui procède des fonctionnalités des restreintes, qui est très désordonné et très rapidement incontrôlable. De plus c'est un surtout un langages structurellement compliqué, ce qui est loin d'être un atout.
    Après...corrigez moi si je me trompe.

    Sinon pour ce qui est de la sélection de langages, je suis à fait d'accord avec toi. Apprendre beaucoup de langages ne sert à rien. D'autant plus que lorsque l'on sait programmer en procédural (notions algorithmique), et que l'on connais un langage objet, si on doit programmer avec un langage différent, une simple adaptation au langage suffis.

  9. #9
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Par défaut
    Citation Envoyé par SpiceGuid Voir le message
    Ce que je trouve dommage c'est que sous prétexte que j'aurais heurté ta sensibilité, tu en profites pour glisser un vilain troll C++ vs. Java.
    ne pas confondre sensibilité et recherche de l'exactitude... et nul besoin de troller sur C++ vs Java vs C# quand il existe des arguments valables


    bel exemple :
    Citation Envoyé par HanLee Voir le message
    C++ peut aller quand même très loin dans le déclaratif.
    Boost.Spirit, pour décrire une grammaire.



    ce que je trouve dommage, c'est que sous prétexte qu'on décide ne pas devenir le supporter intransigeant d'un mode de pensée, on puisse croire que lorsqu'on nuance les arguments très approximatifs de personne connaissant mal un sujet, et on en vienne à crier au troll
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

  10. #10
    Membre Expert
    Avatar de SpiceGuid
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 704
    Par défaut
    @Floriang33
    Et encore il y a pire que papillonner avec de multiples langages: papillonner sur de multiple frameworks

    Une situation énervante que je rencontre en C++ :
    • je peux instancier une structure (là où je veux, n'importe où il y a la place)
    • ou bien je peux instancier une classe
    • par contre je ne peux pas instancier une classe comme une structure, c'est-à-dire là où je veux

    Ça n'a l'air de rien mais pour moi c'est une limitation gênante.

  11. #11
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Par défaut
    Citation Envoyé par Floriang33 Voir le message
    Alors, moi je pense tu te trompes potentiellement sur le langage Haskell SpiceGuid.
    Je ne le connais pas assez profondément pour le comparer aux autres langages fonctionnels [...]
    Après...corrigez moi si je me trompe.
    Tu te trompes d'après moi. Je suis assez de l'avis de SpiceGuid. Certes, il y a des différences, mais globalement ça ressemble.

  12. #12
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Citation Envoyé par Floriang33 Voir le message
    Je ne le connais pas assez profondément pour le comparer aux autres langages fonctionnels mais je pense que c'est un langage qui procède des fonctionnalités des restreintes, qui est très désordonné et très rapidement incontrôlable. De plus c'est un surtout un langages structurellement compliqué, ce qui est loin d'être un atout.
    Qu'appelles-tu donc "structurellement compliqué" ? Haskell a une syntaxe simple, son sytème de module est facile à comprendre et utiliser également.

    Comment peux-tu dire que Haskell a des "fonctionnalités restreintes" ? Son système de type est un enrichissement de Hindley-Milner et est l'un des plus puissants en-dehors des types dépendants, il est également l'un des rares langage qui permette une complète séparation du code pur et du code à effet de bord, il a une bonne FFI, un bon nombre de librairies maintenant (Hackage) et un excellent support du multicoeur...

    Et pour un langage "désordonné et très rapidement incontrolable", je trouve qu'un projet comme XMonad est bizarrement consistant. Un WM complet en 1000 lignes de code, complètement extensible, et extrêmement stable...

    Citation Envoyé par Floriang33 Voir le message
    Sinon pour ce qui est de la sélection de langages, je suis à fait d'accord avec toi. Apprendre beaucoup de langages ne sert à rien. D'autant plus que lorsque l'on sait programmer en procédural (notions algorithmique), et que l'on connais un langage objet, si on doit programmer avec un langage différent, une simple adaptation au langage suffis.
    La plupart des programmeurs qui n'ont jamais connu que du procédural et de l'objet ont de grandes difficultés à se mettre au fonctionnel, plus ils ont passé de temps avec de l'impératif pur, plus ils ont de mal à comprendre le paradigme fonctionnel. De plus ton "une simple adaptation au langage suffit" est fort cavalier, il y a bien plus de différences même entre les langages impératifs que tu ne semble l'impliquer (gestion manuelle de la mémoire/GC, système de types, modèle objet, etc), évidemment si on se contente de naviguer parmi les cousins du C et du Java, tout va bien, mais en dehors...

    --
    Jedaï

  13. #13
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2008
    Messages : 69
    Par défaut
    Oui, expliqué comme ça...
    La où je voulais en venir avec "structure compliquée" c'est que à première vu la syntaxe du certaines méthodes lui est propre et n'est pas toujours simple.

    Après je ne voulais aucunement mettre en doute sa maintenance et sa stabilité. Je n'ai pas assez utilisé le langage. Mais j'avais plutôt en tête que s'était certes un langage fonctionnel puissant mais qu'il ne possédait pas de fonctionnalité qui sorte de l'ordinaire. En tout cas je ne les connais pas.

  14. #14
    Membre éclairé
    Avatar de MaliciaR
    Inscrit en
    Juillet 2008
    Messages
    513
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2008
    Messages : 513
    Par défaut
    Citation Envoyé par Floriang33 Voir le message
    La où je voulais en venir avec "structure compliquée" c'est que à première vu la syntaxe du certaines méthodes lui est propre et n'est pas toujours simple.
    Beh disons que si tu vas du fonctionnel vers l'impératif par exemple, tu seras dans le même cas, non? Chaque langage a une syntaxe qui lui est propre. Donc, ce n'est pas un critère pour dire "c'est bien/pas bien/compliqué/...".
    Le tact dans l'audace c'est de savoir jusqu'où on peut aller trop loin. Cocteau
    L'abjection la plus totale, ce n'est pas de trahir, c'est de ne jamais donner un commencement de réalité à ses rêves les plus fous. M. Moreau


    Les indispensables : Les règles, , FAQ et tutos avant de poster, et !
    Traduction de Linux Device Drivers 3 : venez participer
    membre de l'April - Promouvoir et défendre les logiciels libres

  15. #15
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Citation Envoyé par Floriang33 Voir le message
    La où je voulais en venir avec "structure compliquée" c'est que à première vu la syntaxe du certaines méthodes lui est propre et n'est pas toujours simple.
    Pourquoi "certaines méthodes" ?
    La syntaxe de Haskell n'a rien de compliquée, à part qu'elle diffère de la syntaxe C contrairement aux très populaires C, C++, C#, Java, ...

    Tu penses plus probablement aux monades, qui n'ont pas grand chose à voir avec la syntaxe mais qui sont l'une des grosses difficultés dans l'apprentissage d'Haskell effectivement. Mais ça vaut le coup de les comprendre, cela donne un outil très puissant dans certaines circonstances, même dans d'autres langages.
    A moins que tu penses au système de layout (indentation significative) ? Les règles sont simples pourtant, et Python le fait aussi. On peut même désactiver le layout en utilisant {} et ; à la place, non que quiconque écrive vraiment comme cela.

    Citation Envoyé par Floriang33 Voir le message
    Je n'ai pas assez utilisé le langage. Mais j'avais plutôt en tête que s'était certes un langage fonctionnel puissant mais qu'il ne possédait pas de fonctionnalité qui sorte de l'ordinaire. En tout cas je ne les connais pas.
    "Pas de fonctionnalités qui sortent de l'ordinaire" ? Tu as déjà essayé Haskell, même un tout petit peu ?
    Haskell est le seul langage "pratique" qui soit purement fonctionnel à évaluation paresseuse (si on excepte Clean, pratiquement pas utilisé, mais intéressant aussi), je dirais que ça en fait un langage légèrement différent de l'ordinaire oui... Tous les langages ne sont pas aussi tolérants avec les structures de données infinies, ils n'ont généralement pas de système de type avec polymorphisme supportant la surcharge par le biais des classes de type (un mécanisme très puissant et relativement différent de l'approche objet) avec inférence de type (presque complète) et un support pour le modèle "m over n" de threading avec de puissants outils pour en profiter, un compileur optimiseur qui permet d'approcher des performances du C avec un code de haut niveau...

    On peut reprocher bien des choses à Haskell, considérer que ce n'est pas le langage du futur, qu'on fera mieux, que le système de type est imparfait, que l'approche des effets de bords par monade n'est pas la bonne solution, etc. Mais parler de Haskell comme s'il s'agissait d'un langage comme un autre, sans rien pour le distinguer et qu'il est inutile d'apprendre ? On ne me l'avait jamais faite !

    Citation Envoyé par MaliciaR Voir le message
    Beh disons que si tu vas du fonctionnel vers l'impératif par exemple, tu seras dans le même cas, non?
    Tout à fait, même entre langage impératifs ou entre langages fonctionnels on peut voir de grosses différences, la syntaxe de Smalltalk est aussi différente de celle de C que la syntaxe de Lisp est différente de celle de Haskell. Même si quand on a étudié les syntaxes de l'intérieur, on finit par travailler intellectuellement plus au niveau de la syntaxe abstraite, ce qui tend à simplifier le passage d'un langage à l'autre au sein du même paradigme.

    Il n'y a bien que les gens qui n'ont étudié que les cousins du C pour penser que toutes les syntaxes doivent se ressembler, encore une bonne raison pour apprendre au moins un langage exotique (comme Haskell) : ouvrir son horizon syntaxique !

    --
    Jedaï

  16. #16
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2008
    Messages : 69
    Par défaut
    Je vois où tu veux en venir, je ne voyais pas ça comme ça. Mais disons que les nomades m'enquiquinent un peu.

  17. #17
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Par défaut
    Citation Envoyé par Jedai Voir le message
    [...]même entre langage impératifs ou entre langages fonctionnels on peut voir de grosses différences, la syntaxe de Smalltalk est aussi différente de celle de C que la syntaxe de Lisp est différente de celle de Haskell. [...]
    --
    Jedaï
    D'un autre côté, tu pourrais parler de Smalltalk et C++ plutôt que Smalltalk et C pour pas qu'on t'accuse de parler de deux paradigmes très différents

    Mais l'essentiel est là.

  18. #18
    Rédacteur/Modérateur

    Avatar de gorgonite
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2005
    Messages
    10 322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2005
    Messages : 10 322
    Par défaut
    Citation Envoyé par SpiceGuid Voir le message
    @Floriang33
    Une situation énervante que je rencontre en C++ :
    • je peux instancier une structure (là où je veux, n'importe où il y a la place)
    • ou bien je peux instancier une classe
    • par contre je ne peux pas instancier une classe comme une structure, c'est-à-dire là où je veux

    Ça n'a l'air de rien mais pour moi c'est une limitation gênante.


    peux-tu mettre un exemple, que ce soit plus clair pour tous les lecteurs du thread ?
    Evitez les MP pour les questions techniques... il y a des forums
    Contributions sur DVP : Mes Tutos | Mon Blog

Discussions similaires

  1. Réponses: 3
    Dernier message: 01/08/2013, 07h50
  2. Langage dynamique type ASP3
    Par clem_alain dans le forum ASP.NET
    Réponses: 7
    Dernier message: 17/03/2012, 19h57
  3. Famille du langage C
    Par Beluga_71 dans le forum Débuter
    Réponses: 4
    Dernier message: 07/05/2008, 13h44
  4. Réponses: 3
    Dernier message: 13/07/2004, 10h48

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