Who is programmer?

বৃহস্পতিবার, ১ জুলাই ২০২১, দুপুর ২:২৫ সময়

আজকের এই আলোচনা আপনার —"programmer / programming "—- সম্পর্কে ধারনা সচ্ছ করতে চলেছে।

"Programmer" কে?কেন তাদের আগমন ঘটেছে?প্রোগ্রামাররা কি করে? তা বুঝতে হলে আমাদেরকে অবশ্যই program / programming সম্পর্কে জ্ঞান রাখা অবশ্যই প্রয়োজন।সেজন্য আমরা প্রথমে আলোচনা করব program / programming সম্পর্কে। যাইহোক - Computer concept / Computer science সৃষ্টির পূর্বে Program পরিভাষাটি বলতে মানুষ যা বুঝতো তা হল-"A plan of action to accomplish a specified end"। যা প্রাচীন গ্রিকদের লাতিন ভাষা থেকে এসেছে। আর programming হল - " the act or process of planning"। এখন বোঝাই যাচ্ছে- "a plan of action" বা প্রোগ্রাম তৈরি করার জন্য মূলত প্রোগ্রামিং। এখন বলাই যেতে পারে প্রোগ্রামিং এর কনসেপ্ট এসেছে মূলত- কোন কাজকে সমাধান করার জন্য সহজ উপায়ে প্ল্যান করা ।এই প্ল্যান করার পেছনে যারা মাথা ঘামান তারাই হল প্রোগ্রামার । প্রোগ্রামার হতে হলে আপনাকে অব্যশই চিন্তা করে সমাধান বের করতে হবে। তাহলে বলা যাই- পৃথিবীর প্রতিটি মানুষই জন্মগতভাবে প্রোগ্রামার কারণ তারা প্রতিনিয়তই নিজেদের জীবনের সমস্যাগুলি সমাধান করছে।

এখন যদি- "কম্পিউটার প্রজন্ম / কম্পিউটার সাইন্স" শুরু বা কম্পিউটার সৃষ্টির পর "প্রোগ্রাম / প্রোগ্রামিং" নিয়ে পর্যালোচনা করি তাহলে বুঝতে পারব যে, প্রোগ্রাম কিংবা প্রোগ্রামিং এর মেইন কনসেপ্ট ঠিকই আছে তবে প্রেক্ষাপট পরিবর্তন হয়ে গেছে। আমরা সবাই জানি কম্পিউটার বা কম্পিউটার সাইন্স যা শুধু মাত্র দুইটি প্রতীক(০,১) ব্যবহার করে। আর এই শুধুমাত্র দুটি প্রতীক ব্যবহার করে আমাদের বাস্তব জীবনের বিশাল-বিশাল গাণিতিক এবং লজিক্যাল প্রবলেমগুলো সমাধান করা মোটেই সহজ ব্যাপার নয়। এজন্য এই কঠিন ব্যাপারটিকে সহজ উপায়ে সমাধান করার জন্যই (প্রোগ্রাম/প্রোগ্রামিং) এর কনসেপ্ট কম্পিউটার সাইন্সে ইমপ্লিমেন্ট হয়। যার ফলশ্রুতিতে আজ আমরাদের মাঝে অনেকেই programming language-এর হাই লেভেল syntax-গুলিকেই মনে করছি programming  । C , C++, Java , js , python কিংবা Golang এইগুলো হল কম্পিউটারকে ইন্সট্রাকশন দেওয়ার মাধ্যম বা ভাষা।

যাই হোক আমরা কি computer এর উত্তরসূরী abacus কে চিনি?

abacus হল —( গণনা করার কাউন্টিং ফ্রেম)। যার মাধ্যমে বাইনারি পদ্ধতিতে গানিতিকভাবে numbers, letters and signs দেখানো এবং সংরক্ষন সম্যাসার সমাধান করা হত। আর আজকের এই আধুনিক computer এই abacus মডেলেই তৈরী করা।

Techdiary: Google search about abacus.
Google search about abacus.

বাইনারি পদ্ধতিতে কিভাবে letters , numbers , symbols, any kinds of information কিভাবে কম্পিউটার store কিংবা manipulation করে তা নিয়ে না হয় অন্য একদিন বলা যাবে।  কারন কম্পিউটারের চোখে " a,b,c,d -- anything " সবকিছুই ০ এবং ১।

যাইহোক অনেক বিশ্লেষণের পর আমরা জানতে পারলাম-- প্রোগ্রামিং হলো কম্পিউটার সাইন্স এর জটিল গণনা করার প্রক্রিয়াকে সহজ উপায়ে সমাধান করার মাধ্যম বা প্রক্রিয়া। অর্থাৎ গাণিতিক সমস্যা সমাধান করার জন্য আমি কোন উপায়ে সমাধান করব সেটা তৈরি করা কিংবা বের করা। 

আর কম্পিউটার সায়েন্সের প্রোগ্রামিং এর ইমপ্লিমেন্টেশন ছিল বিশ্বকে চেঞ্জ করে দেয়ার যুগান্তকারী পদক্ষেপ। অতএব বলা যাই-- কম্পিউটার প্রোগ্রামিং ল্যাঙ্গুয়েজ হলো অন্যের তৈরি করা রেডিমেইট গাণিতিক সমস্যা সমাধান করার উপায়। অনেক কিছু বিশ্লেষণ করতে গিয়ে আমরা আমাদের প্রধান বিষয় "প্রোগ্রামার"-এর definition পেয়ে গেছি।কথায় আছে "Necessity is the mother of invention ",মানব সভ্যতায় মানুষের উন্নতির জন্য বিভিন্ন সমস্যা সমাধান করার প্রয়োজনে Programmer দের আগমন ঘটেছে। কারণ, আমরা জানি যে, প্রোগ্রামিং হলো  সমস্যা সমাধান করার উপায়। আর এই উপায় গুলো তৈরি করা কিংবা বের করা এবং উপায়গুলো অবলম্বন করে সমস্যা সমাধানের জন্য যারা কাজ করে থাকেন, তাদেরকে বলা হয় প্রোগ্রামার।।।

মূল কথাঃ programming একটি অতি পুরাতন কন্সেপ্ট, computer science এর উপত্তির পর computer science এ ইমপ্লিমেন্ট হয়েছে। 

Programmers are the Problem Solvers.