C Language क्या है उसके History, Features, Advantage, Disadvantage और C तथा C++  में अंतर

What is C Language in Hindi - C Language क्या है

C language एक Middle Level Programming Language है जिसका विकास 1070s में Dennis Ritchie के द्वारा Bell Labs मे किया गया। 

यह एक General Purpose Programming Language है, जो अपनी सरलता और दक्षता के लिए जाना जाता है।
C Language में High Level Language का Concept है साथ ही इसमें Low Level Language के गुण भी समाहित है 
जिसके कारण यह बड़ी प्रभावशाली तरीके से Hardware को Access करने, System Resources को Manage करने में सक्षम है तथा यह Software के विकास के लिए एक Foundation Language की तरह कार्य करता है

अपनी शक्ति और लचीलेपन के कारण, C Language का उपयोग Operating System, Embedded, Game Development, में बड़े पैमाने पर किया जाता है।

History of C Language in Hindi /C को C Language क्यों कहा जाता है

C Language के पहले 1957 में एक प्रसिद्ध Language FORTRAN आया जिसका पूरा नाम "FORmula TRANslation" था 

इस Language की खास बात यह थी कि इसकी मदद से Mathematical और Scientific Application आसानी से Develop किया जा सकता था।

 इसलिए इस Language का Use सभी Mathematical और Scientific Application की Coding और Programming के लिए उस समय ज्यादा किया जाता था 

जिसके कारण यह Language उन समयों में बहुत प्रसिद्ध था लेकिन यह Language Mathematical और Scientific Application बनाने तक सीमित था अन्य कार्यों के लिए Application बनाना इस Language के द्वारा संभव नही था।

1959 मे COBOL आया जिसका पूरा नाम "Common Business Oriented Language" था, जिसका उपयोग जैसे नाम से ही पता चलता है कि Business संबन्धित Application बनाने में हुआ अन्य कार्यों के लिए इस Language का प्रयोग भी व्यापक रूप से नही हुआ

1967 मे BCPL (Basic Combined Programming Language) आया जो की General Purpose Programming Language था अर्थात यह किसी एक विशेष कार्य को करने के लिए बनाया नही गया था 

बल्कि सभी कार्यों को करने के लिए यह सक्षम था।इस Language में कई समस्याएं थी जिसे दूर करने के लिए इसे 1972 में Update करके इसका नाम 'B' रखा गया अर्थात BCPL का पहला Letter लेकर इसका नाम दिया गया लेकिन इस Language में लगातार समस्याएं आती रहीं 

इन समस्याओं को देखते हुए 1972 मे Dannis Ritchie ने B Language को आगे Upgrade किया और उसका नाम बदलकर 'C ' रखा जो BCPL का Second Letter था

अतः C Language की मदद से Mathematical, Scientific और Businesd संबंधित Application Develop कर सकते है इसके अलावा Embedded System, Operating System, School Management System आदि Applications Develop किया जा सकता है 

अतः C Language ने Developer को हर प्रकार के Application बनाने की सुविधा दी यही कारण है कि इस Language को 'C' नाम दिया गया

Features/Advantages of C Language in Hindi

1) Simplicity:
C Language अपने Syntax और Features की सरलता के कारण जाना जाता है इसका Syntax को नौसिखिया (Beginners) लोगों को समझने और सीखने मे सरल होता है

2) Convient Language:
C Language में कई Facilities को इतने सरल तरीके से प्रस्तुत किया गया है, कि यदि आप इसे Low Level Language में समझने का प्रयास करे तो यह बहुत ही जटिल हो सकता है
Programmer इसमें Low Level Language की तुलना में जटिल Programs को भी बड़ी आसानी से लिख सकते है

3) Easy Language:
C Language सीखने और समझने के लिए बहुत सरल है कोई भी इसे समझ सकता है इसके लिए ज्यादा Technical Knowledge की जरुरत नही

इसका Syntax अन्य Language की अपेक्षा बहुत सरल है तथा इसमें सीमित Keywords Sets और Rules है
जो Fundamental Programming Concept को समझना आसान बनाता है

4) Efficiency:
C अपनी दक्षता के लिए जाना जाता है यह language memory और hardware resources पर direct access प्रदान करती है जो Developer को इन पर Control करने की अनुमति देते है 

इस Level का Control C Language की क्षमता को एक निम्न स्तर में कार्य करने की अनुमति देते है जो ऐसे कार्यों को करने के लिए बेहतर है जिन्हे Speed और Resources Optimization की जरुरत होती है जैसे Operating System और Device Driver 

5) Portable or Machine Independent:
C Language में लिखे Programs Machine Independent है अर्थात इसके Code को आप विभिन्न Machines या भिन्न प्रकार के Computer Systems में Run करा सकते है।

इसके लिए आपको Code को या तो बिना बदलाव के या बहुत थोड़ा बदलाव करके Use करने की आवश्यकता होती है।
C Language के Portable होने का कारण इसके Compilers का विभिन्न Plateform के लिए उपलब्ध होना और यह Language स्वयं भी Hardware विशिष्टताओ पर अधिक निर्भर नहीं है
 
6) Fast Language:
 C Language, Complier आधारित Programs है जिसके कारण इसके Code का Compilation और Execution बहुत तेजी से होता है

इसके तेज होने का दूसरा कारण यह है कि इसमें केवल आवश्यक और जरुरत के Features उपलब्ध है क्योंकि ज्यादा Features होने पर उन Features की Processing करना Time लेने वाला होता है
अतः C Language की सीमित Features उसके Fast होने का कारण है
 

7) Modularity:
C Language, Function का Use करके, Program को छोटे छोटे भागो जिसे Module कहते है, में बांटने की अनुमति देते है प्रत्येक Module विशेष कार्य करते है

यह Modular Approach Code को समझने, Develop करने, Maintain करने और उसे पुन: Use (Reuse) करने की अनुमति देते है जिससे कुल मिलाकर Program की Structure और Organization में सुधार होता है

8) Rich Library Support:
C Language, Libraries का Rich Set प्रदान करता है जिसमें कई कार्यों को करने के लिए विभिन्न प्रकार के Built In Functions होते है 

इन Functions का Use करके Programmer के लिए Programming करना सरल , समय और श्रम बचाने वाला होता है Programmer स्वयं भी Function बनाकर (User Defined Function) उसे भविष्य में Use करने के लिए C Libraries में Add कर सकते है

9) Pointers and Memory Management:
 Pointers C Language का Unique feature हैं जो इसे कई अन्य भाषाओं से अलग करती है

वास्तव में Pointers C Language मे Variables होते है जो अन्य Variables के Memory Address को Store करते है जिससे Dynamic memory allocation और manipulation के कार्यों को अनुमति मिलती है इससे Memory का प्रभावशाली तरीके से Management किया जा सकता है 

10) Structured Programming:
C, structured programming को supports करता है जो हमे Program को Function का Use करके छोटे भागों में बांटने की अनुमति देते है

इस कार्य को loops, conditional statements (like if-else) और functions के द्वारा किया जाता है यह एप्रोच Code को समझने, व्यवस्थित करने, और Debugging को आसान बनाने में मदद करता है।

11) Recursion:
C Language, recursive functions का समर्थन करता है, जिससे किसी Function को स्वयं Call करने की अनुमति मिलती है। यह सुविधा उन समस्याओं को हल करने में उपयोगी है जिन्हें छोटी समान उप-समस्याओं में विभाजित किया जा सकता है

12) Mid-level Programming Language
यद्यपि C Language को शुरुवात में केवल Low Level Programming करने के लिए किया गया था तथा इसका प्रयोग System Application जैसे Kernel, Driver आदि Develop करने के लिए किया जाता था 

लेकिन यह High Level Language के Features और Fuctionality को भी Support करता है इसलिए इसे Mid-level Programming Language कहते है अतः C Language दोनो अर्थात High Level और Low Level Language के फायदों को प्रदान करता है 

13) Extensive Usage:
C Language का उपयोग इसके efficiency, portability, और versatility गुणों के कारण व्यापक रूप से विभिन्न domains, operating systems, embedded systems, game development और software development में किया जाता है 

Disadvantage of C Language in Hindi -C Language की कमियां

1) Manual Memory Management:
C मे memory allocation और deallocation को Manually malloc() और free() Function की सहायता से Handle किया जाता है
यदि Memory को सही तरीके से Handle न किया जाए तो यह कई समस्याओं जैसे memory leaks या dangling pointers का कारण बनती है जो Program को Instable कर देती है 

2)Verbose Syntax:
अन्य नए Languages की अपेक्षा C में इसके Syntax के कारण किसी कार्य को पूरा करने के लिए अक्सर Code की ज्यादा Lines लिखने की आवश्यकता होती है

3) No Object-Oriented Programming Features:
Modern languages की तुलना में C, object-oriented programming (OOP) Concept जैसे polymorphism , Inheritance, Encapsulation, Abstraction, आदि को Support नही करता

4) Run Time Checking:
C Programming में Error या Bug की Checking Code के प्रत्येक Line के लिए नहीं होती जब आप पूरे Program लिख लेते है तब उसके Compilation के दौरान Compiler सभी Error को एक साथ प्रदर्शित करते है अतः एक बड़े Program के लिए Code की Checking करना बहुत जटिल हो जाता है

5) Complex Pointers:
Beginners के लिए pointers को Handle करना एक मुश्किल कार्य हो सकता है क्योंकि Memory Addressing संबंधित कार्य सही ढंग से से न किया जाए तो Segmentation faults जैसे Error का सामना करना पड़ सकता है

6) Difficult for Complex Projects:
C में Programming को शुरू करना सरल होता है पर जैसे ही C की मदद से जटिल Projects बनाने की बात आती है C के low-level nature और manual memory management के कारण इसमें Programming करना विशेष कर उन लोगो के लिए कठिन हो जाता है जिन्हे Programming मे ज्यादा Knowledge नही है

7) Platform Dependency:
यद्यपि C Language Portable है जब C Code का प्रयोग विभिन्न Plateform में किया जाता है तब उसके Code में Modification की आवश्यकता होती है क्योंकि अलग अलग system Architecture में विभिन्नता पाई जाती है अतः विभिन्न System Architecture के लिए Code का modification करना असुविधाजनक हो सकता है

8) Limited Standard Library
जहा C के पास Rich standard library का Set है वही इसमें कुछ high-level functionalities की कमी है जो modern languages में ज्यादा होते है

9) Lack of Exception Handling:
Exception Handling किसी भी Programming Language का महत्त्वपूर्ण Feature है इस Features के कारण Compile के दौरान आने वाले Bugs या 

Error को पकड़ा जाता है और उस Error 
या Bugs को समाप्त करने के लिए उचित Action लिया जाता है लेकिन C में यह महत्त्वपूर्ण Features उपलब्ध नहीं है जिससे C में Error के प्रति प्रतिक्रिया बहुत ही धीमा है

Difference between C and C++ Language in Hindi- C और C++ Language मे अंतर

1)
C 1972 में Dennis Ritchie द्वारा Bell Lab में विकसित किया गया

C++ Bjarne Stroustup द्वारा 1979 मे विकसित किया गया 

2) 
C एक Structural या procedural programming language है

C++ एक procedural और object-oriented programming दोनो को supports करता है

3) 
C में Data कम सुरक्षित है

C++ में Class Members के लिए Access Modifiers लागू करने पर उसे बाहर के Users, Access नही कर सकते इस कारण इसमे Data ज्यादा सुरक्षित है 

4) 
C top-down approach का अनुसरण करते है

C++ bottom-down approach का अनुसरण करते हैं

5) 
C में 32 Keywords होते है

C++ में 63 Keywords होते है

6)
C केवल built-in data types को Support करते है

C++ built-in और user -defined, data types को Support करते है

7) 
C function और Operator overloading को Support नही करते

C++ function और Operator overloading को Support करते है

8) 
C में functions और structure का Use नही कर सकते

C++ में function और structure दोनो का Use कर सकते

9)
C Programs को procedures और modules में बांटा जाता है

C++ Programs को functions और class में बांटा जाता है

10) C में मुख्यत scanf() और printf () functions का प्रयोग Input/Output के लिए किया जाता है

C++ में cin और cout functions का प्रयोग Input/Output के लिए किया जाता है

11)
C inline function को support नही करता

C++ inline function को support करता

12)
C inheritance को support नही करता

C++ inheritance को support करता


 Related Post