Discuter:Programmation informatique

Un article de Wikipédia, l'encyclopédie libre.

Si python peut faire du fonctionnel, alors Lisp peut faire de la programmation logique (et beaucoup plus facilement que python du fonctionnel !). Même si python offre une forme dégénére de lambda (), ce n'est pas le style de programmation qu'il encourage : écrire du fonctionnel en python, c'est lent et disgracieux. Python est fort en objet + procédural ; sa syntaxe pour les itération sur des tableaux/dictionnaires l'éloigne définitivement d'un langage fonctionnel.

Aurélien

Et j'ajouterai : pour Scheme, même pas besoin de mentionner TinyClos : fermetures => objets !
Est-ce cela que l'on veut ?
Aurélien

Mon intervetion viens du fait qu'en général les liens "langage de programmation" ne fonctionnent pas et que je voulais que dans XSLT le lien "Langage fonctionnel" pointe vers quelque chose, c'est à dire au moins une définition des langages de programmation. N'ayant pas trouvé (ou assez cherché pour trouver) je suis tombé sur cette page via "langages de programmation", elle pouvait correspondre à mon besoin de liens moyennant adaptation avec l'ajout de "langage fonctionnel" et donc la classification des langages de programmation.
A ce propos, une personne connaissant les différents langages informatiques seraient la bienvenue pour terminer la classification. MERCI

meszigues

Problème : les langages de programmation ne sont pas classifiables en une belle hiérarchie. De plus, il y en a trop. Que faire ?
aurelien

Sommaire

[modifier] Titre de l'article

Je trouve très interessant d'avoir une telle page d'aiguillages vers les techniques informatiques.
Par contre, le titre de la page est inapproprié puisque qu'on y trouve tout ce qui tourne autour des techniques de conception et de programmation : méthodes, modélisation, langages informatiques (improprement appelé langages de programmation), librairies graphiques...
Par conséquent, je propose de renommer cette page "Techniques informatiques".

meszigues le 16/10/2002


Bonjour, Ma requête est simple : je me demande s'il ne serait pas approprié d'avoir ici un lien vers le langage Bourne Shell ou Korn Shell (bash ou ksh) de manière à ne pas se limiter aux langages interprêtés de haut niveau. Cordialement

Stéphane Arnold le 31/03/2003

Si tu pense qu'un lien serrait benefique a l'article, hesite pas a l'ajouter.
Aoineko 15:10 mar 31, 2003 (CEST)
Autant créer une entrée "langages de commandes/shell" pour les sh, csh, tcsh, bash, ksh, zsh, etc... (qui sont tous, pour autant que je sache, de "haut niveau")
aurelien

Bonne remarque de Meszigues, le titre ne va pas du tout avec le contenu. Je vais créer une page Conception de logiciel et y déplacer tout ce qui ne concerne pas la programmation. Didier 19:06 mar 31, 2003 (CEST)


Quelle est la différence entre un langage impératif et fonctionnel ? Athymik

impératif : le programme définit un état global initial du système (prog. objet : des états initiaux), puis donne des séries d'instruction qui modifient l'état (resp. l'état des objets).
fonctionnel "pur": chaque fonction retourne une valeur, il n'y a pas d'état global (ni local d'ailleurs). Le programme est défini par la composition de fonctions.
En pratique, il n'y a pas de langage 100% impératif (ah si, l'assembleur ?) ou 100% fonctionnel.
aurelien

C'est mal, mais c'est pour la bonne cause : je profite de cette page de discussion pour faire un peu de propagande pour le Wikibook sur la programmation, qui grandit, mais un rythme plutôt lent. Toutes les contributions sont les bienvenues. Traroth 16 fév 2004 à 09:46 (CET)


Comment on change ou qui a choisi ce truc la :

Cet article fait partie de la série Langages de programmation Langages orientés objet C++ - C# Common Lisp Object System Delphi - Eiffel - Java Langages impératifs Ada - APL - ASP Assembleur BASIC - C - Pascal Langages fonctionnels Lisp/Common Lisp Forth - Logo - Scheme Langages déclaratifs Clips - Prolog Voir aussi Conception - Codage - Tests

Mettre logo et clos et ne pas inclure le perl ou le python ...


HTML n'est pas un langage de programmation. XML n'est pas un langage, juste une grammaire. Ne faudrait-il pas faire un article et une catégorie «langages informatiques» plutôt que ce titre trop reducteur? Marc Mongenet 9 jun 2004 à 22:00 (CEST)

Cette proposition me plait +1 Xmlizer 21 jun 2004 à 00:50

[modifier] Formulation de l'introduction ?

"Les langages de programmation permettent de définir les ensembles d'instructions effectuées par l'ordinateur lors de l'exécution d'un programme".

Cette définition n'est-elle pas trop connotée aux seuls langages procéduraux ?

note bien "les ensembles d'instructions", pas "séquences" ... donc ça inclut les langages procéduraux et déclaratifs. Aurélien

Si en Haskell on définit la suite infinie des nombres impairs, aucun traitement n'y est associé. Et, en fait, aucune série d'instructions n'est à proprement parler "définie" par Haskell. Simplement des relations qui doivent toutes être vérifiées, et dont de surcroit l'ordre n'a aucune importance. Je me demande si ce n'était pas déjà pareil en Prolog, mais c'est un peu loin... :o( François-Dominique 26 jul 2004 à 22:46 (CEST)

Ultimement, tous les langages de prog se ramènent à l'exécution d'un ens. d'instructions, après compilation/interprétation, non  ? Aurélien

[modifier] CAML

Il y a une ambigüité au niveau de CAML sur la wikipédia en général. CAML est un "descendant" de ML (je ne trouve pas de mot plus juste). Caml Light et Objective CAML sont des implémentations de CAML. Donc en restant précis, Objective CAML n'est pas réellement une version objet de ML mais de CAML. De plus la page Objective Caml ne contient aucun aucune spécificité à Objective CAML à part la possibilité de compiler en code natif qui n'était pas dans CAML Light. Je pense que la page sus-citée devrait être renommée en CAML, que la spécificité de Ocaml soit signalée comme telle et de modifier les liens vers les pages vers OCaml. Et faire quelque chose avec les deux entrées : ML et CAML dans ce tableau.

Tom 30 oct 2004 à 18:38 (CEST)

SQL, vous connaissez ?

(je pense qu'il s'agit seulement d'un oubli ?)

à la fois langage de Définition ET de Manipulation de données.

[modifier] Manque Esterel ?

Il me semble qu'il manque Esterel (qui est un Langage de programmation Temps Réel) --Moala 21 fev 2005 à 01:26 (CET)

[modifier] esterel, pas seulement

En fait, il y a un vide ici sur les langages réactifs (asynchrones ou synchrones).

On peut citer: Esterel, Lustre et d'autres plus marginaux comme "G" de National Instrument et les différents langages d'API ou de CN plus ou moins propriétaires et plus ou moins normés "IEC1131" (ladder, grafcet / flowchart, ill ...)

... Lucid synchrone ?

ABEL et HDL sont-ils réactifs ??

Faut-il (existe-t-il) un article spécifique à ces langages ? Je tourne autour de Machine à états finis; Système temps réel; Automatisme et Automatique mais ne trouve rien de réellement approchant.

L'encart "Langages de programmation de Commande Numérique (C.N.)" devrait y être englobé.

ce sont des langages avec des variables de type dataflow, non (aka "call-by need") ? Un chapitre "programmation dataflow" pourrait être pas mal. Le bouquin sur Oz (Concepts, Techniques, and Models of Computer Programming) synthétise tout ça je crois. Aurélien
pas uniquement, esterel est control-flow alors que lustre/scade est data flow. Du moins à l'origine. Dans les versions plus récentes de ces compilateurs (esterel V7 et le futur lustre v6), on trouve les deux notions dans le langage (ajout d'une notation fonctionelle dans esterel du type e <= ?s if t, et des états dans le futur lustre). A noter qu'il y a également Signal dans la famille des langages fonctionnels synchrones. Il y a pas mal de docs/papiers à ce sujet sur le site d' esterel-technologies, nottamment dans la section scientific papers Aubanel 16 mai 2005 à 17:44 (CEST)

-- pfe

Aller, ça faisait longtemps que j'en avais envie : Architecture Dataflow. Attention, ce n'est pas fini ! Oui, bien sur il faut un chapitre sur la programmation dataflow, avec Id et Val, si ma memoire est bonne. Si vous faites reference a des architectures, dites le moi, je les inclurais dans le sous chapitre "materiel". Stéphane 20 mai 2005 à 04:38 (CEST)

[modifier] bas niveau

"Ultimement, tous les langages de prog se ramènent à l'exécution d'un ens. d'instructions, après compilation/interprétation, non  ? Aurélien"

Tiens oui, je ne vois ici aucune mention des langages bas niveau "code machine", "assembleurs" aurait-il fallut remonter depuis Ada et jusqu'à ADA ;-) ?

Bon, "les langages machines et leurs assembleurs" ... avec un tel titre on a un article ... qui l'écrit ?-) Le rapport avec Ada c'est une tentative pour faire de l'humour ... ? Aurélien

-- pfe

[modifier] Lisaac

Ontologiae n'arrêt pas de remettre Lisaac dans le comparatif des langages généralistes. Si on met TOUS les langages soi-disant généralistes là-dedans ça va faire plusieurs milliers d'entrées ... Est-ce bien raisonnable ? Aurélien

ah, bein ça me fait plaisir de lire ça, tu vois je commence juste à cherchet toutes les réf. abusives à Lisaac pour les virer... chui pas le gardien de la pensée unique, mais ya des limites, hein
et dans la même série, je le virerai bien du Modèle:SérieLangagesInfo
NonNobis 26 mai 2005 à 18:18 (CEST)
En fait, Lisaac n'a pas l'air mal sur le papier, en plus c'est made in France, mais c'est un prototype (de langage à prototypes, ahah) ! Faut appeler à un vote pour trancher la question peut-être, non ? (en tout cas, on évite la guerre d'édition commencée par Ontologiae). On ne devrait accepter sur cette page que les langages qui ont une histoire assez longue et - sans forcément être hyper populaires - sont reconnus, que ce soit côté industrie ou côté académique. Aurélien

[modifier] langage ICON

Et le langage ICON, vous connaissez ?

Si tu le connais bien, n'hésite pas à l'ajouter ;) Pfv2 2 octobre 2005 à 06:25 (CEST)

[modifier] Texte supplémentaire

Les deux ou trois premières sections contiennent des listes de liens, mais sans texte l'accompagnant. Je pense qu'il serait bien d'ajouter un peu de texte. Il est bien de lister la programmation fonctionnelle, impérative, etc, mais il faut décrire d'une façon générale c'est quoi une technique de programmation, plutôt que seulement une liste de pages. Pfv2 2 octobre 2005 à 06:25 (CEST)

[modifier] Langages à objets ?

Ceci est une simple remarque, mais ne devrait-on pas parler de "Langages Orientés Objet" plutôt que de "Langages à Objet" ?

L'expression « langage à objet » est attributive, elle attribut clairement la caractéristique objet au langage. Elle dit bien que l'unité de travail du langage est l'objet. Les langages qui supportent totalement le concept d'objet, méritent bien d'être qualifiés par cette expression. C'est la cas s'ils supportent par exemple l'héritage multiple. L'exemple de l'héritage multiple introduit justement la nuance entre « à objet » et « orienté objet ». Certains langages s'inspirent fortement de l'objet, mais n'en ont pas toutes les caractéristiques. C'est le cas par exemple si bien qu'ils supportent l'héritage simple, ils ne supportent pas l'héritage multiple. Ces derniers ne sont pas des langages à objet, mais ce sont des langages orientés objet. ----- Un exemple de langage à objet, serait Eiffel, et un exemple de langage orienté objet serait Pascal (pour certaines de ces variantes). ----- Pour étendre le propos, il faut dire que l'on peut faire de la programmation orientée objets, même sans langage à objet ou orienté objet. Ceci est encore un exemple de la distinction entre à objet et orienté objet. Si toute fois une application programmée orienté objet (avec un langage qui l'est ou pas), pourra pourtant être qualifiée d'application à objet si elle fonctionne entièrement sur la base du principe objet. ----- Un langage ou une application à objet, est un langage ou une application pour lequel/laquelle tout est objet (conceptuellement). On parle d'orienté objet, si une bonne part significative est objet, mais pas tout. ----- Le-hibou 26 février 2006 à 16:24 (CET)
doh ! SmallTalk, qui est objet dans tous les recoins ne serait qu'un langage "orienté objet" parcequ'il ne supporte pas l'héritage multiple ? Et si on qualifiait de vrai langage à objets seuls ceux qui supportent l'HM et la *sélection multiple* ? (exit EIFFEL, C++, Python ... ne restent que Lisp, Dylan, et une poignée de langages académiques) Aurélien 27 février 2006 à 01:11 (CET)

[modifier] AJAX n'est pas un langage!

Ca m'ennuie un peu de voir "AJAX, langage mélageant le XML et le JavaScript" et pour cause, non seulement AJAX n'est pas un langage, mais ce n'est même pas une technologie! Ce serait plutôt un framework basé effectivement sur Javascript et XML destiné à enrichir considérablement les applications aux architectures web.

Maintenant il paraît important d'en parler dans cet article, mais j'ignore dans quelle section... — MyttO 6 février 2006 à 17:43 (CET)

Inutile de parler d'Ajax ici. Ce n'est même pas un framework (il y a des frameworks pour Ajax comme Sarissa par exemple) c'est juste un nom. Le langage dans Ajax c'est JavaScript. Descartes 1 avril 2006 à 15:20 (CEST)

[modifier] Macro Media Flash n'est pas un langage

Macro Media Flash est cité dans le catégorie de langage pour pages web dynamiques, s'executant du coté client. Mais Macro Media Flash n'est pas un langage. On le constate bien quand on clique sur le lien, et que l'on arrive sur la page qui explique bien que c'est une application sous forme de plug-in.

Le-hibou 26 février 2006 à 15:58 (CET)

Les applications Macromédia Flash ne sont pas des programmes destinés à être utilisés comme les autres mais je peux dire de mémoire que le programmeur de Flash utilise bien un langage spécial.
Yolan Chériaux, le 25 mars 2006 à 01:22 (CET)

Vous avez tous les deux raison Flash n'est pas un langage par contre les application Flash sont programmés en ActionScript Outs 25 mars 2006 à 11:31 (CET)

ActionScript étant une extension de ECMAScript (comme JavaScript), le classement ne correspond guère. Il faudrait un truc du genre...
ECMAScript
- JavaScript
- ActionScript
Mmiller 9 avril 2006 à 02:47 (CEST)

[modifier] cohérence de la page

Je trouve étrange que la page classe d'un coté les langages dans le tableau central et d'un autre coté avec juste des listes, pas vous ?

Je voudrait rajouter self (langage) et classer mieux que ca lisaac, ou suis-je sensé les rajouter ? En fait il faudrait une catégorie objet à prototype (j'ai créée la page programmation orientée prototype d'ailleur). Mais comme il n'existe pas de catégorie objet ce n'est pas cohérent.

En bref je trouve que le tableau devrait être déplacer dans une page comme comparaison de langages de programmation et faire des catégories plus simple. Même si effectivement certain langage sont dur a classer, ce n'est pas a cette page de rentrer dans les détails. Et on peut toujours faire une catégorie pour les lanagages les plus dur a classer.

De plus qu'est ce que les bibliothèques graphiques viennent faire ici ?!

Edit : Ahh mais en fait c'est la page programmation et non pas langage : c'est vraiment le bordel ! Outs 24 mars 2006 à 18:21 (CET)

Effectivement, la page programmation se confond avec la page langages de programmation.
Descartes 1 avril 2006 à 15:23 (CEST)

J'aimerai vraiment mettre un peu d'ordre la dedans. Mais comme c'est une page centrale je ne veux pas tout tronconner si je suis le seul a trouver la forme actuelle améliorable. C'est pour cela que j'aimerai bien que vous me donniez vos avis la dessus ! :) Outs 1 avril 2006 à 15:39 (CEST)

Voila j'ai commencé a nettoyer et séparer le contenu,voir aussi Discussion_Modèle:Langages_de_programmation#Futur_de_la_palette Outs 31 mai 2006 à 15:52 (CEST)

Section "Bibliothèques graphiques" déménagée dans l'article bibliothèque graphique. Schtong 24 septembre 2006 à 14:53 (CEST)

[modifier] NPV

"Plus récemment est venue la grande peur des délocalisations des métiers de l'informatique vers des pays émergents" ça fait pas un peu (voire beaucoup) franco-centriste, voire méprisant ? On est les meilleurs mais on le fait payer alors que des tricheurs nous dévalorisent ? Et puis ça sous-entend aussi "eux ils ont pas besoin de programmes, ils ont même pas d'ordinateur" ou même "toutes les entreprises d'informatique sont et resteront chez-nous"... Je supprime le paragraphe, et quelqu'un peut à la rigueur rajouter un truc sur la "décentralisation", et l'importance grandissante de certains pays comme l'Inde.

[modifier] Wikipedia un territoire à défendre ?

Observez la modification de Citare du 19 juin 2006 à 02:23... Ca me laisse sans voix, on dirait une guerre de gangs. D'ailleurs ses contributions sont particulières...

Perso je serai d'avis de ne mettre en lien externe que des liens servant de référence précise à un argument de l'article et un lien officiel (s'il existe). Cela éviterai cette liste de marquepage servant uniquement de publicité ou a monter le classement dans google. Outs 26 novembre 2006 à 18:12 (CET)