सी प्रोग्रामिंग भाषा ने वास्तव में समय की परीक्षा उत्तीर्ण की है। बहुत कम वातावरण हैं जहां यह बढ़ता नहीं है। यह मुख्य रूप से अपने उच्च निष्पादन प्रदर्शन के कारण है, जो दुर्भाग्यवश, मूल्य पर आता है: सी आधुनिक प्रोग्रामिंग भाषा में अपेक्षित कई सुविधाओं का समर्थन नहीं करता है।
मोज़िला ने रेडिकल नई ब्रांड पहचान का अनावरण किया
मोज़िला अनुसंधान
जंग
एक बेहतर मूसट्रैप बनाने का प्रयास है। इसकी भाषा डिजाइन उच्च प्रदर्शन पर केंद्रित है और हार्डवेयर के करीब है।
हालांकि, इसका सिंटैक्स और कंपाइलर आधुनिक प्रोग्रामिंग भाषा अनुसंधान द्वारा प्रदान किए गए विभिन्न लाभों का भी लाभ उठाता है। यह देखते हुए कि मोज़िला का मिशन 'ओपन वेब' का निर्माण है, यह आश्चर्य की बात नहीं है कि कंपनी अपने नवीनतम मस्तिष्क को वेब पर लाने के लिए अथक रूप से काम कर रही है।
जबकि जंगल में, सिद्धांत में, क्लाइंट पर ईमस्क्रिप्टन जैसे सिस्टम के माध्यम से चलाया जा सकता है, इसकी वास्तविक शक्ति कुशल बैकएंड सेवाओं के निर्माण में निहित है।
क्या आप स्क्रैच से साइट बना रहे हैं? एक शीर्ष के साथ डिजाइन और प्रदर्शन कील
[2 9]
वेबसाइट निर्माता
और उत्कृष्ट
[2 9]
वेब होस्टिंग
। फ़ाइलों को साझा करने या सहेजने के लिए मिला? इन के साथ शामिल हो जाओ
[2 9]
घन संग्रहण
विकल्प।
जंग का उपयोग कैसे शुरू करें
[7 9]
जंग इंस्टॉलर एक अर्ध-ग्राफिक स्थापना वातावरण प्रदान करता है
[8 9]
जबकि 'एपीटी-गेट' जैसे पैकेज प्रबंधकों ने निश्चित रूप से डेवलपर के जीवन को आसान बना दिया है, पैकेज सूची बनाए रखने वाले, बड़े पैमाने पर, अत्यधिक गति के मित्र नहीं हैं। इसके कारण, कई, यदि अधिकतर नहीं, वितरण 'पैकेज कैश बहुत पुराने हैं।
जंग की टीम ने एक समर्पित स्थापना स्क्रिप्ट प्रदान करके इस समस्या को हल किया है, जो सिस्टम को स्थापित करता है इसे कुशलता से चलाया जाता है। तैनाती, फिर, एक दो-चरणीय प्रक्रिया है: सबसे पहले, सुनिश्चित करें कि कर्ल डाउनलोडर / पार्सर उपलब्ध है:
[9 4] तमन @ तमन-थिंकपैड: ~ $ sudo apt-heal curl
[सुडो] तामन के लिए पासवर्ड:
पैकेज सूचियां पढ़ना ... किया ... [9 5]
फिर, दूसरे चरण में, इंस्टॉलर डाउनलोड करें और इसे पाइप ऑपरेटर का उपयोग करके 'sh' पर पास करें। 'एस' आपके वर्कस्टेशन के डिफ़ॉल्ट शैल दुभाषिया के लिए एक आशुलिपि है, जो तब कोड को चलाने के लिए आगे बढ़ेगी:
[9 4] तमन @ तमन-थिंकपैड: ~ $ कर्ल https://sh.rustup.rs -ssf | श्री
जानकारी: इंस्टॉलर डाउनलोड करना [9 5]
स्थापना के दौरान, जंग इंस्टॉलर दाईं ओर तस्वीर में दिखाए गए लोगों को समान रूप से समान संकेतों को प्रदर्शित करेगा। एक डिफ़ॉल्ट स्थापना प्राप्त करने के लिए बस उनका पालन करें।
कुछ मामलों में, जंग की तैनाती एक त्रुटि के साथ असफल हो जाएगी जो "त्रुटि: RCFile फ़ाइल नहीं लिख सका: '/home/tamhan/.bash_profile'"। यदि यह स्थापना के दौरान होता है, तो रूट खोल प्राप्त करने के लिए 'sudo -s' का उपयोग करें, और फिर कुल्ला और आगे बढ़ने के लिए दोहराएं।
एक नमूना चलाएं
रास्ते से बाहर, यह हमारे पहले छोटे कार्यक्रम को चलाने का समय है। रस्ट फाइलें, डिफ़ॉल्ट रूप से, फ़ाइल एक्सटेंशन '.rs' है। 'Firsttest.rs' नामक एक फ़ाइल बनाएं, और उसके बाद इसे निम्न कोड के साथ प्रदान करें:
एफएन मुख्य () {
Println! ("हेलो वर्ल्ड!");
} [9 5]
सी और सी ++ प्रोग्रामर अक्सर आश्चर्य करते हैं कि 'प्रिंटलिन' विधि के आमंत्रणों को विस्मयादिबोधक चिह्न के उपयोग की आवश्यकता क्यों होती है। उत्तर सरल है: जंग को एक मैक्रो के रूप में 'प्रिंटलिन' लागू करता है, जो एक अलग तरीके से आमंत्रित होता है।
यह देखते हुए कि जंग एक संकलित भाषा है, आदेश पंक्ति से चलाने से पहले हमारे उदाहरण को संसाधित किया जाना चाहिए:
एक पूर्ण प्रोग्रामिंग भाषा का वर्णन, जैसे जंग, सीमित स्थान में हमारे यहां उपलब्ध सीमित स्थान में असंभव है। तो चलो औपचारिक रूप से आपको मोज़िला अनुसंधान के लिए इंगित करके शुरू करते हैं
व्यापक प्रलेखन
। एक सुविधा जो सी प्रोग्रामर को प्रभावित करने के लिए निश्चित है, में 'मैच' कमांड का उपयोग शामिल है: प्रत्यक्ष तुलनाओं के अलावा, यह उन्नत कार्यक्रमों के डिजाइन को सरल बनाने के लिए रेंज ऑपरेटरों के उपयोग को भी सक्षम बनाता है:
क्लासिक कचरा संग्रह में इसकी कमजोरियां हैं: अधिकांश कार्यान्वयन समय-समय पर कार्यक्रम को एक डरावने में लाते हैं। उस जंग को पाने के लिए कम परेशान फैशन में इसी तरह के व्यवहार का अनुकरण करने के लिए तथाकथित 'शून्य लागत वाले एब्स्ट्रैक्शन' के एक सेट का उपयोग किया जाता है।
सिद्धांत रूप में, प्रत्येक संसाधन एक मालिक के साथ क्यूटी के अभिभावक-बच्चे उपप्रणाली के समान फैशन में बनाया गया है। हालांकि, 'उधार' नामक एक विशेषता प्रोग्रामर को अस्थायी रूप से संसाधनों के बीच स्वामित्व को स्थानांतरित करने में सक्षम बनाती है, जिससे उन्हें सिस्टम के चारों ओर पारित किया जाता है।
दुर्भाग्यवश, जंग के मेमोरी मैनेजर की संभावनाओं की पूरी चर्चा इस लेख की सीमाएं तोड़ देगी - इसे घोषित करने के लिए पर्याप्त है कि जंग को एक बहुत ही अपरंपरागत प्रदान करता है, लेकिन मेमोरी प्रबंधन का व्यावहारिक रूप प्रदान करता है।
एक नई परियोजना बनाएँ
एनपीएम की समानता पूरी तरह से संयोग है ...
[8 9]
जबकि सी और सी ++ कोड को पुस्तकालयों में विभाजित किया जा सकता है, ऐसा करने से एक कष्टप्रद और कुछ हद तक असहज कार्य है। इसके अलावा, यह सुनिश्चित कर लें कि सभी आवश्यक पुस्तकालयों की आवश्यकता है जहां उनकी आवश्यकता होती है, कुछ भी अनुभवी डेवलपर्स से बचने के लिए पसंद करते हैं।
जावास्क्रिप्ट समुदाय ने इस समस्या को एनपीएम जैसे उत्पादों के माध्यम से हल किया है। परियोजनाओं को एक परियोजना संरचना फ़ाइल के माध्यम से वर्णित किया गया है, जो - अन्य चीजों के साथ - वास्तविक संकलन चलाने के दौरान आवश्यक पुस्तकालयों और अन्य तत्वों के संदर्भ शामिल हैं।
जंग के मामले में, कार्गो नामक एक पैकेज मैनेजर एक समान काम करता है। एक नई परियोजना बनाना निम्नलिखित के समान फैशन में 'कार्गो न्यू' कमांड के उपयोग के माध्यम से पूरा किया जा सकता है:
जब सृजन प्रक्रिया पूरी हो जाती है, तो इस पृष्ठ के निचले हिस्से में चित्र में दिखाए गए एक फ़ोल्डर संरचना उत्पन्न की जाएगी।
.toml फाइलें 'नियंत्रक' के रूप में कार्य करती हैं - हमारी नवजात जेनरेट की गई परियोजना के मामले में, फ़ाइल में निम्न संरचना होती है:
[9 4] [पैकेज]
नाम = "futuraSample1"
संस्करण = "0.1.0"
लेखक = ["तमन"]
[निर्भरता] [9 5]
लोर की .ini फ़ाइलों की समानता पूरी तरह से संयोग नहीं है: एक फैशन में एनपीएम को अलग नहीं किया गया है, प्राचीन कॉन्फ़िगरेशन फ़ाइल प्रारूप का उपयोग जंग परियोजनाओं के लिए उपयोग की जाने वाली कॉन्फ़िगरेशन फ़ाइलों का वर्णन करने के लिए भी किया जाता है। '[निर्भरता]' ब्लॉक हमारे लिए विशेष रुचि का है - इसमें सभी बाहरी पुस्तकालयों की एक सूची शामिल है, जिन्हें संकलन के लिए संकलन के लिए उपस्थित होने की आवश्यकता है।
एक पैकेट जोड़ें
हाथ से एक वेब सर्वर बनाना एक कष्टप्रद नौकरी है जो मासोचिस्ट के लिए सबसे अच्छा है। हम इसके बजाय, एक ढांचे का चयन करेंगे। अफसोस की बात है, सही एक ढूंढना आसान नहीं है - यात्रा के रूप में
वेब विकास ढांचे की awwy की सूची
पता चलता है, बहुत सारे उम्मीदवार हैं।
हम चुनेंगे
राकेट
, अगर केवल इसलिए कि यह काफी लोकप्रिय प्रतीत होता है और मई 2018 में जारी एक अद्यतन देखा गया है। अफसोस की बात है कि रॉकेट के डेवलपर्स नई पेशकश की गई भाषा सुविधाओं को पसंद करते हैं, यही कारण है कि निम्नलिखित आदेशों का उपयोग करके आपकी जंग की स्थापना की लगातार अद्यतन की आवश्यकता है :
अगला कदम काफी हद तक स्वाद का सवाल है। अधिकांश पुस्तकालय पूर्व प्रावधान स्टार्टर परियोजनाओं के साथ आते हैं, जो डेवलपर्स बस गिटहब से सिफन कर सकते हैं। ऐसा करने के लिए आपके 'प्राइम' लाइब्रेरी के लिए एक बुरा विचार नहीं है - हालांकि एक बार एक से अधिक पुस्तकालय शामिल है, एक मैनुअल दृष्टिकोण अधिक उपयोगी होता है।
इसके बाद, .toml फ़ाइल खोलें, फिर रॉकेट फ्रेमवर्क के हाल के संस्करण को शामिल करने के लिए निम्नलिखित के अनुसार 'निर्भरता' अनुभाग को संशोधित करें:
रॉकेट अद्वितीय है कि इसमें कुल दो पैकेजों को शामिल करने की आवश्यकता है: मुख्य ढांचे के अतिरिक्त, एक अलग कोड जेनरेटर फ़ाइल की भी आवश्यकता है। किसी भी तरह से, हमारे संस्करण में दो पुस्तकालयों का एक विशिष्ट संस्करण शामिल है - कार्गो वाइल्डकार्ड भी स्वीकार कर सकता है, जो कार्यक्रम को बिना किसी सहायता के 'अपने जहर लेने' के लिए सक्षम बनाता है।
रास्ते से बाहर, एक समस्या बनी हुई है: एक सहायक संकलन करने के लिए .toml फ़ाइल युक्त फ़ोल्डर में 'कार्गो रन' दर्ज करें, जो अन्य चीजों के साथ - अन्य चीजों के साथ प्रासंगिक कोड पुस्तकालयों को डाउनलोड करें और संकलित करेंआपके लिए पूरे Enchilada।