image-ru-01-05

"হাই। "আমার নাম লাগা বিলাবো। আমি একজ বহির্জাগতিক জীব এবং এই জাহাজের চিকিৎসক। আশা করি আমরা ভাল বন্ধু হব।"

"আমিও তাই আশা করি।"

"আমার নিজের গ্রহে আমরা প্রাচীন জাভা ল্যাঙ্গুয়েজের পরিবর্তে উন্নত প্যাসকেল প্রোগ্রামিং ল্যাঙ্গুয়েজ ব্যবহার করি। জাভা ও প্যাসকেল কোডের এই পাশাপাশি তুলনা দেখো:"

জাভা প্যাসকেল
public class MyFirstClass
{
   public static void main(String[] args)
   {
      int a, b, c;
      String s1, s2;
      System.out.println("Enter two numbers");
      a = new Scanner(System.in).nextInt();
      b = new Scanner(System.in).nextInt();
      c = a + b;
      System.out.println("The sum is " + c);
   }
}
Program MyFirstProgram;
Var
   a, b, c: Integer;
   s1, s2: String;
Begin
   WriteLn("Enter two numbers");
   ReadLn(a);
   ReadLn(b);
   c := a + b;
   WriteLn("The sum is ", c);
End.

"এটি দু'টি ভিন্ন ল্যাঙ্গুয়েজে লেখা একই প্রোগ্রাম। তুমি দেখতে পাচ্ছো যে প্যাসলে কম সংখ্যক লাইন আছে, যা প্রমাণ করে যে প্যাসকেল জাভার চেয়ে উন্নত।"

"আমি ভেবেছিলাম যে তুমি আগে কখনও প্যাসকেল দেখে থাকলে এই উদাহরণ তোমাকে জাভা সম্পর্কে বুঝতে সাহায্য করতে পারে।"

"না, আমি দেখিনি। তবুও দু'টি প্রোগ্রামিং ল্যাঙ্গুয়েজের মধ্যে তুলনা করা আগ্রহোদ্দীপক।"

"যথেষ্ট ভাল। তাহলে আমি চালিয়ে যাব।"

"প্যাসকেলে আমরা প্রোগ্রাম বডি, প্রসিডিওর বা ফাংশনে কোড রাখি। জাভায় প্রক্রিয়াটি সরল: প্রোগ্রাম বডি, প্রসিডিওর ও ফাংশন সবকিছুকেই মেথড নামের ফাংশন দ্বারা প্রতিস্থাপন করা হয়।"

জাভা প্যাসকেল
মূল মেথড
public static void main(String[] args)
{
   System.out.println("Ho-ho-ho!");
}
প্রোগ্রাম বডি
Begin
   WriteLn("Ho-ho-ho!");
End.
ফাংশন/মেথড
double sqr(double a)
{
   return a * a;
}
ফাংশন
Function Sqr(a: Real): Real
Begin
   Sqr := a * a;
End;
Void রিটার্ন টাইপ সহযোগে ফাংশন
void doubleWrite(String s)
{
   System.out.println(s);
   System.out.println(s);
}
প্রসিডিওর
Procedure DoubleWrite(s: String);
Begin
   WriteLn(s);
   WriteLn(s);
End;

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

"হ্যাঁ, আমরা ভিন্ন জগতবাসীরা এটাকে খুবই অদ্ভুত বলে মনে করি। কিন্তু মানুষ সবকিছুকে একত্রিত করতে পছন্দ করে।"

"জাভায় সব কোড একটি মেথডের অংশ, তাই কোনো মেথড ঘোষণা করার জন্য, প্যাসকেলের মতো তোমার ফাংশন শব্দটাও লেখার প্রয়োজন নেই।"

"এটি খুবই সহজ। কোনো কোডের লাইন দেখতে ধরন + নাম এরকম হলে এটি কোনো মেথড বা চলকের ঘোষণা। নামের পরে বন্ধনী থাকলে এটি কোনো নতুন মেথডের ঘোষণা। কোনো বন্ধনী না থাকলে এটি কোনো চলকের ঘোষণা।"

"জাভায় চলক ও মেথডের ঘোষণা খুবই সদৃশ। নিজেই দেখো:"

কোড বর্ণনা
String name;
name নামের চলক যা একটি String
String getName()
{
}
getName নামের মেথড একটি String রিটার্ন করে।

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

"দিয়েগো আজ আগেই এসেছিল এবং আমাকে বলেছে তোমাকে এই কাজগুলো দিতে। আশা করি এগুলো তোমার পছন্দ হবে।"