আল ইমরান আহ্মেদ
মানুষের সঙ্গে মানুষের যোগাযোগে যেমন ভাষা জরুরি, তেমনি কম্পিউটার যোগাযোগের জন্যও যে নির্দেশনা দেওয়া হয়, সে জন্য জরুরি কম্পিউটারের ভাষা। কম্পিউটারের প্রাথমিক ভাষা হলো বাইনারি সংখ্যা, যেখানে শূন্য ও এক ছাড়া আর কিছুই নেই। কারণ, কম্পিউটার বৈদ্যুতিক যন্ত্র হিসেবে শুধু বুঝতে পারে কোনো বৈদ্যুতিক অবস্থার উপস্থিতি (এক) ও অনুপস্থিতি (শূন্য)।
তবে এটাও ঠিক, দুনিয়ার কম্পিউটার বিজ্ঞানী ও সফটওয়্যার প্রকৌশলীরা শুধু কম্পিউটারে শূন্য ও ১ লিখে সফটওয়্যার বানান না; কম্পিউটারের বোঝাপড়া আর মানুষের নির্দেশ দেওয়ার সমস্যা সমাধানের জন্য মানুষ আবিষ্কার করেছে বাইনারি ও মানুষের ভাষার মাঝামাঝি আরেক ধরনের ভাষা। সেটাকেই আমরা জানি প্রোগ্রামিং ল্যাঙ্গুয়েজ হিসেবে। সফটওয়্যার প্রকৌশলীরা প্রোগ্রামিং ল্যাঙ্গুয়েজ বেশ ভালো বোঝেন। তবে কম্পিউটার সরাসরি প্রোগ্রামিং ল্যাঙ্গুয়েজ বোঝে না। তাই একধরনের অনুবাদকের মাধ্যমে এই প্রোগ্রামিং ল্যাঙ্গুয়েজকে কম্পিউটারের ভাষা বাইনারিতে রূপান্তর করা হয়। সে ভাষা কম্পিউটার সহজে বুঝতে পারে।
এই প্রোগ্রামিং ল্যাঙ্গুয়েজ আবার অনেকগুলো। একেক ভাষা একেক কাজের জন্য কার্যকর। দেখে নেওয়া যাক এখনকার জনপ্রিয় কিছু প্রোগ্রামিং ল্যাঙ্গুয়েজ এবং তাদের কাজগুলো কী।
জাভাস্ক্রিপ্ট
জাভাস্ক্রিপ্টকে মনে করা হয় বর্তমান সময়ে সবচেয়ে জনপ্রিয় ও বহুল ব্যবহৃত প্রোগ্রামিং ল্যাঙ্গুয়েজ। এটি ওয়েব অ্যাপ্লিকেশন বানানোর জন্য বেশি ব্যবহৃত হয়। এর জনপ্রিয়তার পেছনের কারণ হলো, এটি একই সঙ্গে ব্যাকএন্ড এবং ফ্রন্টএন্ড—দুই ক্ষেত্রেই ব্যবহার করা যায়। তবে ব্যাকএন্ডের জন্য আরও বেশ কিছু জনপ্রিয় প্রোগ্রামিং ল্যাঙ্গুয়েজ আছে। কিন্তু ফ্রন্টএন্ডের জন্য জাভাস্ক্রিপ্টের কোনো বিকল্প নেই বললেই চলে। তাই এখন ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্ট শেখা শুরু করার জন্য জাভাস্ক্রিপ্ট একটি চমৎকার ল্যাঙ্গুয়েজ। তবে কেউ যদি শুধু ফ্রন্টএন্ড ডেভেলপমেন্ট শিখতে চান, তাহলে তাকে জাভাস্ক্রিপ্টের পাশাপাশি এইচটিএমএল এবং সিএসএস নামে আরও দুটি ল্যাঙ্গুয়েজ ভালোভাবে শিখতে হবে।
পাইথন
পাইথন নামটি শুনলে মনে পড়ে এক ভয়ংকর সাপের কথা! কিন্তু তথ্যপ্রযুক্তিজগতের মানুষেরা জানেন, পাইথন এক শক্তিশালী প্রোগ্রামিং ল্যাঙ্গুয়েজ। জাভাস্ক্রিপ্ট থেকে এর প্রাথমিক পার্থক্য হলো, এটি শুধু ওয়েব অ্যাপ্লিকেশনের ব্যাকএন্ডে ব্যবহার করা হয়। তবে পাইথনের শক্তির জায়গা শুধু ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্টে সীমাবদ্ধ নয়। এটি মেশিন লার্নিং ও ডেটা সায়েন্সের ক্ষেত্রেও গুরুত্বপূর্ণ। আর এটি অনেকটা মানুষের সাধারণ ভাষার মতো হওয়ায় সহজে যে কেউ শিখতে পারে। ফলে একদিকে এই ভাষার সরলতা, অন্যদিকে মেশিন লার্নিং ও ডেটা সায়েন্সে কার্যকরী। এসব কারণে বিজ্ঞান গবেষক, গণিতবিদ কিংবা পরিসংখ্যানবিদের কাছেও পাইথন খুবই সমাদৃত ল্যাঙ্গুয়েজ। যাঁরা সাধারণভাবে কম্পিউটার প্রোগ্রামিংয়ের ব্যাপারে আগ্রহী, পাশাপাশি এ ক্ষেত্রে পেশাদার হতে ইচ্ছুক, তাঁদের জন্য পাইথন অত্যন্ত শক্তিশালী হাতিয়ার।
পিএইচপি
পরিসংখ্যান বলে, পৃথিবীর ৭৫ শতাংশ ওয়েবসাইট পিএইচপি দিয়ে বানানো। এর পেছনে এই ভাষায় বানানো কনটেন্ট ম্যানেজমেন্ট সিস্টেম বা সিএমএস ওয়ার্ডপ্রেসের অবদান অনেক বেশি। তবে হাল আমলের পিএইচপি ফ্রেমওয়ার্ক লারাভাল তার সৌন্দর্যের জন্য বহুল সমাদৃত। এই ল্যাঙ্গুয়েজও পাইথনের মতো শুধু ওয়েব অ্যাপ্লিকেশনের ব্যাকএন্ডে ব্যবহার করা হয়। তবে পিএইচপির রাজত্ব শুধু ওয়েব অ্যাপ্লিকেশনের জগতে। খুব সহজে এবং অল্প সময়ে ওয়েবসাইট কিংবা ওয়েব অ্যাপ্লিকেশন বানানো যায় বলে এই ল্যাঙ্গুয়েজ স্টার্টআপ প্রজেক্ট এবং ব্যক্তিগত ওয়েবসাইট বানানোর কাজে বহুল ব্যবহৃত। বাংলাদেশের মতো নবীন প্রযুক্তিবাজারে এই ভাষার চাহিদা তুঙ্গে।
জাভা
আপনি হয়তো কফি বা প্রাকৃতিক সৌন্দর্যের জন্য ইন্দোনেশিয়ার জাভা দ্বীপকে চেনেন। কিন্তু কম্পিউটার প্রকৌশলীদের কাছে জাভা এক চমৎকার প্রোগ্রামিং ভাষার নাম। এটি একাধারে ওয়েব ব্যাকএন্ড, মোবাইল অ্যাপ্লিকেশন (যেমন অ্যান্ড্রয়েড অ্যাপ), ডেস্কটপ অ্যাপ্লিকেশন তথা মাইক্রোকন্ট্রোলারেও ব্যবহৃত হয়। তবে ওয়েব অ্যাপ্লিকেশনের জগৎ স্টার্টআপ কিংবা ব্যক্তিগত প্রজেক্টে খুব বেশি ব্যবহৃত হয় না এটি। জাভার রাজত্ব বড় বড় ব্যাংক কিংবা অর্থনৈতিক প্রতিষ্ঠানের এন্টারপ্রাইজ স্কেলের বড় প্রজেক্টের জগতে, যেখানে নিরাপত্তা অনেক বেশি গুরুত্বপূর্ণ। জাভা এখন পর্যন্ত এই লেখায় উল্লেখিত একমাত্র কম্পাইলড ল্যাঙ্গুয়েজ। একদম নতুনদের জন্য জাভা শেখা একটু কঠিন হলেও যাঁরা শুরু থেকে প্রোগ্রামিংয়ের প্রাথমিক ধারণাগুলো সম্পর্কে পরিষ্কার থাকতে চান, তাঁদের জন্য প্রোগ্রামিং শেখা শুরু করার জন্য জাভা আদর্শ ল্যাঙ্গুয়েজ।
এখানে উল্লেখ করা প্রোগ্রামিং ল্যাঙ্গুয়েজগুলো ছাড়াও বেশ কিছু জনপ্রিয় ল্যাঙ্গুয়েজ আছে। এগুলোর মধ্যে অন্যতম সি সার্প, সি প্লাস প্লাস, গো ল্যাং, সুইফট ইত্যাদি। মজার বিষয় হলো, প্রোগ্রামিংয়ের মূল ধারণা, প্রতিটি ভাষায় প্রায় একই। তাই কেউ একটি ভাষা ভালোভাবে জানলে তার জন্য অন্য ভাষা শেখা খুব কঠিন কিছু নয়।
আমরা এমন এক যুগে বসবাস করছি, যেখানে প্রোগ্রামিং শেখা অনেকটা মাধ্যমিক স্কুলে অঙ্ক শেখার মতো। হয়তো অদূর ভবিষ্যতে আমাদের সবারই গণিতের মতো প্রোগ্রামিংয়েরও প্রাথমিক ধারণা থাকা জরুরি হয়ে পড়বে।
লেখক: সফটওয়্যার প্রকৌশলী, ফ্রাঙ্কফুর্ট, জার্মানি
মানুষের সঙ্গে মানুষের যোগাযোগে যেমন ভাষা জরুরি, তেমনি কম্পিউটার যোগাযোগের জন্যও যে নির্দেশনা দেওয়া হয়, সে জন্য জরুরি কম্পিউটারের ভাষা। কম্পিউটারের প্রাথমিক ভাষা হলো বাইনারি সংখ্যা, যেখানে শূন্য ও এক ছাড়া আর কিছুই নেই। কারণ, কম্পিউটার বৈদ্যুতিক যন্ত্র হিসেবে শুধু বুঝতে পারে কোনো বৈদ্যুতিক অবস্থার উপস্থিতি (এক) ও অনুপস্থিতি (শূন্য)।
তবে এটাও ঠিক, দুনিয়ার কম্পিউটার বিজ্ঞানী ও সফটওয়্যার প্রকৌশলীরা শুধু কম্পিউটারে শূন্য ও ১ লিখে সফটওয়্যার বানান না; কম্পিউটারের বোঝাপড়া আর মানুষের নির্দেশ দেওয়ার সমস্যা সমাধানের জন্য মানুষ আবিষ্কার করেছে বাইনারি ও মানুষের ভাষার মাঝামাঝি আরেক ধরনের ভাষা। সেটাকেই আমরা জানি প্রোগ্রামিং ল্যাঙ্গুয়েজ হিসেবে। সফটওয়্যার প্রকৌশলীরা প্রোগ্রামিং ল্যাঙ্গুয়েজ বেশ ভালো বোঝেন। তবে কম্পিউটার সরাসরি প্রোগ্রামিং ল্যাঙ্গুয়েজ বোঝে না। তাই একধরনের অনুবাদকের মাধ্যমে এই প্রোগ্রামিং ল্যাঙ্গুয়েজকে কম্পিউটারের ভাষা বাইনারিতে রূপান্তর করা হয়। সে ভাষা কম্পিউটার সহজে বুঝতে পারে।
এই প্রোগ্রামিং ল্যাঙ্গুয়েজ আবার অনেকগুলো। একেক ভাষা একেক কাজের জন্য কার্যকর। দেখে নেওয়া যাক এখনকার জনপ্রিয় কিছু প্রোগ্রামিং ল্যাঙ্গুয়েজ এবং তাদের কাজগুলো কী।
জাভাস্ক্রিপ্ট
জাভাস্ক্রিপ্টকে মনে করা হয় বর্তমান সময়ে সবচেয়ে জনপ্রিয় ও বহুল ব্যবহৃত প্রোগ্রামিং ল্যাঙ্গুয়েজ। এটি ওয়েব অ্যাপ্লিকেশন বানানোর জন্য বেশি ব্যবহৃত হয়। এর জনপ্রিয়তার পেছনের কারণ হলো, এটি একই সঙ্গে ব্যাকএন্ড এবং ফ্রন্টএন্ড—দুই ক্ষেত্রেই ব্যবহার করা যায়। তবে ব্যাকএন্ডের জন্য আরও বেশ কিছু জনপ্রিয় প্রোগ্রামিং ল্যাঙ্গুয়েজ আছে। কিন্তু ফ্রন্টএন্ডের জন্য জাভাস্ক্রিপ্টের কোনো বিকল্প নেই বললেই চলে। তাই এখন ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্ট শেখা শুরু করার জন্য জাভাস্ক্রিপ্ট একটি চমৎকার ল্যাঙ্গুয়েজ। তবে কেউ যদি শুধু ফ্রন্টএন্ড ডেভেলপমেন্ট শিখতে চান, তাহলে তাকে জাভাস্ক্রিপ্টের পাশাপাশি এইচটিএমএল এবং সিএসএস নামে আরও দুটি ল্যাঙ্গুয়েজ ভালোভাবে শিখতে হবে।
পাইথন
পাইথন নামটি শুনলে মনে পড়ে এক ভয়ংকর সাপের কথা! কিন্তু তথ্যপ্রযুক্তিজগতের মানুষেরা জানেন, পাইথন এক শক্তিশালী প্রোগ্রামিং ল্যাঙ্গুয়েজ। জাভাস্ক্রিপ্ট থেকে এর প্রাথমিক পার্থক্য হলো, এটি শুধু ওয়েব অ্যাপ্লিকেশনের ব্যাকএন্ডে ব্যবহার করা হয়। তবে পাইথনের শক্তির জায়গা শুধু ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্টে সীমাবদ্ধ নয়। এটি মেশিন লার্নিং ও ডেটা সায়েন্সের ক্ষেত্রেও গুরুত্বপূর্ণ। আর এটি অনেকটা মানুষের সাধারণ ভাষার মতো হওয়ায় সহজে যে কেউ শিখতে পারে। ফলে একদিকে এই ভাষার সরলতা, অন্যদিকে মেশিন লার্নিং ও ডেটা সায়েন্সে কার্যকরী। এসব কারণে বিজ্ঞান গবেষক, গণিতবিদ কিংবা পরিসংখ্যানবিদের কাছেও পাইথন খুবই সমাদৃত ল্যাঙ্গুয়েজ। যাঁরা সাধারণভাবে কম্পিউটার প্রোগ্রামিংয়ের ব্যাপারে আগ্রহী, পাশাপাশি এ ক্ষেত্রে পেশাদার হতে ইচ্ছুক, তাঁদের জন্য পাইথন অত্যন্ত শক্তিশালী হাতিয়ার।
পিএইচপি
পরিসংখ্যান বলে, পৃথিবীর ৭৫ শতাংশ ওয়েবসাইট পিএইচপি দিয়ে বানানো। এর পেছনে এই ভাষায় বানানো কনটেন্ট ম্যানেজমেন্ট সিস্টেম বা সিএমএস ওয়ার্ডপ্রেসের অবদান অনেক বেশি। তবে হাল আমলের পিএইচপি ফ্রেমওয়ার্ক লারাভাল তার সৌন্দর্যের জন্য বহুল সমাদৃত। এই ল্যাঙ্গুয়েজও পাইথনের মতো শুধু ওয়েব অ্যাপ্লিকেশনের ব্যাকএন্ডে ব্যবহার করা হয়। তবে পিএইচপির রাজত্ব শুধু ওয়েব অ্যাপ্লিকেশনের জগতে। খুব সহজে এবং অল্প সময়ে ওয়েবসাইট কিংবা ওয়েব অ্যাপ্লিকেশন বানানো যায় বলে এই ল্যাঙ্গুয়েজ স্টার্টআপ প্রজেক্ট এবং ব্যক্তিগত ওয়েবসাইট বানানোর কাজে বহুল ব্যবহৃত। বাংলাদেশের মতো নবীন প্রযুক্তিবাজারে এই ভাষার চাহিদা তুঙ্গে।
জাভা
আপনি হয়তো কফি বা প্রাকৃতিক সৌন্দর্যের জন্য ইন্দোনেশিয়ার জাভা দ্বীপকে চেনেন। কিন্তু কম্পিউটার প্রকৌশলীদের কাছে জাভা এক চমৎকার প্রোগ্রামিং ভাষার নাম। এটি একাধারে ওয়েব ব্যাকএন্ড, মোবাইল অ্যাপ্লিকেশন (যেমন অ্যান্ড্রয়েড অ্যাপ), ডেস্কটপ অ্যাপ্লিকেশন তথা মাইক্রোকন্ট্রোলারেও ব্যবহৃত হয়। তবে ওয়েব অ্যাপ্লিকেশনের জগৎ স্টার্টআপ কিংবা ব্যক্তিগত প্রজেক্টে খুব বেশি ব্যবহৃত হয় না এটি। জাভার রাজত্ব বড় বড় ব্যাংক কিংবা অর্থনৈতিক প্রতিষ্ঠানের এন্টারপ্রাইজ স্কেলের বড় প্রজেক্টের জগতে, যেখানে নিরাপত্তা অনেক বেশি গুরুত্বপূর্ণ। জাভা এখন পর্যন্ত এই লেখায় উল্লেখিত একমাত্র কম্পাইলড ল্যাঙ্গুয়েজ। একদম নতুনদের জন্য জাভা শেখা একটু কঠিন হলেও যাঁরা শুরু থেকে প্রোগ্রামিংয়ের প্রাথমিক ধারণাগুলো সম্পর্কে পরিষ্কার থাকতে চান, তাঁদের জন্য প্রোগ্রামিং শেখা শুরু করার জন্য জাভা আদর্শ ল্যাঙ্গুয়েজ।
এখানে উল্লেখ করা প্রোগ্রামিং ল্যাঙ্গুয়েজগুলো ছাড়াও বেশ কিছু জনপ্রিয় ল্যাঙ্গুয়েজ আছে। এগুলোর মধ্যে অন্যতম সি সার্প, সি প্লাস প্লাস, গো ল্যাং, সুইফট ইত্যাদি। মজার বিষয় হলো, প্রোগ্রামিংয়ের মূল ধারণা, প্রতিটি ভাষায় প্রায় একই। তাই কেউ একটি ভাষা ভালোভাবে জানলে তার জন্য অন্য ভাষা শেখা খুব কঠিন কিছু নয়।
আমরা এমন এক যুগে বসবাস করছি, যেখানে প্রোগ্রামিং শেখা অনেকটা মাধ্যমিক স্কুলে অঙ্ক শেখার মতো। হয়তো অদূর ভবিষ্যতে আমাদের সবারই গণিতের মতো প্রোগ্রামিংয়েরও প্রাথমিক ধারণা থাকা জরুরি হয়ে পড়বে।
লেখক: সফটওয়্যার প্রকৌশলী, ফ্রাঙ্কফুর্ট, জার্মানি
এক্সের (সাবেক টুইটার) প্রতিদ্বন্দ্বী মাইক্রোব্লগিং প্ল্যাটফর্ম থ্রেডসের অ্যালগরিদম পরিবর্তন করল মেটা। এর ফলে যেসব অ্যাকাউন্ট ব্যবহারকারীরা ফলো করেন সেগুলোর কনটেন্টই বেশি দেখানো হবে। গত বৃহস্পতিবার থেকে ফিচারটি চালু হয়।
২৮ মিনিট আগেযুক্তরাষ্ট্রের প্রভাবশালী পত্রিকা টাইম ম্যাগাজিন–এর কভারে ধনকুবের ইলন মাস্কের ‘টু ডু লিস্ট’ বা দিনের কাজের তালিকা প্রকাশ করেছে। তবে এটি মাস্কের ব্যক্তিগত চেকলিস্ট নয় বলে স্পষ্টভাবে জানিয়েছেন মাস্ক।
১ ঘণ্টা আগেটাইপ করার চেয়ে ভয়েস মেসেজ পাঠানো বেশ সহজ। তবে অনেক সময় ভয়েস মেসেজ সবার সামনে শোনা যায় না। সে ক্ষেত্রে মেসেজ না শুনে রিপ্লাই–ও দেওয়া যায়না। এই সমস্যা থেকে মুক্তি দেওয়ার জন্য মেসেজ ট্রান্সক্রাইব ফিচার যুক্ত করল হোয়াটসঅ্যাপ। এই ফিচারের মাধ্যমে ভয়েস মেসেজগুলো সহজে টেক্সটে রূপান্তর করা যাবে।
৩ ঘণ্টা আগেনিয়মিত নতুন উদ্ভাবনী ধারণা ও প্রযুক্তি দিয়ে বিশ্বকে চমকে দেওয়ার জন্য পরিচিত জাপান। এবার ‘মানুষ ধোয়ার মেশিন’ তৈরি করে তাক লাগিয়ে দিল দেশটি। এটি মানুষ গোসলের জন্য ব্যবহার করতে পারবে। যন্ত্রটির কার্যকারিতা ও ডিজাইন দেখে একে ‘মানুষ ধোয়ার ওয়াশিং মেশিন’ বলে আখ্যা দিয়েছে অনেকই।
৩ ঘণ্টা আগে