মানুষ সভ্যাতার শুরু থেকেই মনের ভাব প্রকাশ করে আসছে। যখন মানুষ আজকের মত করে মনের ভাব ভাষা দিয়ে প্রকাশ করতে পারতনা তখন মানুষের জীবন থেমে থাকেনি। মানুষ তখন মনের ভাব প্রকাশ করত কোন চিহ্ন বা শারিরিক অঙ্গ ভঙ্গি দিয়ে। তবে যেই দিন গেছে মানুষ তত উন্নতি করেছে। উন্নতি করেছে তাদের ভাষায় উন্নতি করেছে তাদের জীবন ব্যাবস্থায়। আর মানুষের উন্নতি করার বিশেষ গুন আছেই বলে হয়ত আজ আমরা আমাদের সভ্যাতা কে এত উন্নত করতে পেরেছি।
আজ আমরা বই খুললে অনেক কিছুই জানতে পারি। আজ ইন্টারনেট এর যুগে আমাদের জ্ঞানের পরিধি অনেক। তবে আমারা আমাদের ইতিহাস বদলাতে পারিনি। আমাদের পূর্ব পুরুষদের মত আমরাও আমাদের প্রতিটি কাজ কে উন্নত করতে শিখেছি। দুই শতাব্দি আগেও আমরা অন্ধকারে বাস করতাম। আমাদের সামনে আলো নিয়ে আসল টমাস-আলভা-এডিসন। তিনি আবিষ্কার করলেন আমাদের সবচেয়ে নিত্য প্রয়োজনীয় জিনিসটি। বিদ্যুৎ আবিষ্কারের পর যেন আমাদের বিজ্ঞান হয়েগেল লাগামহীন ঘোড়া। আবিষ্কার হতে থাকল যুগান্তকারী সব আবিষ্কার। এরপর গুগলিয়েলমো মার্কনি আবিষ্কার করলেন রেডিও। এরপর আসল টেলিভিশন, মোবাইল ফোন, স্যাটেলাইট টিভি ইত্যাদি। তবে এসকল আবিষ্কার কিন্তু রেডিওর অনেক প্রযুক্তি নিয়ে তৈরি করা হয়েছে। তবে মানুষের সবচেয়ে বড় ও সবচেয়ে সফল আবিষ্কার হল কম্পিউটার। তবে এর আবিষ্কারের ধারনা টেলিভিশন এমনকি রেডিওর থেকেও অনেক পুরোনো। চার্লস ব্যাবেস এমন একটি যন্ত্রের নির্মাণ ও ব্যবহারের ধারণা করেন যা কেবলমাত্র যান্ত্রিকভাবে, মানে যেকোনও রকম বুদ্ধিমত্তা ব্যতিরেকে, গাণিতিক হিসাব করতে পারে। যদিও তার জীবদ্দশায় তিনি এর প্রয়োগ দেখে যেতে পারেননি।
কম্পিউটার বিজ্ঞানের সত্যিকার সূচনা হয় অ্যালান টুরিং এর প্রথমে তাত্ত্বক ও পরে ব্যবহারিক গবেষণার মাধ্যমে। বর্তমান প্রযুক্তিতে কম্পিউটারের আবদানের অন্তরালে রয়েছে শতাব্দীর পর শতাব্দী ধরে মানুষ নিরলস পরিশ্রম, উদ্ভাবনী শক্তি ও গবেষনা স্বাক্ষর। প্রাগৈতিহাসিক যুগে গননার যন্ত্র উদ্ভাবিত বিভিন্ন কৌশল/ প্রচেষ্টাকে কম্পিউটার ইতিহাস বলাযায়। প্রাচীন কালে মানুষ সংখ্যা বুঝানোর জন্য ঝিনুক, নুড়ি, দড়ির গিট ইত্যাদি ব্যবহার করত। পরবর্তিতে গননার কাজে বিভিন্ন কৌশল ও যন্ত্র ব্যবহার করে থাকলেও অ্যাবাকাস (Abacus) নামক একটি প্রাচীন গননা যন্ত্রকেই কম্পিউটারের ইতিহাসে প্রথম যন্ত্র হিসেবে ধরা হয়। অর্থাৎ অ্যাবাকাস থেকেই কম্পিউটারের ইতিহাসের শুভযাত্রা। অ্যাবাকাস ফ্রেমে সাজানো গুটির স্থান পরিবর্তন করে গননা করার যন্ত্র। খ্রিষ্ট পূর্ব ৪৫০/৫০০ অব্দে মিশরে/ চীনে গননা যন্ত্র জিসেবে অ্যাবাকাস তৈরি হয়। ১৬১৬ সালে স্কটল্যান্ডের গণিতবিদ জন নেপিয়ার (John Napier) গণনা কাজে ছাপা বা দাগ কাটাকাটি/ দন্ড ব্যবহার করেন । এসব দন্ড নেপিয়ার (John Napier) এর অস্থি নামে পরিচিত।
১৬৪২ সালে ১৯ বছর বয়স্ক ফরাসি বিজ্ঞানী ব্লেইজ প্যাসকেল (Blaise Pascal) সর্বপ্রথম যান্ত্রিক ক্যালকুলেটর আবিষ্কার করেন। তিনি দাঁতযুক্ত চাকা বা গিয়ারের সাহায্যে যোগ বিয়োগ করার পদ্ধতি চালু করেন। ১৬৭১ সালের জার্মান গণিতবিদ হটফ্রাইড ভন লিবনিজ (Gottfried Von Leibniz) প্যাসকেলের যন্ত্রের ভিত্তিতে চাকা ও দন্ড ব্যবহার করে গুণ ও ভাগের ক্ষমতাসম্পন্ন আরো উন্নত যান্ত্রিক ক্যালকুলেটর তৈরি করেন।। তিনি যন্ত্রটির নাম দেন রিকোনিং যন্ত্র (Rechoning Machine)। যন্ত্রটি তত্ত্বগত দিক দিয়ে ভাল হলেও যান্ত্রিক আসুবিধার জন্য জনপ্রিয় হয়ে উঠেনি। পরে ১৮২০ সালে টমাস ডি কোমার (Tomas De Colmar) রিকোনিং যন্ত্রের অসুবিধা দূর করে লাইবানজের যন্ত্রকে জনপ্রিয় করে তোলেন। এর পর ইংল্যান্ডের কেমব্রিজ বিশ্ববিদ্যালয়ের গণিতের আধ্যাপক চার্লস ব্যাবেজ (Charles Babbage) ১৮২৩ সালে ডিফারেন্স ইঞ্জিন (Difference Engine) বা বিয়োগফল ভিত্তিক গননার যন্ত্র উদ্ভাবন করেন।
একটু সহজ করে বলা যায় -
কম্পিউটার (computer) শব্দটি গ্রিক কম্পিউট(compute)শব্দ থেকে এসেছে। compute শব্দের অর্থ হিসাব বা গণনা করা।আর computer শব্দের অর্থ গণনাকারী যন্ত্র।কিন্তু এখন আর কম্পিউটারকে শুধু গণনাকারী যন্ত্র বলা যায় না। কম্পিউটার এমন এক যন্ত্র যা তথ্যগ্রহণ করে এবং বিভিন্ন প্রক্রিয়ার মাধ্যমে তা বিশ্লেষণ ও উপস্হাপন করে। দেশে প্রথম কম্পিউটার আসে ১৯৬৪ সালে।
আজ আমরা আমাদের কম্পিউটারকে কত সহজ ভাবে চালনা করছি। একটা সুইচ টিপে কম্পিউটার অন করি, আর দুইটা ক্লিক করে অফ করি। আবার কয়েক ক্লিকে আমার পছন্দ মতন গান শুনতে পারি, মুভি দেখতে পারি, এমন কি আজ কাল কম্পিউটারের সৌজন্যে আমারা আমাদের পরিচিত খেলের মাঠ টিকেও ভুলে যেতে বসেছি। কেনই বা ভুলবনা বলুন??? আজ ঘরে বসে আমি মেসির সাথে খেলতে পাড়ি আবার গোলও করতে পাড়ি, ঘরে বসেই শচিন টেন্ডুল্কার কে আউট করতে পাড়ি, আবার ভিন গ্রহথেকে আসা এলিয়েন দের তাদের পাওনা বুঝিয়ে দিয়ে পৃথিবী থেকে বিদায় করে দিতে পাড়ি। সারা বিশ্ব যখন টেলরিষ্ট দের খোজার জন্য লক্ষ লক্ষ ডলার খরচ করছে আমি সেখানে কয়েকটা ক্লিক করেই টেলরিষ্ট দের শেষ করে দিতে পাড়ি। তবে আমাদের একটা কথা ভেবে দেখা উচিত যে , একসময় কম্পিউটার বলে কিছু ছিল না, সেখান থেকে আজকের কম্পিউটারে আসতে কতই না মানুষের পরিশ্রম হয়েছে, কত না রাত না ঘুমিয়ে কাটিয়েছে তারা।
আপনি কম্পিউটার কে কাজ করতে বলেন আর কম্পিউটার কাজ করে। আপনি গান চালাতে বললে কম্পিউটার গান প্লে করে। আপনি মুভি দেখতে চাইলে কম্পিউটার মুভি প্লে করে। কত সহজ তাইনা?? না আসলে এত সহজ না। কম্পিউটার একটা যন্ত্র। তাই এর কোন অনুভুতি নেই। তাই আপনি যদি একে মুখে বলেন যে ২+২ = কত?? তাহলে কম্পিউটার কোন কাজ করবে না। যদি ইংরেজীতে বলেন তাহলেও কোন কাজে দিবেনা। আবার কম্পিউটারের কোথাও যদি লিখে রাখেন ২+২= কত?? তাহলেউ সারা জীবন উত্তর পাবেন না।কিন্তু কেন??? কেন উত্তর পাওয়া যাবে না?? আসলে কম্পিউটার কে আগে বোঝাতে হবে আপনি তাকে কি করতে বলছেন। যদি কম্পিউটার সেটা বোঝে তবেই কম্পিউটার আপনাকে কাজ করে দেবে। এবার প্রশ্ন হতে পারে কিভাবে কম্পিউটার কে এসব কথা বোঝাতে হয়?? উত্তর হল কম্পিউটারের ভাষা দিয়ে কম্পিউটার কে বোঝাতে হবে। আর কম্পিউটারের ভাষাকেই বলা হয় প্রোগ্রামিং। এবার সহজ ভাবে বলি, আপনার সাথে কোন চাইনিজ যদি তাদের ভাষায় কথা বলে তাহলে আপনি কি কিছু বুঝবেন?? আর যদি সে আপনার ভাষায় বা আপনার পরিচিত কোন ভাষায় আপনার সাথে কথা বলে তাহলে আমার মনে হয় আপনারা সবাই কথাগুলো বুঝবেন। কম্পিউটারের ক্ষেত্রে ঠিক একই কাজ হয়। তবে কম্পিউটার Binary ছাড়া কোন ভাষা বোঝে না। Binary হল এক ধরনের বিশেষ সংখ্যা যেটা কম্পিউটারের নিজের ভাষা। তবে Binary তে মাত্র ২ টি অঙ্ক থাকে। এগুলো হল ১ এবং ০, অর্থাৎ কম্পিউটার শুধু ১ আর ০ ছাড়া কিছুই বোঝে না। খুব মজার ব্যাপার হলেউ কথাটিতে অনেক প্রশ্ন হতে পারে। যেমন কিভাবে ১ আর ০ দিয়ে কম্পিউটার কে ২+২= কত?, এই প্রশ্ন করা যায়?? আসলে আমাদের এই Binary নিয়ে বেশি মাতামাতি না করলেউ চলে কারন কয়েক জন কম্পিউটার প্রোগ্রামার এই প্রোগ্রামিং কে সহজ করার জন্য নতুন নতুন ভাষা তৈরি করেছেন। যাতে মানুষ সহজে প্রোগ্রামিং শিখতে পারে। সহজে কোড মনে রাখতে পারে। আর নতুন নতুন এই ভাষা গুলো অনেকটা মনে রাখার মত ফ্রেন্ডলী ভাষা। এখান থেকে একটা প্রশ্ন হতে পারে, যদি কম্পিউটার ০ আর ১ ছাড়া কোন ভাষা নাই জানে তবে এই নতুন ভাষাগুলোকে কম্পিউটার বোঝে কি করে??? উত্তর হল, এই ভাষাগুলেকে রান করানো হয় বিশেষ ভাবে অথবা বিশেষ কোন সফটওয়্যার এর মাধ্যামে। যার দ্বরুন আমাদের লিখা কোড কে কম্পিউটার ১ ও ০ তে রুপান্তর করে। এটা অনেক টা হাইস্কুলের ছাত্রের কাছে ইংরেজীতে কথা বলার মত। আপনি ইংরেজীতে তাকে যেটাই বলবেন সে সেটাকে প্রথমে তার মাতৃভাষায় রুপান্তর করবে তারপর সে এটা বুঝবে।
আসলে প্রশ্ন হওয়া উচিত ছিল প্রোগ্রামিং এর মাধ্যামে কি করা সম্ভব নয়?? মনে করুন একজন টিচার আপনাকে বলল কাল ১-১০০০০ পর্যন্ত যতগুলো মৌলিক সংখ্যা আছে সব গুলোর একটা লিস্ট তৈরি করতে। তাহলে আপনি কতই না বিপদে পরে যাবেন তাই না?? হ্যা যদি প্রোগ্রামিং না জানেন তাহলে বিপদে পরারই কথা। আর যদি প্রোগ্রামিং জানেন তাহলে আপনার এটা বের করতে সময় লাগবে ১০ মিনিট। বাহ খুব ভাল লাগল জেনে?? তাহলে আপনি এখনো তলাতে পরে আছেন। প্রোগ্রামিং শুধু এই হিসাবের মধ্যে সিমাবধ্য নয়। প্রোগ্রামিং জানলে আপনি সফটওয়্যার ডেভলপ করতে পারবেন। অনেক গেম ইডিট করতে পারবেন। এমন কি নতুন নতুন গেম, সফটওয়্যার তৈরি করতে পারবেন। প্রোগ্রামিং জানলে হয়ত আপনি বিলগেটস হয়ে যেতে পারেন, আবার যুকারবার্গ ও। প্রোগ্রামিং দিয়ে আবার শত্রুর উপর হামলা করতে পারেন হ্যাকিং এর মাধ্যামে। এক কথায় কম্পিউটার কে নতুন মাত্রা এনে দিতে আপনাকে প্রোগ্রামিং জানতেই হবে।
একটা কথা চিন্তা করুন যে আজ যদি পৃথিবীতে কোন প্রোগ্রামার না থাকত?? তাহলে কি আমরা এখানে বসে আমাদের সখের কম্পিউটার চালাতে পারতাম?? আজ আমি মনে করছি প্রোগ্রামিং শেখা দরকার নেই, এভাবে যদি সবাই মনে করে প্রোগ্রামিং শেখা দরকার নেই তাহলে আর ৫০ বছর পর আমরা আবার আদিম যুগে ফিরে যাব। আর আমাদের দেশ পৃথিবীর অন্যান্য দেশের তুলনায় প্রযুক্তিতে অনেক পিছিয়ে আছে। আমি মনে করি এর একটা মুল কারন হল প্রোগ্রাম না জানা। আজ আমরা যেখানে কম্পিউটার বলতে গেম আর মুভি বুঝি সেখানে অনেক দেশের ১০-১২ বছরের বাচ্চারা গেম তৈরি করছে। কেন?? আমরা কি অন্যদের চেয়ে কম মেধাবী??? অন্যদেশের বাচ্চারা যদি গেম বানাতে পারে তবে আমরা ২ লাইন প্রোগ্রাম লিখা শিখতে পারবনা কেন? মানুষের জেদ আর আত্মবিশ্বাস থাকলে কোন কিছুই তাকে দমিয়ে রাখতে পারেনা।
প্রোগ্রামিং পূর্নরূপে শিখতে হলে প্রথমে যা লাগবে তা হল মনের জোর। যদি আপনি এখনো হায়ারসেকেন্ডারি পাস না করেন অথবা হায়ারসেকেন্ডারি পাস করেছেন কিন্তু এখনো কোথাও ভর্তি হননি এরকম হন তবে আপনার সবচেয়ে ভাল হবে কম্পিউটার সাইন্সে পড়াশোনা করার চেষ্টা করা। যদি আপনি এসব না চান তাহলে বাইরে থেকে কোর্স করে নিতে পারেন। এছারা অনেক ওয়েব টিউটোরিয়াল পাবেন টেকটিউনস সহ অনেক ওয়েব সাইটে যেগুলো পরে সহজ পদ্ধতিতে প্রোগ্রামিং শিখে নিতে পারেন। এছাড়া পরিচিত কেউ প্রোগ্রামার থাকলে তার কাছে থেকেউ প্রোগ্রামিং এর ব্যাসিকটা শিখে নিতে পারেন।
একজন প্রোগ্রামার হিসেবে ক্যারিয়ার গড়তে চাইলে প্রথমে আমি আপনাকে অভিনন্দন জানাব। কারন আপনি হয়ত সারা পৃথিবীর কাছে আমাদের দেশের নাম উজ্জ্বল করতে চলেছেন। বিভিন্ন আউটসোর্সিং সাইটে এখন প্রচুর পরিমান সফটওয়্যার ডেভলপমেন্টের কাজ পাওয়াযায়। এগুলো কাজ করে আপনি আপনার ক্যারিয়ার টা কে ফ্রীলাঞ্চার হিসেবে সাজাতে পারেন। এছারা বাংলাদেশে অনেক সফটওয়্যার ডেভলপমেন্ট কম্পানি তৈরি হয়েছে এখানে চাকুরি করে ও মোটা অঙ্কের বেতন পেতে পারেন। এছারা বড় কোন ইচ্ছা থাকলে যুকারবার্গ, বিলগেটসদের অনুসরন করতে পারেন। আর যদি ভাল প্রোগ্রামার হতে পারেন তবে আপনার বিদেশে চাকুরির সুযোগ হয়ে যেতে পারে। সোজা কথায় প্রোগ্রামারদের ক্যারিয়ার সর্ব ক্ষেত্রেই উজ্জ্বল হয়। নিজেকে ঠিক ভাবে গড়ে তুলতে পারলে কোথাও আপনাকে কাজের জন্য ঘুরতে হবেনা। কাজই আপনাকে ধরা দেবে।
অনলাইনে প্রোগ্রামিং শিখতে চাইলে আপনার সবচেয়ে ভাল বন্ধু হবে টেকটিউনস। এছারা কিছু ওয়েব সাইট দেখতে পারেন।
http://www.shikkhok.com/
http://hukush-pakush.appspot.com/
http://www.tunerpage.com/
প্রোগ্রামিং বিষয়টা খুব সহজ নয়। তবে চেষ্টা করলে কি না সম্ভব। যদি অধ্যাবসায় থাকে তাহলে আপনিও হয়ে উঠবেন একজন প্রোফেশনাল প্রোগ্রামার আর উজ্জ্বল হবে আমাদের দেশের নাম। তাই আসুন প্রোগ্রামিং শিখি আর অন্যকে এটা শিখতে উৎসাহিত করি। আর নিজেকে গড়ে তুলি একজন প্রোগ্রামার হিসাবে।
আমি ড়িত কথা। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 12 বছর 11 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 28 টি টিউন ও 274 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 1 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।
ভালো লিখেছেন। ধন্যবাদ । কিন্তু টিউনার পেইজ এ পোগ্রামিং বিষয়ে কি আছে সেটা বুঝতে পারলাম না। কারন ভালো ভালো প্রোগ্রামিং শেখার ওয়েবসাইট থেকেও ভালো ভাবে প্রোগ্রামিং শেখা সম্ভব হয় না, আর টিউনার পেইজ…!!!