PDA

View Full Version : سوال: امكانات منحصر بفرد و امكاناتي كه دليل محبوبيت ++C شده و امكاناتي كه اين زبان ندارد؟



complexcoding
پنج شنبه 21 دی 1391, 20:44 عصر
بسم الله الرحمن الرحيم

:قلب: دوستان سلام
در اين تاپيك قصد دارم بدونم :
1- چه امكاناتي شما در ++C پيدا كرديد كه منحصر بفرد يا شگفت انگيز بوده؟
2- چه امكاناتي باعث راحتي و لذت بردن شما از برنامه نويسي و يا گرايش شما به اين زبان شده؟
3- به نظر شما چه امكاناتي اين زبان هنوز نداره؟
4- اين زبان چه مي كرد تا شما بيشتر ازش لذت مي برديد؟
5- اين زبان چه مي كرد تا كاربردي تر يا تجاري تر مي شد؟
در آخر از همه ي دوستان پيشكسوت و حرفه اي ها و تمام كساني كه مي تونند بقيه و من رو كمك و راهنمايي كنند پيشاپيش تشكر و سپاس فراوان دارم.:قلب:

mahak006
جمعه 22 دی 1391, 03:09 صبح
بسم الله الرحمن الرحيم

:قلب: دوستان سلام
در اين تاپيك قصد دارم بدونم :
1- چه امكاناتي شما در ++C پيدا كرديد كه منحصر بفرد يا شگفت انگيز بوده؟
2- چه امكاناتي باعث راحتي و لذت بردن شما از برنامه نويسي و يا گرايش شما به اين زبان شده؟
3- به نظر شما چه امكاناتي اين زبان هنوز نداره؟
4- اين زبان چه مي كرد تا شما بيشتر ازش لذت مي برديد؟
5- اين زبان چه مي كرد تا كاربردي تر يا تجاري تر مي شد؟
در آخر از همه ي دوستان پيشكسوت و حرفه اي ها و تمام كساني كه مي تونند بقيه و من رو كمك و راهنمايي كنند پيشاپيش تشكر و سپاس فراوان دارم.:قلب:
این زبان ، زبان تقریبا کاملی نسبت به بقیه زبان ها هست . ولی اگه نقاط قوت c# رو در کنار کار هاش ، داشت ، خیلی قدرت بیشتری پیدا می کرد . مثلا c# از نظر هماهنگی با .net به نظر بنده خیلی راحت تر کار کرده . همین طور برنامه نویسی رو با ساختاری ایجاد کرده که مناسب بره امور تجاری ، شبکه ای و اینترنت هم باشه .
البته c++ هم همین چیزا رو داره . ولی کار تو این شرایط باهاش پیچیدس .
در کل تو همچین کارایی ، پیچیدگی بیش از حد c++ مانع شده که این زبان هم در این امور ، بیشتر مطرح بشه

complexcoding
جمعه 22 دی 1391, 09:58 صبح
با تشكر
جواب شما رو مي شه جلوي اين سوالات قرار داد:
4- اين زبان چه مي كرد تا شما بيشتر ازش لذت مي برديد؟ كار در شرايط تجاري و شبكه اي با ++C مشكل و پيچيده هست.
5- اين زبان چه مي كرد تا كاربردي تر يا تجاري تر مي شد؟كمي پيچيدگي كدنويسي با سي پلاس پلاس كاهش پيدا مي كرد تا كم و بيش در همه امور ازش استفاده مي شد.
عالي بود ممنون

منتظر پاسخ بقيه هستم. :قلب:

sr2m72
جمعه 22 دی 1391, 12:34 عصر
سلام.
به نظر من C++ زبان فوق العاده اي هست. به دلايل:
1- برنامه هاي نوشته شده با C++ سرعت بسيار بالايي دارند.
2- كدهاي C++ به صورت Native هستند و براي اجرا به هيچ چير نياز ندارد.(مشابه C# كه براي اجرا نياز به .net دارد).
3- C++ قابل حمل است.
4- زبان سيستم عامل است.
5- ...

#target
جمعه 22 دی 1391, 12:56 عصر
1- چه امكاناتي شما در ++C پيدا كرديد كه منحصر بفرد يا شگفت انگيز بوده؟
یکی از امکانات مناسب از نظر من چند منظوره بودن و اینکه کتابخانه های مختلفی براش اماده شده . و همچنین میشه کد رو به صورت Native کامپایل کرد . (و هم اینکه از کتابخانه دات نت و Managed کد نوشت )

2- چه امكاناتي باعث راحتي و لذت بردن شما از برنامه نويسي و يا گرايش شما به اين زبان شده؟
من از C استفاده میکنم و علت اولیه و اصلی نوشتن کد Native و کد کامپایل شده نسبت سریعتر و سربار کمی داره . بعدش هم آزادی زیادی که در این زبان داری.

3- به نظر شما چه امكاناتي اين زبان هنوز نداره؟
فعلا کارایی که من میخوام رو میتونم انجام بدم

4- اين زبان چه مي كرد تا شما بيشتر ازش لذت مي برديد؟
-

5- اين زبان چه مي كرد تا كاربردي تر يا تجاري تر مي شد؟
هم اکنون کاربردی هست . شما میتونین با استفاده از این زبان برنامه هایی که امروزه بازار نیاز داره ( حسایداری و ... ) به سرعت با استفاده از کتابخانه ها اماده و محیط های توسعه بنویسین . نمونش C++‎‎Builder و یا استفاده از کتابخانه دات نت !
به نظر علت اینکه خیلی ها به سمتش نمیان یکیش تصور استباه هست که اکثرا فکر میکنن فقط با C میشه برنامه های کنسول نوشت . (چون اکثر کتب فقط به همین مورد اشاره کردند - ) (و اینکه محیط های مثل #C همون اول که باز میکنی اجازه طراحی میدن که شاید خیلی ها رو جذب کرده و دنبال همونو گرفتن) که این تفکرم اشتباهه و حتی محیط های C++‎‎Builder و همین Visual Studio (حداقل اگه بخوان C++‎‎ Managed با دات نت بسازن) محیط طراحی اماده رو میده

complexcoding
جمعه 22 دی 1391, 14:07 عصر
سلام.
به نظر من C++‎‎ زبان فوق العاده اي هست. به دلايل:
1- برنامه هاي نوشته شده با C++‎‎ سرعت بسيار بالايي دارند.ممنونم
دليلشم در شكل زير مشخص هست:
http://www.niloblog.com/files/images/wf5h4rn7adrz09mrf9w.png

در واقع ++C كه با كدهاي فريم ورك كار مي كنه همون سي شارپ هست با قواعد سي پلاس پلاس

2- كدهاي C++‎‎ به صورت Native هستند و براي اجرا به هيچ چير نياز ندارد.(مشابه C#‎‎ كه براي اجرا نياز به .net دارد).بله به دات نت احتياج نداره و از اين لحاظ فايل نصب رو سبك تر مي كنه و فضاي كمتري براي نصب مي خواد.

3- C++‎‎ قابل حمل است.اين قسمت رو زياد متوجه نشدم. چونكه اين زبان براي نصب به فايل ها و كتابخانه هاي ضميمه خودش احتياج داره و اگر پرتابل باشه بقيه زبان ها هم مي تونند پرتابل باشن ولي شايد منظورتون اين بوده كه با كمي تغييرات در كدها ميشه رو سيستم عامل هاي ديگه هم اجرا بشه ولي سي شارپ نه!

4- زبان سيستم عامل است.
5- ...اينم يه حسن خوبش هست اما من به دليل اطلاعات كمم نمي دونم به چه دردي مي خوره ولي شنيدم خوبه!
در آخر از ارسال نظرت متشكرم.:قلب:
------------------------------------------------------------------------------------------------------------------
دوست خوبم آقاي #target
من فكر مي كنم دلايل شما براي علت باخت بقيه زبان ها نسبت به سي شارپ خيلي خوب و قوي هست. به طور مثال من يك كتاب سي شارپ خريدم مال سال 2005 با اينكه ماله 7 يا 8 ساله پيشه در همه ي زمينه ها بانك اطلاعاتي گرفته تا ساخت كامپوننت و كتابخانه ها و تمرين هاي متنوع از بازي هاي مختلف خلاصه سرتون رو درد نيارم از همه چيز به زبان شيرين فارسي گفته شده... ولي همين الان چند كتاب فارسي درباره كيوت يا MFC يا بيلدر و Delphi XE3 و ... وجود داره؟
نكته بعدي پشتيبان سي شارپ شركت با ثباتي مثل مايكروسافت هست!! كه با توجه نوسانات بازار و حملات ويروس ها و هكرها و... كمتر كمر خم كرده و مانند كيوت و دلفي و MFC ، به ترتيب جابجا و برشكست(سالهاي خيلي قبل) و دچار عقب افتادگي نشدن!
اما نكته بعدي اينكه سي شارپ به بازار ما خيلي مي خوره چون كشورهاي جهان سوم بيشتر از اينكه اختراع و نوآوري كنن نياز به نگه داري اطلاعاتشون دارن پس ما زباني مي خواييم كه خيلي ارتباط راحت و خوبي با بانك اطلاعاتي داشته باشه و همچنين عنصر جدا نشدني اون شبكه! اما از اين لحاظ با دلفي رقابت تنگاتنگي داره ولي به خاطر تو بوق و كرنا كردن هاشه كه تو بازار بقيه قافيه رو بهش مي بازن!

سپاس از كمكتون:قلب:
.
.
.
براي جمع بندي زوده ها من هنوز مي خوام بدونم!:چشمک:

aidinMC
جمعه 22 دی 1391, 14:07 عصر
شما اگه به این آدرس (http://www.stroustrup.com/applications.html) مراجعه بفرمایین متوجه میشین کارای که با این زبان میشه انجام داد با هیچ زبان دیگه ای نمیشه !!
خیلیا میرن دنبال C# ادعای برنامه نویسی میکنن و تازه میان از C++ هم انتقاد میکنن که آقا این کارو نمیشه باهاش انجام داد یا اون کار به سختی انجام میشه و از این حرفا ولی نمیدونن همین کامپایلر C# با C++ نوشته شده...
برا من فقط یه زبان وجود داره اونم C++ هستش...
و در ضمن چیزی که از این زبان برا من لذت بخشه همون پیچیدگیش هست....

complexcoding
جمعه 22 دی 1391, 14:28 عصر
شما اگه به این آدرس (http://www.stroustrup.com/applications.html) مراجعه بفرمایین متوجه میشین کارای که با این زبان میشه انجام داد با هیچ زبان دیگه ای نمیشه !!
خیلیا میرن دنبال C#‎‎ ادعای برنامه نویسی میکنن و تازه میان از C++‎‎ هم انتقاد میکنن که آقا این کارو نمیشه باهاش انجام داد یا اون کار به سختی انجام میشه و از این حرفا ولی نمیدونن همین کامپایلر C#‎‎ با C++‎‎ نوشته شده...
برا من فقط یه زبان وجود داره اونم C++‎‎ هستش...
و در ضمن چیزی که از این زبان برا من لذت بخشه همون پیچیدگیش هست....
بله به تنهايي نميشه با سي شارپ ادعاي برنامه نويسي كرد برنامه نويس كسي هست كه مبناها رو بلد باشه نه ظاهر كار رو !
ولي در كشور ما قانون كپي رايت رعايت نمي شه و يعني اينكه زور زدن واسه ساخت نرم افزارهاي پيچيده دور باطل هست همين بس كه قبل از ما خيلي ها چه بازي ها و نرم افزارهاي خوب كه نساختن اما كو پشتيباني؟

aidinMC
جمعه 22 دی 1391, 14:32 عصر
بله به تنهايي نميشه با سي شارپ ادعاي برنامه نويسي كرد برنامه نويس كسي هست كه مبناها رو بلد باشه نه ظاهر كار رو !
ولي در كشور ما قانون كپي رايت رعايت نمي شه و يعني اينكه زور زدن واسه ساخت نرم افزارهاي پيچيده دور باطل هست همين بس كه قبل از ما خيلي ها چه بازي ها و نرم افزارهاي خوب كه نساختن اما كو پشتيباني؟
تو ایران فردی برنامه نویس نامیده میشود که برنامه حسابداری بنویسد. (سرخط)

#target
جمعه 22 دی 1391, 14:48 عصر
خب بازار به برنامه حسابداری و یا طراحی سایت بیشتر نیاز داره . سایر ابزارها خارجی وجود داره . (چه رایگان چه پولی) . البته نبود قانون کپی رایت برای نرم افزار های خارجی شاید باشه اگه برنامه ایرانی ثبت بشه اونوقت نمیشه اینطور آشکار اقدام به کپی کرد و قابل پیگیری هست .

+ این جمله که بگیم فلان برنامه رو با زبان X نوشتن پس نتیجه بگیریم که زبان X خوبه جالب نیست . چون احتمالا همونو با زبان های دیگه هم میشده نوشت .

complexcoding
جمعه 22 دی 1391, 15:10 عصر
نرم افزار اكو براي طراحي موتورهاي جت و ساخت آمريكا قيمتش 5 ميليارد دلار هست و براي 20 سال پيش... قدرت فوق العاده داره و زباني كه باهاش اين نرم افزار نوشته شده اسمبلي هست!!!!!!!!
منبع : از يكي از كارشناسان ارشد هوافضاي وزارت دفاع.
مي خوام بگم با هر زباني هر چقدر هم كه مشكل باشه مي شه كارهاي خارق العاده انجام داد!
حالا شايد اونا آمريكايي بودن تونستن:لبخند:

#target
جمعه 22 دی 1391, 19:27 عصر
اسمبلی نمیشه گفت زبان . چون در اصل اسمبلی ی سمبل برای هر یک از دستورات پردازشگره ! و هر پردازشگر مجموعه دستورات خودشو داره . که خوب اسمبلیش هم فرق میکنه .
شاید اون نرم افزار روی پردازشگر خاصی قرار فعالیت کنه و کامپایلری که اون مجموعه دستورات رو ایجاد کنه نساختن و مسقیم با اسمبلی کد رو نوشتن ! (کدهای زبانهای سطح بالا بعد از کامپایل به همون مجموعه دستورات پردازشگر یا همون اسمبلی تبدیل میشن )

بیشتر بحث هایی که در مورد مقایسه دو زبان شده و من خودندم ، گویا زبان رو با کتابخانه هاش در نظر میگیرن . مثلا اینکه بگیم #C خوبه چون قابلیت پایگاه داده راحته اشتباهه چون #C زبان هست و اتصال به پایگاه داده رو بخشی از کتابخانه دات نت هست که انجام میده (که خوب با ++C هم میشه همون کتابخانه رو استفاده کرد) . زبان (هر کدوم) یک مجموعه دستورات هست که بیشتر شما باهاش کار با کتابخانه ها رو خودکار سازی و برنامه ریزی میکنین .

شاید کتابخانه های موجود برای یک زبان بیشتر به یک زبان قدرت بدن ! و از نظر من یکی از دلایل برتری C و ++C وجود کتابخانه های متعدد و آماده شده برای استفاده در این زبانه.

H_G_G_I
جمعه 22 دی 1391, 20:44 عصر
ای باوا نکنه به سی پلاس شک دارید !:بامزه:
بحث زبان های تحت وب و منیجد که کلا جداست !
اگه شما حدفتون ساخت نرم افزار بدرد بخور هست (مثل فتوشاپ ، مدیا پلیر ، مرورگر وب و ازینا که کیلو کیلو رو سیستم نصب می کنیم)
مناسب ترین سی پلاسه !

یادمه یکی می گفت اول سی امد بعد سی پلاس بعد سی شارپ
پس سی شارپ چون جدید تره سریعتره و بهتره !مردیم از خنده :قهقهه: :قهقهه: اخه هر گردی که گردو نیست :قهقهه:

درکل Native کار کردن یه معنی دیگه داره ! درسته سخته (اولاش) ولی خب خیلی نتیجه بهتری می ده
به نظر من همین الانم سی پلاس خیلی کامله !
خیلی از امکنات cpp11 رو من استفاده نکردم یعنی اصلا به کار ادم نمیاد خیلی کم لازم میشه !
همه چیز هم میشه باهاش پیاده سازی کرد !
البته بعضی وقتا ادم به یه چیزا احتیاج داره که خب باید خودش پیاده سازی کنه !
مثلا من یه بار لازم داشتم تا یه ماکرویی باشه که نام تابع جاری رو بنویسه مثل __FILE__ و __LINE__
-
سی پلاس رو عشقه !!!!!!:قلب:
:قلب:

complexcoding
جمعه 22 دی 1391, 20:59 عصر
اسمبلی نمیشه گفت زبان . چون در اصل اسمبلی ی سمبل برای هر یک از دستورات پردازشگره ! و هر پردازشگر مجموعه دستورات خودشو داره . که خوب اسمبلیش هم فرق میکنه .
شاید اون نرم افزار روی پردازشگر خاصی قرار فعالیت کنه و کامپایلری که اون مجموعه دستورات رو ایجاد کنه نساختن و مسقیم با اسمبلی کد رو نوشتن ! (کدهای زبانهای سطح بالا بعد از کامپایل به همون مجموعه دستورات پردازشگر یا همون اسمبلی تبدیل میشن )

بیشتر بحث هایی که در مورد مقایسه دو زبان شده و من خودندم ، گویا زبان رو با کتابخانه هاش در نظر میگیرن . مثلا اینکه بگیم #C خوبه چون قابلیت پایگاه داده راحته اشتباهه چون #C زبان هست و اتصال به پایگاه داده رو بخشی از کتابخانه دات نت هست که انجام میده (که خوب با ++C هم میشه همون کتابخانه رو استفاده کرد) . زبان (هر کدوم) یک مجموعه دستورات هست که بیشتر شما باهاش کار با کتابخانه ها رو خودکار سازی و برنامه ریزی میکنین .

شاید کتابخانه های موجود برای یک زبان بیشتر به یک زبان قدرت بدن ! و از نظر من یکی از دلایل برتری C و ++C وجود کتابخانه های متعدد و آماده شده برای استفاده در این زبانه.
والله حرف شما درست ++C يه زبان كامل اما چرا وقتي با ساخت كتابخونه هاي متعدد ميشه كدنويسي رو باهاش راحت و دلچسب كرد!!! شركت هاي بزرگ بازم دارن عين برگ درخت زبان توليد مي كنند(در حالي كه كاري فوق العاده سخته!!!) در تازه ترين موردشم همين گوگل كه زبان جديد GO رو راه اندازي كرده؟


دوستان لطفا در نظر سنجي شركت كنيد!

#target
جمعه 22 دی 1391, 21:32 عصر
البته یکی از دلایل کتابخانه میتونه باشه
سینتکس زبان که یادگیریش راحت تر باشه . بعضی از زبان ها برای منظور خاصی ساخته میشن و بیشتر بر اون هدف تمرکز میکنن . مثلا یکی بیشتر برا محاسبات ریاضی ٫ یکی بیشتر برا اسکریپ نویسی . خودکار سازی کارها و ....

mahak006
جمعه 22 دی 1391, 22:50 عصر
البته یکی از دلایل کتابخانه میتونه باشه
سینتکس زبان که یادگیریش راحت تر باشه . بعضی از زبان ها برای منظور خاصی ساخته میشن و بیشتر بر اون هدف تمرکز میکنن . مثلا یکی بیشتر برا محاسبات ریاضی ٫ یکی بیشتر برا اسکریپ نویسی . خودکار سازی کارها و ....

دقیقا همینه . ولی وقتی به کل برمیگردیم می بینیم که اغلب این زبان ها با همون c یا c++ کامپایل می شن . و از این جهت سرعت برنامه ای که با اون زبان نوشته شده باشه به نسبت از سرعت برنامه ای که مستقیم از c++ و c استفاده کرده کم تره . هر کدوم تو یه جاهایی حتی کاهش سرعتشون محسوس تره . مثلا همین MATLAB که هر جا میریم ، از خوبی هاش می گن و دیگر مهندسا ( که با برنامه نویسی زیاد سر و کار ندارن ) ازش زیاد استفاده می کنن و بهش می بالن ، یکی از بزرگ ترین اشکالاتش تو استفاده از حلقه هست که به شدت سرعتشو کم می کنه . تا جایی که نهایتا تو همون رشته ها به جایی میرسن که مجبور می شن بره افزایش سرعت کار برنامشون ، از کد نویسی مستقیم به زبان c تو همون محیط MATLAB استفاده کنن .
اما این نکته رو هم باید ببینیم که چرا MATLAB این قدر رو بورسه . چون ویژگی هایی داره که تو خود c ( یا c++ ) به همون آسونی که قرار داده شده نیست . ویژگی هایی مثل تعریف نوع داده به صورت پویا ( حین کار با متغیر ، نوعش بر اساس مقداری که بهش داده می شه ، عوض می شه ) . تعریف سایز متغیر به صورت پویا و متغیر ، رسم نمودار های متفاوت ، حل معادلات دیفرانسیلی و رسم نمودار های معادلات .

sr2m72
جمعه 22 دی 1391, 23:26 عصر
++C زبان برنامه نویسی قدرتمند و انعطاف پذیری است و محدودیتی برای کارهائی که می توان توسط آن انجام داد وجود ندارد. و برای پروژه هائی مانند ساخت سیستم های عامل، پردازشگرهای متن، گرافیک، صفحات گسترده و حتی کامپایلرهای زبان های دیگر بکار می رود.
يكي ديگر از مباحث قدرتمند زبان C++ اشاره گرهاي آن هستند.
در كل C++ سلطان تمام زبان هاي برنامه نويسي است.
:قلب:C++:قلب:

Ananas
شنبه 23 دی 1391, 11:07 صبح
سلام.
منم بازی:قلب: دلیل انتخاب من :
c++ زبانی هست که عمومیت داره و کد های نمونه و مثال به این زبان راحت تر پیدا میشه (حد اقل تو زمینه ی برنامه های من). قدرت انتخاب بیشتری به برنامه نویس میده. برنامه نویس رو مجبور میکنه به حروف بزرگ و کوچک دقت کنه (برای خودم جالبه). امکاناتی که مکرو ها در اختیار میگذارن مثلا می تونن کد نویسی رو کوتاه تر کنن.

hd2010hd
شنبه 23 دی 1391, 20:07 عصر
سلام !

واقعا زبون بی نظیری هست! (البته برای برنامه نویسای اهلش )

ولی همون طور که همه گفتن (بعضی جاها) پیچیده میشه ! از لحاظ سرعت بی نظیره و برای نوشتن برنامه های سطح میانی حرف نداره کار با سریال پورت ها

همین طور نوشتن برنامه خاص برای اقسام میکروکنتلر های روبات زبون عالی هستش ! چون حجم کمی میگیره و سرعت فوق العاده بالایی داره! برای همین برای

روبات از این زبون استفده میشه ! در کل زبون عشقی هست! من یکی که شیفته ش شدم !

mahak006
شنبه 23 دی 1391, 22:20 عصر
سلام !

واقعا زبون بی نظیری هست! (البته برای برنامه نویسای اهلش )

ولی همون طور که همه گفتن (بعضی جاها) پیچیده میشه ! از لحاظ سرعت بی نظیره و برای نوشتن برنامه های سطح میانی حرف نداره کار با سریال پورت ها

همین طور نوشتن برنامه خاص برای اقسام میکروکنتلر های روبات زبون عالی هستش ! چون حجم کمی میگیره و سرعت فوق العاده بالایی داره! برای همین برای

روبات از این زبون استفده میشه ! در کل زبون عشقی هست! من یکی که شیفته ش شدم !

البته تو مسائل رباتیک و روبوکاپ ، تو هر رباتی از این زبان استفاده نمی شه . مثلا تو رباط های NAO یا مسابقات روبوکاپ SPL ( Standard Platform League ) از این زبان c++ بره کد نویسی ربات ها استفاده می شه . یکی از دلایلش ، استفاده از سیستم عامل لینوکس روی این ربات هاست که نزدیکی زیادی با زبان c++ داره .
اما تو ربات های Small Size یا مسابقات SSL ( Smal Size Leage ) از زبان C# بهره گرفته شده . که یکی از دلایلش راحتی کار با این زبان تو محیط .net هست . همینطور سیستم عامل مورد استفاده تو این لیگ ، ویندوز هست .

complexcoding
شنبه 23 دی 1391, 22:52 عصر
دوستان مي دونم زبان خوبي هست اما صرفا پيچيده بودنش دليل بر خوب بودنش نيستا!!
در ضمن همين گستردگيش به كار بيشتر برنامه نويسا نمي ياد!!
درسته كه دست برنامه نويس رو باز گذاشته اما زمان رو هم از اون سلب كرده!!