कम्प्युटर भाषाहरू ती माध्यम हुन् जसको माध्यमबाट मानिसहरूले कम्प्युटरसँग सञ्चार गर्छन्। यी भाषाहरूले हामीलाई कम्प्युटरलाई बुझ्न र कार्यान्वयन गर्न सक्ने तरिकामा निर्देशनहरू दिन अनुमति दिन्छ। त्यहाँ विभिन्न प्रकारका कम्प्युटर भाषाहरू छन्, प्रत्येक फरक उद्देश्य र अमूर्त स्तरहरूको लागि डिजाइन गरिएको छ।
मेसिन भाषा कम्प्युटर भाषाको सबैभन्दा आधारभूत प्रकार हो। यसले बाइनरी कोड समावेश गर्दछ, जुन 0s र 1s को एक श्रृंखला हो, र यसले कम्प्युटरको हार्डवेयरको भौतिक कार्यहरूलाई प्रत्यक्ष रूपमा नियन्त्रण गर्दछ। मेसिन भाषा निर्देशनको एउटा उदाहरण 0001001101010001 हुन सक्छ, जसले कम्प्युटरको CPU मा दुई नम्बरहरू थप्ने जस्ता विशिष्ट कार्यलाई प्रतिनिधित्व गर्न सक्छ।
विधानसभा भाषा मेसिन भाषा भन्दा एक कदम माथि छ। यसले बाइनरी कोडलाई प्रतिनिधित्व गर्न प्रतीकात्मक निर्देशनहरू प्रयोग गर्दछ, यसले मानिसहरूलाई बुझ्न र लेख्न अलिकति सजिलो बनाउँछ। एक विधानसभा भाषा निर्देशन MOV AL, 61h जस्तो देखिन सक्छ जसले हेक्साडेसिमल मान 61 लाई CPU को AL दर्तामा सार्छ। मेशिन भाषाको तुलनामा यसको उच्च स्तरको पठनीयताको बावजूद, यसलाई अझै पनि निम्न-स्तरको भाषा मानिन्छ किनभने यो हार्डवेयरसँग नजिक छ।
उच्च-स्तरीय भाषाहरूले निम्न-स्तर भाषाहरूको तुलनामा हार्डवेयरबाट अमूर्तताको ठूलो स्तर प्रदान गर्दछ। तिनीहरू प्राकृतिक मानव भाषाहरूको नजिक छन् र पढ्न योग्य र बुझ्न सजिलो हुन डिजाइन गरिएको छ। उच्च-स्तरीय भाषाहरूको उदाहरणहरू समावेश छन्:
उच्च-स्तरीय भाषाहरू सामान्यतया कम्पाइल वा मेसिन कोडमा व्याख्या गरिन्छ जुन कम्प्युटरले कार्यान्वयन गर्न सक्छ। एक कम्पाइलरले सम्पूर्ण उच्च-स्तरको कार्यक्रमलाई एकैचोटि मेसिन भाषामा अनुवाद गर्दछ, जबकि एक दोभाषेले कार्यान्वयनको क्रममा यसलाई एक पटकमा एक निर्देशन अनुवाद गर्दछ।
स्क्रिप्टिङ भाषाहरू उच्च-स्तर भाषाहरूको एक उपसमूह हो जुन स्वचालित कार्यहरू, डेटा हेरफेर गर्न, र विभिन्न कार्यहरू पूरा गर्न द्रुत रूपमा लिपिहरू लेख्नको लागि डिजाइन गरिएको हो। उदाहरणहरू समावेश छन्:
मार्कअप भाषाहरू ढाँचा र डेटा प्रस्तुत गर्न डिजाइन गरिएको हो। तिनीहरू परम्परागत अर्थमा प्रोग्रामिङ भाषाहरू होइनन्, किनकि तिनीहरूमा तर्क वा नियन्त्रण प्रवाह बयानहरू छैनन्। यद्यपि, वेब विकास र कागजात ढाँचामा डेटाको संरचना र लेआउट परिभाषित गर्न तिनीहरू महत्त्वपूर्ण छन्। उदाहरणहरू समावेश छन्:
डोमेन-विशिष्ट भाषाहरू (DSLs) विशेष कार्यहरू वा डोमेनहरूको लागि विकसित विशेष कम्प्युटर भाषाहरू हुन्। तिनीहरू एक विशेष डोमेनमा समस्याहरू समाधान गर्न डिजाइन गरिएको हो र सामान्य प्रोग्रामिङ कार्यहरूको लागि इरादा होइन। उदाहरणहरू समावेश छन्:
प्रत्येक प्रकारको कम्प्युटर भाषाको आफ्नै शक्ति र कमजोरीहरू छन्, र प्रयोग गर्ने छनौट परियोजनाको विशिष्ट आवश्यकताहरूमा निर्भर गर्दछ। उदाहरणका लागि, निम्न-स्तरका भाषाहरूले हार्डवेयरमा उच्च प्रदर्शन र नियन्त्रण प्रदान गर्दछ तर सिक्न गाह्रो हुन्छ र त्रुटिहरूको खतरा हुन्छ। उच्च-स्तरका भाषाहरू, अर्कोतर्फ, सिक्न र प्रयोग गर्न सजिलो छ तर निश्चित कार्यहरूको लागि समान स्तरको नियन्त्रण वा दक्षता प्रस्ताव नगर्न सक्छ।
कम्प्यूटर भाषाहरूको सन्दर्भमा, वाक्यविन्यासले नियमहरूको सेटलाई बुझाउँछ जसले प्रतीकहरूको संयोजनलाई परिभाषित गर्दछ जुन त्यस भाषामा सही रूपमा संरचित कार्यक्रमहरू मानिन्छ। उदाहरणका लागि, पाइथनमा, लेखन प्रिन्ट ('हेलो, वर्ल्ड!') फंक्शन कलहरूको लागि सिन्ट्याक्स नियमहरूको पालना गर्दछ। सिमान्टिक्स , तथापि, सिन्ट्याक्टिकल तत्वहरूको पछाडिको अर्थलाई बुझाउँछ। दिइएको उदाहरणमा, अर्थशास्त्रले हेलो, विश्व! प्रयोगकर्तालाई।
कुनै पनि कम्प्युटर भाषा सिक्नका लागि सिन्ट्याक्स र सिमान्टिक्स दुवै बुझ्न महत्त्वपूर्ण छ, किनकि यसले प्रोग्रामरहरूलाई कोड लेख्न सक्षम बनाउँछ जसले भाषाका नियमहरू मात्र पालना गर्दैन तर इच्छित कार्यहरू पनि गर्दछ।
कम्प्यूटर भाषाहरू वर्षहरूमा महत्त्वपूर्ण रूपमा विकसित भएका छन्, मेसिन भाषाहरूको आदिम बाइनरी कोडदेखि आधुनिक उच्च-स्तरीय भाषाहरूको उन्नत, प्रयोगकर्ता-अनुकूल वाक्य रचनामा। यो विकास अधिक कुशल, पढ्न योग्य, र प्रयोग गर्न सजिलो भाषाहरूको आवश्यकता द्वारा संचालित गरिएको छ जसले कम्प्युटर अनुप्रयोगहरू र प्रणालीहरूको बढ्दो जटिलतालाई पूरा गर्न सक्छ। टेक्नोलोजी अगाडि बढ्दै जाँदा, हामी कम्प्युटर भाषाहरूमा थप विकास र नवीनताहरू हेर्ने आशा गर्न सक्छौं।
कम्प्युटर भाषाहरू मानव विचारलाई कम्प्युटर कार्यसँग जोड्ने पुल हुन्। एसेम्बली भाषाको निम्न-स्तर परिशुद्धतादेखि लिएर उच्च-स्तरका भाषाहरूको अमूर्तता र प्रयोग गर्न सजिलो, प्रत्येक प्रकारको भाषाको कम्प्युटिङको संसारमा आफ्नो स्थान छ। आधारभूत सिद्धान्तहरू, शक्तिहरू, र विभिन्न कम्प्युटर भाषाहरूको प्रयोग केसहरू बुझ्न प्रोग्रामिङ, वेब विकास, डेटा विश्लेषण, वा कम्प्युटरहरू समावेश गर्ने अन्य कुनै पनि क्षेत्रहरूमा जान खोज्नेहरूका लागि आवश्यक छ।