Je fais un essai de recherche sur l'histoire des langages de programmation et je me demandais pourquoi les programmeurs ont-ils déjà écrit leurs programmes sur des cartes de poinçon? Les écrans d'ordinateur et les claviers n'existent pas déjà par les programmeurs d'heure les utilisées?
Je sais qu'ils ont été inventés pour la première fois pour l'utilisation du métier Jacquard et de contrôler la conception souhaitée, mais lorsque des personnes programmées, pourquoi ont-ils décidé d'écrire leurs programmes sur une carte s'opposer à l'écrire sur un terminal?
Était-ce parce que, étant donné que les ordinateurs étaient très chers, peu de gens leur ont accès, ce qui a entraîné une rédaction de programmes sur des cartes perforées, le soumettant à une entreprise ou à une personne ou à une organisation qui en avait un pour les exécuter et leur dire le résultat?
Vous n'avez peut-être pas une très bonne image de la technologie informatique avant 1974.
Le partage de temps, multi-utilisateurs, des systèmes ont été inventés à la fin des années cinquante, mais ils étaient comparativement rares à travers tous les 60. La plupart des ordinateurs ont couru en mode BATCH, exécutant un seul programme à la fois, sans interaction pour interagir avec les utilisateurs autres que le lecteur de carte, l'imprimante ligne et peut-être un télétype séparé pour l'opérateur de la console. Les terminaux que vous dites? Jusqu'à la fin des années 60, bornes électroniques avec des affichages vidéo étaient exotiques, des gadgets fabuleusement coûteux limités aux installations de recherche et aux emplois spécialisés tels que le contrôle de la circulation aérienne et la défense nationale . Ces ordinateurs qui appuient des sessions interactives généralement utilisés des télétypes. Entrer dans un programme sur un télétype était aussi désagréable que de la frapper sur des cartes
Permettez-moi de développer un peu un peu sur le problème du traitement par lots, car il est si étranger à la façon dont la plupart des gens utilisent des ordinateurs maintenant. Il aurait certainement été possible même dans les années 50 d'écrire un programme d'édition interactif qui aurait fonctionné avec un télétype. Toutefois, en raison du traitement par lots, le programme d'édition aurait complètement monopolisé l'ordinateur tout le temps que vous étiez assis à l'édition de TeleType de votre programme. Depuis plusieurs centaines de milliers de milliers d'autres personnes auraient attendu leur tour pour gérer leurs programmes, vous auriez été une personne très impopulaire. Vous auriez également été facturé plusieurs dollars quelques minutes pendant que votre éditeur était en cours d'exécution. Il était beaucoup plus économique d'écrire votre programme dans la longue main, remettez le projet final à un opérateur de perforation clé et laissez-les transcrire votre programme sur des cartes Punch ou du ruban de papier. Cela évitait de gaspiller des millisecondes précieux de la CPU qui vous attendent de taper "Gosub".
Les disques durs ont également été inventés à la fin de la cinquantaine, mais ils étaient petits (environ 1 Mo), rares et coûteux, et non quelque chose que vous avez donné aux utilisateurs l'accès occasionnel. De toute évidence, les utilisateurs ont besoin d'une sorte de stockage à long terme. Les choix étaient des rubans de papier, des cartes de poinçon et du ruban écran magnétique. La bande magnétique était nouvelle et chère. Certains systèmes, mais Les cartes de poinçon étaient une technologie établie utilisée dans des machines commerciales non informatiques telles que les tabulateurs et les trieurs depuis 1928 , de nombreuses entreprises avaient déjà un investissement majeur dans les machines de cartes de poing et stockage.
Les cartes perforées servies non seulement comme support d'entrée/sortie, mais également comme un dispositif de stockage à long terme. Vous pouvez exécuter un programme plus d'une fois en rechargeant le pont de la carte pour ce programme. Il n'y avait pas de disques durs, pas de lecteurs de disquettes, pas de bandes magnétiques.
[W] HY Les programmeurs ont-ils déjà écrit leurs programmes sur des cartes de poinçon? Les écrans d'ordinateur et les claviers n'existent pas déjà par les programmeurs d'heure les utilisaient ?
Nous utilisons tout mécanisme d'E/S que nos ordinateurs ont. Dans les années 1960, la bande de papier était courante. Dans les années 1970 (lorsque j'ai commencé la programmation), la bande de papier était remplacée par des cartes perforées.
Oui, là étaient Machines avec des teletypes, ainsi que des choses étonnantes appelées VDU. Mais ils n'étaient pas encore dans le courant dominant. Ces deux technologies ont été plus couramment utilisées par les opérateurs informatiques (mainframe); rarement pour nous.
Au sommet de l'ère de la carte de punch, la machine la plus courante était l'IBM029
Dans cette image, les étudiants frappent leur propre code. Les programmeurs professionnels ont plus souvent écrit leur code à la main sur Feuilles de codage, formaté en fonction de la langue que vous codez.
Nous enverrions nos feuilles de codage au centre de données, où les opérateurs les frapperaient (à des vitesses aveuglantes), puis transmettent les cartes à l'opérateur de vérification. Elle (90% du personnel du centre de données étaient des femmes; seuls leurs gestionnaires étaient des hommes) saisirions à nouveau votre code, avec la machine de punch définie pour vérifier le mode de vérification. La machine dingrait si ce qu'elle tapait était différente de ce qui était déjà sur la carte. En le faisant deux fois, ils ont atteint vitesse et Précision.
Lorsque vous avez récupéré vos cartes, la première chose que vous feriez était de dessiner une ligne diagonale sur le dessus de tout le pont. Woe Beide Si vous avez laissé tomber vos cartes avant de le faire! Avec la ligne dessinée, vous avez eu une chance de récupérer vos cartes dans l'ordre après les laisser tomber.
Beaucoup d'édition de programme consistait à insérer de nouvelles cartes, que nous nous frappons habituellement et en déplaçant les cartes existantes vers une autre place dans le pont. De toute évidence, la ligne diagonale que vous dessinez à l'origine serait maintenant moins utile, alors après quelques modifications, vous dessineriez une autre ligne. Lorsque les cartes deviennent trop de lignes ou commençaient à produire des erreurs de lecture sur le lecteur de carte (les lecteurs les plus rapides ont fonctionné à 1200 cartes par minute et plus, les cartes ont pris une martole chaque fois qu'ils étaient lus), vous enverriez votre pont au centre de données à dupliquer.
Les petites modifications pourraient être effectuées à l'aide d'un poinçon de main.
Avec une expérience, vous apprendriez le code Hollerith pour chaque caractère et pourrait frapper aussi vite que l'utilisation d'un clavier.
Si personne Senior Senior regardait lorsque vous avez fait une erreur, vous pouvez remplir le mauvais trou avec un "chad" qui avait été perforé de la carte, le frottant avec votre vignette afin que ce soit des bords en maillage avec le reste de la carte. De tels patchs sont souvent déchaînés pendant le processus de lecture, mais ils travaillaient souvent au moins une fois. Si le Tchad est sorti pendant le processus de lecture, il provoquerait un "crash" et que la ou les cartes suivantes seraient écrasées et froissées au-delà de la reconnaissance. Le lecteur de carte serait éparté d'alignement, nécessitant un ingénieur en informatique de venir le réparer.
À la fin des années 1970, il devenait plus courant de charger votre programme sur une bande magnétique. La bande détenait votre code dans des enregistrements de caractères à 80 caractères fixes et nous avons eu des programmes "bibliothécaire" pour faire l'édition. Comme je me souviens que j'étais appelé bibliothécaire. Vous coderiez un autre pont de carte pour effectuer l'édition ou de plus en plus courant, utilisez un télétype ou VDU pour votre édition en ligne. WOW!
La syntaxe utilisée pour piloter ces éditeurs de bibliothécaires était très similaire à la syntaxe IBM-PC Edlin Syntaxe.
En résumé, nous utilisons quels outils que nous avons disponibles. La technologie la plus récente est toujours la plus chère et peut prendre un certain temps avant que tout le monde ne l'ait accès. C'est aussi une question de commodité et de compétences. Je taponne ceci sur mon ordinateur portable, mais lors de la rédaction d'un email sur mon smartphone, j'utilise l'entrée "Swype", où mon doigt fait un motif de zigzag étrange sur une image de clavier et que le logiciel fonctionne à quel mot je compte.
Bonne chance avec votre essai.
Le poids de l'histoire ...
Revenons à la Jacquard Loom , un timent mécanique inventé il y a plus de 200 ans.
Le métier à tisser a été contrôlé par une "chaîne de cartes", un certain nombre de cartes perforées, laçues ensemble dans une séquence continue.
C'était une technologie connue et plus tard sur le US Census Bureau a utilisé une machine Tally - la machine Hollerith aux données de recensement de la clast. Qui a été collecté avec des cartes Punch.
Le tabulateur d'Herman Hollerith consistait en composants électriquement exploités capturé et transformé des données de recensement par des trous de "lecture" sur des cartes Punch Punch
Ces machines de pointage précoce ont ensuite évolué dans des ordinateurs - mais la méthode d'entrée est restée la même.
Des écrans existaient, des claviers existent (machine à écrire), mais l'idée de l'accrocher à un ordinateur? Cela a pris un peu de temps.
De plus, les cartes de perforation n'étaient pas seulement le programme d'exécution - elles étaient également les données réelles - le support de stockage. Il n'y avait pas de disques durs, pas de ruban magnétique.
Je suis si vieux que j'ai utilisé des cartes perforées (et des cartes "modifiables" - crayon à Mark + Eraser pour édaser!) À l'UNI, et nous avons soumis le jeu de cartes comme mission. Il n'y avait pas de clavier ni de terminal en vue. Et ce n'était pas ça Il y a longtemps: les années 80.
Où pensez-vous que l'utilisation du terme "à -Punch dans les données" est venue de (bien que, voir ci-dessous)? Il y avait un titre de poste "Opérateur de frappe clé" - essentiellement une dactylographie qui s'est assise à une machine de poinçonnage de carte et "perforée" dans le code/données.
IBM fait toujours référence à un programme JCL en tant que "pont" et chaque ligne a un maximum de 80 caractères - pourquoi? Comme une carte de frappe standard comportait 80 colonnes et sur leurs ordinateurs d'origine, l'opérateur mettrait un jeu de cartes (programme) dans la trémie d'entrée pour l'exécuter. Le système d'exploitation (MVS) a été verrouillé (en raison de la promesse de la compatibilité de l'IBM) à une ancienne limitation matérielle.
Q: Quelle est la différence entre un batteur et une machine à tambour?
R: Avec une machine à tambour, vous n'avez que le Punch l'information en une fois.
Le temps d'ordinateur était extrêmement coûteux à l'époque, alors tout ce qui pourrait être déchargé était généralement.
Les ordinateurs n'ont pas commencé comme vous les voyez aujourd'hui, évidemment. Ils étaient plus mécaniques. Une carte de perforation est utilisée pour représenter mécaniquement des nombres binaires. Une tête de lecture mécanique qui se déplace sur la carte de frappe lit un "trou" ou un "sans trou". Ces combinaisons de trous et aucun trou ne peuvent être utilisés pour contrôler le comportement d'un dispositif mécanique. Là, nous avons un programme pour contrôler quelque chose!
La bande magnétique a été utilisée pour la première fois pour le stockage de données en 1951. Des disques durs ont été introduits en 1956. Des lecteurs de disquettes ont été introduits en 1971. La carte perforée avait une tête importante sur tous ces médiums de stockage.
Dans les années 1970, les organisations informatiques étudiaient au moins une éloignement des cartes perforées. À la fin des années 1980 ou au début des années 90, la transition était tout sauf complète.
Les cartes perforées détenaient aussi longtemps qu'elles le faisaient, lorsqu'il y avait d'autres supports de stockage plus efficaces disponibles, au moins deux raisons.
1) Ils étaient utilisés et l'inertie est une chose difficile à surmonter. En d'autres termes, "nous l'avons toujours fait de cette façon."
2) Coût. A 1 TB SATA Drive peut être effectué pour un peu plus de 50 $ aujourd'hui, mais une variation de la loi de Moore a entraîné des coûts au fil du temps. À titre de comparaison, un lecteur Seagate ST-506 5 Mo dans 1980 coûte 1 500 $ (environ 4 300 $ aujourd'hui).
Au début, le système informatique était dans une pièce qui n'était pas accessible aux programmeurs et la plupart des systèmes ne pouvaient exécuter qu'un seul programme à la fois (traitement par lots). Pour que votre programme soit exécuté, vous l'avez soumis via des cartes perforées ou une cassette en papier et revenue plus tard pour obtenir vos résultats qui était normalement imprimé. Les programmeurs ont rarement permis d'accéder directement à la "console", et s'ils étaient c'était de déboguer un programme, de ne pas l'écrire.
Avec l'avènement du multitâche préventif vers 1965 (voir Multics ), de nombreux utilisateurs pourraient être pris en charge à la fois via des "terminaux". Au début, ces terminaux étaient des télétypes comme des machines puis des écrans CRT avec des claviers. Ces systèmes n'étaient pas largement disponibles jusqu'au début des années 1970.
Mon premier ordinateur n'avait pas de disque dur. Pour compiler un programme, le compilateur a été lu dans la mémoire des cartes perforées et exécutées. Il a lu votre code source à partir de cartes perforées et perforée la version compilée. Cette version a été placée derrière un programme de chargeuse et lus. Ce n'était que lorsque votre programme était exécuté. Oh les bons jours d'OL ')