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 :

Combien y-a-t-il de types de langages informatiques ?


Sujet :

Langages de programmation

  1. #1
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 344
    Points : 18 919
    Points
    18 919
    Par défaut Combien y-a-t-il de types de langages informatiques ?
    Salut à tous.

    Combien y-a-t-il de type de langages informatique ? Et ne me répondez pas 42 !

    Par exemple :
    --> langage de programmation
    --> langage de manipulation
    --> langage de requête
    --> langage de balisage
    --> langage de contrôle
    --> langage de commande

    J'attends d'autres noms de type de langages.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  2. #2
    Expert confirmé Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Points : 5 485
    Points
    5 485
    Par défaut
    Langages impératifs
    * Langages procéduraux
    * Langages orientés objet

    Langages déclaratifs
    * Langages fonctionnels (mi-impérative)
    * Langages descriptifs (html & co)
    * Langages logiques (x cause y)
    * Réécritures de termes (x équivaut à y)
    * Langages par contraintes (f(x, y) doit toujours être vrai)

    Et on peut ajouter les langages probabilistes, qui peuvent être objets ou fonctionnels. Quant aux langages de requête ils sont à la fois procéduraux et déclaratifs.

    Les paradigmes en gars sont emblématiques des trois grandes approches de la programmation. Ensemble ils illustrent l'axe impératif/déclaratif, avec la prog fonctionnelle au centre. C'est l'axe le plus saillant pour classer les langages.

  3. #3
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 344
    Points : 18 919
    Points
    18 919
    Par défaut
    Salut DonQuiche.

    Intéressant ce que vous dites. Mais comment approfondir cela ?
    Cela me permettra d'élargir ma compréhension du monde informatique, qui a bien changé depuis que j'ai commencé, il y a déjà fort longtemps.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 626
    Points : 10 542
    Points
    10 542
    Par défaut
    Il manque les langages listing comme BASIC et COBOL, qui a la base n'avaient pas de notions de procédures

  5. #5
    Expert confirmé Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Points : 5 485
    Points
    5 485
    Par défaut
    Citation Envoyé par Artemus24 Voir le message
    Intéressant ce que vous dites. Mais comment approfondir cela ?
    Cela me permettra d'élargir ma compréhension du monde informatique, qui a bien changé depuis que j'ai commencé, il y a déjà fort longtemps.
    D'abord tu pourrais directement essayer des langages comme Prolog, Haskell ou Maude. Ne serait-ce que dix heures par langage, pour te donner une idée de leurs différences. Si tu ne connais que les langages impératifs, ça élargira sacrément tes horizons. Prolog est ancien et sur le déclin, Haskell est devenu tendance mais élitiste, Maude est récent et marginal mais plus proche de ce vers quoi il faut aller. Enfin Eve vaut aussi le coup d'oeil : il est tout neuf et a fait l'objet d'un joli buzz, il présente des concepts sympas (persistence automatisée à la datalog) même s'il me semble limité.

    Note que je n'utiliserais aucun de ces langages au quotidien, sauf cas particuliers (Prolog et ses successeurs restent des champions pour certains problèmes). Mais certaines idées ont un fort potentiel encore sous-développé, et la prog fonctionelle a déjà contaminé les langages impératifs.


    Il y a aussi deux papier célèbres et agréables à lire :
    * Out of the Tar Pit (Mosley & Marks, 2006) expose clairement les limites de nos techniques actuelles et les éventuelles pistes pour s'en sortir.
    * Lambda: the ultimate imperative (Sussman, 1976) démontre par la pratique l'équivalence entre programmation impérative et fonctionnelle.

    Niveau théorie tu peux te pencher sur les différents modèles de calculs : la machine de Turing est celui utilisé par les CPU (avec quelques ajustements), mais il y en a d'autres. Haskell repose sur le lambda-calcul et la logique combinatoire, Maude sur les systèmes de réécriture abstraits. Tous ces systèmes sont complets au sens de Turing, et donc équivalents. Un programme écrit avec l'un de ces systèmes peut donc être recompilé en un programme pour machine de Turing, en théorie efficacement (pas toujours le cas en pratique). Pour suivre les développements récents tu peux zyeuter les forums de lambda-the-utlimate.org

  6. #6
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 607
    Points : 188 574
    Points
    188 574
    Par défaut
    Citation Envoyé par DonQuiche Voir le message
    Mais certaines idées ont un fort potentiel encore sous-développé, et la prog fonctionelle a déjà contaminé les langages impératifs.
    À ce niveau, je ne peux que conseiller Scala, qui a une syntaxe moins imbuvable que Haskell (même si Scala utilise toutes les touches d'un clavier ). Il mélange l'impératif et le fonctionnel avec de l'orienté objet, c'est extrêmement agréable et axé pratique (mais pas vraiment facile à prendre en main, au niveau syntaxique). Avec Scalaz, encore moins de touches trouveront du repos, avec plus de concepts vraiment fonctionnels (et imbuvables pour le grand public). Le "problème" de Scala, c'est qu'il est possible de mélanger les paradigmes, c'est-à-dire que tu ne seras pas forcé de penser fonctionnel…
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  7. #7
    Expert confirmé Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Points : 5 485
    Points
    5 485
    Par défaut
    Citation Envoyé par dourouc05 Voir le message
    À ce niveau, je ne peux que conseiller Scala, qui a une syntaxe moins imbuvable que Haskell (même si Scala utilise toutes les touches d'un clavier ). Il mélange l'impératif et le fonctionnel avec de l'orienté objet, c'est extrêmement agréable et axé pratique (mais pas vraiment facile à prendre en main, au niveau syntaxique). Avec Scalaz, encore moins de touches trouveront du repos, avec plus de concepts vraiment fonctionnels (et imbuvables pour le grand public). Le "problème" de Scala, c'est qu'il est possible de mélanger les paradigmes, c'est-à-dire que tu ne seras pas forcé de penser fonctionnel…
    Scala est effectivement un bon langage au regard de l'offre actuelle, mais ça n'est rien de plus qu'un bon vieux langage impératif orienté objet où l'on enchaîne les mutations d'états. Avec des touches de fonctionnel.

    Si le but est de s'ouvrir à de nouveaux horizons, Scala est un mauvais choix.

  8. #8
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 607
    Points : 188 574
    Points
    188 574
    Par défaut
    Ça dépend comment tu codes . Si tu n'utilises jamais var, les collections mutables, il ne reste plus beaucoup d'endroits avec des changements d'état. Mais oui, ça reste possible, il faut donc une certaine volonté pour éviter les structures trop impératives.
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  9. #9
    Expert confirmé Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Points : 5 485
    Points
    5 485
    Par défaut
    Sauf qu'un débutant venant d'un langage impératif continuera à programmer dans un style impératif.

    Par ailleurs Scala privilégie le style impératif du fait de son héritage Java : en Haskell l'évaluation est fainéante par défaut et les changements d'états sont explicitement déclenchés par l'appelant, alors qu'en Scala l'évaluation est immédiate, impérative, et les changements d'état transparents. Là où Haskell va donc tout faire pour encourager un style fonctionnel, Scala va tout faire pour le dissuader.

    De même que la compatibilité Java limite Scala à une inférence partielle des types et contraint donc le programmeur à utiliser les bricolages de la POO plutôt que d'adopter une véritable architecture fonctionnelle.

    Enfin l'essentiel des bibliothèques en Scala sont des bibliothèques Java. Cela donne un écosystème très riche mais impératif et orienté objet. Encore une fois le programmeur est poussé dans cette direction.

  10. #10
    Expert confirmé
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Points : 4 845
    Points
    4 845
    Par défaut
    Citation Envoyé par DonQuiche Voir le message
    Langages impératifs
    * Langages procéduraux
    * Langages orientés objet
    Personnellement je ne classerais pas les langages orientés objet comme une sous partie des langages impératifs.

    On peut faire de la POO dans certains langages fonctionnels (OCaml, Scala, ...) et logiques (Prolog Objet).

    Du coup je mettrais ça à part.

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

Discussions similaires

  1. Comment reconnaitre un type de langage pour modifier un logiciel ?
    Par Motocrapoto dans le forum Langages de programmation
    Réponses: 4
    Dernier message: 21/08/2016, 10h45
  2. Réponses: 2
    Dernier message: 08/02/2011, 13h06
  3. [Professionnalisation/Alternance] Recherche poste type Technicien support informatique, région Nantaise.
    Par Anthony44 dans le forum Demandes
    Réponses: 0
    Dernier message: 01/07/2010, 19h48
  4. types contrats d'informatiques
    Par amazircool dans le forum Contrat
    Réponses: 1
    Dernier message: 24/05/2007, 19h35

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