(কোডিং জে এস)Coding JS
  • কোডিং JS
  • সূচিপত্র(Index)
  • ভূমিকা
  • লেখক পরিচিতি(Writer Intro)
  • ইতিহাস
  • জাভাস্ক্রিপ্টের বিস্তার কত দূর?
  • কাদের জন্য জাভাস্ক্রিপ্ট?
  • এনভায়রনমেন্ট সেটআপ
  • ব্রাউজার পরিচিতি
  • ভাল এডিটর বা আইডিই
  • জাভাস্ক্রিপ্টের ইঞ্জিন (JS Engine)
  • প্রথম প্রোগ্রাম = হ্যালো বাংলাদেশ
  • সিনট্যাক্স নিয়ে যত কথা।
  • ভেরি + এবল = ভেরিয়্যাবল কি?
  • ডেটা টাইপ
    • প্রিমিটিভ ডাটা টাইপ(Primitive data type)
      • বুলিয়ান (Boolean)
      • আন্ডিফাইন্ড (Undefined)
      • নাল (Null)
      • নাম্বার (Number)
      • বিগ ইন্টিজার (BigInt)
      • স্ট্রিং (String)
      • সিম্বল (Symbol)
    • নন-প্রিমিটিভ ডাটা টাইপ(Non-primitive data type)
      • অব্জেক্ট (Object)
      • অ্যারে(Array)
  • অপারেটর
  • কন্ডিশনাল কন্ট্রোল ফ্লো(Conditional Control flow)
  • লুপ এবং ইটারেশন(Loop & Iteration)
    • 🔃ফর লুপ(For loop)
    • 🔃ও্যাইয়ল লুপ (While Loop)
    • 📿পুনারাবৃত্তি (Iteration)
  • ফাংশন (Function)
    • রেগুলার ফাংশন (Regular Function)
    • অ্যারো ফাংশন(Arrow Function)
    • নেস্টেড ফাংশন ( Nested Function)
    • ক্লোজার ফাংশন(Closures Function)
    • আই. আই. এফ. ই. (IIFE)
    • হাইয়ার অর্ডার ফাংশন (Higher Order Function)
    • কারিং ফাংশন (Currying function)
    • এন এফ ই (NFE)
    • রিকার্সিভ ফংশন (Recursive Function)
    • জেনারেটর ফাংশন (Generator Function)
  • ক্লাস ও অবজেক্ট অরিয়েন্টেড (class & OOP)
    • মেম্বার ফাংশন (Member Function)
    • ইনহেরিটেন্স (Inhertance)
    • এনসকেপসুলেশন (Encapsulations)
    • অবস্ট্রাকশন(Abstraction)
    • পলিমরফিজম (Polymorphism)
  • কলব্যাক ফাংশন (callback function)
  • প্রমিস (Promise)
  • Async এবং await (Async & Await)
  • এজ্যাক্স (Ajax)
  • ফেচ (fetch)
  • ওয়েভ এপি আই(Web API)
    • ওয়েব স্টোরেজ (Web Storage)
      • বিস্কিটের টুকরো (Cookies)
      • সেশন (Session)
    • হিস্ট্রি এপি আই (History API)
    • জিওলোকেশন এপি আই (Geolocation API)
    • ওয়ার্কার এপি আই (Workers API)
    • ফর্ম এপি আই (Form API)
  • জে এস ডোম(JS DOM)
  • জে এস স্টাইল (JS Style)
  • এপিআই কী? (What is API)
    • SOAP API
    • রেস্ট এপি আই(REST API)
  • ফ্রেমওয়ার্ক লাইব্রেরী নিয়ে খোশ গল্প
  • জাভাস্ক্রিপ্টের বিল্ডইন কী ওয়ার্ড(Javascript Build in keyword)
  • কৃতজ্ঞতা স্বীকার
Powered by GitBook
On this page
Edit on GitHub

ইতিহাস

সতর্ক বার্তাঃ কেউ যদি বইটির কোন অংশ খারাপ উদ্দেশ্যে বা বাণিজ্যিক উদ্দেশ্য ব্যবহার করে তাহলে কপিরাইট আইন অন্তর্ভুক্ত সকল প্রকার প্রক্রিয়া অনুসরণ করতে বাধ্য থাকব।

Previousলেখক পরিচিতি(Writer Intro)Nextজাভাস্ক্রিপ্টের বিস্তার কত দূর?

Last updated 10 months ago

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

তো শুরু করা যাক আর কথা না বাড়িয়ে জাভাস্ক্রিপ্টের ইতিহাস...

জাভাস্ক্রিপ্টকে সংক্ষেপে (js) বলা হয়ে থাকে। এটি একটি lightweight ইন্টারপ্রেটেড (বি.দ্র. মানে হলো এক লাইনের পরে আরেক লাইন সম্পাদন করে কম্পিউটারের বোধগম্য করে দেয় এমন এক মেশিন বলতে পারেন) বা JIT [বি.দ্র. JIT নিয়ে জানার ইচ্ছা থাকলে ] কম্পাইল করা প্রোগ্রামিং ভাষা যাতে রয়েছে first-class functions। এটি ওয়েব পেজের স্ক্রিপ্টিং ভাষা হিসেবে বেশি পরিচিত, এছাড়া ব্রাউজার ছাড়াও অন্যান্য প্লাটফর্মের জন্যও এখন জাভাস্ক্রিপ্ট ব্যবহার করা হয়, যেমন node.js and Apache CouchDB JavaScript হল prototype-based, multi-paradigm, dynamic scripting language, supporting object-oriented, imperative, and declarative (e.g. functional programming) styles.

১৯৯৫ সালে নেটস্কেপের প্রকৌশলী ব্রেন্ডন আইক জাভাস্ক্রিপ্ট তৈরি করেন, যেটা মুক্তি পায় ১৯৯৬ সালের শুরুর দিকে নেটস্কেপ ২ (ব্রাউজার) এর সাথে। এর নাম দেয়া হয়েছিল LiveScript, কিন্তু মার্কেটিং কৌশলের গ্যাঁড়াকলে পড়ে দুর্ভাগ্যজনিত কারণে এর নাম জাভাস্ক্রিপ্ট হয়ে যায়, সান মাইক্রোসিস্টেম এর জাভা ল্যাংগুয়েজের জনপ্রিয়তাকে পুঁজি করার জন্য। জাভা আর জাভাস্ক্রিপ্টের মাঝে তেমন কোন মিল না থাকা সত্ত্বেও এর নাম হয়ে যায় জাভাস্ক্রিপ্ট। অনেকেরই সেই থেকে জাভাস্ক্রিপ্ট নামটা নিয়ে বিভ্রান্তি থেকে গেছে। মাইক্রোসফট জাভাস্ক্রিপ্টের সাথে প্রায় মিলে যায় এরকম একটি ল্যাংগুয়েজ JScript নাম দিয়ে প্রায় ৩ মাস পর ইন্টারনেট এক্সপ্লোর সাথে বাজারে নিয়ে আসে। এদিকে নেটস্কেপ Ecma International ( জাভাস্ক্রিপ্টের স্ট্যান্ডার্ড নির্ধারণ করে এরকম একটি ইউরোপীয়ান সংস্থা) এর কাছে ল্যাংগুয়েজটি উপস্থাপন করে - যার ফলাফল ১৯৯৭ সালে ECMAScript এর প্রথম সংস্করণ হিসেবে বাজারে আসে। ১৯৯৯ সালে এই স্ট্যান্ডার্ডটি আরো উন্নত হয় ECMAScript সংস্করণ ৩ হিসেবে - আর সেই থেকে ভাষাটির তেমন কোন বড় পরিবর্তন হয়নি। চতুর্থ সংস্করণটি ভেস্তে যায়, ভাষাটির জটিলতা নিয়ে মতবিরোধের ফলাফল হিসেবে। তবে এই চতুর্থ সংস্করণের অনেক অংশ বিশেষকে ভিত্তি হিসেবে ধরেই ২০০৯ সালে নতুন ECMAScript এর পঞ্চম সংস্করণ প্রকাশ করা হয় । যাকে বলা হয় es5 বা ECAMAScript-5 এর পরে আবার ২০১৫ নতুন করে আরো কিছু পরিবর্তন নিয়ে আসে es6 বা ECAMAScript-6 তারপর ধাপে ধাপে আসতে থাকে es7,es8 ও es9। এই বইটির শেষে আমি চেষ্টা করেছি যথাসম্ভব এই ভার্সনগুলোর ব্যাপারে লিখার । তাই যখন মনে হবে আপনার জানা দরকার তখন এক ঝলকে দেখে নিবেন।

ক্লিক করুন