प्रोग्रामिङ भाषाहरू कम्प्युटर विज्ञान र प्रोग्रामिङको आधारभूत पक्ष हुन्। तिनीहरूले मानिसहरूलाई कम्प्युटरमा निर्देशनहरू सञ्चार गर्न सक्षम बनाउँछन्। प्रोग्रामिङ भाषाहरू विभिन्न प्रकारका र डिजाइनहरूमा आउँछन्, प्रत्येकले विभिन्न उद्देश्यहरू प्रदान गर्दछ। यस पाठले प्रोग्रामिङ भाषाहरू, तिनीहरूको वर्गीकरण, र उदाहरणहरूको मूल अवधारणाहरू अन्वेषण गर्नेछ।
तिनीहरूको मूलमा, प्रोग्रामिङ भाषाहरू निर्देशनहरूको सेटहरू हुन् जुन कम्प्युटरहरूद्वारा बुझ्न सकिन्छ। यी निर्देशनहरूले कम्प्युटरलाई विशेष कार्यहरू कसरी गर्ने भनेर बताउँछन्। यो प्रभावकारी रूपमा गर्नको लागि, प्रोग्रामिङ भाषाहरूले वाक्यविन्यास (यी निर्देशनहरू कसरी बनाउने भन्ने नियमहरू) र शब्दार्थ (यी निर्देशनहरू पछाडिको अर्थ) प्रदान गर्दछ।
प्रोग्रामिङ भाषाहरू व्यापक रूपमा तीन प्राथमिक वर्गहरूमा वर्गीकृत गर्न सकिन्छ: निम्न-स्तर भाषाहरू, उच्च-स्तर भाषाहरू, र स्क्रिप्टिङ भाषाहरू। प्रत्येक श्रेणीले विभिन्न उद्देश्यहरू प्रदान गर्दछ र विभिन्न प्रोग्रामिङ प्रतिमानहरूसँग पङ्क्तिबद्ध गर्दछ।
निम्न-स्तरका भाषाहरू मेसिन कोडको नजिक हुन्छन्, जुन बाइनरी निर्देशनहरूको सेट हो जुन कम्प्युटरको प्रोसेसरले प्रत्यक्ष रूपमा कार्यान्वयन गर्न सक्छ। निम्न-स्तर भाषाहरूको दुई मुख्य प्रकारहरू विधानसभा भाषा र मेशिन भाषा हुन्।
विधानसभा भाषा: यसले मेसिन-स्तर निर्देशनहरू प्रतिनिधित्व गर्न मेमोनिक कोडहरू र लेबलहरू प्रयोग गर्दछ। यो मेसिन कोड भन्दा अलि बढी मानव-पठनीय छ तर अझै पनि कम्प्युटरको हार्डवेयरको गहिरो बुझाइ आवश्यक छ।
मेसिन भाषा: यो भाषाको सबैभन्दा तल्लो स्तर हो, जसमा प्रोसेसरद्वारा प्रत्यक्ष रूपमा कार्यान्वयन गरिएको बाइनरी कोड (0s र 1s) समावेश हुन्छ।
उदाहरण:
विधानसभा भाषा निर्देशन: MOV A, B (यो निर्देशनले दर्ता B को सामग्रीलाई A दर्ता गर्न लगाउँछ)
उच्च-स्तरीय प्रोग्रामिङ भाषाहरू अधिक मानव-पठनीय र कम्प्युटर हार्डवेयरसँग सम्बन्धित धेरै जटिलताहरू हटाउन डिजाइन गरिएको हो। तिनीहरूले प्रोग्रामरहरूलाई अंग्रेजी-जस्तो कथनहरू प्रयोग गरेर निर्देशनहरू लेख्न अनुमति दिन्छ, जुन त्यसपछि कम्पाइलर वा अनुवादक मार्फत मेसिन कोडमा अनुवाद गरिन्छ। उच्च-स्तरका भाषाहरूको उदाहरणहरूमा पाइथन, Java, C++, र JavaScript समावेश छन्।
उदाहरण:
पाइथन कोड: प्रिन्ट ("हेलो, वर्ल्ड!") (यस कथनले कन्सोलमा "हेलो, वर्ल्ड!" पाठ छाप्छ)
स्क्रिप्टिङ भाषाहरू उच्च-स्तरीय प्रोग्रामिङ भाषाको एक प्रकार हो जुन सामान्यतया कम्पाइल गरिएको भन्दा व्याख्या गरिन्छ। तिनीहरू प्राय: स्वचालित कार्यहरू, वेब विकास, र वेबसाइटहरूमा गतिशील सामग्री सिर्जना गर्न प्रयोग गरिन्छ। उदाहरणहरूमा पाइथन (स्क्रिप्टिङ भाषाको रूपमा पनि प्रयोग गरिन्छ), पर्ल र रुबी समावेश छन्।
उदाहरण:
पाइथन स्क्रिप्ट: ओएस आयात गर्नुहोस्
os.listdir('.') (यो स्क्रिप्टले हालको डाइरेक्टरीमा रहेका सबै फाइल र डाइरेक्टरीहरू सूचीबद्ध गर्दछ)
प्रोग्रामिङ प्रतिमानहरू प्रोग्रामिङ भाषाहरूलाई तिनीहरूका सुविधाहरू र उनीहरूले प्रोत्साहन गर्ने प्रोग्रामिङ शैलीको आधारमा वर्गीकरण गर्ने तरिका हो। केही सामान्य प्रतिमानहरूमा प्रक्रियात्मक, वस्तु-उन्मुख, कार्यात्मक, र घोषणात्मक प्रोग्रामिङ समावेश छ।
प्रक्रियात्मक प्रोग्रामिंग: यसले डेटामा सञ्चालन गर्ने प्रक्रिया वा कार्यहरूको श्रृंखला लेख्नमा केन्द्रित हुन्छ। C प्रक्रियात्मक भाषा को एक प्रसिद्ध उदाहरण हो।
वस्तु-उन्मुख प्रोग्रामिङ (OOP): यो प्रतिमान "वस्तुहरू" को अवधारणामा आधारित छ, जसमा डेटा र विधिहरू छन्। जाभा र पाइथन वस्तु-उन्मुख भाषाहरूको उदाहरण हुन्।
कार्यात्मक प्रोग्रामिङ: यसले राज्य परिवर्तन नगरी इनपुटहरू लिने र आउटपुटहरू उत्पादन गर्ने कार्यहरूमा जोड दिन्छ। Haskell र Scala कार्यात्मक भाषाहरूको उदाहरण हुन्।
घोषणात्मक प्रोग्रामिङ: यसले यसको नियन्त्रण प्रवाहको वर्णन नगरी गणनाको तर्कमा केन्द्रित हुन्छ। SQL (डेटाबेसहरू क्वेरी गर्नका लागि) घोषणात्मक भाषाको उदाहरण हो।
प्रोग्रामिङ भाषाहरू धेरै वर्षहरूमा महत्त्वपूर्ण रूपमा विकसित भएका छन्, प्रारम्भिक असेंबली भाषाहरूबाट आधुनिक र थप अमूर्त भाषाहरूमा। प्रोग्रामिङ भाषा विकासको प्रवृत्ति बढ्दो अमूर्तता, प्रयोगमा सहजता र बहुमुखी प्रतिभा तिर रहेको देखिन्छ।
हालैका वर्षहरूले डोमेन-विशिष्ट भाषाहरू (DSLs) को उदय देखेका छन् जुन विशिष्ट कार्यहरूको लागि डिजाइन गरिएको हो, जस्तै डाटाबेस प्रश्नहरूको लागि SQL र वेब पृष्ठ डिजाइनको लागि HTML। यसबाहेक, त्यहाँ भाषा सुविधाहरूमा बढ्दो जोर छ जसले समवर्ती र समानान्तर प्रोग्रामिङलाई समर्थन गर्दछ, किनकि अनुप्रयोगहरू थप वितरित र बहु-थ्रेडेड हुन्छन्।
प्रोग्रामिङ भाषाहरू कम्प्युटर विज्ञान र सफ्टवेयर विकासको क्षेत्रमा एक महत्त्वपूर्ण उपकरण हो। विभिन्न प्रकारका भाषाहरू, तिनीहरूको कोटीहरू, र प्रतिमानहरू बुझ्दा विशिष्ट कार्यहरूको लागि उपयुक्त भाषा चयन गर्न मद्दत गर्न सक्छ। टेक्नोलोजीको विकास हुँदै जाँदा, प्रोग्रामिङ भाषाहरूले कम्प्यूटरहरूसँग सञ्चार गर्न थप शक्तिशाली र प्रभावकारी तरिकाहरू प्रदान गर्दै अनुकूलन गर्न जारी राख्नेछ।