تفاوت برنامه نویسی ها - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

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

+4 امتیاز
فرق بین برنامه نویسی شیء گرا مثل: #C و ساخت یافته چیه؟

منظورم اینه که کدوم کاربردی تره ؟

کدوم آسون تره ؟

چه برنامه هایی شیء گرا و چه برنامه هایی ساخت یافته است؟

C++ از کدوم دسته است؟

.

.

.
سوال شده فروردین 28, 1393  بوسیله ی Amin (امتیاز 453)   10 17 43
دوباره تگ گذاری شد فروردین 29, 1393 بوسیله ی Ali Rahbar

2 پاسخ

+2 امتیاز
 
بهترین پاسخ

گاهی اوقات به یه سرچ ساده متوجه خیلی چیزها میشیم. بنگر:

لینک 1

لینک 2

لینک 3

در ضمن ++C جزو هر دو دسته است.

با شی گرا «اصلاح» کردن کد آسون تره ولی «یادگیری» ساخت یافته، خیلی آسون تره.

کاربرد تجاری شی گرا بیشتره(برنامه هایی که برای حسابداری و... مینویسن) ولی ساخت یافته هم کم کاربرد نیست.

پاسخ داده شده فروردین 28, 1393 بوسیله ی MaGaroos (امتیاز 658)   11 18 36
انتخاب شد اردیبهشت 10, 1393 بوسیله ی Amin
ناموفق بودن ؟
نسبت به C
من خودم بیشتر با C کار میکنم و بیشتر دوستش دارم . ولی C هیچ برتری نسبت به ++C نداره . هر چی رو که C داره ++C هم داره . و حتی ویژگی های بیشتری رو داره . ++C هم یک زبان سطح پیایین هست ( چون که C رو تو خودش داره و + Inline Assembly ) و هم زبان سطح بالا ( به خاطر Feature های خود ++C و همچنین C++11 که دیگه خیلی ویژگی ها رو اضافه کرده ) . البته از یک طرف دیگه هیچ کاری نیست که توی ++C انجام بدید و تو C نشه . این که هر کسی نتونه با ++C کد بنویسه مشکل خودش هست و به ناموفق بودن ++C نیست. یه نقل قول هم هست که میگه :
 ! C++ is not for children
این آقای smarty که این متن رو از وبلاگش برداشتن ترجمه کردن بنده خدا از جملاتش مشخصه که یک برنامه نویس مبتدیه :)
یعنی چی آخه اینا ! !
سوال من از شما اینه که چرا کلاس باید متغیر private داشته باشه  اینا فقط کد هستن خودشون که عقل ندارن ! ... :))
منم می تونم یک لیست برات بنویسم 100 تا از ویژگی هایی که C نداره ولی ++C داره !
در عین حال می تونم یک سری از مزیت های C رو بگم که ++C نداره  
هیچ کدوم دلیل نمیشن که بگیم یک زبون موفق نبوده !
موفقیت رو با سختی یادگیری نمیسنجن با برنامه هایی که با این 2 تا زبان نوشته شدن . با درصد استفاده ازشون توی دنیا و این جور چیزا مقایسه می کنن !
نگفتم Cpp بده اَخه
من میگم C بهتره برای برنامه های سطح پایین
Cpp برای برنامه های سطح بالا مناسب نیست (سخته)
این مقاله ای که اینجا گذاشتید تا وسطاش خودنم و دیگه نخوندم . چون که تو نوشته های خیلی تناقض داشت !
درضمن آخر مقاله نوشته بود که من پایتون کار هستم .
و این مقاله هم بره سایت ashyane.org هست که تو کار امنیت تمرکز دارن نه این مسایل ;)
حالا ۲ تا سوال.
به نظر شما چرا C برای برنامه های سطح پایین بهتره ؟
و چرا ++C برای برنامه های سطح بالا مناسب نیست ؟
چون مخصوص این کار ساختنش (سوال اول)
به هر حال شاید حق با شما باشه
من اون جمله رو پاک میکنم
سخت بودن یک بحثیه موفق نبودن یک بحث دیگه
نمیشه گفت چون پرواز با یک هواپیما به نسبت یک ماشین معمولی سخت تره پس هواپیما موفق نبوده !
ضمنا خیلی جاها برای کارهای سطح پایین هم از ++C استفاده شده و میشه  به جای c مثل سیستم عامل های موبایل اندروید   سیمبیان کارهای مربوط به رباتیک هوش مصنوعی تحقیقاتی  و ... اکثرا با c++ انجام میشن
من نمفهمم چرا جدیدا مد شده همه جا میگن c آسونه ++C سخته ! شما وقتی یک برنامه با C نوشتی 50 هزار خط شد داخلش گم شدی دیباگ یک مشکل ساده داخلش 5 ساعت طول کشید متوجه میشی کدوم سخت تره :)
قرار هم نیست کسی اون چیزی که شما از برنامه نویسی سطح بالا تو ذهنته مثلا برنامه حسابداری رو با c++ بنویسه !
شما وقتی که به شی گرایی  و سرعت c هر 2 تا همزمان نیاز داشته باشی انتخاب مناسب تر از ++C نداری !
قبول دارم. به جز یه قسمت، من هم دقیقا همین چیزی رو که شما میگی دارم میگم و به مشکل دیباگ کردن برخوردم.
ولی منظورم از حسابداری، مثال برای زبان شی گرا و سطح بالا نبود، مثال برای برنامه های تجاری بود.
پاک نکن . این بحثا خوبه و باعث میشه آدم روشن تر بشه ;)
میدونی الان مثلا شما source code موتور Unreal Engine یا همچین پروژه هایی رو ببین .
واقعا اگه بخوان اینا رو با C بنویسن بدبخت میشن :) چون بشدت به شی گرایی احتیاح داره .
ولی Linux-Kernel رو با C نوشتن . بدلیل سبک پروژه بوده که بهتر بوده با C بنویسن .
 و احتیاجی به شی گرایی نداشتن . چون Kernel یه چیز خیلی Low-Level هست . و حساسیت زیاد داره رسیک این رو نکردن که از Feature ای ++C استفاده کنن . (البته Linus Torvalds هم از ++C بدش میاد :)‌  )
کلا دلایل زیاد هست .
مثلا اینکه کتابخونه ها رو بیشتر با C مینویسن چون احتیاجی به ویژگی های ++C نیست !
و وقتی یک کتابخونه با C نوشته بشه به راحتی میشی توی زبان های دیگه هم ازش استفاده کرد . ولی اگه با ++C بنویسن قضیه فرق داره . مثلا همین Qt رو نگاه کن .
میتونی تو C ازش استفاده کنی ؟ میشه ولی نشدنش خیلی بهتر از شدنشه.
Android رو گرفتن خیلی جاهاش رو Java استفاده کردن .
شما بخوای Native داخلش برنامه بنویسی آخرشم باید یه EntryPoint توی Java براش بنویسی که برنامه شما رو Load/Run کنه .
خلاصه اینجور چیزا .
درسته
من اینا رو نمیدونستم :-"
+2 امتیاز
کاملا بستگی به خودت و برنامت داره سوال هایی مثل کدوم زبون برنامه نویسی بهتره ؟!!! یا کدوم متد ؟!!!! یا ... سوال های کلیشه ای هستند که مردم با مططرح کردن آن میخواهند خودشون رو سرگرم کنند وگرنه اگر شما میخواهید یه برنامه نویس خوب باشید میتونید از هرکدوم آسون تره شروع کنید و به تدریج همرو فرا بگیرید یه مورد دیگه اینه که نمیشه گفت کدوم متد خوب یا بد هستند بسشتگی به نوع و برنامه ای که میخواهید بنویسید داره
پاسخ داده شده فروردین 29, 1393 بوسیله ی Fire360Boy (امتیاز 2,524)   6 24 43
با تمامی احترامی که برای شما قائل هستم، مخالف هستم
...