सी में कार्यक्रम सीखना (पायथन से आना) [बंद]


22

यदि यह प्रश्न पूछने की गलत जगह है, तो कृपया मुझे बताएं।

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

यह इंटरनेट से जुड़ने के लिए बहुत जटिल प्रतीत होता है।

क्या आपके पास सी सीखने के लिए मैं क्या कर सकता हूं? क्या कोई अच्छी वेबसाइट्स हैं? किसी भी शांत परियोजनाओं?

धन्यवाद


4
यह प्रतिभा के कंधों पर खड़े होने में सक्षम होना अच्छा नहीं है। पायथन दुभाषिया सी में लिखा गया है। अब आप वास्तव में डिजाइनरों ने जो किया उसके लिए एक सच्ची प्रशंसा है। यह बहुत ही अद्भुत उंगली है।
पेमदास

@ पेमदास सी का उपयोग आमतौर पर सिस्टम प्रोग्राम बनाने के लिए किया जाता है।
सीकर

क्या मैं किसी फ़ाइल की सामग्री को पढ़कर, और संभवतः किसी अन्य फ़ाइल में कुछ बुनियादी परिवर्तन कर रहा हूं? उदाहरण: एक CSV लें और इसे टैब-सीमांकित फ़ाइल में पार्स करें। वैकल्पिक रूप से, आप सीख सकते हैं कि JPEG छवि फ़ाइल के BMP से शीर्ष लेख की जानकारी कैसे पढ़ें।
जोशुआ बर्न्स

मुझे उत्तर जोड़ने में देर हो गई है, लेकिन पायथन प्रोग्राम बुकलेट के लिए यह ऑनलाइन सी है । इसके अलावा, "हार्ड प्रोग्रामिंग को सीखें" के निर्माता " लर्न सी द हार्ड वे " नामक एक पुस्तक बना रहे हैं , जिसका उद्देश्य ऐसे लोगों के लिए है जो पहले से ही थोड़ा अजगर या इसी तरह का कुछ जानते हैं।
n

जवाबों:


31

निराश मत हो।

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

पुस्तकें

ऑनलाइन सामग्री


1
क्या आप एक प्रोग्रामिंग अभ्यास सुझा सकते हैं? कुछ उपयोगी अधिमानतः। धन्यवाद।
होन्जा पोकॉर्नी

12

यदि आप C सीखना चाहते हैं, तो इंटरनेट से जुड़ने से शुरुआत न करें। आप किसी भी अन्य भाषा में ऐसा कर सकते हैं। यही C में सबसे महत्वपूर्ण नहीं है।

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

यदि आप इस सामग्री को सीख और समझ सकते हैं, तो एक संभावित परियोजना में विस्तार करें। ये अवधारणाएं किसी भी वास्तविक पेशेवर सी प्रोग्रामिंग के लिए मौलिक हैं।

यह पॉइंटर ट्यूटोरियल सहायक के रूप में अच्छी तरह से दिखता है।


C_Tutorialलिंक टूट गया है ...
user3768495

11

यह है बहुत इंटरनेट से कनेक्ट करने जटिल! इसके बारे में सोचो:

  • आपके कंप्यूटर में कनेक्ट करने के कई तरीके हो सकते हैं - WLAN, ब्लूटूथ, ईथरनेट, आदि। इनमें से प्रत्येक की अपनी सेटिंग्स हैं, जिन्हें आपको सेट करने की आवश्यकता है। आप भाग्यशाली हैं कि इनके लिए पहले से ही मानक और ड्राइवर हैं ... इनका उपयोग करना बहुत कठिन हो सकता है क्योंकि यह पहले से ही अभी है।

  • IP पते IPv4 या IPv6 हो सकते हैं, और आपको दोनों को संभालने में सक्षम होना चाहिए।

  • सिस्टम के लिए कॉन्फ़िगर की गई प्रॉक्सी हो भी सकती है और नहीं भी।

  • आपको एफ़टीपी, एचटीटीपी या कुछ अन्य प्रोटोकॉल का समर्थन करना होगा।

  • आपको डायल-अप का उपयोग करने की आवश्यकता हो सकती है, इसलिए आपको पासवर्ड और फ़ोन नंबर के साथ फोन बुक निर्दिष्ट करना होगा, यदि आप पहले से कनेक्ट नहीं हैं। WLAN उपयोगकर्ता नाम / पासवर्ड के साथ Ditto।

  • आपको कुकीज़ के साथ काम करने की आवश्यकता हो सकती है।

  • सिस्टम कुछ डेटा को कैश कर सकता है, तो क्या आप कैश का उपयोग करना चाहते हैं या नहीं?

और सूची बढ़ती ही चली जाती है।

तो यह तथ्य कि पायथन के साथ ये करना आसान है, इसका मतलब यह है कि इनमें से बहुत कुछ आपसे छिपा हुआ है (या सेट करना मुश्किल है), इसलिए आप सत्ता के लिए सादगी का व्यापार करते हैं। सी लाइब्रेरी इसके विपरीत है: इसमें वह सारी शक्ति है जिसकी आपको आवश्यकता है (आप आसानी से सिस्टम कॉल कर सकते हैं), लेकिन इसमें कोई चूक नहीं है (या वास्तव में, इंटरनेट से कनेक्ट करने के लिए कोई सुविधाएँ)।

सी को थकाऊ समझने की बजाय उसे ताकतवर समझने की सोचें। लेकिन किसी भी मामले में, इसके साथ इंटरनेट से जुड़ने की कोशिश करें - यह एक बहुत कठिन काम है। इसके बजाय, अधिक बुनियादी कार्यों (जैसे फ़ाइल I / O) के लिए लाइब्रेरी का उपयोग करना सीखना शुरू करें, इस बारे में जानें कि कैसे संकेत और सरणियाँ वास्तव में काम करती हैं, और जब आप उन सभी को सीखते हैं, तो बड़ी परियोजनाओं से निपटने का प्रयास करें। आप अजगर को इस तरह से भी सराहेंगे। :)


संपादित करें :

मैं व्यक्तिगत रूप से सुझाव देता हूं कि, यदि आपके पास खाली समय है, तो इसके बजाय C # पहले सीखें। जैसे ही आप इसके साथ सहज हो जाते हैं, unsafeकीवर्ड के बारे में सीखना शुरू करें और पॉइंटर्स का उपयोग कैसे करें और C # में मार्शलिंग करें। आपके पास अभी भी पायथन के साथ काम करने के लिए एक बहुत बड़ा पुस्तकालय होगा, लेकिन आप बहुत सी चीजें कर पाएंगे जो आप सी में कर सकते हैं। फिर कॉलिंग सिस्टम एपीआई की मैन्युअल रूप से (जैसे InternetOpen ) में संक्रमण करें , और सीखें कैसे काम करने के लिए उन पाने के लिए। आपके पास अभी भी बहुत अधिक लचीलापन होगा लेकिन आपको निचले स्तर की अवधारणाओं का शानदार परिचय मिलेगा। आपके द्वारा ये किए जाने के बाद, तब C सीखना शुरू करें - फिर आप इसे केक का एक टुकड़ा मानेंगे, और आप देखेंगे (C? get it?) उच्च-स्तरीय और निम्न-स्तरीय भाषाओं के फायदे और नुकसान, और आप सक्षम होंगे अपनी आवश्यकताओं के अनुरूप है।

मैंने कहा कि मुझे लगता है कि सी में क्रैश कोर्स समुद्र सी में कूदने के लिए एक शुरुआती बिंदु के रूप में उपयोगी हो सकता है ।


8

जब आप सी सीख रहे हैं तो कर्नेल कोड न पढ़ें। इसमें से प्रत्येक अंतिम बिट को निचोड़ने के लिए यह ट्रिक्स से भरा है। इसमें से कुछ बहुत ही गैर-मानक है। यह आपको पागल कर देगा।

इसके बजाय, कुछ छोटे, उच्च कोड गुणवत्ता वाली परियोजनाओं पर एक नज़र डालें:

  • लुआ - यदि आप प्रोग्रामिंग भाषाओं में रुचि नहीं रखते हैं, तो आप इसे छोड़ना चाहते हैं। अन्यथा, यह वास्तव में सुंदर कोड है और यह देखने के लिए आश्चर्यजनक है कि वे इतने कम के साथ कितना पूरा करते हैं (कुछ ऐसा जिससे आप निराश हैं क्योंकि आप पायथन से आ रहे हैं)।
  • ZeroMQ - मुझे यह परियोजना पसंद है। यह एक लाइट-वेट, सुपर-फास्ट संदेश कतार है। फिर, उच्च गुणवत्ता वाले सामान।
  • DarkHttpd - C. में एक 2700 लाइन वेब सर्वर सॉकेट प्रोग्रामिंग, पार्सिंग और प्रोटोकॉल के साथ काम करने जैसे कुछ मजेदार विषयों को शामिल करता है।

0

उच्च स्तरीय भाषा का एक उद्देश्य जटिल चीजों को छिपाना है। यदि आप एक "निचली" स्तर की भाषा सीखना चाहते हैं, और वास्तव में जटिल चीजों से शुरू नहीं करना चाहते हैं (जो कि पूर्व में ज्यादातर आपसे छिपा हुआ था); कुछ सरल सीखने की परियोजनाओं के साथ शुरू करने की कोशिश करें, संख्याओं की एक सरणी छाँट लें, या पात्रों की एक स्ट्रिंग को उलट दें, या कुछ ऐसे ...

छोटे कदम उठाकर खड़ी पहाड़ी पर जाना आसान है।


-3

जहाँ तक देखने के लिए अच्छी परियोजनाएँ हैं: यूनिक्स गुठली सी में लिखी गई है।


क्या आपको लिंक जोड़ने का मतलब था?
jmort253

-3

C व्याकरण पहले सीखें, और फिर इसका उपयोग डेटा संरचना और एल्गोरिदम लिखने के लिए करें। बेशक आप लिनक्स कर्नेल को पढ़ सकते हैं क्योंकि आप सी भाषा के विशेषज्ञ हैं।

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