Saturday, February 24, 2024

চটকদারি পাইথন বনাম পুষ্টিকর সি


ধরুন কেউ নতুন নতুন প্রোগ্রামিং শিখছে ,তাকে সি প্রোগ্রামিং শেখানো হচ্ছে ,তার শিক্ষক / শিক্ষকা তাকে শেখাছেন বুঝলে সি তে কিছু প্রিন্ট করতে হলে এরকম করে করতে হয়

#include <stdio.h>
int main() {
   // printf() displays the string inside quotation
   printf("Hello, World!");
   return 0;
}

সে লাইন গুলো লিখলো ,লিখতে গিয়ে ভুল ভ্রান্তি না হলে প্রোগ্রাম কম্পাইল এবং রান হলো সফলভাবে ,স্ক্রিন এ ফুটে উঠলো hello world

সে ভাবলো আচ্ছা তাহলে দুটো শব্দ প্রিন্ট করতে গেলে চারটে লাইন লিখতে হবে

ওদিকে তার বেড়ে পাকা বন্ধু  পাইথন শিখছে

সে লিখলো

print("Hello, World!")

একই রেসাল্ট পেয়ে সে খিকখিক করে হাসতে থাকলো

দেখে আপনার কেমন লাগবে

বা ধরুন আপনার শিক্ষক বা শিক্ষিকা আপনাকে শেখাচ্ছেন কম্পিউটারের একটা বড় কাজ হলো বারবার যা করতে হয় সেটা কম্পিউটার ই একটা নিয়মের মধ্যে ফেলে নিজে করে ফেলে ,আপনাকে বারবার করতে হয় না ,ধরুন আপনি আপনার নামটা পাঁচবার প্রিন্ট করবেন

সি প্রোগ্রামিং এ আপনাকে লিখতে হবে

#include <stdio.h>

int main() {
    int i=1;
    while(i<5)
    {
        Printf("Sourav Bhattacharya");
        i=i+1;
        
    }

    return 0;
}

ওদিকে আপনার পাইথন শেখা বন্ধু এক লাইনে লিখে ফেললো

print("Sourav Bhattacharya\n"*five )

দেখে এবার আপনার একটু একটু হিংসা হতে শুরু করেছে ,কেন যে সি শেখানো হচ্ছে ,একদিকে রাজভোগ আরেকদিকে প্যারা/ঠেকুয়া  যেন

এবার আপনাকে ক্লাস এসাইনমেন্ট দিলেন আপনার শিক্ষক বা শিক্ষিকা

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

#include<stdio.h>

 

void main()
{
char name[]="abba";
char c='z';
int length=0;
char reversename[100];
int j=0;
char signal='T';
printf("%s\n",name);

 

while (c!='\0')
{
c=name[length];
length++;

 

}

printf("the length is %d\n",length-1);

 

for(int i=(length-2);i>=0;i=i-1)

{

printf("name[%d] is %c\n",i,name[i]);
reversename[j]= name[i];
j++;

}
printf("reversename is %s\n",reversename);
j=0;
for(j=0;j<=((length)-2);j=j+1)

{
printf("character reversename[%d]=%c name[%d]=%c is being compared\n",j,reversename[j],j,name[j]);
if (reversename[j]!=name[j])
{
//printf("not matched");
signal='F';
}

 

}
if (signal=='T')
printf("palindrome\n");
else
printf("not pal\n");

}

মনে রাখবেন জীবনে প্রথমবার প্রোগ্রামিং শিখছেন আপনি ,খুব এফিসিয়েন্ট কোডিং যে পারবেন না ইটা প্রত্যাশিত ,আমি ২০০২ সালে কানেতকার  পড়ে এইটা লিখেছিলাম ,কাজ হচ্ছে ,কিন্তু এফিসিয়েন্ট নয় ,কিন্তু প্রথমবার সাফল্য পেয়ে গর্বিত মুখে যেই আপনি বেড়ে পাকা বন্ধুর দিকে তাকিয়েছেন

বেড়ে পাকা বন্ধু বলে অরে পাইথনে এটা  করা খুব সোজা ,এতো লিখতে হয় না ,এই দেখ

x=input()
if x==x[::-1]:
    print('pal')
else:
    print('not pal')


দেখে আপনি এবার খেপে যাবেন ,বলবেন ধুর ছাই সি আর দরকার নেই ,পাইথন ই ভালো শেখার জন্য

ঐটাই আপনার বিরাট ভুল হবে ,সি একটা লিজেন্ডারি ল্যাংগুয়েজ ,স্পিড থেকে এফিসিয়েন্সি অনেক কিছুতে আজ ও এগিয়ে ,মাইকেল যেমন ইংরিজি থেকে বাংলায় ফিরেছিলেন আপনি কি আবার পাইথন থেকে সি তে ফিরতে পারবেন ??খুব কঠিন ওই ট্রানজিশন


No comments:

Post a Comment