পিএইচপির ৫টি চমকপ্রদ তথ্য

১. পিএইচপির বর্তমান ভার্সন হল ৫.৬ আর এ বছরের শেষের দিকে আসছে পিএইচপি ৭ ভার্সন। এ ভার্সনের প্রধান দুটি ফিচার হল

ইউনিকোড সাপোর্ট: পিএইচপির নতুন ভার্সনে বাংলাতেও ভেরিয়েবল ফাংশন ইত্যাদি লেখা যাবে। অর্থ্যাৎ পিএইচপি এখন ইউনিকোড সাপোর্টেড হতে যাচ্ছে।

দ্রুততা: আগের থেকে পিএইচপির এই ভার্সনের পারফরমেন্স প্রায় ২ গুন হয়ে যাবে। ফেসবুকের হিপহপ কমপাইলারের মত প্রযুক্তি থাকছে এখানে। একটা কনফারেন্সে পিএইচপির মুল ৩ জন নির্মাতার মধ্যে ১জন বলেছেন “ফেসবুকের হিপহপ আমাদের প্রযুক্তিটির competitor হবে

 

২. পৃথিবীর সর্বোচ্চ উদ্ভাবনী ক্ষমতাসম্পন্ন ব্যাক্তিদের মধ্যে ২ জন পিএইচপির নির্মাতা, অ্যান্ডি গাটম্যান এবং রাসমাস লার্ডফ (MIT রিপোর্ট অনুযায়ী)। তবে মজার ব্যাপার হল এদের একজনের লেখা পিএইচপির একটি বই আছে (নাম power php programming) তবে সেটা বেশি চলেনা।

 

৩. পিএইচপি দিয়েও ডেস্কটপ এপ্লিকেশন বানানো যায়। অন্যান্য ওয়েব ল্যাংগুয়েজের মত পিএইচপিরও একটা ল্যাংগুয়েজ bindings আছে GIMP toolkit এর জন্য।gtk.php.net এ আরও বিস্তারিত আছে।

 

৪. বর্তমানে পৃথিবীতে প্রায় ৪০ ভাগ ওয়েবসাইট, ওয়েব এপ্লিকেশন পিএইচপি দিয়ে বানানো, অন্যান্য সব ল্যাংগুয়েজ মিলে বাকি অংশ। পৃথিবীর বিখ্যাত যেসব কোম্পানী পিএইচপি ব্যবহার করে তাদের মধ্যে আছে yahoo (yahoo bookmark, yahoo answers, feedback এসব পিএইচপি দিয়ে বানানো), magento (পৃথিবীতে যেসব এন্টারপ্রাইজ লেভেলের ইকমার্স সাইট দেখতেছেন এগুলির বেশির ভাগ ম্যাজেন্টো দিয়ে বানানো, ম্যাজেন্টো CMS টা আবার জেন্ড ফ্রেমওয়ার্ক দিয়ে বানানো), wikipedia, facebook, wordpress ইত্যাদি।

 

৫. আউটসোর্সিং সাইট যেমন ওডেস্ক (এখন নাম হয়েছে আপওয়ার্ক), ফ্রিল্যান্সার ইত্যাদিতে প্রায় ৫০০ ধরনের কাজ পাওয়া যায়। এর মধ্যে ৭০% ভাগেরও বেশি পিএইচপির কাজ।

প্রোগ্রামিং শেখার কিছু গাইডলাইন

ভাল প্রোগ্রামার হতে আগে ভাল ডিসিশন মেকার হতে হবে। ২/১ টি সাইট/বই আগে ঠিক করুন, শুধু এদুটি থেকেই শিখবেন। এরপর এখানে কিছু না বুঝলে গুগলে ঘাটাঘাটি করে ক্লিয়ার হয়ে আবার এদুটিতে ফিরে অাসুন। নিচে যে টিপসগুলি দিলাম এগুলি কোন বইয়ে থাকেনা, থাকে শুধু অভিজ্ঞতায়।

 

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

** ইংরেজী বই/সাইট হলে অ্যামাজন এবং বিভিন্ন ব্লগে সেই সাইট/বইয়ের র‌্যাংকিং দেখুন, রেটিং দেখুন আর বাংলা হলে বিভিন্ন সাইটে ওয়েব ডিজাইন ডেভেলপমেন্টের জন্য বেশির ভাগ রিকমেন্ডেশন কোন সাইটের দিকে এসব দেখে ২/১ টি সাইট/বই মুল লার্নিং stuff হিসেবে নির্নয় করুন।

** ভিডিও টিউটোরিয়াল এর দিকে ঝোক বেশি হলে সর্বনাশ। যত টেক্সট টিউটোরিয়াল পড়া এবং তৎক্ষনাৎ সেটা প্রাকটিস করার ঝোক বেশি হবে ততই প্রোগ্রামিং শেখার সময় ক্ষুদ্র হয়ে যাবে এবং এটা ভাল লক্ষন।


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

** ফেসবুকের লাইকের সংখ্যা এবং অ্যালেক্সা র‌্যাংকিং দেখে কখনই কোন সাইটের ব্যাপারে সিদ্ধান্ত নিয়েন না। কয়েকশ ডলার খরচ করলেই ফেসবুকে লাখ লাখ লাইক যোগাড় হয়ে যায়। আর অ্যালেক্সার র‌্যাংকিং কিছুটা ভূয়া।

প্রোগ্রামিং শিখতে চান কিন্তু CSE ব্যাকগ্রাউন্ড নয়, কি করবেন?

অনেকে ভাবেন পড়াশোনার পাশাপাশি প্রোগ্রামিং শিখে নেব এরপর ফ্রিল্যান্সিং করে হাজার হাজার ডলার কামাব। প্রথমেই বলে নেই পড়াশোনার পাশাপাশি প্রোগ্রামিং শিখতে পারবেন না, প্রোগ্রামিং শেখার পাশাপাশি পড়াশোনা করতে পারেন।

 

শিরোনাম দেখে আবার পড়াশোনা বাদ দিয়েননা। এটা বুঝাতে চাচ্ছি না। তবে জেনে রাখতে হবে যে, আপনি যদি ভাল প্রোগ্রামার হতে চান তাহলে চ্যালেন্জ face করতে হবে। দেশে বিদেশে লক্ষ লক্ষ CSE গ্রাজুয়েট আছে, তাদের সাথে প্রতিযোগিতা করে টিকতে হলে তাদের চেয়ে আপনাকে একটু বেশিই জানতে হবে। তানাহলে একজন CSE গ্রাজুয়েটের বদলে আপনাকে নেয়ার কোন যৌক্তিক কারন নেই।

শুধু অবসর সময় কাজে লাগিয়ে আপনি এত ভাল প্রোগ্রামার হতে পারবেন না যে, আপনাকে কেউ লক্ষ লক্ষ টাকা দিয়ে হায়ার করবে।

যারা CSE তে পড়ে তারা tiger. আর tiger সাথে fight দিতে হলে tiger ই হতে হবে।

 

বর্তমানে হাজার হাজার প্রোগ্রামার পৃথিবীতে আছে যারা কম্পিউটার সাইন্স এবং ইন্জিনিয়ারিং (CSE) এ পড়েনি কিংবা পড়া শুরু করলেও শেষ করেনি। বাংলাদেশেও এরুপ শতাধিক প্রোগ্রামার আছে। আমি ব্যাক্তিগত ভাবে এমন অনেককে চিনি যারা ফ্রিল্যান্সিং এর মাধ্যমে মাসে প্রায় ৪/৫ হাজার ডলার আয় করছে এবং এদের কারোরই ব্যাকগ্রাউন্ড CSE নয়।

 

এমনকি দেশে বিদেশের অনেক প্রোগ্রামারের নাম আমি বলতে পারি যাদেরকে একনামে চিনবেন যেমন ফেসবুকের নির্মাতা মার্ক জুকারবার্গ হাভার্ড বিশ্ববিদ্যালয়ে CSE সংশিষ্ট একটি বিষযে পড়া শুরু করেছিলেন কিন্তু শেষ করেন নি। বিল গেটসের নাম না জানে এমন কে আছে। মাইক্রোসফটের মালিক সেও পড়াশোনা শুরু করে শেষ করেনি। এরুপ অনেক আছে।

এসব দেখে পড়াশোনা আবার ছেড়ে দিয়েন না তবে প্রোগ্রামিং শিখতে চাইলে এটাকে passion বানাতে হবে। কোড করে মজা পেতে হবে।

কেন পিএইচপি শিখবেন? কেন পিএইচপি বিখ্যাত?

পিএইচপি ল্যাংগুয়েজটি পৃথিবীতে মাত্র কয়েক বছর হয় এসছে। পিএইচপিকে “Big Boys” ল্যাংগুয়েজ বলা হয় পিএইচপি৫ ভার্সন আসার পর থেকে যেখানে জাভা, সি এসব ল্যাংগুয়েজকে অনেক আগে থেকে “Big Boys” বলা হত। পিএইচপি৫ ভার্সন এসছে ২০০৪ সালে। এসেই বাজিমাৎ। বর্তমানে পৃথিবীতে প্রায় ৪০ ভাগ (প্রায় ২৫০ মিলিয়ন সাইট – ২০১৩ পর্যন্ত) ওয়েব এপ্লিকেশন (সাইট) একা পিএইচপিতে তৈরী বাকি সব ল্যাংগুয়েজ মিলে ৬০ ভাগ। হুট করে এসে এত বিখ্যাত হবার কারন আছে..

. প্রায় সব ডেটাবেস সমর্থন করে : মুল ৫ টি ডেটাবেস সহ (Oracle, MySQL, PostgreSQL, SQLServer, MongoDB) প্রায় সব ডেটাবেস দিয়ে পিএইচপির কাজ করা যায়। যেকোন ডেটাবেস integrate করা তেমন কঠিন নয় বরং বহুল ব্যবহৃত ডেটাবেসগুলির ড্রাইভার পিএইচপিতে অটোমেটিক সেট করাই আছে।

. পিএইচপি ইন্জিন মানুষের ব্রেইনের মত : অন্যান্য ল্যাংগুয়েজ এর তুলনায় পিএইচপির ইন্জিন বেশি বুদ্ধিমান। এটা এভাবে যে এখানে ডেটা টাইপ ডিক্লেয়ার করতে হয়না সে নিজেই নিজেই ডেটা দেখে বুঝতে পারে এটা কোন ধরনের ডেটা (loosely typed language)। এছাড়া এখানে টাইপ কাস্ট করা যায় ফলে অপ্রত্যাশিত ভুল হয়না।

. সাপোর্ট এবং কমিউনিটি : বেশ ঘন ঘনই পিএইচপির আপডেট বের হচ্ছে এবং খুব দ্রুতই নতুন নতুন ফিচার যোগ করছে। এছাড়া পিএইচপির ব্যবহারকারী তথা কমিউনিটি অনেক বড়। অনেক। যেকোন সমস্যা হলে কোন ফোরামে প্রশ্ন দিলে যত তারাতারি সারা পাবেন অন্য ল্যাংগুয়েজে তা পাবেন না।

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

বর্তমানের পৃথিবীর সব বড় ওয়েব প্রজেক্টে পিএইচপি ব্যবহার হচ্ছে (যেমন ফেইসবুক, ম্যাজেন্টো ইত্যাদি) এবং পিএইচপি ৫ এ OOP এর পূর্নাঙ্গতা লাভ করাতে কোটি কোটি লাইন কোড লিখেও মেইনটিনেন্স এবং কোড রিফ্যাকটরিং ঝামেলার হচ্ছেনা। আরেকটা বড় সুবিধা হচ্ছে প্রজেক্টে সময় কম লাগে ফলে খরচ কম কিন্তু কাজ বেশি হয়।

. ইহূদী ডেভলপার : পৃথিবীতে সবচেয়ে ট্যালেন্ট হচ্ছে ইহূদীরা। পৃথিবীর সব বড় বড় আবিষ্কার এবং প্রজেক্ট দেখবেন এদের তৈরী। ফেসবুকের জুকারবার্গ কিংবা পারমানবিক বোমার আবিষ্কারক আইনস্টাইন এরা ইহূদী। এমনকি বর্তমানেও পৃথিবীর সব বিখ্যাত বিশ্ববিদ্যালয়ের প্রফেসর, গবেষক বেশিরভাগ ইহূদী। PHP এরও জন্মদাতা এন্ডি গাটম্যান, জিভ সুরাস্কি এবং আরো একজন এরা ইহূদী।

ইহূদীরা কেন এত ট্যালেন্ট এর কারন হিসেবে অনেক কথা প্রচলিত আছে, অনেকে বলে থাকে এরা মুসা (আ:) এর অনুসারী ছিল এবং এরাই ঐ জাতি যাদেরকে আল্লাহ জান্নাতের খাবার (খাবারটির নাম মান্না সালওয়া) খাইয়েছিলেন প্রায় ৪০ বছর। এমনকি ইতিহাসেও এমনটিই লেখা আছে। ধারনা করা হয় যেহেতু বর্তমান ইহূদীরা এদেরেই বংশধর এবং জান্নাতের খাবার খাওয়াতে এদের মেধা সাধারনের চেয়ে বেশি।

 

প্রোগ্রামার হতে ৫টি চাঞ্চল্যকর টিপস

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

 

১. যখন শিখবেন তখনি প্রাকটিস : ধরুন আপনি এখন for লুপের টিউটোরিয়াল পড়লেন তো এখনই এ সংক্রান্ত ছোট ছোট প্রবলেম google থেকে বের করে নিজে নিজে সমাধান করুন যেমন সংখ্যার পিরামিড বানান কিংবা sql এর WHERE, Sub Query পড়লেন তো টেবিল থেকে দ্বিতীয় সর্বোচ্চ মান বের করার চেষ্টা করুন ইত্যাদি।

 

২. সিএমএস পরে বরং raw কোড আগে : যেকোন প্রোগ্রামিং শিখতে চান না কেন আগে সেই ল্যাংগুয়েজ দিয়ে একটা নিজে নিজে প্রজেক্ট বানান। অবশ্যই সিএমএস দিয়ে নয় বরং raw কোড লিখুন। পিএইচপি শেখার সুত্র হচ্ছে “বসে যান এবং একটা প্রজেক্ট তৈরী করুন”।

 

৩. মানসিক স্থিরতা (Mental Stability) : প্রোগ্রামিং শেখার পূর্বশর্ত হল ধৈর্য্য। লম্বা সময় একটা সমস্যার পিছনে মনযোগ ধরে রাখতে পারতে হবে। ধরুন দুটি ছেলের একজন average talent তবে মানসিক স্থিরতা আছে আরেকজন খুব talent তবে brain scattered মানে মানসিক স্থিরতা নেই। এখন দুজনকেই একটি math solve করতে দিলে কে আগে সমাধান করবে? অবশ্যই যার মানসিক স্থিরতা আছে। সন্দেহ হলে পরীক্ষা করে দেখুন।

মানসিক স্থিরতা আছে কিনা কিভাবে বুঝবেন?
======================
ধরুন প্রোগ্রামিংয়ের কোন বই বা টিউটোরিয়াল পড়ছেন এবং ১ ঘন্টা পড়াকালীন অবস্থায় অনেকবার ফেইসবুক, অনলাইন পত্রিকা ঢুকেছেন কিংবা বিপরীত লিঙ্গের সামনে কিভাবে নিজেকে উপস্থাপন করবেন এগুলি চিন্তা করেছেন, তাহলে নিশ্চিত আপনার মানসিক স্থিরতার অভাব বিদ্যমান।

যেভাবে মানসিক স্থিরতা আনতে পারেন:
===========================
অনেক পদ্ধতি আছে তবে একটা কার্যকরী নীতি বিয়ে করুন। বিয়ে করলে মানসিক স্থিরতা আসে এটাও বহুল প্রচলিত। বিবাহিতদের লৌকিকতা কম থাকে এবং এজন্য তাদের আউটপুট বেশি হয়। সম্ভবত এজন্য অনেক সফটওয়ার ফার্মে “বিবাহিত হতে হবে” এমন শর্ত জুড়ে দেয়।

৪. ভাল প্রোগ্রামারদের সংস্পর্শে আসুন : প্রোগ্রামারদের সাথে ওঠাবসা করুন, তাদের কথা শুনুন, তাদের প্রোফাইল দেখুন। এজন্য বিভিন্ন সময় এমনসব কর্মশালা বা কনফারেন্সে যাওয়া ভাল যেখানে বড় বড় বা ভাল প্রোগ্রামার রা লেকচার দেন।

৫. যাদের ব্যাকগ্রাউন্ড CSE নয় : CSE তে পড়েন না এমন কারো যদি প্রোগ্রামিং শেখার আগ্রহ থাকে প্রথমেই অর্থনৈতিক স্বাধীনতা প্রয়োজন। ২-২.৫ বছর কঠোর পরিশ্রম করা লাগতে পারে তবে পকেটে কোন টাকা ঢুকবেনা। ইনস্টান্ট টাকা কামানোর সুযোগ এই জগতে নেই।

প্রোগ্রামিং এ মনোযোগ ধরে রাখতে ৩টি কৌশল

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

 

১. কোডিং করতেছেন এমন সময় একটা complexity আসল। ব্যাস সমস্যা শুরু, আর চিন্তা করতে ইচ্ছা করেনা। দেখবেন যখনই প্রবলেম আসে তখনই সেখানে সময় ব্যায় বাদ দিয়ে ফেসবুক বা অনলাইন পত্রিকায় চলে গেছেন। তখন মনোযোগ কোডিং এ ধরে রাখতে সাথে সাথে চেয়ার থেকে উঠে যান, ১/১.৫ মিনিট এদিক ওদিক হেটে এসে আবার বসুন। দেখবেন আবার কোডিং এ মাথা ঘামানোর এনার্জি চলে এসেছে। গ্যারান্টি।

 

২. ব্যাক্তিগত প্রজেক্টে কাজ করার সময়, বেশি প্লান করিয়েন না। যেমন আজকে সারাদিনে অমুক অমুক কাজ করব, আজকেই লগিন সিস্টেমটা কমপ্লিট করব, ডেটাবেসের ডিজাইনটা আজই শেষ করব ইত্যাদি। বেশি প্লান করে বসলে সেদিন আর কোন কাজই হয়না। অল্প অল্প কাজ করুন কিন্তু প্রতিদিন করুন। প্রতিদিন ছোট একটা কাজ হলেও করুন।

 

৩. সামাজিক সাইটগুলিতে থাকুন তবে শুধু ব্রাউজিং এর জন্য নয় বরং এসব ব্যবহার করে নিজের উপর চাপ বৃদ্ধি করুন। বিভিন্ন সাইটে কিংবা ব্লগে আর্টিকেল লিখুন। নিজের কোড শেয়ার করুন। stackoverflow কিংবা এরুপ জায়গাগুলিতে জড়িয়ে পড়ুন। যখনি আপনার আর্টিকেলে অনেক মন্তব্য পড়বে, মানুষ এটা ওটা প্রশ্ন করবে তখনি কোডিং এর স্পৃহা বাড়বে। চিন্তা করতে বাধ্য হয়ে যাবেন।

 

মোদ্দাকথা হল রিলাক্স হয়ে কাজ করতে হবে। তারাহুরা করে চিন্তা করলে গভীরে যাওয়া যায়না। এই রিলাক্স মুড আনতে যে কাজ করা দরকার সেটাই করতে হবে।