ভাল (দুর্দান্ত) প্রোগ্রামার হওয়ার জন্য কীভাবে সি (বা সি ++) ব্যবহার করতে হবে তা শিখছে? [বন্ধ]


25

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

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

সি বা সি ++ কোডের একক লাইন কখনও না পড়া বা না লিখে ভাল কাজ করে এমন ক্যারিয়ার তৈরি করা স্পষ্টভাবে সম্ভব।

এই সমস্ত দেওয়া, দুটি ভাষা শেখার প্রচেষ্টা মূল্য? এগুলি কি সর্বোত্তম হওয়ার দরকার? (স্পষ্টত, অ-ভাষার নির্দিষ্ট পরামর্শের বাইরে যেমন, "বিস্তৃত শিক্ষার জন্য ভাষাগুলির একটি ভাল নির্বাচন সম্ভবত গুরুত্বপূর্ণ") এবং "প্রোগ্রামারদের ক্যারিয়ার জুড়ে নতুন ভাষা চেষ্টা করা এবং শেখানো সম্ভবত একটি ভাল ধারণা, কেবল ধূসর কোষ প্রসারিত করতে ")


8
সি আজকের সফ্টওয়্যার অবকাঠামোতে সর্বব্যাপী। এটি শেখার ফলে অবশ্যই আপনি লেখার সফ্টওয়্যারটিতে আসলে কী চলছে তার গভীরতর উপলব্ধি ঘটবে। ( প্রোগ্রামার.সটাকেক্সচেঞ্জ / প্রশ্ন / 14744/… দেখুন )।
চার্লস সালভিয়া

আমি এখানে উত্তরগুলি প্রাসঙ্গিকভাবেও পেয়েছি: প্রোগ্রামার্স.স্ট্যাকেক্সেঞ্জার.কম
সেকশনস /

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

আরও ভাষা শেখা ক্ষতি করতে পারে না।
ম্যাক্সপাম

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

উত্তর:


63

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

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

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


34

হ্যাঁ, একটি দুর্দান্ত প্রোগ্রামার (আমাদের বর্তমান সময়ে) হওয়ার জন্য সি (বা সি ++) জেনে রাখা প্রয়োজন।

এটি ভাষা নিজেই নয়, এটি পরিবেশ।

প্রোগ্রামগুলি শূন্যতায় চলে না। দুর্দান্ত প্রোগ্রামার তার / তার পরিবেশ জানে যেমন দুর্দান্ত ভাস্কর তার উপাদানগুলি জানেন। আমাদের বর্তমান প্রোগ্রামিং পরিবেশ (অপারেটিং সিস্টেম, সংকলক, নেটওয়ার্কিং, ইত্যাদি) সি / সি ++ এ নির্মিত।

দুর্দান্ত প্রোগ্রামার দক্ষ প্রোগ্রাম লেখেন এবং তাদের বাস্তব জীবনের পরিস্থিতিতে ডিবাগ করেন। তিনি অবশ্যই পরিবেশটি জানেন - এবং আজকাল এর জন্য সি / সি ++ জানা প্রয়োজন requires

সম্পাদনা করুন: ম্যাট্রিক্স রেফারেন্স যুক্ত করতে প্রতিরোধ করতে পারবেন না। মরফিয়াস জিজ্ঞাসা করতে পারেন: আপনি জাভা বড়ি নিতে এবং ভার্চুয়াল মেশিন দ্বারা সরবরাহিত আরামদায়ক বিশ্বে বাস করতে চান? অথবা আপনি কি সি বড়িটি দেখেন এবং খরগোশের গর্তটি কত গভীর হয়?


9
ম্যাট্রিক্স রেফারেন্সের জন্য +1, আমি এটি ভবিষ্যতের সম্ভাব্য ব্যবহারের জন্য
রাখব

20

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

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

আমরা সর্বশেষ সরঞ্জামগুলি কেন শিখছিলাম না? আমাদের অধ্যাপকের মতে, প্রযুক্তি এত দ্রুত পরিবর্তিত হয় যে 4 বছরে, আমরা যে সরঞ্জামগুলি শিখি তা খুব ভালভাবে অপ্রচলিত হতে পারে। ঠিক আছে, ইন্ডাস্ট্রিতে কয়েক বছর পরে, আমাকে বলতে হবে যে আমি তার মূল্যায়নের সাথে একমত।

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

যখন বাস্তব বিশ্বে এই বিমূর্ততাগুলি ফুটো হয়ে যায় এবং তারা করবে, তখন বেসিকগুলির একটি বোধগম্যতা হল গড়কে সর্বোত্তম থেকে আলাদা করে।


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

6
@ ম্যাসন: লিস্প শিখতে রিয়েল ওয়ার্ল্ড কম্পিউটার সম্পর্কে আপনাকে প্রায় কিছুই শেখায় না। এটি আপনাকে গণনার তত্ত্ব সম্পর্কে অনেক কিছু শিখিয়ে দেবে। কাঁচা কম্পিউটারের চেয়ে কাঁচা কম্পিউটার বিজ্ঞান প্রায় বেশি।
ডেভিড থর্নলে

2
@ ম্যাসন হুইলার লার্নিং লিস্প বেশ কয়েকটি উন্নত ধারণার সাথে পরিচয় করিয়েছে, যার মধ্যে রয়েছে: ডেটা / কোড বিনিময়যোগ্য, প্রতিবিম্ব / স্ব-সংশোধনকারী কোড এবং আপনার সংকলক / ভিএমকে আপনার শেষ পণ্যটির একটি অংশ বিবেচনা করার গুরুত্ব
ব্লুবেরিফিল্ড

@ ব্লুবেরিফিল্ডস: ... এগুলিকেই একাধিক অভিজ্ঞ কোডার দ্বারা এক ডিগ্রি বা অন্যটিতে সুরক্ষিত দূর্বলতা হিসাবে বিবেচনা করা হয়। নবাগতদের শেখানো খুব খারাপ জিনিস।
ম্যাসন হুইলারের

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

18

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

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

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


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

13

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


7

দুটি ভাষা শেখা কি সেই চেষ্টাটির মূল্য?

সি বা সি ++ কোডের একক লাইন কখনও না পড়া বা না লিখে ভাল কাজ করে এমন ক্যারিয়ার তৈরি করা স্পষ্টভাবে সম্ভব।


6

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

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


5

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


ধাতুর কাছে! মন্তব্য ভাল লেগেছে।
ওয়াজিহ

3

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


3

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

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

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

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


1

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

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

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


0

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

বলা হচ্ছে, সি # গেমস প্রোগ্রাম করার জন্যও ব্যবহৃত হয়েছিল। সি শার্প সম্ভবত অন্যতম ডেস্কটপ এপ্লিকেশন ডেভেলপমেন্ট জন্য শ্রেষ্ঠ ভাষায় উইন্ডোজ প্ল্যাটফর্মে অন্তত।

ভিজ্যুয়াল স্টুডিওর পাশাপাশি, সি # আমার ব্যবহার করা প্রায় একমাত্র সফ্টওয়্যার বিকাশের ভাষা হয়ে উঠেছে (এসকিউএল এবং পিএইচপি ইত্যাদির মতো ক্ষমাশীল ভাষা) কারণ এটি সমস্ত অভিপ্রায় এবং উদ্দেশ্যে, আমার মতে রক্তাক্ত চমত্কার

আপনি যদি উইন্ডোজে বিকাশ করেন তবে আমি দৃ strongly়ভাবে সি # .NET শেখার জন্য অন্য কোনও কিছুর পাশাপাশি সুপারিশ করব।

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


1
@ নিক: কম্পিউটারের জগতটি উইন্ডোজ এবং সি # এর বাইরে।
রেঞ্জার

2
তাই আমি কেন বললাম, "আপনি যদি উইন্ডোজে বিকাশ করেন"
নিক বেডফোর্ড

0

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


3
আপনি যদি সি ++ কে সি থেকে আলাদা ভাষা হিসাবে ভাবেন না, তবে আপনি সত্যিই সি ++ ভাল জানেন না। কেবল ওভারল্যাপে কাজ করা সম্ভব তবে পরামর্শ দেওয়া যায় না।
ডেভিড থর্নলি

সম্ভবত আমি সাদৃশ্য খুব বেশি। তবে তারা আরও একই রকম, উদাহরণস্বরূপ, সি এবং পার্ল।
ব্রায়ান কার্লটন

0

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

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


+1 - বিভিন্ন ভাষায় ভিন্ন উপায়ে উপস্থাপিত অনুরূপ ধারণাগুলি আমাকে সেই ধারণাগুলি আরও ভালভাবে বুঝতে এবং তাদের সম্পূর্ণ নতুন আলোকে দেখতে সহায়তা করেছে।
jmort253

0

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

এবং সি (বা সি ++) না শিখিয়ে ক্যারিয়ার সম্পর্কে - হ্যাঁ, এটি সম্ভব, তবে সি শেখানো প্রোগ্রামিংয়ে আপনার জ্ঞান প্রদর্শন করবে।


0

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

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


0

একটি ভাল বৃত্তাকার প্রোগ্রামার তার হাতার কৌতুক বেশ কয়েকটি ব্যাগ আছে, এবং এর মধ্যে রয়েছে:

1) নিম্ন স্তরের প্রোগ্রামিং ... সর্বনিম্ন সি। কিছু সমাবেশ ক্ষতি হবে না।

2) কার্যকরী প্রোগ্রামিং ... একটি সংকর নয় একটি খাঁটি কার্যকরী ভাষা - স্কিম এখানে কাজ করে।

3) গলি ... সাধারণত আমি স্মলটক বলতে চাই, কিন্তু আমি মনে করি আমরা জাভা সঙ্গে এখন যেতে পারে।


0

সি হ'ল সমস্ত প্রোগ্রামিং ভাষার জননী .... সি এর বিশেষজ্ঞ নলেজডেজ আপনাকে অল্প সময়ের মধ্যে জাভা এর মতো অন্য যে কোন ভাষা জানার জন্য অনেক দূর এগিয়ে যেতে বাধ্য করে।

সি ++ সম্পূর্ণ ভিন্ন বলের খেলা এবং এটি সবার মধ্যে জটিল।


0

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


0

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


-1

মেমরি পরিচালনার একটি দৃ understanding় ধারণা অর্জনের জন্য এটি ভালভাবে সি শেখার মূল্য। ডেটা স্ট্রাকচার শেখার লক্ষ্য ব্যতীত সি ++ এর জন্য ডিট্টো।


ডেটা স্ট্রাকচার শিখতে কোনটি ভাষা ব্যবহার করে তা বিবেচ্য নয়।
kirk.burleson

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

-1

না। প্রচুর লাউসি প্রোগ্রামার রয়েছে যা সি / সি ++ কোড লেখেন। আপনাকে কীভাবে একটি ভাল প্রোগ্রামার তৈরি করবে তা বোঝা যাচ্ছে যে আপনাকে কখন এবং কেন সি / সি ++ তে কিছু লিখতে হবে

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