PDA

View Full Version : سوال: آیا برنامه نویسان C++ باید به C# مهاجرت کنند ؟



csvbcscp
چهارشنبه 26 تیر 1392, 21:39 عصر
آیا برنامه نویسان C++ باید به C# مهاجرت کنند ؟
شاید دلیل کسانی که به این سوال پاسخ مثبت میدن این باشه
من مایلم با C# برنامه بنویسم چون می خوام از مزایای کد های مدیریت شده مثل (مدیریت خودکار حافظه توسط CLR، استفاده از delegate، attribute و event و interface و Property ها، پشتیبانی از یک نوع String داخلی، کنترل خطاها از طریق اکسپشن ها و ...) استفاده کنم.
اما آیا با وجود C++/CLI که از طریق اون میتونیم برنامه های تحت دات نت بنویسیم، یادگیری یک زبان جدید ضرورتی داره ؟
C++ تنها زبانیه که به وسیله اون هم می تونیم کدهای محلی و هم کد های مدیریت شده تولید کنیم، و اونا رو تو یک ماژول ترکیب کنیم. اما با C# فقط برنامه های تحت دات نت میشه نوشت.
با C++ شما می تونید کنترل سطح پایینی از سیستم داشته باشید ، این خاصیت به شما کمک میکنه که بتونید بازی های سنگین سه بعدی رو به صورت بهینه بسازید.
برای بیشتر قطعات الکترونیکی مثل میکرو کنترولر ها، کامپایلر C# وجود نداره ، و برای بیشتر قطعات سخت افزاری فقط از طریق C++ درایور تهیه می کنند.
برنامه های تحت دات نت ابتدا به یک زبان میانی تبدیل می شن و قسمتی از عمل کامپایل به زمان اجرا موکول می شه و این کار به عملکرد برنامه ضربه زده و باعث تخصیص مقدار زیادی حافظه پویا می شه.
با این اوصاف به نظر شما استفاده از دات نت چه مزیتی برای ما به همراه داره ؟
اگر جواب شما به سوال بالا مثبته، لطفاً دلایل خودتون رو بیان کنید..
من خودم با این مهاجرت موافق هستم، اما می خوام قبل از گفتن دلایلم برای این کار حرف های شما رو بشنوم
پس هر تجربه ای در استفاده از این دو زبان دارید با ما در میون بزارید
متشکرم

drsina
چهارشنبه 26 تیر 1392, 22:40 عصر
داداش وقتی کاربرهای Dot net میتونم با ابزاری که ویندوز براشون فراهم کرده (jit just in time ) استفاده کنن ، خیلی مزیت های در اختیار برنامه نویس ها میزاره !!!!!
خب سی شارپ هم بی عیب نیست و شاید عیوبش کم تر از سی پلاس پلاس باشه ولی این حرف از نظر من زیاد منطقی نیست .

plus
چهارشنبه 26 تیر 1392, 23:05 عصر
ببینید، بستگی به پروژه داره. شما میای به عنوان یک عیب، سرعت پایین #C نسبت به ++C رو بیان میکنید.در پروژه ای که زمان اجرا اهمیت بالایی داشته باشه، ++C مسلما بهتر هست...
در مورد مزایای #C، با وجود اینکه میشه توی ++C هم از دات نت استفاده کرد، استفاده از .NET توی ++C به نظرم زیاد جالب نیست.مزایای #C میتونه همین سادگی کار با NET. باشه و یا مسائلی مثل عدم نیاز به مدیریت حافظه در حد ++C، راحتی طراحی UI و .... .کلا امکانات زبان #C رو میتونید توی MSDN پیدا کنید.
در کل نظر من اینه که برای یک پروژه میتونه #C مناسب باشه، برای یکی ++C و برای بعضی هم استفاده از هر دو.برای مثال نرم افزاری که با دستگاه های صنعتی کار میکنه رو میشه در لایه ارتباط با این دستگاه ها با ++C کار کرد و در لایه UI با #C.

fool66
چهارشنبه 26 تیر 1392, 23:40 عصر
کتاب جدید C++ بهتر است یا C#؟زهرا بیات رو بخونید گفته :لبخند:

csvbcscp
پنج شنبه 27 تیر 1392, 04:59 صبح
داداش وقتی کاربرهای Dot net میتونم با ابزاری که ویندوز براشون فراهم کرده (jit just in time ) استفاده کنن ، خیلی مزیت های در اختیار برنامه نویس ها میزاره !!!!!
خب سی شارپ هم بی عیب نیست و شاید عیوبش کم تر از سی پلاس پلاس باشه ولی این حرف از نظر من زیاد منطقی نیست .

بله کاملاً با شما موافقم
به دلیل وجود JIT ، خیلی از موارد برنامه های مدیریت شده بهتر از برنامه های مدیریت نشده کار می کنند.
مثلاً در سیستمی که فقط یک پردازنده وجود داره شرط زیر همیشه False خواهد بود.
(if (numberOfCPUs > 1)
}
...
}
در این شرایط JIT هیچ دستوری را برای پردازنده تولید نمیکنه
همین کار باعث میشه کد ما کم حجم تر و سریع تر بشه

متشکرم بابت نظرتون

csvbcscp
پنج شنبه 27 تیر 1392, 05:02 صبح
ببینید، بستگی به پروژه داره. شما میای به عنوان یک عیب، سرعت پایین #C نسبت به ++C رو بیان میکنید.در پروژه ای که زمان اجرا اهمیت بالایی داشته باشه، ++C مسلما بهتر هست...
در مورد مزایای #C، با وجود اینکه میشه توی ++C هم از دات نت استفاده کرد، استفاده از .NET توی ++C به نظرم زیاد جالب نیست.مزایای #C میتونه همین سادگی کار با NET. باشه و یا مسائلی مثل عدم نیاز به مدیریت حافظه در حد ++C، راحتی طراحی UI و .... .کلا امکانات زبان #C رو میتونید توی MSDN پیدا کنید.
در کل نظر من اینه که برای یک پروژه میتونه #C مناسب باشه، برای یکی ++C و برای بعضی هم استفاده از هر دو.برای مثال نرم افزاری که با دستگاه های صنعتی کار میکنه رو میشه در لایه ارتباط با این دستگاه ها با ++C کار کرد و در لایه UI با #C.

به نکات خیلی خوبی اشاره کردید، این رو هم به گفته هاتون اضافه کنم
در خیلی از موارد بر خلاف تصور عموم حتی C# دارای پرفورمنس بالاتری نسبت به C++

محسن=0
پنج شنبه 27 تیر 1392, 05:40 صبح
هر 2 تاش رو استفاده کنی که ضرر نمیکنی.

csvbcscp
پنج شنبه 27 تیر 1392, 20:12 عصر
هر 2 تاش رو استفاده کنی که ضرر نمیکنی.



بله حق با شماست
منظور از مهاجرت به C# کنار گذاشتن C++ نیست
ما ناگزیریم در خیلی از موارد از C++ استفاده کنیم
مثلاً زمانی که نمی خواهیم، برنامه مان توسط کرکر ها کرک شود، الگوریتم های مهم پروژه رو با زبان C++ می نویسیم.

sinaone1
پنج شنبه 27 تیر 1392, 20:17 عصر
دوست عزیز بستگی به بستری که می خوای استفاده کنی داره
مثلا اگه ویندوز 8 به بالاست که خوب C++‎ رو با XAML ترکیب میکنی و نتیجه میشه هوووووورا.
ولی اگه XP یا Seven هست که بهتره C#‎ بری
توی linux و چندتا سیستم عامل دیگه هم که C++‎


مثلاً زمانی که نمی خواهیم، برنامه مان توسط کرکر ها کرک شود، الگوریتم های مهم پروژه رو با زبان C++‎ می نویسیم.
آخ شرمندم چون c++ هم کرک میشه با عرض معذرت.

csvbcscp
پنج شنبه 27 تیر 1392, 20:40 عصر
دوست عزیز بستگی به بستری که می خوای استفاده کنی داره
مثلا اگه ویندوز 8 به بالاست که خوب C++‎ رو با XAML ترکیب میکنی و نتیجه میشه هوووووورا.
ولی اگه XP یا Seven هست که بهتره C#‎ بری
توی linux و چندتا سیستم عامل دیگه هم که C++‎


آخ شرمندم چون c++ هم کرک میشه با عرض معذرت.

ممنون بابت توضیحات خوبتون
هر چیزی کرک میشه، حتی زبان ماشین، اما کرک کردن Native کمی مشکل تره

IamOverlord
پنج شنبه 27 تیر 1392, 20:43 عصر
داداش وقتی کاربرهای Dot net میتونم با ابزاری که ویندوز براشون فراهم کرده (jit just in time ) استفاده کنن ، خیلی مزیت های در اختیار برنامه نویس ها میزاره !!!!!
خب سی شارپ هم بی عیب نیست و شاید عیوبش کم تر از سی پلاس پلاس باشه ولی این حرف از نظر من زیاد منطقی نیست .

شاید عیوبش کم تر از ++C باشه؟ بی چاره ++C!
می شه با مثال و نمونه صحبت کنید؟!
ببینید ویژگی با عیب فرق داره... خوب اصلا هدف این دو تا فرق داره...

csvbcscp
پنج شنبه 27 تیر 1392, 20:51 عصر
شاید عیوبش کم تر از ++C باشه؟ بی چاره ++C!
می شه با مثال و نمونه صحبت کنید؟!
ببینید ویژگی با عیب فرق داره... خوب اصلا هدف این دو تا فرق داره...

این یک مثال از عیوب C++ که در کتاب C++ بهتر است یا C# (http://ketabesabz.com/book/14229/C-%D8%A8%D9%87%D8%AA%D8%B1-%D8%A7%D8%B3%D8%AA-%DB%8C%D8%A7-C#-) آورده شده است

وقتی در زبان‌هایی مثل C/C++ کد‌نویسی می‌کنیم، بدلیل دسترسی مستقیم به حافظه، ممکن است در آدرس‌های نامعتبر اطلاعاتی خوانده یا نوشته شود. این کار می‌تواند باعث اختلال در اجرای برنامه‌های دیگر و یا حتی برنامه ما شود. برای اجتناب از این اتفاق باید هر پردازه ویندوز در یک فضای آدرس مجزا قرار داده شود تا پردازه‌های مختلف نتوانند اثر نا‌مطلوب روی هم بگذارند. وقتی تعداد این پردازه‌ها زیاد می‌شود، به شدت کارایی سیستم کاهش می‌یابد. چون این پردازه‌ها به منابع زیادی از سیستم احتیاج دارند. اما CLR ‌در هنگام کامپایل کد IL به کد محلی، کد‌های ما را بازبینی کرده و مطمئن می‌شود که کد‌های نوشته شده از فضای نامعتبر استفاده نمی‌کنند. با این اوصاف در واقع CLR می‌تواند، چندین برنامه مدیریت شده را در یک تک پردازه‌ی سیستم‌عامل اجرا کند. در حقیقت هم منابع کمتری مصرف می شود و هم عملکرد سیستم بهبود بخشیده خواهد شد. این افزایش‌ کارایی بیشتر در AppDomain ها به چشم می‌خورد.

IamOverlord
پنج شنبه 27 تیر 1392, 21:05 عصر
ببینید بعضی چیزها ویژگی ++C هست و دلیل هم داره که ++C یه سری مسائل رو به عهده ی برنامه نویس گذاشته... می گن قدرت زیاد مسئولیت میاره!

بهروز عباسی
پنج شنبه 27 تیر 1392, 21:07 عصر
مثلاً زمانی که نمی خواهیم، برنامه مان توسط کرکر ها کرک شود، الگوریتم های مهم پروژه رو با زبان C++‎‎ می نویسیم.:لبخندساده:



بدلیل دسترسی مستقیم به حافظه، ممکن است در آدرس‌های نامعتبر اطلاعاتی خوانده یا نوشته شود. این کار می‌تواند باعث اختلال در اجرای برنامه‌های دیگر و یا حتی برنامه ما شوددر ویندوز هر Process حافظه مجازی مختص به خودش رو داره که البته از دیگر پردازش ها هم نمیشه بهش دست درازی کرد پس این حرف اشتباهه ؛بماند که خیلی وقته دسترسی مستقیم به حافظه مرده.


چندین برنامه مدیریت شده را در یک تک پردازه‌ی سیستم‌عامل اجرا کند.منظورت اینه که چندتا نرمافزار در یک Process اجرا میشن ؟؟؟:متفکر:

ehsan7007
پنج شنبه 27 تیر 1392, 21:50 عصر
من از C++ به C# مهاجرت کردم ( حدود یک ساله) چند وقت پیشا به C مهاجرت کردم ! تازگی ها هم به اسمبلی !!!! :لبخند:

بستگی به هدفتون داره دوست عزیز ؛ هر کدوم یک ویژگی هایی دارن که بسته به هدف شما که کدوم یکی بیشتر مورد استفاده است به کار میان ؛ با سی شارپ هم میشه سریع تر و هم برنامه کاربر پسند تری رو نوشت ! اما c++ قدرت بیشتری داره .


و این درست نیست که شما یک زبان بلد باشی و هر چیزی که بهت گفتن بخوای با همون بنویسی !
نباید هر چیزی رو با هم قاطی کنیم که ! سی شارپ جای خودشه ، c++ هم جای خودشه ؛ بقیه هم همینطور !

UfnCod3r
پنج شنبه 27 تیر 1392, 22:43 عصر
چی کار کنن :متعجب:
من خودم سی شارپ رو خیلی وقت پیش ول کردم امدم سی++
تمام نیاز هام هم با سی++ رفع میشه نیاز ب اشغالی به اسم سی شارپ ندارم
طرف می خواد راحت کد بنویس
نه مدبرت حافظه ای
نه خطایی نه چیزی
واس همینم میره سی شارپ

سی شارپ ، جاوا ، دلفی رو بزاری با هم متحد بشن بازم به گرد سی++ نمی رسن

مصطفی ساتکی
پنج شنبه 27 تیر 1392, 22:56 عصر
دلیل اصلی محبوبیت سی شارپ گشاد بودن بعضی هاست
ادب رو خواهشاً رعایت کن دوست عزیز خانم ها و افراد کم سنو سال هم تو این فروم هستند شما با این طور طرفداری متعصبانه اصلاً از کامپایلر دفاع نکنید بهتره .اون روز که مقایسه دلفی و C++‎‎‎ شد بعضی از دوستان بجای مقایسه فنی همش مسخره بازی در آوردند یا آف تاپیک گذاشتن تا کاربر های تازه وارد اومدن و هر چی دلشون خواست گفتن تا مجبور شدن تاپیک را قفل هم نه حذف کنند دیگه واقعاً جای تاسف هستش من می تونم 10 ها دلیل برای ایشون بیارم که C++‎‎‎ از C#‎‎‎ سرتره از لحاظ performance .ایشون همش تاکید می کنند که بایستی کنار گذاشته شه ولی تکنیکال صحبت نمی کنند با توجه به پست ایشون میشه حدس زد که در مورد C#‎‎‎ و پلت فرمی که توش کد میزنند اشراف ندارند.
خواهشاً دوستان آف تاپیک ندند اونایی که مایل با ذکر مثال و پرهیز از حاشیه جواب این دوست عزیزمون بدن.

موفق و با هم دوست باشیم

csvbcscp
جمعه 28 تیر 1392, 06:19 صبح
من از C++ به C# مهاجرت کردم ( حدود یک ساله) چند وقت پیشا به C مهاجرت کردم ! تازگی ها هم به اسمبلی !!!! :لبخند:

بستگی به هدفتون داره دوست عزیز ؛ هر کدوم یک ویژگی هایی دارن که بسته به هدف شما که کدوم یکی بیشتر مورد استفاده است به کار میان ؛ با سی شارپ هم میشه سریع تر و هم برنامه کاربر پسند تری رو نوشت ! اما c++ قدرت بیشتری داره .


و این درست نیست که شما یک زبان بلد باشی و هر چیزی که بهت گفتن بخوای با همون بنویسی !
نباید هر چیزی رو با هم قاطی کنیم که ! سی شارپ جای خودشه ، c++ هم جای خودشه ؛ بقیه هم همینطور !

من هم با نظر شما کاملاً موافقم
قبلاً هم عرض کردم ، مهاجرت به یک زبان، به معنی کنار گذاشتن کامل زبان قبلی نیست
ما می خواهیم عمده کار هامونو با C# بدیم و هر زمان که احتیاج داشتیم از C++ هم استفاده کنیم
متشکرم دوست من

csvbcscp
جمعه 28 تیر 1392, 06:32 صبح
چی کار کنن :متعجب:


سی شارپ ، جاوا ، دلفی رو بزاری با هم متحد بشن بازم به گرد سی++ نمی رسن

دوست من، دلایل استفاده از یک زبان فقط محدود به قدرت یا پرفورمنس بالا نمیشه
سرعت تحویل پروژه و محبوبیت بالای یک زبان در بازار کار هم فاکتورهای مهمی هستن
الان بیشتر شرکت ها از C# استفاده می کنند، پس بازار کار بهتری نسبت به C++ داره، همین یک دلیل می تونه افراد زیادی رو متمایل به استفاده از این زبان کنه
همین قدرت بالا که شما ازش حرف میزنید، زمانی بدرد میخوره که دست افراد با تجربه ای مثل شما باشه وگرنه همین اختیارات بالا در زبان C++ در خیلی از موارد میتونه ، باعث افت کارایی برنامه ما بشه

csvbcscp
جمعه 28 تیر 1392, 06:45 صبح
من می تونم 10 ها دلیل برای ایشون بیارم که C++‎‎‎ از C#‎‎‎ سرتره از لحاظ performance .ایشون همش تاکید می کنند که بایستی کنار گذاشته شه ولی تکنیکال صحبت نمی کنند با توجه به پست ایشون میشه حدس زد که در مورد C#‎‎‎ و پلت فرمی که توش کد میزنند اشراف ندارند.
خواهشاً دوستان آف تاپیک ندند اونایی که مایل با ذکر مثال و پرهیز از حاشیه جواب این دوست عزیزمون بدن.

موفق و با هم دوست باشیم

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

محسن=0
جمعه 28 تیر 1392, 06:56 صبح
دوست من، دلایل استفاده از یک زبان فقط محدود به قدرت یا پرفورمنس بالا نمیشه
سرعت تحویل پروژه و محبوبیت بالای یک زبان در بازار کار هم فاکتورهای مهمی هستن
الان بیشتر شرکت ها از C# استفاده می کنند، پس بازار کار بهتری نسبت به C++ داره، همین یک دلیل می تونه افراد زیادی رو متمایل به استفاده از این زبان کنه
همین قدرت بالا که شما ازش حرف میزنید، زمانی بدرد میخوره که دست افراد با تجربه ای مثل شما باشه وگرنه همین اختیارات بالا در زبان C++ در خیلی از موارد میتونه ، باعث افت کارایی برنامه ما بشه

به نکته ظریفی اشاره فرمودید.محبوبیت زبان و سرعت تحویل پروژه.
اما این دو تا میزان کارایی زبان رو مشخص نمیکنن.
هرکسی بخواد پروژه رو زود بده تحویل خب معلومه که میره سراغ c#.به هر حال هر 2 تاش رو باید یاد گرفت.

Negative_Se7en
جمعه 28 تیر 1392, 08:17 صبح
سلام .
شما چرا اینطوری هستی آخه ؟
تو بخش ++C چرا این تاپیک رو نزدی ؟‌ اونحا در مورد این موصوع بحث کردی دیدی نتیجه نداد اینجا زدی که چون همه #C کاران بیان بگن باید از ++C مهاجرت کرد به #C ? :لبخند:
اینکه من دیدم حتی یه نفر هم با این موافق بوده که باید از ++C به #C مهاجرت کرد ، واقعا واسم عجیبه !! و واسه همه ی اونا متاسفم !
من تو اون تاپیک قبلی سعی کردم مقایسه بین #C و ++C نکنم . بخاطر اینکه شاید واقعا واسه خیلیا بد باشه که ببینن #C یک دهمه ++C هم نیست .
حالا شاید فکر کنی حرفم از رو تعصب هست !‌ ولی یه تاپیک در بارش میزنم تا کلا تو اونجا معلوم بشه فرق واقعی #C و ++C چیه !
خیلی هم منطقی دربارش صحبت میکنیم . تا دیگه اینطور تاپیک های بی معنی بوجود نیاد !
البته رو ++C/C تعصب دارم . 9 ساله دارم باهاش کار میکنم . اگه بگم تعصب ندارم دروغ گفتم ! آخه واقعا زبان تعصب برانگیزیه !
کلا یه چیزی هست . هیچ وقت ، کد Native رو با Managed مقایسه نکن . اصلا فکر کردن بهش خنده داره !
بهر حال تو اون تاپیکی که میزنم معلوم میشه .
بهتره به جای وقت گذاشتن رو این کارهای بیهوده بری یه چیزی یا یه پروژه رو Develop بدی . اینا که فقط حرفه !

csvbcscp
جمعه 28 تیر 1392, 14:30 عصر
C++ زبان قدرتمند و بی نظیریه
با C++ ما کنترل سطح پایینی از سیستم داریم . می تونیم حافظه رو اونطور که می خوایم دستکاری کنیم
برنامه های C++ برای اجرا به هیچ ابزار اضافه ای نیاز ندارند که باعث میشه در بسیاری از موارد برنامه های نوشته شده توسط C++ کارایی بالا تری داشته باشند
C++ تنها کامپایلریه که امکان تولید MSIL و Native رو به برنامه نویس میده(به همین خاطر من حق میدم که خیلیا شیفته ی این زبان بشن و تا از ابزار دیگه حرفی وسط بیاد به غیرتشون بر بخوره)
کامپایلر C++ در هر جایی پیدا میشه و روی هر پلت فرمی میشه با C++ برنامه نوشت.
مایکروسافت هم در سال های اخیر توجه ویژه ای به C++ داشته و بهبود های خوبی در کامپایلر جدیدش مشاهده میشه، که پیچیدگی این زبان رو نسبت به نسخه های پیشین تا حد زیادی کم کرده و استفاده از امکانات C++ رو بسیار آسان تر کرده.
و ده ها ویژگی دیگه که C++ رو به یک زبان منحصر به فرد و بی رغیب تبدیل کرده
هدف من از نوشتن این تاپیک، اثبات برتری یک زبان به زبان دیگه نیست، من می خوام تجربه های خودم در استفاده از این دو زبان محبوب رو در اختیار بقیه قرار بدم، و می خوام این اطلاعات در قالب بحث های مفید و اختلاف نظر ها، انتقال داده بشه.
دلیل مهاجرتم به C# و مزیت هایی که این مهاجرت میتونه برای یک برنامه نویس داشته باشه رو میزارم برای بعد .
از همتون متشکرم، فقط خواهش می کنم، من رو فراموش کنید، هر چه از C# یا C++ می دونید رو بنویسید

بهروز عباسی
جمعه 28 تیر 1392, 15:41 عصر
سرعت تحویل پروژه و محبوبیت بالای یک زبان در بازار کار هم فاکتورهای مهمی هستنسرعت تحویل پروژه :متفکر: فکر کنم رکورد دار این قسمت RAD Studio باشه. ()
محبوبیت بازار ! توی این مورد باهات موافق هستم بازار کار ایران پرشده از #C :ناراحت: ولی همشون برنامه های اختصاصی مینویسن و لازمه بدونید که اکثر برنامه هایی که استفاده های عمومی تر دارن و البته نیاز به پشتیبانی بهتر با زبان هایی غیر #C مثل Delphi نوشته میشن (قبول نداری میتونی از طریق شرکت ها تحقیق کنی)


وگرنه همین اختیارات بالا در زبان C++‎‎‎‎ در خیلی از موارد میتونه ، باعث افت کارایی برنامه ما بشه میشه یه مثال بزنید ؟؟ در مورد دسترسی به حافظه که کلا حرفتون اشتباه بود (توی پست 14 توضیح دادم).


با C++‎‎‎‎ ما کنترل سطح پایینی از سیستم داریم . می تونیم حافظه رو اونطور که می خوایم دستکاری کنیمشما به چه دلیل این حرف ها رو می زنید ؟؟
تمام برنامه هایی که شما می نویسی توی User Land اجرا میشن و هیچ دسترسی مستقیم / سطح پایینی براتون وجود نداره حتی اگه با Assembly بنویسی چه برسه به ++C اون دسترسی سطح پائین رو فقط میتونی توی Kernel Mode داشته باشی (که برنامه های Kernel Mode هم بیشتر با C و نه ++C نوشته میشن)شما باید تفاوت User mode و kernel mode رو بدونی (من قبلاً اینجا توضیح مختصری دادم (http://barnamenevis.org/showthread.php?391103-%D9%86%D9%88%D8%B4%D8%AA%D9%86-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%B3%D8%AE%D8%AA-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1&p=1790465&viewfull=1#post1790465)).
اگه قرار بود هر برنامه ای که با ++C نوشته میشه بتونه توی فضای آدرس دهی پروسه های دیگه بخونه یا بنویسه که باید کل ویندوز رو گل بگیری بذاری کنار !! (با روش هایی البته میشه)
برنامه های شما با هر زبانی برنامه بنویسی ،اون برنامه موقع اجرا توی یه محیط مجازی و دور از هسته و دیگر عناصر سیستم عامل اجرا میشه و هر کاری هم بکنه ؛ به حافظه اش گند بزنه یا ... به چیز دیگه ای کاری نداره فقط خودش OK ?


برنامه های C++‎‎‎‎ برای اجرا به هیچ ابزار اضافه ای نیاز ندارند که باعث میشه در بسیاری از موارد برنامه های نوشته شده توسط C++‎‎‎‎ کارایی بالا تری داشته باشن
منظورتون دقیقاً چه Compiler ای هست ؟؟ که به هیچ چیز نیاز نداره ؟؟
این همه Run time که باید برای برنامه های نوشته شده با ++C نصب کنیم چین پس.


تنها کامپایلریه که امکان تولید MSIL و Native رو به برنامه نویس میدهیعنی Delphi خروجی Native نداره ؟؟؟


و ده ها ویژگی دیگه که C++‎‎‎‎ رو به یک زبان منحصر به فرد و بی رغیب تبدیل کرده:لبخندساده:
بی عیب هم نیست ،یه مقاله خوندم نوشته بود برنامه های نوشته با NET. امنیت بالاتری نسبت به C و ++C دارن (از نظر چیزایی مثل Overflow , ... نه کرک شدن)


در کل نمیشه گفت کی با ++C برنامه بنویسم کی با #C چون هر کدوم برای کاری ساخته شدن و اصلاً نمیشه به جای هم ازشون استفاده کرد من فکر میکنم هدف شما بیشتر استفاده از NET. در این دو زبان باشه در سته ؟؟

موفق باشید.

csvbcscp
جمعه 28 تیر 1392, 18:10 عصر
:لبخندساده:


در ویندوز هر Process حافظه مجازی مختص به خودش رو داره که البته از دیگر پردازش ها هم نمیشه بهش دست درازی کرد پس این حرف اشتباهه ؛بماند که خیلی وقته دسترسی مستقیم به حافظه مرده.

منظورت اینه که چندتا نرمافزار در یک Process اجرا میشن ؟؟؟:متفکر:


خوشحالم که افرادی مثل شما که اطلاعات بالایی دارند، تو بحث ما شرکت می کنن
به گفته های شما این رو هم اضافه می کنم
همونطور که می دونید، هر برنامه دات نت، تو یک Appdomain اجرا میشه و به طور پیشفرض، هر فایل EXE (تحت دات نت) در فضای آدرس مجازی خودش که فقط یه AppDomain داره اجرا میشه. با این شرایط پردازه ای رو که CLR میزبانی می کنه، میتونه چندین AppDomain رو تو یک تک پردازه سیستم عامل اجرا کنه.

csvbcscp
جمعه 28 تیر 1392, 19:09 عصر
میشه یه مثال بزنید ؟؟


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



با C++‎‎‎‎‎ ما کنترل سطح پایینی از سیستم داریم . می تونیم حافظه رو اونطور که می خوایم دستکاری کنیم
شما به چه دلیل این حرف ها رو می زنید ؟؟


عمده ترین تفاوت C# ‌ با C++ در اینه که شما با C++ کنترل سطح پایینی از سیستم دارید، مثلاً می تونید در مواقع نیاز به راحتی tread بسازید و کلاً دسترسی مستقیمی به منابع سیستم دارید(البته توسط دات نت هم میشه ترد ساخت)



منظورتون دقیقاً چه Compiler ای هست ؟؟ که به هیچ چیز نیاز نداره ؟؟

منظورم این بود که برای اجرا به CLR احتیاج نداره




تنها کامپایلریه که امکان تولید MSIL و Native رو به برنامه نویس میده
یعنی Delphi خروجی Native نداره ؟؟؟



" کامپایلر C++، تنها کامپایلریه که به وسیله‌ی اون می‌تونیم هم کد مدیریت شده، و هم کد محلی تولید کنیم و هر دو رو تو یه ماژول ترکیب کنیم."




بی عیب هم نیست ،یه مقاله خوندم نوشته بود برنامه های نوشته با NET. امنیت بالاتری نسبت به C و ++C دارن (از نظر چیزایی مثل Overflow , ... نه کرک شدن)



من عرض کردم بی رقیب نه بی عیب /*متاسفانه غلط املایی داشتم(بی رغیب)*/ ، در مورد مزیت های دات نت نسبت به Native هم در پایان ، انشالله مفصلا صحبت خواهم کرد.



در کل نمیشه گفت کی با ++C برنامه بنویسم کی با #C چون هر کدوم برای کاری ساخته شدن و اصلاً نمیشه به جای هم ازشون استفاده کرد من فکر میکنم هدف شما بیشتر استفاده از NET. در این دو زبان باشه در سته ؟؟



با این حرف شما کاملا موافقم
بله، تاکید من بیشتر آشنا کردن افراد با قابلیت ها وامکانات بی نظیر فریم ورک دات نته

متشکرم، امیدوارم اختلاف نظر های ما برای بقیه دوستان سودمند بوده باشه و شما هم از من ناراحت نشده باشید

plus
جمعه 28 تیر 1392, 19:29 عصر
من آخرش نفمیدم که موضوع مورد بحث چی هست؟
اگه واقعا سوال این هست که " آیا برنامه نویسان C++‎‎ باید به C#‎‎ مهاجرت کنند ؟" چرا بحث مقایسه دو زبان اومده وسط؟
من یکبار نظر دادم اینبار با یک دید دیگه نظر میدم.اگه از دید حرفه ای به قضیه نگاه کنیم، یعنی برنامه نویسان رو اشخاصی بدونیم که شغلشون برنامه نویسی با ++C هست، و اون ها رو در شرایطی بدونیم که این سوال براشون پیش اومده باشه که "آیا باید به #C مهاجرت کنم؟" میتونیم سوال های زیر رو مطرح کنیم.(توجه کنید که بحث، مهاجرت هست نه صرفا یادگیری.اگه بحث یادگیری باشه مسلما که یادگیری #C ضرری ندارد.)
1) آیا این برنامه نویس ها برای کمپانی خاصی کار میکنن؟ در این صورت بسته به سیاست های کمپانی باید بررسی کنن و ببینن آیا با رایج شدن #C (در زمینه هایی)، سیاست شرکت این هست که به سمت #C برن و بعدا کمتر به ++C نیاز پیدا میککن؟ معمولا پاسخ این سوال خیر هست.با اومدن یک زبان یا یک تکنولوژی جدید، معمولا شرکت ها یکباره به سمتش نمیرن و ممکنه هرگز هم نرن.حداقل چند سال زمان لازمه این هست.
2) آیا این برنامه نویس ها، کارهایی که نیاز به دسترسی مستقیم به حافظه، و کلا کار سطح پایین داره رو انجام میدن؟ مثلا درایور نویسی(؟) و کار با ماشین آلات صنعتی؟ در این مورد هم پاسخ خیر هست، #C نمیتونه جایگزین مناسبی برای این کاربرد ++C باشه.
3) آیا این برنامه نویس ها، کارهایی که نیاز به سرعت بالا، تولید کد Native، عدم وابستگی به سیستم عامل یا پلتفرم خاصی هستن انجام میدن؟ مثلا ساخت موتور بازی یا...؟ در این مورد هم پاسخ خیر هست، #C نمیتونه جایگزین مناسبی برای این کاربرد ++C باشه.
4) آیا این برنامه نویس ها، نرم افزاری های تجاری با ++C میسازن؟ مثلا نرم افزارهای حساب داری و...؟ اگرچه احتمال این مورد کمتر هست ولی در این مورد هست که ممکنه این برنامه نویس ها براشون لازم باشه تا به #C مهاجرت کنن.البته، لازم به ذکر هست که در ایران، ساخت این جور نرم افزار ها رایج هست و از دلایلی هست که #C در ایران رایج شده.

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

پ.ن: اگه موضوع استفاده از دات نت و امثال اینها هست، این سوال رو هم میشه به لیست سوال ها اضافه کرد:
5) آیا این برنامه نویس ها، میخوان از دات نت استفاده کنن؟ پاسخ این سوال قطعا مثبته.در این مورد هم برنامه نویس ها لازم هست به #C مهاجرت کنن.

بهروز عباسی
جمعه 28 تیر 1392, 19:36 عصر
این احتیاجی به مثال نداره، اصلاً C#‎ برای چی بوجود اومده ؟
هرچی میگم نره میگی بدوش ها:عصبانی++:

#C برای استفاده از پلتفرم NET. مطرح شد نه برای اینکه ++C رو به خاطر [به قول شما دسترسی سطح پایین و Option های زیاد]بفرسته قاطی باقالی ها.



برای اینکه برنامه نویس مجبور نباشه با خطا های رایج که در C++‎ وجود داشت، دست و پنجه نرم کنه...همین اشتباهات که بدلیل Option های بالای C++‎ هست، منشا بروز خیلی از خطاهای رایجه، که میتونه باعث افت کارایی برنامه ما بشه.(مثلاً آزاد نکردن حافظه ای که توسط یک شی گرفته شده )
حالا #C با اون Garbage Collection که داره میافته دنبال اشیایی که ازشون استفاده نمیشه آزاد میکنه خیلی کاره ؟


بله، تاکید من بیشتر آشنا کردن افراد با قابلیت ها وامکانات بی نظیر فریم ورک دات نته
از اول اینو میگفتی برادر من برا استفاده از NET. شکی نیست که باید سراغ #C رفت نیازی هم به بحث نداره (البته برای کارهایی که واقعا به NET. نیاز دارن ،کوچیک ها شو با همون سی هم میشه نوشت:قهقهه:)

UfnCod3r
جمعه 28 تیر 1392, 21:58 عصر
بابا هر گردی گردو نیست:عصبانی++:
اصلا سی شارپ به سی/سی++ هیچ ربطی نداره
این دو تا نباید با هم مقایسه بشه . اخه ادم فرغون رو که با بوگاتی مقایسه نمی کنه که :عصبانی++:
سی شارپ مگه چی داره ی کلاس ی ساختار یه تابع ی نماینده و ی صفت و ی فضای نام:لبخند:
فکر کنم شما فقط تو دانشگاه در حد برنامه های کنسولی با سی++ کار کردی
متاسفانه ما ایرانای ها هم عادت داریم تا یکم چیزی یاد میگریم خودمون رو انیشتین فرض می کنیم
امکانات سی++ خیلی بیشتر از دو تا متغیر و یک تابع و چهار تا اشاره گر هست که تو دانشگاه می گن
می تونین یه برنامه درست حسابی نام ببرین که با سی شارپ نوشته شده باشه ؟
چهار تا فرم که اطلاعات چند تا دانشجو می گیره و تو دیتابیس ذخیره می کنه برنامه نیست
برنامه خوب به سرعت احتیاج داره، امنیت می خواد ، مدیریت حافظه می خواد و .. هیچ کدوم رو سی شارپ بیچاره نداره
بابا خود خود ماکروسافت هم از دات نتش استفاده نمی کنه :قهقهه:

این بحثا و این جور تاپیک ها مسخره بازیه
عوض اینا خودتون یکم تحقیق کنید بهتره

Cyrus_black
جمعه 28 تیر 1392, 22:33 عصر
الان شما در مورد امنیت برنامه تو C++ کاملا میتونید تضمین کنید؟

از نظر reverse شدن نه

از نظر امنیت در برابر حمله های مثل BOF یا MC

ممنون میشم اگه راه کار کاملی دارید ارائه بدین

Negative_Se7en
جمعه 28 تیر 1392, 22:40 عصر
به همین خاطر من حق میدم که خیلیا شیفته ی این زبان بشن و تا از ابزار دیگه حرفی وسط بیاد به غیرتشون بر بخوره
نه رفیق اونطوریم که میگی نیست که تا حرف یک زبون بیاد وسط به غیر از ++C به غیرتم بربخوره .
اینکه وقتی یکی یه حرف غیر منطقی رو بزنه کلا در مورد هرچی ، نمیتونم بشینم ببینم یه سری حرف غیر منطقی بره تو ذهن کسایی که میخوان تازه شروع کنن و کلا مسیر برنامه نویسیشون رو تغییر بده . بلاخره هرکی میخواد شروع کنه از یه منبعی یه سری اطلاعات جمع میکنه . ( البته تا اونجا که دانش و اطلاعتم میرسه نظر میدم )
اگه تو یه تاپیک یه بحث اشتباهی میشه ،‌ مهم نیست که شما فکر کنی من از رو تعصب میام جواب میدم ، مهم اینه که من حقیقت رو مینویسم تا اونجا که بلدم و میتونم ... تا نگذارم اطلاعات اشتباه به بقیه برسه .
اونیکه شما میگی تعصب غیر منطقیه !‌ مثل اینکه من بیام بگم ++C از Assembly هم دست باز تره ! و هی روش تاکید کنم . چون فقط ++C رو دوست دارم . ولی این یه حقیقته که Assembly از ++C دستش باز تره و ردش نمیکنم .
مثلا Python رو دوست دارم ، بخاطر اون چیزی که هست دوست دارم . و هیچ وقت با ++C مقایسش نمیکنم .
ولی شما داری بین اینا مقایسه میکنی . کاش مقایسه میکردی . میگی از این زبان مهاجرت کنن به اون زبان !!!؟‌ اومدی کتاب هم نوشتی ! حداقل قبل نوشتن کتابت میومدی این تاپیک رو میزدی یکم اطلاعاتت کاملتر میشد و نقص هاش برطرف میشد ، اونوقت نظرت خیلی عوض میشد.

آخه خدایی خیلی واضحه !
یه مثال سادش اینه بهش دقت کن جواب سوال و بحث براحتی داخلش آشکاره ، چون از قسمت سطح بالا داخلش هست تا سطح پایین !
یه Screenshot از Maya :
http://area.autodesk.jp/product/maya/2012/09/26/test/maya_2013sap_dx11_1920_1200_v2.png

طبق این عکس :‌
Maya یکی از قدرتمند ترین نرم افزار های دنیاست .
با چه زبانی نوشته شده ؟

از لحاظ GUI تو Maya کمبودی هست ؟ برای GUI از Qt استفاده شده .
Qt رو با چه زبانی نوشتن ؟

در Maya از Python هم استفاده شده ،
Python رو با چی نوشتن ؟

برای Render کردن از OpenGL و DirectX یا Software Renderer استفاده شده .
OpenGL و DirecX رو با چه زبانی نوشتن ؟

برای کارکردن Direct3D و OpenGL باید Driver نوشته بشه !‌
Driver ها رو با چی نوشتند ؟

Maya داخل سیستم عامل Windows و Mac OS و Linux اجرا میشه !
Windows و Mac و Linux رو باچی نوشتند ؟

البته خیلی نرم افزار های دیگه از شرکت Adobe بگیر تا ..... هستند.
خیلی بازی ها هم هستند خیلی .... .
Virus ها و .....
مثل این سوال ها رو در موردشون پیش خودت بپرس بعد بگرد دنبال جواباش .
من جواب اینا رو نمیدم آخه شاید یه موقع فکر کنید از رو تعصب دادم . خودت برو پیدا کن ،‌فکر کنم عنوان کتابت رو باید برعکس بنویسی !

مصطفی ساتکی
شنبه 29 تیر 1392, 11:56 صبح
دفعه پيش مقايسه performance دلفي و C++‎ بود و حالا مقايسه performance در مورد C#‎ و C++‎
در کدي که قرار دادم C++‎ در مقايسه برابر 5 ثانيه سريعتر هستش در ضمن کد C#‎ را به صورت unsafe نوشتم که سربار bound checking هم حذف بشه و هر 2 برنامه در مد کنسول هستش و با توابع high resolution timer زمان اندازه گیری شده.
هر 2 در مود release می باشند.

کد C++‎:
#include "windows.h"
#include <iostream>
using namespace std;

void test2()
{
LARGE_INTEGER start_;
LARGE_INTEGER end_;
LARGE_INTEGER freq;

const int dim =100;
double sum = 0;
double sum2 = 0;
double arr[dim][dim];

QueryPerformanceCounter(&start_);
QueryPerformanceFrequency(&freq);

double x, n =40, factorial = 1.0; int i;
double C = 0;
for (int j= 0; j < 1000000000;j++)
{

factorial = 1;
x = 2.0;
for (i = (int)n - 2 ; i >= 0; i--, x++)
factorial *= x ;

C += (factorial * 0.00001);


}

QueryPerformanceCounter(&end_);

cout << "tim ms:" << (LONGLONG)( (end_.QuadPart - start_.QuadPart) / (freq.QuadPart / 1000) ) << endl;

cout << C;
getchar();

}
int _tmain(int argc, _TCHAR* argv[])
{
test2();
return 0;
}



کد C#‎:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;

namespace ConsoleApplication1
{

class Program
{


[DllImport("Kernel32.dll")]
private static extern bool QueryPerformanceCounter(
out long lpPerformanceCount);

[DllImport("Kernel32.dll")]
private static extern bool QueryPerformanceFrequency(
out long lpFrequency);

public unsafe static void test2()
{
long start_;
long end_;
long freq;

int dim = 100;
double sum = 0;
double sum2 = 0;
double[,] arr = new double[dim,dim];

QueryPerformanceCounter(out start_);
QueryPerformanceFrequency(out freq);

double x, n =40, factorial = 1.0; int i;
double C = 0;
for (int j = 0; j < 1000000000; j++)
{

factorial = 1;
x = 2.0;
for (i = (int)n - 2; i >= 0; i--, x++)
factorial *= x;

C += (factorial * 0.00001);


}

QueryPerformanceCounter(out end_);

Console.WriteLine( "tim ms:{0}" , (double)( (end_ - start_) / (freq / 1000) ) );


}
static void Main(string[] args)
{
test2();
}
}
}

csvbcscp
سه شنبه 29 مرداد 1392, 21:21 عصر
معذرت میخوام مدتیه که مشغول ترجمه یک کتاب بودم نتونستم بیام
مثل اینکه طرفدارای C++ بیشتر شدن!!
لطفاً نظر بدید
از آقا مصطفی هم خیلی خیلی متشکرم برای مثال خوبشون

amir200h
سه شنبه 29 مرداد 1392, 21:54 عصر
من خودم بعد از چند مدت که با سی شارپ کا کردم الان دارم مهاجرت میکنم به visual c++ . اصلا قابل مقایسه با C# نیست.
خداییش از حق نگذریم C# زبانی که برنامه نویس رو تنبل کرده :لبخند:

mthreat.info
چهارشنبه 30 مرداد 1392, 00:35 صبح
من مدتیه که دارم تحقیق میکنم ببینم بعد C# چی یاد بگیرم قبل از دیدن این تاپیک مخواستم برم f# ولی انگار باس رفت c++ حالا یه سوال برام پیش اومده اونم اینه که کدوم IDE بهتره ؟ کامپایلر کدوم شرکت بهتره ؟

aliagamon
چهارشنبه 30 مرداد 1392, 15:37 عصر
من مدتیه که دارم تحقیق میکنم ببینم بعد C# چی یاد بگیرم قبل از دیدن این تاپیک مخواستم برم f# ولی انگار باس رفت c++ حالا یه سوال برام پیش اومده اونم اینه که کدوم IDE بهتره ؟ کامپایلر کدوم شرکت بهتره ؟
ویژوال استودیو تو ویندوز و kDevelop تو لینوکس (البته لینوکس IDE زیاد داره که خیلی هاشون عالی هستن مثلا QT4 هم خیلی عالیه اما من kdvelop رو ترجیح میدم)
البته تو ویندوز میتونی از Dev-Cpp هم استفاده کنی بر پایه gcc هست...

csvbcscp
یک شنبه 03 شهریور 1392, 16:14 عصر
C# ‌یک زبان ساده، شی‌گرا و مدرن است. که قدرت و انعطافپذیری زبان قدرتمند C++ را به ارث برده است. C# بیشترین سازگاری و شباهت را با این زبان دارد. یعنی کسی که قبلاً تجربه‌ی کار با C++ را داشته، به راحتی می‌تواند به این زبان مهاجرت کنند.
C# دارای حداقل کلمات کلیدی است. از اینرو فراگیری آن در زمان بسیار کمی امکان‌پذیر است و انتخاب مناسبی برای تازه‌کاران است.
C# از فریم ورک قدرتمند دات‌نت استفاده می‌کند. دات‌نت دارای یک کتابخانه عظیم برای نوشتن هر نوع برنامه ایست که توسط مکانیزم قدرتمندی بنام فضای نام دسته‌بندی می‌شوند. و دسترسی به امکانات آن بسیار ساده است.
علاوه بر مزیت‌هایی که در بالا ذکر کردم، C# یک زبان عامه‌پسند است و در دنیا طرفدار زیادی دارد. این زبان هم بازار کار خوبی دارد و هم منابع، برای یادگیری آن فراوان است. بسیاری از محصولات مایکروسافت توسط این زبان نوشته شده‌اند که نشان دهنده قدرت و پایداری این زبان است.
آخرین مزیت آن که واقعاً زندگی را برای کاربران ایرانی آسان کرده است، مایکروسافتی بودن آن است. به دلیل استفاده گسترده از محصولات این شرکت در ایران، C# با ذائقه ایرانی ها کاملاً سازگاری دارد.

csvbcscp
یک شنبه 03 شهریور 1392, 16:18 عصر
چرا برنامه‌نویسان C++ باید به C# مهاجرت کنند‌؟
1. C# با حذف تعدادی از ویژگی‌های C++ توانسته پیچیدگی این زبان را به شدت کاهش دهد و سرعت توسعه نرم‌افزار را به طرز باور نکردنی‌ای افزایش دهد. در عین حال C# قدرت دسترسی فوق‌العاده‌ای به سیستم دارد که می‌تواند نیاز برنامه‌نویسان C++ را به طور کلی پوشش دهد.
2. C# با سادهسازی این زبان، از بروز بسیاری از خطاهای رایج برنامه‌نویسی جلوگیری می‌کند. که با این کار باعث افزایش سرعت برنامه‌هایC# می‌شود.
3. مزیت دیگر‌ که برنامه‌نویسان C++ را ترغیب می‌کند که به این زبان مهاجرت کنند، قابلیت انتقال برنامه‌های نوشته شده به وسیله‌ی C# است. در C++ وقتی برنامه خود را بر روی یک سیستم‌عامل، کامپایل می‌کنیم، انتقال آن بر روی یک سیستم‌عامل دیگر امکان‌پذیر نیست، مگر اینکه در آن محیط، مجددا کامپایل شود. که این توزیع برنامه‌های C++ را بسیار دشوار می‌کند.
4. مزیت آخر که باعث می‌شود برنامه‌نویسان C++ در مهاجرت به C# یک لحظه هم درنگ نکنند این است، که در بیشتر موارد کد‌های Native کند‌تر از کد MSIL هستند، که در این کتاب (http://ketabesabz.com/book/14229/C-%D8%A8%D9%87%D8%AA%D8%B1-%D8%A7%D8%B3%D8%AA-%DB%8C%D8%A7-C#-) به دلایل آن پرداختیم‌.

بهروز عباسی
یک شنبه 03 شهریور 1392, 19:04 عصر
C#‎ دارای حداقل کلمات کلیدی است. از اینرو فراگیری آن در زمان بسیار کمی امکان‌پذیر است و انتخاب مناسبی برای تازه‌کاران است.
زبان های مثل Ruby و Python حد اقل Keyword ها رو دارند!. نه #C .


بسیاری از محصولات مایکروسافت توسط این زبان نوشته شده‌اند که نشان دهنده قدرت و پایداری این زبان است.
:متفکر:


1. C#‎ با حذف تعدادی از ویژگی‌های C++‎ توانسته پیچیدگی این زبان را به شدت کاهش دهد و سرعت توسعه نرم‌افزار را به طرز باور نکردنی‌ای افزایش دهد. در عین حال C#‎ قدرت دسترسی فوق‌العاده‌ای به سیستم دارد که می‌تواند نیاز برنامه‌نویسان C++‎ را به طور کلی پوشش دهد.
زبان ++C به خودی خود چه پیچیدگی ای داره ؟ پیچیدگی هاش وابشته به برنامه هایی هستند که می خواهید با هاش توسعه بدید. در واقع #C برخی قابلیت ها (که شما می گی پیچیدگی) رو نداره !

:متعجب: عمراً #C بتونه این کارو بکنه ، نیازی هم به دلیل نداره ! یه چیز مشخصه.



4. مزیت آخر که باعث می‌شود برنامه‌نویسان C++‎ در مهاجرت به C#‎ یک لحظه هم درنگ نکنند این است، که در بیشتر موارد کد‌های Native کند‌تر از کد MSIL هستند، که در این کتاب (http://ketabesabz.com/book/14229/C-%D8%A8%D9%87%D8%AA%D8%B1-%D8%A7%D8%B3%D8%AA-%DB%8C%D8%A7-C#%E2%80%8E-) به دلایل آن پرداختیم‌.
کار های JIT Compiler اه دیگه کاریش نمیشه کرد:لبخند:

csvbcscp
یک شنبه 03 شهریور 1392, 19:36 عصر
زبان های مثل Ruby و Python حد اقل Keyword ها رو دارن، اما آیا به اندازه C# محبوبیت و بازار کار هم دارن؟
سرعت بالای اجرا،سرعت پیاده سازی بالا، منابع زیاد برای یادگیری ویژگی هایی هستند که به صورت یکجا در C# وجود داره (سادگی و دید مبتنی بر راه حل هم تنها یکی از مزیت های سی شارپه)
در اینکه سی ++ هم مزایای خودشو داره شکی نیست، قبلاً هم مختصراً در مورد مزیت های سی ++ گفتم
اما حالا قصد دارم در مورد سی شارپ و اینکه چرا باید به این زبان مهاجرت کرد صحبت کنم...
بابت نظرات و انتقادات همه دوستای عزیز متشکرم.

amir200h
یک شنبه 03 شهریور 1392, 20:49 عصر
به نظر من کسانی که به زبان c++ تسلت دارن هیچ چیزی تو سی شارپ نمیبینن که بخوان بهش مهاجرت کنن بجز ساده گی بیش از حدش.

بسیاری از محصولات مایکروسافت توسط این زبان نوشته شده‌اند که نشان دهنده قدرت و پایداری این زبان است.
کدوم محصولات؟
اگه تونستن همین ویژوال استدیو رو با سی شارپ بنویسن من اسممو عوض میکنم :لبخند:
بزرگترین و نامدار ترین نرم افزارهای دنیا با c++ تولید شدن

csvbcscp
پنج شنبه 14 شهریور 1392, 07:01 صبح
به نظر من کسانی که به زبان C++‎ تسلت دارن هیچ چیزی تو سی شارپ نمیبینن که بخوان بهش مهاجرت کنن بجز ساده گی بیش از حدش.

کدوم محصولات؟
اگه تونستن همین ویژوال استدیو رو با سی شارپ بنویسن من اسممو عوض میکنم :لبخند:
بزرگترین و نامدار ترین نرم افزارهای دنیا با C++‎ تولید شدن

اسم شما قشنگه و با عوض شدنش مشکلی از دنیای توسعه نرمافزار حل نمیشه
ممنون که نظر دادین
دلیل انتخاب یک زبان ، بهره بردن از مجموعه قابلیت های یک زبانه
در قدرتمند بودن و جامعیت زبان C++‎ شکی نیست، همونطور که تو پست های قبلیم اشاره کردم C++‎ امکاناتی رو برای برنامه نویس فراهم می کنه که تو هیچ زبان برنامه نویسی دیگه وجود نداره
C++‎ هم قدرتمنده، هم بسیاری از نرم افزار های بزرگ دنیا توسط اون تهیه میشه، هم تو دانشگاه ها تدریس میشه، و با امکانات زیادش تسلط برنامه نویس در استفاده از زبان های مختلف رو بالا میبره
با تمام اینها C#‎ هم زبان جدیدیه که بیشتر قابلیت های C++‎ رو به ارث برده و سادگی هم به اون افزوده شده، که همین سادگی باعث شده که انتخاب پیش فرض اکثر شرکت های توسعه نرم افزار سی شارپ باشه
اینو تو قسمت آگهی های روزنامه همشهری می تونی ببینی

خلاصه کلام ، سی شارپ برای یادگیری ساده تره و به بازار کار هم خیلی نزدیک تره
امیدوارم شما هم بایک دیدگاه جدید به مهاجرت به سی شارپ نگاه کنید.
متشکرم

hamid_0341
پنج شنبه 14 شهریور 1392, 07:43 صبح
به نظر من کسانی که به زبان c++ تسلت دارن هیچ چیزی تو سی شارپ نمیبینن که بخوان بهش مهاجرت کنن بجز ساده گی بیش از حدش.

کدوم محصولات؟
اگه تونستن همین ویژوال استدیو رو با سی شارپ بنویسن من اسممو عوض میکنم :لبخند:
بزرگترین و نامدار ترین نرم افزارهای دنیا با c++ تولید شدن
ویژوال استودیو ترکیبی از تمام زبان های .Net هستش و بسیاری از قسمت هاش با C# نوشته شده

http://en.wikipedia.org/wiki/Microsoft_Visual_Studio

csvbcscp
شنبه 25 آبان 1392, 05:18 صبح
انگار پرونده ی سی شارپ و سی پلاس بسته شده !!!
دوستان پیشکسوت که تجربه کار با یک از این زبان ها رو داشتن، لطفاً بیان و تجربه هاشونو با بقیه در میون بزارن((بدون تعصب))
یادتون باشه این سوال خیلی از نو آموزان برنامه نویسیه..........

منتظر شما هستم

omidshaman
چهارشنبه 27 آذر 1392, 07:24 صبح
1. C#‎‎ با حذف تعدادی از ویژگی‌های C++‎‎ توانسته پیچیدگی این زبان را به شدت کاهش دهد و سرعت توسعه نرم‌افزار را به طرز باور نکردنی‌ای افزایش دهد. در عین حال C#‎‎ قدرت دسترسی فوق‌العاده‌ای به سیستم دارد که می‌تواند نیاز برنامه‌نویسان C++‎‎ را به طور کلی پوشش دهد.خود مایکروسافت همچین ادعایی نداره !!!
برای windows RT ا Api های مخصوص C++‎ هم گذاشته شده دلیلشم مشخصه !
کتابخونه های کاربردی زیادی هستن که مشابهشون توی C#‎ اصلا پیدا نمیشه ....


کلا هدف از زدن این تاپیک چیه ؟!! تبلیغ کتاب زهرا بیات ؟!!

SlowCode
چهارشنبه 27 آذر 1392, 13:45 عصر
خود مایکروسافت همچین ادعایی نداره !!!
برای windows RT ا Api های مخصوص C++‎ هم گذاشته شده دلیلشم مشخصه !
کتابخونه های کاربردی زیادی هستن که مشابهشون توی C#‎ اصلا پیدا نمیشه ....


کلا هدف از زدن این تاپیک چیه ؟!! تبلیغ کتاب زهرا بیات ؟!!
منم باهات موافقم.
آقا شما بی کاری این همه تایپ میکنی و سنگ سی شارپ رو به سینه میزنی!
بو قول اون دوستمون برو یه پروژه ای چیزی کار کن عوض این حرفا!
من کل این تاپیکو خوندم ولی مطالب مفیدش خیلی خیلی کم بود!
به خاطر خودت میگم وقتتو تلف نکن.
حالا اگه نظر منو هم بخوای میگم...من سی++ رو تازه شروع کردم قبلا با زبان دیگه ای کار میکردم ولی اصلا دلیلی نمیبینم که با سی شارپ کار کنم!
اگه قرار باشه برم سمت دات نت vb رو انتخاب میکنم نه سی شارپ!

cpppro
چهارشنبه 27 آذر 1392, 17:36 عصر
به نظر من کسانی که به زبان C++‎ تسلت دارن هیچ چیزی تو سی شارپ نمیبینن که بخوان بهش مهاجرت کنن بجز ساده گی بیش از حدش.

کدوم محصولات؟
اگه تونستن همین ویژوال استدیو رو با سی شارپ بنویسن من اسممو عوض میکنم :لبخند:
بزرگترین و نامدار ترین نرم افزارهای دنیا با C++‎ تولید شدن
پروژه Roslyn

The foundation of this work is a new C# compiler, written in C# (and a new VB compiler written in VB too, see the VB Team blog (http://blogs.msdn.com/b/vbteam/archive/2011/10/19/introducing-the-microsoft-roslyn-ctp.aspx) for details).

امیربیگی
چهارشنبه 27 آذر 1392, 17:41 عصر
از نظر من سی شارپ مادر ویژوال استودیو ئه !

csvbcscp
چهارشنبه 27 آذر 1392, 22:04 عصر
متشکرم که زحمت کشدید و نظر دادید
نیش شما هم برای ما نوشه
اگه تمام پست هایی که فرستادم رو خونده باشید، حتماً میبینید که من جاهای مختلف مزیت های C++ رو گفتم و خودم شخصاً علاقه خاصی به این زبان دارم و از سرمایه گذاری های مایکروسافت بر روی این زبان هم اطلاع دارم و...
اما هدف من از عنوان کردن این موضوع اینه
بنده خودم این مهاجرت رو انجام دادم(نه اینکه سی++ رو کلاً کنار گذاشته باشم، در بیشتر سناریو ها سی شارپ به تنهایی با وقت و هزینه کمتر جوابگوی کارم هست)
دوست داشتم، تجربه شخصی خودم رو با شما در میون بزارم و از نقطه نظرات کسانی که تجربه مشابه بنده داشتن هم با خبر بشم
دوم اینکه با ذائقه شما آشنا بشم( چون همونطور که اطلاع دارید، اخیراً بیشترین تمرکز بنده روی نوشتن کتاب های آموزشی که حداکثر بازدهی رو داشته باشن)
در ضمن من هیچ جایی اسمی از کتاب خانم زهرا بیات نبردم ؟ که شما همچین حرفی میزنید ؟؟
وقتمم ، همونطور که شما به جای نصیحت کردن من نمیری یک پروژه بنویسی، من هم دوست دارم، کمی از وقتم رو اینجا صرف کنم و با شما باشم

امیدوارم بتونم فرد مفیدی باشم(البته بدون کمک شما ممکن نیست)

امیربیگی
پنج شنبه 28 آذر 1392, 08:41 صبح
شما اگه سی شارپ بلد باشید
توی برنامه نویسی تحت وب :asp/جاوا اسکریپت
و توی تحت ویندوز :vb/java//
c++
f#
کلا ویژوال استودیو
و حتی برنامه نویسی موبایل مثل اندروید رو هم یه جورایی بلدید

meisam3322
پنج شنبه 28 آذر 1392, 20:03 عصر
من نمیدونم این دوستان چقدر بحث های پیش پا افتاده رو وسط می کشند...

عنوان تاپیک جالبه !!!! چه ربطی داره ؟؟ C++ کجا و C# کجا ؟!!!! مگه C++ جمع شده که باید مهاجرت بشه به C# ؟؟؟

بسه به نوع پروژتون و کاربرد و پلتفورمش زبان برنامه نویسی رو انتخاب کنید. البته به حس و حال برنامه نویس هم بستگی داره :لبخند:

برنامه نویسی که اصول برنامه نویسی ، تحلیل پروژه ها ، شناخت کامل به پلتفورم اجرای برنامه و ... داشته باشه که دیگه نباید بیاد بحث کنه کدوم زبان بهتره یا بدتره .... خیلی از دوستان طوری صحبت می کنن که .NET و C++ ارثیه بهشون رسیده ... همش بحث های پوچ !!!!!

موفق باشید.

علی متقی پور
پنج شنبه 28 آذر 1392, 22:56 عصر
نیاز ب اشغالی به اسم سی شارپ ندارم
دلیل اصلی محبوبیت سی شارپ گشاد بودن بعضی هاست :قهقهه:

سی شارپ ، جاوا ، دلفی رو بزاری با هم متحد بشن بازم به گرد سی++ نمی رسن

واقعا تاسف بر انگیزه...

-----------------------------------

بنظر من برای مهاجرت کردن از هر زبان و تکنولوژی ای به زبان یا تکنولوزی دیگه باید دلایل قانع کننده ای وجود داشته باشه. الزاما تکنولوژی های جدیدتر بهتر نیستن همنوطور که الزاما با سابقه تر ها بهتر نیستن.

خیلی ها بودن و هستن که برای مهاجرت از ویندوز قدیمی تر به جدیدتر هم مقاومت میکنن. چونکه حس میکنن تو ویندوز جدید بی سواد حساب میشن و خب نمیخوان که این اتفاق بیفته. روی همین حسابم هنوز عده ای XP رو به سون ترجیح میدن.

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

متاسفانه بعضی افرادی که سینتکس رو خوب بلدن ولی به عمق معنای هنر برنامه نویسی پی نبردن، هدف از برنامه نویسی بیش از اینکه تولید یک اپلیکیشن کاربردی و مفید باشه، تولید کدهای عجیب و غریب، طولانی و ناخواناست. اونا خیلی با افتخار میگن که زبونی که بلدن خیلی سخته و کار باهاش نیاز به تجربه بالا داره بدون اینکه در این مورد توضیح بدن که سخت بودن یک زبان چه مزیتی براش داره. اصلا هدف یک برنامه نویس چیه؟

habibb
جمعه 29 آذر 1392, 12:05 عصر
زمانی که اندکی از سی شارپ بلد بودم درس پروژه رو با سخت گیر ترین استاد دانشگاه گرفتم همه گفتن مگر دیوانه ای!
پیش استادم رفتم و اون موضوعی مطرح کرد که دیدم در توانم نیست ولی بعد از یک ماه سی شارپ بود که کمکم کرد.
و وقتی پروژم رو بردم پیش استاد . همش استاد که دکترا هم داشت .
می گفت ای کاره خودته !:متعجب: خودت نوشتی :متعجب:و آخرش به راحتی 20 گرفتم.اینه که می گم سی شارپ.:چشمک:

csvbcscp
جمعه 29 آذر 1392, 18:14 عصر
Introduction
It was October 1999 when some people at Microsoft first demonstrated the Microsoft .NET Framework, the common language runtime (CLR), and the C# programming language to me . The moment I saw all of this, I was impressed and I knew that it was going to change the way I wrote software in a very significant way . I was asked to do some consulting for the team and immediately agreed . At first, I thought that the .NET Framework was an abstraction layer over the Win32 API and COM . As I invested more and more of my time into it, however, I realized that it was much bigger . In a way, it is its own operating system . It has its own memory man- ager, its own security system, its own file loader, its own error handling mechanism, its own application isolation boundaries (AppDomains), its own threading models, and more . This book explains all these topics so that you can effectively design and implement software applications and components for this platform .
I have spent a good part of my life focusing on threading, concurrent execution, parallelism, synchronization, and so on . Today, with multicore computers becoming so prevalent, these subjects are becoming increasingly important . A few years ago, I decided to create a book dedicated to threading topics . However, one thing led to another and I never produced the book . When it came time to revise this book, I decided to incorporate all the threading information in here . So this book covers the .NET Framework’s CLR and the C# programming language, and it also has my threading book embedded inside it (see Part V, “Threading”) .
It is October 2009 as I write this text, making it 10 years now that I’ve worked with the .NET Framework and C# . Over the 10 years, I have built all kinds of applications and, as a consul- tant to Microsoft, have contributed quite a bit to the .NET Framework itself . As a partner in my own company, Wintellect (http://Wintellect.com), I have worked with numerous customers to help them design software, debug software, performance-tune software, and solve issues they have with the .NET Framework . All these experiences have really helped me learn the spots that people have trouble with when trying to be productive with the .NET Framework . I have tried to sprinkle knowledge from these experiences through all the topics presented in this book .


مطمئنم جمله های بالا برای خیلی از شما ها آشناست،
بله درست حدس زدید مقدمه کتاب Jeffrey Richter

بهترین کتابیه که تو عمرم دیدم، اگه شما هنوز این کتاب رو نخوندید توصیه می کنم حتماً ویرایش چهارمشو دانلود کنید و مطالعه کنید، کوهی از اطلاعاته، اگه در موردش مطمئن نیستید کافیه تو فروم های خارجی در مورد کتاب CLR Via C# a بپرسید.

بهتون قول میدم بعد از مطالعه این کتاب دید جدیدی نسبت به دات نت پیدا می کنید و نظر متفاوت تری نسبت به سی شارپ پیدا می کنید.

mthreat.info
جمعه 29 آذر 1392, 20:01 عصر
لینکش رو بگذارید
دارمش و الان آپلود میکنم ولی نمیدونم چرا اصلا دوستش نداشتم
--------==============================--------
لینک دانلود (http://www.mediafire.com/view/as7q37omiq7yrrm/CLRviaCSharpVol1%20(Www.SourceBaran.Com).pdf)

csvbcscp
شنبه 30 آذر 1392, 18:42 عصر
مزه ی کتاب رو وقتی میشه چشید که کتاب رو با زبون اصلی خودش مطالعه کرد
دوستان دستشون درد نکنه که ترجمه کردن، ولی حتی برای فهمیدن درست منظور مترجم هم باید انگلیسی بلد باشی:لبخندساده:

asdasd123123
چهارشنبه 18 دی 1392, 14:05 عصر
کتاب جدید C++ بهتر است یا C#؟زهرا بیات رو بخونید گفته :لبخند:
بی خیال! کتاب نوشته؟ کاش به جای بحث های تئوری بیشتر به بحث های فنی و عملی بپردازیم.

علی متقی پور
چهارشنبه 18 دی 1392, 18:04 عصر
زیاد دیدم افرادی که سنشون از 22 رد نکرده یا سن بلوغ کامل یا حال و هوای دانشجویی تو نخ ++c هستن ولی بعدش که مسئله مادی پولی پیش میاد و پروژه ای بهشون داده میشه میرن #c کار میشن ! چند تا پروژه که با سی شارپ بنویسه زنگار ++c از دلش درمیاد . حال و هوای سیستم عامل نویسی حال و هوای برنامه های سیستمی ازش می پره.

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

با سلام

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

کامبیز اسدزاده
چهارشنبه 18 دی 1392, 18:07 عصر
بازم این تاپیک لنگه اون تاپیک هایی هست که سوالش از قبل مشخصه.
چرا باید یه برنامه نویس C++‎ بیاد کوچ کنه رو C#‎ اصلا غیر منطقیه وقتی هر قابلیت و هر خواسته ای رو میشه با C++‎ بجا آورد چرا زبان های دیگر !؟ هزارو یک بار از این بحث ها شده و گفتیم که آقا جان زبان C++‎ یک زبان مادر و پایه هست خودش آقای خودشه متکی و وابسته هیچ چیزی نیست.

حالا این وسط یه برنامه نویس حال و حوصله و دانش کافی برای کار کردن با C++‎ رو نداره خب اون یه حرف دیگه در این صورت بله بهتره از زبان های دات نتی استفاده کنه.
بهترین و بزرگترین پروژه ها از خود سیستم عامل بگیر برو تا همین محیط های برنامه نویسی همشون با C/C++‎ نوشته میشن نه C#‎.

hamid_hr
چهارشنبه 18 دی 1392, 18:24 عصر
اينجا همه دم از C , C++ ميزنن ولي كدوم يكي از شما ميتونين با توجه به نياز بازار كه همين برنامه هاي حسابداري و CRM و انبارداري و ..... هست رو با C , C++ بنويسين
درسته زبان C,C++ وابستگي نداره و خيلي مزيتا داره ولي ديگه كسي حوصله نداره بره هزار خط كد بنويسه تا يه فرم ايجاد بشه فقط
با توجه به نياز بازار بهترين زبان همين C# هستش

کامبیز اسدزاده
چهارشنبه 18 دی 1392, 19:24 عصر
ولي ديگه كسي حوصله نداره بره هزار خط كد بنويسه تا يه فرم ايجاد بشه


هزاران بار در رابطه با این موارد بحث شده کی گفته برای ایجاد یه فرم باید هزار خط کد بنویسیم ؟

وقتی میگیم C#‎‎‎‎ زبان برنامه نویسی نیست زبان تنبل بازیه باور نمیکنید :

در C#‎‎‎‎ فشار به برنامه نویس نمیاد ولی برنامه نویس تنبل میشه چون اصلا کد نمینویسه که بفهمه کد نویسی یعنی چی برای همینم وقتی میاد تو یه زبان واقعی مثل C++‎‎‎‎ میگه اه کی حال کد نویسی داره !!!

بفرما این کد هاییه که C#‎‎‎‎ جون شما برای تولید فرم استفاده میکنه و شما هیچکدومشونو نمینویسی .... و هیچوقتم نخواهید فهمید تولید یک فرم در سیستم های یونیکس (UNIX) چطور خواهد بود !
و در ضمن توسط این چند خط کد شما از همین طراحیش گرفته تا برو مدیرت پروژه همرو میزاری در اختیار ویندوز و فرم ورک دات نت.



partial class Form1
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;

/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}

#region Windows Form Designer generated code

/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Text = "Form1";
}

#endregion
}


این کد های بالای همون کد های مورد نیاز برای تولید یه فرم ساده در C#‎‎‎‎ بود.

حالا در رابطه با C++‎‎‎‎ بر خلاف C#‎‎‎‎ بدون استفاده از چهارچوب قادر به تولید فرم هست فقط دانش کد نویسی لازم داره حال اگه بخوایین با چهار چوب خاصی مثل Qt بنویسید که میتونید برنامرو تا حدی بترکونید که هیچی جلودارش نیست... مثل همین نرم افزار های بزرگ که همشون با C++‎‎‎‎ هستند و فرمی که تولید میکنی خودت خلقش میکنی !

حال من بیام یه برنامه مثلا حسابداری بنویسم... C++‎‎‎‎ رو انتخاب میکنم چرا ؟ اولا همه مزیت هارو داره دوما یه بار کد مینویسم تو همه پلتفرم ها ازش استفاده میکنم مثل C#‎‎‎‎نیست که حمبالی مایکروسافتو کنم و زحمتمو فقط به پای ویندوز بریزم تولید میکنم برنامرو برای همه سیستم عامل ها میدم ! حالا به نظر هرچند 1000 خط کد لازم نیست اگه لازمم باشه ارزش کد نویسیرو داره.


وسلام به همین راحتی.

csvbcscp
پنج شنبه 07 فروردین 1393, 19:49 عصر
++C بهتر است یا #C ؟(قسمت دهم) (http://microdev.ir/?p=493/)چرا برنامه‌نویسان ++C باید به #C مهاجرت کنند‌؟ (http://microdev.ir/?p=493/)

NASA's Spaceman
پنج شنبه 07 فروردین 1393, 23:38 عصر
حرف اول و آخر سی شارپ
1-شما میخوای یه برنامه ساده بنویسی باید تو سی پلاس پلاس 100 خط کد بنویسی در صورتی که تو سی شارپ میتونی با 50 خط بنویسی
2-تو سی شارپ میتونی خیلی از پروژه هات رو سریعتر بهتر و قابل فهم بیشتر آماده کنی
3-سی شارپ یه زبون توسعه نرم افزاری هست و و جز زبان های جدید و پرکاربرد هست ولی سی پلاس پلاس هم قدیمی تر هست و هم ربطی به توسعه نرم افزار نداره
4-درسته سی شارپ سرعت کمتری داره ولی تو نتیجه خیلی بهتر از سی پلاس پلاس عمل میکنه
5-اگه سی پلاس پلاس بهتر از سی شارپ بود پس چرا VB.net رو نرفتن با سی پلاس پلاس بسازن و اومدن با سی شارپ ساختن
6-بیل گیتس توی سایت ted که میومد یه بار درباره همین ازش سوال کردن و گفت اگه سرعت سی شارپ به اندازه سی پلاس پلاس بود با اون ویندوز میساختیم و راحتر و بهتر از این ها میشد
7-در حال حاظر جز نسخه ویندوز ماکروسافت تمامی نرم افزار های دیگشون رو دارن با سی شارپ مینویسن
اگه چیزی دیگه یادم اومد مینویسم
با سپاس

NASA's Spaceman
پنج شنبه 07 فروردین 1393, 23:51 عصر
اخه خداییش خودتون بگین تا وقتی سیستم عامل هایی مثل لینوکس و ویندوز هستن شما برو خودتو بکش تا یه سیستم عامل بسازی اخرش 1 ریال هم ازت نمیخرن
تو ایران چند تا سیستم عامل ساخته شده؟
مشخصه تا الان هیچی
اگه بسازه چه فایده ای داره؟
تا جایی که فکرش رو بکنین براش ویروس و هک میسازن که مجبور میشن برن سراغ لینوکس
در مورد بازی سازی
من که تا حالا ندیدم تو ایران یه بازی مثل call of duty بسازن و خیالتون راحت تا اونا هستن کسی بازی ایرانی نمیخره
درامد کدومش بیشتره سی شارپ یا سی پلاس پلاس؟
خداییش خودتون قضاوت کنین با سی شارپ کلی نم افزار میتونین بسازین و بفروشین ولی با سی پلاس پلاس چی میشه اگه هم بشه مثلا تو سی شارپ شما 10 تا پروژه پولی ساختی ولی تو
سی پلاس پلاس تازه تو 3 یا 4 تای اولیش هستی
در مورد خطا ها چی؟
تو سی شارپ سریع میشه خطای کدنویسی رو رفع کرد ولی تو سی پلاس پلاس باید میلیون ها خط رو چک کنی تا بفهمی اون خطایی که بهت نشونش داده کجای برنامت اشتباه شده که اون خط رو داره بهت ایراد میگیره
در مورد معنی شی گرایی چی میگین؟
تا جایی که پیداست سی شارپ تنها زبونی هست که شی گرایی واقعی و کامل ترین هست و هیچ زبونی مثل سی شاپ شی گرای واقعی تا این حد نیست
با سپاس

بهروز عباسی
جمعه 08 فروردین 1393, 04:30 صبح
این بحث هنوز تموم نشده :D


حرف اول و آخر سی شارپ
حرف اول و آخرت اشتباهه !
هر زبانی در جای خودش کاربرد داره، "نه یک زبان برای همه کارها".


1-شما میخوای یه برنامه ساده بنویسی باید تو سی پلاس پلاس 100 خط کد بنویسی در صورتی که تو سی شارپ میتونی با 50 خط بنویسی

بازم بسته به کارش داره! شده 50 خط #C رو با Python توی 5 خط نوشتم.



2-تو سی شارپ میتونی خیلی از پروژه هات رو سریعتر بهتر و قابل فهم بیشتر آماده کنی

اگه اصول برنامه نویسی/طراحی/توسعه و ممعاری نرم افزار رو بلد باشی با همه زبان ها میشه ولی توی سی شارپ آره راحت تره :*


3-سی شارپ یه زبون توسعه نرم افزاری هست و و جز زبان های جدید و پرکاربرد هست ولی سی پلاس پلاس هم قدیمی تر هست و هم ربطی به توسعه نرم افزار نداره
درسته #C جدیده پر کاربرده ولی این حرف شما در مورد ++C کاملاً اشتباهه و بیشتر برای شوخی خوبه، استاندارد های اخیر ++C رو مطالعه/مشاهده کنید تا متوجه بشید که قدیمی نیست.
هنوز خیلی از بزرگترین نرم افزارها رو با همین زبان توسعه میدن که فکر نکنم لازم به ارائه مثال باشه.


4-درسته سی شارپ سرعت کمتری داره ولی تو نتیجه خیلی بهتر از سی پلاس پلاس عمل میکنه
نتیجه وابستگی شدیدی به سرعت داره مثلا: 3D MAX و کلا برنامه های گرافیکی و رندر کردن تصاویر و ....


5-اگه سی پلاس پلاس بهتر از سی شارپ بود پس چرا VB.net رو نرفتن با سی پلاس پلاس بسازن و اومدن با سی شارپ ساختن
:کف:
خود #C رو با چی ساختن ؟؟ عایا؟


6-بیل گیتس توی سایت ted که میومد یه بار درباره همین ازش سوال کردن و گفت اگه سرعت سی شارپ به اندازه سی پلاس پلاس بود با اون ویندوز میساختیم و راحتر و بهتر از این ها میشد
پس قبول داری سرعتش هنوز... (البته به خاطر بهینگی کامپایلر سی شارپ ممکنه از ++C هم سریعتر باشه"ولی در موارد خاص")، "اگر" رو کلا جدی نگیر. سی شارپ فقط سرعت توسعه رو افزایش میده ولی هرکاریش هم کنن به درد این کار نمی خوره، هرچند که کارهایی هم شده، مثلا": Cosmos (http://en.wikipedia.org/wiki/Cosmos_(operating_system))


7-در حال حاظر جز نسخه ویندوز ماکروسافت تمامی نرم افزار های دیگشون رو دارن با سی شارپ مینویسن
:D


اگه چیزی دیگه یادم اومد مینویسم
فکر کنم همینا کافی باشه

از این دلایل زیاده ولی هیچکدوم چیزی رو ثابت نمی کنه، چون واقعیت اینه که شرکت ها/افراد براساس نیازشون زبان برنامه نویسی رو انتخاب می کنن نه این دلایل -گاها من ادر آوردی- و غیر فنی.


درامد کدومش بیشتره سی شارپ یا سی پلاس پلاس؟
#C کارش بیشتره !


در مورد خطا ها چی؟
تو سی شارپ سریع میشه خطای کدنویسی رو رفع کرد ولی تو سی پلاس پلاس باید میلیون ها خط رو چک کنی تا بفهمی اون خطایی که بهت نشونش داده کجای برنامت اشتباه شده که اون خط رو داره بهت ایراد میگیره
این دیگه تا حد زیادی به عرضه و دانش برنامه نویس مربوط میشه نه "صرفاً" زبان، کسی که به قول شما "میلیون ها خط" برنامه رو با سی جماعت توسعه داده میتونه Debug هم بکنه.


در مورد معنی شی گرایی چی میگین؟
درسته #C و Java کاملاً شی گرا هستن ولی در برخی موارد باز هم ++C رو عشق است :D ولی در درسته.


شب خوش

csvbcscp
جمعه 08 فروردین 1393, 14:30 عصر
این بحث هنوز تموم نشده :D


حرف اول و آخرت اشتباهه !
هر زبانی در جای خودش کاربرد داره، "نه یک زبان برای همه کارها".


بازم بسته به کارش داره! شده 50 خط #C رو با Python توی 5 خط نوشتم.



اگه اصول برنامه نویسی/طراحی/توسعه و ممعاری نرم افزار رو بلد باشی با همه زبان ها میشه ولی توی سی شارپ آره راحت تره :*


درسته #C جدیده پر کاربرده ولی این حرف شما در مورد ++C کاملاً اشتباهه و بیشتر برای شوخی خوبه، استاندارد های اخیر ++C رو مطالعه/مشاهده کنید تا متوجه بشید که قدیمی نیست.
هنوز خیلی از بزرگترین نرم افزارها رو با همین زبان توسعه میدن که فکر نکنم لازم به ارائه مثال باشه.


نتیجه وابستگی شدیدی به سرعت داره مثلا: 3D MAX و کلا برنامه های گرافیکی و رندر کردن تصاویر و ....


:کف:
خود #C رو با چی ساختن ؟؟ عایا؟


پس قبول داری سرعتش هنوز... (البته به خاطر بهینگی کامپایلر سی شارپ ممکنه از ++C هم سریعتر باشه"ولی در موارد خاص")، "اگر" رو کلا جدی نگیر. سی شارپ فقط سرعت توسعه رو افزایش میده ولی هرکاریش هم کنن به درد این کار نمی خوره، هرچند که کارهایی هم شده، مثلا": Cosmos (http://en.wikipedia.org/wiki/Cosmos_(operating_system))


:D


فکر کنم همینا کافی باشه

از این دلایل زیاده ولی هیچکدوم چیزی رو ثابت نمی کنه، چون واقعیت اینه که شرکت ها/افراد براساس نیازشون زبان برنامه نویسی رو انتخاب می کنن نه این دلایل -گاها من ادر آوردی- و غیر فنی.


#C کارش بیشتره !


این دیگه تا حد زیادی به عرضه و دانش برنامه نویس مربوط میشه نه "صرفاً" زبان، کسی که به قول شما "میلیون ها خط" برنامه رو با سی جماعت توسعه داده میتونه Debug هم بکنه.


درسته #C و Java کاملاً شی گرا هستن ولی در برخی موارد باز هم ++C رو عشق است :D ولی در درسته.


شب خوش

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

csvbcscp
شنبه 09 فروردین 1393, 06:17 صبح
مقایسه بین native ++C و #C بدون استفاده از crl
اگر شما یک برنامه نویس ++C هستید و میخواهید به #C مهاجرت کنید، در مطلب پایین میتوانید تفاوت های اصلی بین این دو زبان را در یک نگاه ببینید.

مقایسه بین++C و #C بدون استفاده از clr/ (http://microdev.ir/#_C_C__clr)


تفاوت ارث بری در ++C و #C (http://microdev.ir/#__C_C)
تفاوت آرایه ها در ++C و #C (http://microdev.ir/#__C_C-2)
تفاوت نوع Boolean در ++C و #C (http://microdev.ir/#_Boolean_C_C)
تفاوت نوع long در ++C و #C (http://microdev.ir/#_long_C_C)
تفاوت ارسال پارامتر ها در #C و ++C (http://microdev.ir/#___C_C)
تفاوت دستور switch در #C و ++C (http://microdev.ir/#_switch_C_C)
Delegate ها در #C : (http://microdev.ir/#Delegate__C)
کلمه کلیدی base در #C (http://microdev.ir/#_base_C)
مخفی کردن متد ها با استفاده از new در #C (http://microdev.ir/#____new_C)
رهنمود های پیش پردازنده در #C (http://microdev.ir/#___C)
try-finally و try-catch-finally در #C (http://microdev.ir/#try-finally_try-catch-finally_C)
عملگر های #C (http://microdev.ir/#_C)
رهنمود using در#C (http://microdev.ir/#_using_C)
extern (http://microdev.ir/#extern)
static (http://microdev.ir/#static)
متد Main و آرگومان های خط فرمان (http://microdev.ir/#_Main)
unsafe (http://microdev.ir/#unsafe)
Operator ها (http://microdev.ir/#Operator)
string (http://microdev.ir/#string)
foreach (http://microdev.ir/#foreach)
ساختار اصلی برنامه های #C (http://microdev.ir/#__C)
static، const و enum (http://microdev.ir/#static_const_enum)
using و متا دیتا در #C (http://microdev.ir/#using___C)
متد ها (http://microdev.ir/#i-2)
Garbage Collector (http://microdev.ir/#Garbage_Collector)
Destructor یا مخرب ها (http://microdev.ir/#Destructor)
Constructor یا سازنده (http://microdev.ir/#Constructor)
Bit Field در ++C (http://microdev.ir/#Bit_Field_C)
خطای CS0241 در #C (http://microdev.ir/#_CS0241_C)
Genericها در #C (http://microdev.ir/#Generic_C)

MFalah
یک شنبه 10 فروردین 1393, 05:01 صبح
مقایسه خوبی بود، اما کاش بیشتر توضیح میدادید

negar.rafie
یک شنبه 10 فروردین 1393, 15:55 عصر
سلام
دوستان من سی شارپ بلدم و میخوام سی پلاس پلاس یاد بگیرم
می خواستم بدونم در سی پلاس پلاس می شه مثل سی شارپ برنامه ویندوزی ایجاد کرد؟یعنی فرم, تکست ,باکس ,باتن و . . . . دتشه باشیم؟

hamid_hr
یک شنبه 10 فروردین 1393, 16:07 عصر
اره با visual c++ یا qt

http://barnamenevis.org/forumdisplay.php?121-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%A8%D8%A7-MFC-%D9%88-Visual-C
http://barnamenevis.org/forumdisplay.php?111-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%AF%D8%B1-%D9%85%D8%AD%DB%8C%D8%B7-QT-%D9%88-%D9%87%D9%85-%D8%AE%D8%A7%D9%86%D9%88%D8%A7%D8%AF%D9%87-%D9%87%D8%A7%DB%8C%D8%B4

negar.rafie
یک شنبه 10 فروردین 1393, 18:07 عصر
خوب من در ویژوال استادیو پروژه را از نوع mfc ایجاد میکنم ولی فرمی نداره؟
بعد یه سوال دیگه فرق visual C++ با qt چیه؟

csvbcscp
یک شنبه 10 فروردین 1393, 18:44 عصر
C++ داره یک رنسانس رو تجربه می کنه و به خاطر قدرت و انعطاف بالاش هنوز پادشاهی میکنه.
من بیشتر مواقع سی شارپ و جاوا رو پیشنهاد می‌کنم، چون در اکثر موارد سرعت تولید محصول و هزینه پایین توسعه نرم افزار، اهمیت بیشتری رو داره.
اما در مورادی که کارایی و قدرت مد نظر ما باشه، سی شارپ وجاوا محدودیت های خودشون رو نشون میدن(به خصوص زمانی که دستگاههای ما دارای سخت افزار ضعیف باشند)

اگه برنامه نویس C# هستید و میخواهید C++ رو یاد بگیرید، به شما تبریک می گم، چون تجربه لذت بخشی خواهد بود و چیز های زیادی رو یاد خواهید گرفت.
هم زبان C++ و هم محیط های توسعه C++ این روزها تغییرات زیادی کرده، شما میتونید با استفاده از محیط توسعه ویژوال استودیو به تمامی امکانات و ابزار هایی که در سایر زبان های دات نتی هستند، دسترسی داشته باشید.

اگه میخواهید از C++ به سی شارپ مهاجرت کنید، بازم بهتون تبریک می گم، چون سی شارپ میتونه زندگی رو برای برنامه نویس ها آسون کنه...

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

csvbcscp
یک شنبه 10 فروردین 1393, 18:52 عصر
خوب من در ویژوال استادیو پروژه را از نوع mfc ایجاد میکنم ولی فرمی نداره؟
بعد یه سوال دیگه فرق visual C++‎ با qt چیه؟

Visual Studio تولید شرکت مایکروسافته و فقط برای ویندوز ساخته شده اما Qt یک برنامه
cross-platform (یعنی میتونه توی پلت فرم های مختلف به کار برده بشه)
شما با استفاده از Visual Studio 2013 و XAML به راحتی میتونید فرم های ویندوزی تولید کنید.

Sir-Programmer
سه شنبه 12 فروردین 1393, 11:47 صبح
عاقا چرا بیخودی شلوغش میکنین من ویژوال بیسیک رو پیشنهاد میکنم :دی چون هم ساده هستش هم قابل فهم و هم قدرتمند :دی شوخی کردم جدی نگیرید خب دوستان عزیز سی شارپ زبان ساده ، قابل فهم و قدرتمندی هستش ولی سی پلاس پلاس چی شما میتونید همین الان براوزر خودتونو مینی مایز کنید و ببینید چه خبره اکثر برنامه هایی که من و شما شبو روز باهاشون کار میکنیم با زبان قدرتمند سی پلاس پلاس نوشته شده ! اکثر فایروال ها اکثر ویروس کش ها اکثر برنامه های دیزاین و .... پس نمیشه به سی پلاس پلاس پشت کرد ( البته میشه واسه کسانی که میگن حجم کد نویسیش اینجوریه سخته و ...) . من خودم یه اماتور هستم ابتدا از ویژوال بیسیک شروع کردم و بعد دوستان سی شارپ رو بهم پیشنهاد کردن و الان سی شارپ کارم و تا حدی با برنامه نویسی سی شارپ آشنایی پیدا کردم و اولین برنامه (http://emsoft.ir/1392/08/%D8%B3%D9%88%D8%B1%D8%B3-%D9%85%D8%AF%DB%8C%D8%B1%DB%8C%D8%AA-%D9%85%D8%AF%D8%B1%D8%B3%D9%87-%D9%88-%D8%B3%D9%88%D8%B1%D8%B3-%D9%BE%D8%A7%D8%B1%DA%A9%DB%8C%D9%86%DA%AF/) رو با سی شارپ ساختم و الان میخوام برم سراغ سی پلاس پلاس ( منظورم کنار گذاشتن سی شارپ نیست :دی ) و نمیتونم بی دلیل بیام و بگم سی شارپ از سی پلاس پلاس قدرتمندتره .
http://s5.picofile.com/file/8118607800/2.jpg

negar.rafie
سه شنبه 12 فروردین 1393, 12:22 عصر
دوستان مگه ++c برای مایکروسافت نیست ؟پس qt چی هستش؟

بابک.م.
سه شنبه 12 فروردین 1393, 13:36 عصر
آقا این بنده خدا یکی دو تا کتاب در مورد سی شارپ نوشته داره تبلیغ کتابش رو می کنه، شما جدی نگیرین
آموزش سی شارپ به بچه ها، خانوم ها، مادر بزرگ ها، اموات و...
مهاجرت از سی به سی شارپ !!!!!!!!!!!!!
چرا تشویش اذهان عمومی می کنی آقای/خانومه محترم :عصبانی:

محسن=0
سه شنبه 12 فروردین 1393, 18:50 عصر
هر زبانی در جای خودش کاربرد داره، "نه یک زبان برای همه کارها".


یک کلمه حرف حساب

csvbcscp
سه شنبه 12 فروردین 1393, 19:42 عصر
دوستان مگه ++c برای مایکروسافت نیست ؟پس qt چی هستش؟

C++ متعلق به مایکروسافت نیست
کامپایلر های زیادی برای زبان C++ وجود داره، که یکیش مال مایکروسافته.

csvbcscp
سه شنبه 12 فروردین 1393, 19:54 عصر
آقا این بنده خدا یکی دو تا کتاب در مورد سی شارپ نوشته داره تبلیغ کتابش رو می کنه، شما جدی نگیرین
آموزش سی شارپ به بچه ها، خانوم ها، مادر بزرگ ها، اموات و...
مهاجرت از سی به سی شارپ !!!!!!!!!!!!!
چرا تشویش اذهان عمومی می کنی آقای/خانومه محترم :عصبانی:

آفرین به هوش و ذکاوت شما!! اما کاش تو راه بهتری از هوشتون استفاده میکردید.

بهتون توصیه میکنم کتاب C++ بدون ترس (http://www.mspsoft.com/1392/03/01/%DA%A9%D8%AA%D8%A7%D8%A8-%D9%81%D8%A7%D8%B1%D8%B3%DB%8C-%D8%B3%DB%8C-%D9%BE%D9%84%D8%A7%D8%B3-%D9%BE%D9%84%D8%A7%D8%B3-%D8%A8%D8%AF%D9%88%D9%86-%D8%AA%D8%B1%D8%B3/) رو هم مطالعه بفرمایید، شاید نظرتون درمورد بنده عوض شد.(این کتاب رایگانه، قرار نیست پولی بابتش پرداخت کنید)
خوشحال میشم اگه بدونم، شما از حرف های بنده چه برداشتی کردید که تصور میکنید، من تشویش اذهان عمومی کردم؟

NASA's Spaceman
سه شنبه 12 فروردین 1393, 20:22 عصر
به نظرم من سی شارپ زبون خیلی بهتری هست نسبت به سی پلاس پلاس و دلیلش اینه که درسته که تو سی شارپ خیلی از کدنویسی ها رو برامون راحت تر کرده ولی اگه خودمون هم بخوایم میتونیم خودمون بریم و کدنویسی های اونا رو هم یاد بگیریم
به نظر شما دلیل ساخت سی شارپ چی بوده؟
جواب مشخصه
8-سرعت و کیفیت و کارایی بیشتر نرم افزار
9-خیلی از کدنویسی ها نیازی نیست که برنامه نویسی بخواد اول اونا رو بنویسه تا بتونه برنامه خودش رو بنویسه
10-شلوغی کدنویسی خیلی کمتر میشه
11-سرعت بالا تر خطایابی(تو سی شارپ اگه خطا تو کدنویسی داشته باشین خیلی راحت میشه اونو پیدا کرد و تصحیحش کرد ولی تو سی پلاس پلاس دردسرش بیشتر و خطایابی سخت تر میشه)
12-امروزه تمام نرم افزار های تجاری داره با سی شارپ نوشته میشه(مثلا شما با سی شارپ و یکی دیگه با سی پلاس پلاس باشین اونوقت اونی که با سی شارپ مینویسه هم کاربر نرم افزارش راضی تر هست و هم پول بیشتر و نرم افزار بیشتری براش به همراه داره)
13-اگه برا یه شرکت بخواین برنامه بنویسین قطعا اگه سریع تر نرم افزار رو بهشون تحویل بدین اعتبار شما بالا میره و حتی امکان پول بیشتر هم هست
7-تنها زبونی که کاملا شی گرا هست و همه حتی خود ماکروسافت اینو اعلام کردن سی شارپ هست
14-تو سی پلاس پلاس به علت یه صفحه فقط برا کد نویسی از لحاظ خسته کنندگیش نسبت به سی شارپ بیشتر هست
15-امروزه همه برنامه نویسا دارن به زبون سی شارپ رو میارن
16-شرکت های برنامه نویسی برای قابت با هم دیگه میان سراغ سی شارپ تا رضایت مشتری رو جلب کنن و اعتبار خودشون رو بالاتر ببرن
17-در مورد خطایابی شما یه اتاق بهتون میدن که خیلی مرتب و تمیز هست و اگه مشکلی داشته باشه سریع میشه اون اتاق رو تمیز کرد ولی اگه یه اتاق شلوغ(بهم رخته) رو بهتون بدن اول که اصلا دلتون نمیخواد تو این اتاق باشین و دوم اینکه اگه مشکلی این اتاق داشته باشه باید کلی بگردین تا بتونین مشکلش رو حل کنین و وقت بیشتی باید صرف این کار کنین که این دقیقا فرق سی شارپ با سی پلاس پلاس هست
18-اگه یه کد هوش مصنوعی تو سی شارپ و همون رو تو سی پلاس پلاس ببینین خیلی چیزا مشخص میشه اول اینکه خوانایی کد نویسی تو سی شارپ بیشتر هست و دوم اینکه همونی که با سی شارپ نوشتین کلی باید زمان بیشتر بزارین تا با سی پلاس پلاس بنویسین و درصد IQ این هوش مصنوعی تو سی شارپ بالا تر هست

csvbcscp
چهارشنبه 13 فروردین 1393, 05:28 صبح
به نظرم من سی شارپ زبون خیلی بهتری هست نسبت به سی پلاس پلاس و دلیلش اینه که درسته که تو سی شارپ خیلی از کدنویسی ها رو برامون راحت تر کرده ولی اگه خودمون هم بخوایم میتونیم خودمون بریم و کدنویسی های اونا رو هم یاد بگیریم
به نظر شما دلیل ساخت سی شارپ چی بوده؟
جواب مشخصه
8-سرعت و کیفیت و کارایی بیشتر نرم افزار
9-خیلی از کدنویسی ها نیازی نیست که برنامه نویسی بخواد اول اونا رو بنویسه تا بتونه برنامه خودش رو بنویسه
10-شلوغی کدنویسی خیلی کمتر میشه
11-سرعت بالا تر خطایابی(تو سی شارپ اگه خطا تو کدنویسی داشته باشین خیلی راحت میشه اونو پیدا کرد و تصحیحش کرد ولی تو سی پلاس پلاس دردسرش بیشتر و خطایابی سخت تر میشه)
12-امروزه تمام نرم افزار های تجاری داره با سی شارپ نوشته میشه(مثلا شما با سی شارپ و یکی دیگه با سی پلاس پلاس باشین اونوقت اونی که با سی شارپ مینویسه هم کاربر نرم افزارش راضی تر هست و هم پول بیشتر و نرم افزار بیشتری براش به همراه داره)
13-اگه برا یه شرکت بخواین برنامه بنویسین قطعا اگه سریع تر نرم افزار رو بهشون تحویل بدین اعتبار شما بالا میره و حتی امکان پول بیشتر هم هست
7-تنها زبونی که کاملا شی گرا هست و همه حتی خود ماکروسافت اینو اعلام کردن سی شارپ هست
14-تو سی پلاس پلاس به علت یه صفحه فقط برا کد نویسی از لحاظ خسته کنندگیش نسبت به سی شارپ بیشتر هست
15-امروزه همه برنامه نویسا دارن به زبون سی شارپ رو میارن
16-شرکت های برنامه نویسی برای قابت با هم دیگه میان سراغ سی شارپ تا رضایت مشتری رو جلب کنن و اعتبار خودشون رو بالاتر ببرن
17-در مورد خطایابی شما یه اتاق بهتون میدن که خیلی مرتب و تمیز هست و اگه مشکلی داشته باشه سریع میشه اون اتاق رو تمیز کرد ولی اگه یه اتاق شلوغ(بهم رخته) رو بهتون بدن اول که اصلا دلتون نمیخواد تو این اتاق باشین و دوم اینکه اگه مشکلی این اتاق داشته باشه باید کلی بگردین تا بتونین مشکلش رو حل کنین و وقت بیشتی باید صرف این کار کنین که این دقیقا فرق سی شارپ با سی پلاس پلاس هست
18-اگه یه کد هوش مصنوعی تو سی شارپ و همون رو تو سی پلاس پلاس ببینین خیلی چیزا مشخص میشه اول اینکه خوانایی کد نویسی تو سی شارپ بیشتر هست و دوم اینکه همونی که با سی شارپ نوشتین کلی باید زمان بیشتر بزارین تا با سی پلاس پلاس بنویسین و درصد IQ این هوش مصنوعی تو سی شارپ بالا تر هست

با تمام گفته های شما موافقم
این را هم به حرف های شما اضافه میکنم
C++ هم وارد دوره‌ی جدیدی شده و همونطور که قبلاً هم گفتم داره یک رنسانس رو تجربه میکنه
کسانی که دنبال انعطاف بالا هستند و کارایی در برنامه شون مهمه، قطعاً C++ انتخاب اول و آخر اونهاست.
البته افراد مبتدی نمیتونن از کارایی و انعطاف این زبان استفاده درست بکنن، و ممکنه نتیجه عکس بگیرن.

بابک.م.
پنج شنبه 14 فروردین 1393, 15:28 عصر
آفرین به هوش و ذکاوت شما!! اما کاش تو راه بهتری از هوشتون استفاده میکردید.

بهتون توصیه میکنم کتاب C++‎‎‎‎‎‎‎ بدون ترس (http://www.mspsoft.com/1392/03/01/%DA%A9%D8%AA%D8%A7%D8%A8-%D9%81%D8%A7%D8%B1%D8%B3%DB%8C-%D8%B3%DB%8C-%D9%BE%D9%84%D8%A7%D8%B3-%D9%BE%D9%84%D8%A7%D8%B3-%D8%A8%D8%AF%D9%88%D9%86-%D8%AA%D8%B1%D8%B3/) رو هم مطالعه بفرمایید، شاید نظرتون درمورد بنده عوض شد.(این کتاب رایگانه، قرار نیست پولی بابتش پرداخت کنید)
خوشحال میشم اگه بدونم، شما از حرف های بنده چه برداشتی کردید که تصور میکنید، من تشویش اذهان عمومی کردم؟

در مورد برنامه نویس شدن و آموزش نظرم رو قبلا تو یکی از پست های شما گفتم.
در مورد دوم هم عنوان تاپیک شما رو من ترجمه می کنم به مهاجرت از کامیون به خودروی سواری
اصولا سی شارپ ابزاری برای توسعه نرم افزار های سیستم های مدیریت اطلاعات هست و سی برای برنامه نویسی سطح پایین استفاده می شه
هیچ وقت کسی یه سیستم ERP رو با C نمی نویسه که بخواد اونرو ببره روی دات نت و سی شارپ یا جاوا یا ...
آیا تا بحال شده به کسی توصیه کنید برای رفتن به محلی از کامیون ، بولدوزر، تراکتور و ... استفاده کنه :لبخند:
یا به کسی توصیه کنید برای حمل شن و ماسه از سواری استفاده کنه.

اگر بحث مهاجرت باشه شما باید ابزارهای مشابه رو مقایسه کنید مثلا مهاجرت از سی شارپ به جاوا یا پایتون یا ...

علاوه براینکه سی شارپ تو همون مثال سواری هم محدودیت داره و مثل تاکسی خطیه که نمی تونه خارج خط مسافر سوار کنه
سی شارپ دات نت رو برای توسعه ویندوز طراحی کردند و شما نمی تونین پروژتون رو روی یونیکس، مک و ... اجرا کنین. (برای سیستم عاملی بجز ویندوز شخصا جاوا یا پایتون رو ترجیح می دم و مونو رو توصیه نمی کنم)

csvbcscp
پنج شنبه 14 فروردین 1393, 19:28 عصر
در مورد برنامه نویس شدن و آموزش نظرم رو قبلا تو یکی از پست های شما گفتم.
در مورد دوم هم عنوان تاپیک شما رو من ترجمه می کنم به مهاجرت از کامیون به خودروی سواری
اصولا سی شارپ ابزاری برای توسعه نرم افزار های سیستم های مدیریت اطلاعات هست و سی برای برنامه نویسی سطح پایین استفاده می شه
هیچ وقت کسی یه سیستم ERP رو با C نمی نویسه که بخواد اونرو ببره روی دات نت و سی شارپ یا جاوا یا ...
آیا تا بحال شده به کسی توصیه کنید برای رفتن به محلی از کامیون ، بولدوزر، تراکتور و ... استفاده کنه :لبخند:
یا به کسی توصیه کنید برای حمل شن و ماسه از سواری استفاده کنه.

اگر بحث مهاجرت باشه شما باید ابزارهای مشابه رو مقایسه کنید مثلا مهاجرت از سی شارپ به جاوا یا پایتون یا ...

علاوه براینکه سی شارپ تو همون مثال سواری هم محدودیت داره و مثل تاکسی خطیه که نمی تونه خارج خط مسافر سوار کنه
سی شارپ دات نت رو برای توسعه ویندوز طراحی کردند و شما نمی تونین پروژتون رو روی یونیکس، مک و ... اجرا کنین. (برای سیستم عاملی بجز ویندوز شخصا جاوا یا پایتون رو ترجیح می دم و مونو رو توصیه نمی کنم)

نظر شما کاملاً منطقی و درسته
شاید کلمه مهاجرت ، عنوان مناسبی نباشه و کاملاً با شما موافقم که میگید این دو زبان شباهت زیادی با هم ندارند.(چون برنامه نویسی دات نت و native ، دو دنیای متفاوته)
من هم مثل شما برای سیستم های هایی بغیر از ویندوز، دات نت رو پیشنهاد نمیکنم .

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

امیدوارم تو پست های بعدی بیشتر تجربه هاتون رو با ما به اشتراک بزارید و ما رو با نکات بیشتری آشنا کنید.
من خیلی دوست دارم دنیا رو از نگاه افرادی که کاملاً مخالف من فکر میکنند ببینم و ازشون درس بگیرم.
منتظر دیدگاه های بعدیتون هستم.

بابک.م.
پنج شنبه 14 فروردین 1393, 22:32 عصر
کاملاً با شما موافقم که میگید این دو زبان شباهت زیادی با هم ندارند


من همچین چیزی نگفتم . منظور من کاربرد متفاوت سی و سی شارپ بود. اتفاقا سی شارپ از لحاظ نحوی به سی و از لحاظ ساختاری به جاوا شباهت زیادی داره. به جز سی شارپ، جاوا- جاوا اسکریپت- پی اچ پی و کلی زبان برنامه نویسی دیگه (http://en.wikipedia.org/wiki/List_of_C-based_programming_languages) بر مبنای سی طراحی شدند.



مایکروسافت بزرگترین غول نرم افزاری جهانه
این نظر شماست ، مایکروست در عرصه وب و موبایل شرکت تراز اول محسوب نمیشه و شرکت های مثل اپل و گوگل پیشتاز هستند.



شرط میبندم حتی خود شما هم روی کامپیوتر شخصیتون از ویندوز استفاده میکنید
به زودی استفاده از کامپیوتر های قابل حمل مثل تبلت و موبایل از کامپیوتر رومیزی جلو میزنه و مایکروسافت اگر نتونه رویکرد درستی در این مورد اتخاذ کنه بازار رو از دست می ده. به نظر من ویندوز هشت اشتباه بزرگ مایکروسافت در این مورد بود که باید به سرعت اصلاحش کنه.



بیشتر شرکت ها ی نرم افزاری با دات نت کار می کنند، در نتیجه بیشترین شغل ها برای برنامه نویسانیه که با دات نت آشنا هستند
شاید اینطوری باشه ولی رنج حقوقی برنامه نویس های سی در همین کشور حداقل دو برابر برنامه نویس سی شارپ هست.





دات نت حتی برای native کار ها هم خیلی کاربردیه، چون همونطور که میدونید، ساده ترین، کم هزینه ترین و سریع ترین راه برای برنامه نویسی در سیستم عامل ویندوز دات نته و بهترین زبان تحت دات نت هم سی شارپه
در مورد ویندوز، من هم با شما موافقم البته تو همین فروم بارها در این مورد نظرسنجی شده و خیلی ها VB.Net یا Delphi Prism و ... رو به سی شارپ ترجیح می دن.





دات نت علاوه بر ویندوز، برای نوشتن برنامه های تحت وب و تحت کلاد(که برنامه نویسی در حال ظهوره) بهترین انتخابه
نه عزیزم هیچ وقت توی جهان نرم افزار مطلق صحبت نکنید. اینرو (http://en.wikipedia.org/wiki/Programming_languages_used_in_most_popular_website s) ببیند. هیچ کس بجز مایکرو سافت از ASP برای توسعه تحت وب استفاده نمی کنه



تا حالا محیط توسعه ای مثل ویژوال استودیو درست نشده.
در مورد توسعه تحت دات نت حق با شماست. البته برای سایر زبان های برنامه نویسی باید از IDE دیگه ای مثل eclipse ، NetBeans و ... استفاده کنید.

csvbcscp
جمعه 15 فروردین 1393, 17:03 عصر
بیش از 80 درصد کاربران، از موبایل گرفته تا کامپیوتر شخصی از سیستم عامل های مایکروسافت استفاده می‌کنند.
آمار استفاده از سیستم عامل های مختلف توسط http://www.w3schools.com/



2014
Win8
Win7
Vista
NT*
WinXP
Linux
Mac
Mobile (http://www.w3schools.com/browsers/browsers_mobile.asp)


February
14.2%
55.0%
1.4%
0.3%
10.0%
5.0%
10.0%
4.0%



و دات نت ساده ترین، کم هزینه ترین و سریع ترین راه برای توسعه برنامه های تحت ویندوزه، به همین خاطر دات نت تبدیل به یک موفقیت بزرگ در بازار شده و میلیون ها برنامه نویس در کمپانی های بزرگ و کوچک برای درست کردن برنامه هاشون به دات نت متکی هستن.
به نظر من دات نت آینده خیلی خوبی هم داره، چون روی کلاد هم خیلی هزینه کرده و شما به راحتی میتونید برنامه هایی که امروز مینویسید رو در آینده به برنامه های تحت کلاد ارتقا بدید.
از همه شما به خاطر اینکه وقت میزارید و نظر خودتون رو مینویسید متشکرم.
منتظر دیدگاه های جدید شما هستم.
http://www.w3schools.com/browsers/browsers_os.asp

Hajivandian
جمعه 15 فروردین 1393, 17:58 عصر
سلام،

زیاد کاری به اینکه برنامه نویسان سی ++ باید به سی شارپ مهاجرت کنند یا نه ندارم، فقط میخواستم یکی از تازه ترین کارهایی رو که ماکروسافت برای محبوبیت هر چه بیشتر سی شارپ انجام داده معرفی کنم:

قابلیت Native Compile! بالاخره ماکروسافت با رونمایی اولیه از این قابلیت، یکی از آرزوها و معایب (از نظر برنامه نویسان دیگر زبان ها البته) سی شارپ رو حل کرد. با استفاده از این قابلیت میشه برنامه های نوشته شده به زبان سی شارپ رو به صورت Native کامپایل کرد که با این کار دیگه برنامه های نوشته شده به این زبان نیازمند وجود دات نت نیستند. و البته اصلی ترین و جذاب ترین بخش این ماجرا اینجاست که به گفته خود ماکروسافت: برنامه هایی که به این صورت کامپایل میشن با افزایش سرعت حدودا 60% همراه هستند! که همون آرزوی دیرین برنامه نویسان سی شارپ بود، یعنی داشتن سرعت زبان هایی مانند سی و سی ++ و قدرت زبان سی شارپ به صورت یکجا :)

لینک خبر: http://blogs.msdn.com/b/dotnet/archive/2014/04/02/announcing-net-native-preview.aspx

csvbcscp
شنبه 16 فروردین 1393, 13:17 عصر
ممنون برای خبر خوبتون
این رو هم به گفته های شما اضافه می‌کنم که این نسخه هنوز آزمایشیه و محدودیت هایی هم داره، و فعلاً فقظ از برنامه های ویندوز استور پشتیبانی میکنه.
آقای جفری ریچر چند سال پیش(در زمان دات نت 2) تو کتاب clr via C#‎‎ از این ویژگی اسم برده بود و گفته بود احتمال داره تو نسخه های بعدی دات‌نت اضافه بشه.

The CLR could profile the code’s execution and recompile the IL into native code while
the application runs . The recompiled code could be reorganized to reduce incorrect
branch predictions depending on the observed execution patterns . Current versions of
the CLR do not do this, but future versions might .
These are only a few of the reasons why you should expect future managed code to execute
better than today’s unmanaged code . As I said, the performance is currently quite good for
most applications, and it promises to improve as time goes on .

من هم مثل آقای جفری ریچر به آینده دات‌نت امید وارم و مطمئنم که کد های مدیریت شده در آینده وضعیت بهتری نسبت به کد های native خواهند داشت.
هر چند که همین الان هم کد های مدیریت شده وضعیت بهتری دارند، کد های native فقط کمی از لحاظ کارایی(آن هم هم فقط در بعضی از موارد) جلو هستند.

asdasd123123
سه شنبه 02 اردیبهشت 1393, 15:26 عصر
بهتون توصیه میکنم کتاب C++‎ بدون ترس (http://www.mspsoft.com/1392/03/01/%DA%A9%D8%AA%D8%A7%D8%A8-%D9%81%D8%A7%D8%B1%D8%B3%DB%8C-%D8%B3%DB%8C-%D9%BE%D9%84%D8%A7%D8%B3-%D9%BE%D9%84%D8%A7%D8%B3-%D8%A8%D8%AF%D9%88%D9%86-%D8%AA%D8%B1%D8%B3/) رو هم مطالعه بفرمایید
کتاب بسیار ناقص و ضعیفی بود مثل زبان های ماکروسافتی!

Hamishebahar
یک شنبه 04 خرداد 1393, 13:42 عصر
بسم الله الرحمن الرحیم.
سلام.
کسی که امروز توی اینهمه تکنولوژی برنامه نویسی که رشد کرده هنوز توی سی پلاس پلاس مونده واقعاً عمرش رو هدر داده...
من پروژه مینویسم WPF ، با کمی تغییرات سیلورلایت میشه و توی وب اجرا میشه با یه راست کلیک و بیلد میشه به x86 و x64 و حتی any cpu با یه بیلد توی مک و لینوکس و با کمی تغییرات توی اندروید و ios اجراش میکنم. حالا با کمی تغییرات توی win app store اجراش میکنم همینطوری توی ویندوز موبایل و ...

حالا بماند که با این تکنولوژی (http://blogs.msdn.com/b/dotnet/archive/2014/04/02/announcing-net-native-preview.aspx) جدید میتونم تبدیل به Native اش کنم...

@Sean: The .NET Native Preview released today only targets Store apps but we're working on improving native compilation for all .NET apps. We've already answered this question, and a lot of others, by the way, at the Microsoft .NET Native FAQ: msdn.microsoft.com/.../dn642499.aspx (http://msdn.microsoft.com/vstudio/dn642499.aspx).

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

Amir 2010a
دوشنبه 02 تیر 1393, 10:04 صبح
هنوزم دارید دم از ++c میزنید؟ اگر بخاطر چندرغاز سرعت سی پلاس پلاس باشه هیچ فردی نمیاد اینهمه تکنولوژی رو امروز بندازه کنار و بیاد کد بزنه... وقتتون رو تلف نکنید عقب میمونید من 3 سال پیش توی سایتی گفتم اقا مهاجرت کنید... کسانی که کردند امروز سود کردند.. و یه سری افراد به خاطر تعصبشون روی تکنولوژی های قدیم هنوز هم روش موندن... حالا ببین این افراد چند تا برنامه نوشتن و چطور تونستن مدیریتش کنن و چقدر تونستن به ملتشون کمک کنن؟
(منظور بنده از ++c زبان دات نتی اون نیست)

این مقایسه واقعا نادرسته چون در تالار سی شارپ مطرح شده من نمیدونم مهارت های دوستان سی شارپ کار که نظر دادن چقدره
اکثر دوستان برنامه نویس ابتدا میان سراغ زبان های ساده مانند سی شارپ چون کلی ابزار آماده داره و قابلیت های Drag and Drap ولی خوب اگر روزی به اون سطح از مهارت رسیدین میفهمین که باید انتخاب های دیگه هم داشته باشین
نوع زبان بسته به نوع پروژه داره این که C++‎‎ قدرتمند ترینه هیچ بحثی توش نیست ولی اگر شما در یک شرکت باشین که همه دارن با سی شارپ کد میزنن C++‎‎ به درد شما نمیخوره زیاد و برعکس
و یک نکته دیگه دوره طراحی زبان های دسکتاپ رفته رفته به سر میاد و باید زبان های تحت وب رو یاد بگیرین
ولی به نظرمن Qt , پایتون خیلی بیشتر از سی شارپ در طراحی دسکتاپ بدرد میخوره و سی شارپ فقط برای برنامه های ساده و با قدرت پردازشی کم مناسبه و اصلا وقتی پرفرمنس بالا نیاز داشته باشین کسی به شما #C پیشنهاد نخواهد کرد
با گسترش روز افزون سیستم عامل های غیر ویندوزی و کم رنگ شدن PC واقعا باید به فکر مهاجرت به زبان های غیر مایکروسافتی کراس پلتفورم باشین و گرنه عقب می افتین (من که متنفرم از تکنولوژی های مایکروسافتی وترجیح میدم برنامه ام به یک سیستم عامل محدود نباشه شما اگر جاوا با کلی معایب امنیتی کار کنین خیلی بهتر از #C است )