À quelle discipline appartient l'informatique? [fermé]


15

Est-ce que l'informatique, les mathématiques appliquées, l'ingénierie, l'art, la philosophie? "Autre"?

Pour fournir un contexte, voici le blog de Steven Wartik pour Scientific American intitulé " Je ne suis pas un vrai scientifique, et ça va ." L'article couvre quelques bons sujets pour cette question, mais il laisse plus ouvert qu'il ne répond.

Si vous pouvez penser à la discipline, comment l'informatique s'intégrerait-elle dans sa définition? La discipline de l'informatique devrait-elle être basée sur ce que font les programmeurs ou ce que font les universitaires ? Quel genre de réponses obtenez-vous de la part de personnes qui semblent y penser profondément? Quelles raisons donnent-ils?


1
Jamais universitaire, j'ai rencontré qui dit que l'informatique est une science a une raison complètement différente d'expliquer pourquoi.
Macneil

5
L'informatique est la science politique avec un peu moins de politique.
Job

1
l'informatique est une branche des mathématiques appliquées ... la "science" implique l'utilisation de la méthode scientifique, qui n'existe pas en informatique; mais il a été nommé lorsque chaque nouvelle discipline voulait mettre le mot science à la fin de son nom.
red-dirt

2
@ red-dirt Ce n'est pas vrai. Il existe une méthode scientifique dans CompSci; vous avez des expériences, des preuves formelles, etc. La plupart des informaticiens inconditionnels sont en mathématiques et en logique formelle (voir: calcul lambda, le problème d'arrêt, etc.), et publient des articles dans des revues à comité de lecture. Ne les confondez pas avec des gens qui inventent des "méthodologies", qui ne sont pas des scientifiques par aucune définition du mot.
Andres F.

1
@ red-dirt Semblable à AndresF, du côté des applications les plus pratiques, la méthode scientifique de base (émettre des hypothèses, tester, vérifier, répéter) entre en jeu pendant le débogage - ce qui prend généralement la plupart du temps consacré à la programmation.
Izkata

Réponses:


30

Il existe deux disciplines informatiques distinctes:

  • Informatique - est l'étude disciplinaire des ordinateurs et du calcul utilisant la méthode scientifique.

  • Génie logiciel - est la discipline de conception et de mise en œuvre de logiciels suivant les principes d'ingénierie appropriés.

Les deux se chevauchent quelque peu, mais la distinction concerne vraiment les résultats escomptés de la science par rapport à l'ingénierie. Le résultat souhaité d'une discipline scientifique est la connaissance. Le résultat souhaité d'une discipline d'ingénierie est des choses qui fonctionnent.

Donc, pour répondre à votre question:

Est-ce que l'informatique, les mathématiques appliquées, l'ingénierie, l'art, la philosophie? "Autre"?

L'informatique est la science ... lorsqu'elle est effectuée correctement. Cependant, comme d'autres disciplines, CS recouvre les mathématiques, l'ingénierie, les sciences physiques, les sciences sociales, la philosophie, etc.

J'ajouterais également que ce que font la plupart des programmeurs n'est ni l'informatique ni le génie logiciel. Cela ressemble plus à ce que fait un artisan.

Et triste à dire, ni l'informatique académique ni la profession de génie logiciel ne sont aussi rigoureuses que les disciplines plus anciennes de la science et de l'ingénierie. (Il existe des domaines de l'informatique qui sont traditionnellement rigoureux; par exemple, ceux qui ont une base mathématique solide. Mais pour de nombreux domaines, il est tout simplement trop difficile / coûteux de faire des études scientifiques appropriées sur les questions qui comptent vraiment.)


1
Il y a aussi l'ingénierie matérielle - quelqu'un doit concevoir les ordinateurs physiques sur lesquels le logiciel doit fonctionner - et c'est vraiment une (grande) sous-discipline de l'ingénierie électronique.
Donal Fellows

+1 pour l'analogie avec l'artisan, j'ai réalisé que c'est le concept le plus exact pour expliquer ce que fait un CS d'ingénieur logiciel. Voici un lien pour un livre gratuit d'O'Reilly à ce sujet. apprenticeship-patterns.labs.oreilly.com/ch01.html
romeroqj

"Et triste à dire, ni l'informatique académique ni la profession de génie logiciel ne sont aussi rigoureuses que les disciplines scientifiques et techniques plus anciennes": je ne suis pas d'accord avec cette affirmation. Entre autres choses, si l'informatique n'était pas rigoureuse, nous n'aurions pas d'avancées dans les langages de programmation, les compilateurs (et toute la théorie formelle du langage derrière eux), la cryptographie, etc. Toutes ces applications ont une base solide qui a été développée principalement dans le milieu universitaire.
Giorgio

@Giorgio - Dommage que vous n'ayez pas lu ce que j'ai écrit immédiatement après la phrase que vous avez citée ...
Stephen C

@Stephen C: Je l'ai lu, et je ne suis toujours pas convaincu que l'informatique soit moins rigoureuse que les autres sciences (mais je peux me tromper, bien sûr). Ou peut-être faudrait-il d'abord définir ce que l'on considère "scientifique" et "rigoureux" et ce qui ne l'est pas, mais cela pourrait nécessiter une longue discussion, je suppose.
Giorgio

12

Les programmeurs "font rarement de l'informatique". Ils utilisent principalement les résultats du "génie logiciel", qui est évidemment une discipline d'ingénierie.

En dehors de cela, l'informatique est des mathématiques appliquées. Si vous comparez CS avec quelque chose qui appartient indubitablement aux mathématiques appliquées, vous remarquerez beaucoup de ressemblance.

Les informaticiens conçoivent et étudient des méthodes de calcul (algorithmes), tirant l'essentiel de la théorie des mathématiques (logique, théorie des graphes, combinatoire, etc.) et y contribuant en même temps. Tout comme le reste des mathématiques appliquées.

Ils évaluent théoriquement les propriétés de ces modèles et algorithmes et poursuivent des expériences de modélisation (écriture de programmes de tests). Comme les mathématiciens appliqués simulent l'écoulement de liquide dans des tubes sur des grappes, les informaticiens utilisent des ordinateurs pour expérimenter la mise en œuvre de leurs algorithmes. Les résultats de ces expériences entrent directement en production: soit vers une raffinerie de pétrole, soit vers un logiciel d'analyse des stocks.

À l'université, j'ai terminé, il n'y a même pas de département spécial pour l'informatique: entre autres domaines non informatiques, la chaire d'informatique fait partie du département de mathématiques appliquées.


mais dans d'autres universités, l'informatique est un département distinct au sein de la faculté de mathématiques, un département de la faculté d'ingénierie, de la faculté des sciences, ou ... rien de tout cela. Ce sont des problèmes administratifs / organisationnels et n'ont pas grand-chose à voir avec le sujet réel.
Stephen C

@Stephen, c'est pourquoi j'ai spécifié l'université, au lieu de dire "dans la plupart des universités" ou "dans de nombreuses universités" :-) Ce n'est qu'un petit exemple, pas l'essentiel de la réponse.
P Shved

1
c'est certainement un "petit exemple", mais mon point est qu'il n'est pas un exemple représentatif, et ce n'est même pas particulièrement pertinent pour votre argument. Pour illustrer, l'Université où je travaille est en train de restructurer les facultés ... non pas en raison d'une réflexion approfondie sur ce qui se rapporte à quoi ... mais afin de réduire les coûts administratifs . Il y a quelques années, les écoles CS et Elec Eng ont été regroupées pour la même raison .
Stephen C

Comme je l'ai indiqué dans ma réponse initiale, l'informatique est une discipline de mathématiques appliquées qui traite de la conception et de l'application d'automates de calcul. La programmation n'est pas de l'informatique. Le logiciel est un moyen d'implémenter des automates de calcul sans fouetter un fer à souder (n'importe quel programme peut être implémenté en utilisant une logique séquentielle et combinatoire avec suffisamment d'espace). L'architecture von Neumann était différente des architectures qui l'ont précédée en ce qu'elle est un automate à usage général qui sert de base à la création d'automates à usage spécial «doux».
bit-twiddler

1
@ bit-twiddler - Votre définition est trop étroite. Il exclut de nombreux domaines académiques qui sont traditionnellement classés comme "informatique".
Stephen C

5

L'informatique est un terme qui couvre de nos jours beaucoup, beaucoup de choses:

  • Les maîtres artisans travaillent pour d'autres sur la base de leurs expériences avec leurs outils (et avoir des apprentis, etc.).
  • Les forgerons inventent et créent de nouveaux outils pour les artisans
  • Les chercheurs développent de nouveaux alliages et d'autres matériaux - comme le plastique - pour les forgerons d'outils.
  • Les scientifiques théoriques découvrent comment les choses fonctionnent pour que les fabricants d'alliages sachent comment fonctionnent leurs outils.

Notez comment tous ces éléments ont un nom distinct au lieu de simplement "informaticiens". La différence est juste que l'informatique est trop nouvelle pour que le nom soit réglé.


Le point 2 est plus un mille - pattes de forgeron , mais cette réponse est juste sur :)
ZJR

1

Tout d'abord, c'est l' informatique . Cela concerne les mathématiques derrière le calcul.
Il existe d'autres disciplines plus orientées vers l'ingénierie.

La différence est la même que pour toutes les disciplines scientifiques et techniques connexes. L'un concerne la précision, l'autre la précision. L'informatique est théorique, d'autres sont la science appliquée aux problèmes: les branches de l'ingénierie.


1
Le MIT n'est pas d'accord avec vous eecs.mit.edu
Armand

@Alison, veuillez également corriger l'entrée wiki ( en.wikipedia.org/wiki/Computer_science ).
CMR

0

L'informatique est appliquée et les mathématiques expérimentales .


0

L'informatique est une branche des mathématiques appliquées qui traite de la conception et de l'application d'automates de calcul. Le génie logiciel est le sous-ensemble approprié de l'informatique qui traite de la conception et de la construction formalisées du code de l'architecture von Neumann. L'architecture von Neumann n'est qu'une façon d'implémenter une machine informatique. Par exemple, la machine utilisée pour déchiffrer les messages codés Enigma n'était pas une machine von Neumann.

Le génie logiciel est une discipline de pratique. L'informatique est une discipline axée sur la recherche. La plupart des étudiants de premier cycle en informatique se retrouvent dans le développement de logiciels parce que la recherche nécessite de détenir au moins une maîtrise, ce qui renforce la conviction que l'informatique est un certificat de programmation glorifié.


3
Je ne pense pas que de nombreux informaticiens universitaires accepteraient une définition de la CS aussi étroite.
Stephen C

0

La discipline la plus précisément appelée «informatique» est, dans la plupart des universités que j'ai vérifiées, une science appliquée, semblable aux disciplines de l'ingénierie; si vous vous spécialisez, vous recevez un "BS" ou un "MS". Le diplôme CS de Texas Tech a été offert par le Engineering College. La discipline, telle qu'elle est enseignée, est principalement théorique; vous apprenez le concept des machines de Turing, des DA / NDA, et d'autres concepts fondamentaux que le programmeur "au jour le jour" n'a pas vraiment besoin de continuer à vibrer dans leur crâne. Vous obtenez également une multitude de mathématiques supérieures; le diplôme Texas Tech CS, et je parie que beaucoup d'autres aussi, vous donne à peu près un mineur de mathématiques pour aller avec. À cela, la plupart des cursus universitaires ajoutent un tableau de bord d'application pratique de bas niveau; vous apprenez un langage d'assemblage, un langage de 3e génération,

Cependant, la plupart des gens qui codent pour gagner leur vie ne sont pas des "informaticiens"; ce sont, à proprement parler, des "développeurs de logiciels" ou (lorsque vous ajoutez l'analyse / conception) des "ingénieurs logiciels"; ce travail est beaucoup moins matériel (même si vous devez en connaître les bases), beaucoup plus d'analyse de systèmes, de conception et de codage direct. De nombreuses universités ont une voie différente juste pour cela; à Texas Tech, cela s'appelait "Management of Information Systems" et c'était un diplôme en commerce (BBA / MBA). Cette piste était plus légère en mathématiques supérieures (ce que vous deviez savoir sur l'algèbre et le calcul différentiel / intégral était compressé en deux semestres de "maths commerciales", et n'incluait pas le calcul vectoriel / tensoriel, l'algèbre linéaire, etc.), beaucoup plus lourd sur mathématiques financières (un semestre chacune de statistiques et finances, avec deux chacun de comptabilité et d'économie). Plus léger sur les systèmes d'exploitation, plus lourd sur les technologies de «pile» telles que les bases de données, les serveurs Web, les réseaux et l'administration générale des systèmes. Plus léger sur les langages de bas niveau, la conception de circuits et l'IA, plus lourd sur les langages de 3e et 4e génération, l'analyse de systèmes et la gestion de projet. J'ai obtenu ce diplôme de Texas Tech et au moment où je suis parti, j'avais au moins un semestre de Java, VB, C # et langages Web (HTML / CSS / PHP), plus un an d'OOA & D et divers autres cours en gestion de projet informatique.

Quel est le meilleur dans le monde réel? J'ai obtenu le MIS BBA, mon frère a obtenu le CS BS, et nous sommes tous les deux employés à peu près au même niveau de salaire (en tenant compte du coût de la vie) que les ingénieurs logiciels seniors. Il a dû apprendre beaucoup de OOA & D sur le tas, ainsi que tourner assez rapidement en C # / Java à partir de ses connaissances de base en C ++. Pour ma part, j'aurais aimé avoir les deux semestres d'étude d'algorithmes conceptuels qu'il a obtenus alors que j'étais coincé dans des cours de gestion d'entreprise (oui, MIS est un diplôme de "gestion", mais j'ai trouvé que 99% de mes connaissances gérer et ne pas gérer d'autres personnes a été appris par l'exemple).

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.