एक व शून्याचे जग : भाग ०

हाय ऑल !

'एक व शून्याचे जग' ह्या कम्प्युटरविषयी लेखमालिकेच्या पहिल्या भागात तुमचे स्वागत आहे! पहिला भाग म्हणतोय आणि टायटलमध्ये भाग ० का? तर कम्प्युटर जगात साधारणतः कुठलीही पहिली गोष्ट ही शून्यापासून सुरु होते. म्हणून आपणही तीच पद्धत चालू ठेऊया.

0s1s

एक आणि शून्याची नक्की काय भानगड आहे?

हे समजून घेण्याकरता थोडेसे भूतकाळात डोकवावे लागेल. तुम्ही हे ऐकलेच असेल की शून्याचा शोध ही जगाला दिलेली भारताची देणगी आहे. आर्यभट्ट व ब्रह्मगुप्त ह्या गणितज्ज्ञांनी शून्याचा शोध लावला. शून्य ह्याचा अर्थ जसा नथिंग किंवा काहीच नाही होतो, त्याचप्रमाणे कुठल्याही गोष्टीची सुरवात असाही होतो. शून्यातून जग उभारणे हा वाक्प्रचार आठवला असेलच तुम्हाला? कम्प्युटरच्या जगातही शून्यानेच सुरवात होते आणि शून्यापासूनच हे कम्प्युटर जग निर्माण होत, एव्हढे प्रगत होत गेले आहे. पण शून्य व एकच का? २ आणि ३ का नाही? १५ आणि २० का नाही?

हे समजून घ्यायला नंबर/ न्यूमरल सिस्टीम बघायला लागेल. असे म्हणतात की जगात पूर्वी इतर नंबर सिस्टिम्स अस्तित्वात होत्या. जसे बेस ६०, किंवा बेस २०. पण बेस १० अर्थातच दशमान पद्धती जास्त पुढे आली कारण कदाचित आपल्या हाताला १० बोटे असतात! जर ती ८च असती तर ऑक्टल सिस्टीम वापरत असतो आपण. नक्की कारण काय हे मला ठाऊक नाही, पण डेसिमल पद्धत आपण वापरतो हे खरे. मग आपण हीच पद्धत कम्प्युटरसाठी का नाही वापरत?
आता आपल्याला हे समजून घ्यायला इलेक्ट्रिक इंजिनिअर व्हावे लागेल. कम्प्युटर्स चालण्यासाठी सर्वात महत्वाची Requirement कोणती? तर वीज हवी. वीज नसेल तर कम्प्युटर चालणार नाही. वीज म्हणजे काय? स्वदेस मधील म्हातारी आठवली का? बिजली म्हणणारी? तिच्यासमोरचा दिवा पेटतो आणि तिला कळते की तिच्या घरात वीज आली. शाहरुख खान वाहत्या पाण्यापासून एनर्जी/ करंट तयार करतो आणि तो वायरच्या मार्फत त्या आज्जीच्या घरातील दिव्यापर्यंत पोचवतो. तो दिवा आधी 'ऑफ' असतो, तो वीज पोचल्यावर 'ऑन' होतो. आपण जेव्हा बटण दाबतो किंवा चालू करतो तेव्हा दिवा चालू होतो. थोडक्यात इलेक्ट्रिसिटी ही बायनरी पद्धतिचा अवलंब करते. ऑन ऑर ऑफ. चालू किंवा बंद. Truth or False. थोडक्यात - १ किंवा ०. म्हणून आपण सर्व जरी डेसिमल पद्धत वापरत असलो तरी कम्प्युटरशी बोलायला आपल्याला Binary system वापरणे भाग आहे.

Wait a minute ! कम्प्युटरशी बोलणे म्हणजे काय? अजून थोडे मागे जाऊन विचार करूया? कम्प्युटर म्हणजे नक्की काय? To compute ह्या इंग्रजी क्रियापदाचा साधारण अर्थ होतो मोजणे, आकडेमोड करणे. आपण कम्प्युटरला जी सूचना देऊ तिचा अवलंब करून कम्प्युटर काहीतरी आकडेमोड करेल. काहीतरी शोधेल, मोजेल. आपण जी सूचना देत आहोत त्यालाच कम्प्युटरशी बोलणे म्हणता येईल. जनरली त्याला command असा फारसा नम्र नसलेला कडक शब्द वापरला जातो. आपण कम्प्युटरला आज्ञा करतो कि आत्ताच्या आत्ता २९ गुणीले ५ किती ते सांग? आणि मग कम्प्युटर ते कॉम्प्यूट करून आपल्याला सांगतो की २९ गुणिले ५ = १४५. ( अर्थातच calculator वापरून सांगतेय. मला कुठला २९चा पाढा पाठ असायला? :ड )

तर आपण होतो बायनरी सिस्टीमपाशी. कम्प्युटरशी बोलायला पूर्वीच्या काळी ० आणि १ च्या साहाय्याने सूचना लिहून त्या कागदावर पंच करून कम्प्युटरला देत असू वाचायला. त्याप्रमाणे तो उत्तर देणार. पण आता जग खूप पुढे आले आहे. कोणी पाहिलेय/ऐकलेय ० व १ चा वापर करताना? मग आपण का त्याबद्दल बोलतोय? कारण हा कम्प्युटरच्या जगातला श्रीगणेशा आहे. गमभन. ते नाही कळले तर शब्द, जोडाक्षरं, वाक्यं, कर्ता -कर्म -क्रियापद-काळ कसे कळणार ना? म्हणून एक व शून्यावर इतकी कादंबरी गरजेची आहे.
पण डेसिमल सिस्टीममध्ये आपण कसे १ ते १० आकडे मोजतो. त्याच्याही पुढे जाऊन ११-२०,३०,४०.. १००, १००० असे सर्व मोजतो. बायनरीत कसे जमवणार? दोनच आकडे होणार त्यात? ० आणि १.
तर आज आपण बायनरी सिस्टीम व बायनरी बेरीज शिकूया. खूप सोपी आहे. एव्हढेच तंत्र लक्षात ठेवायचे. ०+१ = १, ०+० = ०, १+१ = ० आणि हातचा १. ह्या प्रत्येक ० किंवा एकाला म्हणतात Binary Digit .आणि त्याचा पॉप्युलर शॉर्टफॉर्म होतो 'bit'. जनरली आपण जसे दहाहजार लिहिताना एक अल्पविराम देतो: १०,००० तसेच बायनरी पद्धतीत ४ बिट्स मध्ये नंबर लिहिण्याची पद्धत आहे. म्हणजे ० असा लिहायचा: ०००० आणि एक असा: ०००१.


डेसिमल आकडा     बेरीज   बायनरी आकडा   
 ०          ००००      ००००
 १  ००००+०००१  ०००१
 २  ०००१+०००१  ००१०
 ३  ००१०+०००१  ००११
 ४  ००११+०००१  ०१००
 ५  ०१००+०००१  ०१०१
 ६  ०१०१+०००१  ०११०
 ७  ०११०+०००१  ०१११
 ८  ०१११+०००१  १०००
 ९  १०००+०००१  १००१
 १०  १००१+०००१  १०१०

सुरवातीला हे असेच बिट्स, बाइट्स वापरून नंबरच्या भाषेत कम्प्युटर प्रोग्राम्स लिहिले गेले. ह्याप्रकारच्या Programming language ला मशीन लेव्हल लॅंग्वेज म्हणतात. त्याच्या किंचित वरच्या लेव्हलवर होती असेम्ब्ली language. Fortran, Cobol, Basic, Pascal, B पुढे C, C++ अशा विविध higher level languages येत गेल्या. ह्या भाषा कम्प्युटरला डायरेक्ट्ली समजत नाहीत. दुभाषा लागतो. त्या दुभाष्याला कम्प्युटरच्या भाषेत compiler म्हणतात. हा दुभाष्या हायर लेव्हलची भाषा मशीनला समजेल अशा ० व १ मध्ये भाषांतरित करून पोचवतो.

आता लेख संपवण्यापूर्वी काही रोचक माहिती:

  1. ० किंवा १ ह्या आकड्याला म्हणतात Bit, ४ बिट्सचा मिळून होतो Nibble, ८ बिट्स किंवा २ निबल्स मिळून बनतो एक byte, १०२४ बाइट्स म्हणजे एक किलोबाईट , १०२४ किलोबाईट = एक मेगाबाईट, १०२४ मेगाबाईट = एक gigaabyte, १०२४ गिगाबाईट = एक Terrabyte इत्यादी इत्यादी..
  2. कम्प्युटरचा जनक : Charles Babbage - ह्याने अशा प्रकारचे गणिती यंत्र वापरता येईल हे शोधले. पहिला कम्प्युटर : Charles Babbage चे Difference Engine. ह्याने काम चालू केले परंतु ते पूर्ण झाले नाही.
  3. कम्प्युटर्सचा जनक जरी चार्ल्स बॅबेज असला तरी पहिली प्रोग्रामर होती : Ada Lovelace. ही चार्ल्स बॅबेजबरोबर काम करत होती. तिने ह्या यंत्राची क्षमता केवळ गणितं करण्यापेक्षा जास्त आहे हे ओळखले. ते यंत्र Analytical पद्धतीनेही वापरता येईल हे ओळखले. तिने पहिला प्रोग्राम लिहिला. पहिला अल्गोरिदम लिहिला. [Algorithm : Set of instructions ] to compute Bernoulli numbers. जाता जाता अजून एक रोचक माहिती हिच्या बद्दल म्हणजे ही कवी लॉर्ड बायरन ह्याची मुलगी.
  4. प्रोग्रॅम व डेटा पंच कार्ड वर स्टोअर करता येणारा, पूर्ण कम्प्युटर बनवला Konrad Zuse ह्याने.
  5. पहिला जनरल परपज कम्प्युटर: यूएस आर्मीने फंड केलेला १५० फूट लांबीचा ENIAC. It helped with computations for feasibility of the world’s first hydrogen bomb.

Reference :
https://en.wikipedia.org/wiki/History_of_programming_languages
https://www.hongkiat.com/blog/computer-programming-greatest-inventions/
https://web.stanford.edu/class/cs101/bits-bytes.html

लेख: 

वर
0 users have voted.
हिंदी / मराठी
इंग्लीश
Use Ctrl+Space to toggle