आलेखीय IDE के बिना कार्यक्रम लिखना


18

मुझे यकीन नहीं है कि यह संभव है, लेकिन मैंने प्रोग्रामिंग उदाहरणों के साथ कुछ वीडियो देखे हैं जहां ऐसा लगता है कि प्रोग्राम एक अच्छा चित्रमय आईडीई के बजाय कुछ प्रकार के कमांड प्रॉम्प्ट में लिखा जा रहा है। Im बस उत्सुक है कि इन वीडियो में क्या हो सकता है। क्या एक आईडीई के बिना कार्यक्रम लिखना संभव है?

दो उदाहरण: http://www.youtube.com/watch?v=hFSY9cWjO8o (@ 6 min) http://www.youtube.com/watch?v=tKTZoB2Vjuk (@ 5 मिनट)

क्या कोई समझा सकता है कि यह कैसे किया जाता है?

महान प्रतिक्रिया के लिए आप सभी का धन्यवाद!


48
जाहिर है आप बिना आईडीई के भी प्रोग्राम लिख सकते हैं। आपको क्या लगता है कि पहला आईडीई कैसे लिखा गया था?
चार्ल्स साल्विया

34
आज के बच्चे! लगता है कि वे एक फैंसी आईडीई के बिना कार्यक्रम नहीं लिख सकते हैं! क्यों, मेरे दिन में हमें खुद को मशीन कोड संकलित करना पड़ा, दोनों रास्ते बर्फ में चलते हुए ...
JSB at

33
यह सवाल मुझे दुखी करता है। सॉफ्टवेयर और हार्डवेयर को जादुई मानने वाले आम लोगों से भी अधिक - आप एक प्रोग्रामर हैं, आपको बेहतर पता होना चाहिए! (और रिकॉर्ड के लिए, मैं मशीन कोड का इस्तेमाल करने वाले लोगों के लिए बच्चे के रूप में गिनती करता हूं।)

10
यह कमांड लाइन नहीं है, यह टर्मिनल आधारित टेक्स्ट एडिटर है। सबसे लोकप्रिय पाठ संपादकों में से दो, vi और emacs टर्मिनलों में चलते हैं। (और जीयूआई भी, आजकल)।
लेन्आर्ट रेगेब्र

4
@ jas- रचनात्मक और व्यावहारिक टिप्पणी के लिए धन्यवाद।
मैट

जवाबों:


22

आपको एक प्रोग्राम लिखने की ज़रूरत है एक टेक्स्ट एडिटर और एक कंपाइलर (या यदि आप एक गैर-संकलित भाषा में लिख रहे हैं तो एक दुभाषिया है)। कोड आमतौर पर सिर्फ सादा पाठ होता है। वास्तव में, आप विंडोज नोटपैड और कमांड-लाइन सी कंपाइलर का उपयोग करके किसी भी प्रोग्राम को कल्पना कर सकते हैं।

बहुत सारे प्रोग्रामर आईडीई का उपयोग भी नहीं करते हैं। मैंने व्यक्तिगत रूप से Gedit (सिंटैक्स हाइलाइटिंग के साथ एक मूल लिनक्स पाठ संपादक) का सबसे लंबे समय तक उपयोग किया, इससे पहले कि मैं अंत में ग्रहण में बदल गया।

वास्तव में, मैं अभी भी Gedit का उपयोग करता हूं जब मैं एक साधारण प्रोग्राम लिखना चाहता हूं। कभी-कभी मैं भी सिर्फ नैनो का उपयोग कर सकता हूं यदि मैं एक त्वरित स्क्रिप्ट को कोड़ा मारना चाहता हूं, क्योंकि मैं आईडीई को लोड करने के लिए इंतजार करने के लिए बहुत अधीर हूं।


2
मैं Gedit और KATE का बहुत बड़ा प्रशंसक हूं। मैं नैनो का उपयोग तब करता हूं जब मैं कोड को दूरस्थ रूप से संपादित कर रहा होता हूं।
टिम पोस्ट

8
मुझे नोटपैड ++ पसंद है। :)
मतीन उल्हाक

नैनो और vi को मेरा +1!
crodjer

4
वास्तव में आपको किसी पाठ संपादक की भी आवश्यकता नहीं है। UNIX में आप catविंडोज में कोड के साथ लिख सकते हैं, more जाहिर है आपको इसे पहली बार लिखना होगा। बेशक, असली प्रोग्रामर तितलियों का उपयोग करते हैं;) xkcd.com/378
OscarRyz

1
@OscarRyz - "बेशक इसके लिए एक emac कमांड है।" +1 से नोटपैड ++ हालांकि
जेटी

11

@ मैट, यह दिखने में जितना आसान है। आइए एक नज़र डालते हैं दूसरे वीडियो पर: वे एक अजगर कार्यक्रम लिख रहे हैं। पायथन एक अंतःप्रेरित भाषा है - जिसका अर्थ है कि अजगर में लिखे गए कार्यक्रम को संकलित करने की आवश्यकता नहीं है, इसे चलाने के लिए सिर्फ व्याख्या करने की आवश्यकता है।

यदि आपके पास एक साधारण संपादक है, तो नोटपैड (विंडोज़) या नैनो (लिनक्स) के रूप में आप एक साधारण पाठ फ़ाइल लिख सकते हैं, इसे नाम दे सकते हैं, मान सकते हैं "program.py", और कमांड-लाइन से व्याख्या को नीचे के रूप में चला सकते हैं:

python program.py

यदि आप उदाहरण के लिए लुआ में कार्यक्रम करना चाहते हैं , तो आप नोटपैड या नैनो"program.lua" का उपयोग करके नाम की एक साधारण पाठ फ़ाइल लिख सकते हैं और नीचे अपनी पाठ फ़ाइल पर एक पंक्ति लिख सकते हैं:

print("my first program in lua")

फिर कमांड प्रॉम्प्ट पर जाएं (विंडोज़ पर लिनक्स, लिनक्स में टर्मिनल) और कमांड चलाएं:

lua program.lua

प्रमुख अवधारणाएँ:

  • एक कच्चा कार्यक्रम एक पाठ फ़ाइल है। एक कार्यक्रम लिखने के लिए आपको वास्तव में एक प्रोग्राम लिखने की ज़रूरत है;
  • यदि आपकी भाषा विकल्प एक व्याख्या है, तो आपको अपने कार्यक्रम (लुआ, बेसिक, पायथन, आदि ...) को चलाने के लिए दुभाषिया की आवश्यकता होगी। यह दुभाषिया आपके कंप्यूटर पर स्थापित होना चाहिए;
  • यदि आपकी भाषा की पसंद एक संकलित है, तो आपको अपने सोर्स कोड को बाइनरी मशीन-समझने योग्य और चलाने योग्य कोड में अनुवाद करने के लिए टूलकिन इंस्टॉल करना होगा (मुख्य रूप से एक कंपाइलर और एक लिंकर)। प्रत्येक भाषा (C, Java, C ++, C #, VB.Net, आदि ...) का अपना टूलचिन है।

उम्मीद है की वो मदद करदे।


4
नोटपैड ++ सिंटैक्स हाइलाइटिंग के लिए बहुत बेहतर है! और EMACS के बारे में मत भूलना: D
K-RAN

हास्केल एक संकलित भाषा है (जिसमें एक दुभाषिया भी है)।
jsternberg

मुझे नोटपैड 2 (या नोटपैड 2-मॉड बल्कि) नोटपैड ++ से बेहतर लगता है। ; पी
कोड.ओएनपी

@ जेस्टर्नबर्ग, हास्केल पर इनपुट के लिए धन्यवाद ... मैं वास्तव में बताने के लिए भाषा को अच्छी तरह से नहीं जानता हूं।
मचादो

1
@ K-RAN: सभी उपयोग मैं Emacs है, जब तक कि मैं iPhone प्रोग्रामिंग के लिए XCode का उपयोग नहीं कर रहा हूं। ट्रम्प के साथ यह अजेय है!
जोश

10

जीसस, मैं अब बूढ़ा हो गया हूं, और मुझे कभी भी पंच कार्ड या बैच प्रोसेसिंग के साथ गड़बड़ नहीं करना पड़ा। नरक, मुझे केवल अपने कॉलेज के कैरियर के दौरान एक या दो बार हार्डकॉपी टर्मिनल का उपयोग करना पड़ा।

यहाँ हमने देर क्रेटेशियस (१ ९ 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

जब से मैं इस माहौल में बड़ा हुआ, मैंने कभी नहीं समझा कि किसी को अपने कोड को लिखने के लिए आईडीई की आवश्यकता कैसे हो सकती है । हालांकि, इस साल की शुरुआत में मैंने जावा में काम करना शुरू कर दिया था, और जबकि ग्रहण के अपने कई, कई दोष हैं, मैं समझ सकता हूं कि कोई व्यक्ति अपने काम को करने के लिए एक आईडीई पर बहुत अधिक भरोसा करने के लिए कैसे आ सकता है। चूंकि सी की तुलना में जावा की इतनी बड़ी भाषा है, और चूंकि मैं अभी भी वाक्यविन्यास के महीन बिंदुओं को प्राप्त करने की कोशिश कर रहा हूं, यह एक स्मार्ट विकास वातावरण बनाने में मदद करता है जो जानता है कि विशेष प्रकार के पैकेज क्या हैं और मुझे आयातों को व्यवस्थित करने में मदद करता है।


मुझे बहुत खेद है कि आप इतनी कम उम्र और प्रभावशाली उम्र में (वी) ऑमिट (एम) एकिंग (एस) यस्टेम के संपर्क में आए। मुझे आशा है कि यह किसी भी समय तक चलने वाले परिणामों में परिणाम नहीं था ...
टिम पोस्ट

2
@ समय पोस्ट: आप मजाक कर रहे हैं? मेरे लिए, वे अच्छे समय थे ; यह तब से सभी डाउनहिल है।
जॉन बोडे

शायद मैं थोड़ा कड़वा लगता हूँ। हालाँकि, मेरे बचाव में, मैं वह था जिसे टोकेन रिंग के ऊपर एक बहुत ही तदर्थ नोवेल संचालित 3270 नेटवर्क को एक साथ टैप करते रहना था। वर्षों की चिकित्सा के बावजूद, मेरे पास अभी भी इससे होने वाली परेशानियां हैं।
टिम पोस्ट

"विश्व" की दिलचस्प वर्तनी।

6

हाँ हाँ यह है।

जिस तरह एक साथ बिना दूध के कॉफी बनाना संभव है, उसी तरह फोन पर बात किए बिना भी काम करने के लिए ड्राइव करें और अपने करों को करें, या चारों ओर ध्वनि प्रणाली पर "भौंरा की उड़ान" सुनने के बिना सितारों को टकटकी लगाइए, यह संभव है एक संपादक, डीबगर, कोड विश्लेषण प्रणाली और साँप के खेल को चलाने के बिना भी कोड संकलित करना।

लेकिन ... जो वास्तव में मौन में सितारों पर टकटकी लगाना चाहता है ?


1
क्या आप समझाने के लिए तैयार हैं कि कैसे?
मैट

1
@ मैट: प्रति कार्य एक कार्यक्रम ... एक संपादक में कोड लिखें , इसे संकलक का उपयोग करके संकलित करें , डीबगर का उपयोग करके इसे डीबग करें , ब्रेक लें और सांप खेलें ।
Shog9

2
-1 मुझे नहीं लगता कि यह रचनात्मक है।
साठफुटेरसूड

1
+1, यह विनाशकारी नहीं है, यह सिर्फ एक रूपक है । हास्य से मत डरो।
ern0

6

संपादक? मुझे कोड लिखने के लिए किसी बदबूदार संपादक या आईडीई की आवश्यकता नहीं है :

cat << EOF > hello.c
/* This IS an example of writing code from the command line */
#include <stdio.h>

int main(void)
{
    puts("Hello, World!");
    return 0;
}

EOF

हालाँकि, बाद में फ़ाइल को संपादित करने के लिए कुछ करना अच्छा है। आईडीई (एकीकृत विकास वातावरण) लगभग बहुत लंबे समय से है, कई लोग अपने जवाबों में सुझाव दे रहे हैं। एकमात्र आईडीई जिसे मैंने वास्तव में पसंद किया था, वह वही था जो टर्बो सी के साथ आया था , जो डॉस पर चलता था। यह उन लोगों के लिए प्राणवायु जैसा था, जिन्हें एडलिन के साथ घुलने-मिलने के लिए मजबूर किया गया था ।

मैंने उन दोस्तों की सिफारिशों पर कई अलग-अलग IDE 'सुइट्स' आज़माए हैं, जो इस बात पर ध्यान नहीं देते कि वे कितना समय बचाते हैं और कितना सुविधाजनक सब कुछ बनाते हैं। जब भी मैं कोशिश करता हूं और एक का उपयोग करने के लिए बैठता हूं, मुझे लगता है कि मैं इसे इस्तेमाल करने से ज्यादा लड़ता हूं।

अधिकांश भाग के लिए, मैं सिर्फ पाठ संपादकों का सबसे सरल उपयोग करता हूं। मेरा पसंदीदा KATE होता है, जो KDE के साथ आता है। ये विशेषताएं हैं जो मुझे पसंद हैं:

  • महान वाक्य रचना हाइलाइटिंग
  • कोड तह
  • सरल रेगेक्स आधारित खोज / बदलें
  • इनलाइन शेल विंडो
  • इनलाइन संकलक विंडो / डिबगर विंडो
  • स्निपेट गैलरी
  • प्रतीक दर्शक
  • बहुत हल्के स्मृति पदचिह्न (मेरी कुछ परियोजनाओं में कई सौ स्रोत फाइलें हैं)
  • आसान टैब / विभाजन खिड़कियां
  • जटिल 'परियोजनाओं' के बजाय सरल सत्र
  • (अर्ध) सरल प्लग-इन वास्तुकला

बस उन बुनियादी सुविधाओं के साथ, मुझे लगता है कि मैं लगभग खराब हो गया हूं।

सुविधा संपन्न IDEs के साथ काम करने पर मैं वास्तव में कम उत्पादक हूं , और आभारी हूं कि मैंने कभी भी एक पर निर्भरता विकसित नहीं की।


रिकॉर्ड के लिए, आपके द्वारा उल्लिखित अधिकांश विशेषताएं किसी भी आधुनिक प्रोग्रामर के टेक्स्ट एडिटर में उपलब्ध हैं, न केवल आईडीई के लिए।
Xiong Chiamiov

आपसे इसे तोड़ने के लिए नफरत है, लेकिन ये विशेषताएं हैं जो एक आईडीई बनाती हैं।
देवशर्तें

4

एक आईडीई एक कंपाइलर, एक डिबगर या कुछ भी समान नहीं है, यह वास्तव में एक फ्रंट-एंड है जो आपको इन सभी को एक्सेस करने की अनुमति देता है, जो आमतौर पर अलग-अलग प्रोग्राम हैं। विजुअल स्टूडियो के दृश्यों के पीछे एक कंपाइलर है जिसे आप एक अलग प्रोग्राम के रूप में एक्सेस कर सकते हैं, कमांड प्रॉम्प्ट से अपने प्रोग्राम्स को कंप्लीट कर सकते हैं, और शायद एक डिबगर है जो अलग से एक्सेसिबल भी है और इसी तरह - मैं इसके इंफ्रास्ट्रक्चर से भी परिचित नहीं हूँ क्योंकि मैं इसका उपयोग नहीं करता।

आप जो पूछते हैं, उसके आधार पर, एक आईडीई या तो बहुत उपयोगी है, या यह आपके रास्ते में आ जाता है। यह इस बात पर भी निर्भर करता है कि आप क्या लिख ​​रहे हैं, इसके आकार, आपकी कोडिंग शैली आदि। मैं, एक के लिए, वास्तव में एक आईडीई का उपयोग करने की आवश्यकता को बहुत अधिक महसूस नहीं करता, लेकिन मुझे लगता है कि कुछ कार्य इसके द्वारा बेहतर तरीके से संभाले जाते हैं (या, आप इसे कैसे देखते हैं, इस पर निर्भर करता है कि मैं स्क्रिप्ट लिखने के लिए बहुत आलसी हूं। / उन लोगों के लिए मैक्रो)।


3

यह निश्चित ही। पहले वीडियो में, यह सी प्रोग्रामिंग के बारे में है। C प्रोग्राम लिखने के लिए, आपको निम्नलिखित की आवश्यकता है:

  • कुछ प्रकार की स्रोत फाइलें जहां कोड को लिखा जाता है
  • इस स्रोत फ़ाइल को एक बाइनरी में बदलने के लिए एक टूलचैन, जो केवल एक चीज है जिसे सीपीयू अंत में समझ सकता है।

कड़ाई से बोलते हुए, आपको फ़ाइल की आवश्यकता नहीं है, लेकिन मैं किसी भी पर्यावरण को नहीं जानता, जो C / C ++ के लिए फ़ाइल का उपयोग नहीं करता है। जैसे, आपको स्रोत कोड को संपादित करने के लिए एक संपादक की आवश्यकता है। हालांकि नोटपैड के रूप में सरल कुछ काम करता है, आप वास्तव में कोडिंग (कोड हाइलाइटिंग, एक ही समय में कई फ़ाइल खोलना, आदि ...) करने के लिए कुछ अधिक विस्तृत चाहते हैं।

दूसरे बिंदु के लिए, आपको एक कंपाइलर (स्रोत कोड -> ऑब्जेक्ट कोड) और एक लिंकर (ऑब्जेक्ट कोड एक साथ विलय + प्रोग्राम शुरू करने के लिए न्यूनतम समर्थन) की आवश्यकता होती है।

आईडीई के साथ भी, दृश्य के पीछे किए गए अधिकांश कार्य कमांड लाइन से किए जा सकते हैं: उदाहरण के लिए, दृश्य स्टूडियो में, आईडीई अभी भी आपके लिए कमांड लाइन पर फ़ाइलों और कॉल कंपाइलर का उपयोग करता है, लेकिन यह कुछ और तरीके से काम कर सकता है ( और शायद अधिक एकीकरण के लिए करता है)।

तो एक आईडीई का उपयोग क्यों नहीं कर रहा है? कुछ लोग अपने कोड संपादक के बारे में काफी गुदा हैं, क्योंकि वे वास्तव में इसे जानते हैं। उदाहरण के लिए, मैं vi कोड संपादक के साथ काफी उत्पादक हूं। आईडीई भी सीमित है यदि आपको उन चीजों के साथ बातचीत करने की आवश्यकता है जिनके लिए आईडीई डिजाइन नहीं किया गया है। यहां एक ट्रेडऑफ़ है जो प्रोग्रामर की क्षमता, परियोजना, प्रोग्रामिंग भाषाओं / टूल आदि पर निर्भर करता है। कुछ भाषाओं में एक सभ्य आईडीई भी नहीं है, कुछ अन्य भाषाएं एक के बिना लगभग अनुपयोगी हैं। हालांकि मैं खुद आईडीई का उपयोग नहीं करता हूं, एक क्षेत्र जहां मुझे लगता है कि वे बहुत उपयोगी हैं सी और सी ++ के लिए डिबगिंग एकीकरण है।


मैंने जावा में प्रोग्राम करने के लिए नोटपैड का उपयोग किया। मुझे क्रिमसन एडिटर मिला और इसके तुरंत बाद लिनक्स पर गेडिट का इस्तेमाल किया, लेकिन पहली बार इसे लेने के 2 साल बाद तक आईडीई को नहीं छुआ। मेरी वर्तमान नौकरी एक जावा प्रोग्रामर के रूप में है।
माइकल के

हां, जावा एक विशिष्ट उदाहरण है जहां मैं शायद ही कभी ऐसे लोगों से मिला हूं जो आईडीई का उपयोग नहीं कर रहे हैं। भाषा केवल एक कारक है: डोमेन, आकार, "संस्कृति" सभी कारक। मैंने शायद ही कभी एक आईडीई का उपयोग किया हो (मैं आजकल ज्यादातर अजगर और सी करता हूं, और मैंने अभी तक एक सभ्य अजगर आईडीई नहीं देखा है)।
डेविड कुर्नाप्यू

आप फ़ाइलों को बनाने के बिना सी प्रोग्राम्स को संकलित / चलाने के लिए tcc का उपयोग कर सकते हैं :printf '#include <stdio.h>\nint main() { printf("Hello, World\\n"); return 0; }' | tcc -run -
प्रोग्रामरजेक

2

आप निश्चित रूप से एक ग्राफिकल आईडीई के बिना प्रोग्राम लिख सकते हैं। संकलित भाषाओं (जैसे C या C ++) के लिए प्रक्रिया कुछ इस तरह होगी:

  1. अपने पसंदीदा पाठ संपादक में कार्यक्रम लिखें।
  2. कमांड लाइन से, संकलक और / या लिंकर को लागू करें जो आपके प्रोग्राम को निष्पादन योग्य मशीन कोड में बदल देगा और आवश्यक बाहरी पुस्तकालयों में खींच लेगा। (मैं यहाँ जोड़ने और संकलन के आदेश पर थोड़ा धुंधला हूँ, लेकिन मुझे यकीन है कि कोई मुझे नहीं में सुधार देगा। :))

PHP या पायथन जैसी व्याख्या की गई भाषाओं के लिए, आप अपने पसंदीदा पाठ संपादक में कोड लिखते हैं (या एक पायथन की तरह एक इंटरैक्टिव शेल) और कोड एक व्याख्या किए गए प्रोग्राम द्वारा निष्पादित किया जाता है। उदाहरण के लिए, पायथन लिपि को लागू करने के लिए, आप कुछ इस तरह चलाना चाहेंगे python.exe myScript.py

पायथन एक विशुद्ध रूप से व्याख्या की गई भाषा नहीं है, क्योंकि यह पहले संकलित हो जाता है, लेकिन यह संकलित रूप पायथन दुभाषिया द्वारा चलाया जाता है, इसलिए यह अभी भी परिभाषा को फिट बैठता है। अन्य भाषाओं जैसे PHP की पूरी तरह से व्याख्या की जाती है।


1

हाँ, आप एक संकलक और एक आईडीई के बिना कोड लिख सकते हैं। यह सब लिख रहा है। पाठ।


2
क्या आप समझाने के लिए तैयार हैं कि कैसे?
मैट

7
आप अपने कीबोर्ड पर टाइप करें।
मैथ्यू 1

मैथ्यू का मतलब है, आप प्रोग्राम लिख सकते हैं, लेकिन कोई फायदा नहीं। :)
अबिमारन कुगथासन

2
@Abimaran मैं 100% निश्चित नहीं हूं कि आपका क्या मतलब है, लेकिन आप एक कंपाइलर या आईडीई के बिना किसी प्रोग्राम को निश्चित रूप से चला / उपयोग कर सकते हैं। भाषाओं की व्याख्या की जा सकती है, न कि केवल संकलित।
मैथ्यू 1

1
@ मिचेल मुझे असहमत होना है। यह किसी भी अधिक की व्याख्या नहीं है विश्लेषणात्मक इंजन ने अपने गियर की स्थिति की व्याख्या की।
मैथ्यू पढ़ें

1

मुझे लगता है कि आप एकीकृत विकास पर्यावरण (आईडीई) का उल्लेख कर रहे हैं। वे अन्य चीजों के बीच कोड संकेत और वाक्य रचना हाइलाइटिंग प्रदान करते हैं। एक संकलक सिर्फ फाइलों को लेता है और उन्हें मशीन कोड या बाइट कोड में संकलित करता है। एक कंपाइलर का उपयोग आमतौर पर आईडीई द्वारा आपकी फ़ाइलों को संकलित करने के लिए एक कमांड भेजकर किया जाता है।

संकलक के बिना लिखना संभव है। ये भाषाएं एक 'दुभाषिया' का उपयोग करती हैं और रन समय पर स्क्रिप्ट को संसाधित करती हैं।


1
क्या आप समझाने के लिए तैयार हैं कि कैसे?
मैट

या आप बाइनरी में प्रोग्राम कर सकते हैं :)
माइकल के

या CIL का उपयोग करें: मैंने जो वीडियो देखे हैं उनमें से पी मैट, जिसे आप BASIC की तरह स्थापित कर सकते हैं और कमांड लाइन के माध्यम से स्टेटमेंट टाइप कर सकते हैं
Ross

1

सभी एक IDE एक सुविधाजनक स्थान पर कई उपकरण प्रदान करता है और फिर कुछ प्रक्रियाओं को स्वचालित करता है। वे उपकरण आमतौर पर ...

  • एक पाठ संपादक
  • एक संकलक
  • एक डिबगर
  • एक प्रलेखन दर्शक

अपने स्रोत को लिखने के लिए आप किसी भी टेक्स्ट एडिटर का उपयोग कर सकते हैं, जो सादे टेक्स्ट का निर्माण करता है, जैसे। नोटपैड, वर्ड या एक उद्देश्य से निर्मित कोड टेक्स्ट एडिटर।

एक बार जब आपके पास एक पाठ फ़ाइल में आपका स्रोत होता है, तो आप अपने कंपाइलर को अपनी परीक्षण फ़ाइल में पास होने वाली कमांड लाइन के माध्यम से लॉन्च कर सकते हैं, जैसे cc my_program.c। यह एक ऑब्जेक्ट फ़ाइल का उत्पादन करेगा जिसे आप निष्पादित कर सकते हैं।

अपने प्रोग्राम को डिबग करने के लिए आप अपने डिबगर को अपने प्रोग्राम में गुजरने वाले कमांडलाइन के माध्यम से लॉन्च करते हैं, जैसे। gdb my_program फिर आप ब्रेकपॉइंट सेट कर सकते हैं, अपने प्रोग्राम के माध्यम से कदम रख सकते हैं, सामान का निरीक्षण कर सकते हैं आदि।

आईडीई के साथ यह सब पर्दे के पीछे एक बटन के प्रेस के साथ होता है और आईडीई इस सब के ऊपर एक फैंसी यूआई डालता है।

पुनश्च। वास्तविक प्रोग्रामर कमांडलाइन का उपयोग करते हैं


2
वास्तविक प्रोग्रामर पंच कार्ड का उपयोग करते हैं और प्री-एमओएसएफईटी ट्रांजिस्टर से अपने स्वयं के सीपीयू का निर्माण करते हैं। वे कंक्रीट से बने टुकड़ों के साथ शतरंज भी खेलते हैं और प्रत्येक में कम से कम 25 पाउंड वजन होता है।
जॉब

1
@ जो, ट्रांजिस्टर बहिनों के लिए हैं, असली सौदा वे हैं: en.wikipedia.org/wiki/Vacuum_tube
मचाडो

मैंने सोचा था कि हम wimps थे और एक माउस नहीं उठा सकते थे, बहुत कम शतरंज का टुकड़ा।
माइकल के

2
वास्तविक प्रोग्रामर एक चुम्बकीय सुई और एक स्थिर हाथ का उपयोग करते हैं। xkcd.com/378
गोरान जोविक

1

मैं अपना रोजमर्रा का कोड एक विम एडिटर (बेसिक टेक्स्ट एडिटर) में लिखता हूं और मैं आपको आश्वस्त कर सकता हूं कि यह आसानी से चला जाए (मेरा ज्यादातर कोड PHP है)। विशेष रूप से मेरे देव env एक देव आधार लिनक्स वितरण है और मैं खोल उपकरणों का काफी फायदा उठाता हूं। मैंने अब एक साल के लिए इस तरह से प्रोग्राम किया है और इससे मुझे रिमोट एप्लिकेशन परिनियोजन और उत्पादन संशोधनों से निपटने में बहुत मदद मिली है जहां आपको आमतौर पर ssh के माध्यम से एक * Nix कंसोल तक पहुंच मिलती है।


1

डिजिटल संग्रहीत प्रोग्राम कंप्यूटर का उपयोग 1950 के दशक से किया जा रहा है, जबकि ग्राफिकल यूजर इंटरफेस वास्तव में केवल 1960 के दशक के अंत में (और 1980 के दशक में अंतिम उपयोगकर्ताओं के लिए) दिखाई देने लगे थे। लोगों को तब से पहले किसी तरह कंप्यूटर - और प्रोग्राम - का उपयोग करना पड़ा ।

हालांकि इसमें कुछ गलतियाँ शामिल हैं (प्रत्येक प्लेटफ़ॉर्म का उपयोगकर्ता इंटरफ़ेस कमांड-लाइन सिस्टम के ऊपर एक परत नहीं है) आपको शायद नील स्टीफेंसन के छोटे टुकड़े इन द बिगिनिंग वाज़ द कमांड लाइन को पढ़ना चाहिए ।

यह वास्तव में आपको हुड के तहत आपके कंप्यूटर के काम की चीजों के बारे में सोचता है, और बिना आईडीई के कार्यक्रम के लिए "संभव" कैसे होता है, एक कमांड लाइन के साथ वास्तविक काम करें, और इसी तरह।


1

आपको वास्तव में केवल एक पाठ संपादक (नरक, नोटपैड काम करेगा) और एक कंपाइलर / दुभाषिया (अधिक महत्वपूर्ण बात) की आवश्यकता है।

आपने कमांड लाइन के माध्यम से इसे करने के बारे में कुछ कहा? बकवास पागल लगता है, लेकिन यह बहुत अच्छी तरह से संभव है। मेरा मतलब है कि केवल कमांड प्रॉम्प्ट में निर्मित विंडोज का उपयोग करके आप एक फ़ाइल के माध्यम से लिख सकते हैं, echo "some codez" > target_file.sauceलेकिन आपके पास होगा

ए) आप जो कर रहे हैं, उसमें वास्तव में अच्छे हैं

बी) एक सरल कार्यक्रम लिखो

ग) चमगादड़ पागल हो


1
... या किसी को प्रभावित करने की कोशिश कर रहा है।
माइकल के

या आप एक भारी फ़्यूबर्ड सिस्टम से कुछ पुनर्प्राप्त करने का प्रयास कर रहे हैं और आपके पास मॉनिटर को बदलने का समय नहीं है। वहाँ किया गया था कि।
म्यू

1

आपको वास्तव में यह सोचने की ज़रूरत है कि एक आईडीई सिर्फ एक संपादक + कंपाइलर + (किसी प्रकार का) मेकफाइल + डीबगर (कभी-कभी) + ग्राफिकल यूआई बिल्डर (कभी-कभी) है तो निश्चित रूप से आप आईडीई का उपयोग न करने का विकल्प चुन सकते हैं और आप प्रतिस्थापित कर सकते हैं। उन्हें आपकी पसंद के संपादक (vim, emacs, gedit, notepad ++, [insert_ मदर्स_हेयर]), एक कंपाइलर (जावा, gcc, प्लेटफ़ॉर्म SDK के लिए या C ++, python दुभाषिया, या जो भी टूलकिन आपकी भाषा है) के लिए [insert_Cppoolchain_here]। मेकफाइल के कुछ प्रकार (जैसे ऑटोह ... उपकरण, सीमेक, चींटी, मावेन, आदि), कुछ प्रकार के डीबगर (जो आमतौर पर संकलक के साथ शामिल होते हैं), और यदि आप एक ग्राफिकल यूआई बिल्डर चाहते हैं (ग्लेड दिमाग में आता है) , और वहां आपके पास एक आईडीई के बिना अपना खुद का आईडीई है। कौन सा दृष्टिकोण सबसे अच्छा है, यह आप पर निर्भर करता है (और मुझे लगता है कि आईडीई की आज थोड़ी अधिक है)


1

ब्लिंक

वह पिको, एक नैनो क्लोन का उपयोग कर रहा है। मैं कभी-कभार इसका इस्तेमाल करता हूं। आमतौर पर मैं एमएसीएस का उपयोग करता हूं, जो थोड़ा कम सहायक है, लेकिन अधिक चित्रित है।

मैं आईडीई का उपयोग अंगूठे के नियम के रूप में नहीं करता हूं। कभी-कभी मैंने उन्हें डिबगिंग के लिए गिरा दिया है या क्योंकि कमांड-लाइन टूलचैन को खोजने के लिए एक दर्द था (आपको Xilinx को देखकर)। जब मैं GUI करता हूं तो मैं उनका उपयोग दुर्लभ अवसर पर C # स्केच करने के लिए करता हूं। लेकिन मेरे अनुभव में आईडीई बहुत अच्छे संपादक नहीं हैं: अनम्य, अजीब चरित्र के तार, उपयोग करने के लिए बहुत आसान नहीं, समर्थित नहीं कई भाषाएं, बहुत अधिक स्मृति लेती हैं।

मैं बल्कि emacs का उपयोग करेंगे।

आपको कंप्यूटिंग के इतिहास पर गौर करना चाहिए। यह काफी सुगम रूप से लिखा गया है और आपको हमारे काम पर एक अद्भुत दृष्टिकोण देगा।


1

आपको पाठ संपादक की भी आवश्यकता नहीं है। :) :)

यदि आप खिड़कियों में हैं तो यह कोशिश करें:

more > hello.c 
#include <stdio.h>

main()
{
   printf ("Hello World!\n");
}
Ctrl-C

यदि आप UNIX में हैं

cat > hello.c <<. 
#include <stdio.h>

main()
{
   printf ("Hello World!\n");
}
.

और फिर बस इसे अपने पसंदीदा कमांड लाइन कंपाइलर के साथ संकलित करें। :)

जाहिर है कि आपको इसे पहली बार लिखना होगा।

याद रखें कि असली प्रोग्रामर तितलियों का उपयोग करते हैं: http://xkcd.com/378/


0

यहाँ क्या मजेदार है: हार्वर्ड एक्सटेंशन स्कूल बिना आईडीई के साथ प्रोग्रामिंग सिखा रहा है ... जब तक कि टेलनेट + पिको एक आईडीई से आपका मतलब नहीं है।

सबसे आसान तरीका अपने जावा प्रोग्राम्स को लिखने के लिए एक मूल पाठ संपादक का उपयोग करना है, फिर एफ़टीपी प्रोग्राम का उपयोग करके एफएएस सिस्टम में फ़ाइलों को स्थानांतरित करना, टेलनेट से कनेक्ट करना और उन्हें एफएएस पर चलाना (fas.harvard.edu - Java पहले से स्थापित है) वहाँ)। उन्हें आपके होमवर्क के लिए सबमिट करने के लिए FAS पर होना चाहिए। इस पद्धति का उपयोग करने के लिए, आप यूनिक्स पाठ संपादकों में से एक के बारे में पर्याप्त सीखना चाहते हैं, जो आपकी फ़ाइलों में किसी भी आवश्यक त्वरित सुधार करने में सक्षम हो, या फ़ाइल को स्थानीय रूप से अद्यतन करने और इसे फिर से स्थानांतरित करने की योजना बना सके। फ़ाइलों को स्थानांतरित करने के बारे में अधिक जानकारी FAQ पृष्ठ पर है।

वर्ड प्रोसेसर, जैसे वर्ड या वर्डप्रफेक्ट का उपयोग न करें! वे बहुत सारे फ़ॉर्मेटिंग वर्ण जोड़ते हैं, जो आपको दिखाई नहीं देते हैं, लेकिन जो आपके कार्यक्रमों को कभी भी संकलन करने से रोकेंगे। विंडोज पर, आप नोटपैड या वर्डपैड का उपयोग कर सकते हैं और सुनिश्चित कर सकते हैं कि आप .java एक्सटेंशन के साथ फाइल को "टेक्स्ट डॉक्यूमेंट" के रूप में सहेज लें। यदि सिस्टम ".txt" प्रत्यय को जोड़ने का प्रयास करता है, तो इसे रोकने के लिए अपने फ़ाइल नाम और एक्सटेंशन के चारों ओर सहेजें बॉक्स में उद्धरण डालें। आप उपयोगी डाउनलोड अनुभाग में किसी भी संपादक को आज़मा सकते हैं (एक जो हम पीसी के प्रोग्रामर फ़ाइल संपादक के लिए अत्यधिक अनुशंसा करते हैं)। मैक पर, BBEdit लाइट (संसाधन पृष्ठ पर भी जुड़ा हुआ है), या एक अंतर्निहित यूनिक्स संपादकों में से एक का उपयोग करें जो एक टर्मिनल विंडो में उपलब्ध हैं। आप एक सुरक्षित टेलनेट प्रोग्राम प्राप्त कर सकते हैं या आपके पास एक का उपयोग कर सकते हैं, टेलनेट को एफएएस सिस्टम में, और सिस्टम पर अपने कार्यक्रमों को लिखें और संपादित करें। तीन यूनिक्स संपादक हैं जो आप कोशिश कर सकते हैं: पिको, एमएसीएस और vi। एक बार जब आप अपना प्रोग्राम लिख लेते हैं और उसे सहेज लेते हैं, तो, जैसा कि ऊपर दिया गया है, आप इसे FAS पर संकलित और चला सकते हैं

http : // /java.html

यदि आप मुझसे पूछते हैं, तो वे बच्चों पर अत्याचार कर रहे हैं, लेकिन यह ठीक है। अधिक स्पार्टन्स, हार्वर्ड की तुलना में अकेले मोथेक, पेरिओकोइ और हेलोट को किसी भी वर्ष में स्वीकार कर सकते हैं।


हाँ यह संभव है। मुझे लगता है कि नोटपैड जैसा कोई आईडीई नहीं है, लेकिन एमएसीएस और टेक्स्टपैड (मैंने सी, जावा कोर्सवर्क के लिए दोनों का इस्तेमाल किया) को आईडीई माना जाता है। अब ... VSF0 में C # में कोडिंग के बाद, WinForms और सभी के साथ, मैं काम पर पाठ संपादकों के पास वापस नहीं जाना चाहूंगा - मुझे बकवास नहीं करने के लिए चिल्लाया जाएगा।

अकादमिक परियोजनाओं के लिए, हालांकि, जब उदाहरण छोटे होते हैं, तो यह बिना आईडीई का उपयोग करने के लिए समझ में आता है। याद रखें: इंट्रो प्रोग्रामिंग कक्षाओं में, कई वास्तविक दुनिया के मुद्दे मौजूद नहीं हैं। आपको संभवतः। Dml फ़ाइलों को संसाधन के रूप में dll में नहीं जोड़ना होगा; आपको संभवतः इसे बहुत डीबग करने की आवश्यकता नहीं होगी, आपको कोड कॉन्ट्रैक्ट्स का उपयोग करने की आवश्यकता नहीं होगी, या एक अप्रबंधित C ++ से C ++ / ClI तक, फिर C # और वापस जाना होगा। शैक्षणिक कार्य गड़बड़ नहीं होने चाहिए क्योंकि वे खरोंच से किए जा सकते हैं, और मानव-दिन / सप्ताह में मापा जाता है। सभी फाइलें सिर्फ एक परियोजना का हिस्सा हो सकती हैं (यहां तक ​​कि एक संकलक या एक ओएस वर्ग के लिए)। विजुअल स्टूडियो जैसा एक आईडीई वास्तव में आपको बाधा सकता है जब एक साधारण मेकफाइल करेगा। उन विकल्पों के असंख्य के बारे में सोचें, जिन्हें कॉन्फ़िगर करना आवश्यक है। एक्लिप्स के साथ एक ही - यह एक अति-इंजीनियर संपादक है जो असीम रूप से अनुकूलन योग्य है। एक साधारण मेकफाइल और दो सरल सी फाइलें वे सभी हो सकती हैं जिनकी आपको आवश्यकता है। वास्तव में, आप उस तरह से अधिक नियंत्रण रखते हैं, जब आप प्रत्येक ध्वज को स्वयं निर्दिष्ट करते हैं। मैंने एक बार विश्वविद्यालय की प्रयोगशाला में उस तरह से कोडित किया है। यह मजाकिया है, लेकिन "एम्बेडेड" में से एक (इसका अर्थ इतना छोटा होना था कि यह एक हवाई जहाज पर फिट होगा) कंप्यूटर में कोई GUI नहीं था, और कोई माउस नहीं था :) मैं अभी भी लॉग इन करने, संपादित करने, संकलन करने में सक्षम था और सी प्रोग्राम डिबग करें, साथ ही ड्राइवर जोड़ें और कर्नेल को फिर से जोड़ें।


मैं वास्तव में आधे रास्ते से उस दृष्टिकोण से सहमत हूं। हालांकि मैं टेलनेट को मजबूर नहीं करूंगा - सिर्फ कमांड लाइन और टेक्स्ट एडिटर।
माइकल के

0

डेटाबेस के काम के लिए, आपको बस एक टेक्स्ट एडिटर (नोटपैड ++) और कमांड लाइन क्लाइंट जैसे कि ऑस्कल या एसक्यूएलसीएमडी की जरूरत है। कंपाइलर भी नहीं।


0

यह न केवल है संभव है, लेकिन - कम से कम अपने जीवन में एक बार - आप के लिए है आईडीई के बिना प्रोग्रामिंग करते हैं। यह आपको संकलन प्रक्रिया, पुस्तकालयों के उपयोग को समझने में मदद करेगा - शायद यह आपकी आँखें खोल देगा कि प्रोग्रामिंग का वास्तव में क्या मतलब है।

इसके अलावा, मुझे लगता है कि एक अच्छा टेक्स्ट एडिटर एक आईडीई से बेहतर है। के लिए MS-विंडोज मेरा सुझाव है PSPad (यह इस तरह एक मजबूत फ्लैश था, MultiEdit तरह MS-DOS युग में था), जीएनयू / लिनक्स की कोशिश के लिए Geany (शायद यह अपने distro के रेपो में है)।


0

मैं प्रोग्राम लिखने के लिए अपने भरोसेमंद पायलट जेल पेन के साथ 99 प्रतिशत नोटबुक का उपयोग करता हूं।

उन्हें मैं केवल दृश्य स्टूडियो कोड में फिर से टाइप करता हूं।

एक कार्यक्रम लिखना और कोडिंग दो अलग-अलग चीजें हैं (मेरे लिए)।


आप पहले कागज पर हाथ से पूरा कार्यक्रम लिखते हैं?

@ Thorbjørn - मैंने इसे दिन में वापस करने से पहले किया है (ज्यादातर छोटे गेम) और जब मैं एल्गोरिदम पर काम कर रहा हूं तो मैं आमतौर पर एक पेनबोर्ड और पेपर के विपरीत उन्हें स्केच करने के लिए एक व्हाइटबोर्ड का उपयोग करूंगा।
rjzii

हां, मैं बहुत सारे कोड हाथ से लिखता हूं। पूरे कार्यक्रम को नहीं, क्योंकि विज़ुअल स्टूडियो बहुत सारी चीजों को स्वचालित करता है।
पाब्लो

0

आईडीई के बिना प्रोग्रामिंग करना सीखने का एक शानदार तरीका है कि क्या हो रहा है।

हमने स्कूल में एक साधारण वाक्यविन्यास-रंग पाठ-संपादक के साथ प्रोग्रामिंग शुरू की। संकलन कमांड प्रॉम्प्ट (या एक साधारण बैच स्क्रिप्ट के माध्यम से) के साथ हुआ।

केवल जब हम प्रोग्रामिंग की मूल बातें समझ गए तो हम ग्रहण या विज़ुअल स्टूडियो जैसे अधिक शक्तिशाली संपादकों की ओर बढ़ गए।


0

जैसा कि अपेक्षित था, सभी उत्तर एक ही बात कहते हैं: "बेशक आप कर सकते हैं! यह सिर्फ पाठ है! पाठ पाठ पाठ पाठ!" यह सच है, आम तौर पर बोल रहा है, और आपके सवाल का सबसे अच्छा जवाब है। अधिकांश IDE केवल पाठ में हेरफेर करते हैं।

लेकिन यह हमेशा सच नहीं होता है, और कुछ मामलों में पाठ-केवल मॉडल से दूर जाने के परिणामस्वरूप महान प्रगति होती है। इन अग्रिमों को आमतौर पर केवल-केवल शुद्धतावादियों (जो कि हर कोई है, क्योंकि यह कैसे हुआ, यह भी है कि यह कैसे होना चाहिए ... यह एक संयोग नहीं है)। आईबीएम विजुअल एज एक बहुत अच्छा उदाहरण था जो एक भयानक मौत मर गया।

एक और उदाहरण जो मन में आता है और यह बट को मारता है और मैक और आईओएस उत्पादों को बनाने के लिए इंटरफ़ेस बिल्डर है। इसका आउटपुट टेक्स्ट प्रोग्राम नहीं है, बल्कि क्रमबद्ध ऑब्जेक्ट हैं, इसलिए आप आईबी का उपयोग किए बिना या अपना स्वयं का आईबी लिखकर एनआईबी नहीं बना सकते।

शुद्धतावादी कहेंगे, "हाँ, लेकिन इंटरफ़ेस बिल्डर पाठ कोड में लिखा गया है!" इसलिए?

मुझे वास्तव में विश्वास है कि एक क्षेत्र के रूप में सीएस बहुत प्रगति करेगा यदि हम पाठ-केवल प्रतिमान से परे जा सकते हैं। इससे परे, मुझे लगता है कि हम अंततः इस दिशा में जाएंगे, लेकिन इसमें कई दशक लगेंगे। पहले हमें यह पता लगाना होगा कि कौन सा बेहतर है, viया emacs...।


0

हाल ही में मैंने विम पर अपग्रेड किया है। मुझे यह पसंद है कि मैं जिस भी भाषा में लिख रहा हूँ, उसमें खोजशब्दों को कैसे उजागर करूँ। आहें, केवल जब मैं एक वास्तविक ओएस पर पहुंच सकता हूं और नोटपैड का उपयोग नहीं कर सकता हूं।

मेरी पत्नी ने एडब्लिन का उपयोग करके COBOL लिखा। मैंने सोचा था कि बहुत हास्यास्पद था।

हमारे द्वारा उपयोग किए जाने वाले कीपंच कार्ड पर इस तरह का सुधार और ऑपरेशन से 24 घंटे बारी-बारी से पता चलता है कि हमें टाइपो था।

अटारी में कहीं न कहीं मेरे पास कोडिंग फॉर्म हैं।

आपके पास 1 और 0 है? हमें अपने 0 के माध्यम से एक रेखा खींचनी थी।

लेकिन आप आज युवाओं को बताएं कि वे आपको विश्वास नहीं करेंगे।

जे।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.