প্রথম ভাষা হিসাবে সি ++ কি উপযুক্ত? [বন্ধ]


26

একটি স্থানীয় কলেজ পূর্ববর্তী প্রোগ্রামিংয়ের অভিজ্ঞতা ছাড়াই প্রথম বর্ষের কলেজ ছাত্রদের (16 বছর বয়সী) সি ++ পড়ছে।

প্রথম প্রোগ্রামিং ভাষা হিসাবে, সি ++ উপযুক্ত?


56
যে কোনও ভাষা প্রথম ভাষা হতে পারে। এটা আসলে কোন ব্যাপার না।
অ্যাডাম লিয়ার

8
এই আপনার আগ্রহের হতে পারে - joelonsoftware.com/articles/ThePerilsofJavaSchools.html
Craige

19
@ আনা লার্ন: অবশ্যই যে কোনও ভাষা প্রথম ভাষা হতে পারে, তবে এটি সি ++ ভাল প্রথম ভাষা হিসাবে যোগ্যতা অর্জন করে না। যদি আপনার উত্তরটি সত্যই উত্তর হয় তবে আমি এটিকে অসহায় হিসাবে ভোট দিয়েছি।
এড জেমস

6
@ ডউগ: আমি জীবিকার জন্য সি ++ প্রোগ্রাম করছি ... আপনার বক্তব্য কী?
ম্যাথিউ এম।

9
@ ডাউ - কমপিউটিং প্রকল্পগুলির 70% আজ এম্বেডড সিস্টেম এবং মাইক্রো ডিভাইসের জন্য রাইটিং সফটওয়্যার জড়িত। অনুমান করুন যে প্রকল্পগুলির জন্য কোন ভাষা ব্যবহৃত হয়? অনুমান করুন প্রবেশের স্তর পদের জন্য কে সজ্জিত? অবশ্যই জাভা বা। নেট ওয়ানট্রিক পনি নয়। কঠোর মনে হচ্ছে, তবে স্কুলগুলি কেবলমাত্র প্রোগ্রামিং জব মার্কেটের 30% প্রশিক্ষণ দিয়ে সিএস গ্র্যাজুয়েটদের পুরো প্রজন্মের জন্য দুর্দান্ত প্রতিরোধ করেছে। আমাদের অ্যাপ্লিকেশন খাত (30%) এর জন্য প্রোগ্রামারদের একটি অতিরিক্ত পরিমাণ রয়েছে এবং আমাদের সিস্টেম সেক্টরে (70%) ঘাটতি রয়েছে। এই সংখ্যা কোথাও যাচ্ছে না। ভবিষ্যতের ক্যারিয়ারের সুযোগ? হ্যাঁ ঠিক.
luis.espinal

উত্তর:


61

জোর দিয়ে না

শিক্ষার্থীদের জন্য আপনার মনে যে লক্ষ্য রয়েছে, সেগুলির জন্য অন্য ভাষা বা ভাষার ক্রম দ্রুত এবং ভাল হবে। উদাহরণ।

"শিক্ষার্থীদের নিম্ন-স্তরের ধারণাগুলি বুঝতে হবে।"

"নিম্ন-স্তরের" কোডিংটিতে বস্তুগুলি পাওয়া new, এগুলিকে ফিরে খাওয়ানো deleteএবং মাঝে মাঝে পয়েন্টার দেওয়া কোথাও কোথাও এটি হওয়া উচিত নয়। ফাংশন, ক্লাস এবং টেম্পলেটগুলি নিম্ন-স্তরের নয়। RAII, ব্যবহার করা 12 উপায়ে const, std::ostream::operator<<, protectedএবং newনিম্ন স্তরের ধারণা নয়। এই জিনিসগুলির নিম্ন-স্তরের প্রভাব রয়েছে এবং আপনি সেগুলি মাসের জন্য বা কোনও ভবিষ্যতের শ্রেণি না হওয়া পর্যন্ত এবং এর পরিবর্তে সি ++ শব্দার্থবিজ্ঞানের পর্বতগুলি পড়াচ্ছেন।

আমি এমপিএস বা এমএমআইএক্সের মতো একটি ভাল পরিবেশ এবং শিক্ষণ সামগ্রীর সাথে এসেম্বলারের পরামর্শ দিই। আপনি যদি তাড়াহুড়ো করেন তবে কমপক্ষে এসেম্বলারের আউটপুটটি দেখার জন্য সিটিকে চার্চ সহ শিখান। এটি আপনাকে নিম্ন স্তরের সমস্ত সি ++ বোঝার সুযোগ দেবে এবং তারপরে কিছুটা দ্রুত।

"শিক্ষার্থীদের অবজেক্ট-ওরিয়েন্টেশন বুঝতে হবে।"

সি ++ তে নির্মিত অবজেক্ট-ওরিয়েন্টেশনটি ওও ধারণাগুলি, বা অন্য কোনও উচ্চ-স্তরের ধারণাটি শেখানোর জন্য অতিরিক্তভাবে জটিল। সম্ভাব্য কারণগুলির জন্য সুন্দর, দীর্ঘ তালিকার জন্য সি ++ এফএকিউ দেখুন । হয় আপনি যে সমস্ত জিনিস আঘাত করতে হবে, যা নতুন প্রোগ্রামারদের সাথে খুব, খুব দীর্ঘ সময় নিতে হবে; অন্যথায় আপনাকে এটিকে প্রচুর এড়িয়ে যেতে হবে, নতুন প্রোগ্রামারদের অন্ধকারে রেখে দিতে হবে - কার্যকরভাবে, সত্যিই সি ++ না জেনে!

আমি প্রথমে (পাইথন, রুবি, স্কেক, কমন লিস্প, র‌্যাকেট) সহ একটি সহজ, উচ্চ-স্তরের ভাষা শেখার পরামর্শ দিচ্ছি, যদি আপনাকে অবশ্যই সি ++ শিখিয়েই দিতে পারেন। এর বাইরেও, একটি কার্যকরী ভাষা পরিদর্শন করে ওও থেকে পৃথক একটি ধারণা হিসাবে বহুবর্ষটি শিখুন।

"শিক্ষার্থীদের টেমপ্লেট এবং টেম্পলেট বিপণন বোঝা দরকার" "

আসলেই কেউ এটি জিজ্ঞাসা করে না, তবে আমি তাদের ইচ্ছা করি। সি ++ টিতে দুর্দান্ত টেম্পলেট রয়েছে এবং এসটিএল দুর্দান্ত, তবে প্রথমে সি ++ শেখানোর জন্য তাদের যথেষ্ট উচ্চতর অগ্রাধিকার হওয়া উচিত নয়। ওসিএএমএল বা হাস্কেল টাইপ সিস্টেমটি শেখানো এবং তারপরে সেই ধারণাগুলি পুনঃনির্মাণ করা যাইহোক দ্রুত হতে পারে।

"শিক্ষার্থীদের সমস্যার সমাধান শিখতে হবে।"

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

"উপরের সমস্তটি এবং আমাদের কেবল একটি ভাষা ব্যবহার করতে হবে।" বা "নিয়োগকর্তারা এটি চান।" বা "আমাদের সি-স্টাইলের ভাষা দরকার।" বা ...

একাধিক ভাষা শেখাও।

আপনি কেবল একটি ভাষা শেখানো বা শেখার মাধ্যমে আপনি যে সময় বা শক্তি সাশ্রয় করেছেন তা সম্পূর্ণ হাস্যকর। এটি এই ধারণার উপর ভিত্তি করে যে কোনও প্রদত্ত ভাষা শেখার ক্ষেত্রে ঠিক X মানুষ মাস ( HINT! HINT! ) লাগে যেখানে X প্রতি ভাষা প্রতি একক সংখ্যা বা এক নম্বর। এটি সেই ধারণার সাথে প্রায় একইরকম যে আপনি সেই সমস্ত 'প্রয়োজনীয়তা' এবং 'পরীক্ষার' আবর্জনা উপেক্ষা করে সময় এবং অর্থ সাশ্রয় করতে পারেন।

একাধিক বাক্য গঠন হিসাবে, আপনি ছাত্রদেরকে অন্য ভাষার বিরুদ্ধে বুনো পক্ষপাতদুষ্ট করে প্রতিটি ভাষায় সি সিনট্যাক্সের প্রত্যাশা করতে শেখানো হলে আপনি বিপজ্জনকভাবে পঙ্গু করে দিন।

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


4
দুর্দান্ত উত্তর! আসলে, অনেক সি ++ বৈশিষ্ট্যগুলি নিম্ন স্তরের প্রোগ্রামিংয়ের সাথে মোটেই সম্পর্কিত নয়।
মার্কো মোস্তাপিক

7
+1, দুর্দান্ত উত্তর। এটি সত্য যে কখনও কখনও সি ++ এর ঝক্কি ভুলভাবে "নিম্ন-স্তরেরতা" এর সাথে সমান হয়। আপনি সি ++ এফএকিউ-র সাথে লিঙ্ক করেছেন, তবে আমি লোকদের সি ++ এফকিউএ (বা "প্রায়শই জিজ্ঞাসিত উত্তরসমূহ": পি) একবার দেখার পরামর্শ দিই
এন্ড্রেস এফ।

2
কি দারুন. এটি আমাকে জাভা আইএকিউ-র কথা মনে করিয়ে দেয় ...
জেসি মিলিকান

সম্পূর্ণ একমত. এমনকি মলবোলজি একটি শিক্ষানবিসের জন্য সি ++ এর চেয়ে ভাল।
রাইটফোল্ড

2
আমার একমাত্র সংরক্ষণ - আপনি কেবলমাত্র লাইব্রেরি বিকাশকারীদের ক্ষেত্রে প্রাসঙ্গিক বিবরণ না পেয়ে অনেক কিছু শিখতে পারেন। এতক্ষণ আপনি এটি পরিষ্কার করে দিচ্ছেন যে আপনি কেবল বেসিক সি ++ করছেন ... তবে আবার, আপনি কাউকে কী শিখিয়েছেন?
স্টিভ 314

54

না, অভিজ্ঞ সি ++ বিকাশকারীদের জন্যও সি ++ একটি কঠিন ভাষা। এমনকি সহজ অ্যালগরিদমের জন্য আপনাকে অনেক ভাষার সূক্ষ্মতা ব্যাখ্যা করতে হবে। হ্যালো ওয়ার্ল্ড উদাহরণ বিবেচনা করুন:

#include <iostream>

int main()
{
  std::cout << "Hello World!" << std::endl;
}

হুকুম কী #include? কি std::cout। কেন ::? কী <<? ওহ, এটি একটি ওভারলোডেড অপারেটর! ওভারলোডেড অপারেটর কী? সুও, কারণ ints, এটি কিছুটা স্থানান্তরিত করে, তবে যা std::coutকিছু হোক না কেন এটি কনসোলে স্টাফ আউটপুট করে। ওহ, std::coutএটি একটি স্ট্রিম এবং স্ট্রিমগুলি তাদের <<এবং >>অপারেটরকে ওভারলোড করেছে।

পাইথনে একই নমুনাটি দেখুন:

print("Hello World!")

এটি হ'ল কিছু অ্যালগরিদম কোড চলুন।


15
পাইথন সপ্তম গ্রেডারের জন্য উপযুক্ত হবে। একজন কলেজের শিক্ষার্থী আরও অনেক কিছু বুঝতে পারে।
গুলশান

13
অবশ্যই, তবে আমরা প্রথম ভাষার কথা বলছি। অন্যান্য ভাষার তুলনায় সি ++ শেখা এবং মাস্টার করা কঠিন বলে পরিচিত। প্রোগ্রামিং শেখাতে কেন এটি ব্যবহার করবেন? কোনও শিক্ষার্থী পরে কিছু প্রোগ্রামিং বেসিকস জানলে সি ++ শিখতে পারে knows
মার্কো মোস্তাপিক

8
আপনি << :) এর যুক্তি-নির্ভর
লুকিংয়ের

6
একটি ভাষা দিয়ে শুরু করার জন্য আপনাকে একেবারে সবকিছু জানার দরকার নেই। cout << যাই হোক না কেন; "কেবলমাত্র কাজ করে", অপারেটর ওভারলোডিং ইত্যাদির পরে আপনার কভার না হওয়া পর্যন্ত আপনাকে নিতম্ব-কৌতুকপূর্ণ বিশদে যাওয়ার দরকার নেই।
কোলেন

6
আমি পাইথনকে সপ্তাহের যে কোনও দিন প্রাথমিক ভাষা হিসাবে সি ++ এর উপরে নিয়ে যেতে পারি।
jprete

21

এটি সম্ভবত একটি ভাল প্রথম ভাষা নয়: জটিল বাক্য গঠন, প্রচুর বিধি, পুরানো ভাষা, ত্রুটি-প্রবণ মেমরি পরিচালনা। আপনার শিক্ষার্থীদের স্মার্টটাকের মতো আরও ওও, বা পাইথনের মতো প্রোগ্রামের জন্য ভাল কিছু, বা হাস্কেলের মতো কার্যকরী কিছু শেখানো ভাল।

তারা আরও ভাল ভাষা শিখার পরে জীবনের পরে (তারা যদি এটি সহায়তা না করতে পারে) পরে সি ++ শিখতে পারে।


5
প্রথম ভাষা হিসাবে হাস্কেল একটি আকর্ষণীয় পরীক্ষা হবে।
ল্যারি কোলম্যান

@ ল্যারি, কেমব্রিজ বিশ্ববিদ্যালয়ের সিএস কোর্স এসএমএলকে প্রথম ভাষা হিসাবে শেখায়।
পিটার টেলর

1
কার্যকরী প্রোগ্রামিং আপনার মস্তিষ্ককে মোচড় দেয় - আমি জানি এমআইটি স্কিমের সাথে খুব প্রথম দিকে শুরু হয়, তবে আমি আনন্দিত যে স্কুলে একটি হাইব্রিড অ্যাক্রোরিয়াল / ওও-স্টাইলের দু'বছর পরে পর্যন্ত আমি ফাংশনাল প্রোগ্রামিংয়ের শুরু করি নি।
justkt

11
@ অ্যাডজেক্ট: সমস্ত ভাষা আপনার মস্তিষ্ককে মোচড় দেয়। আপনি এটি কীভাবে বাঁকতে চান এটি কেবল বিষয়।
ডেভিড থর্নলি

+1, তবে আমি অবশ্যই সি ++ ব্যতীত অন্য ভাষা ল্যাবলেট করব না কারণ এটি অবশ্যই "আরও ভাল"।
গ্রেফ্যাড

18

সংক্ষিপ্ত উত্তর: হ্যাঁ!

আমি বলব যে কোনও ভাষা একটি উপযুক্ত শুরু তবে বিশেষত সি ++ (বা সমমানের)। এই দিনগুলিতে সি # এবং জাভা হ'ল ব্যবহার এবং প্রোগ্রামিংয়ের প্রধান ভাষা যার সাথে আপনি দ্রুত এপিআই এবং আইডিইতে ঝুঁকতে শিখেন তবে সি ++ এর সাথে আপনি পারফরম্যান্স অপটিমাইজেশন ইত্যাদি সহ গ্রাউন্ড আপ থেকে প্রোগ্রামিং শেখার সুযোগ পাবেন you

প্রোগ্রাম্টিং, লুপিং এবং বাছাইয়ের বুনিয়াদিগুলি শিখে নেওয়া কখনই খারাপ ধারণা নয় you


11
লুপিং এবং বাছাই, হ্যাঁ আপনি যে কোনও ভাষা দিয়ে এটি করতে পারেন। আপনি যখন এড়াতে পারেন তবে কেন পয়েন্টার এবং অদ্ভুত বাক্য গঠন নিয়ে কাজ শুরু করবেন? আপনি যখন আরও প্রোগ্রামিংয়ের অভিজ্ঞতা পাবেন তখন আপনি এই সমস্ত জিনিসগুলি পরে শিখতে পারেন।
মার্কো মুস্তাপিক

4
@ মার্কো: স্ট্রস্ট্রপের প্রাথমিক ভূমিকা পাঠ্যপুস্তক "প্রোগ্রামিং: সি ++ ব্যবহার করে নীতি ও অনুশীলন" বইটির মাঝখানে প্রায় নির্দেশককে পরিচয় করিয়ে দিয়েছে। আপনি পয়েন্টার প্রবর্তন না করে সি ++ তে প্রচুর স্টাফ করতে পারেন।
ডেভিড থর্নলি

4
"বেসিকগুলি ... এর আগে ... শিখতে হবে এটি কখনই খারাপ ধারণা নয় ..." এই দাবিটি সমর্থন করার জন্য আপনার কি কোনও গবেষণা আছে? আমি জানি যে অনেক স্মার্ট লোক এটিকে সাধারণ জ্ঞান হিসাবে আখ্যায়িত করে যে “বট আপ আপ” শিক্ষণের একমাত্র সঠিক উপায় তবে এটি একটি খুব বিতর্কিত বিষয় এবং একমাত্র (স্বীকৃতভাবে খুব সীমাবদ্ধ) প্রজ্ঞাবাদী গবেষণা যা আমি জানি বিপরীত উপসংহারের দিকে নির্দেশ করি।
কনরাড রুডলফ

1
@ ডেভিড: সমস্যাটি হচ্ছে, পয়েন্টার ছাড়াই "সি ++ তে প্রচুর স্টাফ" করা আরও খারাপ। পয়েন্টার ছাড়াই আপনার সমস্ত বস্তু স্ট্যাকের উপর ঘোষিত হয়ে যায়, এটি সর্বদা সবচেয়ে খারাপ প্রোগ্রামিং আইডিয়া। মানের ধরণ এবং উত্তরাধিকার / পলিমারফিজম কেবল মিশ্রিত হয় না এবং এগুলিকে মিশ্রিত করার চেষ্টা করলে পুরো বিভাগের ত্রুটিগুলি উন্নত হয় যা উন্নততর ডিজাইন করা ভাষায় নেই exist
ম্যাসন হুইলারের

9
হায় খোদা, না! সি ++ এর অপ্রয়োজনীয় আইডিয়াসক্রেনসিগুলিতে মস্তিষ্কের চক্রের সীমিত সরবরাহ কেন জ্বলিত করবেন? প্রোগ্রামিংয়ের মৌলিক ধারণাগুলি জানতে যখন উদ্দেশ্য হয় তখন কেন মেমরি পরিচালনার মতো অপ্রাসঙ্গিক নিম্ন স্তরের স্টাফগুলিতে কেন মনোযোগ দিন? গভীর প্রান্তে ঝাঁপ দাও কেন ?!
ম্যাগলব

14

আসলে আমি বিশ্বাস করি এটি খুব ব্যবহারিক কারণে প্রথম ভাষা হিসাবে সম্ভবত ভাল পছন্দ: সি ++ শিখার পরে আপনার মুখোমুখি হওয়া অন্য যে কোনও ভাষা শেখার জন্য বাতাসের মতো মনে হবে।


10
ডিজকস্ট্রায় সমস্ত প্রাপ্য creditণের সাথে, সি ++ এর পূর্বের এক্সপোজার থাকা শিক্ষার্থীদের জন্য ভাল প্রোগ্রামিং শেখানো কার্যত অসম্ভব; সম্ভাব্য প্রোগ্রামার হিসাবে তারা পুনর্জন্মের আশা ছাড়িয়ে মানসিকভাবে বিকৃত হয়। ;)
ম্যাসন হুইলারের

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

16
@ অ্যান্ড্রেস এফ: এর সাথে একমত নন। আপনি যা লিখছেন তা বিবেচনা না করেই এসেম্বলারের পরিচিতি আপনাকে আরও ভাল প্রোগ্রামার করে তোলে, কারণ তখনই আপনি বুঝতে পারবেন যে আসলে কী ঘটছে।
ম্যাসন হুইলারের

2
@ আন্ড্রেস: আমি অনেক বেশি জাভা / সি # প্রোগ্রামারকে অন্যান্য ভাষায় এসে সবকিছুকে বস্তুতে ছড়িয়ে দিয়ে দেখেছি ... তাদের অভিজ্ঞতার প্রশস্ততা নেই।
ম্যাথিউ এম।

3
@ আন্ডারস এফ। - আমার 12 বছর ধরে জাভা করার সময় আমি জাভা প্রোগ্রামারদের এমন আমার অংশের মুখোমুখি হয়েছি যেগুলি রিসোর্স বরাদ্দ, আরআইআই, জিসি-বান্ধব অ্যাপ্লিকেশনগুলি কীভাবে প্রোগ্রাম করবেন তা জানে না, এমন কোনও বিষয়ে এক্সপোজার না রাখার জন্য সত্যই চুষে ফেলেছে, ইত্যাদি ইত্যাদি জেনে রাখা এবং স্বয়ংক্রিয় আবর্জনা সমর্থন ছাড়াই সংকলিত ভাষাগুলি জানা এবং ওও (সি, সি ++, অ্যাডা বা আলগোল পরিবারের কোনও সংকলিত ভাষার সম্পর্কে) ব্যতীত অন্যান্য দৃষ্টান্তের সমর্থন সহ আপনাকে জাভাতে দক্ষ এবং বৃহত সিস্টেমগুলি কীভাবে লিখতে হয় তা শেখায় , সি #, পাইথন, আপনি এটির নাম দিন। প্লাস, সি ++ এর অবজেক্ট মডেল জাভা-এর মতো নয়।
luis.espinal

10

যখন আমি 15-16 বছর ছিলাম তখন আমি নিজেকে সি ++ শিখিয়েছিলাম।

অন্যদের কাছে যাদুটি রেখে দেওয়া এবং নিজেরাই অভ্যন্তরীণ কাজগুলি নিজে শিখতে ভাল।


কথায় কথায় বলতে গেলে, আপনি যদি এন্ট্রি-লেভেল সি ++ সিনট্যাক্স এবং শব্দার্থ আবিষ্কার করতে না পারেন তবে আপনি কম্পিউটারে তেমন ভাল নন। এটা খুব কঠিন নয়। "সি ক্লাস সহ" এড়ানোর কোনও ভাল কারণ নেই।

যদি আপনি প্রত্যাশা করেন যে শিক্ষার্থীরা টেমপ্লেট রূপককরণ, পলিমারফিক কলগুলি কাটা এবং একাধিক উত্তরাধিকারের শ্রেণিবিন্যাসকে অবিচ্ছিন্নভাবে কাজ করতে শুরু করে - তবে আপনি যে জাতীয় ভাষা ব্যবহার করুন না কেন এটি প্রবেশিকা স্তরের শ্রেণির জন্য হাস্যকর।

শিক্ষার্থীদের জন্য প্রোগ্রামিংয়ের জটিলতাগুলি আড়াল করার জন্য খুব খারাপ প্রবণতা রয়েছে। এটি ভালভাবে শেষ হয় না (সিএফ স্পলস্কির জাভা স্কুলগুলি প্রবন্ধ)। এই লোকেরা সরাসরি তাদের মাথা না পেলে ডেইলিডব্লিউটিএফ-এ শেষ হয়। বিমূর্ততা ফাঁস, এবং যখন (যদি তা না হয়) বিমূর্ততা ফাঁস হয়, এটি এটি মোকাবেলা করার চেয়ে খারাপ। আমি এন্ট্রি স্তরের সি ++ শিক্ষার্থীদের জন্য টিএ হিসাবে কাজ করেছি । হয় সমস্ত জিনিস লুকিয়ে রাখতে হয়, বা তাদের পরীক্ষার জন্য আলোতে আনতে হবে। যাদু হচ্ছে শিক্ষার শত্রু।

আমাকে যদি মেশিন কোডে সংকলিত একটি প্রাথমিক ভাষার প্রস্তাব দিতে হয় তবে একটি পাস্কাল বৈকল্পিক সম্ভবত সেরা পন্থা হবে। আমি যা মনে করি তা থেকে সি পরিবারের তুলনায় এর আরও নিয়মিত এবং কাঠামোগত পদ্ধতি রয়েছে।


1
@ এড: সত্যই নয়। আমি কিউবিএসআইসি তে ইফ এবং গোটো বিষয়ে মাস্টার্ড করেছি এবং এটি প্রায় ছিল। পয়েন্টার, অ্যারে, ফাংশন, ক্লাস ইত্যাদি সমস্তই আমার সি ++ ভবিষ্যতে ছিল। পুনরাবৃত্তিও বোধগম্য ছিল।
পল নাথান

5
অপেক্ষা করুন, কেউ প্রথমে সি ++ না বুঝে C ++ ব্যবহার করে কোনও প্রকল্পে কাজ করবে বলে আশা করে না ! এটি প্রকৃতপক্ষে TheDailyWTF এর জন্য উপযুক্ত কোডের দিকে পরিচালিত করবে। তবে আপনার দাবির বিপরীতে, এটি সি ++ শিখতে তুচ্ছ নয় (এবং এটি "ক্লাস সহ সি "ও নয়)। সি ++ এর বিশাল, সংশ্লেষিত এবং কখনও কখনও অ-সংবেদনশীল সিনট্যাক্স এবং ব্যাকরণ এবং কীওয়ার্ড এবং নিয়মের একটি অনন্ত থাকে। এটি দিয়ে শুরু করার জন্য এটি একটি ভয়াবহ ভাষা। একটি শিক্ষণ ভাষা হিসাবে এটি ভয়াবহ কারণ এটি শিক্ষার্থীদের সি ++ এর ঘাটতিগুলি প্রোগ্রামিং বিশ্বে প্রাকৃতিক এবং অনিবার্য বলে বিবেচনা করতে শর্ত করে।
আন্দ্রেস এফ।

1
আন্ডার: আপনি একটি মিথ্যা দ্বৈতত্ত্বের প্রতি জোর দিচ্ছেন: "~ সি ++ বা সমস্ত সি ++"। এটা মিথ্যা।
পল নাথান

1
@ পল: যথেষ্ট ন্যায্য। তবে এটি বিবেচনা করুন: এমনকি সরলিকৃত সি ++ এর বাক্য গঠন এবং ব্যাকরণও সংশ্লেষিত কারণ এটি অবশ্যই সম্পূর্ণ ভাষার সমস্ত বৈশিষ্ট্য সমর্থন করে। সুতরাং আপনি ইতিমধ্যে একটি কুরুচিপূর্ণ ভাষা ব্যবহারে আপস করেছেন, এমনকি যদি আপনি এর সহজ ফর্মগুলিতে এটি শেখান। আমি ধরে নিচ্ছি যে আপনি কেবল কিছু সিনট্যাটিক চিনির সাথে সি তে কোডিং করছেন না (ওরফে "সি সহ ক্লাস সহ"), কারণ সেক্ষেত্রে আপনি আরও সহজ সরল সি দ্বারা পরিবেশন করেছেন!
আন্দ্রেস এফ।

2
@ আন্ডার: সত্যই নয়। সি ++ সি 89 এর উপরে যথেষ্ট সিনট্যাকটিক সরলীকরণ প্রস্তাব করে। তদ্ব্যতীত, এন্ট্রি স্তরের উদ্দেশ্যে, আমি
পল নাথান

8

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

আমি সত্যিই আমার সেরা চেষ্টা করেছি। আমি সহানুভূতির জন্য জিজ্ঞাসা করিনি, আমি জানতাম এটি চ্যালেঞ্জ হবে, তবে শিক্ষক আমাকে সাহায্যও করবেন না। আমি কেবল পাঠ্যপুস্তকটি পড়তে যেতে বলেছিলাম, যেমনটি আমি করছিলাম।

আমি তর্ক করব (এবং কেউ কেউ একমত হবে না) যে কাউকে প্রোগ্রামিংয়ের জগতে ভাঙতে রুবি বা পাইথন একটি আরও ভাল ভাষা। পরিষ্কার, সংক্ষিপ্ত, পাঠযোগ্য, পরিষ্কার বাক্য গঠন ax


8
কোনও ভাষা হ'ল খারাপ ভাষা প্রথম বাজে শেখানো হয়।
ডেভিড থর্নলি

3
@ ডেভিড থর্নলি: তবে সঠিকভাবে শেখানো হলেও কিছু ভাষা প্রথম ভাষা হিসাবে দুর্বল পছন্দ। উদাহরণস্বরূপ, কোবল।
আন্দ্রেস এফ।

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

@ অ্যান্ড্রেস এফ: আমি এর সাথে একমত নই। তবে কেভিনের অ্যাকাউন্টটি একজন খারাপ শিক্ষক সম্পর্কে, এবং একজন খারাপ শিক্ষক পাইথন বা স্কিমটিকে প্রথম ভাষা হিসাবে চিহ্নিত করতে পারেন (ভাল প্রথম ভাষার জন্য আমার দুজন মনোনীত)।
ডেভিড থর্নলি

2
@ ক্রিস: আমি কোবলে প্রোগ্রাম করেছি এবং আমি আপনাকে দুঃখিত করছি :)
আন্দ্রেস এফ।

8

না।

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

এর অর্থ এটি নয় যে সি ++ (বা সি) খারাপ ভাষা, বা শেখার পক্ষে মূল্যবান নয়; পাইথনের মতো আরও ভাল ভাষা শেখানোর ভাষা রয়েছে।


1
সি শিক্ষার জন্য একটি কঠিন ভাষা, তবে এটি অবশ্যই সবচেয়ে খারাপের মধ্যে রয়েছে। সিবুল এবং জাভা কেকটিকে সি এর চেয়েও খারাপ, সবচেয়ে খারাপ হিসাবে বিবেচনা করে নেয় সি সম্পর্কে ভাল বিষয়টি হ'ল আপনাকে সামনের অভ্যন্তরের ধাতব সাথে সামিল করতে হবে (এসেম্বলারের মধ্যে না রেখে)। লোকেরা সি এর সাথে এর প্রাথমিক ভাষা হিসাবে সাফল্যের সাথে শেখানো হচ্ছে। পাইথন বা রুবির মতো অবশ্যই আরও অনেক মার্জিত বিকল্প রয়েছে (বা এমন কোনও ভাষা যা বহু-দৃষ্টিকোণ এবং এটি অযথাই সরলতম কাজের জন্যও ওওকে সামনে টান দেয় না।) সি সবচেয়ে খারাপ শিক্ষার মধ্যে একটি নয় পছন্দ, একটি দীর্ঘ শট দ্বারা না।
luis.espinal

1
প্রান্তিকভাবে ভাল? তুমি কি করে বুঝলে? সি ++ সি সম্পর্কে খারাপ যাবতীয় জিনিস নিয়ে যায় এবং এটির উপর ভিত্তি করে !
ম্যাসন হুইলারের

1
@MasonWheeler: প্রধানত কারণ সি ++ একজন সৎ টু ঈশ্বর প্রদান করে stringডাটা টাইপ overloads অপারেটার চাই যে +, =আর ==কিছু করার যে ছাত্র আরো-বা-কম আশা, কিভাবে সি মধ্যে সম্পন্ন করা স্ট্রিং প্রসেসিং চাহিদা তুলনায় অত: পর "সীমিতভাবে" । আমি হয় শিক্ষার ভাষা হিসাবে প্রস্তাব করব না।
জন বোদে

7

মাধ্যমিক-পরবর্তী শিক্ষার জন্য দুটি প্রকারের প্রয়োজনীয়: বিশ্ববিদ্যালয় এবং বাণিজ্য স্কুল। পার্থক্যটি আপনি স্নাতক শেষ করার পরে যা করতে প্রস্তুত হতে চান তার মধ্যে। স্বয়ংচালিত ক্ষেত্রে, আপনি মেকানিক বা যান্ত্রিক প্রকৌশলী হবেন তা নয়।

বলা হচ্ছে, আপনি ইঞ্জিনিয়ার হতে চাইলে সি ++ একটি দুর্দান্ত প্রথম ভাষা এবং আপনি যদি কোনও মেকানিকের প্রোগ্রামিং সমতুল্য হতে চান তবে লাউস একটি ভাষা।

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

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


5

অবশ্যই। আমার প্রথম ভাষাটি ছিল সি, তবে এটি কেবলমাত্র আমাদের ক্লাসটিকে সি ++ তে সহজ করার জন্য। আমি একবার বিশ্ববিদ্যালয়ে উঠার পরে এটি জাভাটিকে পরিচালনা করা আরও সহজ করে তুলেছিল। সি ++ এর কিছুটা স্টিপার লার্নিং বক্ররেখা থাকতে পারে তবে এটি যদি সঠিকভাবে শেখানো হয় তবে তা ঠিক হওয়া উচিত।


4

না, সি ++ প্রথম ভাষা হিসাবে উপযুক্ত নয়। এখানে প্রদর্শিত হিসাবে, অনেক পেশাদার প্রোগ্রামাররা এই মতামত ভাগ করে, তবে এটি পেশাদার শিক্ষকদেরও একটি মতামত।

কার্নেগি মেলন বিশ্ববিদ্যালয়ের ডিনের একটি প্রতিবেদনে নতুনদের প্রোগ্রামিংয়ের জন্য একটি প্রাথমিক পরিচিতি কোর্সের জন্য সি ++ ব্যবহার করার বিষয়ে যা বলা হয়েছে তা এখানে:

সি বা সি ++ এর মতো স্ট্যান্ডার্ড ভাষা এই কোর্সের জন্য উপযুক্ত নয় কারণ তাদের জটিলতা এবং ঘাটতিগুলি অনানুষ্ঠানিক এবং যান্ত্রিকীকরণ যুক্তি কৌশল উভয়ই বাধা দেয়।

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


2

অবশ্যই। এমন অন্যান্য ভাষা রয়েছে যা প্রথম বর্ষের শিক্ষার্থীদের পক্ষে সহজভাবে উপলব্ধি করা সহজ। তবে, এমন কিছু উপায় রয়েছে যে কোনও শিক্ষক ধীরে ধীরে সি ++ এ ধারণাগুলি প্রবর্তন করতে পারেন।


2

অবশ্যই সি ++ প্রথম ভাষা হতে পারে। তবে এটি কতটা ভালভাবে শেখানো হয় সে সম্পর্কে।

প্রত্যেকে বলে, প্রথম ভাষাটি বোঝা খুব সহজ হওয়া উচিত। তবে আমার বক্তব্যটি হল, বেশিরভাগ লোকেরা স্নাতক স্তরের প্রোগ্রামিং শুরু করে। সুতরাং, আপনি এমন কিছু শিখতে পারেন যা তারা উপলব্ধি করতে সক্ষম। এবং সি ++ দিয়ে আপনি নিম্ন স্তর থেকে উচ্চ স্তরের প্রোগ্রামিংয়ে যেতে পারেন।


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

আমি একমত, এটি কতটা ভালভাবে শেখানো হয় সে সম্পর্কে!
গ্যারি উইলফোবি

2

না।

আমার যদি উপায় থাকে তবে আমি প্রায় সম্পূর্ণভাবে একাডেমিক সেটিংয়ে এটির ব্যবহারটি বারণ করব। যে কারণগুলি ইতিমধ্যে তৈরি করা হয়েছে তার বিপরীতে নয়, তবে অনেকেই মনে করেন যে সি ++ (বা এটির প্রকরণগুলি) প্রায় প্রতিটি সমস্যার উত্তর কারণ আপনি এটি যে কোনও পরিস্থিতিতে ব্যবহার করতে পারবেন। এটি প্রোগ্রামিং এর স্ক্রু ড্রাইভার।

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

আমার মতে, একজন প্রোগ্রামারের কাজ হ'ল আসল সমস্যাগুলি সাধারণত অটোমেশনে অনুবাদ করা যা কিছুটা উন্নত দক্ষতা সরবরাহ করে (কোনও কার্যের সাথে সংস্থান কমান্ড কমিয়ে দেয়), বেগ (কোনও কার্য সম্পাদনের সময় হ্রাস করা), পূর্বাভাসযোগ্যতা (পুনরাবৃত্তিযোগ্যতা বাড়ানো) কোনও কার্যের) বা সংস্থা (কার্যগুলির মধ্যে সম্পর্কের সম্পর্কে সচেতনতা বাড়ানো)

যদিও এটি বোধগম্য যে প্রত্যেকেরই কম্পিউটারের নিম্ন স্তরের ক্রিয়াকলাপ, এবং বিশেষত ডিভাইস আইও এবং মেমরির বরাদ্দের বিষয়ে সাধারণ জ্ঞান থাকা উচিত প্রত্যেকেরই সেই জ্ঞানটিকে কোনও উল্লেখযোগ্য ডিগ্রীতে ব্যবহার করতে হবে তা অবশ্যই অস্বাভাবিক, তবে এটির জন্য কেবলমাত্র এটিই কাজে লাগানো উচিত let কাজ বিশাল। সমস্যার বিস্তৃত প্রেক্ষাপট না বুঝে এটি করার চেষ্টা অনিয়মিত ঝুঁকিকে একটি প্রচেষ্টা সন্নিবেশ করে।

এটি অযৌক্তিক যে প্রথম প্রোগ্রামিং ল্যাঙ্গুয়েজটি সি / সি ++ বা ঘনিষ্ঠ রূপগুলি হওয়া উচিত, কারণ সি এবং এর ডেরাইভেটিভগুলি যে শ্রেণীর সমস্যার সমাধান করে সেগুলি অবশ্যই বর্তমান এবং ভবিষ্যতের সমস্যার কিছু নির্বিচারে বৃহত শতাংশের জন্য উপযুক্ত নয় (কেবল যেখানে একজনকে উদ্ধার করতে হবে) একটি পূর্বে, স্ক্রু ড্রাইভার প্রোগ্রাম), এবং আসলে আসছে সমস্যাগুলির একটি ছোট সেট সেট। বেশিরভাগ প্রোগ্রামার ছোট ওএস, আন্তঃসংযুক্ত ডিভাইসগুলির বর্ধনশীলতা সত্ত্বেও মূল ওএস বৈশিষ্ট্যগুলি বা সরাসরি ডিভাইস ইন্টারফেসগুলি বিকাশের নিকটে আসতে পারে না। বেশিরভাগই আমাদের মতো কাজ করবে এবং বেঁচে থাকবে। দুই প্রজন্মের বেশি পুরানো কোড ফিক্সিং এবং ফ্যাসিং করা, ইতিমধ্যে বয়স দেখানো প্রযুক্তির উপর প্রয়োগ করা, বা হত্যাকারী (x + 1) অ্যাপ্লিকেশনটিতে প্রযুক্তির সীমানায় কাজ করা।

প্রথম ভাষার জন্য, আমি লেগো এনএক্সটি, হালকা শুল্কযুক্ত তবে ল্যাবভিউয়ের বৈশিষ্ট্যযুক্ত সমৃদ্ধ বৈকল্পিকের দিকে নজর দেব। লেগো এনএক্সটি বাণিজ্যিক উদ্যোগে ব্যাপকভাবে ব্যবহৃত হয় না, এটি একটি "সেন্সর সমৃদ্ধ" উপায়ে প্রোগ্রাম করার জন্য এটির মৌলিক প্রকৃতি উপস্থাপন করবে। আমি এটি জাভাস্ক্রিপ্ট বা টিসিএল / টিকের মতো কিছুটা প্ল্যাটফর্মের নিরপেক্ষ স্ক্রিপ্টিং ভাষার সাথে যুক্ত করতে পারি। প্রতিক্রিয়া লুপ এবং সমস্যার জটিলতার বিভিন্ন ডিগ্রী প্রবর্তন এবং সমাধান করার ক্ষেত্রে নমনীয়তার ক্ষেত্রে উচ্চ প্রত্যাবর্তনের সাথে আপনাকে খুব বুনিয়াদী কিন্তু কার্যকর কাজগুলি করার জন্য যা আবিষ্কার করতে হবে তার ক্ষেত্রে উভয়ই তুলনামূলকভাবে কম প্রভাব ফেলবে। এছাড়াও, এটি শিক্ষার্থীদের পক্ষে একটি ভাল সুযোগ প্রদান করে যেমন তারা ডাবের পরিবেশে যে পরিমাণ সরবরাহ করা হয় তার চেয়ে বেশি সম্ভাবনার অন্বেষণ করতে এগিয়ে যায়: অন্ধকারে স্যাঁতসেঁতে কাজ করার চেষ্টা করার সুযোগ, স্যাঁতসেঁতে,

তারা চারটি সিলিন্ডার স্বয়ংক্রিয়ভাবে চালনা শিখার পরে, যদি তারা সত্যিই আগ্রহী এবং প্রেরণাদ হয় তবে তাদের বড় ভি 8 ম্যানুয়াল হট্রোডে নিয়ে যান। যদি জোয়েল তার পায়ের নীচে কোনও পাথরের নীচে রক-স্টার প্রোগ্রামারগুলি খুঁজে না পায়, তবে তাকে অন্য কোথাও খুঁজতে হতে পারে, বা তার সরঞ্জামবক্সে আরও কিছু স্ক্রু ড্রাইভারের চেয়ে কেন আরও বেশি প্রয়োজন হতে পারে তা নিয়ে পুনরায় চিন্তা করতে হবে।


1

প্রাথমিক পর্যায়ে সি ++ এ সহজেই ভুল করা যায় এমন কয়েকটি পয়েন্ট:

আপনি যেখানে = বনাম == পরীক্ষা করতে চেয়েছিলেন সেখানে অ্যাসাইনমেন্ট তৈরি করা

অনুপস্থিত;

কোঁকড়া বন্ধনীগুলির পাঠযোগ্যতা বনাম, উদাহরণস্বরূপ পাস্কাল শুরু-শেষ

এবং তারপরে বিভ্রান্ত করার জন্য সমস্ত ফাইল, ম্যাক্রো, মেমরি ম্যানেজমেন্ট ইত্যাদি অন্তর্ভুক্ত রয়েছে।

সুতরাং আমি বলব যে সি ++ শুরু করার জন্য সেরা ভাষা নয় - তবে এটি সন্দেহ নেই যে আপনি এটি শিখলে এটি খুব উপকারী হতে পারে।

আমি - যেমন অন্যরাও পরামর্শ দিয়েছে - সি #, জাভা বা সম্ভবত এমনকি ভিবিও ব্যবহার করুন - এবং ত্রুটি থেকে পুনরুদ্ধার করা আরও সহজ করতে সহায়তা করার জন্য সিনট্যাক্স হাইলাইট, ডিবাগার ইত্যাদি সহ একটি ভাল আইডিই।


1

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

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

অনুরূপ নোটে, আমরা সত্যিই ভাল সি ++ দক্ষতার সাথে বেশ কয়েকটি সাম্প্রতিক কলেজ স্নাতকদের নিয়োগের সন্ধান করছি। আমরা কোনও সন্ধান করতে পারিনি।


1

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

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


1

সি ++ একটি বিশেষজ্ঞ ভাষা, কোনও শিক্ষানবিশ নয় ... প্রথমে সি বলে, জাভা বা সি # বা পাইথন নয় ... কেন? কারণ সি আপনাকে আপনার স্মৃতিশক্তি এবং কিছু কৌশল অবলম্বন সম্পর্কে যত্নবান হতে শেখায় যেমন পয়েন্টারগুলি যা সমস্ত ভাষার দ্বারা "লুকানো" এখনও সমস্ত জায়গায় উপস্থিত রয়েছে। আমি এমন অনেক তরুণ বিকাশকারীকে দেখেছি যারা এমনকি মেমরিটি কখনও কখনও প্রকাশিত হওয়া উচিত তাও বুঝতে পারে না এবং ময়লা সংগ্রহকারী একটু বামন নয় যা সমস্ত কোডিং ক্রেপগুলি সাফ করে: তারা তাত্ক্ষণিকভাবে, তারা তাত্ক্ষণিকভাবে উত্সাহ দেয় এবং প্রসারিত হয় এটি এক্সএক্সএক্সএক্সবিবি থাকলেও র‌্যাম ... তবে তারা বুঝতে পারে না যে ময়লা-আবর্জনা সংগ্রহকারী জাদুকরীভাবে সব কিছু পরিষ্কার করছেন না কেন! এবং আমি এই জাতীয় বিকাশকারীদের C ++ (এবং এমনকি ক্রেজিয়ার, কর্বায়) কোডিং করতে দেখেছি এবং এটি একটি বধ ছিল !!!!!!!!!! সুতরাং আমি সি তে কোডিং শিখতে এবং তারপরে অবজেক্ট কনসেপ্ট এবং আশেপাশের সমস্ত চিনির জন্য পাইথন / জাভা / সি # এ যেতে পরামর্শ দেব। তারপরে আপনি যখন সমস্ত কিছু বুঝতে পারেন, আপনি সি ++ এ যান এবং আপনি সি ++ এর শক্তি অনুভব করেন তবে আপনি এর সমস্ত বিপদগুলিও আবিষ্কার করেন এবং কেন এটি কারও দ্বারা ব্যবহার করা উচিত নয়))


1

কোন। সি ++ এর মতো অনেকগুলি জিনিস রয়েছে যা একটি নবাগতকে বুঝতে অসুবিধে করে। "সমস্ত প্রোগ্রামিং ভাষা সমান" ফলকিতে প্রবেশ করবেন না।

বেসিক বা পাস্কাল দিয়ে শুরু করুন, ("তারা অবহেলিত" জিনিসগুলি উপেক্ষা করুন) এবং পরে, সি / সি ++ / জাভা / সি # / পার্ল দিয়ে। বা আপনার যদি কোনও সুযোগ থাকে তবে প্রথমে লোগো এবং কারেল এবং তারপরে বেসিক বা পাস্কাল দিয়ে।

পিডি কিছু বিশ্ববিদ্যালয় এবং কলেজগুলির একটি প্রোগ্রামিং ভাষার ব্যবহার এবং তুলনা শ্রেণি রয়েছে এবং এটি ঘটে যে আমি সেই ক্লাসটি পড়িয়েছিলাম ;-)


0

প্রোগ্রামিংয়ের ভিত্তি শিখতে আপনি যে কোনও ভাষা বেছে নিতে পারেন। আমি সি / সি ++ এ স্টাফ শিখেছি। কিন্তু 7 বছর পরে, আমার স্কুলে সরঞ্জাম / ভাষা পরিবর্তন করা হয়েছে এবং তারা জাভা / সি # পছন্দ করে। ভাষা নিছক সরঞ্জাম। আপনার আরও ভাল হওয়ার জন্য যা দরকার তা হ'ল মৌলিক বিষয়গুলি। যেমন এমআইটি-তে লোকেরা অজগর ব্যবহার করে অ্যালগরিদম ফান্ডামেন্টাল শিখেন। যেমন জাভা ওয়েব প্রোগ্রামিংয়ের জন্য ভাল হতে পারে। তবে সি / সি ++ পরিষেবা এবং উচ্চ কার্যকারিতা অ্যাপ্লিকেশনগুলির জন্য ভাল good সুতরাং এটি আপনার পরিস্থিতিতে উপর নির্ভর করে।


0

যদি "উপযুক্ত" মানে "সম্ভব" হয় তবে হ্যাঁ। যদি "ভাল" জন্য হয়, অবশ্যই না।

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

আপনি কুমারী থাকাকালীন শুরু নয়, ছোট, সরল (তবে অনুমান করা আকর্ষণীয় এবং মজাদার) সমস্যাযুক্ত স্নিগ্ধতা।

আমি পাইথন দিয়ে শুরু করব, তারপরে এসআইসিপি (স্কিম) বা এরকম কিছু। হতে পারে বিপরীত বা আন্তঃবাহিত। তাদের সাথে আপনি কেবল সমস্যার সাথে ডিল করতে পারেন। সিস্টেমের সাথে লড়াই করার পরিবর্তে গভীর কাদায় হাঁটতে এবং সমস্ত ধরণের অযৌক্তিক কৌতুক এবং তাদের historicalতিহাসিক কারণগুলি শিখুন।

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

তারপরে সেই ভিত্তির সাহায্যে আপনি সি ++ সহ অন্যান্য ভাষায় প্রকাশিত হতে পারেন। এর মধ্যে কিছু "ভাষার ইতিহাস এবং বিবর্তন" যুক্ত করার জন্য একটি ভাল ধারণা।


0

আমি মধ্য বিদ্যালয়ে সি ++ দিয়ে শুরু করেছি। আমি এই বইয়ের একটি অনুলিপি তুলেছি : সি ++ হিট প্রোগ্রাম কীভাবে দেইটেল এবং ডিজিটেল । এই বইটি বেশ ভাল।

সত্যিকার অর্থে এখানে কোন সঠিক বা ভুল উত্তর নেই, আমি ব্যক্তিগতভাবে দেখতে পেয়েছি যে সি ++ উপলব্ধিযোগ্য। আমি ওওপি-তে সর্বত্র এটি শিখেছি (আমি "এই" -তে বিভক্ত হয়ে পড়েছি যা আমি এখন বুঝতে পারি না যে কীভাবে আমি কীভাবে এটি পেলাম না) যাই হোক না কেন)। চেষ্টা করে দেখুন, নিরুৎসাহিত হবেন না। যদি আপনি আটকে যান, অন্য ভাষাগুলি দেখুন এবং নতুন ভাষা শিখুন। ধারণাটি হ'ল আপনি একই ধারণাটি ২-৩ টি বিভিন্ন আকারে দেখলে আপনি তাদের আরও ভাল বুঝতে পারবেন। যেমনটি আমি বলেছিলাম, "এই" পয়েন্টারের ধারণাটি আমাকে বিভ্রান্ত করেছে কিন্তু আমি পাইথনে একই জিনিসটি দেখেছি (পরিবর্তে স্ব নামকরণ করা হয়েছে) এটি এখনই আমার কাছে বোধগম্য হয়েছিল কারণ আমি এটি সি ++ তে বুঝতে পেরেছিলাম। আপনি যতগুলি কলেজ এটি শেখাতে পারেন তবে জাভা শিখুন। অজগর বা রুবি শিখুন এটি ভাষা দু ভ্রমণ এবং আপনি যদি ক্লোজার (এবং অন্যান্য সমস্ত লিপস), হাস্কেল, স্কালার মতো আরও কুলুঙ্গি / নতুন জিনিসগুলি আবিষ্কার করতে পারেন ...


-1

না, আমি জাভা বা সি # দিয়ে শুরু করব। আপনি যদি সি ++ শিখতে চান তবে বুনিয়াদি যেমন আপনার ক্লাস কী, লুপ এবং কাঁটাচামচ কীভাবে করা যায় (যদি তবে বিবৃতি দেওয়া হয়) ইত্যাদি শিখার পরে সম্ভবত এটি সহজ হয় তবে কীভাবে সন্ধান করতে হয় তা শিখতে আরও অনেক গুরুত্বপূর্ণ কোনও সমস্যা বা গাণিতিক সমীকরণ এবং এটির থেকে প্রোগ্রাম করার চেয়ে আপনি নিজের সমস্ত স্মৃতি বা যা কিছু প্রকাশ করেছেন তা নির্ধারণ করা।


2
জাভা বা সি # কেন পাইথন এমনকি সরল?
ডেভিড থর্নলি

-3

এই প্রশ্নের পিছনে অনুমানটি উপস্থিত হয় যে "সি ++ এত জটিল দেখা যাচ্ছে, 16 বছর বয়সী কি এটিকে প্রথম (কম্পিউটার প্রোগ্রামিং) ভাষা হিসাবে বেছে নিতে পারবে?"

আমরা 4 বা 5 বছর নাগাদ, আমরা মাতৃভাষায় বেশিরভাগ নির্মাণগুলি তুলে ধরি, অন্যরা এটি শোনার মাধ্যমে এটির এতটা এক্সপোজার নিয়ে। দুর্দান্ত বাক্য গঠনে একটি জীবন সময় লাগে, সেখানে কোনও প্রশ্ন নেই।

সি ++ নিশ্চিত যে বেশিরভাগ মানুষের ভাষা থেকে অনেক কম জটিল / জটিল। 16 বছরের বাচ্চাদের অবশ্যই এটি বাছাই করতে সক্ষম হওয়া উচিত। তারা কি এটি দিয়ে দুর্দান্ত কোড লিখবে? অপেক্ষা করতে এবং দেখতে পেয়েছেন।


4
মানব ভাষাগুলি জটিল বাক্য গঠনটি বহন করতে পারে কারণ আপনি যদি ব্যাকরণ বা স্পেলিং রিংটি পান তবে লোকেরা আপনাকে এখনও বুঝতে পারে। কম্পিউটার ভাষার সাথে তেমন নয়।
dan04

-3

নতুনদের প্রথমে 'প্রোগ্রামিং' এর প্রশংসা করা দরকার। এক শ্রেণীর শুরুর প্রশিক্ষণ দেওয়ার অভিজ্ঞতায় তারা প্রথমে তাদের প্রশংসা করেছে যা তারা সবচেয়ে বেশি বোঝে। পাইথন বনাম সি # এর মতো তারা পাইথনের প্রশংসা করে কারণ এটি খুব উচ্চ স্তরের এবং সি # এর মতো চিহ্ন ব্যবহার করে না, যার অর্থ মানব ভাষার খুব কাছাকাছি, এর ইংরেজি। সুতরাং আমি উচ্চ স্তরের থেকে নিম্ন স্তরের প্রোগ্রামিং শিখতে সুপারিশ করব।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.