Lecture-8 Introduction to computer programming languages
Introduction to computer programming languages (कंप्यूटर प्रोग्रामिंग भाषाओं का परिचय):-
Programming Language (प्रोग्रामिंग भाषा):- It is a set of instructions and syntax used to create software programs. Some of the key features of programming languages include:
(प्रोग्रामिंग भाषा एक सूचना और सिंटैक्स का औपचारिक समूह है जिसका उपयोग सॉफ़्टवेयर प्रोग्राम बनाने के लिए किया जाता है। मुख्य विशेषताएँ शामिल हैं:)
i. Syntax (सिंटैक्स):- The specific rules and structure used to write code in a programming language.
(कोड लिखने के नियम और संरचना का परिभाषित करता है।)
ii. Data Types (डेटा प्रकार):- The type of values that can be stored in a program, such as numbers, strings, and booleans.
(कार्यक्रम द्वारा उपयोग किए जा सकने वाले मान के प्रकार (जैसे संख्या, स्ट्रिंग) की परिभाषा करते हैं।)
iii. Variables (वेरिएबल्स):- Named memory locations that can store values.
(डेटा संग्रहण के लिए नामित मेमोरी स्थान।)
iv. Operators (ऑपरेटर्स):- Symbols used to perform operations on values, such as addition, subtraction, and comparison.
(कार्यों को निष्पादित करने के लिए प्रतीक (जैसे +, -, ==)।)
v. Control Structures (नियंत्रण संरचनाएँ):- Statements used to control the flow of a program, such as if-else statements, loops, and function calls.
(कार्यक्रम के प्रवाह को नियंत्रित करने वाले विधियाँ (जैसे if-else, लूप)।)
vi. Libraries and Frameworks (लाइब्रेरी और फ्रेमवर्क्स):- Collections of pre-written code that can be used to perform common tasks and speed up development.
(सामान्य कार्यों के लिए पूर्व-लिखित कोड का संग्रह।)
vii. Paradigms (पैराडाइम्स):- The programming style or philosophy used in the language, such as procedural, object-oriented, or functional.
(प्रोग्रामिंग शैली जैसे प्रक्रियात्मक, वस्तु-विमोचन, या कार्यात्मक।)
Most Popular Programming Languages (सबसे लोकप्रिय प्रोग्रामिंग भाषाएँ:):-
i. C
ii. Python
iii. C++
iv. Java
v. SCALA
vi. C#
vii. R
viii. Ruby
ix. Go
x. Swift
xi. JavaScript
Characteristics of a programming Language (प्रोग्रामिंग भाषा की विशेषताएँ):-
i. A programming language must be simple, easy to learn and use, have good readability, and be human recognizable.
(एक प्रोग्रामिंग भाषा सरल, सीखने और उपयोग में आसान, अच्छी पठनीयता वाली, और मानव पहचानीय होनी चाहिए।)
ii. Abstraction is a must-have Characteristics for a programming language in which the ability to define the complex structure and then its degree of usability comes.
(एक प्रोग्रामिंग भाषा के लिए अवसरवाद एक अनिवार्य विशेषता है जिसमें जटिल संरचना को परिभाषित करने और उसकी उपयोगिता का स्तर आता है।)
iii. A portable programming language is always preferred.
(एक पोर्टेबल प्रोग्रामिंग भाषा हमेशा पसंद की जाती है।)
iv. Programming language’s efficiency must be high so that it can be easily converted into a machine code and its execution consumes little space in memory.
(प्रोग्रामिंग भाषा की दक्षता उच्च होनी चाहिए ताकि इसे आसानी से मशीन कोड में परिवर्तित किया जा सके और इसका निष्पादन मेमोरी में कम जगह लें।)
v. A programming language should be well structured and documented so that it is suitable for application development.
(एक प्रोग्रामिंग भाषा को अच्छे संरचित और प्रलेखित होना चाहिए ताकि यह अनुप्रयुक्ति विकास के लिए उपयुक्त हो।)
vi. Necessary tools for the development, debugging, testing, maintenance of a program must be provided by a programming language.
(किसी प्रोग्राम के विकास, डीबगिंग, परीक्षण, और रखरखाव के लिए आवश्यक उपकरण एक प्रोग्रामिंग भाषा द्वारा प्रदान किए जाने चाहिए।)
vii. A programming language should provide a single environment known as Integrated Development Environment (IDE).
[एक प्रोग्रामिंग भाषा को एकल परिवेश उपलब्ध कराना चाहिए जिसे Integrated Development Environment (IDE) के रूप में जाना जाता है।]
viii. A programming language must be consistent in terms of syntax and semantics.
(एक प्रोग्रामिंग भाषा को वाक्य-रचना और अर्थ-में संघटित होना चाहिए।)
Basic Terminologies in Programming Languages (प्रोग्रामिंग भाषाओं में मूल शब्दावली):-
i. Algorithm (एल्गोरिथ्म):- A step-by-step procedure for solving a problem or performing a task.
(किसी समस्या को हल करने या किसी कार्य को निष्पादित करने के लिए चरण-दर-चरण प्रक्रिया।)
ii. Variable (वेरिएबल):- A named storage location in memory that holds a value or data.
(मेमोरी में एक नामित संग्रह स्थान जिसमें एक मान या डेटा रखा जाता है।)
iii. Data Type (डेटा प्रकार):- A classification that specifies what type of data a variable can hold, such as integer, string, or boolean.
(एक वर्गीकरण जो यह निर्दिष्ट करता है कि एक वेरिएबल किस प्रकार के डेटा को धारित कर सकता है, जैसे पूर्णांक, स्ट्रिंग, या बूलियन।)
iv. Function (फ़ंक्शन):- A self-contained block of code that performs a specific task and can be called from other parts of the program.
(एक आत्मसम्मिलित कोड ब्लॉक जो एक विशिष्ट कार्य को निष्पादित करता है और कार्यक्रम के अन्य हिस्सों से बुलाया जा सकता है।)
v. Control Flow (नियंत्रण प्रवाह):- The order in which statements are executed in a program, including loops and conditional statements.
(कार्यक्रम में कथनों के निष्पादन का क्रम, जिसमें लूप और शर्तमुक्त कथन शामिल होते हैं।)
vi. Syntax (सिंटैक्स):- The set of rules that govern the structure and format of a programming language.
(उस सेट के नियम जो प्रोग्रामिंग भाषा की संरचना और स्वरूप को नियंत्रित करते हैं।)
vii. Comment (कमेंट):- A piece of text in a program that is ignored by the compiler or interpreter, used to add notes or explanations to the code.
(कोंपाइलर या इंटरप्रीटर द्वारा अनदेखा किया जाने वाला पाठ, जिसका उपयोग कोड में नोट्स या स्पष्टीकरण जोड़ने के लिए किया जाता है।)
viii. Debugging (डीबगिंग):- The process of finding and fixing errors or bugs in a program.
(प्रोग्राम में त्रुटियों या बग्स का पता लगाने और सुधारने की प्रक्रिया।)
ix. Integrated Development Environment (IDE) (एकीकृत विकास परिवेश):- A software application that provides a comprehensive development environment for coding, debugging, and testing.
(कोडिंग, डीबगिंग, और परीक्षण के लिए एक समग्र विकास परिवेश प्रदान करने वाला सॉफ़्टवेयर अनुप्रयोग।)
x. Operator (ऑपरेटर):- A symbol or keyword that represents an action or operation to be performed on one or more values or variables, such as + (addition), – (subtraction), * (multiplication), and / (division).
[एक प्रतीक या कीवर्ड जो एक या एक से अधिक मान या वेरिएबल पर क्रिया या ऑपरेशन का प्रतिनिधित्व करता है, जैसे + (जोड़ना), - (घटाना), * (गुणा), और / (भाग)।]
xi. Statement (कथन):- A single line or instruction in a program that performs a specific action or operation.
(कार्यक्रम में एक एकल पंक्ति या निर्देश जो एक विशिष्ट क्रिया या ऑपरेशन का प्रदर्शन करता है।)
Advantages of programming languages (प्रोग्रामिंग भाषाओं के लाभ):-
i. Increased Productivity (उत्कृष्टता में वृद्धि):- Programming languages provide a set of abstractions that allow developers to write code more quickly and efficiently.
(प्रोग्रामिंग भाषाएँ एक समूह के रूप में प्रस्तुतियाँ प्रदान करती हैं जो विकासकों को कोड लिखने में अधिक तेजी से और सक्षमता से कार्य करने की अनुमति देती हैं।)
ii. Portability (पोर्टेबिलिटी):- Programs written in a high-level programming language can run on many different operating systems and platforms.
(उच्च स्तरीय प्रोग्रामिंग भाषाओं में लिखे गए कार्यक्रम बहुत से विभिन्न ऑपरेटिंग सिस्टम और प्लेटफ़ॉर्म पर चला सकते हैं।)
iii. Readability (पठनीयता):- Well-designed programming languages can make code more readable and easier to understand for both the original author and other developers.
(अच्छी डिज़ाइन वाली प्रोग्रामिंग भाषाएँ कोड को और पठनीय और समझने में सुधार सकती हैं, चाहे वह मूल लेखक हो या अन्य विकासकर्ता।)
iv. Large Community (बड़ी समुदाय):- Many programming languages have large communities of users and developers, which can provide support, libraries, and tools.
(कई प्रोग्रामिंग भाषाओं के बड़े समुदाय होते हैं जिनमें उपयोगकर्ताओं और विकासकर्ताओं की बड़ी समुदाय होती है, जो समर्थन, पुस्तकालय, और उपकरण प्रदान कर सकती है।)
Disadvantages of programming languages (प्रोग्रामिंग भाषाओं की हानियाँ):-
i. Complexity (जटिलता):- Some programming languages can be complex and difficult to learn, especially for beginners.
(कुछ प्रोग्रामिंग भाषाएँ जटिल हो सकती हैं और उन्हें सीखना और समझना विशेषकर नवीनतम के लिए कठिन हो सकता है।)
ii. Performance (प्रदर्शन):- Programs written in high-level programming languages can run slower than programs written in lower-level languages.
(उच्च स्तरीय प्रोग्रामिंग भाषाओं में लिखे गए कार्यक्रम कम स्तरीय भाषाओं में लिखे गए कार्यक्रमों से धीमे चल सकते हैं।)
iii. Limited Functionality (सीमित कार्यक्षमता):- Some programming languages may not have built-in support for certain types of tasks or may require additional libraries to perform certain functions.
(कुछ प्रोग्रामिंग भाषाओं में कुछ कार्यों के लिए सहायक समर्थन नहीं हो सकता है या विशिष्ट कार्यों को निष्पादित करने के लिए अतिरिक्त पुस्तकालयों की आवश्यकता हो सकती है।)
iv. Fragmentation (विखंडन):- There are many different programming languages, which can lead to fragmentation and make it difficult to share code and collaborate with other developers.
(कई विभिन्न प्रोग्रामिंग भाषाएँ होती हैं, जिससे विखंडन हो सकता है और कोड साझा करना और अन्य विकासकर्ताओं के साथ सहयोग करना कठिन हो सकता है।)