انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

نویسنده موضوع: چرا از C++ به جای C استفاده نمیشه  (دفعات بازدید: 6047 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین abdollah.m19

  • Newbie
  • *
  • ارسال: 20
  • جنسیت : پسر
چرا از C++ به جای C استفاده نمیشه
« : 03 اردیبهشت 1394، 02:02 ب‌ظ »
میدانیم زبان c++ همون زبان c است که یه سری ویژگیهای جدید مثل شی گرایی بهش اضافه شده . یعنی تقریبا همون زبان c است و چیزی از پلاس پلاس کم ندارد خوب حالا چرا برای نوشتن کرنل و برنامه های سیستمی وکلا برنامه های بسیار سطح پایین(اسمبلی) از c++ استفاده نمیشه و بیشتر از c استفاده میشه مثل کرنل یونیکس /لینوکس؟؟

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19754
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
پاسخ : چرا از C++ به جای C استفاده نمیشه
« پاسخ #1 : 03 اردیبهشت 1394، 02:46 ب‌ظ »
یکی از مهم‌ترین دلایلش می‌تونه این باشه که قبل از یونیکس c وجود نداشت. دنیس ریچی، کرانیگان و دوستان تصمیم به ساخت سیستم‌عامل یونیکس گرفتن و با مشکل نبود زبان مناسب مواجه شدن. برای همین شروع کردن به نوشتن زبان c تا بتونن با اون یونیکس رو بنویسن. به همین دلیل c زبان مرسوم و محبوب یونیکس و شبه‌یونیکس‌ها شد
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن

آفلاین 不眠症

  • Full Member
  • *
  • ارسال: 191
  • جنسیت : پسر
    • lazygeek
پاسخ : چرا از C++ به جای C استفاده نمیشه
« پاسخ #2 : 03 اردیبهشت 1394، 04:02 ب‌ظ »
دلایل متفاوتی وجود داره(چرا c++ جایگزین c نمیشه؟) ولی چون مستقیما راجع  به کرنل گفتی...

به نظرم:
زبان سی پلاس پیچیده تر از سی هست و کامپایلر کدهای پیچیده تری تولید میکنه و این روند توسعه رو دشوار میکنه.
و یک علتش هم overhead کتابخانه های استاندارد c++ که کامپایلر جداگانه پردازش میکنه

آفلاین محمد فدوی

  • Sr. Member
  • *
  • ارسال: 485
  • جنسیت : پسر
  • آغاز آزادی از رایانهٔ شخصی
    • آغاز آزادی از رایانهٔ شخصی
پاسخ : چرا از C++ به جای C استفاده نمیشه
« پاسخ #3 : 04 اردیبهشت 1394، 10:52 ق‌ظ »
http://stackoverflow.com/questions/497786/why-would-anybody-use-c-over-c
بهتر نبود این سؤال در بخش برنامه‌سازی پرسیده می‌شد؟
اگر به بهداشت و فرهنگ رفتار با حیوانات علاقه دارید، از vetMD.ir دیدن کنید.
وبلاگ شخصی من: http://fadavi.net

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19754
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
پاسخ : چرا از C++ به جای C استفاده نمیشه
« پاسخ #4 : 04 اردیبهشت 1394، 08:44 ب‌ظ »
لینوس توروالدز در جواب یه نفر که می‌گه بهتر نبود گیت رو با سی‌پلاس می‌نوشتی می‌گه:
*YOU* are full of bullshit.

C++ is a horrible language. It's made more horrible by the fact that a lot
of substandard programmers use it, to the point where it's much much
easier to generate total and utter crap with it. Quite frankly, even if
the choice of C were to do *nothing* but keep the C++ programmers out,
that in itself would be a huge reason to use C.

In other words: the choice of C is the only sane choice. I know Miles
Bader jokingly said "to piss you off", but it's actually true. I've come
to the conclusion that any programmer that would prefer the project to be
in C++ over C is likely a programmer that I really *would* prefer to piss
off, so that he doesn't come and screw up any project I'm involved with.

C++ leads to really really bad design choices. You invariably start using
the "nice" library features of the language like STL and Boost and other
total and utter crap, that may "help" you program, but causes:

 - infinite amounts of pain when they don't work (and anybody who tells me
   that STL and especially Boost are stable and portable is just so full
   of BS that it's not even funny)

 - inefficient abstracted programming models where two years down the road
   you notice that some abstraction wasn't very efficient, but now all
   your code depends on all the nice object models around it, and you
   cannot fix it without rewriting your app.

In other words, the only way to do good, efficient, and system-level and
portable C++ ends up to limit yourself to all the things that are
basically available in C. And limiting your project to C means that people
don't screw that up, and also means that you get a lot of programmers that
do actually understand low-level issues and don't screw things up with any
idiotic "object model" crap.

So I'm sorry, but for something like git, where efficiency was a primary
objective, the "advantages" of C++ is just a huge mistake. The fact that
we also piss off people who cannot see that is just a big additional
advantage.

If you want a VCS that is written in C++, go play with Monotone. Really.
They use a "real database". They use "nice object-oriented libraries".
They use "nice C++ abstractions". And quite frankly, as a result of all
these design decisions that sound so appealing to some CS people, the end
result is a horrible and unmaintainable mess.

But I'm sure you'd like it more than git.

Linus
منبع
« آخرین ویرایش: 04 اردیبهشت 1394، 08:46 ب‌ظ توسط دانیال بهزادی »
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن

آفلاین !

  • High Sr. Member
  • *
  • ارسال: 586
  • جنسیت : پسر
  • Don't Panic!
    • مانیتورینگ سایت
پاسخ : چرا از C++ به جای C استفاده نمیشه
« پاسخ #5 : 04 اردیبهشت 1394، 10:43 ب‌ظ »
آره به همون دلایل ذکر شده توسط توروالدز و بقیه ی اساتید بود که چیزی مثل گو ساخته شد.
یعنی نمیشه یبار کن تامپسون و دوستان یجا سخرانی کنن کلی شوخی با سی++ نکنن  :D
I just felt like running

Altern AI Directory --- GitHub

آفلاین abdollah.m19

  • Newbie
  • *
  • ارسال: 20
  • جنسیت : پسر
پاسخ : چرا از C++ به جای C استفاده نمیشه
« پاسخ #6 : 05 اردیبهشت 1394، 06:47 ب‌ظ »
1-زبان C به نوعی زیرمجموعه C++ است و به نوعی تمام C را در خود دارد.پس چرا C قدیمی هنوز از رده خارج نشده؟اصلا c چه برتریها و
مزایایی نسبت به c++ داره؟؟
2-بطور کلی برای نوشتن چه برنامه هایی از C و برای چه برنامه هایی از C++ استفاده میشود؟؟یعنی بهتره

آفلاین abdollah.m19

  • Newbie
  • *
  • ارسال: 20
  • جنسیت : پسر
پاسخ : چرا از C++ به جای C استفاده نمیشه
« پاسخ #7 : 28 اردیبهشت 1394، 12:57 ب‌ظ »
یک جواب معقولانه بدین.خود سازنده C++ گفته که C++ نسخه بهتر c است و تا به حال هیچ برنامه ای ندیده که در C بهتر از C++
نوشته شده باشه؟؟

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19754
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
پاسخ : چرا از C++ به جای C استفاده نمیشه
« پاسخ #8 : 28 اردیبهشت 1394، 01:44 ب‌ظ »
هیچ بقّالی هم نمی‌گه ماست من ترشه! ولی تقریباً همه‌ی بزرگان دنیای رایانه جمیع‌القول متّفقن که سی‌پلاس‌پلاس زیان زشتیه، پیاده‌سازی‌های بدی داره و ساختارش در حد خود سی قوی نیست.
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن

آفلاین سینوسی

  • Full Member
  • *
  • ارسال: 144
  • جنسیت : پسر
پاسخ : چرا از C++ به جای C استفاده نمیشه
« پاسخ #9 : 29 اردیبهشت 1394، 03:12 ب‌ظ »
دوستان با تجربه

میشه یک مقایسه مناسب راجع به زبان ها قرار بدن؟
یعنی اینکه کدوم زبان برای کدوم کاربرد کارایی بهتری داره؟

تا الان اونی که برای من مشخصه این هست که:
C برای توسعه کرنل و درایور نویسی کاربرد داره
R برای محاسباتی آماری ریاضی
Python برای NLP و ...
طوطی ها برای آزادی خود را به مردن میزنند
ما به نفهمی

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19754
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
پاسخ : چرا از C++ به جای C استفاده نمیشه
« پاسخ #10 : 30 اردیبهشت 1394، 12:54 ب‌ظ »
نه، پایتون یه زبان همه‌منظوره‌است. باهاش از اپلیکیشن‌های دسکتاپ و موبایل برنامه نوشته می‌شه (بیش‌ترین کاربردش هم همین‌جاست) تا بازی‌های گرافیکی(civilization)، تا نرم‌افزارهای سمت سرور(bittorrent)، تا کارهای عددی و آماری(numpy)، تا هوش مصنوعی(scikit)، تا وب(django) و…
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن

آفلاین abdollah.m19

  • Newbie
  • *
  • ارسال: 20
  • جنسیت : پسر
پاسخ : چرا از C++ به جای C استفاده نمیشه
« پاسخ #11 : 31 اردیبهشت 1394، 12:40 ب‌ظ »
پس چراالان خود کامپایلر  GCC که معروفترین کامپایلر اوپن سورسه و خود استالمن
اولین نسخشو نوشت الان در جدیدترین ورژنش به زبان C++ نوشته شده

آفلاین حامد مصافی

  • Jr. Member
  • *
  • ارسال: 60
پاسخ : چرا از C++ به جای C استفاده نمیشه
« پاسخ #12 : 31 اردیبهشت 1394، 01:12 ب‌ظ »
چرا دوستانی که سخنی از کسی رو نقل می‌کنند منبع ارائه نمی‌کنند؟

آفلاین alend

  • High Hero Member
  • *
  • ارسال: 1321
پاسخ : چرا از C++ به جای C استفاده نمیشه
« پاسخ #13 : 31 اردیبهشت 1394، 01:52 ب‌ظ »
به نظرم c++ بهترین طراحی رو داردبرخلاف نظر دوستان!

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19754
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
پاسخ : چرا از C++ به جای C استفاده نمیشه
« پاسخ #14 : 31 اردیبهشت 1394، 04:12 ب‌ظ »
پس چراالان خود کامپایلر  GCC که معروفترین کامپایلر اوپن سورسه و خود استالمن
اولین نسخشو نوشت الان در جدیدترین ورژنش به زبان C++ نوشته شده
GCC کامپایلر نیست، یک مجموعه از کامپایلرهاست که توش هم C داره، هم ++C، هم فورترن و…

چرا دوستانی که سخنی از کسی رو نقل می‌کنند منبع ارائه نمی‌کنند؟
استالمن: http://harmful.cat-v.org/software/c++/rms
توروالدز: http://harmful.cat-v.org/software/c++/linus
آدم‌های معروف دیگه: http://harmful.cat-v.org/software/c++/coders-at-work
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن