Skip to main content

मराठीतून C प्रोग्रामिंग ...

सुमारे ७-८ वर्षांपूर्वी मी GNU Compiler Collection (gcc.gnu.org) मधील C compilerला प्रायोगिक तत्वावर मराठी C "शिकविले" होते. मराठीतून प्रोग्राम व्यक्त करणे तांत्रिक द्रुष्ट्या शक्य आहे. अर्थात व्यवसायिक पातळीवर हे करणे पूर्ण झाले नाही (त्यासाठी काही इतर प्रोग्राम, उदा. binutils, glibc ई. सुद्धा "मराठीकरण" करावे लागते). आता जरा वेळ आहे तर हे काम पुढे न्यावे असे वाटते. पूर्वीच्या अनुभवातून एक गोष्ट स्पष्ट आहे कि योग्य चपखल शब्द वापरण्याची (अथवा तयार करण्याची) गरज आहे. सोबत C मधील शब्दांची यादी जोडली आहे - मला सुचलेले मराठी शब्द व (C पद्धतीच्या) कंसात मूळ ईंग्रजी C. ही यादी GNU GCC 4.8.2 मधील आहे.

आपणासर्वांना विनंती की योग्य नवे शब्द सुचवावेत. शब्द जितके सामान्य तितके प्रभावी व उपयोगी. तयार झालेला C Compiler हा GNU GPL v3 परवान्यांतर्गत उपलब्ध करण्याचा विचार आहे.

"काभा" /* CPU = कार्यकर्ता, त्याची भाषा ... "काभा" ... Assembly/ASM */
"स्वयं" /* स्वयं! = auto */
"बूल" /* bool = बूल (बूलीय) */
"खंड" /* break = खंड */
"पर्याय" /* case = पर्याय */
"पकड" /* catch = पकड */
"अक्षर" /* char = अक्षर */
"अक्षर16_t"
"अक्षर32_t"
"वर्ग" /* class = वर्ग */
"स्थिर" /* const = स्थिर */
"स्थिरव्यक्त" /* constexpr = स्थिरव्यक्त */
/* const_cast */
"चालुदे" /* continue = चालुदे */
/* decltype */
/* default */
"काढ" /* delete = काढ */
"कर" /* do = कर */
"दुप्पट" /* double = दुप्पट */
"अथवा" /* else = अथवा */
"मोज" /* enum = मोज */
"स्पष्ट" /* explicit = स्पष्ट */
"निर्यात" /* export = निर्यात */
"बाहेर" /* extern = बाहेर */
"खोटे" /* false = खोटे */
/* float */
"गिरकी" /* for = गिरकी */
"मित्र" /* friend = मित्र */
"जा" /* goto = जा */
"जर" /* if = जर */
/* inline */
/* int */
/* long */
"नामांकनआवार" /* namespace = नामांकनआवार */
"नवे" /* new = नवे */
/* register */
/* restrict */
"परत" /* return = परत */
/* short */
/* signed */
"व्याप" /* sizeof = व्याप */
/* static */
/* static_assert */
/* static_cast */
/* struct */
"पर्यायविश्लेषण" /* switch = पर्यायविश्लेषण/निवड */
"खरे" /* true = खरे */
"प्रकारव्याख्या" /* typedef = प्रकारव्याख्या */
"प्रकारनाम" /* typename = प्रकारनाम */
"प्रकारक्रमांक" /* typeid = प्रकारक्रमांक */
/* typeof */
"युती" /* union = युती */
/* unsigned */
"अवकाश" /* void = अवकाश */
"बाष्पीय" /* volatile = बाष्पीय */
"विअक्षर" /* wchar_t = विअक्षर (विस्तारित अक्षर) */
"जोपर्यंत" /* while = जोपर्यंत */

लो.अ
अविचारे

अतिशहाणा Wed, 09/04/2014 - 18:32

कशासाठी?

(सी प्रोग्रॅमिंग सध्या इंग्लिशमध्ये करतात ही माझ्यासाठी नवी बातमी आहे)

नगरीनिरंजन Wed, 09/04/2014 - 18:56

In reply to by अतिशहाणा

हे C programming नाही; याला काज्ञालेखन म्हणतात. ;-)

गवि Wed, 09/04/2014 - 18:34

प्रणाम.

हा अत्यंत विलक्षण प्रयत्न आहे. त्याबद्दल तुम्हाला शुभेच्छा.

पण पण पण... मराठीत प्रोग्रामिंग करण्यात अधिकचा फायदा किंवा नवे काय होणार ते विषद केल्यास आणखी इंटरेस्टिंग वाटेल.

म्हणजे असं की मराठी ही भाषा आपली मातृभाषा असल्याने व्यक्त होण्यासाठी ती सर्वोत्तम हे पूर्ण पटण्यासारखं आहे.

पण प्रोग्रामिंगमधे मराठी भाषेच्या सौंदर्याचा किंवा विविध शब्दांचा विस्तार होण्याची शक्यता कमी दिसते. मराठीवरचे आपले शब्दप्रभुत्व इथे गुंडाळून ठेवून शेवटी ठराविक साठसत्तर साचेबद्ध आज्ञा-शब्दच वापरावे लागणार आहेत. मुख्य भाग फ्लो आणि लॉजिकचाच राहणार.

अतिशहाणा Wed, 09/04/2014 - 18:54

In reply to by गवि

अविचारे यांच्या प्रयत्नांचे श्रेय कमी लेखायचे नाही. पुणे विद्यापीठाच्या संगणक अभियांत्रिकी शाखेत compiler construction नामक विषय एका सत्रात शिकवला जातो. lexical analysis, parsing, tokenization वगैरे अत्यंत प्राथमिक क्रिया यात शिकवल्या जातात. काही विद्यार्थी compiler constructionचे प्रोजेक्ट्सही करतात. continue साठी विकीर वगैरे शब्द वापरून संघ प्रोग्रॅमिंग लॅँगवेजही करता येईल.

मुळात सी म्हणजे इंग्रजी नाही. त्यामुळे मराठी सी वगैरेही चुकीचे आहे.

असो-- कॉलेजात प्रचलित असलेला हा एक ग्राम्य विनोदः
How to make love in UNIX: unzip, strip, touch, finger, grep, mount, fsck, more, yes,fsck,fsck,fsck,umount, sleep

अतिशहाणा Wed, 09/04/2014 - 20:03

In reply to by नगरीनिरंजन

eject अशी कमांड युनिक्समध्ये नसावी असे वाटते. बाकीच्या सर्व valid commands आहेत.

अतिशहाणा Wed, 09/04/2014 - 20:19

In reply to by नगरीनिरंजन

सीडी वगैरेंसाठी कमांड असल्याने डेस्कटॉप प्रकारचे युनिक्स दिसते आहे. मूळ विनोद हा urban legend प्रकारचा होता. त्यात असे भाग जोडायला काहीच हरकत नाही.

नगरीनिरंजन Wed, 09/04/2014 - 19:23

माझीही काज्ञावली

#अंतर्भूत प्रमाणआबा.म>

पूर्णांक मुख्य()
{

पूर्णांक इ;
गिरकी(इ=०; इ१०; इ++)
{
छापा("नमस्ते दुनिया!\न");
}
परतावा ०;

}

मी Wed, 09/04/2014 - 19:25

In reply to by नगरीनिरंजन

छापा("नमस्ते दुनिया!\न");

असे लिहिल्यास आपली आज्ञावली कंपायलर अमान्य करेल, त्याऐवजी -

छापा("नमस्ते दुनिया!\न"); अशी दुरुस्ती सुचवतो.

अतिशहाणा Wed, 09/04/2014 - 20:37

या 'इंग्रजी' प्रोग्रॅमिंग भाषेला 'सी' नाव आहे, मराठी प्रोग्रॅमिंग भाषेला 'मी' हे नाव कसे वाटते. ;)

गोगोल Thu, 10/04/2014 - 03:47

का का का?

वेळच आहे तर कितीतरी चांगले ओपन सोर्स प्रोजेक्ट्स जॉईन करता येतील किंवा नवीन उपयुक्त प्रोजेक्ट्स सुरु करता येतील.
विथ ऑल ड्यु रिस्पेक्ट टू यु, या उपक्रमाची उपयुक्तता मला तरी दिसत नाही.

१. कमांड हा शब्द command असा लिहिल्याने काय होणार आहे? किंवा उलट?
देवनागरी लिपीत लिहिलेल्या असोत की रोमन. सी अथवा कोणत्याही प्रोग्रामिंग लँग्वेजच्या कमाण्ड्स अन सिन्टॅक्स नव्यानेच शिकाव्या लागतात. त्या देवनागरीत लिहून काय जास्तीचा फायदा? कारण इथे फक्त किचकट मराठी प्रतिशब्द सुचविणे सुरू आहे.
२. तेच इंग्रजी शब्द वापरलेल्या आज्ञा काय काम करतात ते मराठीतून शिकवले तर जास्त फायद्याचे होईल असे मला वाटते.
अर्थात, एका लिमिटपुढे, हे देखिल फारसे उपयोगी नाही.
३. एकदा बेसिक प्राविण्य मिळाले, की पुढे कॉम्प्युटर उद्योगात नोकरी साठी इंग्रजी भाषा यावीच लागते असे वाटते.
४. त्या बेसिक प्रोफिशिअन्सिच्या पुढे गेले, की जागतिक स्तरावरील इतर प्रोग्रामर्स सोबत माहितीचे, कल्पनांचे इ. आदानप्रदान करण्यासाठी एक स्टँडर्डाईज्ड प्रोग्रामिंग लँग्वेज गरजेची आहे. उद्या उठून कुणा फ्रेंच/रशियन इ. माणसाने फ्रेंच/रशियन शब्द वापरून लिहिलेला प्रोग्राम -फार कशाला? तमिळमधला असेल तरीही,- मला तरी समजणार नाही. तोच त्याने रोमन लिपीतील सध्याच्या सी कमांड्स वापरून लहिलेला असेल तर सहज समजतो.

आडकित्ता Thu, 10/04/2014 - 09:37

In reply to by मन

मनोबा,
त्याच्याशी काही घेणं देणं नाही, पण टेक्निकल टर्म्स मराठी, गुजराती, तमिळ, उर्दू, रशियन असे करत गेलो तर पंचाईत होईल, इतकेच म्हणणे आहे.
उदा.
तुम्हास एक अर्बुद झालेले असून त्याचा विच्छेद करायला हवा, यातून काय बोध झाला?
किंवा माझ्या मधुमेही रुग्णाची रक्तशर्करा ५०० आहे, हे इंग्लंडच्या प्रवासात गेल्यावर, माझे 'मराठीतले' रिपोर्ट वाचून तिथला डॉक्टर तुमच्यावर काय इलाज करू शकेल? इंग्लंड कशाला हवा? केरळात किंवा आंध्रात गेलात तरी?

गवि Thu, 10/04/2014 - 10:18

In reply to by आडकित्ता

अतिमार्मिक.

काही कारणाने बर्‍यापैकी मोठ्या प्रमाणावर एस्टॅब्लिश झालेली इंग्रजी भाषा उगीचच सर्वत्र बदलून तिथे मराठी आणणे हा उपाय अजिबात योग्य वाटत नाही.

अर्थातच इंग्रजी ही मराठीच्या किंवा अन्य भारतीय भाषांच्या तुलनेतच जास्त एस्टॅब्लिश झालेली आहे हे स्वच्छ दिसते. अन्य काही भाषा इंग्रजीपेक्षा जास्त वाईडस्प्रेड असू शकतात.

तरीही मेडिकल किंवा तंत्रज्ञानाच्या क्षेत्रात इंग्रजी मजकूर वाचण्याइतके किमान फंक्शनल नॉलेज सर्वांना असते असे मी समजतो आहे.

नॉन मेडिकल (व्यावहारिक) संभाषणात (उदा. मार्केटात / सुपर बाजारात चीजच्या प्रकाराची चवकशी, अमुक एक चॉकलेट कडू असते का हे जाणण्याचा प्रयत्न इ इ) फ्रान्स, स्वित्झर्लंड आणि इटली या युरोपीय देशांमधे इंग्रजीत कितीही घसा फाडला तरी अजिबात न समजणारे बहुसंख्य लोक असतात असं मला वाटतं यामागे स्वतःचा अत्यल्प अनुभव आहेच, पण तिथे नेहमीच वावर असलेल्यांनी हे खरे की खोटे ते सांगावे.

निनाद Thu, 10/04/2014 - 07:37

छान कार्य करत आहात.
नक्की पुढे न्या!
शक्य तोवर आज्ञांची लघुरुपे वापरत आहात हे फारच चांगले आहे.
हा प्रकल्प लवकरच पूर्णत्वास येवो.

मला वाटते यावर अजून कुणीतरी काम करत आहे.
कंपायलर्स वगैरेही भारतीय भाषातून आणत आहेत.
आता नक्की आठवत नाहीये...
volatile ला अस्थिर किंवा चंचल वापरले तर चालेल?

अविचारे Fri, 11/04/2014 - 00:39

प्रकल्पाची स्फूर्ती ... प्रेरणा ... ई. बाबत. हा मुद्दा एक वेगळी चर्चा होऊ शकेल ... आणि कदाचित येथे झालीही असेल. तांत्रिक द्रुष्ट्या ह्यात आव्हानात्मक असे फार नाही. पण योग्य शब्द निर्मितीसाठी मात्र हे सद्यपरिस्थितीत एक कठीण आव्हान आहे असे मला वाटते. ह्या सत्रात शब्द सुचविण्यावर म्हणूनच भर आहे. तरी "मराठीत का?" ह्या प्रश्नाला थोडक्यात उत्तर असे आहे:

एखाद्या समाजाची सभोवतालच्या परिस्थितीबाबत असलेली जागरुकता व जाणीव ही तिच्या सामाजिक शब्दभंडारावरून साधारणपणे ठरविता येते ... एका क्षेत्रात त्या समाजाने केलेले प्रयत्न ... म्हणजेच समाजाच्या एका गटाने केलेले त्या क्षेत्रातील काम ... ह्यामुळे हे शब्दभंडार वाढते. चपखल शब्द हे "गंतव्य" आहे ... पण त्यांच्यापर्यंतचा प्रवास व चुका हे खूप महत्वाचे शिक्षण असते. संगणक क्षेत्रात हा प्रवास चालु ठेवणे हा एक उद्देश. संगणकीय भाषा छोट्या असतात व म्हणून बर्यापैकी सहजसाध्य असतील असे वाटते ... म्हणून हा प्रयत्न. मराठी सी हे साध्य नसून साधन आहे.

सी मध्ये कार्यक्रम लिहिणे हे ईंग्रजीत नसते हे मान्य, पण प्रोग्रामिंग हे बरचसे ईंग्रजीत असते! कार्यक्रम जरी सी मधे व्यक्त होत असला तरी त्याबाबत विचार मात्र ईंग्रजीत होतो.

नगरीनिरंजन ह्यांनी एक पूर्ण कार्यक्रम लिहिला आहे. आभार, आणि असेच सुचवित रहावे ही विनंती.

लो.अ
अविचारे