PDA

View Full Version : تفاوت سی شارپ و سی پلاس پلاس



maysam.m
یک شنبه 19 اردیبهشت 1389, 17:12 عصر
با سلام خدمت دوستان بزرگوار این انجمن

من تازه عضو شدم. :لبخندساده: ممنون میشم من رو راهنمایی کنید.

میخواستم تفاوت اصلی سی پلاس پلاس رو با سی شارپ بدونم.
هر کدام از این زبانها برای چه منظوری ساخته شده اند و کاربردهای آنها در چه زمینه های است؟

مرتضی پیروزی
یک شنبه 19 اردیبهشت 1389, 17:31 عصر
سلام بارها بحث شده............
ولی کوچولو میگم....
سی شارپ واسه وب هست و نرم افزارهایی که نیاز به سرعت خیلی بالا ندارن...( تا حدودی)....
تحت دات نت هست..... تکنولوژی های خوبی هم بهش متصل هستند.......
سی پلاس پلاس که یه دنیاست.....:لبخند:
کلا برنامه های سیستمی، گرافیکی، مسنجرها و.... حرف اول رو میزنه......
----------
شما بگو چی میخوای تا بگیم کدوم مناسب تره...
------------
موفق باشی

حامد مصافی
یک شنبه 19 اردیبهشت 1389, 17:43 عصر
سی شارپ واسه وب هست و نرم افزارهایی که نیاز به سرعت خیلی بالا ندارن...( تا حدودی)....
سي شارپ فقط براي وب نيست.
با سي شارپ مي توان در محدوده دات نت برنامه نوشت. وب هم داخل اين محدوده است.

مرتضی پیروزی
یک شنبه 19 اردیبهشت 1389, 17:53 عصر
سي شارپ فقط براي وب نيست.
با سي شارپ مي توان در محدوده دات نت برنامه نوشت. وب هم داخل اين محدوده است
سلام آقا حامد
من هم گفتم که، شاید به چشمتون نخورده.....

سی شارپ واسه وب هست و نرم افزارهایی که نیاز به سرعت خیلی بالا ندارن...( تا حدودی)....
موفق باشی

1485159
یک شنبه 19 اردیبهشت 1389, 17:55 عصر
با سی ++ همه کاری میشه کرد ولی با سی شارپ نه!

maysam.m
یک شنبه 19 اردیبهشت 1389, 18:29 عصر
با سلام
ممنون از پاسخهای دوستان

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

ومیخواستم بدونم انتهای راه کسانی که این دو زبان را یادگرفته اند کجاست؟
این طور که متوجه شدم سی شارپ برای پیاده سازی نرم افزارهای تحت وب است و سی++ هم برای ساخت نرم افزارهای کامپیوتری درسته؟
بازار کار این دو زبان در ایران چطور است؟ کدام زبان متقاضی بیشتره داره؟

حامد مصافی
یک شنبه 19 اردیبهشت 1389, 18:59 عصر
با سلام
ممنون از پاسخهای دوستان

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

ومیخواستم بدونم انتهای راه کسانی که این دو زبان را یادگرفته اند کجاست؟
این طور که متوجه شدم سی شارپ برای پیاده سازی نرم افزارهای تحت وب است و سی++ هم برای ساخت نرم افزارهای کامپیوتری درسته؟
بازار کار این دو زبان در ایران چطور است؟ کدام زبان متقاضی بیشتره داره؟
خير شما اشتباه برداشت كرده ايد
با C# مي توانيد براي ويندوز، وب، ويندوز موبايل و گنو/لينوكس (به كمك مونو) برنامه نويسي كنيد. با C++ هم مي توانيد از اين زمينه ها برنامه بنويسيد و البته چند تكنولوژي ديگر.
تفاوت اين دو در تكنولوژي آنهاست. برنامه C++ شما در هر سكويي بومي آن محيط خواهد بود اما برنامه اي كه با C# مي نويسيد در هر محيطي فقط با دات نت سر و كار دارد.

saleh.hi.62
یک شنبه 19 اردیبهشت 1389, 19:46 عصر
زبان C++
+
QT framwork
=
هر چی که فکرشو بکنی

maysam.m
یک شنبه 19 اردیبهشت 1389, 22:04 عصر
خير شما اشتباه برداشت كرده ايد
با C#‎‎ مي توانيد براي ويندوز، وب، ويندوز موبايل و گنو/لينوكس (به كمك مونو) برنامه نويسي كنيد. با C++‎‎ هم مي توانيد از اين زمينه ها برنامه بنويسيد و البته چند تكنولوژي ديگر.
تفاوت اين دو در تكنولوژي آنهاست. برنامه C++‎‎ شما در هر سكويي بومي آن محيط خواهد بود اما برنامه اي كه با C#‎‎ مي نويسيد در هر محيطي فقط با دات نت سر و كار دارد.
ممنون از اصلاح برداشت من.
یعنی با C++‎ هم میشود در دات نت برنامه نویسی کرد؟
و میشه در مورد سکو و بومی هم کمی توضیح دهید.

با تشکر

مرتضی پیروزی
یک شنبه 19 اردیبهشت 1389, 22:42 عصر
یعنی با C++‎‎‎‎ هم میشود در دات نت برنامه نویسی کرد؟
و میشه در مورد سکو و بومی هم کمی توضیح دهید.
سلام
با سی پلاس پلاس میشه از کتابخانه های دات نت استفاده کرد که بهش میگن C++‎‎/CLI .
اگر میخوای دات نت کار کنی، همون سی شارپ بهتره و امکانات گسترده تری در اختیارت میذاره.....
سکو هم به محیطی که قراره توش کار کنی میگن ( به زبان ساده) مثل ویندوز یا لینوکس.....
بومی ( Native) یعنی اینکه: سی پلاس پلاس توی هر محیطی مستقیماً با سخت افزار رابطه برقرار میکنه، تمام منابع اون سیستم در اختیارته، ولی سی شارپ اینطور نیست...... در محیط دات نت هر ارتباطی توسط CLR کنترل میشه، شما محدود هستی، ارتباط شما با سخت افزار توسط CLR کنترل میشه.....
-------------------
بذار در مورد ضعف های هر دوتا و مزایای هردو چند نکته کوچیک بگم:( البته دوستان صاحب نظر هستند)...
++C زبون آسونی نیست...... اگر میخوای به اصطلاح عشقی کار کنی، اصلاً سمتش نرو.... باید واسش زحمت بکشی( سی شارپ هم زحمت میخواد، ولی نسبت به ++C اسونتره......).
مدیریت حافظه تو ++C سنگینه......... ( تو سی شارپ اتوماتیک یا بهتر بگم مدیریت شده هستش)....
در مورد مدیریت حافظه، اگر میخوای تمام یک سیستم عامل در اختیارت باشه، ++C. چون خودت باید همه چیز رو در دست بگیری ( سخته، آسون نیست)....
اگر افکار مخرب در سر داری، سی پلاس پلاس...!!!:لبخند:
در گرافیک، فقط سی پلاس پلاس آنتخاب معقولانه هستش.......
منابع آموزشی واسه سی پلاس پلاس روز به روز کمتره میشه، اونایی هم که جدید هستند C++‎‎/CLI هستند......( متاسفانه).
سی پلاس پلاس تو ایران شغل کمتری تولید میکنه، ولی اگر حرفه ای باشی و کار گیرت بیاد، نونت تو روغنه..... ( حرفه ای باشی التماس میکنن).
یکی از فریمورک هاس سی پلاس پلاس به اسم QT داره غوغا میکنه........
-------------------------
سی شارپ، توی وب فوق العاده گردن کلفته....... امکانات از سر و صورتت میره بالا!!:لبخند:
منابع آموزشی وحشتناک فراوون، ( ای کاش سی پلاس پلاس هم 10 درصد این منابع رو داشت...)
تکنولوژی های دات نت به طرز عجیبی یکپارچه عمل میکنن( البته اگر بخوای انتخاب دیگری وارد میدان کنی
گریه آدم در میاد...!!:لبخند:)
شغل بیشتری واسش هست، البته اگر یک روز رفتی واسه استخدام توی یک شرکت و دیدی یک بچه 10 ساله هم اومده واسه استخدام، از اینکه مجبور بشی با اون رقابت کنی تعجب نکن!!!، عادیه)
سی شارپ در عمل به ویندوز وابسته هستش( مونو هم هست در لینوکس، ولی QT گردن کلفت تره).
از اینکه با نسخه جدید یک تکنولوژی مجبور بشی کل اطلاعاتت رو عوض کنی ناراحت نشو! تو دات نت نسخه 2 با 3 زمین تا آسمون فرق داره.....( این طور شنیدم)
در دات نت با امکانات جدید بمباران خواهی شد....( در سی پلاس با ابزار ها و انتخاب های گسترده بمباران خواهی شد)
مدیریت حافظه در سی شارپ از دست شما خارج هستش.( البته اگر نیازی نداشته باشی مفیده و در غیر این صورت حالت بهم میخوره)
-----------
اگر سوالی بود اونقدر که سواد کم ما جواب بده در خدمتیم... در غیر این صورت اساتید دیگه راهنمایی میکنن.......
-----------
موفق باشی

Salar Ashgi
یک شنبه 19 اردیبهشت 1389, 23:01 عصر
ذکر چند نکته :

سی شارپ برای وب نیست ، سی شارپ یه زبان همه منظوره مبتنی بر شی و True Object Oriented

میباشد ، که در آن برنامه نویسی شامل کنسول ، ویندوز ، وب ، موبایل و ... میشود که این زبان بر فناوری

دات نت فریم ورک dot NET FrameWork بنا شده است !

زبان ++C هم یک زبان تابع گرا و شی گراست ، شامل برنامه نویسی ساخت یافته و شی گرا .

زبانی همه منظوره و دارای ارتباط نزدیک با سخت افزار .

این یک توصیف مختصر و مفیدی بود از توصیف این دو زبان !

حالا نمیشه گفت کدوم زبان بهتره ؟؟؟ چون برنامه های ویندوزی Windows Application سی شارپ رو

میشه در Visual Cpp هم نوشت و اگه تحت کنسول باشه باز تو هر دو زبان امکان نوشتنش هست !

اینو گفتم چون خیلی ها به اشتباه فکر می کنند که در ++C برنامه نویسی فقط تحت کنسول است ، در

صورتیکه اینطور نیست ، Visual Cpp واسه نوشتن برنامه های ویندوزی تحت سی پلاس پلاس میباشد .

ولی خوب اون چیزی الان تو جامعه برنامه نویسی ما وجود داره (بهتره بگم مد شده ) :

برنامه های ویندوزی - Windows Form Applications : در زبان #C (برنامه نویسی Managed )

برنامه های کنسولی : Cpp (برنامه نویسی Native )

ذکر یک نکته که : دوستان دقت داشته باشند که این تاپیک تبدیل نشه به جنگ و جدال بین

طرفداران دو زبان #C و ++C !

چون هر زبان برای خودش امکانات و جای استفاده خودش را دارد .

موفق باشید .

maysam.m
دوشنبه 20 اردیبهشت 1389, 11:54 صبح
با تشکر فراوان از آقای salar_cpp_cs عزیز و تشکر مخصوص از آقای مرتضی پیروزی بزرگوار به خاطر پاسخهای جامعشون
توضیحات بسیار عالی بود که تمام ابهاماتی که تو ذهنم بود رو رفع کرد :تشویق:

از طرفی علاقه مند شدم به دلایلی که آقای مرتضی پیروزی عرض کرد:

سی شارپ، توی وب فوق العاده گردن کلفته....... امکانات از سر و صورتت میره بالا!!
منابع آموزشی وحشتناک فراوون، ( ای کاش سی پلاس پلاس هم 10 درصد این منابع رو داشت...)

شغل بیشتری واسش هست
و سادگی اش،
سی شارپ را انتخاب کنم
اما از طرفی:

سی پلاس پلاس توی هر محیطی مستقیماً با سخت افزار رابطه برقرار میکنه، تمام منابع اون سیستم در اختیارت

اگر افکار مخرب در سر داری، سی پلاس پلاس...!!! :لبخند:
و از طرفی سی++ یک زبان فوق العاده است!

گیج شدم! نمیدونم برم سمت سی شارپ که راحت تره و فریم ورک دات نت یا برم سراغ سی++ سخت تر و برای تحت وب هم پی اچ پی رو ادامه بدم؟!!
سی++ منابعش(مخصوصا فارسی) چقدر کمتره؟

با تشکر

77777778
دوشنبه 20 اردیبهشت 1389, 12:04 عصر
بهتره با ++C شروع کنی چون اگه ++C رو یاد بگیری اونوقت #C برات عین آب خوردن میشه

مرتضی پیروزی
دوشنبه 20 اردیبهشت 1389, 12:07 عصر
سی++ منابعش(مخصوصا فارسی) چقدر کمتره؟
سلام دوست عزیز
کتاب فارسی، برای برنامه نویسی کنسولی زیاد هستش، ولی برای انواع دیگه خیر، مثلا QT که فکر کنم اصلاً نیست، Win32 هم من ندیدم، یک دونه MFC خوب بود که دیگه چاپ نمیشه...، بقیه هم نهایتاً دو سه تا شاید باشه..........!!

منابع آموزشی وحشتناک فراوون، ( ای کاش سی پلاس پلاس هم 10 درصد این منابع رو داشت...)
این مورد تا حدودی برای منابع فارسی هم صدق میکنه، ولی من منظورم کتاب های خارجی بود..........
-----------
کلی اگر بخوام بگم، واسه شروع سی پلاس پلاس با کمبود منابع مواجه نیستی......


بهتره با ++C شروع کنی چون اگه ++C رو یاد بگیری اونوقت C#‎ برات عین آب خوردن میشه

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

Salar Ashgi
دوشنبه 20 اردیبهشت 1389, 12:35 عصر
ببینید شما قبل از هرکاری (قبل از انتخاب هر زبان برنامه نویسی) باید هدفتون و مسیری رو که میخواین

طی کنید رو مشخص کنید ، چون تو عالم برنامه نویسی نمیشه سلیقه ای و خیالاتی برخورد کرد !

مثلا کسی که هدفش برنامه نویسی روابط و اصول منطق هست (Logic Programming ) به احتمال زیاد

به جز Prolog که ذاتا برای این هدف ساخته شده ، سراغ زبانی دیگر نمیرود !

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

میروند سراغ سی شارپ بسیار بسیار موفق تر بوده اند ، شکی نیست ! چراکه 60 الی 70 درصد Syntax ها

مثل همه و فقط باید با معماری دات نت و یکسری Library ها و کدهای جدید آشنایی پیدا کنید که اونم

زیاد سخت نخواهد بود .

ولی این نکته رو هم بگم که : یادگیری سی شارپ از سی پلاس پلاس واقعا راحت تره ، دلیل هم داره ،

چون دات نت اومده تو بیش از 3500 کلاس تمام نیازهای برنامه نویس رو تامین کرده و نخواسته که

برنامه نویس وقتشو رو کدهای اضافی بذاره و بلکه بذاره روی الگوریتم مسائل کاربردی !

یعنی مثلا تو یه پروسه مشخص و ثابت ، میزان پیشرفت شما در سی شارپ ممکن است خیلی بیشتر

از سی پلاس پلاس باشد .

در مورد برنامه نویسی وب باز دات نت بهترین گزینه است ، در برنامه نویسی وب از زبان ASP.NET

مبتنی بر معماری ADO.NET استفاده میشه و فردی که سی شارپ رو یاد گرفته ، یادگیری برنامه نویسی

وب هم براش سختی آنچنانی نخواهد داشت .

موفق باشید .

UnnamE
یک شنبه 31 مرداد 1389, 00:01 صبح
سی شارپ که من واقعا ازش خوشم میاد
که دلایل زیادی داره که دوستان گفتن چند تایی
تز اینکه که میگن سی شارپ تو وب کولاک کرده و اینا اصلا موافق نیستم
ولی باز هم شما با سی شارپ باید جیره خواز مایکروسافت باشید
و اصلا نباید به فکر کارکرد طولانی مدت برنامه های نوشته شده در محیط دات نت باشید
چرا ؟
خب مایکرو جون هر وقت عشقش کشید واسه قر دادن و خو نشون دادن یه theme از xp میاره وسط و اسمش رو میزاره سیتم عامل جدید و اینجاس که برنامه نوشته شما روی سیستم عامل جدید کارایی نداره
البته این قسمت هم تا حدی با پروژه مونو قابل حضم هست ولی باز هم او او او....

ولی خب C#.NET دنیای قدرت و امنیت هست (البته به C++ نگی که ناراحت میشه..)

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

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

کلا نخوام از جاوا تعریف کنم - ولی به نظر من جاوا از سی شارپ کارش درست تره!