• Breaking

    Computer programming । প্রোগ্রামিং চিন্তন #2 । কিভাবে কোনো প্রোগ্রামিং ল্যাংগুয়েজকে নিজের আয়ত্বাধীন আরেকটা ভাষার মতো ব্যাবহার করতে পারবেন । Syltechlab ।

    আসসালামু আলাইকুম!
    স্বাগতম ।
    ----------------------------------------------------------------------------------
    শুরু করি।।...।।
    -------------------------------------

    আমরা এর আগের পর্বে জেনেছি যে প্রোগ্রামিং কেনো শিখবো বা করবো এবং কম্পিউটারের ভাষা শুধুমাত্র একটা! আর সেই ভাষায় বর্ণমালা মাত্র দুইটাঃ ০ আর ১!


    এই পর্বে আমরা জানবো এই ০ এবং ১ দিয়ে কম্পিউটার কিভাবে কথা বলে বা কাজ করে! অর্থাৎ হালকাপাতলা বুলিয়ান এ্যালজেব্রা শিখবো! ভয় পাবার কিছু নাই, একদম বেসিক! সেই সাথে জানবো C, C++, Java, Python, PHP এসব কি!

    বুলিয়ান এ্যালজেব্রা নামটা হয়তো অনেকের কাছেই পরিচিত! অথবা অন্তত শুনেছেন নামটা! জর্জ বুল নামে একজন গণিতবিদ এই এ্যালজেব্রার প্রবক্তা! একে বাংলায় দ্বিমিক গণিত বলা হয়! 😀
    হ্যাঁ গণিত! এটা এ্যাপ্লাইড ম্যাথম্যাটিকস এর অন্তর্গত! এবং পুরোটাই যুক্তিনির্ভর!

    চলুন তাহলে শুরু করা যাক!

    আমরা আগেই জেনেছি বুলিয়ান এ্যালজেব্রা তে অংক বা ডিজিট (বিট বা বাইনারি ডিজিট) মাত্র দুইটাঃ ০ এবং ১! এই দুইটা নিয়েই যতো কাজ এবং ফলাফলও এই দুইটা বিট এর কম্বিনেশন দিয়েই হয়!
    অংকের বেপারটা তো গেলো! কিন্তু হিসেব নিকেশ করতে তো অপারেটর লাগবে!
    বুলিয়ান এ্যালজেব্রা তে মৌলিক অপারেটর ৩ টাঃ AND, OR, NOT! (সাধারণ গনিতের +, -, *, / এর মতো)
    এছাড়াও আরও কিছু অপারেটর আছে যেগুলো মূলত এসব অপারেটরের কম্বিনেশন কিংবা স্পেশাল কিছু নিয়ম মেনে কাজ করে! (XOR বা Exclusive OR, Bitwise OR...)

    এখন আমরা শিখবো এই অপারেটরগুলো কিভাবে কাজ করে (খুবই গুরুত্বপূর্ণ! কেননা কম্পিউটার একটি লজিক্যাল ডিভাইস এবং যতোসব লজিক্যাল কাজ এই বুলিয়ান এ্যালজেব্রা এবং এই অপারেটরগুলো ব্যবহার করেই করা হয়! সামনে দেখা যাবে এর অনেক বেশি ব্যবহার!)

    #AND: AND অপারেটরটি ফলাফল হিসেবে তখনি ১ দিবে যখন এর দুইটি অপার‍্যান্ড ১!
    অর্থাৎঃ
    1 AND 1 = 1
    অন্য সকল ক্ষেত্রে ফলাফল হবে ০!
    অর্থাৎঃ
    0 AND 1 = 0
    1 AND 0 = 0
    0 AND 0 = 0

    কথায় বললে বলা যায়, তখনি ফলাফল ১ আসবে যখন এবং শুধুমাত্র যখন a "এবং" b এর মাণ ১! অর্থাৎ, a AND b = 1, if and only if a=1 "and" b=1

    #OR: OR অপারেটরটি ফলাফল হিসেবে তখনি ১ দিবে যখন এর দুইটি অপার‍্যান্ডের যেকোনো একটি অথবা উভয়ই ১ হবে!
    অর্থাৎঃ
    0 OR 1 = 1
    1 OR 0 = 1
    1 OR 1 = 1

    শুধুমাত্র দুইটি অপার‍্যান্ডই যদি ০ হয় সেক্ষেত্রে ফলাফল ০ হবে!
    অর্থাৎঃ
    0 OR 0 = 0

    কথায় বললে বলা যায়, তখনি ফলাফল ১ হবে যদি a এর মান ১ "অথবা" b এর মান ১ "অথবা" a, b উভয়েরই মান ১! অর্থাৎ, a OR b = 1 if a=1 "or" b=1 "or" a=1, b=1

    #NOT: এই অপারেটরটি একটি ইউনারি অপারেটর! অর্থাৎ এই অপারেটরটি একটিমাত্র অপার্যান্ড নিয়ে কাজ করে! এর কাজ খুবই সিম্পল! অপার্যান্ড ১ হলে ফলাফল হবে ০, অপার্যান্ড ০ হলে ফলাফল হবে ১!
    অর্থাৎঃ
    1 NOT = 0
    0 NOT = 1

    এখন একটু এসব উদ্ভট গণিত বাদ দিয়ে বাস্তব ঘটনায় আসি!

    প্রত্যয় মনস্থির করেছে সে ট্যুরে যাবে! কিন্তু সে ট্যুরে তখনি যেতে পারবে যদি এবং কেবল যদি ওই দিনটা ছুটির দিন হয় এবং সে তার স্যালারি পায়! অর্থাৎ সে স্যালারি পেলেও যদি ছুটির দিন না হয় তাহলে যেতে পারবেনা! আবার ছুটির দিন হলেও স্যালারি না পেলেও যেতে পারবেনা! এটা AND অপারেটরের বাস্তব প্রয়োগ!

    আবার, প্রত্যয় মনস্থির করেছে সে তার বর্তমান জবটা ছেড়ে দিবে! কিন্তু সে জবটা তখনি ছেড়ে দিবে যদি সে এমন একটা নতুন জবের অফার পায় যার স্যালারি তার বর্তমান স্যালারির চেয়ে ১০০০০ বেশি অথবা সপ্তাহে দুইদিন ছুটি! অর্থাৎ যেকোনো একটা হলেই সে জব সুইচ করবে! এটা OR অপারেটরের বাস্তব প্রয়োগ!

    শেষমেশ, প্রত্যয় একটু বাঁকা লোক! কেউ তাকে কিছু করতে বলুক তা একেবারেই পছন্দ করেনা! বরং উল্টোটা করে! ডানে যেতে বললে বামে যায়, বামে যেতে বললে ডানে! এটা NOT অপারেটরের কাজ!

    এছাড়া সাধারণ গাণিতিক কাজগুলোও বুলিয়ান এ্যালজেব্রা মেনে চলে! (যোগ, বিয়োগ, গুন, ভাগ)

    এই হলো কম্পিউটারের নিজস্ব ভাষা এবং ব্যাকরণ!

    বাইনারি বা দ্বিমিক যদি কম্পিউটারের ভাষা হয় তাহলে C, Java, Python এসব কি?
    এসবও ল্যাঙ্গুয়েজ বা প্রোগ্রামিং ল্যাঙ্গুয়েজ! কিন্তু এগুলো সরাসরি কম্পিউটারের ভাষা নয়! এগুলো সহজে কম্পিউটারের সাথে কথা বলার মানুষের বোধগম্য কিছু ভাষা! কিন্তু এগুলো মানুষ বা কম্পিউটার কারোরই স্বাভাবিক ভাষা নয়!

    তাহলে? এগুলোর দরকার কি?
    কম্পিউটারের সাথে কথা বলা সহজ করা!
    একবার ভাবুন তো 01110111000110 এটা দিয়ে কি বুঝায়? কম্পিউটারের বুঝতে সুবিধা হলেও মানুষের জন্য খুবই দুর্বোধ্য!
    আবার "তুমি গুগল ক্রোম ওপেন করো" - এটা কম্পিউটার বুঝবেনা!
    কিন্তু,

    if(installed.chrome) {

    launch(chrome);

    };

    - এটা মানুষ এবং কম্পিউটার উভয়েরই বোঝা সহজ! (অন্তত মানুষের)! এবং C, Java, Python এরকমই স্পেশাল কিছু ভাষা!

    কিন্তু আগেই বলেছি যে আসোলে কম্পিউটার সরাসরি এটাও বুঝবেনা! (স্টুপিড মেশিন! ০ আর ১ ছাড়া কিছুই বুঝেনা!)

    তাহলে কি করে বোঝে?
    রাশিয়ান না জানা কোনো বাঙালী এবং বাংলা না জানা কোনো রাশিয়ানের মাঝে কথোপকথন চালাতে হলে তৃতীয় একজন মানুষ লাগে, যে দোভাষী! বাংলা এবং রাশিয়ান দুইটাই জানে!
    কম্পিউটারের সাথে কথা বলতে গেলেও এরকম দোভাষীর সাহায্য নিতে হয়! এগুলোও একধরণের কম্পিউটার প্রোগ্রাম! এরা সাধারণত দুইধরণেরঃ ১) কম্পাইলার এবং ২) ইন্টারপ্রেটার!

    এদের সম্পর্কে বিস্তারিত আগামী পর্বে!
     
    Contact with me.
     Stay tuned! 😃
     .থ্যাংকস...।
    🙂

    2 comments:

    1. As claimed by Stanford Medical, It's indeed the SINGLE reason women in this country get to live 10 years more and weigh 42 pounds lighter than us.

      (And actually, it is not related to genetics or some secret-exercise and EVERYTHING about "how" they are eating.)

      P.S, What I said is "HOW", not "WHAT"...

      Tap on this link to determine if this short questionnaire can help you find out your real weight loss potential

      ReplyDelete