Jezu, czuję się teraz stary i nigdy nie musiałem nawet zadzierać z kartami dziurkowania lub przetwarzaniem wsadowym. Do diabła, musiałem tylko raz lub dwa razy korzystać z terminala w trakcie mojej kariery w college'u.
Oto, jak zrobiliśmy to w późnej kredzie (około 1986 r.). Pracowałem nad VAX / VMS za pomocą terminalu VT220 w kolorze bursztynowym na czarnym, który może wyświetlać w formacie 80x24 lub 132x24.
Najpierw uruchomiłeś edytor tekstu:
$ EDIT/EDT HELLO.C
EDT był odpowiednikiem vi systemu VMS, mieszcząc się gdzieś pomiędzy edlinem DOS a Notatnikiem. Wpisałeś tekst programu
#include <stdio.h>
int main(void)
{
printf("Hello, Stupid\n");
return 0;
}
zapisał go w pliku, a następnie zamknął edytor.
Następnie uruchomiłeś kod przez kompilator:
$ CC HELLO
Przetłumaczyło to kod źródłowy w HELLO.C i wygenerowało plik obiektowy HELLO.OBJ. Plik obiektowy zawierał kod maszynowy programu, ale nie był jeszcze w formie wykonywalnej. Po pierwsze, rzeczywisty kod binarny dla printf
połączenia nie jest obecny; jest tylko symbol zastępczy. Wciąż musiałeś uruchomić plik obiektowy przez linker , który włączył kod binarny ze standardowej biblioteki (i wszelkich innych bibliotek, których potrzebujesz) i sformatował plik, aby mógł zostać rozpoznany jako plik wykonywalny:
$ LINK HELLO
Wynikiem tego kroku jest plik HELLO.EXE, który jest wykonywalną wersją Twojego programu.
Procedura jest prawie taka sama w każdym nowoczesnym systemie; po prostu poszczególne łańcuchy narzędzi są różne. Na przykład, sekwencja poleceń w typowym systemie Linux byłaby
$ vi hello.c
$ gcc -o hello hello.c
lub
$ vi hello.c
$ gcc -c hello.c
$ ld -o hello hello.o -lc
Odkąd dorastałem w tym środowisku, nigdy nie zrozumiałem, jak ktoś może potrzebować IDE tylko do napisania swojego kodu. Jednak na początku tego roku zacząłem pracować w Javie i chociaż Eclipse ma wiele, wiele wad, rozumiem, w jaki sposób ktoś może polegać na IDE, aby wykonać swoją pracę. Ponieważ Java jest tak ogromnym językiem w porównaniu do C, a ponieważ wciąż staram się obniżyć dokładniejsze punkty składni, pomaga mieć inteligentne środowisko programistyczne, które wie, w jakich pakietach są poszczególne typy i pomaga mi organizować importowanie.