Tanrım, şimdi kendimi yaşlı hissediyorum ve yumruk kartlarıyla veya toplu işlemlerle uğraşmak zorunda bile kalmadım. Cehennem, üniversite kariyeri boyunca basılı kopya terminalini sadece bir ya da iki kez kullanmak zorunda kaldım.
Geç Kretase döneminde (1986 dolaylarında) işleri nasıl yaptık. VAX / VMS üzerinde 80x24 veya 132x24 boyutlarında görüntülenebilen VT220 siyah üzerine siyah karakter tabanlı bir terminal aracılığıyla çalışıyordum.
İlk olarak, metin düzenleyiciyi işlediniz:
$ EDIT/EDT HELLO.C
EDT, VI'nın VMS eşdeğeriydi ve DOS edlin ile Notepad arasında bir yerde düşüyordu. Program metninizi yazdınız
#include <stdio.h>
int main(void)
{
printf("Hello, Stupid\n");
return 0;
}
dosyayı dosyaya kaydedip editörden çıkıldı.
Sonra kodunuzu derleyici üzerinden çalıştırdınız:
$ CC HELLO
Bu, HELLO.C içindeki kaynak kodunu çevirdi ve HELLO.OBJ nesne dosyasını oluşturdu. Nesne dosyası programın makine kodunu içeriyordu, ancak henüz çalıştırılabilir bir biçimde değildi. Birincisi, printf
çağrı için gerçek ikili kod mevcut değildir; bunun için sadece bir yer tutucu var. Nesne dosyasını , standart kitaplıktan (ve ihtiyacınız olan diğer kitaplıklardan) ikili kodu içeren ve yürütülebilir bir dosya olarak algılanabilmesi için biçimlendiren bir bağlayıcı aracılığıyla çalıştırmanız gerekiyordu:
$ LINK HELLO
Bu adımın sonucu, programınızın yürütülebilir sürümü olan HELLO.EXE dosyasıdır.
Prosedür herhangi bir modern sistemde hemen hemen aynıdır; sadece belirli takım zincirlerinin farklı olması. Örneğin, tipik bir Linux sistemindeki komutların sırası
$ vi hello.c
$ gcc -o hello hello.c
veya
$ vi hello.c
$ gcc -c hello.c
$ ld -o hello hello.o -lc
Bu ortamda büyüdüğüm için, birinin sadece kodunu yazmak için nasıl bir IDE'ye ihtiyacı olabileceğini hiç anlamadım . Ancak, bu yılın başlarında Java'da çalışmaya başladım ve Eclipse'in çok sayıda hatası olsa da, birisinin işlerini yapmak için bir IDE'ye nasıl güvenebileceğini anlayabiliyorum. Java, C ile karşılaştırıldığında çok büyük bir dil olduğundan ve hala sözdiziminin daha ince noktalarını indirmeye çalıştığımdan, belirli türlerin hangi paketlerde olduğunu bilen ve ithalatı düzenlememe yardımcı olan akıllı bir geliştirme ortamına sahip olmaya yardımcı oluyor.