https://eshikhon.com/wp-content/uploads/2019/01/Screenshot_4.jpg

জাভা কি?

জাভা একটি শক্তিশালী, সুরক্ষিত এবং অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ল্যাংগুয়েজ। এখন প্রশ্ন হল প্রোগ্রামিং ল্যাংগুয়েজ কি বা এটি কি কাজে লাগে ? প্রোগ্রামিং ল্যাংগুয়েজ হল কম্পিউটারের ভাষা। আমাদের কথা গুলোকে কম্পিউটার কে বোঝানোর জন্য যে ভাষায় কম্পিউটারের সাথে কথা বলা লাগে তা হল প্রোগ্রামিং ল্যাংগুয়েজ। মানুষের যেমন মনের ভাব প্রকাশের জন্য অনেক রকম ভাষা আছে সেরকম কম্পিউটার কে বোঝানোর জন্যেও আছে অনেক রকম ভাষা যেমন : C, C++, Java, Python Swift, PHP, Java Script,ইত্যাদি এসব আমরা পরে বিস্তারিত জানব। তো জাভা হল এরকম একটা ভাষা যা দিয়ে কম্পিউটারের সাথে কথা বলা যায় বা আমাদের ইচ্ছে অনুযায়ী কম্পিউটারকে আমাদের কাজে লাগানো যায়।


কেন শিখবেন জাভা ল্যাঙ্গুয়েজ?

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

জাভার ব্যবহার:

ইতিমধ্যে আমরা জেনে গেছি জাভা হল একটি শক্তিশালী প্রোগ্রামিং ভাষা। এক নজর দেখে নেই যেসব কাজে জাভাকে ব্যবহার করা যাবে:

গেমস।

 রোবটিক্স।

 মোবাইল এপস।

 ওয়েব বেসড এপলিকেশন্স।

 ডেস্কটপ বেসড এপলিকেশন্স। যেমন acrobat reader, media player, antivirus ইত্যাদি।


জাভার জনপ্রিয়তার কারণ কি?

  জাভা সহজ, এর সিনট্যাক্স সি/সি++ এর মতো। সহজেই মনে রাখা যায়।

 জাভা কোড দেখে সহজে পড়া যায়। অন্য কোনো প্রোগ্রামিং ল্যাংগুয়েজের প্রোগ্রামারও জাভাতে লেখা কোড খুব সহজে পড়তে পারে।

  জাভা দিয়ে যেকোনো রকম প্রোগ্রামিং করা যায়। যেমন- স্মার্টফোন থেকে শুরু করে সার্ভার, এটিএম মেশিন (ATM Machine), পয়েন্ট অব সেল (POS) এর টার্মিনাল, ব্লু-রে প্লেয়ার, টেলিভিশন, সেট-টপ বক্স (STB), ইন্টারনেট অব থিং (Internet of thing) এর গেটওয়ে (Gateway), মেডিকেল ডিভাইস (Medical Device), আমাজনের কিন্ডল (Kindle), অটোমোবাইল এবং আরও অনেক কিছুতে প্রোগ্রাম করা যায়।

  অনেক বড়ো বড়ো সফটওয়্যার ইনড্রাস্ট্রি জাভা পছন্দ করে, কারণ এতে একসঙ্গে অনেকগুলো প্রোগ্রামার একই প্রজেক্টে কাজ করতে পারে। বড় প্রজেক্টে অনেক বেশি প্রোগ্রামার বা ইঞ্জিনিয়ার প্রয়োজন হয়। জাভাতে এটি মেইনটেইন করা সহজ।

  জাভা সাধরাণত খুব গুরুত্বপূর্ণ এবং রিয়েল ওয়ার্ল্ড অ্যাপ্লিকেশন (Real World Application) তৈরিতে ব্যবহার করা হয়। যেমন, এন্ড্রয়েড ডেভেলপমেন্টের ক্ষেত্রে জাভা ব্যবহার অপরিহার্য। বিশেষ বিশেষ শক্তিশালী ওয়েব সাইট যেমন, eBay.com, LinkedIn.com, Amazon.com, Facebook.com, ESPNcricinfo.com, Gmail.com, Netflix.com, Alibaba.com ইত্যাদিতে জাভা ব্যবহার করা হয়েছে। এছাড়াও বিভিন্ন এন্টারপ্রাইজ অ্যাপ্লিকেশন যেমন, অর্থনৈতিক সেবাসমূহ, স্বাস্থ্যসেবা, ম্যানুফ্যাকচারিং ইত্যাদির জন্য যেকোনো ইন্ডাস্ট্রিতে জাভার চাহিদা সর্বাগ্রে।

 জাভাতে অসংখ্য এপিআই (API) আছে যেগুলো খুবই স্টেবল (Stable), খুব বেশি চিন্তাভাবনা না করেই এগুলো নিশ্চিন্তমনে ব্যবহার করে খুব সহজেই অনেক বড় বড় প্রোগ্রাম লিখে ফেলা যায়।

 এটি একটি ওপেন সোর্স প্রোগ্রামিং ভাষা। এর সোর্সকোড যে কেউ পড়তে পারে।

  জাভা ভার্চুয়াল মেশিন সম্ভবত সফটওয়্যার জগতে সবচেয়ে চমৎকার সৃষ্টি। এটি জাভার সঙ্গে আরও অনেকগুলো ল্যাঙ্গুয়েজ  যেমন, Groovy, Scala, Kotlin, Jython,Jruby, Clojure ইত্যাদি নিয়ে কাজ করা যায়।

 গত ১৫ বছরে অনেকগুলো চমৎকার ডেভেলপমেন্ট এনভায়রনমেন্ট (Integrated Development Environment – IDE) তৈরি হয়েছে যেগুলো খুবই স্মার্ট এবং ইন্টেলিজেন্ট। যেমন, Eclipse, IntelliJ IDEA, Netbeans ইত্যাদি। এগুলো ব্যবহার করে খুব আয়েশের সঙ্গেই কোড করা ও ডিবাগ করা যায়।

 এটি একটি অবজেক্ট ওরিয়েন্টেড, টাইপ সেইফ প্রোগ্রামিং ভাষা।

 এটি পোর্টেবল, যেকোনো প্ল্যাটফর্মে চলে (প্ল্যাটফর্ম ইনডিপেন্ডেন্ট)। একবার কোড লিখে সেটি যেকোনো মেশিনে (উইন্ডোজ, লিনাক্স, ম্যাক অপারেটিং সিস্টেমে) চালানো যায়।

 এর অনেক বড় কমিউনিটি সাপোর্ট রয়েছে। সারা পৃথিবীতে প্রায় ১০ মিলিয়ন জাভা প্রোগ্রামার ছড়িয়ে ছিটিয়ে আছে।


জাভা ল্যাঙ্গুয়েজ দিয়ে এন্ড্রয়েড অ্যাপ তৈরি করতে কি কি জানতে হবে?

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


অ্যান্ড্রয়েড প্রোগ্রামিংয়ের জন্য জাভার কোন ভার্সন ব্যবহার করা উচিৎ?

অ্যান্ড্রয়েড জাভা ৭ এর সবগুলো ফিচার সাপোর্ট করে। জাভা ৮ এর সবগুলো না হলেও একটা বড় অংশ সাপোর্ট করে। জাভা ৮ এর নতুন ফিচারগুলো সাপোর্ট করার জন্য অ্যান্ড্রয়েড একটি নতুন কম্পাইলার ব্যবহার করে নাম Jack. বিস্তারিত পাওয়া যাবে এই লিংকে: Click Here


 জাভার এন্টারপ্রাইজ এডিশন কী?

সাধারণত অনেক বড় ধরণের ব্যবসা প্রতিষ্ঠানে ব্যবহৃত অ্যাপ্লিকেশনগুলোতে এন্টাপ্রাইজ শব্দটি ব্যবহার করা হয়। বর্তমানে করপোরেট ইনভাইরনমেন্টে এন্টারপ্রাইজ অ্যাপ্লিকেশন বলতে খুব জটিল, ডিস্ট্রিবিউটেড, কম্পোনেন্ট বেইজড এবং মিশন ক্রিটক্যাল (mission-critical) অ্যাপ্লিকেশন বোঝায়। মিশন ক্রিটিক্যাল অ্যাপ্লিকেশন হলো সেগুলো, যেগুলো কোনো একটি বিশেষ ব্যবসায়িক উদ্দেশ্যে অ্যাপ্লিকেশনটি ব্যবহার করা হয়, যার উপর সম্পূর্ণ ব্যবসাটি নির্ভর করছে। কোন কারণে অ্যাপ্লিকেশনটি কাজ না করলে ব্যবসাটি ক্ষতিগ্রস্থ হয়। এগুলো বিভিন্ন ধরণের প্লাটফর্মের জন্য তৈরি করা হয়, এবং করপোরেট নেটওয়ার্কস, রেসট্রিকটেড নেটওয়ার্কস, ইন্টারনেটের মাধ্যমে ব্যবহার করা হয়, এগুলো খুব ইউজার ফ্রেন্ডলি, ডেটাসেন্ট্রিক, সিকিউরড, এডমিনিস্ট্রটিভ হয় এবং সহজে ম্যানিপুলেট করা যায়। মোটকথা এন্টাপ্রাইজ অ্যাপ্লিকেশন হলো খুব কমপ্লেক্স অ্যাপ্লিকেশন। যেমন- ডাটা স্টোরেজ করা এবং ইউজার রেসট্রিকটেড করা, কাস্টোমার ইনভয়েস, ফ্লাইট বুকিং করা, ব্যাংকিং সিস্টেম অটোমেশন, হেল্থ কেয়ার সিস্টেম এগুলো এন্টারপ্রাইজ অ্যাপ্লিকেশনের উদাহরণ। এগুলোর মাল্টিপল ইন্টারফেজ থাকে পারে, রিমুট কমিউনিকেশন করতে পারে, উন্নত ধরণের গ্রাফিক্যাল ইউজার ইন্টারফেজ থাকে। এটি জাভা স্ট্যান্ডার্ড এডিশনের উপর ভিত্তি করে তৈরি ওয়েব এবং অনেক বড় মাপের এন্টারপ্রাইজ অ্যাপ্লিকেশন তৈরি করার জন্য যে সব কম্পোনেন্ট দরকার হয় তার একটি বিশাল প্যাকেজ। এগুলোকে আলাদা করে নাম দেওয়া হয়েছে জাভা এন্টারপ্রাইজ এডিশন (JEE)। উদাহরণস্বরূপ এর কম্পোনেন্টগুলো হলো:

 Servlets

 Java Server Pages (JSP)

 Java Server Faces (JSF)

 Enterprise Java Beans (EJB)

Java Transaction API (JTA)

 Java Persistence API (JPA)

 RESTful Web Services (JAX-RS)

 Bean Validation

 Unified Expression Language (EL)

 Context and Dependency Injection (CDI)

 Java Message Service message queue API’s (JMS)

 Java WebSocket

 JSON Processing API (JSON-P)


 জাভা প্রোগ্রামিং বইয়ে কী কী আছে ?

একজন নতুন শিক্ষার্থীর জাভা প্রোগ্রামিং ভাষার যে যে বিষয়গুলোর দিকে নজর দেওয়া উচিৎ সে বিষয়গুলোই এই বইয়ে আলোকপাত করার চেষ্টা করা হয়েছে। বইটি মূলত যারা ইতিমধ্যে একটি প্রোগ্রামিং ভাষা যেমন সি প্রোগ্রামিং ভাষার কিছুটা ধারণা আছে এবং নতুন একটি প্রোগ্রামিং ভাষা বিশেষ করে অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ভাষা শিখতে চায় তাদের উদ্দেশ্য করে লেখা হয়েছে। এতে অনেকগুলো বিষয় খুবই গুরুত্বপূর্ণ হওয়া সত্যেও বাদ দেওয়া হয়ছে। যেমন — থ্রেড (Thread), জাভা মেমোরি মডেল (Java Memory Model), অ্যানোটেশন প্রসেসিং (Annotation Processing), ল্যামডা এক্সপ্রেশন (Lambda Expression), নেটওয়ার্কিং (Networking) ইত্যাদি। তবে এগুলোর সবগুলো এডভান্স জাভা প্রোগ্রামিংয়ের জন্য প্রয়োজন হয়।


 ওয়েব প্রোগ্রামিংয়ের ক্ষেত্রে জাভার গুরুত্ব কতটুকু?

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


কোথা থেকে জাভা শিখবেন?

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

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

Leave a Reply

স্যার, কিভাবে আপনাকে সাহায্য করতে পারি?

Click one of our representatives below

Customer Support
Customer Support

Syeda Nusrat

I am online

I am offline

Technical Support
Technical Support

Ariful Islam Aquib

I am online

I am offline