জাভাস্ক্রিপ্টঃ কি, কেন, কখন?

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

কিন্তু তারপরেও আরো প্রশ্ন থেকে যায়। কেন জাভাস্ক্রিপ্ট? হ্যা, আমরা তো জাভাস্ক্রিপ্ট কে পূর্বে শুধুমাত্র ডম ম্যানিপুলেশনের কিছু একটা বলেই ভাবতাম। ডম ম্যানিপুলেশন মানে একটা ওয়েব পেজে কিছু ইভেন্ট লাগানো, বাটনে ক্লিক করলে এই হবে, সেই হবে। তারপর লোগো চ্যাঞ্জ করা, কালার চ্যাঞ্জ করাসহ অ্যানিমেশন পর্যন্ত বড়জোর জাভাস্ক্রিপ্ট এর ক্ষমতা ছিলো। কিন্তু আধুনিক জাভাস্ক্রিপ্ট এর ক্ষমতা এখন কল্পনার বাইরে। এখন জাভাস্ক্রিপ্ট জাস্ট ডম ম্যানিপুলেশনের জন্য ইউজ হয়না। বরং জাভাস্ক্রিপ্ট এখন জটিল জটিল ক্রস প্ল্যাটফর্ম ওয়েব অ্যাপ্লিকেশন বানাতে ব্যবহার করা হয় এবং সবচেয়ে জনপ্রিয় প্রোগ্রামিং ল্যাংগুয়েজ ২০১৮ তে। নোড জেএস দিয়ে ওয়েব সার্ভার থেকে, ওয়েব অ্যাপ্লিকেশন, ক্রস প্ল্যাটফর্ম অ্যাপ্লিকেশনও বানাতে পারবেন। রিয়েক্ট, অ্যাঙ্গুলার জেএস, ভু জেএস দিয়ে আপনি ইন্ট্যারেক্টিভ ইউজার ইন্টারফেস বানাতে পারবেন। আবার এগুলা একসাথে করে ফুল স্ট্যাক ডেভেলপমেন্ট করতে পারবেন। জাভাস্ক্রিপ্ট ফ্রন্ট ইন্ড এবং ব্যাকেন্ড দুইটাই হ্যান্ডেল করতে পারে। মানে এক ল্যাংগুয়েজ দিয়েই সব। মানে আল্টিমেট ল্যাংগুয়েজ!

এখন আরো প্রশ্ন আসে। এই ২০১৮ তে আরো প্রোগ্রামিং ল্যাংগুয়েজ ও তো আছে। কোনটা চুজ করবো? আজকে জাভাস্ক্রিপ্ট শিখলে কালকে যদি এটা মার্কেটে আর না থাকে? হ্যা এইটার একটা ভালো আন্সার আছে। যারা কম্পিউটার সাইন্সের স্টুডেন্ট তারা হয়তো জানেন এখানে প্রোগ্রামিং এর দুনিয়ায় সবগুলার কন্সেপ্টই অনেকটা এক। বলতে পারেন সব একই বেসের উপর তৈরী করা। তার মানে সামনে যে ল্যাংগুয়েজ আসবে বা অন্য কোনো টেকনোলিজি আসবে সেটার কন্সেপ্টও এগুলা থেকেই যাবে। মানে আপনি শিখলে ফালানো যাবে না কখনো। আমি কখনো বলবো না অনেক জব আছে জাভাস্ক্রিপ্ট এর উপর মার্কেটে, অনেক টাকা ইনকাম করা যায়। এগুলা তো সবাই জানে। কিন্তু আমি টেকনিকাল কারণগুলো বলবো কেন শিখবেন। আপনার সবকিছুর কন্সেপ্ট একই হওয়ায় আপনি ভালো করে একটা বুঝতে পারলেই পরে যেকোনোটায় সুইচ করে ফেলতে পারবেন। কোনো কোনো ল্যাঙ্গুয়েজে লাইব্রেরী বলে, কোনোটায় মডিউল বলে, কোনোটায় প্যাকেজ বলে। হয়তো একেকটায় একেক নামে ডাকা হয় কিন্তু মেইন আইডিয়া সবসময়ই সেইম। আর ল্যাংগুয়েজ সুইচে সবাই সবসময় আন ইজি ফীল করে। কিন্তু নতুন একটা ল্যাংগুয়েজ তৈরী হয় পুরোনোটার কিছু লিমিটেশনের জন্যই। মানে নতুন ল্যাংগুয়েজ হলেই বুঝবেন এটা আরো ফ্লেক্সিবল। আমি নিজের অভিজ্ঞতা থেকে বলতেছি কোনো জিনিস শিখতে কঠিন হলে সেটা নিয়া কাজ করা ইজি হয়। সেইম থিওরি অ্যাপ্লাই হবে ফ্রেমওয়ার্ক এর ক্ষেত্রেও। নতুন নতুন ফ্রেমওয়ার্ক আসে তার মানে এই না যে এইটা স্ট্যাবল না। অবশ্যই একেকটা ফ্রেমওয়ার্ক এর স্পেশালিটি একেক রকম আর মেইন কথা হলো পুরোনোটার কিছু লিমিটেশন কাটাতেই নতুনটা এসেছে। তাই ভয় করে বা না ভেবে আপনার কাজ সোজা শিখতে নেমে পড়ুন আর শিখা শুরু করেন। সেটা জাভাস্ক্রিপ্ট ই হউক আর পাইথনই হউক।

আমি প্ল্যান করেছি ৪ টা ভাবে জাভাস্ক্রিপ্ট এর উপর লিখবো। প্রত্যেকটা ভাগের উপর সিরিজ হবেঃ

১। জাভাস্ক্রিপ্টঃ শুরু করুন প্রোগ্রামিং

২। জাভাস্ক্রিপ্ট অ্যাডভান্স

৩। জাভাস্ক্রিপ্টঃ ইকমাস্ক্রিপ্ট ৬ অভ্যাস করুন

৪। নিত্যদিনের জাভাস্ক্রিপ্ট

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

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

প্রথম সিরিজে কয়েকটি পর্বে লিখবোঃ

০১। জাভাস্ক্রিপ্টঃ কি, কেন, কখন?

০২। জাভাস্ক্রিপ্টঃ কোথায় এবং কিভাবে ইউজ করা হয়?

০৩। জাভাস্ক্রিপ্টঃ ক্রোম ডেভেলপার কন্সোল নিয়ে যতকিছু

০৪। জাভাস্ক্রিপ্টঃ ভ্যারিয়েবল এবং ডাটা টাইপ

০৫। জাভাস্ক্রিপ্টঃ অপারেটর নিয়ে সবকিছু

০৬। জাভাস্ক্রিপ্টঃ লুপ নিয়ে সবকিছু

০৭। জাভাস্ক্রিপ্টঃ অ্যারে নিয়ে সবকিছু

০৮। জাভাস্ক্রিপ্টঃ অবজেক্ট নিয়ে সবকিছু

০৯। জাভাস্ক্রিপ্টঃ ড্রাই প্রিন্সিপ্যাল

১০। জাভাস্ক্রিপ্টঃ স্ট্যাটমেন্ট আর এক্সপ্রেশন

১১। জাভাস্ক্রিপ্টঃ নাকি ইকমাস্ক্রিপ্ট?

১২। জাভাস্ক্রিপ্টঃ বিহ্যাইন্ড দ্যা সীন

১৩। জাভাস্ক্রিপ্টঃ হোইস্টিং নিয়ে সবকিছু

১৪। জাভাস্ক্রিপ্টঃ স্কোপ নিয়ে সবকিছু

১৫। জাভাস্ক্রিপ্টঃ তারপরে কি?


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

আমার নতুন ব্লগ পোস্ট গুলোর আপডেট পেতে আপনি আপনার ইমেইল দিয়ে আমার ব্লগ পোস্টগুলো সাবস্ক্রাইব করে রাখতে পারেন, নতুন পোস্টগুলো সপ্তাহে একদিন আপনার ইনবক্সে চলে যাবে

আপনার মন্তব্যঃ

যদি এই পোস্টে কোন ভুল(যেকোনো ধরনের) পেয়ে থাকেন অথবা কোনো ব্যাপারে সন্দেহ থাকে তাহলে এখানে জানাতে পারবেন।

জাভাস্ক্রিপ্ট ব্যাসিক down-arrow

জাভাস্ক্রিপ্ট অ্যাডভান্স down-arrow

জাভাস্ক্রিপ্ট ইএস৬ down-arrow

জাভাস্ক্রিপ্ট ডম ম্যানিপুলেশন down-arrow

নিত্যদিনের জাভাস্ক্রিপ্ট down-arrow

জাভাস্ক্রিপ্ট অ্যালগরিদম ও ডাটা স্ট্রাকচার down-arrow

জাভাস্ক্রিপ্ট সফট স্কিল down-arrow