1. hridoy@pipilikabd.com : হৃদয় কৃষ্ণ দাস : Hridoy Krisna Das
  2. support@pipilikabd.com : pipilikabd :
  3. md.khairuzzamantaifur@gmail.com : তাইফুর রহমান : Taifur Bhuiyan
  4. admin@swadhinnews.com : নিউজ রুম :
শুক্রবার, ২৯ মে ২০২০, ০৪:২০ অপরাহ্ন

স্বপ্ন যখন সফটওয়্যার ইন্জিনিয়ার (পার্ট- ২) | আসিফ শাহরিয়ার

হৃদয় কৃষ্ণ দাস
  • আপডেট টাইম : শুক্রবার, ২৪ এপ্রিল, ২০২০
  • ১৪৪ বার পঠিত
স্বপ্ন যখন সফটওয়্যার ইন্জিনিয়ার (পার্ট- ২) | আসিফ শাহরিয়ার

স্বপ্ন যখন সফটওয়্যার ইঞ্জিনিয়ারিং (পার্ট-২) কি অবস্থা প্রোগ্রামার্স? আশা করি ঘরে আছেন, সুস্থ আছেন। ইতিমধ্যে যারা পার্ট-১ পড়ে নিয়েছেন তাদের পার্ট-২ তে স্বাগতম। আর যারা এখন ও পার্ট-১ পড়েন নি তারা আগে পার্ট-১ পড়ে নিবেন নাহলে পার্ট-২ বুঝতে সমস্যা হবে। ধন্যবাদ . পার্ট-১ এ একটা জিনিস খেলায় করলাম অনেকেই কমেন্ট করেছেন ভাই সবাইতো বলে যে কোন একটা প্রোগ্রামিং ল্যাঙ্গুয়েজ ভালো ভাবে শিখতে তাহলে আপনি কেন একাধিক ল্যাঙ্গুয়েজ সম্পর্কে ধারণা নিতে বলতিছেন..? আমি প্রথমেই বলেছি কয়েকটা ল্যাঙ্গুয়েজ সম্পর্কে ধারণা নিতে হবে এবং এবং যে কোন একটা ল্যাঙ্গুয়েজ একদম ক্লিয়ার হতে হবে। আচ্ছা কেন একাধিক ল্যাঙ্গুয়েজ সম্পর্কে ধারণা থাকতে হবে, প্রতিযোগিতা মূলক বিশ্বে কেউ পিছিয়ে থাকতে চায় না। আপনারা সবাই জানেন আমাদের টেকনোলজি প্রতিনিয়ত আপডেট হচ্ছে, আপনি আজ যা শিখলেন ভাবছেন আমার শেখার শেষ? এমনটা না, আজ যা শিখলেন কাল দেখবেন সেটা অন্যকেউ আপনার থেকে উন্নত ভাবে তৈরি করেছে। আপনি বসে থাকলে পিছিয়ে পরবেন। আর একটা প্রোগ্রামিং ল্যাঙ্গুয়েজ থেকে অন্য প্রোগ্রামিং ল্যাঙ্গুয়েজের অনেকটাই মিল থাকে, তাই একটা ল্যাঙ্গুয়েজ থেকে অন্য ল্যাঙ্গুয়েজে সুইচ করতে বেশি সময় লাগবে না। যেমন এক সময় পাইথনের তেমন কোন জনপ্রিয়তা ছিলো না এখন পাইথন নিজ শক্তিবলে নিজের জায়গায় ক্লিয়ার করে নিচ্ছে। আজ বড় বড় কোম্পানি গুলো যখন একাধিক ল্যাঙ্গুয়েজ ব্যবহার করে নিযেদের প্রতিনিয়ত আপডেট করে চলছে সেক্ষেত্রে আপনি একটা ল্যাঙ্গুয়েজ সম্পর্কে জানলে অনেকটাই পিছিয়ে থাকবেন। একজন দক্ষ প্রোগ্রামার বা সাইবার সিকিউরিটি এক্সপার্ট কয়েকটা বড় বড় ল্যাঙ্গুয়েজের উপর দক্ষ হয়। আশা করি একাধিক ল্যাঙ্গুয়েজ সম্পর্কে ধারনা নেয়ার কারণ বুঝতে পেরেছেন। আর একটা কথা অনেকেই আমাদের পোস্ট গুলো কপি করে নিযের নামে পোস্ট করে এতে করে আমার লেখার আগ্রহ হারিয়ে ফেলি, আশাকরি এই দিকে খায়াল রাখবেন। মূল আলোচনায় আশা যাক। গত পর্বে জাভা পর্যন্ত আলোচনা করা হয়েছিলো, আপনি যখন ৬ষ্ট পর্বে আপনার মোটামুটি ৩টা ল্যাঙ্গুয়েজ সম্পর্কে ধারণা নেয়া শেষ। আশা করি এখন আপনি ৩টা ল্যাঙ্গুয়েজ দিয়েই ছোট ছোট সমস্যার সমাধান গুলো করতে পাবেন। পাশাপাশি ছোট ছোট প্রজেক্টের কাজ ও করছেন। আর এতোদিনে প্রোগ্রাম সম্পর্কে আপনার একটা ধারণা ও চলে এসেছে। এবার আপনি আপনার পছন্দের একটা প্রোগ্রামিং ল্যাঙ্গুয়েজ সিলেক্ট করুন যেটা নিয়ে আপনি ফিচারে কাজ করতে চান। এখন আসি আপনি কোন সেক্টরে কাজ করতে চান..? চলুন ১০ টা প্রোগ্রামিং ল্যাঙ্গুয়েজ সম্পর্কে ধারণা নেই। Java :প্রথমেই যে ল্যংগুয়েজ টা আসে সেটা হলো জাভা। জাভা হচ্ছে অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ল্যাঙ্গুয়েজ মূলত c++ এর জটিলতা দূর করার জন্য জাভা ব্যাবহার করা হয়। এটি সার্ভার-সাইড অ্যাপ্লিকেশনগুলি তৈরি করার জন্য ব্যবহার করা হয় । মোবাইল অ্যাপ্লিকেশনে এটি অ্যান্ড্রয়েড অ্যাপ্লিকেশনের প্রধান ল্যাঙ্গুয়েজ হিসেবে ব্যাবহার করা হয় । এছাড়াও অন্যান্য কাজেও ডেভেলপার দের কাছে জাভা বিশেষ ভাবে জনপ্রিয় । C: c ১৯৭২ সালে প্রতিষ্ঠিত হয় যাতে ইউনিক্স অপারেটিং সিস্টেমে প্রোগ্রামাররা লিখতে পারে, এটি এখনও খুব জনপ্রিয়। এটি বিশ্বের সবচেয়ে ব্যাপকভাবে ব্যবহার করা প্রোগ্রামিং ল্যাঙ্গুয়েজ গুলোর মধ্যে একটি । কারণ এটি ‘মেশিন লেভেল’ ল্যাঙ্গুয়েজ হিসাবে কাজ করে, যার কারনে আপনি জানতে পারবেন কিভাবে একটি প্রোগ্রাম হার্ডওয়্যার সাথে ইন্টারেক্ট করে ।C ল্যাঙ্গুয়েজ মূলত এডভ্যান্স সায়েন্টিফিক সিস্টেম এবং অপারেটিং সিস্টেমে ব্যবহৃত হয় । C++ : সি উপর ভিত্তি করে এটি তৈরী করা হয়, এটিতে উচ্চ স্তরের এবং নিম্ন স্তরের প্রোগ্রামিং ল্যাঙ্গুয়েজ উভয়ের গুণাবলী আছে, তবে এটিকে একটি মধ্যবর্তী স্তরের প্রোগ্রামিং ল্যাঙ্গুয়েজ বলে মনে করা হয়। মূলত c++ ব্যবহার করে সফটওয়্যার তৈরি করা হয় । Python : python খুবই জনপ্রিয় একটি প্রোগ্রামিং ল্যাঙ্গুয়েজ । সিম্পল সিনট্যাক্স এর জন্যই পাইথন সবার কাছে খুবই প্রিয় একটি ল্যাঙ্গুয়েজ । বিশেষ করে ডেভলপার রা পাইথন ব্যবহার করে থাকে । মূলত ভিডিও গেমস তৈরি করার জন্য পাইথন ব্যাবহার করা হয় ।এছাড়াও আপনি ডাটা মাইনিং, মেসিন ল্যাংগুয়েজ এর কাজেও Python ব্যবহার করতে পারেন। C# : এটি মাইক্রোসফট দ্বারা পরিকল্পিত, সি # একটি আধুনিক, অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ল্যাঙ্গুয়েজ । মূলত ডায়ানামিক ওয়েবসাইট তৈরি করার জন্য সি# ব্যবহার করা হয় । সি# মোটেও কঠিন কোন ল্যাঙ্গুয়েজ না, আপনার যদি সি এবং সি++ সম্পর্কে ভালো ধারনা থাকে তাহলে এটি আপনার জন্য আরও সহজতর মনে হবে । Javascript : জাভাস্ক্রিপ্ট, এটি ওয়েব এর ল্যাঙ্গুয়েজ হিসাবেও পরিচিত । এটি একটি উচ্চ স্তরের প্রোগ্রামিং ল্যাঙ্গুয়েজ, এবং এটি সমস্ত আধুনিক ওয়েব ব্রাউজারই সাপোর্ট করে । আপনারা হয়তো ভাবতে পারেন যে, জাভাস্ক্রিপ্ট হয়তো জাভা রিলেটেড কোন ল্যাঙ্গুয়েজ , কিন্তু না । আপনি যদি ওয়েব সেক্টরে জব করতে চান তাহলে অনেক ক্ষেত্রে javascript দক্ষতা আপনার স্যালারি নির্ধারন করে! Swift : চলুন একটু পিছনে যাই, ২০১৪ সাল … অ্যাপল তার iOS এবং OS X অ্যাপ্লিকেশন ডেভেলপমেন্টের জন্য একটি নতুন প্রোগ্রামিং ভাষা তৈরি করার সিদ্ধান্ত নিয়েছিলো, তখনই জন্মগ্রহন করে এই সুইফট । এটি মূলত iOS এর এপ ডেভলপ করার জন্য ব্যবহার করা হয় । Ruby : রুবি হচ্ছে অবজেক্ট ওরিয়েন্টেড ল্যাঙ্গুয়েজ । মূলত ওয়েব এপস তৈরি করার জন্য রুবি ব্যবহৃত হয় । এটি আকর্ষনীয় হওয়ার সবথেকে বড় কারন হচ্ছে রুবি ফ্রেমওয়ার্ক, যার জন্যই এটি খুব জনপ্রিয় । Php : পিএইচপি এমন একধরনের ল্যাঙ্গুয়েজ যেটি আমাদের শিখে রাখাটা খুবই গুরুত্বপূর্ণ । এটি একটি সার্ভার সাইড স্ক্রিপ্টিং ল্যাঙ্গুয়েজ যা মূলত ওয়েব ডেভেলপমেন্টের জন্য ব্যবহৃত করা হয় ।বেশীর ভাগ জনপ্রিয় CMS যেমন: WordPress পিএইচপি দিয়ে লেখা।সুতরাং যে কোন ধরনের ওয়েব এপ্লিকেশন বা CMS কাজ করতে চাইলে PHP শিখতে পারেন। Kotlin: JetBrains কোম্পানির ডিজাইন ও ডেভেলপ করা Kotlin সর্বপ্রথম বাজারে আসে ২০১১ সালে।এটি মুলত java, c#, javascript, scala ,groovy ল্যাংগুয়েজ থেকে আইডিয়া নিয়ে তৈরি করা। এবং এটি java কে পুরা সমর্থন করে।কটলিন জাভা ভার্চুয়াল মেসিনে রান করা ছাড়াও javascript এর সাথেও কম্পাইল করা সম্ভব। এনড্রয়েড কটলিনকে তাদের অফিসিয়াল ল্যাংগুয়েজ ঘোষনা করেছে। সুতরাং আপনি যদি একজন মোবাইল ডেভেলপার হতে চান তাহলে Kotlin আপনার জন্য বেস্ট হবে। আপনি এর থেকে যে কোন ১ টা ভালভাবে শিখে নিজের ক্যারিয়ার শুরু করতে পারেন। আজ জানবো অ্যান্ড্রয়েড অ্যাপসের বিস্তারিত, কারণ পরের সেমিস্টারে আমরা অ্যান্ড্রয়েড অ্যাপস ডেভেলপমেন্ট নামে একটা বইয়ের সাথে পরিচিত হবো। অ্যান্ড্রয়েড অ্যাপস নামটা শুনলেই সবার মনে একটা ধারণা চলে আশে এটা আর কি এমন কাজ, এমন ছোট খাটো অ্যাপস তো আমাদের দেশে অনেকেই তৈরি করতে পারে। এমন ধারণা হওয়ার কারণ আমাদের দেশের নিম্নমানের ট্রেনিং সেন্টার গুলো। অন্যান্য দেশে ওয়েব ডেভেলপমেন্ট এবং অ্যান্ড্রয়েড অ্যাপস ডেভেলপার দের অনেক গুরুত্ব দেয়া হয়। আধুনিক যুগে প্রায় সবার হাতেই এখন স্মার্টফোন তাই এখন আর কেউ ওয়েবসাইট ঘেটে ছোট খাটো তথ্য খুজতে চায় না, সবাই ফোনে ১ ক্লিকের মাধ্যমেই তথ্য পেতে চায়। আমাদের দেশের পাঠাও, দারাজ, বিকাশের মতো অ্যাপস গুলো খুব জনপ্রিয় হয়ে উঠছে তাই এই সেক্টর থেকেও অনেক ভালো কিছু করা সম্ভব। অ্যান্ড্রয়েড অ্যাপস শিখতে কোন বিষয় গুলো জানতে হবে?? বর্তমানে অ্যান্ড্রয়েড ডেভেলপমেন্টের জন্য Java ও Kotlin উভয়েই অফিসিয়াল ল্যাঙ্গুয়েজ। দুইটা দিয়েই কাজ করা যাবে। কিন্তু যারা একদম নতুন করে শুরু করবেন তাদের জন্য সিনিয়ররা জাভা দিয়েই শুরু করতে বলেন। এতে স্ট্রং আর স্ট্রিক্ট ল্যাঙ্গুয়েজ জাভা জানা হলো এবং অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিংয়ের কনসেপ্টগুলো বেশ ভালো করে জানা হবে। যেহেতু আমার আগের সেমিস্টারে জাভা ল্যাঙ্গুয়েজ সম্পর্কে ধারণা পেয়েছি তাই আমরা জাভা দিয়ে শুরু করবো। এবং ডিজাইনের জন্য xml (Extensible Markup Language) যারা ওয়েব ডিজাইন এবং গ্রাফিক্স ডিজাইন সম্পর্কে ধারণা নিয়েছে সি ধারণা নিয়ে ডিজাইন পার্ট খুব সহজে শিখতে পাবেন। এখন আসি কিভাবে কাজ শিখবো.? আর একজন ভালো মানের অ্যান্ড্রয়েড অ্যাপস ডেভেলপার হতে হলে কি কি শিখতে হবে? যেভাবে শিখবো, শেখার সব থেকে বড় মাধ্যম বই, আমরা বিভিন্ন জায়গা থেকে বই সংগ্রহ করে শিখতে পারি, এছাড়া ও বাংলা এবং ইংরেজি কন্টেন্ট এ অনেক ভালো ভালো টিউটোরিয়াল ইউটিউবে পেয়ে যাবো, তাছাড়া ভালো কোন ট্রেনিং সেন্টার থেকে ও শিখতে পারি। যে সব বিষয় জানতে হবেঃ জাভা জাভা ও অ্যান্ড্রয়েড অ্যাপ্লিকেশন ডেভেলপমেন্ট দু’টি অবিচ্ছেদ্য ব্যাপার। অ্যান্ড্রয়েড অ্যাপ বানাতে জাভা জানা জরুরি। আপনি যদি কোনো একটি প্রোগ্রামিং ল্যাঙ্গুয়েজ ভালো করে জানেন, সেক্ষেত্রে জাভাতে সুইচ করা আপনার জন্য কঠিন কিছু হবে না। জাভার বিশেষ দিক হলো- এটি অবজেক্ট ওরিয়েন্টেড সাপোর্টেড প্রোগ্রামিং ল্যাঙ্গুয়েজ। ভালো অ্যাপ ডেভেলপ করতে হলে আপনাকে অবশ্যই জাভাতে সুদক্ষ হতে হবে। এক্সএমএল জ্ঞান প্রাথমিকভাবে এক্সএমএল সৃষ্টির পেছনে মূল উদ্দেশ্য ছিল ডাটা বহন। অ্যান্ড্রয়েডে মূলত এক্সএমএলের ব্যবহার হচ্ছে লেআউট ডিজাইন ও এর মধ্যে অ্যাট্রিবিউট স্থাপনের কাজে। এ অ্যাট্রিবিউটের ভ্যালুগুলো বহন করে অ্যান্ড্রয়েডের এক্সএমএল। মূলত জাভা যুক্ত থাকে এক্সএমএলের সাথে। একটি অ্যান্ড্রয়েড অ্যাপের যেই ইন্টারফেস আমরা দেখতে পারি তা সাধারণত ডিজাইন করা হয় এক্সএমএল দিয়ে ও এর কাজগুলো হয় জাভা প্রোগ্রামিং দিয়ে। এ কারণে অ্যাপ ডেভেলপরের কাজ করতে গেলে সাধারণভাবে এক্সএমএলের বিষয়ে জ্ঞান থাকতে হবে। অ্যান্ড্রয়েড এসডিকে এসডিকে হচ্ছে সফটওয়ার ডেভেলপমেন্ট কিট। এটা মূলত টুলবক্সের মতো। যখন আপনি অ্যান্ড্রয়েড এসডিকে ডাউনলোড করে এতে কাজ করছেন, তখন অ্যান্ড্রয়েড ডিভাইসের ক্যামেরা, সাউন্ড, সেন্সর ইত্যাদির মতো টুলসগুলো আপনি ব্যবহার করতে পারবেন। এসডিকে আসলে অনেকগুলো ক্লাস, যেগুলো এক্সেস করে আমাদের মতো করে অ্যাপ ডেভেলপ করতে পারি। অ্যান্ড্রয়েড স্টুডিও অ্যান্ড্রয়েড স্টুডিও হচ্ছে একটি আইডিই- ইন্টিগ্রেটেড ডেভেলপমেন্ট এনভায়রনমেন্ট। এটি আসলে অ্যান্ড্রয়েড অ্যাপ ডেভেলপের এনভায়রনমেন্ট সৃষ্টি করে দেয়, যেখানে ডেভেলপার জাভা কোড, এক্সএমএল কোড লিখতে পারবে। এ ছাড়া অ্যান্ড্রয়েড স্টুডিওয়ের সঙ্গে অ্যান্ড্রয়েড এসডিকে যুক্ত করিয়ে ভার্চুয়াল ডিভাইস তৈরি করে তাতে ডেভেলপ করতে থাকা অ্যাপ পরীক্ষা করা যায়। বর্তমানে অ্যান্ড্রয়েড অ্যাপস ডেভেলপ করতে গেলে অ্যান্ড্রয়েড স্টুডিওয়ের বিকল্প নেই, যদিও আগে ইক্লিপ্স আইডিই-এর সঙ্গে এসডিকে যুক্ত করে করা যেত। ডেটাবেজ ডেটাবেজ ডিজাইন ও ডেটাবেজ নিয়ে কাজ করতে পারা অ্যান্ড্রয়েড অ্যাপ ডেভেলপমেন্টের একটি গুরুত্বপূর্ণ ব্যাপর। অ্যাপ ডেভেলপ করতে গেলে অনেক সময় বড় পরিমানে ডেটা নিয়ে কাজ করতে হবে। তখন সেগুলোকে স্টোর করা, তারপর রিড ও রাইট করতে জানতে হবে। তাই ডেটাবেজ সম্পর্কে পরিষ্কার ধারনা ও সেটা নিয়ে কাজ করতে পারার কৌশলগুলো জানা জরুরি। এপিআই এপিআইয়ের পূর্ণরূপ হচ্ছে অ্যাপ্লিকেশন প্রোগ্রামিং ইন্টারফেস। অ্যাপ ডেভেলপার হিসেবে কাজ করতে গেলে সার্ভার রিলেটেড কাজ অবশ্যই করতে হবে একজন ডেভেলপারকে। সার্ভারের সঙ্গে অ্যাপের কমিউনিকেশন করাতে হলে আবশ্যক ব্যপার হচ্ছে এপিআই। সহজ ভাষায় ওয়েবের সঙ্গে অ্যাপের সংযোগ সক্ষমতা হচ্ছে এপিআই। ডেভেলপার হিসেবে কাজটি জানতেই হবে আপনাকে। তাছাড়া সার্ভার সম্পর্কিত অ্যাপ বানানো সম্ভব হবে না। সার্ভারের সঙ্গে এপিআই দিয়ে যোগাযোগ করার জন্য দুটি পদ্ধতি রয়েছে। এগুলো হচ্ছে- এক্সএমএল পার্সিং ও জেসন পার্সিং। ম্যাটেরিয়াল ডিজাইন বড় ডেভেলপমেন্ট কোম্পানিগুলো পণ্যের ম্যাটেরিয়াল ডিজাইন নিয়ে গভীরভাবে খুব একটা চিন্তা করেনি। তবে সম্প্রতি গুগল ম্যাটেরিয়াল ডিজাইন নিয়ে তাদের চিন্তার ব্যাপারটি পরিষ্কার করেছে। টেক জায়ান্টটি তাদের প্রায় সব প্রডাক্টে ম্যাটেরিয়াল ডিজাইন যুক্ত করেছে। ম্যাটেরিয়াল ডিজাইন হচ্ছে একটি ইন্টারফেসের কম্পোনেন্টগুলো ম্যাটেরিয়ালের মতো দেখাবে, যেগুলোর মিনিমাম একটা ড্রপ শ্যাডো থাকবে। গুগল যেহেতু ম্যাটেরিয়াল ডিজাইনের দিকে নজর দিচ্ছে, তাই অ্যান্ড্রয়েড অ্যাপে ভালো করতে হলে এ সম্পর্কে জানা ও তা কাজে প্রয়োগ করার উপায় জানা থাকলে তা বেশ কাজে দেবে। অ্যান্ড্রয়েড অ্যাপসের ব্যাপারে আজ বিস্তারিত জনানো হলে, পরের পার্টে ওয়েব ডিজাইন এবং ডেভেলপমেন্ট সম্পর্কে জানানো হবে ইনশাআল্লাহ। আসিফ শাহরিয়ার। রংপুর পলিটেকনিক ইনস্টিটিউট রংপুর। কম্পিউটার টেকনোলজি ৮ম পর্ব।

নিউজটি শেয়ার করুন

Leave a Reply

Your email address will not be published. Required fields are marked *

এ জাতীয় আরো খবর..

সাহরি ও ইফতারের সময় সূচি

সাহরি ও ইফতারের সময়সূচী
( শুক্রবার,২৯ মে ২০২০ )
 বিভাগ
 সাহরি শেষ
 ইফতার
 ঢাকা
 ০৬:০০ মিঃ
 ০৬:০০ মিঃ
 চট্টগ্রাম
 ০৫:৫৮ মিঃ
 ০৫:৫২ মিঃ
 সিলেট
 ০৫:৫১ মিঃ
 ০৫:৫৬ মিঃ
 রাজশাহী
 ০৬:০৫ মিঃ
 ০৬:০৮ মিঃ
 বরিশাল
 ০৬:০২ মিঃ
 ০৫:৫৮ মিঃ
 খুলনা
 ০৬:০৬ মিঃ
 ০৬:০২ মিঃ
 রংপুর
 ০৫:৫৯ মিঃ
 ০৬:০৬ মিঃ
 ময়মনসিংহ
 ০৫:৫৭ মিঃ
 ০৬:০১ মিঃ

ফেসবুকে আমরা

© All rights reserved © 2020 SwadhinNews.com
Design & Developed By : PIPILIKA BD
error: Content is protected !!