Connect with us
★ Grathor.com এ আপনিও ✍ লেখালেখি করে আয় করুন★Click Here★

প্রোগ্রামিং

মোবাইল ডেভেলপমেন্টের ক্ষেত্রে কয়েকটি আপস্টার্ট প্রোগ্রামিং ল্যাংগুয়েজ।

Mojammal Haque

Published

on

বিসমিল্লাহির রাহমানির রাহীম

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

মোবাইল বিকাশের জন্য IEEE স্পেকট্রামের ভাষাগুলি কীভাবে নতুন ভাষার মিল রাখা যায় তার কিছুটা চেষ্টা এখানে পরিলক্ষিত হয়েছে। সংক্ষেপে বলতে পরবর্তী (JAVA, C এবং C ++ সহ) ভাষাসমূহ এখনও আধিপত্য বজায় রেখেছে। তবে নতুন ভাষাগুলি তাদের আগের ভাষার উপস্থিতিটি পরিচিত করে তুলছে।

IEEE কীভাবে এই র‌্যাঙ্কিং নির্ধারণ করে? এমন প্রশ্নের উত্তরে প্রথমে, এটি গিটহাব থেকে ৩০০টি প্রোগ্রামিং ভাষা বাছাই করা হয়েছে। তারপরে গুগলে সর্বাধিক সার্চিং ফলাফল অর্জনকারী ৫৩ টি ভাষা অন্তর্ভুক্ত করা হয়। IEEE তারপরে টুইটার, গিটহাব এবং স্ট্যাক ওভারফ্লো থেকে প্রাপ্ত ডেটা সহ ১১ টি মেট্রিক ব্যবহার করে ৫২ টি গেজ করে। তারপরে আপনি ওয়েব, মোবাইল, এম্বেড এবং এন্টারপ্রাইজ সহ বিভাগ অনুযায়ী ভাষা বিচ্ছিন্ন করতে পারেন।

যেমনটি অতীতে উল্লেখ করা হয়েছে, এই পদ্ধতিটি নিয়ে ইস্যু নেওয়া খুব সম্ভব। প্রকৃতপক্ষে, প্রতিটি প্রোগ্রামিং-ভাষা র‌্যাঙ্কিং পদ্ধতি কোনওভাবে সমস্যাযুক্ত হতে পারে। TIOB সূচক এর সমালোচকদের জিজ্ঞাসা করুন। যারা যুক্তি দিতে আগ্রহী যে ইউটিউব এবং উইকিপিডিয়ায় ডেটা উৎস হিসাবে অন্যের উপর নির্ভরতা রয়েছে তারা এটিকে বাস্তবের ব্যবহারের চেয়ে বিভিন্ন ভাষার প্রতিবিম্বিত করে তোলে। IEEE ভাষার ব্যবহার এবং বিকাশ উভয়ের দিকে নজর রেখেছে।

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

যদি আপনি অ্যান্ড্রয়েড অ্যাপ্লিকেশনগুলি তৈরি করতে আগ্রহী হন তবে গুগলের অ্যান্ড্রয়েড বেসিক পাঠ্যক্রমগুলিও পরীক্ষা করে দেখুতে হবে।

IOS এর দিক থেকে অ্যাপল একইভাবে মরিয়া। ব্যবহারকারীরা ওপজেক্টিভ-সি, অ্যাপল-এর ​​বাস্তুতন্ত্রের জন্য অ্যাপ্লিকেশন তৈরির জন্য কয়েক দশক পুরাতন ভাষা, সুইফটের পক্ষেই থাকতে চায় যেটি ২০১৪ সালে চালু হওয়ার পরে অনেক বেশি শক্তিশালী ভাষায় পরিণত হয়েছে। ভাগ্যক্রমে যারা সুইফটে সম্পূর্ণ নতুন, তাদের জন্য কীভাবে সুইফটের ফাংশন, লুপ, সেট, অ্যারে, স্ট্রিংস এবং স্ট্রাকচার (স্ট্রাক্ট) নিয়ে কাজ করা যায় সে সম্পর্কে অনেকগুলি ডকুমেন্টেশনও রয়েছে।

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

প্রোগ্রামিং

ডাটা টাইপ এবং ফরমাট স্পেসিফিকেশন সি প্রোগ্রামিং বাংলা টিউটোরিয়াল পার্ট-৪

An na

Published

on

আসসালামু আলাইকুম
সি প্রোগ্রামিং এর পার্ট-৪ এ স্বাগতম। আজ আমরা জানব ডাটা টাইপস এবং ফরমাট স্পেসিফিকেশন সম্পর্কে।
নট দ্য লিস্ট টপিকঃ আজকের নট দ্য লিস্ট টপিক হচ্ছে “\n” । সি প্রগ্রামিং এ এটিকে নিউলাইন বলে। প্রিন্টএফ ফাংশন এর ডাবল কোটেশনের মদ্ধে যে কোন জায়গায় নিউলাইন ব্যবহার করলে আউটপুট এ সেখান থেকে নতুন লাইন এ চলে যাবে। আমাদের কোডে আমরা এর ব্যবহার পাব।
ডাটা টাইপ্ঃ আমরা প্রোগ্রামে কোন ধরনের ডাটা বা ভেলু বা মান নিয়ে কাজ করি, সেটাই হচ্ছে ডাটা টাইপ।
Characterঃ ক্যারেক্টার ডাটা টাইপ হচ্ছে যে কোন বর্ন।
Integerঃ ইন্টিজার টাইপের ডাটা হচ্ছে পুর্ন সংখ্যা।
Floating point/double ঃ ফ্লোটিং পয়েন্ট এবং ডাবল ডাটা টাইপ দুটোই ভগ্নাংশের ক্ষেত্রে ব্যবহার করা হয়। এদের মদ্ধে পার্থক্য হচ্ছে রেঞ্জ এবং ফরমাট স্পেসিফিকেশনএ।
সি প্রোগ্রামিং এ বেসিক লেভেলে সাধারনত এই ডাটা টাইপ গুলো নিয়ে কাজ করা হয়। এছাড়াও আরও ডাটা টাইপ রয়েছে। জা আমরা পরে জেনে নেব।
ফরমাট স্পেসিফায়ারঃ ফরমাট স্পেসিফায়ার হচ্ছে আমরা যে ডাটা টাইপ ব্যবহার করছি সেটাকে প্রিন্ট করার জন্য যে স্পেসিফিকেশন ব্যবহার করি।
এবারে একটি কোড দেখে নেই। অবশ্যই এই টিউটরিয়ালের সাথে সাথে নিজেরাও প্র্যাকটিস করতে হবে।
#include
main()
{
int first = 10;
float second = 25.5;
double third = 208752357.56242753;
long int fourth = 20234567898763;
char fifth = ‘A’;

printf(“Integer => %d”, first);
printf(“\n”);
printf(“Floating point => %f \n “, second);
printf(“Floating point => %0.2f\n “, second);
printf(“Double => %lf\n “, third);
printf(“Long Integer => %ld\n “, fourth);
printf(“Character => %c\n “, fifth);
printf(“\n”);
}
ফরমাট স্পেসিফিকাশনের জন্য ডাবল কোটেশনের ভিতর “%” (কোটেশন বাদে) দিয়ে তারপরে আমরা যে ভেরিএবল নিব তার জন্যে নির্দিস্ট স্পেসিফায়ার দিয়ে দেব।
“%” এই চিহ্নের নাম হচ্ছে পার্সেন্টেজ সাইন। তারপর ডাবল কোটেশন শেষ করে একটা কমা (,)দিয়ে ভেরিএবলএর নামটা দিয়ে দেব।
যেমন, printf(“Integer => %d”, first); এই লাইন টাতে দিয়েছি; এভাবে আরো কিছু স্টেটমেন্ট লিখেছি। এখানে first ভেরিয়বলটি হচ্ছে integer ডাটা টাইপের। আর integer ডাটা টাইপের ভেরিয়বল এর জন্যে %d ফরমাট স্পেসিফিকেশন ব্যবহার হয়। কোডটি রান করলেই বোঝা যাবে।
এবারে কিছু ডাটা তাইপ আর তার ফরমাট স্পেসিফিকেশন দেখে নেয়া যাক, Character => %c
integer => %d
floating point => %f
double => %lf
octal => %o
string => %s
hexadecimal => %x or %X
সবশেষে char fifth = ‘A’; এই স্টেটমেন্ট নিয়ে কিছু কথা। যখন আমরা ক্যারেক্টার ভেরিয়েবল ডেক্লায়ার করি তখন ক্যারেক্টার ভ্যালু কে (‘…’) সিঙ্গেল কোটেশনের ভিতর লিখতে হয়। যেমন এখানে আমরা fifth ভেরিয়েবল এ A ক্যারেক্টার বা বর্ন নিয়েছি। তাই A কে (‘…’) সিঙ্গেল কোটেশনের ভিতর নিয়েছি। আরও উদাহরণস্বরুপ, ‘g’, ‘K’

Continue Reading

প্রোগ্রামিং

ভেরিয়েবলস– সি প্রোগ্রামিং বাংলা টিউটোরিয়াল পার্ট-৩

An na

Published

on

আসসালামু আলাইকুম
সি প্রোগ্রামিং এর পার্ট-৩ এ স্বাগতম। আজ আমরা জানব ভেরিয়েবলস সম্পর্কে। একটি ছোট code লিখে শুরু করা যাক।
#include<stdio.h>
main()
{
int first=10;
int second=25;
int result=first+second;
printf(“result %d”, result);
}
প্রথমেই জানব ভেরিয়েবল আসলে কি? ভেরিয়েবল আমরা কেন ব্যবহার করব?
ভেরিয়েবল কে একটি পাত্রের সাথে তুলনা করা যাক। পাত্র আমরা কেন ব্যবহার করি? কোন কিছু রাখার জন্যে। ভেরিয়েবল ঠিক তেমনি ডাটা বা ভ্যালু রাখার জন্যে দরকার হয়। অর্থাৎ প্রোগ্রামিং আমরা যে সমস্ত ডাটা বা ভ্যালু বা মান ব্যবহার করতে চাই সেগুল রাখার জন্যে আমাদের ভেরিয়েবলস দরকার।
যেমন ধরা যাক, আমরা ১০ আর ২৫, এই দুটি মান কে যোগ বা বিয়োগ করতে চাই। তাহলে এই দুটি মানের জন্যে আমাদের দুটি ভেরিয়েবলস দরকার হবে। ধরা যাক, আমরা first এবং second নামের দুটি ভেরিয়েবলস নিলাম। first=১০ আর second=২৫ রাখলাম। অর্থাৎ এখন first ভেরিয়েবল এ আমরা ১০ রেখেছি এবং second ভেরিয়েবল এ আমরা ২৫ রেখেছি। প্রোগ্রামের যেখানেই আমরা first ব্যবহার করব সেখানে first এর মান ১০ ব্যবহার হবে। তেমনিভাবে second এর ক্ষেত্রেও।
যদি আমরা first+second লিখি তাহলে ১০ আর ২৫ এই মান দুটি যোগ করা হবে যার মান হবে ৩৫। উপরের প্রোগ্রামটি দেখলেই বোঝা যাবে।
অনুরুপভাবে যদি গুন করি অর্থাৎ first x second লিখি তাহলে ১০x২৫ করা হবে।
সি প্রোগ্রামিং এর ভেরিয়েবলস এর ক্ষেত্রে কিছু নিয়ম রয়েছে যেগুলো ভেরিয়েবল এর নামকরনের সময় আমাদের মনে রাখতে হবে। নিয়মগুলো হলঃ
১- ভেরিয়েবলস এর নাম লেটার এবং ডিজিট দ্বারা লিখতে হবে।
২- ভেরিয়েবলস এর প্রথম অক্ষরটি অবশ্যই লেটার বা বর্ন হতে হবে।
৩- কোন প্রতীক বা চিহ্ন দিয়ে ভেরিয়াবলস এর নাম শুরু করা যাবেনা। শুধুমাত্র “_” আন্ডারস্কোর ব্যবহার করা যাবে।
৪- ভেরিয়েবলস এর নামকরনের ক্ষেত্রে বড় হাতের এবং ছোট হাতের অক্ষরের পার্থক্য রয়েছে। অর্থাৎ a এবং A দুটি আলাদা হিসেবে ব্যবহার হবে। এটাকে বলে case sensitive অর্থাৎ সি প্রোগ্রামিং case sensitive।
৫- ভেরিয়েবলস এর নাম ৩১ টি characters এর মধ্যে হতে হবে।
৬- ভেরিয়েবলস এর নাম কোন keywords এর সাথে মেলা যাবেনা। সি প্রোগ্রামিং এ সর্বমোট ৩২ টি keywords আছে। সুতরাং এই ৩২টি keywords ছাড়া বাকি যে কোন ওয়ার্ডই ভেরিয়েবলস হতে পারবে।
ভেরীয়েবলস ব্যবহার করার কয়েকটি ধাপ রয়েছে। প্রথমে ভেরিয়েবলস কে declare করতে হয়। তারপর ভেরিয়েবলস এ মান assign করতে হয়। ভেরিয়েবল declaration এর জন্য data type জানতে হবে। যেটা আমরা পরবর্তী পার্ট এ জানব।
আজ এ পর্যন্তই। ফিরে আসব সি প্রোগ্রামিং এর পার্ট-৪ নিয়ে।

Continue Reading

প্রোগ্রামিং

প্রোগ্রামিং ভাষা ‘মোটোকো’ নিয়ে আরও কিছু কথা।

Mojammal Haque

Published

on

বিসমিল্লাহির রাহমানির রাহীম
আসসালামু আলাইকুম ওয়ারাহমাতুল্লাহ
মোটোকো নিয়ে ধারাবাহিক আলোচনার পরবর্তী অংশটি নিয়ে এখনকার আর্টিকেলটি সাজানো হয়েছে।

মোটোকোর কেন্দ্রীয় বৈশিষ্ট্যটি যদিও সিনট্যাক্স এবং টাইপ উভয় সিস্টেমে অভিনেতাদের জন্য এটির সরাসরি সমর্থন রয়েছে। অভিনেতার মডেল একটি সুপরিচিত ধারণা যা ৪০+ বছর পুরানো। তবে দুঃখের বিষয় এটি সবেমাত্র মূলধারার ভাষায় রূপান্তরিত করেছে। একজন অভিনেতা কোনও অবজেক্টের মতো এতে এটি প্রেরণ করা যায় এমন বার্তাগুলি প্রক্রিয়া করার জন্য পদ্ধতিগুলির একটি সেট সহ ব্যক্তিগত রাষ্ট্রকে আবৃত করে। তবে সমস্ত বার্তা প্রেরণগুলি অ্যাসিক্রোনাস। ফলস্বরূপ, O O-তে প্রচলিত পদ্ধতির বিপরীতে। অভিনেতা পদ্ধতির কোনও ফল হয় না। তদুপরি, সমস্ত বার্তা একটি অভিনেতা দ্বারা ক্রমান্বয়ে প্রাপ্ত হয়। এটাতে একটি অন্তর্নিহিত বার্তা সারি রয়েছে এবং পদ্ধতিগুলি পরমাণুভাবে কার্যকর হয়। এমনকি বার্তা একই সাথে প্রেরণ করা হলেও।

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

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

Continue Reading






গ্রাথোর ফোরাম পোস্ট

Md Golam Mostàfa
Warning for all
গ্রাথোর এডমিন
পোষ্ট ফি প্রদান বিষয়ে।