কম্পিউটার প্রোগ্রামিং এর আদ্যোপান্ত

মেশিন ল্যাঙ্গুয়েজ বা প্রথম প্রজন্মের ভাষা :

কম্পিউটারের সরাসরি বোধগম্য ভাষাকে মেশিন ভাষা বলে । মেশিন ভাষা কম্পিউটারের নিজস্ব ভাষা যা কোনো রূপান্তর ছাড়া নির্বাহ করা যায় । কম্পিউটারের বর্তনিগুলো তৈরি হয় বাইনারি সংখ্যা পদ্ধতির ‍উপযোগী করে । তাই, মেশিন ভাষার প্রতিটি নির্দেশ, স্মৃতির অবস্থান, ডেটা লিখিত হয় বাইনারিতে । মেশিন ভাষার প্রতিটি নির্দেশের দুটি অংশ থাকে । এগুলো হচ্ছে- (ক) অপারেশন কোড বা অপকোড এবং (খ) অপারেল্ড । বর্তমানে সাধারণ প্রোগ্রামিং এ মেশিন ভাষা ব্যবহার করা হয় না । যে ভাষার প্রোগ্রাম লেখা হোক না কেন সে ভাষাকে কম্পিউটারের উপযোগী মেশিন ভাষার রূপান্তরের মাধ্যমে উপযোগী করা হয় । এ ধরনের ভাষাকে প্রথম প্রজন্মের ভাষা বলে । মেশিন ভাষাকে নিম্নস্তরের ভাষাও বলা হয় ।computer programming

মেশিন ভাষার সুবিধা :

ক. মেশিন ভাষার সবচেয়ে বড় সুবিধা হচ্ছে সরাসরি কম্পিউটারের সাথে যোগাযোগ করা যায় ।

খ. মেশিন ভাষায় লেখা প্রোগ্রাম নির্বাহের জন্য কোনো প্রকার অনুবাদক প্রোগ্রামের প্রয়োজন হয় না । ফলে দ্রুত কাজ করে ।

গ. মেশিন ভাষায় লিখিত প্রোগ্রামে অতি অল্প মেমোরি প্রয়োজন হয় ।

ঘ. কম্পিউটারের ভেতরের গঠন ভালোভাবে বুঝতে হলে এই ভাষা জানতে হয় ।

মেশিন ভাষার অসুবিধা :

ক. মেশিন ভাষায় লিখিত কোনো প্রোগ্রাম সাধারণত বোঝা যায় না ।

খ. শুধু ০ ও ১ ব্যবহার করা হয় বলে প্রোগ্রাম লেখা কষ্টসাধ্য ।

গ. এ ভাষায় প্রোগ্রাম লিখতে প্রচুর সময় লাগে এবং ভুল হবার সম্ভাবনা খুব বেশি থাকে । ভুল হবার সম্ভাবনা খুব বেশি থাকে । ভুল হলে তা বের করা এবং ভুল-ত্রুটি দূর করা খুব কঠিন ।

ঘ. এ ভাষার সবচেয়ে বড় অসুবিধা হচ্ছে এক ধরনের কম্পিউটার জন্য লিখিত প্রোগ্রাম অন্য ধরনের কম্পিউটারে ব্যবহার করা যায় না ।

অ্যাসেম্বলি ল্যাঙ্গুয়েজ বা দ্বিতীয় প্রজন্মের ভাষা :

অ্যাসেম্বলি ভাষাকে সাংকেতিক ভাষাও বলা হয় । দ্বিতীয় প্রজন্মের কম্পিউটারে এই ভাষা ব্যাপকভাবে প্রচলিত ছিল । অ্যাসেম্বলি ভাষার ক্ষেত্রে নির্দেশ ও ডেটার অ্যাড্রেস বাইনারি বা হেক্সা সংখ্যার সাহায্যে না দিয়ে সংকেতের সাহায্যে দেওয়া হয় । এই সংকেতকে বলে সাংকেতিক কোড (Symbolic Code) বা নেমোনিক (Nemonic) । এটি অনেকটা সহজবোধ্য । যেমন: ‘যোগ’ বা (Addition করাকে লেখা হয়  ADD; ‘বিয়োগ’ বা Subtraction করাকে লেখা হয় SUB; ‘গুণ’ বা Multiply কে লেখা হয় MUL; ‘ভাগ’ বা Division কে লেখা হয় DIV ইত্যাদি । অ্যাসেম্বলি ভাষায় প্রতিটি নির্দেশের চারটি অংশ থাকে । ১. লেভেল, ২. অপ-কোড, ৩. অপারেন্ড ও ৪. কমেন্ট ।

অ্যাসেম্বলি ভাষার সুবিধা :

ক. অ্যাসেম্বলি ভাষায় প্রোগ্রাম রচনা করা যান্ত্রিক ভাষার তুলনায় অনেক সহজ ।

খ. প্রোগ্রাম রচনা করতে কম সময় লাগে ।

গ. প্রোগ্রাম পরিবর্তন করা সহজ ।

অ্যাসেম্বলি ভাষার অসুবিধা :

ক. প্রোগ্রাম রচনার সময় প্রোগ্রামারকে মেশিন সম্পর্কে ধারণা থাকতে হয় ।

খ. এ ভাষার সবচেয়ে বড় অসুবিধা হচ্ছে এক ধরনের কম্পিউটারের জন্য লিখিত প্রোগ্রাম অন্য ধরনের কম্পিউটারের ব্যবহার করা যায় না । অ্যাসেম্বলি ভাষাকে নিম্নস্তরের ভাষাও বলা হয় ।

গ. ভুল ক্রুটি বের করা কষ্টসাধ্য ব্যাপার ।

ঘ. অনুবাদক প্রোগ্রামের প্রয়োজন হয় ।

উচ্চস্তরের ভাষা বা তৃতীয় প্র্রজন্মের ভাষা :

উচ্চতর ভাষার সাথে মানুষের ভাষার মিল আছে । এই প্রোগ্রাম ভাষা কম্পিউটার সংগঠনের নিয়ন্ত্রণের ঊর্ধ্বে, এই জন্য এসব ভাষাকে উচ্চতর ভাষা বলা হয় । এটি মানুষের জন্য বুঝাতে পারা খুব সহজ কিন্তু কম্পিউটার সরাসরি বুঝতে পারে না বলে অনুবাদক প্রোগ্রামের সাহায্যে একে মেশিন ভাষায় রূপান্তরিত করে নিতে হয় ।

উচ্চস্তরের ভাষার প্রকারভেদ :

সাধারণ কাজের ভাষা (General Purpose Language):

যেসব ভাষা সব ধরনের কাজের উপযোগী করে তৈরি করা হয় তা সাধারণ কাজের ভাষা নামে পরিচিত । যেমন :  BASIC, PASCAL, C ইত্যাদি ।

বিশেষ কাজের ভাষা (Special Purpose Language) :  যেসব ভাষা বিশেষ বিশেষ কাজের উপযোগী করে তৈরি করা হয় তা বিশেষ কাজের ভাষা নামে পরিচিত । যেমন : COBOL, ALGOL, FORTRAN ইত্যাদি ।

উচ্চস্তরের ভাষার সুবিধা :

ক. উচ্চস্তরের ভাষায় প্রোগ্রাম লেখা সহজ ও লিখতে সময় কম লাগে ।

খ. এতে ভুল হবার সম্ভবনা কম থাকে এবং প্রোগ্রামের ত্রুটি বের করে তা সংশোধন করা সহজ ।

গ. এ ভাষায় প্রোগ্রাম লেখার জন্য কম্পিউটারের ভেতরের সংগঠন সম্পর্কে ধারণা থাকার প্রয়োজন নেই ।

ঘ. এক মডেলের কম্পিউটারের জন্য লিখিত প্রোগ্রাম অন্য মডেলের কম্পিউটারে চলে ।

উচ্চস্তরের ভাষার অসুবিধা :

ক. উচ্চস্তরের ভাষার অসুবিধা হচ্ছে সরাসরি কম্পিউটারের সাথে যোগাযোগ করা যায় না ।

খ. প্রোগ্রামকে অনুবাদ করে কম্পিউটারকে বুঝিয়ে দিতে হয় ।

গ. বেশি মেমোরি প্রয়োজন হয় ।

উচ্চস্তরের ভাষার ব্যবহার :

ক. বড় প্রোগ্রাম তৈরির কাজে ।

খ. বৃহৎ ডেটা প্রসেসিং এর কাজে ব্যবহৃত প্রোগ্রাম তৈরি করতে ।

গ. যেসব ক্ষেত্রের প্রচুর মেমরির প্রয়োজন সে সব ক্ষেত্রের সফটওয়্যার তৈরির কাজে ।

ঘ. জটিল গাণিতিক নিকাশে সফটওয়্যার তৈরির কাজে ।

ঙ. অ্যাপ্লিকেশন প্যাকেজ সফটওয়্যার তৈরির কাজে ।

চ. বিভিন্ন ধরনের অটোমেটিক প্রসেস কন্টোলের কাজে ।

অতি উচ্চস্তরের ভাষা বা চতুর্থ প্রজন্মের ভাষা :

চতুর্থ প্রজন্মের ভাষাগুলোই অতি উচ্চস্তরের ভাষা হিসেবে পরিচিত । এ ধরনের ভাষা মানুষের ভাষার খুব কাছাকাছি । উচ্চস্তরের বা তৃতীয় প্রজন্মের ভাষার চেয়ে আরও বেশি বোধগম্য । রিপোর্ট, পর্দায় ফলাফলের গঠন, ডেটা রেকর্ড, ইনপুট ডেটা প্রভৃতি নির্দিষ্টকরণে সরল কোয়ারি নির্দেশ ব্যবহারের ক্ষমতা চতুর্থ প্রজন্মের ভাষার বৈশিষ্ট্য । SQL, Visual Basic, Oracle ইত্যাদি হচ্ছে চতুর্থ প্রজন্মের ভাষার উদাহরণ ।

এ চতুর্থ প্রজন্মের ভাষার কিছু বৈশিষ্ট্য হলো :

ক. প্রোগ্রাম উন্নয়ন সহজ করার জন্য অনেক সুবিধা থাকে ।

খ. একটি সমস্যা কীভাবে সমাধান হবে তা প্রোগ্রামারের জানা প্রয়োজন নেই ।

গ. যে কোনো ধরনের মেশিনে চলতে সক্ষম ।

ঘ. রক্ষণাবেক্ষণ সহজতর, ভুলের পরিমাণ কম ।

ঙ. সহজে প্রোগ্রাম পরিবর্তন করে উন্নয়ন করা যায় ।

ন্যাচারাল ল্যাঙ্গুয়েজ বা পঞ্চম প্রজন্মের ভাষা :

চতুর্থ প্রজন্মের ভাষার উন্নয়নের মাধ্যমে মানুষের ভাষার মতোই প্রোগ্রাম ভাষাকে ন্যাচারাল ল্যাঙ্গুয়েজ বা পঞ্চম ভাষা বলে । এ প্রজন্মের প্রোগ্রামের ভাষা হিসেবে মানুষের স্বাভাবিক ভাষা বা ন্যাচারাল ল্যাঙ্গুয়েজ ব্যবহারের চেষ্টা চলছে । ন্যাচারাল ল্যাঙ্গুয়েজ দুই প্রকার । যথা:  একটি হলো মানুষের ভাষা । যেমন: ইংরেজি, বাংলা, আরবি ইত্যাদি । অন্যটি হলো প্রোগ্রামিং ল্যাঙ্গুয়েজ, যা মানুষের ভাষা ব্যবহার করে কম্পিউটারের সাথে স্বাভাবিক সর্ম্পক তৈরি করে । এই ধরনের ভাষাকে মেশিনের ভাষায় অনুবাদের জন্য ব্যবহৃত অনুবাদককে বুদ্ধিমান কম্পাইলার বলে । এটি মূলত কৃত্রিম বুদ্ধিমত্তা প্রয়োগের একটি ক্ষেত্র ।

 

 

Leave a comment

Your email address will not be published. Required fields are marked *