প্রোগ্রামিং শুরু করতে চাও ? তাহলে পড় ।

প্রোগ্রামিং শুরু করবেন যেভাবে : পরিপূর্ণ গাইডলাইন

• শুরুর আগে :
আমি ধের নিচ্ছি আপনি প্রোগ্রামিং এর প্রতি শুধু ইন্টারেস্ট এবং আপনি প্রোগ্রামিং শিখতে চান । এবার আসল আলোচনায় আসি, যখন থেকে প্রোগ্রামিং শিখবো বা করব বলে ঠিক করেছি, তখন থেকেই শুনছি এটা খুব কঠিন, যা অনেকের পক্ষেই সম্ভব হয় না শেখা । এখন আমার প্রশ্ন হল পৃথিবীতে কোন জিনিসটা আছে , যা সহজ বা খুব সহজ কিন্তু মানুষের কাজে লাগে ? কেউ কি এমন কিছু একটা বলতে পারেন আমাকে ? অপেক্ষায় থাকলাম । তো যা বলছিলাম, প্রোগ্রামিং কোন কঠিন বিষয় নয় (), তাই বলে একদম সহজ তাও নয় । তাহলে ? এটা কি ? হ্যাঁ বলতেছি, প্রোগ্রামিং শিখতে বা করতে আপনার দুইটা জিনিস থাকতে হবে ১. ধৈর্য ২. পরিশ্রম । যদি আপনার ধৈর্য থাকে, ার আপনি পরিশ্রম করতে পারেন, তাহলে প্রোগ্রামিং শেখা বা প্রোগ্রামার হওয়া কেউ আটকাতে পারবে না ।
তো, প্রোগ্রামার হওয়ার আগে নিজেকে প্রশ্ন করুন এই দুইটা জিনিস আপনার আছে কিনা ? যদি থাকে তাহলে চলুন মুল আলোচনায় যাই,
একে একে জানার চেষ্টা করব,
• প্রোগ্রামিং কি ?
• প্রোগ্রামিং ল্যাঙ্গুয়েজ কি ?
• প্রোগ্রামার কে বা কারা ?
• প্রোগ্রামিং কেন ?
• কোথা থেকে শুরু করবেন ?
• কি কি ল্যাঙ্গুয়েজ শিখবেন ?
• কোথা থেকে, কিভাবে শিখবেন ?
চলুন কোথা না বাড়িয়ে শুরু করা যাক,……………………
• প্রোগ্রাম, প্রোগ্রামিং কি?
কমপিউটারের মাধ্যমে কোন সমস্যা সমাধানের জন্য প্রয়োজনীয় নিদের্শমালার সমষ্টিকে প্রোগ্রাম (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++ শিখে গেলে পিএইচপি আপনার পায়ে এসে লুটিয়ে পড়বে, আর বলবে আমাকে একটু দেখেন না , প্লিজ (হা… হা… হা… হা… হা… হা… হা… হা… হা… হা… হা…) ।
• কি কি ল্যাঙ্গুয়েজ শিখবেন ?
উপরের লিস্ট নিশ্চয়ই দেখেছেন । ল্যাঙ্গুয়েজ এর কোন শেষ নাই । এত গুলো তো আর একটা মানুষের পক্ষে সেখা সম্ভব না তাই আমি জনপ্রিয় ১০ টি ল্যাঙ্গুয়েজ নিয়ে হাল্কা আলোচনা করব । ধারাবাহিকভাবে ,
1. Programming C
2. Programming C++
3. Programming C#
4. Visual Basic
5. Python
6. Perl
7. Ruby
8. Java
9. JavaScript (along with CSS and HTML)
10. 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 :
1. Free Download Link :: [Programming C - 1] Head First C by OREILLY ( A Brain Friendly Guide )
2. Free Download Link :: [Programming C - 2] Bible of Programming C for Linux
3. Free Download Link ::[Programming C - 3] C For Dummies, 2nd Edition
4. Free Download Link ::[Programming C - 4] The C Answer Book- Solutions to the Exercises in The C Programming Language
5. Free Download Link :: [Programming C - 5] The_C_Answer_Book
6. Free Download Link ::[Programming C - 6] C Programming – Ebook
7. Free Download Link :: [Programming C - 7] Programming_Challenges
8. Free Download Link :: [Programming C - 8] Art_of_Programming_Contest_SE_for_uva
9. Free Download Link ::[Programming C - 9] ANSI C Programming by Brian Wkernighan $ Dennis M.Ritchie
10. Free Download Link :: [Programming C - 10] The C Programming Language – From The O’Reilly Anthology
11. Free Download Link :: [Programming C - 11] C Pocket Reference 2002
12. Free Download Link :: [Programming C - 12] C Primer Plus, 4th Ed 2002
13. Free Download Link :: [Programming C - 13] C and Data Structure
14. Free Download Link :: [Programming C - 14] C By Example
15. Programming C By balaguruswamy [Rapid Share link update]Programming C By balaguruswamy [Mediafire link update]
16. Free Download Link :: [ Programming C 16] Programming in ANSI C by Balaguruswamy [আমার মতে প্রোগ্রামিং শেখার সেরা বই !]
17. Free Download Link :: [ Programming C 17 ] Practical C Programming, 3rd Edition (1997)
• Reference WebSite Link :
1. http://www.cprogramming.com/
2. http://www.cprogrammingexpert.com/
3. http://www.mycplus.com/c…/tutorials/c-programming-tutorials/
4. http://www.eskimo.com/~scs/cclass/notes/top.html
5. http://www.tutorialspoint.com/ansi_c/c_introduction.htm
6. http://www.cs.cf.ac.uk/Dave/C/CE.html
7. http://www.programmingsimplified.com/c-program-examples
8. http://www.ibm.com/developerw…/…/library/au-hook_duttaC.html
9. http://einstein.drexel.edu/cour…/Comp_Phys/General/C_basics/
10. http://www.iu.hio.no/~mark/CTutorial/CTutorial.html
11. http://cprogramminglanguage.net/
Video Tutorial Link :
1. c
• 2. Programming C++
C++একটি বহুল ব্যবহৃত অবজেক্ট অরিযেন্টেড প্রোগ্রাম ভাষা। ১৯৮০ সালে যুক্তরাষ্ট্রের এটি এন্ড টি বেল ল্যাবরেটরিতে জর্ন স্ট্রাউসট্রপ এ ভাষা উদ্ভাবন করেন। প্রথমে এর নাম ছিল সি উইথ ক্লাস। পরবর্তীতে আরও নতুন নতুন কিছু বৈশিষ্ট্য ও সুবিধা যোগ করে ১৯৮৩ সালে নাম করন করা হয় C++। C++ এ সি এর সকল বৈশিষ্ট্য ও সুবিধা সহ অতিরিক্ত আরও কিছূ সুবিধা আছে। এজন্য C++ কে C এর বর্ধিত সংস্করন বা সুপারসেট বলা হয়।
Pdf Download Link :
1. Programming C++ by bala gurusamy [আমার মতে প্রোগ্রামিং শেখার সেরা বই !]
2. Object-Oriented Programming With C++ By Balaguruswamy
3. Free Download Link :: [ Programming C ++ 0 ] Programming C++ By balaguruswam
4. Free Download Link :: [ C++ Programming Language-1 ] Beginning C++ Through Game Programming Third Edition
5. Free Download Link :: [ C++ Programming Language-2 ] Object-Oriented Programming With C By Balaguruswamy
6. Free Download Link :: [ C++ Programming Language-3 ] Practical Programming By Balagurusamy
7. Free Download Link :: [ C++ Programming Language-4 ] structured-programming-with-c-plus-plus
8. Free Download Link :: [ C++ Programming Language-5 ] Stroustrup – The C++ Programming Language Special Edition
• Video Tutorial Link :
1. c
• Reference WebSite Link :
1. http://www.cprogramming.com/tutorial/c++-tutorial.html
2. http://www.cplusplus.com/doc/tutorial/
3. http://cs.fit.edu/~mmahoney/cse2050/how2cpp.html
4. http://www.desy.de/gna/html/cc/Tutorial/tutorial.html
5. http://www.tenouk.com/cplusplustutorial.html
6. http://www.gillius.org/ooptut/index.htm
7. http://www.tiem.utk.edu/~gross/c++man/tutorial.html
8. http://www.tutorialspoint.com/cplus…/cpp_object_oriented.htm
9. http://courses.swinburne.edu.au/…/Object-Oriented-Pro…/local
10. http://www.dreamincode.net/…/9873-object-oriented-programm…/
• 3. Programming C# ::
সি # (শার্প) এখনও জাভার পর সবচেয়ে শক্তিশালী ল্যাঙ্গুয়েজ । মাইক্রোসফট 2001 সালে এর ডিজাইন করেন এবং প্রগ্রাম্মাদের জন্য উন্মুক্ত করেন । এটি functional, Creative, object oriented , structured and component oriented feature এর সমষ্টি । এটি জাভা দ্বারা মূলত হয় প্রভাবিত এবং নিরাপদ ও ডায়নামিক ।
• Pdf Download Link :
1. C# 2010 Express Edition
2. A Comparison of the C#
3. HTTP Programming Recipes for C# Bots
4. Introduction to Neural Networks for C#
• Video Tutorial Link :
1. c
2. C# Programming tutorial (2of2)
• Reference WebSite Link :
1. http://www.c-sharpcorner.com/beginners/
2. http://www.functionx.com/csharp/
3. http://www.csharp-station.com/Tutorial.aspx/
4. http://stackoverflow.com/…/c-sharp-web-development-learning…
5. http://www.sitepoint.com/vb-dot-net-c-sharp-programming/
6. http://www.csharp411.com/best-c-web-sites/
7. http://msdn.microsoft.com/en…/library/67ef8sbd(v=vs.80).aspx
8. http://www.pgacon.com/csip21/default.htm
9. http://www.homeandlearn.co.uk/csharp/csharp.html
10. http://www.hitmill.com/programming/dotNET/csharp.html
4. Visual Basic :
ইউজার ইন্টারফেস , ড্র্যাগ এন্ড ড্রপ ডিজাইন , প্রোটোটাইপ ফর্ম জেনারেটর সহ অসাধারন সব ফিচার নিয়ে আল্যান কুপার ১৯৯১ সালে প্রথম রিলিজ করেন ভিজুয়াল বেসিক ১.০ ।
দেখি সামনে আরও কিছু যোগ করা যায় কিনা ?
• Pdf Download Link :
• Video Tutorial Link :
1.
2. Follow This Channel 10+ video
• Reference WebSite Link
1. http://www.functionx.com/vbnet/index.htm
2. http://www.homeandlearn.co.uk/net/vbnet.html
3. http://www.mono-project.com/VisualBasic.NET_support
4. http://visualbasic.about.com/…/Learn_VBNET_Visual_Basic_for…
5. http://www.a1vbcode.com/code.asp?type=vb.net
6. http://www.codeproject.com/KB/vb/
7. http://www.learnvisualstudio.net/
8. http://vb.net-informations.com/
9. http://www.accelebrate.com/vb.net/
10. http://www.dotnetperls.com/for-vbnet
• 5. Python ::
১৯৯১ সালের ফেব্রুয়ারী মাসে Van Rossum কর্তৃক প্রকাশিত প্রোগ্রামিং ল্যাঙ্গুয়েজ পাইথন । ( এই ল্যাঙ্গুয়েজ এর প্রতি আমার অনেক আগ্রহ, তাই এর আদি অন্ত শিগ্রি জাতির সামনে উম্মচন করা হবে, একটু অপেক্ষা করতে হবে ) .
• Download Python Code :
1. http://www.python.org/getit/
• Pdf Download Link :
1. 10+ Python Pdf eBook Here………..
2. Byte of Python
• Reference WebSite Link :
1. http://www.python.org/
2. http://docs.python.org/tutorial/
3. http://pythonline.com/
4. http://www.python.com/
5. http://showmedo.com/learningpaths/19/view
6. http://webpython.codepoint.net/
7. http://www.rackspace.com/…/top-50-resources-for-programming…
8. http://www.pythonchallenge.com/
9. http://www.python-forum.org/pythonforum/viewtopic.php…
10. http://webdesign.about.com/…/python/Python_and_Web_Developm…
11. http://www.quora.com/…/How-do-you-use-Python-to-make-websit…
12. http://wiki.python.org/moin/WebFrameworks/

https://www.facebook.com/ajmonvaloney/posts/201789163295519 থেকে সংগৃহীত ।

একজন দক্ষ প্রোগ্রামার হতে গেলে যে জিনিসগুলো লাগবে তা হচ্ছে–
১) এক বা একাধিক প্রোগ্রামিং ল্যাঙ্গুয়েজে ভালো দখল,
২) ভালো একটি IDE ব্যবহারের দক্ষতা,
৩) প্রোগ্রামিংয়ের মৌলিক বিষয়গুলো সম্পর্কে স্বচ্ছ ধারনা,
৪) গণিত ও যুক্তিতে দক্ষতা,
৫) অবজেক্ট ওরিয়েনটেড প্রোগ্রামিংয়ে (OOP– Object Oriented Programming) দক্ষতা,
৬) ডাটা স্ট্রাকচার ও অ্যালগরিদমের মৌলিক জ্ঞান ও তা প্রয়োগের ক্ষমতা,
৭) যোগাযোগে দক্ষতা (Communication Skills),
৮) ইন্টারনেট ঘেঁটে অল্প সময়ে কোনো সমস্যার সমাধান বের করা বা দ্রুত কোন নতুন বিষয় শিখে নেওয়ার দক্ষতা,
৯) একটি সমস্যার পিছনে লেগে থাকার মানসিকতা,
১০) প্রোগ্রামিংয়ের প্রতি ভালোবাসা।

তোমাদের প্রোগ্রামিং জীবন আনন্দময় হোক, তোমাদের নিজের জীবন আনন্দময় হোক, তোমাদের কারণে তোমাদের আশেপাশের মানুষদের জীবন আনন্দময় হোক। সবাইকে শুভেচ্ছা।

http://cpbook.subeen.com/2011/08/blog-post_2214.html  থেকে সংগৃহীত ।

No comments

বিটকয়েন - নতুন ধারা

বিটকয়েন হচ্ছে এক ধরনের সাংকেতিক মুদ্রা (Virtual Currency) যেটি ক্রিপ্টোগ্রাফিক প্রোটকলের মাধ্যমে লেনদেন করা হয়ে থাকে। এটি লেনদেন নিয়ন্ত্রণ...

Theme images by enjoynz. Powered by Blogger.