Chúa ơi, bây giờ tôi cảm thấy già và tôi thậm chí không bao giờ phải lộn xộn với thẻ đục lỗ hoặc xử lý hàng loạt. Chết tiệt, tôi chỉ phải sử dụng thiết bị đầu cuối cứng một hoặc hai lần trong suốt sự nghiệp đại học của mình.
Đây là cách chúng tôi đã làm mọi thứ trở lại vào cuối kỷ Phấn trắng (khoảng năm 1986). Tôi đã làm việc trên VAX / VMS thông qua thiết bị đầu cuối dựa trên ký tự màu hổ phách VT220 có thể hiển thị ở cả 80x24 hoặc 132x24.
Đầu tiên, bạn kích hoạt trình soạn thảo văn bản:
$ EDIT/EDT HELLO.C
EDT là VMS tương đương với vi, nằm ở đâu đó trong khả năng giữa DOS edlin và Notepad. Bạn đã gõ vào văn bản chương trình của bạn
#include <stdio.h>
int main(void)
{
printf("Hello, Stupid\n");
return 0;
}
lưu nó vào tập tin, và sau đó thoát khỏi trình soạn thảo.
Sau đó, bạn chạy mã của mình thông qua trình biên dịch:
$ CC HELLO
Điều này đã dịch mã nguồn trong HELLO.C và tạo tệp đối tượng HELLO.OBJ. Tệp đối tượng chứa mã máy cho chương trình, nhưng nó chưa ở dạng thực thi được. Đối với một điều, mã nhị phân thực tế cho printf
cuộc gọi không có mặt; chỉ có một giữ chỗ cho nó. Bạn vẫn phải chạy tệp đối tượng thông qua một trình liên kết , kết hợp mã nhị phân từ thư viện chuẩn (và bất kỳ thư viện nào khác bạn cần) và định dạng tệp để có thể nhận ra tệp đó là tệp thực thi:
$ LINK HELLO
Kết quả của bước này là tệp HELLO.EXE, đây là phiên bản thực thi của chương trình của bạn.
Các thủ tục khá giống nhau trên bất kỳ hệ thống hiện đại nào; chỉ là các công cụ cụ thể là khác nhau. Ví dụ: chuỗi các lệnh trên một hệ thống Linux điển hình sẽ là
$ vi hello.c
$ gcc -o hello hello.c
hoặc là
$ vi hello.c
$ gcc -c hello.c
$ ld -o hello hello.o -lc
Vì tôi lớn lên trong môi trường này, tôi không bao giờ hiểu làm thế nào ai đó có thể cần một IDE chỉ để viết mã của họ. Tuy nhiên, đầu năm nay tôi đã bắt đầu làm việc với Java và trong khi Eclipse có rất nhiều lỗi, tôi có thể hiểu làm thế nào một người nào đó có thể dựa nhiều vào IDE để hoàn thành công việc của họ. Do ngôn ngữ khổng lồ của Java so với C và vì tôi vẫn đang cố gắng giảm các điểm cú pháp tốt hơn, nên nó có một môi trường phát triển thông minh để biết các loại gói cụ thể đang ở trong và giúp tôi tổ chức nhập khẩu.