শুরুর আগে ::
আপনি যখন এই পোস্ট পরছেন, আমি ধর নিচ্ছি আপনি প্রোগ্রামিং এর প্রতি শুধু ইন্টারেস্ট এবং আপনি প্রোগ্রামিং শিখতে চান । এবার আসল আলোচনায় আসি, যখন থেকে প্রোগ্রামিং শিখবো বা করব বলে ঠিক করেছি, তখন থেকেই শুনছি এটা খুব কঠিন, যা অনেকের পক্ষেই সম্ভব হয় না শেখা । এখন আমার প্রশ্ন হল পৃথিবীতে কোন জিনিসটা আছে , যা সহজ বা খুব সহজ কিন্তু মানুষের কাজে লাগে ? কেউ কি এমন কিছু একটা বলতে পারেন আমাকে ? অপেক্ষায় থাকলাম । তো যা বলছিলাম, প্রোগ্রামিং কোন কঠিন বিষয় নয় (), তাই বলে একদম সহজ তাও নয় । তাহলে ? এটা কি ? হ্যাঁ বলতেছি, প্রোগ্রামিং শিখতে বা করতে আপনার দুইটা জিনিস থাকতে হবে ১. ধৈর্য ২. পরিশ্রম । যদি আপনার ধৈর্য থাকে, ার আপনি পরিশ্রম করতে পারেন, তাহলে প্রোগ্রামিং শেখা বা প্রোগ্রামার হওয়া কেউ আটকাতে পারবে না ।
তো, প্রোগ্রামার হওয়ার আগে নিজেকে প্রশ্ন করুন এই দুইটা জিনিস আপনার আছে কিনা ? যদি থাকে তাহলে চলুন মুল আলোচনায় যাই,
একে একে জানার চেষ্টা করব,
- প্রোগ্রামিং কি ?
- প্রোগ্রামিং ল্যাঙ্গুয়েজ কি ?
- প্রোগ্রামার কে বা কারা ?
- প্রোগ্রামিং কেন ?
- কোথা থেকে শুরু করবেন ?
- কি কি ল্যাঙ্গুয়েজ শিখবেন ?
- কোথা থেকে, কিভাবে শিখবেন ?
চলুন কোথা না বাড়িয়ে শুরু করা যাক,……………………
প্রোগ্রাম, প্রোগ্রামিং কি?
কমপিউটারের মাধ্যমে কোন সমস্যা সমাধানের জন্য প্রয়োজনীয় নিদের্শমালার সমষ্টিকে প্রোগ্রাম (program) বলা হয়। আর এই ধারা বণর্না বা প্রোগ্রাম রচনার পদ্ধতি বা কৌশলকে প্রোগ্রাম পদ্ধতি বা প্রোগ্রামিং (programming) বলা হয়। অন্য কথায়, কোন সমস্যা অল্প সময়ে এবং সহজে সমাধানের উদ্দেশ্যে সম্পাদানের অনুক্রমে নিদের্শাবলী সাজানোর কৌশলকে প্রোগ্রামিং বলা হয়।
প্রোগ্রামিং ভাষা কি ?
কমপিউটারের মাধ্যমে কোন সমস্যা সমাধান তথা প্রোগ্রাম রচনার জন্য ব্যবহৃত শব্দ, বর্ণ, অংক, চিহৃ প্রভৃতির সমম্বনেয় গঠিত রীতিনীতিকে প্রোগ্রা ভাষা (Programming Language) বলা হয়। বিভিন্ন ধরনের প্রোগ্রাম রচনার জন্য বিভিন্ন ধরনের প্রোগ্রাম ভাষা ব্যবহৃত হয়। পৃথিবীতে কোটি কোটি মানুষ অনেক ধরনের ভাষা ব্যবহার করে। কিন্তু কমপিউটার এই সব ভাষা বোঝে না, সে শুধু বুঝে ( 1 , 0 ) যাকে বাইনারি সংখ্যা বলে । মেশিন ল্যাঙ্গুয়েজ নামেই বেশি পরিচিত । সুতরাং এখানে স্পষ্ট যে কম্পিউটার এর ল্যাঙ্গুয়েজ মেশিন ল্যাঙ্গুয়েজ আর প্রোগ্রামিং ল্যাঙ্গুয়েজ হচ্ছে C, C++, C#, Python, Perl , Ruby ইত্যাদি, যা নিয়ে পোস্ট এর শেষ দিয়ে আমি আলোচনা করব
প্রোগ্রামার কে বা কারা ?
সাধারণ ভাবে বলা যায় এভাবে, “যে বা যিনি কম্পিউটার এর জন্য সফটওয়্যার তিরি করেন, সমস্যা সৃষ্টি ও সমাধান করে, ওয়েব ডেভলপ করে, কোড লিখে এবং কোড আনলাইসিস করে , সেই প্রোগ্রামার ।”
“The term computer programmer can refer to a specialist in one area of computer programming or to a generalist who writes code for many kinds of software.”
“The term programmer can be used to refer to a software developer, Web Developer, Mobile Applications Developer, Embedded Firmware Developer, software engineer, computer scientist, or software analyst.”
“টাচ লাইন থেকে”
“web developer, Analysis, computer scientist(engineer) Coder / Programmer এর সংজ্ঞার মধ্যে রয়েছে সূক্ষ্ম পার্থক্য এবং রয়েছে জথা রীতি অনেক বেশি বিতর্ক .
পিছনের কথা
ব্রিটিশ mathematician Ada Lovelace ইতিহাসের প্রথম প্রোগ্রামার হিসেবে সমধিক পরিচিত । তিনিই প্রথম অ্যালগরিদম বিষয়টা ব্যাখা করেন । ১৮৪২ সালে চার্লস ব্যবেজের analytical engine ব্যবহার করে কাজ শুরু করেন ।
প্রোগ্রামিং কেন ?
আমাকে জিজ্ঞেস করতেছেন কেন ? আপনি প্রোগ্রামিং করবেন , আর আপনি জানেন না, কেন প্রোগ্রামিং করবেন ? ওকে, যদি না জেনে থাকেন , তাহলে বলতে পারি ( বলার চেষ্টা করতে পারি ) , প্রথমত আপনি প্রোগ্রামার হতে চান । বিভিন্ন প্রোগ্রামে যোগ দিয়ে নিজের মেধার সাক্ষর রাখতে চান । নতুন কিছু সৃষ্টি করতে চান, যা কেউ আজও করেনি । ধরেন আপনি এমন একটা সফটওয়্যার তৈরি করতে চান, যা কীবোর্ড ছাড়াই শুধু ভয়েচ পরিবর্তন করে স্ক্রীন এ লিখতে পারে । তাহলে কেমন হবে বলুন তো ? জোশ না ? যদি কাজটি সহজ নয়, কিন্তু চেষ্টা করতে দোষ কি ! দেখা গেল অনেক চেষ্টা করেছেন কিন্তু যত টুকু জজ্ঞতা থাকলে একজন ভাল প্রোগ্রামার হওয়া যায়, আপনি টা হতে পারলেন না । তাহলে কি আপনার এত দিনের শিক্ষা বৃথা ? না । সে ক্ষেত্রে আপনি ওয়েব ডেভেলপার হিসেবে কাজ শুরু করতে পারবেন (ওয়েব ডিজাইন আর ওয়েব ডেভেলপার এক জিনিস নয়, গুলিয়ে ফেলবেন না যেন ) বর্তমানে এক জন ওয়েব ডেভেলপার দাম ও কিন্তু একজন প্রোগ্রামারের থেকে কম না । আশা করছি বুঝতে পেরেছেন ।
কোথা থেকে শুরু করবেন ?
এই টা একটা প্রশ্ন বটে। কোথা থেকে শুরু করবেন ? এত দিনে হয়ত দেখে ফেলেছেন হাজার হাজার ল্যাঙ্গুয়েজ আছে প্রোগ্রামিং এর । তাহলে আপনি শুরু করবেন কন্তা দিয়ে ? আবার একেক জন একেক টা ল্যাঙ্গুয়েজ ভাল বলে, সহজ বলে (আমি আগেই বলেছি সহজ বা কঠিন বলে কিছু নেই, আপনি যেটা যেভাবে নেন, সহজ মনে করলে সহজ কঠিন মনে করলে কঠিন ) . ল্যাঙ্গুয়েজ লিস্ট দেখতে পারেন এখানে……… কি মাথা ঘুরতেছে কি ? ব্যপার না । প্রথম প্রথম ধুরবে । আসতে আসতে ঠিক হয়ে যাবে ।
এবার আসল কথা বলি, প্রোগ্রামিং আমার মতে শুরু করা উচিত C দিয়ে । আপনি যদি ভাল ভাবে সি শিখতে পারেন, তাহলে প্রোগ্রামিং এর মুল ধারণাটা আপনার হাতে চলে আসবে । প্রায় ৫০% – ৬০% ধারনা বা কাজ করার ক্ষমতা আপনার নিজে থেকে তৈরি হয়ে যাবে । এর পর সি ++ শিখবেন তাহলে নিজেকে আর ও একধাপ পরে নিয়ে গেলেন আপনি । এখান থকে আপনি ৬৫% – ৭০% নিজেকে তৈরি করে নিতে পারবেন । এর পর নিজেকে অনন্য উচ্চতায় তলার পালা । ধারাবাহিক ভাবে আপনি JAVA, Python, Ruby, Perl , C# শিখতে পারেন . আর হ্যাঁ, পিএইচপি নিয়ে তো কিছু বললাম না, তাই না ?? ওটা আর আপনাকে জোর করে শিখাতে হবে না । C আর C++ শিখে গেলে পিএইচপি আপনার পায়ে এসে লুটিয়ে পড়বে, আর বলবে আমাকে একটু দেখেন না , প্লিজ (হা… হা… হা… হা… হা… হা… হা… হা… হা… হা… হা…) ।
কি কি ল্যাঙ্গুয়েজ শিখবেন ?
উপরের লিস্ট নিশ্চয়ই দেখেছেন । ল্যাঙ্গুয়েজ এর কোন শেষ নাই । এত গুলো তো আর একটা মানুষের পক্ষে সেখা সম্ভব না তাই আমি জনপ্রিয় ১০ টি ল্যাঙ্গুয়েজ নিয়ে হাল্কা আলোচনা করব । ধারাবাহিকভাবে ,
Programming C
Programming C++
Programming C#
Visual Basic
Python
Perl
Ruby
Java
JavaScript (along with CSS and HTML)
Php
1. Programming C
ডেনিস রিচি ১৯৭০ সালে বেল ল্যাবরেটরিতে সি ভাষার উদ্ভাবন করেন। প্রথমে পিডিপি-১১ এ ইউনিক্স অপারেটিং সিস্টেমের নিয়ন্ত্রনে এ ভাষার প্রয়োগ শুরু হয়েছিল। বর্তমানে অত্যন্ত শক্তিশালী এবং জনপ্রিয় উচ্চতর ভাষা হিসেবে সি পরিচিত। বর্তমানে বিভিন্ন ধরনের কমপিউটারে এবং বিভিন্ন অপারেটিং সিস্টেমের নিয়ন্ত্রনে সি ব্যাপকভাবে ব্যবহৃত হয়।
সি প্রোগ্রামিং/কেন সি শিখবেন?
সি হল অপারেটিং সিস্টেম লেখার জন্য সবচেয়ে বেশী ব্যবহৃত প্রোগ্রামিং ভাষা । ইউনিক্স সি ভাষায় লেখা প্রথম অপারেটিং সিস্টেম । উত্তরকালের মাইক্রোসফট উইন্ডোস , ম্যাক ও এস এক্স , গ্নু/লিনাক্স সবগুলোই সি প্রগ্রামিং ভাষায় লেখা । সি শুধু অপারেটিং সিস্টেমের ভাষাই নয় , বর্তমানকালে জনপ্রিয় প্রায় সকল প্রোগ্রমিং ভাষার প্রেরণা সি প্রোগ্রমিং ভাষা । প্রকৃতপক্ষে পার্ল , পিএইচপি , পাইথন , রুবি প্রত্যেকটা ভাষাই সি তে লেখা । ধরুন আপনি স্পেনিশ , ইটালিয়ান , ফ্রেঞ্চ বা পর্তুগিজ ভাষা শিখতে চাচ্ছেন । তার আগে ল্যাটিন শেখা কি আপনার কাজে আসবে নাকি না ? যেহেতু ল্যাটিন ভাষা থেকেই এসকল ভাষার উৎপত্তি । সি শেখা আপনাকে সি ভাষায় তৈরি করা পুরো প্রোগ্রমিং ভাষার পরিবারকে বুঝতে সাহায্য করবে – আপনাকে দেবে স্বাধীনতা । মার্টিন রিটির তৈরিকৃত BCPL থেকে প্রোগামিং ভাষা খেকে B প্রোগামিং ভাষা ডেভেলোপ করা হয় এবং সেখান থেকে ১৯৭০ সালে আমেরিকার বেল ল্যাবরেটরিতে ডেনিস রিটি নামক প্রোগামার এই C ভাষাটি ডেভেলোপ করেন। ১৯৮৩ সালে আমেরিকার National Standard Ins সে সময়ে প্রচলিত Unix C এর জন্যে মান (Standard) নির্ধারণ করে দেন। C প্রোগমিং এর ক্সেত্রে অনেকগুলো পথ রযেছে। যেমন: ANSI C, Borland C, Turbo C, Microsoft C etc. এগুলোর মধ্যে ১ম টি হলো Standard এবং বাকিরা এই Standard অনুসরণ করে। আবার এরা প্রত্যেকে এক একটি Compiler।
Pdf Download Link :
- Programming in ANSI C by Balaguruswamy [আমার মতে প্রোগ্রামিং শেখার সেরা বই !]
- Practical C Programming, 3rd Edition (1997)
Reference WebSite Link :
Video Tutorial Link :
[ নোট :: প্রতিটি লিঙ্ক এ সর্বনিম্ন ৫ টি এবং সর্বচ্চো ১০ টি লিঙ্ক দিব । বাকিটা আপনাদের সংগ্রহ করতে হবে ]
2. Programming C++
C++একটি বহুল ব্যবহৃত অবজেক্ট অরিযেন্টেড প্রোগ্রাম ভাষা। ১৯৮০ সালে যুক্তরাষ্ট্রের এটি এন্ড টি বেল ল্যাবরেটরিতে জর্ন স্ট্রাউসট্রপ এ ভাষা উদ্ভাবন করেন। প্রথমে এর নাম ছিল সি উইথ ক্লাস। পরবর্তীতে আরও নতুন নতুন কিছু বৈশিষ্ট্য ও সুবিধা যোগ করে ১৯৮৩ সালে নাম করন করা হয় C++। C++ এ সি এর সকল বৈশিষ্ট্য ও সুবিধা সহ অতিরিক্ত আরও কিছূ সুবিধা আছে। এজন্য C++ কে C এর বর্ধিত সংস্করন বা সুপারসেট বলা হয়।
- Pdf Download Link :
- Programming C++ by bala gurusamy [আমার মতে প্রোগ্রামিং শেখার সেরা বই !]
Object-Oriented Programming With C++ By Balaguruswamy
- Video Tutorial Link :
- Reference WebSite Link :
- সি প্লাস প্লাস ১
- সি প্লাস প্লাস ২
- http://tutorialvid.com/videoList.php?pg=videonew&tags=dreamweaver%20cs4
Very Nice Article.Thanq for share this post.
ReplyDeleteOffice-365-Online-Training