Discussion:Programme informatique

Le contenu de la page n’est pas pris en charge dans d’autres langues.
Une page de Wikipédia, l'encyclopédie libre.
Autres discussions [liste]
  • Admissibilité
  • Neutralité
  • Droit d'auteur
  • Article de qualité
  • Bon article
  • Lumière sur
  • À faire
  • Archives
  • Commons

Proposition de refonte[modifier le code]

La proposition de refonte se trouve dans le sommaire (plus bas), sous le titre ... refonte ! vairmutik 3 novembre 2008 à 18:11 (CET)[répondre]

Si on définit le programme informatique comme un fichier exécutable, un logiciel est plutôt un ensemble de programmes. Non ? Didier 22:38 jan 19, 2003 (CET)

Euh... Non. Pourquoi un logiciel comporterait-il plusieurs fichiers exécutables? J'ai plutôt l'intuition qu'un logiciel est un programme ayant atteint une taille critique. Et cette définition est encore criticable. Tout dépend du logiciel. Il me semble que Word (est-ce un mauvais exemple?) ne comporte qu'un seul exécutable, tout emacs (c'est mieux non? Emacs est bien un logiciel, pour toi?). Parmentier 21:45 jan 29, 2003 (CET)
Pour moi, tout programme est déjà un logiciel, même si on utilisera plutôt le mot "logiciel" pour quelque chose de plus complexe (sous peine de paraître un peu ridicule); en tout cas la ligne de démarcation n'est pas claire (et n'est pas liée au nombre d'exécutables). Pour ce qui est de Word, je crains que ce soit un mauvais exemple, je parie qu'il y a un gazillion de DLLs (librairies exécutables partagées) là-dedans, et peut-être l'un ou l'autre programme annexe. Ceci dit, on peut toujours définir un logiciel comme un ensemble de programmes et fichiers annexes, qui dans le cas d'un programme isolé se réduit à ce seul programme. FvdP 22:21 jan 29, 2003 (CET)
En micro, c'est vrai que c'est particulier, et qu'on va rencontrer énormément de logiciel avec un seul programme (word, emacs, vi, etc, etc...). Si on prends des exemples sur "gros systèmes" (mainframe), c'est plus net, un logiciel de paie par exemple, sera composé de N programmes. Maintenant, je développe pour la micro, et de temps en temps on a plusieurs .exe pour une activité (bien souvent, un principal et quelques autres pour des fonctions bien particulières). Pour moi, le logiciel, c'est l'ensemble du paquet, les exe sont les programmes. Didier 22:44 jan 29, 2003 (CET)
Oui, mais nous sommes d'accord qu'un programme exécutable seul (dans un cas extrême, car sinon il peut aussi être accompagné d'autres fichiers non exécutables) peut constituer un logiciel? Pour moi un logiciel serait plutôt une entité cohérente (qui traite un "sujet" particulier; zut! je ne trouve pas les termes appropriés) qu'on peut installer et utiliser sur un ordinateur... Hmmm... c'est pas complètement satisfaisant, mais c'est mieux que d'expliciter de quoi est constitué un logiciel (si ça se trouve, ça va encore changer...). Parmentier 19:09 jan 31, 2003 (CET)
On est d'accord :-) Il faudrait trouver le mot pour "entité cohérente". (Logiciel de compta, de paie, de traitement de texte, de gestion de courrier, etc... ça peut-être assez varié) Didier 19:16 jan 31, 2003 (CET)

Dans le grand dictionnaire terminologique, un logiciel est un ou plusieurs programme Pfv2 3 octobre 2005 à 18:00 (CEST)[répondre]


Déplacé depuis programmes. À intégrer dans cet article.

Liste d'instructions dans un langage donné. Cette liste est traitée par un équipement informatique pour réaliser des actions.


Langages informatiques communs : C, C++, Assembleur.

Les programmes peuvent être compilés ou interpretés. Voir compilateur, programme informatique.

Par exemple la théorie de l'information étudie le comportement de programmes idéaux exécutant des programmes d'ordinateurs générés de manière aléatoire."

Je ne connais pas d'exemple de cela. Il y a des choses comme la complexité de Kolmogorov, mais il s'agit de l'étude de la taille de programmes écrivant des séquences aléatoires. David.Monniaux 23 oct 2004 à 23:53 (CEST)

Il y a bien des objets comme le nombre Oméga de Chaitin, qui est quelque chose comme la probabilité d'arrêt d'un programme aléatoire. Mais ça reste hors-sujet. MM (pas Utilisateur:MM) 9 mai 2005 à 09:45 (CEST)[répondre]

Un programme fait-il ce qu'il doit faire ?[modifier le code]

Suite à l'intéressant "revert" d'Utilisateur:Aurelienc, je lance ce débat : Doit-on dire :

  • Un programme informatique indique à un ordinateur ce qu'il devrait faire. ou bien
  • Un programme informatique indique à un ordinateur ce qu'il doit faire.

Je suis personnellement en faveur de la seconde solution, car un programme donne l'ordre à un ordinateur de faire, il ne lui laisse pas le choix. Dans la première phrase, on peut penser que l'ordinateur, muni de raison peut ou non décider de ce qu'il doit faire.

On va me rétorquer : Oui, mais il y a les bugs, certes, mais le bug est dans le programme, le programme indique des anneries à l'ordinateur, mais ce dernier doit toujours exécuter ces anneries.

On va me rétorquer : Oui, mais il y a les évenements exterieurs comme les coupures de courant. Certes, mais quand je ne dis pas à un enfant tu devrais faire tes devoirs sous prétexte qu'il peut arriver un accident domestique à mon enfant, je lui dis bien tu dois faire tes devoirs.

C'est pour toutes ces raisons, que je demande à ce que le revert soit reverté. Epommate 22 jun 2005 à 18:01 (CEST)

C'est bien la question des bugs. 99,999% des programmes ne sont pas écrits en langage machine mais dans des langages de plus ou moins haut niveau, dont la plus intéressante propriété est de faciliter la lecture et la maintenance par des humains. Un bug dénote un décalage entre une intention programmée et l'exécution divergente de l'intention. Il est clair qu'un programme, plus précisément son expression intentionnelle, le code source dans tel ou tel langage de programmation, indique ce que devrait faire l'ordinateur, si le programmeur ne s'est pas gourré (et si le compilateur ne commet pas d'erreur, etc.). En général, l'exécution d'un programme incorrect donne des résultats inintéressants (allant de la production silencieuse de faux résultats au crash pur et simple) ; je ne vois pas l'intérêt d'insister sur le fait qu'un programme indique à un ordinateur ce qu'il doit faire dès lors qu'en pratique, pour toutes sortes de raison, il y a un décalage persistant entre ce doit et la réalité. Aurélien
Il me semble que la distinction "doit faire"/"devrait faire" est fondamentale dans le cas de certains langages non-impératifs. Je n'ai malheureusement aucune compétence en la matière, et aucun autre exemple à fournir que celui de l'évaluation paresseuse.
... ou de la programmation logique ou par contraintes peut-être. Mais c'est plutôt une distinction entre devrait et pourrait, dans le sens où certains langages ouvrent la porte à la notion d'exécution paresseuse (on n'exécute qu'en cas de besoin) ou spéculative (on essaye d'évaluer qqchose dans l'espoir d'arriver à un résultat consistant). Aurélien 12 mars 2006 à 22:18 (CET)[répondre]

Préambule :

Je publie ce commentaire dans le but de partager mes doutes quant à la clarté de l'introduction de cet article et par là même j'espère esquisser les bases d'un futur article.

Si je ne modifie pas directement cet article, c'est que je ne connais pas tout à fait les us et coutumes de Wikipé, et aussi que je cherche à soulever des questions de formulation sur un sujet qui me semble ardu et important.

Remarques[modifier le code]
  • "Un programme informatique est une liste d'ordres indiquant à un ordinateur ce qu'il doit faire."
    Une liste d'ordres.
  • "Il se présente sous la forme d'une ou plusieurs séquences d'instructions, (...)"
    Une ou plusieurs séquences d'instructions.

Bien que la différence entre les deux évoque quelque chose à quelqu'un connaissant d'ores et déjà le sujet, il me semble difficile, pour qui n'y connaît rien, de voir là autre chose qu'une contradiction ...

  • "(...) comportant souvent des données de base, (...)"
    Ni liens, ni contexte, ni la suite de l'article n'expliquent rien à cela.
  • "(...) devant être exécutées dans un certain ordre par un processeur ou par processus informatique (cas des systèmes multitâches)."
    ... :-( désolé, mais je ne sais vraiment pas quoi dire de cette fin de phrase (peut-être zeugma sémantique ?).
Mises au point[modifier le code]

Il paraît assez important de faire une distinction entre un mode d'exécution mono-tâche et multi-tâche, mais la deuxième phrase de l'introduction ne semble pas vraiment l'endroit.

La notion de "données de base" désigne probablement à la fois les paramètres fixés en dur dans un algorithme (le fait que la plupart des programmes ne sont pas des implémentations d'algorithmes très généraux), et des données moins programmatiques : images (icônes) de l'interface, chaînes de caractères en langage humain pour l'interface texte, etc.

Là encore, (le début de) l'introduction ne semble pas vraiment adaptée à décrire ces finesses, qui nécessiteraient de nombreuses phrases d'analyse plutôt qu'une phrase hyper-synthétique.

À nouveau, la différence entre programmes simples et programmes à sous-programmes, ou entre programmes configurables ou non, ou ... ne trouve pas non plus sa place dans l'introduction.

Enfin, il me paraît important de donner des fondements simples amorçant la distinction entre programme au sens "machine de Türing" du terme (série d'instructions), programmes au sens implémentation d'un algo, programme au sens de spécification (d'un problème, par des buts, des contraintes, des définitions), ...

Pour résumer, je vois trois points de vue (qui peuvent se croiser) sur ce qu'est un programme :

  • côté machines à instructions.
  • côté langages dotés de structures de contrôles des flux d'exécution.
  • côté langages définitionnels (fonctionnels, logiques, ...).

L'enjeu serait de trouver une formulation suffisamment générale pour ne pas empêcher de discuter des trois, et suffisamment légère pour ne pas mélanger les trois.

Propositions[modifier le code]
  • Ensemble à la place de "liste" et "séquence".
  • Permettant de diriger(/contrôler/commander/?) les calculs effectués par un ordinateur à la place de "indiquant à l'ordinateur (...)".
  • Présenter la notion de spécialisation plus ou moins grande d'un programme.
  • Introduire la distinction programme/données, et (dans l'article) la variabilité de cette distinction.
  • Peut-être enlever l'ordinateur de la définition centrale : exécution sur ordinateur ou sur machine virtuelle ou production d'un circuit effectuant le programme sont à aborder dans l'article, ...
  • Introduire à l'indispensable notion de langage de programmation.
Conclusion[modifier le code]

Il est très probable que le point de vue que j'ai donné soit insuffisant ...

Je pense qu'il faut néanmoins commencer quelque part.

Je proposerais une première mouture dans peu de temps.

Toutes participations à cette (éventuelle) refonte sont bienvenues.

Je pose pour l'instant le bandeau "Pas fini", n'hésitez pas à le remplacer par un "Plusieurs en cours" ...


vairmutik 3 novembre 2008 à 17:55 (CET)[répondre]

Un autre utilisateur (anonyme) avait proposé :
"Liste d'instructions dans un langage donnée. Cette liste est traité par un equipement informatique pour realiser des actions."
En remplaçant liste par ensemble, ça me paraît un bon début.
vairmutik 3 novembre 2008 à 18:06 (CET)[répondre]

--Silex6 (d) 12 novembre 2008 à 11:30 (CET)[répondre]

Bonjour. résultat d'un brainstorming, je me suis lancé dans la rédaction d'une nouvelle version de cette page. le draft se trouve sur ma page personnelle. j'attends vos avis avant de procéder au remplacement.

Types de programmes[modifier le code]

On pourrait subdiviser la section « Terminologie » avec une sous-section consacrée aux types de programmes informatiques. J'arrive de plugin et j'y vois que programme hôte n'existe pas. Est-ce une différence de terminologie européenne par rapport à l'Amérique du Nord ou bien seulement que les types de programmes décrits ici le sont de manière sommaire ? - Khayman (contact) 18 février 2009 à 02:45 (CET)[répondre]

La liste des termes actuelle n'est pas exhaustive.--Silex6 (d) 18 février 2009 à 12:42 (CET)[répondre]

Bonjour Je doute bien que la phrase En moyenne un programmeur prépare, écrit, teste et documente environ 20 lignes de programme par jour soit correcte. Moi je croit que celui qui la écrite a oublié d'ajouter des zéros (il voulait dire 2000 ou 20000?). ai-je raison?

Cordialement. Rabah201130 (d) 31 décembre 2012 à 23:24 (CET)[répondre]

Dans le livre cité en référence, à la page 675 [1]: "Research has shown that, on average, one person can write, test, document only 20 lines of code per day." Existe-il d'autres chiffres à ce sujet ?

Refonte, encore — Juin 2015[modifier le code]

Bonjour,

Constatant le désordre de cet article, je me suis permis de supprimer la moitié de son contenu, qui était parfois redondant, ou détaillait des informations peu appropriées (au contenu trop précis pour être vérifiable et encyclopédique) ou qui trouveraient mieux leur place dans d'autres articles. Merci de songer à structurer l'article lors de sa rédaction, et d'utiliser les manuels de Wikipédia pour avoir des idées à ce niveau.

Les parties que j'ai fini par mettre en place ne sont pas énormément réfléchies : j'ai tenté de me servir des informations qui étaient présentes. N'hésitez pas à apporter des améliorations !

Cordialement, Frigory (discuter) 17 juin 2015 à 04:14 (CEST)[répondre]

Pas d'accord avec cette modification, que je me suis permis de révoquer. Un article wikipédia sert à présenter les aspects incontournables d'un sujet et se suffit à lui même. Or on ne peut pas parler de programmes sans parler de programmation, d'exécution et de langage de programmation. Ceci n'empêche pas qu'il existe des articles détaillés sur chacun des sujets. L'argument de la redondance ne tient pas. La majorité des informations présentes dans l'article sont sourcées et dont facilement vérifiables. Peut-être y-a-il quelques informations trop détaillées, mais pas la moitié de l'article !--Silex6 (discuter) 17 juin 2015 à 21:00 (CEST)[répondre]
C'est vrai que j'ai fait la modification alors que j'étais fatigué, et j'ai dû faire des bêtises.
Je parlais de redondance notamment au sein-même de l'article. Cela dit, j'ai supprimé des notions qui avaient leur place ici, ce qui n'était pas judicieux.
En tout cas, une refonte est nécessaire. L'article actuel me donne l'impression de développer des cheminements aléatoires à partir des programmes informatiques, au lieu de raconter une histoire indiquant réellement la place des programmes informatiques. Toutefois, les explications actuelles n'en donnent pas une idée aussi fausse que ce que j'ai ressenti hier soir.
Bref, si je refais une modification, j'essaierai de la réfléchir.
Frigory (discuter) 17 juin 2015 à 23:14 (CEST)[répondre]