Wednesday, October 24, 2012

একটুখানি প্রোগ্রামিং (দ্বিতীয় প্রচেষ্টার নীলনকশা)

আগেরবার অনেকখানি লিখে বাদ দিতে হয়েছে। এবার সেই ভুল কাটিয়ে ওঠার জন্য প্রথমেই একটা আউটলাইন লিখে ফেলি। (ইন ফ্যাক্ট আগেরবার আউটলাইন লিখতে বসেই পুরো বর্ণনায় চলে গেছিলাম। কাজটা ঠিক হয়নি)

১) মানুষের মত কম্পিউটারেরও নানান রকম ভাষা হয়।
২) কিন্তু মানুষের ভাষার সাথে কম্পিউটার ভাষার পার্থক্য হলো, একবার কোনো কম্পিউটার ভাষা শিখে ফেললে, নতুন কোনো ভাষা শেখা স্রেফ কয়েক দিনের প্রচেষ্টার ব্যাপার। এ যেন সাতার শেখার মত। একবার কোনো একটা পুকুরে শিখে ফেললেই হয়। অন্য পুকুরে বা নদীতে অন্য রকম কোনো স্টাইলে সাতার কাটতে শেখা বেশ ট্রিভিয়াল। কিন্তু প্রথমবার ভাসতে শেখাটা আসলে সহজ নয়। ক্রমাগত চেষ্টা করে যেতে হয়। হঠাৎ ক্লিক করে যায়। একেক জনের একেক সময়ে।
৩) এই লেখাটাটাতে তাই নানান রকম প্রোগ্রামিং ভাষার বাহারি সব প্রতিক চিহ্ন কিওয়ার্ড এসব নিয়ে শুরতেই মাথা না ঘামিয়ে। সেই মৌলিক ব্যাপারটা নিয়ে আমরা মাথা ঘামাবো। যাকে বলে "প্রোগ্রামিং"।
৪) কার্ডে লিখে দেওয়ার পরে কেউ একজন আমাকে ভাগ করে উত্তর দেয়। এরকম একটা সেটিং, এ ঐ ওরাকলকে দিয়ে গসাগু বের করিয়ে নিতে আমাদের কী করা লাগবে? এ থেকে আমরা গসাগুর অ্যালগরিদম শিখবো।
৫) এর পর কার্ডগুলোকে ভেরিয়েবলের নাম দিয়ে পরিবর্তন করে দেব। আর কিছু সিউডো ইন্স্ট্রাকশন লিখবো।
৬) মূলত সিউডোকোড লিখতে পারতে শেখাটাই এখানে আসল। এর পরেই সহজ উদাহরণে চলে যেতে হবে। সিদ্ধান্ত নেওয়া (রোদের ছাতা নেওয়া, আর টেস্ট টিউব বেবির, কোন ভ্রুনটাকে ইম্প্লান্ট করা হবে সেটা নির্ধারণ করার উদাহরণ দিতে হবে।)  সিরিজের যোগফল বের করা। ইত্যাদির অ্যালগরদিম দেখবো।
৭) কোনো একটা কোড থেকে ফ্লো চার্ট বানাতে শিখবো।
৮) এরপর কোনো একটা প্রোগ্রামিং ল্যাঙ্গুয়েজ শেখার সময় কি কি জিনিশ খেয়াল করতে হবে সেটা দেখবো।
৯) তারপর পাইথন বা সি তে  একটা প্রোগ্রাম লিখে দেখবো।
১০) প্রোগ্রামিং ল্যাঙ্গুয়েজের হাইরাক্কি নিয়ে বল্তে হতে পারে। শুরুতে কোনো প্রোগ্রামিং ভাষা কম্পিউটার কিভাবে বোঝে। সেই প্রশ্ন অ্যাড্রেস করব এখানে এসে। (চাই কি আগের বাতিল করে দেওয়া টেক্সট এর একাংশ এখানে জুড়ে দিতে পারি!)

লিখতে শেখা, আর লেখক হয়ে যাওয়ার মধ্যে যেমন পার্থক্য তেমন প্রোগ্রামিং করতে পারা, আর বড় প্রোগ্রামার হয়ে যাওয়াটাও তেমন। অদিকে বড় লেখক হতে না চাইলেও, লিখতে আপনাকে জানতেই হবে। প্রোগ্রামিং ও তাই। 

No comments:

Post a Comment