जीसस, मैं अब बूढ़ा हो गया हूं, और मुझे कभी भी पंच कार्ड या बैच प्रोसेसिंग के साथ गड़बड़ नहीं करना पड़ा। नरक, मुझे केवल अपने कॉलेज के कैरियर के दौरान एक या दो बार हार्डकॉपी टर्मिनल का उपयोग करना पड़ा।
यहाँ हमने देर क्रेटेशियस (१ ९ did६) के दौरान चीजों को वापस किया। मैं वीटी / वीएमएस पर VT220 एम्बर-ऑन-ब्लैक कैरेक्टर-आधारित टर्मिनल के माध्यम से काम कर रहा था जो 80x24 या 132x24 में प्रदर्शित कर सकता था।
सबसे पहले, आपने पाठ संपादक को निकाल दिया:
$ EDIT/EDT HELLO.C
EDT V के समतुल्य VMS था, जो DOS एडलिन और नोटपैड के बीच क्षमता में कहीं गिर रहा था। आपने अपने प्रोग्राम टेक्स्ट में टाइप किया
#include <stdio.h>
int main(void)
{
printf("Hello, Stupid\n");
return 0;
}
इसे फ़ाइल में सहेजा गया, और फिर संपादक से बाहर निकल गया।
फिर आपने कंपाइलर के माध्यम से अपना कोड चलाया:
$ CC HELLO
इसने HELLO.C में स्रोत कोड का अनुवाद किया और HELLO.OBJ ऑब्जेक्ट फ़ाइल उत्पन्न की। ऑब्जेक्ट फ़ाइल में प्रोग्राम के लिए मशीन कोड शामिल था, लेकिन यह अभी तक निष्पादन योग्य रूप में नहीं था। एक बात के लिए, printf
कॉल के लिए वास्तविक बाइनरी कोड मौजूद नहीं है; इसके लिए केवल एक प्लेसहोल्डर है। आपको अभी भी ऑब्जेक्ट फ़ाइल को एक लिंकर के माध्यम से चलाना था , जिसमें मानक पुस्तकालय (और आपकी आवश्यकता के किसी भी अन्य पुस्तकालय) से द्विआधारी कोड को शामिल किया गया था और फ़ाइल को स्वरूपित किया ताकि इसे एक निष्पादन योग्य के रूप में पहचाना जा सके:
$ LINK HELLO
इस चरण का परिणाम फ़ाइल HELLO.EXE है, जो आपके प्रोग्राम का निष्पादन योग्य संस्करण है।
किसी भी आधुनिक प्रणाली पर प्रक्रिया की प्रक्रिया बहुत समान है; यह सिर्फ इतना है कि विशिष्ट टूलचाइन्स अलग हैं। उदाहरण के लिए, एक विशिष्ट लिनक्स सिस्टम पर कमांड का क्रम होगा
$ vi hello.c
$ gcc -o hello hello.c
या
$ vi hello.c
$ gcc -c hello.c
$ ld -o hello hello.o -lc
जब से मैं इस माहौल में बड़ा हुआ, मैंने कभी नहीं समझा कि किसी को अपने कोड को लिखने के लिए आईडीई की आवश्यकता कैसे हो सकती है । हालांकि, इस साल की शुरुआत में मैंने जावा में काम करना शुरू कर दिया था, और जबकि ग्रहण के अपने कई, कई दोष हैं, मैं समझ सकता हूं कि कोई व्यक्ति अपने काम को करने के लिए एक आईडीई पर बहुत अधिक भरोसा करने के लिए कैसे आ सकता है। चूंकि सी की तुलना में जावा की इतनी बड़ी भाषा है, और चूंकि मैं अभी भी वाक्यविन्यास के महीन बिंदुओं को प्राप्त करने की कोशिश कर रहा हूं, यह एक स्मार्ट विकास वातावरण बनाने में मदद करता है जो जानता है कि विशेष प्रकार के पैकेज क्या हैं और मुझे आयातों को व्यवस्थित करने में मदद करता है।