কম্পিউটার টিউটোরিয়াল

C++ ফান্ডামেন্টালস: নতুন ডেভেলপারদের জন্য অপরিহার্য টার্মিনোলজি

আকাঙ্ক্ষী সফটওয়্যার ডেভেলপারদের জন্য C++ অনেক বাইবেল ক্যারিয়ার সুযোগ অফার করে। আপনি মেশিন লার্নিং, গেম ডেভেলপমেন্ট বা সায়েন্টিফিক রিসার্চে আগ্রহী হোন, আপনি এই প্রোগ্রামিং ভাষায় প্রফিশিয়েন্ট হলে একটি সফল ক্যারিয়ার বানাতে পারেন।

অন্য যেকোনো ফিল্ডের মতো, কোডিং-এও নির্দিষ্ট প্রোগ্রামিং ভাষা যা আপনি শিখছেন সেটার সাথে রিলেটেড টার্মিনোলজি থাকে। এই গাইড BEGINNERদের জন্য C++ টার্মিনোলজি ব্যাখ্যা করবে, C++ টার্মের একটি লিস্ট, C++ টার্মিনোলজির একটি গ্লসারি এবং একটি C++ টার্মিনোলজি চিট শিট প্রদান করবে যাতে আপনার একটি চমৎকার লার্নিং এক্সপেরিয়েন্স হয়।

C++ কী?

C++ একটি অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং ভাষা যা হাই-পারফরম্যান্স বা বড় স্কেলের অ্যাপ্লিকেশন বানাতে ব্যবহৃত হয়। এই ভাষা প্রায় সব জায়গায় পাওয়া যায় কারণ এটি সার্চ ইঞ্জিন, মুভি প্রোডাকশন, এয়ার ট্রাভেল, ভার্চুয়াল রিয়েলিটি অ্যাপ্লিকেশন এবং এমনকি মার্স এক্সপ্লোরেশনকে পাওয়ার দেয়।

ডেভেলপাররা প্রায়শই বড় সফটওয়্যার ইন্ফ্রাস্ট্রাকচার এবং সীমিত রিসোর্সে চলে এমন অ্যাপ্লিকেশন তৈরি করতে C++ ব্যবহার করেন। C++ সহজে হার্ডওয়্যার স্পেস ম্যানিপুলেট করতে পারে, যা প্রোগ্রামারদের তাদের কোড ফাইন-টিউন করতে দেয় যাতে প্রোডাক্ট যেকোনো এনভায়রনমেন্টে দক্ষতার সাথে চলে।

ফলস্বরূপ, C++ olyan অ্যাপ্লিকেশন বানায় যা দ্রুত চলে এবং অনেক ডিভাইসে নির্ভরযোগ্য, যা ভাষাটিকে অধিকাংশ গুরুত্বপূর্ণ অ্যাপ্লিকেশনের জন্য উপযুক্ত করে তোলে। আপনি ফাইন্যানসিয়াল টুল, মেশিন লার্নিং টুল, ওয়েব ব্রাউজার, অপারেটিং সিস্টেম বা IoT ডিভাইস ডেভেলপ করুন, C++ একটি চমৎকার ফিট।

C++ টার্মিনোলজি কে ব্যবহার করে?

অনেক প্রফেশনাল C++ টার্মিনোলজি ব্যবহার করে, সিনিয়র প্রোগ্রামার, কোয়ালিটি অ্যানালিস্ট, প্রোগ্রামিং আর্কিটেক্ট, এমবেডেড ইঞ্জিনিয়ার এবং বায়োইনফরম্যাটিশিয়ান। C++ অধিকাংশ ফিল্ডের জন্য একটি কি এলিমেন্ট, যার মধ্যে গেম ডেভেলপমেন্ট, সায়েন্টিফিক রিসার্চ, অপারেটিং সিস্টেম, মেশিন লার্নিং এবং মেডিক্যাল টেকনোলজি। C++-র ভার্সটিলিটি প্রফেশনালদের অধিকাংশ ফিল্ডে এটি অ্যাপ্লাই করতে দেয়।

উদাহরণস্বরূপ, সফটওয়্যার ডেভেলপার বিজনেস অ্যাপ্লিকেশন তৈরি করে, গেম ডেভেলপার প্রাসঙ্গিক গেমিং সফটওয়্যারের জন্য কোড বেস তৈরি করে এবং ব্যাকএন্ড ডেভেলপার সার্ভার-সাইড এলিমেন্ট যেমন স্ক্রিপ্টিং এবং ডেটা ম্যানেজমেন্ট সিস্টেম তৈরি করে।

C++ টার্মের লিস্ট: প্রতিটি সফটওয়্যার ডেভেলপার যা জানা উচিত

  1. Abstract class
  2. Abstract data type
  3. Access control mechanism
  4. Access declaration
  5. Arithmetic assignment operator
  6. Customization point object
  7. Debugging
  8. Executable file
  9. Object
  10. Object code
  11. Object file
  12. Output operations
  13. Source code
  14. Standard template library
  15. Stream exchange input
  16. Stream manipulator
  17. Style of exception handling
  18. Syntax error
  19. Testing
  20. Type

C++ টার্মিনোলজির গ্লসারি: ৫টি সাধারণ C++ টার্ম

আপনি যদি একজন আকাঙ্ক্ষী সফটওয়্যার ডেভেলপার হন যিনি C++ প্রোগ্রামিং ভাষা শিখতে পরিকল্পনা করছেন, তবে আপনি নির্দিষ্ট টার্মের সাথে মুখোমুখি হবেন, যাতে একটি C++ অনলাইন কোর্স বা কোডিং বুটক্যাম্পে। তাই নিচের সাধারণ C++ টার্মগুলোতে পরিচিত হওয়া জরুরি একটি চমৎকার লার্নিং এক্সপেরিয়েন্সের জন্য।

Debugging (ডিবাগিং)

কোডিং প্রসেসের সময়, একটি ডেভেলপার সাধারণ প্রোগ্রামিং এরর করতে পারে যাকে বাগ বলা হয়। ডিবাগিং বলতে বাগ শনাক্ত ও দূর করার প্রসেসকে বোঝায়।

কেন একটি সফটওয়্যার ডেভেলপারকে ডিবাগিং সম্পর্কে জানা দরকার

এক কম্পিউটার প্রোগ্রাম বা সিস্টেমে বাগ থাকলে সমাধানের পারফরম্যান্স বাধা পড়ে যা ভুল রেজাল্ট প্রডিউস করে। সেগুলো আরও ক্ষতি করতে পারে, যেমন কম্পিউটার ক্র্যাশ বা ফ্রিজ করানো। অতএব, একটি সফটওয়্যার ডেভেলপার হিসেবে আপনাকে ডিবাগিং প্রসেস বুঝতে হবে এই ইস্যুগুলো দূর করতে।

Object (অবজেক্ট)

আরেক কমন টার্ম হলো অবজেক্ট, যা একটি কন্টিগুয়াস মেমরি স্পেসকে বোঝায় যার একটি টাইপ থাকে, যেমন স্ট্রিং অবজেক্ট, ক্লাস অবজেক্ট এবং স্ট্যাটিক অবজেক্ট। ফার্স্ট-ক্লাস অবজেক্ট স্ট্যান্ডার্ড অপারেশন পারফর্ম করতে পারে যেমন অ্যাসাইনমেন্ট। সেকেন্ড-ক্লাস অবজেক্ট তাদের ব্যবহার করার সময় যুনিক সিনট্যাক্টিক রিস্ট্রিকশন তৈরি করে।

কেন একটি সফটওয়্যার ডেভেলপারকে অবজেক্ট সম্পর্কে জানা দরকার

C++ অবজেক্টস, রিয়েল-ওয়ার্ল্ড অবজেক্টের মতো, সাধারণত স্টেট এবং বিহেভিয়র থাকে। উদাহরণস্বরূপ, একটি অবজেক্টের স্টেট থাকবে ফিল্ড বা ভেরিয়েবলসে এবং বিহেভিয়র প্রদর্শন করবে মেথড বা ফাংশনের মাধ্যমে। এই কি প্রিন্সিপল বুঝতে অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং-এ আপনাকে সাহায্য করবে।

Syntax Error (সিনট্যাক্স এরর)

যখন আপনি একটি সফটওয়্যার ডেভেলপার হিসেবে ইনস্ট্রাকশন দেন যা বেসিক C++ সিনট্যাক্স লঙ্ঘন করে, তবে আপনি একটি ফ্ল পাবেন যাকে সিনট্যাক্স এরর বলা হয়। প্রতিটি প্রোগ্রামিং ভাষার জন্য, আপনাকে একটি নিয়ম সেট (সিনট্যাক্স) ফলো করতে হবে।

কেন একটি সফটওয়্যার ডেভেলপারকে সিনট্যাক্স এরর সম্পর্কে জানা দরকার

আপনি অ্যাপ্লিকেশন বা সফটওয়্যার ডেভেলপ করছেন, আপনি আপনার সময় বর্বাদ করতে চান না। বেসিক সিনট্যাক্স এরর বুঝতে আপনাকে C++ প্রজেক্টের মাঝপথে আটকে যাওয়া থেকে বা কোনো রেজাল্ট ছাড়া লম্বা সময় প্রোগ্রামিং করতে থাকা থেকে বাঁচাবে। এটি আপনার সময় বাঁচাবে এবং চমৎকার রেজাল্ট দেবে।

Testing (টেস্টিং)

টেস্টিং মানে একটি প্রোগ্রাম কম্পিউটারে স্যাম্পল ডেটা দিয়ে রান করা এরর শনাক্ত করতে। এটি একটি প্রোগ্রামের পারফরম্যান্স এবং ইস্যু ইভ্যালুয়েট বা অ্যাসেস করার সমানার্থী।

কেন একটি সফটওয়্যার ডেভেলপারকে টেস্টিং সম্পর্কে জানা দরকার

সফটওয়্যার অবশ্যই এরর-ফ্রি হতে হবে দক্ষতার সাথে পারফর্ম করার জন্য। সফটওয়্যার ডেভেলপার টেস্টিংয়ের ফলাফলে সফটওয়্যার থেকে এরর সহজে খুঁজে বের করে দূর করতে পারেন। টেস্টিং একটি ইন্ডিপেন্ডেন্ট এবং অবজেক্টিভ ভিউও প্রদান করে, যা তাদের ইমপ্লিমেন্টেশনে রিস্ক বুঝতে সাহায্য করে।

Type (টাইপ)

টাইপ হলো একটি নামের প্রোপার্টি যা স্পেসিফাই করে ডেভেলপাররা কীভাবে সেটা ব্যবহার করতে পারেন। আপনি প্রায়শই লাইব্রেরি টাইপ, রিটার্ন টাইপ, ফান্ডামেন্টাল টাইপ এবং ফাংশন টাইপ শুনবেন। একটি টাইপ এক্স্যাক্ট বা ইনএক্স্যাক্ট হতে পারে। উদাহরণস্বরূপ, C++-এ আপনি বেসিক বিল্ট-ইন টাইপ পাবেন như int, char, float এবং bool টাইপ। Float ইনএক্স্যাক্ট, বাকিগুলো এক্স্যাক্ট।

কেন একটি সফটওয়্যার ডেভেলপারকে টাইপ সম্পর্কে জানা দরকার

যেহেতু একটি টাইপ ডিফাইন করে যে একচুয়াল ভ্যালুগুলো একটি ভেরিয়েবল বা ফাংশন নিতে পারে, একটি সফটওয়্যার ডেভেলপারকে সেগুলো বুঝতে হবে। 게다가, টাইপ সেফটি বুঝতে আপনাকে প্রপার অপারেশন পারফর্ম করতে সাহায্য করবে যেমন অ্যারিথমেটিক অ্যাডিশন এক্সপ্রেশন বা এলজেব্রা এক্সপ্রেশন, সেইসাথে তাদের ভ্যালু কীভাবে স্টোর করবেন সেটা জানতে।

C++ টার্মিনোলজি চিট শিট: ৫টি এডভান্সড C++ টার্ম

C++ ফান্ডামেন্টালস: নতুন ডেভেলপারদের জন্য অপরিহার্য টার্মিনোলজি

লিনিয়ার ডেটা স্ট্রাকচার এবং Vtable লে আউটের মতো এডভান্সড টার্ম কোডিংকে চ্যালেঞ্জিং করতে পারে, তাই এই C++ টার্মিনোলজি চিট শিট দিয়ে সাধারণ প্রোগ্রামিং এরর এড়িয়ে চলুন।

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

Abstract Data Type (অবস্ট্রাক্ট ডেটা টাইপ)

Abstract data type, যাকে ADT ও বলা হয়, যেকোনো ক্লাস টাইপকে বোঝায় যা শুধু ইউজারকে হাই-লেভেল ইন্টারফেসের সাথে ইন্টারঅ্যাক্ট করতে দেয়। C++ প্রোগ্রামিং ভাষায় ADT STL-স্টাইল ক্লাস টেমপ্লেটকে বোঝাতে পারে, যেমন std::priority queue, যা একটি অবস্ট্রাক্ট বেস ক্লাস। সকল অবস্ট্রাক্ট ডেটা টাইপ ইউজার-ডিফাইনড টাইপ। কিন্তু "প্রোগ্রাম-ডিফাইনড টাইপ" টার্মটি használ করা হয় বিভ্রান্তি এড়াতে।

কেন সফটওয়্যার ডেভেলপারদের অবস্ট্রাক্ট ডেটা টাইপ সম্পর্কে জানা উচিত

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

Customization Point Object (কাস্টোমাইজেশন পয়েন্ট অবজেক্ট)

Customization point object বা CPO বলতে একটি ফাংশন অবজেক্ট যেন ক্লাস টাইপ থাকে যা প্রোগ্রাম-ডিফাইনড টাইপের সাথে ইন্টারঅ্যাক্ট করে। CPO-এর ফ্লেক্সিবিলিটি দুটির মাঝপথে ইন্টারঅ্যাকশন সুলভ করে সেমান্টিক রিকোয়ারমেন্ট এনফোর্স করে।

কেন সফটওয়্যার ডেভেলপারদের কাস্টোমাইজেশন পয়েন্ট অবজেক্ট সম্পর্কে জানা উচিত

এপ্লিকেশন তৈরি করার সময় CPO প্রিয়ভাস কাস্টোমাইজেশন পয়েন্টসে কনসেপ্ট চেকিং অ্যাড করে। আপনি ক্লিয়ার এরর মেসেজ পাবেন যদি আপনি একটি টেমপ্লেট সাবস্ট্যানশিয়েশনে ভুল করেন, তাই CPO সফটওয়্যার বা অ্যাপ্লিকেশন ডেভেলপমেন্টে একটি কি ভূমিকা পালন করে।

Exception Handling (এক্সেপশন হ্যান্ডলিং)

এক্সেপশন হ্যান্ডলিং হলো প্রসেস য่าน ডেভেলপাররা এরর এবং এক্সেপশন ঠিক করেন সিস্টেমের স্ট্যান্ডার্ড পারফরম্যান্স বাধা দিয়ে না। C++ এক্সেপশন হ্যান্ডলার তিনটি কীওয়ার্ড দিয়ে গঠিত: try, throw এবং catch।

কেন সফটওয়্যার ডেভেলপারদের এক্সেপশন হ্যান্ডলিং সম্পর্কে জানা উচিত

প্রথমে, try স্টেটমেন্ট আপনাকে সেই কোড ব্লক আইডেন্টিফাই করতে দেয় যা এক্সিকিউশন চলাকালিন টেস্ট করা উচিত। throw কীওয়ার্ড এরর ডিটেক্ট হলে এক্সেপশন থ্রো করে, যা আপনাকে একটি কাস্টোম এরর তৈরি করতে দেয়। শেষে, catch কীওয়ার্ড আপনাকে সেই কোড ব্লকে নিয়ে যায় যা try ব্লকে এরর হলে এক্সিকিউট হবে।

Standard Template Library (STL) (স্ট্যান্ডার্ড টেমপ্লেট লাইব্রেরি)

STL, যাকে অ্যালেকজান্ডার স্টেপানভ C++ প্রোগ্রামিং ভাষার জন্য তৈরি করেছেন, একটি সফটওয়্যার লাইব্রেরি যা C++ স্ট্যান্ডার্ড লাইব্রেরির অধিকাংশকে প্রভাবিত করেছে। এর চারটি কম্পোনেন্ট: অ্যালগরিদম, ফাংশন, কন্টেইনার এবং ইটারেটর।

কেন সফটওয়্যার ডেভেলপারদের STL সম্পর্কে জানা উচিত

যেহেতু STL-এ ক্লাসের একটি সেট আছে যেমন কন্টেইনার, ডেভেলপাররা সেগুলো বিল্ট-ইন টাইপস (পয়েন্টার টাইপ, প্যারামিটার টাইপ, ট্রি টাইপ) এবং UDTs-র সাথে ব্যবহার করতে পারেন এলিমেন্টারি ফাংশন যেমন কপি এবং অ্যাসাইনমেন্ট পারফর্ম করতে। STL বুঝতেও গুরুত্বপূর্ণ কারণ এতে ইনডিপেন্ডেন্ট অ্যালগরিদম থাকে যা লাইব্রেরির কমপ্লেক্সিটি কমায়।

C++ ফান্ডামেন্টালস: নতুন ডেভেলপারদের জন্য অপরিহার্য টার্মিনোলজি

"Career Karma আমার জীবনে সে সময় এসেছিল যখন আমার সেটা সবচেয়ে বেশি প্রয়োজন ছিল এবং দ্রুত একটি বুটক্যাম্পের সাথে মিলিয়ে দিয়েছিল। গ্র্যাজুয়েশনের দুই মাস পর, আমার স্বপ্নের চাকরি পেলাম যা আমার মূল্যবোধ ও লক্ষ্যের সাথে মেলে!"

Venus, Software Engineer at Rockbot

Find Your Bootcamp Match

Stream Manipulators (স্ট্রিম ম্যানিপুলেটর)

স্ট্রিম ম্যানিপুলেটর হলো ফাংশন যারা ইনপুট বা আউটপুট স্ট্রিম মডিফাই করে। সেগুলো ক্লাস টাইপের ভেরিয়েবল চেঞ্জ করে না, যেমন একটি ডেরাইভড ক্লাস। বরং, সেগুলো I/O স্ট্রিম মডিফাই করে ইনসারশন এবং এক্সট্রাকশন অপারেটারের মাধ্যমে। স্ট্রিম ম্যানিপুলেটর আপনাকে ফিল্ড উইডথ এবং প্রিসিশন কাস্টোমাইজ করতে দেয়। আপনি ফরম্যাট স্টেটও পরিবর্তন করতে পারেন।

কেন সফটওয়্যার ডেভেলপারদের স্ট্রিম ম্যানিপুলেটর সম্পর্কে জানা উচিত

স্ট্রিম ম্যানিপুলেটর বুঝতে আপনাকে একটি স্ট্রিমের স্টেট কন্ট্রোল বা সেট করতে সাহায্য করে। উদাহরণস্বরূপ, নির্দিষ্ট ম্যানিপুলেটরের সাথে, আপনি একটি স্ট্রিম ফ্লাশ করতে পারেন, নিউমেরেলকে ডেসিমেলে কনভার্ট করতে পারেন, ফ্ল্যাগ অন বা অফ করতে পারেন বা একটি নাল ক্যারেক্টার আউটপুট করতে পারেন।

২০২২ সালে C++ টার্মিনোলজি কীভাবে শিখব?

আপনি ২০২২ সালে কোডিং বুটক্যাম্পের মাধ্যমে C++ টার্মিনোলজি শিখতে পারেন। এটি করলে আপনাকে উভয় জ্ঞান এবং প্রোগ্রামিং স্কিল মিয়াবে যা আপনাকে ভিড় থেকে আলাদা করবে।

আপনি Udemy এবং Coursera-এর মতো প্ল্যাটফর্মের অনলাইন কোর্স থেকে শিখতে পারেন যাতে আপনি C++-এর সাথে ভালোভাবে পরিচিত হন। একটি আকাঙ্ক্ষী ডেভেলপার হিসেবে, আপনাকে C++ এবং Python-এর মতো বড় প্রোগ্রামিং ভাষা শিখতেও হবে।

C++ FAQ

আপনি কোথায় ফ্রিতে C++ শিখতে পারেন?

C শিখা ছাড়া কি আপনি C++ মাস্টার করতে পারেন?

হ্যাঁ, আপনি C না জেনেও C++ মাস্টার করতে পারেন যেহেতু সেগুলো আলাদা প্রোগ্রামিং ভাষা। যতক্ষণ আপনি C++-র ফান্ডামেন্টাল কনসেপ্ট বুঝতে পারেন, আপনি ধীরে ধীরে আপনার জ্ঞান বিস্তার করতে পারেন C-র পূর্ব জ্ঞান ছাড়া।

C++ প্রোগ্রামিং ভাষা শিখার সেরা অ্যাপ কী?

আপনি কীভাবে দ্রুত প্রোগ্রামিং শিখতে পারেন?

দ্রুত প্রোগ্রামিং শিখতে, আপনাকে কোড উদাহরণ খুঁজে বের করতে হবে, তারপর সেগুলো পড়ুন এবং রান করুন। আপনাকে যত দ্রুত সম্ভব কোড লিখতে শুরু করতে হবে কারণ এটি আপনার স্কিল উন্নত করবে। আপনাকে ডিবাগার কীভাবে ব্যবহার করবেন সেটা শিখতে হবে এবং অতিরিক্ত সোর্স খুঁজে বের করতে হবে।

  1. C++ 'No Matching Function for Call' কম্পাইলেশন এরর সমাধান

  2. এন্ড্রয়েডে বর্তমান Wi-Fi MAC অ্যাড্রেস পাওয়ার উপায়

  3. iPhone SDK দিয়ে ডিভাইস টাইপ (iPhone, iPod Touch) নির্ণয়

  4. Matplotlib-এ শেষ ফিগারের রঙ পাওয়ার পদ্ধতি