আমাদের অনেকেরই একজন দক্ষ প্রোগ্রামার হবার শখ আছে।কিন্তু, সবার তো আর সিএসই নিয়ে পড়াশোনা করার অথবা ভাল প্রোগ্রামিং এর শিক্ষক যোগাড় করার সামর্থ্য হয় না।আবার যারা এখনো বিশ্ববিদ্যালয়ে পড়ার যোগ্য হয়নি, তারা কি করে প্রোগ্রামিং শিখবে?মূলত, ইচ্ছা ই সবকিছু।আপনি যদি প্রোগ্রামিং শিখতে চান, প্রথমেই আপনার যা যা থাকতে হবেঃ
১.সৃজনশীল চিন্তা করার ক্ষমতা।
২.গনিতে পারদর্শিতা।
৩.দ্রুত সমস্যা সমাধান করার দক্ষতা।
৪.এলগরিদম বানানোর এবং সেটা প্রয়োগ করার ক্ষমতা।
এগুলো যদি আপনি ভাল বুঝেন, তবে আপনার কাজ অনেকটাই এগিয়ে গেল।
এবার আসি কোন ল্যাংগুয়েজ দিয়ে প্রোগ্রামিং শুরু করতে পারেন সে বিষয়ে।সবাই বলবে প্রোগ্রামিং এ হাতেখড়ি এর জন্য
সি প্রোগ্রামিং সেরা।আমি বলব,না!আপনি
পাইথন প্রোগ্রামিং দিয়ে শুরু করুন এবং কথা দিচ্ছি, পরবর্তীতে আপনি
সি ও সহজেই বুঝে নিতে পারবেন।মূলত, সকল প্রোগ্রামিং ভাষাই প্রায় এক এবং এক নিয়মেই কোড করতে হয়।কাজেই, আপনি একটায় সুদক্ষ হয়ে গেলে বাকিগুলো হাতের ময়লা হবে আপনার কাছে।বলতে পারেন, সবাই যেখানে
সি শিখতে বলে, সেখানে আমি
পাইথন আগে শিখার কথা কেন বলছি?কারন তো বলবই
:)
আর সব প্রোগ্রামিং ভাষার তুলনায় পাইথন অনেকটা সহজ সিনট্যাক্স মেইনটেইন করে বলে নতুন প্রোগ্রামারদের জন্য এই ভাষা অনেক সহজ।আমি কোডের উদাহরন দেখাইঃ
একটি সি প্রোগ্রামঃ
int main(){
int a = 5;
int b = 8;
printf(“%d\n”,a+b);
return 0;
}
একই প্রোগ্রাম পাইথনেঃ
a=5
b=8
print a+b
সি তে এরকম অনেক প্যাচাল আছে যা পাইথনে কোড করতে সময় লাগেই না!!!এমনকি এতো সেমিকোলন,রিটার্ন টাইপ ইত্যাদি ইত্যাদি দেয়ারও দরকার হবে না পাইথনে যা সি তে অনিবার্য!!
শুরুতেই যদি প্যাচাল দিয়ে প্রোগ্রামিং শিখেন, তাহলে আপনার আগ্রহ হয়তো কমে যেতেও পারে!!!পাইথনের সহজ কোডিং করে যদি একবার ধারা ধরে ফেলতে পারেন, আপনাকে আটকায় কে!!হয়ে যেতে পারেন সেরাদের সেরা!তবে, একথা সত্য যে পাইথন সি এর তুলনায় অনেক নিম্নগতির এবং কিছু কিছু কোড পাইথনে করা যাবে না আবার সি তে করা যাবে(পাইথনে করা যায় কিন্তু সি তে করা যায় না এরকমও আছে,তবে সি টা স্ট্যান্ডার্ড)।তবে, নিশ্চিত থাকেন, শুরুতেই এডভান্সড কিছু আপনি শিখতে যাচ্ছেন না।কাজেই পাইথন আপনাকে প্রোগ্রামিং এর বেসিকে অনেকটাই সাহায্য করবে বলে আশা করছি(আমার নিজের ক্ষেত্রেও অনেক হেল্প হয়েছে)।
এবার আসি আরো কিছু কথায়।আপনি এখন চাচ্ছেন ওয়েব ডেভেলপমেন্ট ভাষা শিখবেন, আমার কথা শুনে এগুলা শুরু করলেন,ভাল কিন্তু আপনার মূল গন্তব্য এইটা না!পাইথনে বেসিক এলগরিদম যদি আপনি প্রয়োগ করে ফেলার যোগ্য হয়ে যান, তবে আপনি অন্য ভাষা শিখে ফেলার জন্য প্রস্তুত।প্রোগ্রামিং মানে এই না, যে আপনি “hello world” প্রিন্ট করে নিজেকে মহান প্রোগ্রামার ভাবা শুরু করে দিলেন।প্রোগ্রামিং একটা শিল্প।এটা আপনার দক্ষতা।আপনি কত দ্রুত একটা সমাধান করার এলগরিদম তৈরি করছেন অথবা নতুন কিছু চিন্তা করছেন,সেটার সঠিক প্রয়োগ হল প্রোগ্রামিং।”Hello world” তো যে কেউ প্রিন্ট করতে পারে।এর মানে কি সবাই ভাল প্রোগ্রামার?না।আপনার টার্গেট একজন ভাল প্রোগ্রামার হওয়া উচিত।সামান্য কিছু জেনে সবার সামনে ভাব দেখিয়ে বেড়ানোটা প্রোগ্রামিং না(অধিকাংশ লোকেরাই এটা করে থাকে)।
সব কথার শেষে আরেকটা টপিক বহির্ভূত কথা বলতে চাই,
“হ্যাকার মানেই প্রোগ্রামার” অথবা “প্রোগ্রামার মানেই হ্যাকার” অথবা দুটোর কোনটাই আমি মানি না।
হ্যাকার হ্যাকারই,আর প্রোগ্রামার প্রোগ্রামারই।একজনের হয়তো দুটো দক্ষতা থাকতে পারে।কিন্তু এভাবে সূত্র দেওয়ার অধিকার কারো নাই।কেউ দেখুক আর না দেখুক, আমি “প্রোগ্রামিং জ্ঞান বিহীন হ্যাকার দেখেছি” এবং “হ্যাকিং এর জ্ঞান বিহীন প্রোগ্রামার দেখেছি”।সো, কম জ্ঞান নিয়ে কথা বললে ১০০ জন লোকের ৯৯ জন মেনে নিলেও আমি ১ জন ব্যতিক্রম থাকবোই
:)
“Use your logic and brain to understand something. No rule to believe something that you hear from someone without checking the validity of what someone says”
সময় নিয়ে পড়ার জন্য ধন্যবাদ
