সি ++ শেখার আগে আমাকে সি শিখানো উচিত? [বন্ধ]


116

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

আমি এর আগে কোনও সি করিনি তবে এর আগে কিছু সি কোড দেখেছি। এই গেমটিতে .cpp কোডটিতে আমি যা দেখেছি তা থেকে এটি খুব আলাদা দেখাচ্ছে না।

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



7
এটি আসলে একটি সদৃশ নয়। সুস্পষ্টভাবে এই প্রশ্নটিও জিজ্ঞাসা করে যে "আমি কি প্রথমে
ওওপি

2
থেকে সাজানো আগে উত্তর (আইএমও তারা চেনাশোনার মধ্যে যান), আমাকে কিছু পরামর্শ দিতে করার অনুমতি দেয় নিচে: 'সত্য' সি ++: নেই এইভাবে পরোক্ষভাবে 'সমস্ত বৈশিষ্ট্য বজায় রাখা এবং C প্রয়োগ গুণাবলীর অবচিত (অধিকাংশ ব্যবহার করে দেখুন নিচের উত্তর বিন্দু' সি to make)। তা যে : সি হল না , না , না মৃত। লোকেরা প্রিয় জীবনের জন্য ট্রপকে ' উভয়ই শেখার দরকার নেই ' ধরে ফেলেছে বলে মনে হয় , তবে বাস্তবে এর কোনও ভিত্তি নেই। সি, সি ++! = সি থেকে শুরু করে সিনট্যাক্স ধার নিতে । সি ++ জানা আপনাকে যোগ্য সি বিকাশকারী করে তুলবে না এবং তেমনি, সি জানার ফলে আপনি যোগ্য সি ++ বিকাশকারী হবেন না।
সুপার ক্যাট

4
যা বলেছিল : সি ++ এ ডিভেল করার আগে সি গ্রহণ করার কোনও ক্ষতি নেই - আপনি যত বেশি জানেন, তত ভাল আপনি - তবে বিপরীতে, যদি আপনার চূড়ান্ত লক্ষ্য সি ++ শেখা হয় তবে সি শেখার দরকার নেই । যদি আপনি সি ++ শিখতে চান তবে সি ++ শিখুন এবং আপনি যদি সি শিখতে চান না, তবে সি শিখুন । উভয়েরই পক্ষে মতামত এবং কনস (সি এর সরলতা এবং গভীরতার গভীরতা- সি ++ এর বৈশিষ্ট্যগুলি তাদের নিজস্ব উপায়ে উভয়ই অভিশাপ এবং আশীর্বাদ) এবং এখনও উভয়ই ব্যবহৃত হয় (এম্বেডড সিস্টেম, ইউনিটি, পিএইচপি ইত্যাদির জন্য সি - সি ++ এছাড়াও ityক্য, অবাস্তব ইত্যাদি)।
সুপার বিড়াল

3
পয়েন্ট: C ++ শিখতে চান? তারপরে সি এড়িয়ে যান আপনার দরকার নেই। সি শিখতে চান? তারপরে ভাল, সি শিখুন, যদি আপনি উভয়ই শিখতে চান তবে প্রথমে সি এর জন্য যান। তাদের দু'জনেরই বিশ্বে জায়গা রয়েছে, তাই ভাববেন না যে উভয়ই একে অপরের পক্ষে যথেষ্ট।
সুপার বিড়াল

উত্তর:


121

সি ++ শেখার আগে সি শেখার দরকার নেই।

তারা বিভিন্ন ভাষা । এটি একটি সাধারণ ভ্রান্ত ধারণা যে সি ++ কোনওভাবে সি এর উপর নির্ভরশীল এবং তার নিজস্ব কোনও সম্পূর্ণ নির্দিষ্ট ভাষা নয়।

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

আপনি যদি সি ++ শিখেন তবে শেষ পর্যন্ত আপনি বেশিরভাগ সি শিখতে পারবেন এমন ভাষাগুলির মধ্যে কিছু পার্থক্য যা আপনি সময়ের সাথে শিখবেন। যথাযথ সি ++ লেখার পক্ষে এটি খুব কঠিন বিষয় কারণ মধ্যবর্তী সি ++ প্রোগ্রামাররা সি / সি ++ লেখার প্রবণতা রাখে .এটি সত্য যে আপনি সি দিয়ে শুরু করেছিলেন বা সি ++ দিয়ে শুরু করেছিলেন তা সত্য is

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

দয়া করে এই উত্তরে আরও যুক্তি দেখুন


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

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

8
@ ম্যাট: এছাড়াও আমার লিঙ্কযুক্ত পোস্ট থেকে: আপনার প্রথমে সি ++ শিখতে হবে, কারণ সি প্রথমে শেখা আপনাকে আঘাত করবে না, কারণ আপনাকে কোনও কিছু শিখতে হবে না (তবে আপনি করবেন না), তবে প্রথমে সি শেখার কোনও লাভ নেই বলে। আপনি শেষ পর্যন্ত সি সম্পর্কে সমস্ত কিছু সম্পর্কে জানতে পারবেন কারণ এটি সি ++ এর মধ্যে কমবেশি রয়েছে।
ব্রায়ান আর বন্ডি

11
@ ম্যাট: আমি দুঃখিত আপনি এখনও বুঝতে পারেন না। সি এবং সি ++ এর ভেন চিত্রটি আঁকুন এবং ছেদকারী অংশগুলি দেখুন। সি ++ আপনার আঁকানো পুরো সি ++ বৃত্তের সমন্বয়ে গঠিত, কেবল যে অংশগুলি ছেদ করছে না তা নয়। আপনি যদি প্রথমে সি জানেন, আপনার পক্ষে ভাল, আপনি সি ++ আরও দ্রুত শিখতে পারেন। আপনি যদি প্রথমে সি জানেন না, এটি প্রথমে শেখার কোনও কারণ নেই। আপনি কি ধরে নিয়েছেন যে সি +++ এর প্রতিটি বই পয়েন্টার এবং মেমরি পরিচালনা এবং স্ট্রিং লিটারাল ইত্যাদি কভার করবে না? আমি এখন আলোচনা বন্ধ করতে যাচ্ছি তবে আপনার সমাপনী মন্তব্যগুলি নির্দ্বিধায় ছেড়ে দিন।
ব্রায়ান আর। বন্ডি

11
@ ম্যাট: সি কীভাবে সি ++ এর আরও ভাল বোঝার দিকে পরিচালিত করে? সাধারণত, সি প্রোগ্রামার যারা সি ++ শিখেন তারা কুরুচিপূর্ণ লেখার শেষ করে, ত্রুটি-প্রবণ "ক্লাস সহ সি" শৈলী কোড code আমি বলছি না যে এটি সর্বদা ঘটে থাকে, তবে এটি সি থেকে শুরু করার সময় সর্বাধিক প্রাকৃতিক অগ্রগতি, কারণ সি "আধুনিক" সি ++ এর চেয়ে সি ++ এর ভয়ঙ্কর স্টাইলের অনেক বেশি কাছাকাছি।
jalf

77

আমি এই প্রশ্নটি পছন্দ করি - এটি "জিজ্ঞাসার মতো যা আমি প্রথমে স্নোবোর্ডিং বা স্কিইং শিখি"? আমি মনে করি আপনি স্নোবোর্ড করতে চান বা স্কি করতে চান এটি নির্ভর করে। যদি আপনি উভয়ই করতে চান তবে আপনাকে উভয়ই শিখতে হবে।

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


70

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

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

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

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


18

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


13

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

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

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


আমি একমত নই এর
নুনের

12

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

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


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

13
আমি আমার কথায় দাঁড়িয়ে। সি ++ সি এর শীর্ষে নির্মিত এবং এভাবে সি এর হৃদয়ে থাকে। সি ++ এ ব্যবহৃত আইডিয়ামগুলি সি ব্যবহৃত ব্যবহৃত তুলনায় অনেক বেশি আলাদা, তবে বাক্য গঠনটি একই। সি থেকে শুরু করে সি ++ প্রোগ্রামের সঠিক পদ্ধতিটি কেউ শিখতে পারেন সি ++ প্রাইমারটি দেখুন। এটি মূলত তা করে।
স্টিভ রোয়ে

6
+1 টি। সি একটি ছোট ভাষা, সুতরাং এটি শিখতে সহজ। সি এর সাথে পিছনের দিকে সামঞ্জস্যপূর্ণ হওয়ার চেষ্টাটি সি ++ এর সাথে বড় সমস্যার অন্যতম উত্স, অন্যটি টেম্পলেট সিস্টেম যা 90% সি ++ প্রোগ্রামার ব্যবহারের জন্য খুব জটিল।
পাহাড় 21

1
ভেরিয়েবল, প্রকারগুলি [পয়েন্টার এবং যোগ্যতা সহ], স্কোপ, ফাংশন, প্রিপ্রসেসর এবং লিঙ্কেজের বোঝা সি এবং সি ++ উভয়েরই জন্য প্রয়োজনীয়। আমি বলব যে সি এর সাথে এই ধারণাগুলি শেখা আরও সহজ হবে যাতে আপনার ক্লাসগুলি static, টেমপ্লেটগুলির একটি অন্য অর্থ (এবং হাস্যকরভাবে ভয় দেখানো ভয়ঙ্কর টেম্পলেট ত্রুটি যা
সংকলকগুলি

1
তোমার একটা কথা আছে আসলে, সি শিখাই ভাল হতে পারে যাতে এরপরে আপনি এর মূল সম্পর্কে আরও ভাল জ্ঞান নিয়ে সি ++ এ যেতে পারেন।
ড্যানিয়েল দারানাস

10

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


8

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


4
অনেক উচ্চ পারফরম্যান্সের কম্পিউটিং পরিস্থিতিতে, এই কয়েকশো ঘড়ির চক্রটি আসলেই গুরুত্বপূর্ণ।
স্কটি টি

1
@ স্কটিটিটি: এটিকে বাদ দিয়ে restrict সি ++ এর চেয়ে সি-তে অন্য কোনও পারফরম্যান্স-সম্পর্কিত সিনট্যাকটিক / কেন সি ++ কোড সমৃদ্ধ সিনট্যাক্স সহ এবং উদাহরণস্বরূপ মেটা-প্রোগ্রামিংয়ের ধীর কোডটি বলে কেন মনে করেন? আপনি কি অভিব্যক্তি টেম্পলেট জানেন?
সেবাস্তিয়ান মাচ

1
@ ফ্রেসেল: প্রাসঙ্গিকতা। সি ++ একটি অত্যন্ত জটিল ভাষা যা বৈশিষ্ট্যগুলি প্রায়শই কেনা যায় না a সাধারণ নিয়ম হিসাবে সি জটিলতার ক্ষেত্রে উল্লেখযোগ্য পরিমাণে কম দামে সি ++ এর মতো একই কার্য সম্পাদনের সুযোগ দেয় ।
ম্যাট যোগদানকারী

1
@ ম্যাটজাইনার: রক্ষণাবেক্ষণ / এক্সটেনসিবিলিটিও পারফরম্যান্সের কারণ, যদিও আমি বুঝতে পারি যে বৈজ্ঞানিক কোডটি প্রায়শই এক-শট হয়। যাইহোক, এক্সপ্রেশন-টেম্পলেটস-যুক্তি পুনর্বার (উদাহরণ হিসাবে), আমি বলি যে সি ++ এর আরও অনুকূলিতকরণের সুযোগ রয়েছে, (কারণ এটি অভ্যন্তরীণ-কোডের চেয়ে এক্সপ্রেশন-টেম্পলেট-কোড লেখার পক্ষে সহজ )ও রয়েছে, ( restrictতবে যাইহোক সমস্ত বড় সি ++ সংকলক একটি এক্সটেনশন হিসাবে সরবরাহ করে)। এবং আপনি কি সত্যিই মনে করেন যে একই কোডটি দেওয়া হলে, একই সংকলক দেওয়া সি ++ এবং সি এর মধ্যে পারফরম্যান্সে কোনও পার্থক্য থাকবে? [...]
সেবাস্তিয়ান মাচ

1
@ ম্যাটজয়াইনার: [...], এবং "যতটা আমি সি +++ অপছন্দ করি" এর মত বিবৃতি পড়ার সময় আমাকে এই আলোচনায় আপনি কিছুটা পক্ষপাতদুষ্ট অনুমানটি বাড়িয়ে তুলতে দেয়। আপনি কি মনে করেন সি ++ কোডটি আরও খারাপভাবে সম্পাদন করে? সি-তে যদি একই পারফরম্যান্স-সুযোগ থাকে তবে এক্সপ্রেশন টেম্পলেটগুলির সমতুল্য কী, সাধারণভাবে টেমপ্লেটগুলি, নন-ইন্টারনাসিক ডেটাটাইপস, ফান্ট্যাক্টারে সংকলন-সময় গণনা? এবং ব্যয় / রক্ষণাবেক্ষণ-ফ্যাক্টরটি যুক্ত করুন: আরআইআইআই, অপারেটর / ফাংশন ওভারলোডিং, জেনেরিক স্ট্যান্ডার্ড পাত্রে, স্ট্যান্ডার্ড থ্রেড, জেনেরিক স্ট্যান্ডার্ড অ্যালগরিদম, রেফারেন্স?
সেবাস্তিয়ান মাচ

8

লার্নিং সি আপনাকে আপনার কোডটি লেখার সময় কিছু বিষয় যেমন সুস্পষ্ট এবং অন্তর্নিহিত মেমরি পরিচালনা বা স্টোরেজ আকারের বেসিক ডেটা টাইপের বিষয়ে কঠোর চিন্তা করতে বাধ্য করে।

একবার আপনি এমন একটি পর্যায়ে পৌঁছে গেছেন যেখানে আপনি সি এর বৈশিষ্ট্য এবং অপব্যবহার সম্পর্কে স্বাচ্ছন্দ্য বোধ করেন , আপনার সম্ভবত সি ++ শিখতে এবং লেখাতে কম সমস্যা হবে।

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


8

আমার ধারণা সি প্রথমে শেখা একটি ভাল ধারণা।

সিম কোর্সে এখনও সি ব্যবহার করার কারণ রয়েছে reason

আমার মতে বিষয়টির সমস্ত "ভিড়" এড়াতে ওওপি বহন করার বাধ্যবাধকতা রয়েছে।

আমি মনে করি যে প্রোগ্রামিং প্রোগ্রামিং হ'ল প্রথম প্রোগ্রামিং শিখার সবচেয়ে প্রাকৃতিক উপায়। আমি মনে করি এটি সত্য কারণ দিনের শেষে আপনার যা আছে: কোডের রেখাগুলি একের পর এক নির্বাহ করে।

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


4
দেখে মনে হচ্ছে আজকাল অনেক কমপ্লেক্স সায়েন্স কোর্স জাভা ব্যবহার করে যা আপনি যে সমস্যার কথা বলছেন তা বাড়িয়ে তোলে।
দিমা

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

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

2
"সিম কোর্স কোর্সগুলি এখনও সি ব্যবহার করার একটি কারণ রয়েছে" " হ্যাঁ, কারণ বেশিরভাগ কমপ্লেক্স সায়েন্স কোর্সগুলি খারাপভাবে শেখানো হয়।
লাইটনেস রেস

8

না।

এটি সি ++ শিখতে সাধারণত বেশি দরকারী কারণ এটি আইফেল বা সি # এর মতো সর্বাধিক আধুনিক ওও-ভিত্তিক ভাষার কাছাকাছি।

যদি আপনার লক্ষ্যটি সি ++ শিখতে হয় তবে আধুনিক, প্রথম স্থানে স্ট্যান্ডার্ড সি ++ শিখুন। Mallocs একপাশে ছেড়ে দিন।


তবে স্টিভ রোয়ের একটা কথা আছে ...


সি ++ আজকাল সি # বা আইফেলের মতো ওও ভাষার কাছাকাছি নয়।
einpoklum

7

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


6

আমার দুই সেন্ট:

আমি প্রথমে সি শিখার পরামর্শ দিই, কারণ:

  • এটি একটি মৌলিক ভাষা - অনেকগুলি ভাষা সি থেকে অবতীর্ণ
  • আরও প্ল্যাটফর্মগুলি সি ++ এর চেয়ে সি সংকলককে সমর্থন করে - এটি এম্বেড করা সিস্টেম, জিপিইউ চিপস ইত্যাদি supports
  • টিআইওবি সূচক অনুসারে সি এখনও সি ++ এর থেকে প্রায় 2 গুণ বেশি জনপ্রিয়।

3

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

শুভকামনা

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