Jésus, je me sens vieux maintenant, et je n'ai même jamais eu à jouer avec les cartes perforées ou le traitement par lots. Bon sang, je n'ai eu à utiliser un terminal papier qu'une ou deux fois au cours de ma carrière universitaire.
Voici comment nous avons fait les choses à la fin du Crétacé (vers 1986). Je travaillais sur VAX / VMS via un terminal basé sur des caractères VT220 ambre sur noir qui pouvait s'afficher en 80x24 ou 132x24.
Tout d'abord, vous avez lancé l'éditeur de texte:
$ EDIT/EDT HELLO.C
EDT était l'équivalent VMS de vi, se situant quelque part dans la capacité entre DOS edlin et Notepad. Vous avez tapé le texte de votre programme
#include <stdio.h>
int main(void)
{
printf("Hello, Stupid\n");
return 0;
}
enregistré dans le fichier, puis quittez l'éditeur.
Ensuite, vous avez exécuté votre code via le compilateur:
$ CC HELLO
Cela a traduit le code source dans HELLO.C et généré le fichier objet HELLO.OBJ. Le fichier objet contenait le code machine du programme, mais il n'était pas encore sous une forme exécutable. D'une part, le code binaire réel de l' printf
appel n'est pas présent; il n'y a qu'un espace réservé pour cela. Vous deviez toujours exécuter le fichier objet via un éditeur de liens , qui incorporait le code binaire de la bibliothèque standard (et toutes les autres bibliothèques dont vous avez besoin) et formaté le fichier afin qu'il puisse être reconnu comme un exécutable:
$ LINK HELLO
Le résultat de cette étape est le fichier HELLO.EXE, qui est la version exécutable de votre programme.
La procédure est à peu près la même sur tout système moderne; c'est juste que les chaînes d'outils spécifiques sont différentes. Par exemple, la séquence de commandes sur un système Linux typique serait
$ vi hello.c
$ gcc -o hello hello.c
ou
$ vi hello.c
$ gcc -c hello.c
$ ld -o hello hello.o -lc
Depuis que j'ai grandi dans cet environnement, je n'ai jamais compris comment quelqu'un pouvait avoir besoin d' un IDE juste pour écrire son code. Cependant, au début de cette année, j'ai commencé à travailler en Java, et bien qu'Eclipse ait ses nombreux défauts, je peux comprendre comment quelqu'un peut s'appuyer fortement sur un IDE pour faire son travail. Étant donné que Java est un langage si énorme par rapport à C, et comme j'essaie toujours de réduire les points les plus fins de la syntaxe, cela aide à avoir un environnement de développement intelligent qui sait dans quels packages se trouvent certains types et m'aide à organiser les importations.