Skip to content

Information and Communication Technology chapter 5: Programming Language

প্রোগ্রামিং ভাষা

  • Information and Communication Technology
  • Textbook pages 148-194
  • 1 source
  • 72,139 characters of context

Textbook (verbatim transcription): Programming Language

Verbatim transcription of the printed NCTB textbook pages.

Contents38
  1. Programming Language
  2. ৫.১ প্রোগ্রামের ভাষা (Language of Programming)
  3. ৫.১.১ মেশিন ভাষা (Machine Language)
  4. ৫.১.২ অ্যাসেম্বলি ভাষা (Assembly Language)
  5. ৫.১.৩ মধ্যম স্তরের ভাষা (Mid-Level Language)
  6. ৫.১.৪ উচ্চ স্তরের ভাষা (High Level Language)
  7. ৫.১.৫ চতুর্থ প্রজন্মের ভাষা (4th Generation Language— 4GL)
  8. ৫.২ অনুবাদক প্রোগ্রাম (Translator Program)
  9. ৫.৩ প্রোগ্রামের সংগঠন (Program Structure)
  10. ৫.৪ প্রোগ্রাম তৈরির ধাপসমূহ (Steps of Developing a Program)
  11. ৫.৪.১ অ্যালগরিদম
  12. ৫.৪.২ ফ্লোচার্ট
  13. ৫.৫ প্রোগ্রাম ডিজাইন মডেল (Program Design Model)
  14. ৫.৬ 'সি' প্রোগ্রামিং ভাষা (Programming Language C)
  15. সি ভাষার কম্পাইলার
  16. হ্যালো ওয়ার্ল্ড (Hello World)
  17. ডেটা টাইপ (Types of Data)
  18. char
  19. int
  20. float
  21. double
  22. কি-ওয়ার্ড (Keyword)
  23. ইনপুট আউটপুট স্টেটমেন্ট (Input Output Statements)
  24. কনডিশনাল স্টেটমেন্ট (Conditional Statements)
  25. রিলেশনাল অপারেটর (Relational Operator)
  26. if স্টেটমেন্ট
  27. উদাহরণ ৭
  28. লজিক্যাল অপারেটর (Logical Operator)
  29. উদাহরণ ৮
  30. উদাহরণ ৯
  31. লুপ স্টেটমেন্ট (Loop Statements)
  32. while লুপ
  33. for লুপ
  34. Continue স্টেটমেন্ট
  35. অ্যারে (Array)
  36. ফাংশন (Function)
  37. অনুশীলনী
  38. বহুনির্বাচনি প্রশ্ন

Printed page 148

পঞ্চম অধ্যায়

প্রোগ্রামিং ভাষা

Programming Language

Figure: প্রোগ্রামিং প্রতিযোগিতায় অংশগ্রহণকারী শিক্ষার্থীরা

কম্পিউটার নামক যন্ত্রটি কোনো না কোনোভাবে পুরো পৃথিবীর প্রায় প্রতিটি মানুষের জীবনকে প্রভাবিত করেছে। এই অসাধারণ যন্ত্রটি কোন কাজে ব্যবহার করা যাবে সেটি শুধু মানুষের সৃজনশীলতা দিয়ে সীমাবদ্ধ। তবে এককভাবে কম্পিউটার নামের এই যন্ত্রটির সাথে অন্য আরেকটি যন্ত্রের কোনো পার্থক্য নেই। কম্পিউটার আলাদাভাবে একটি বিশেষ কিছু হয়ে ওঠে। কারণ এটিকে নির্দিষ্ট কোনো কাজ করার জন্য প্রোগ্রাম করা সম্ভব। কম্পিউটার যেহেতু একটি ইলেকট্রনিক যন্ত্র ছাড়া আর কিছুই নয় এবং সেটি 1 এবং 0 ছাড়া আর কিছুই বুঝতে পারে না, তাই তাকে প্রোগ্রাম করার জন্য এই 1 এবং 0 দিয়েই মেশিন কোডে কিছু দুর্বোধ্য নির্দেশনা দিতে হয়। বিষয়টিকে সহজ করার জন্য অনেক প্রোগ্রামিং ভাষা উদ্ভাবন করা হয়েছে, এই ভাষাগুলোতে একজন প্রয়োজনীয় কোড লিখতে পারে যেটি পরবর্তীকালে মেশিন কোডে রূপান্তরিত করে কম্পিউটারের কাছে নির্দেশনা হিসেবে পাঠানো হয়। এরকম একটি জনপ্রিয় এবং বহুল ব্যবহৃত কম্পিউটার প্রোগ্রামিংয়ের ভাষা হচ্ছে সি (C)। এই অধ্যায়ে শিক্ষার্থীদের কাছে প্রোগ্রামিংয়ের খুঁটিনাটির সাথে সাথে C ভাষায় প্রোগ্রামিং করার প্রাথমিক বিষয়গুলো তুলে ধরা হয়েছে।

এ অধ্যায় পাঠ শেষে শিক্ষার্থীরা—

  • প্রোগ্রামের ধারণা ব্যাখ্যা করতে পারবে;
  • বিভিন্ন স্তরের প্রোগ্রামিং ভাষা বর্ণনা করতে পারবে।

ব্যাবহারিক

  • প্রোগ্রামের সংগঠন প্রদর্শন করতে পারবে;
  • প্রোগ্রাম অ্যালগরিদম ও ফ্লো চার্ট প্রস্তুত করতে পারবে;
  • 'সি' প্রোগ্রামিং ভাষা ব্যবহার করে প্রোগ্রাম প্রস্তুত করতে পারবে।

Printed page 149

৫.১ প্রোগ্রামের ভাষা (Language of Programming)

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

বিভিন্ন দশকে উদ্ভাবিত কিছু গুরুত্বপূর্ণ প্রোগ্রামিং ভাষা

প্রোগ্রামিং ভাষার নামআবিষ্কারের সাল
ফোরট্রান (Fortran)1954-57
লিসপ (Lisp)1956-59
কোবল (Cobol)1959-60
বেসিক (Basic)1964
প্যাসকেল (Pascal)1970
সি (C)1972
সি++ (C++)1983
পার্ল (Perl)1987
পাইথন (Python)1989
প্রোগ্রামিং ভাষার নামআবিষ্কারের সাল
ভিজুয়াল বেসিক (Visual Basic)1991
পিএইচপি (PHP)1995
জাভা (Java)1995
জাভাস্ক্রিপ্ট (Javascript)1995
স্কালা (Scala)2003
গো (Go)2009
রাস্ট (Rust)2010
কটলিন (Kotlin)2011

৫.১.১ মেশিন ভাষা (Machine Language)

কম্পিউটারের প্রসেসর বাইনারি সংখ্যা পদ্ধতি ব্যবহার করে বিভিন্ন হিসেব করে। বাইনারি সংখ্যা পদ্ধতিতে কেবল দুটি অঙ্ক রয়েছে— 1 ও 0। এই দুটি অঙ্ক ব্যবহার করেই প্রসেসরের জন্য বিশেষ সংকেত তৈরি করা হয়। 0 ও 1 দিয়ে তৈরি যে প্রোগ্রাম, তাকে বলে মেশিন কোড (machine code), আর এই ভাষাটিকে বলা হয় মেশিন ল্যাঙ্গুয়েজ। কম্পিউটারের জন্য মেশিন কোড খুব সহজবোধ্য হলেও মানুষের জন্য মেশিন ল্যাঙ্গুয়েজের কোড পড়া দুঃসাধ্য

Figure: চিত্র ৫.১: পৃথিবীর প্রথম প্রোগ্রামার অ্যাডা লাভলেস (1815-1852)

Printed page 150

ব্যাপার। কারণ কোডে কেবল 0 আর 1 থাকে। তাই মানুষের পক্ষে এই ভাষায় বড় প্রোগ্রাম তৈরি করা অসম্ভব বলা চলে।

কম্পিউটার প্রোগ্রামিংকে সহজ করার জন্য বিভিন্ন প্রসেসর নির্মাতা প্রতিষ্ঠান তাদের প্রসেসরের সঙ্গো তৈরি করেন একটি ইনস্ট্রাকশন সেট। ইনস্ট্রাকশন সেটে কিছু সহজ ইনস্ট্রাকশন দিয়ে দেওয়া হলো যেগুলো ব্যবহার করে প্রসেসরকে নির্দেশ দেওয়া যায় বা প্রোগ্রাম তৈরি করা যায়। কেবল 0 আর 1 ব্যবহার করার চেয়ে ইনস্ট্রাকশন সেট ব্যবহার করে প্রোগ্রাম লেখা অপেক্ষাকৃত সহজ হয়।

৫.১.২ অ্যাসেম্বলি ভাষা (Assembly Language)

প্রোগ্রামারদের জন্য প্রোগ্রাম লেখা সহজতর করার জন্য মেশিন ল্যাঙ্গুয়েজের পর তৈরি হলো অ্যাসেম্বলি ল্যাঙ্গুয়েজ। এটি একটি প্রোগ্রামিং ভাষা। মেশিন ল্যাঙ্গুয়েজের চেয়ে এই ভাষায় প্রোগ্রাম লেখা ও পড়া প্রোগ্রামারদের জন্য সহজ। কম্পিউটারের প্রসেসর কিছু সরাসরি অ্যাসেম্বলি ল্যাঙ্গুয়েজ দিয়ে তৈরি প্রোগ্রাম রান করতে পারে না। অ্যাসেম্বলি ল্যাঙ্গুয়েজে লেখা কোডকে আগে মেশিন কোডে রূপান্তর করতে হয়, তারপর প্রসেসর সেটিকে এক্সিকিউট করতে পারে। অ্যাসেম্বলি ল্যাঙ্গুয়েজে লেখা কোডকে মেশিন কোডে রূপান্তর করার কাজটি করে যে প্রোগ্রাম, তার নাম অ্যাসেম্বলার (assembler)।

৫.১.৩ মধ্যম স্তরের ভাষা (Mid-Level Language)

অ্যাসেম্বলি ল্যাঙ্গুয়েজ এবং উচ্চস্তরের ভাষার মধ্যবর্তী ভাষাকে মধ্যম স্তরের ভাষা বলে। এটি কম্পিউটারের হার্ডওয়্যার এবং প্রোগ্রামিংয়ের মাঝে একটি সেতুবন্ধ তৈরি করে দেয়। সি ল্যাঙ্গুয়েজ মধ্যম স্তরের ভাষার একটি চমৎকার উদাহরণ। কারণ এটি দিয়ে যেমন একদিকে অপারেটিং সিস্টেমের মতো সিস্টেম প্রোগ্রামিং করা যায়, অন্যদিকে তেমনি দৈনন্দিন ব্যবহারের জন্য অ্যাপ্লিকেশন সফটওয়্যার ও তৈরি করা যায়।

৫.১.৪ উচ্চ স্তরের ভাষা (High Level Language)

মেশিন ল্যাঙ্গুয়েজ ও অ্যাসেম্বলি ল্যাঙ্গুয়েজ হচ্ছে লো-লেভেল প্রোগ্রামিং ভাষা। অ্যাসেম্বলি ল্যাঙ্গুয়েজ প্রোগ্রামারদের জন্য আগের চেয়ে সহজে প্রোগ্রাম লেখার ব্যবস্থা করলেও এ ভাষায় বড় বড় প্রোগ্রাম লেখাটা অনেক কঠিন এবং সময়-সাপেক্ষ। প্রোগ্রামিং ব্যবহার করে মানুষ যখন বিভিন্ন ধরনের সমস্যার সমাধান করতে লাগল, তখন প্রয়োজন হলো এমন ধরনের প্রোগ্রামিং ভাষার, যে সব ভাষায় প্রোগ্রাম লেখা ও পড়া মানুষের জন্য অনেক বেশি সহজ হবে। তখন তৈরি হলো উচ্চ স্তরের প্রোগ্রামিং ভাষা। কোবল (Cobol), ফোরট্রান (Fortran), সি (C) ইত্যাদি প্রোগ্রামিং ভাষার আবিষ্কারের ফলে প্রোগ্রামিং ভাষা অনেকখানি বদলে গেল। এসব ভাষা ব্যবহার করে বিভিন্ন সমস্যা আগের চেয়ে অনেক দুত প্রোগ্রাম লিখে সমাধান করা যেত। তাই এসব ভাষাকে উচ্চস্তরের প্রোগ্রামিং ভাষা বলা হতো। তবে সময়ের সঙ্গো আরো নতুন নতুন প্রোগ্রামিং ভাষা তৈরি হলো, যেগুলো প্রোগ্রামিং ভাষাকে আরো সহজবোধ্য করল এবং এসব ভাষা ব্যবহার করে প্রোগ্রাম ডিজাইন করাও সহজ হলো। যেমন— সি প্লাস প্লাস (C++), জাভা (Java), সি শার্প (C#), পিএইচপি (PHP), পাইথন (Python) ইত্যাদি। বর্তমানে এগুলোকে হাই লেভেল প্রোগ্রামিং ভাষা হিসেবে বিবেচনা করা হয়।

Printed page 151

সি (C) : সি একটি সাধারণভাবে ব্যবহারের উপযোগী অত্যন্ত জনপ্রিয় প্রোগ্রামিংয়ের ভাষা। 1972 সালে ডেনিস রিচি (Dennis Ritchie) বেল ল্যাবে এই ভাষাটি তৈরি করেন। বলা হয়ে থাকে এই ভাষাটি জানা থাকলে কম্পিউটারের অন্য যে কোনো ভাষা শেখা খুব সহজ। সি ল্যাঙ্গুয়েজ দিয়ে অপারেটিং সিস্টেম থেকে জটিল ডাটাবেজ ম্যানেজমেন্ট প্রোগ্রাম, ইন্টারনেট ব্রাউজার কিংবা ইন্টারপ্রেটার পর্যন্ত সবকিছু তৈরি করা যায়। এটি একটি চমৎকার স্ট্রাকচার্ড প্রোগ্রামিং ভাষা, এখানে ছোট ছোট অসংখ্য অংশকে সমন্বয় করে একটি জটিল প্রোগ্রাম তৈরি করা যায়।

সি প্লাস প্লাস (C++) : প্রোগ্রামিংয়ের জগতে ক্লাস একটি গুরুত্বপূর্ণ ধারণা। একই ধরনের বৈশিষ্ট্য রয়েছে সেরকম কিছুকে ক্লাস বলে অভিহিত করা হয়। সি প্রোগ্রামিং ল্যাঙ্গুয়েজের সাথে ক্লাস সংযুক্ত করে এবং পরে আরো নতুন কিছু বৈশিষ্ট্য যোগ করে C++ ল্যাঙ্গুয়েজের সূচনা হয়। 1980 সালে বেল ল্যাবে কর্মরত জর্ন স্ট্রাউস্ট্রপ (Bjarne Stroustrup) এই ভাষাটি উদ্ভাবন করেন। একজন প্রোগ্রামারকে পুরোপুরি নিজের মতো প্রোগ্রামিং করার স্বাধীনতা দেওয়া এই ভাষাটির একটি মূল নীতি।

জাভা (Java) : 1991 সালে সান মাইক্রো সিস্টেম জাভা প্রোগ্রামিং ভাষার সূচনা করে। এটি বর্তমানে একটি জনপ্রিয় ভাষা। এর একটি প্রধান বৈশিষ্ট্য হচ্ছে এটি একটি প্ল্যাটফর্মে কম্পাইল করে নিলে জাভা ব্যবহার করে সেরকম অন্য যে কোনো প্ল্যাটফর্মে সরাসরি ব্যবহার করা যায় (WORA: Write Once, Run Anywhere)। গুরুত্বপূর্ণ ওয়েব ব্রাউজারগুলো ওয়েব পেজের ভেতর জাভা অ্যাপলেট চালু করার সক্ষমতা দেওয়ার কারণে এটি খুবই দুত সবার কাছে জনপ্রিয় হয়ে ওঠে।

পাইথন (Python) : গিডো ভান রসাম (Gido van Rossum) 1991 সালে পাইথন উদ্ভাবন করেন। এটি বর্তমানে সবচেয়ে জনপ্রিয় ভাষাগুলোর একটি এবং 2018 সালে এটি IEEE কর্তৃক সর্বশ্রেষ্ঠ প্রোগ্রামিং ভাষা হিসেবে স্বীকৃতি পেয়েছে। পাইথনের বৈশিষ্ট্য হচ্ছে এর অত্যন্ত সহজ এবং পাঠযোগ্য সিনট্যাক্স। এটি বিভিন্ন প্ল্যাটফর্মে চলে এবং ক্লাউডভিত্তিক ওয়েব অ্যাপ্লিকেশন, ডেটা অ্যানালাইসিস ও মেশিন লার্নিং অ্যাপ্লিকেশন তৈরিতে ব্যবহার করা হয়।

৫.১.৫ চতুর্থ প্রজন্মের ভাষা (4th Generation Language— 4GL)

প্রোগ্রামিংকে মানুষের জন্য আরো সহজ করার প্রচেষ্টা অব্যাহত থাকে এবং যার ফলে এমন প্রোগ্রামিং ভাষা তৈরি হয়, যেগুলো মানুষের ভাষার কিছুটা কাছাকাছি। এসব প্রোগ্রামিং ভাষাকে বলা হয় চতুর্থ প্রজন্মের ভাষা বা 4GL। ডেটাবেজ অধ্যায়ে যে SQL ভাষা দেখানো হয়েছে, সেটি হচ্ছে 4GL ভাষা। এ ছাড়াও যখন নানা ধরনের সফটওয়্যার টুলে গ্রাফিকেল ইন্টারফেস ব্যবহার করা হয়, একটি মেন্যু কিংবা বাটনে চাপ দিয়ে কিছু করে ফেলা যায়, তার পিছনেও চতুর্থ প্রজন্মের ভাষার অবদান আছে বলে বিবেচনা করা হয়।

Loading the rest of the chapter…

Textbook content © National Curriculum and Textbook Board (NCTB), Bangladesh. Shown for study.

Trusted resources

Official links checked by the Zntext team. Part of the context pack.