ورود

View Full Version : زبان برنامه نویسی چی یاد بگیرم؟



capricorni
شنبه 12 اردیبهشت 1394, 19:42 عصر
سلام اول این که نمیدونستم کجا این سوال بپرسم اومدم اینجا گذاشتم امیدوارم اشتباه نشده باشه:لبخند: دوم این که من تازه فارغ التحصیل سخت افزارم ولی چون بازار کار برنامه نویسی خیلی بهتر گویا (البه نسبت به سخت) خواستم شروع کنم به یادگیری زبان برنامه نویسی امکان مالی چندانی ندارم که تو کلاس شرکت کنم c++ بلدم ولی متوسط در حد پروژه های مسخره دانشگاهمون! به نظرتون همین c++ ادامه بدم و خوب یاد بگیرم ؟ نمیدونم بازار کارش چطوریه؟ گویا تو ایران c# و جاوا بهتره ! کدوم از این زبان ها بهتر یعنی بازار کاربیشتر والبته آینده شغلی بهتر( درامد و امنیت شغلی ) داره؟ خلاصها یانکه کاش به جای اون همه درس سخت یکم کار یاد میدادن یعنی جهت میدادن بهمون تو دانشگاه! یادمه یه بار یکی از بچه ها از استادمون پرسید واسه کار چی یاد بگیره گفت برو مهارت هایicdl یاد بگیر!!!!!!!!! یعنی اصلا تو کار نبودن ما هم همون درسامون می خوندیم از سرمون زیاد بود! کاش زودتر شروع کرده بودم!!! دوستان ممنون میشم من fresh رو راهنمایی کنید!:لبخندساده:

a47b1b590cfe48fd8f356c65
شنبه 12 اردیبهشت 1394, 20:10 عصر
سلام ،

....گفت برو مهارت هایicdl یاد بگیر!!!!!!!!!
شاید باور نکنین ولی به عنوان یه کسی که 8 ساله برنامه نویسی انجام میدم ، میگم که استادتون راست گفتن

هم همون درسامون می خوندیم از سرمون زیاد بود! کاش زودتر شروع کرده بودم!!!
هیچ چی از دست ندادین ، زمان داره تکنولوژهای رو به مرور زمان ساده تر و بهتر و برنامه نویسی داره سال به سال راحت تر میشه..شما بازنده نیستین برنده اید ،از همون ابتدا میرین سراغ تکنلوژی ها و روش های جدید تر و Obsolete ها رو skip می کنید..
موفق باشید

بمب منطقی
یک شنبه 13 اردیبهشت 1394, 09:35 صبح
شک نکن که آینده از آن smart phone هاست. تکنولوژی ها وابسته به اون رو یاد بگیر

capricorni
یک شنبه 13 اردیبهشت 1394, 12:22 عصر
ممنون از راهنمایی هاتون:قلب:

masoud_pnu
سه شنبه 15 اردیبهشت 1394, 10:35 صبح
بنظر من برید سمت وب.آینده یعنی وب.الان تقریبا همه نرم افزار ها به نحوی با وب در ارتباط هستن.شما اسمارت فون نداشته باشی،چندان مشکلی نداری.فقط دسترسی ات محدود تر شده.ولی آیا میتونی جامعه امروز رو بدون اینترنت لحظه ای تصور کنی؟؟خود اسمارت فون بدون اینترنت و وب عملا به چه دردی میخوره؟؟

chikar
جمعه 18 اردیبهشت 1394, 14:37 عصر
راهنمایی کنید!:لبخندساده:

icdl، خنده داره! وقت بزارید یه ابزار یاد بگیرید، هر روز هم منتظر باشید جدیدش میاد، تهش هم هیچی بلد نیستید، اصلا icdl دانش نیست
وب خوبه، ولی خلاقیت می خواد و سرمایه گذاری ...
بهترین گزینه برای شما C++ هست، برخی ها اشتباها فکر می کنند C++ یعنی برنامه نویسی کنسول (تو اون صفحه سیاه!!!)، نه شما Application می تونید با C++ بسازید به مراتب بهتر از C#.net...
ببنید اینکه چرا C++‎‎‎‎‎‎‎ رو یادبگیرید دلایل متعددی داره که راجع بهش تو همین سایت خیلی بحث های خوبی شده مثلا کراس پلتفرم هست، می شه هم سطح بالا هم سطح پایین باهاش برنامه نوشت، سرعت بالایی داره، و هزار دلیل دیگه که خودتون بهتر می دونید،
یکی از بهترین بحث ها راجع به اینکه چرا C++‎‎ رو انتخاب کنیم می تونید در این لینک مشاهده کنید. (http://barnamenevis.org/showthread.php?139445-%D8%A7%D8%A8%D8%B9%D8%A7%D8%AF-%D8%B9%D9%84%D9%85%DB%8C-%D9%88-%D8%A7%D9%82%D8%AA%D8%B5%D8%A7%D8%AF%DB%8C-%DA%A9%D8%A7%D8%B1-%D8%A8%D8%A7-C-C-%D8%AF%D8%B1-%D8%A7%DB%8C%D8%B1%D8%A7%D9%86&p=655859&viewfull=1#post655859)
بعد از c++ برای ساخت Applicatin از فریمورک (http://barnamenevis.org/showthread.php?222357-%D9%85%D8%B9%D8%B1%D9%81%DB%8C-%D9%81%D8%B1%DB%8C%D9%85%D9%88%D8%B1%DA%A9-%D8%A7%D9%BE%D9%84%DB%8C%DA%A9%DB%8C%D8%B4%D9%86-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%A2%D8%B2%D8%A7%D8%AF-%D9%88-%D9%85%D8%B3%D8%AA%D9%82%D9%84-%D8%A7%D8%B2-%D9%BE%D9%84%D8%AA%D9%81%D8%B1%D9%85-Qt)Qt بهره ببرید، که می تونید همزمان یک کد بنویسید و تو ویندوز ، لینوکس، مک، اندروید و ... اجرا کنید(یعنی کراس پلتفرم)
حالا چرا کیوت ، چون کیوت اومده با همین C++‎‎‎‎‎‎‎‎‎ یه سری کلاس ساخته که نیاز شما رو تو بسیاری از موارد برطرف می کنه، تقریبا برای همه چی کیوت کلاس داره، دیتابیس، گرافیک، شبکه، بازی و...
نکته دیگه اینکه کیوت open source هست و در حال گسترش،
آینده شغلی C++‎‎‎‎‎‎‎‎‎ به نظرم کاملا واضح است، ببینید C++‎‎‎‎‎‎‎‎‎ یه زبان همه منظوره است، همه نوع پروژه ای رو می تونید باهاش کار کنید، شما دارید یک زبانی رو انتخاب می کنید که باهاش سیستم عامل نوشتند، قوی ترین نرم افزار های دنیا رو باهاش ساختند، به دلیل کراس پلتفرم بودنش هر جایی می شه ازش استفاده کرد، بانک ها، شرکت ها، خودرو ها، سخت افزارها، و..،
کار با C++ یک خوبی دیگه ای که داره این هست که کتابخونه های متعددی به جزء کیوت داره که می تونید برای هر کاری ازشون استفاده کنید ...
لیستی از کتابخانه های C++‎‎‎‎‎ (http://en.cppreference.com/w/cpp/links/libs)

chikar
جمعه 18 اردیبهشت 1394, 14:48 عصر
این رو یادم رفت بگم، من خودم پدرم در اومد تا فهمیدم چه زبانی رو انتخاب کنم!:قهقهه:
کلا یه مدت دات نت کار کردم، هر چی بگی هی سرکی کشیدم:گیج:
موفق باشید

بیتا حکمت
جمعه 18 اردیبهشت 1394, 19:30 عصر
icdl، خنده داره! وقت بزارید یه ابزار یاد بگیرید، هر روز هم منتظر باشید جدیدش میاد، تهش هم هیچی بلد نیستید، اصلا icdl دانش نیست
وب خوبه، ولی خلاقیت می خواد و سرمایه گذاری ...
بهترین گزینه برای شما C++‎ هست، برخی ها اشتباها فکر می کنند C++‎ یعنی برنامه نویسی کنسول (تو اون صفحه سیاه!!!)، نه شما Application می تونید با C++‎ بسازید به مراتب بهتر از C#‎.net...
ببنید اینکه چرا C++‎‎‎‎‎‎‎‎ رو یادبگیرید دلایل متعددی داره که راجع بهش تو همین سایت خیلی بحث های خوبی شده مثلا کراس پلتفرم هست، می شه هم سطح بالا هم سطح پایین باهاش برنامه نوشت، سرعت بالایی داره، و هزار دلیل دیگه که خودتون بهتر می دونید،
یکی از بهترین بحث ها راجع به اینکه چرا C++‎‎‎ رو انتخاب کنیم می تونید در این لینک مشاهده کنید. (http://barnamenevis.org/showthread.php?139445-%D8%A7%D8%A8%D8%B9%D8%A7%D8%AF-%D8%B9%D9%84%D9%85%DB%8C-%D9%88-%D8%A7%D9%82%D8%AA%D8%B5%D8%A7%D8%AF%DB%8C-%DA%A9%D8%A7%D8%B1-%D8%A8%D8%A7-C-C-%D8%AF%D8%B1-%D8%A7%DB%8C%D8%B1%D8%A7%D9%86&p=655859&viewfull=1#post655859)
بعد از C++‎ برای ساخت Applicatin از فریمورک (http://barnamenevis.org/showthread.php?222357-%D9%85%D8%B9%D8%B1%D9%81%DB%8C-%D9%81%D8%B1%DB%8C%D9%85%D9%88%D8%B1%DA%A9-%D8%A7%D9%BE%D9%84%DB%8C%DA%A9%DB%8C%D8%B4%D9%86-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%A2%D8%B2%D8%A7%D8%AF-%D9%88-%D9%85%D8%B3%D8%AA%D9%82%D9%84-%D8%A7%D8%B2-%D9%BE%D9%84%D8%AA%D9%81%D8%B1%D9%85-Qt)Qt بهره ببرید، که می تونید همزمان یک کد بنویسید و تو ویندوز ، لینوکس، مک، اندروید و ... اجرا کنید(یعنی کراس پلتفرم)
حالا چرا کیوت ، چون کیوت اومده با همین C++‎‎‎‎‎‎‎‎‎‎ یه سری کلاس ساخته که نیاز شما رو تو بسیاری از موارد برطرف می کنه، تقریبا برای همه چی کیوت کلاس داره، دیتابیس، گرافیک، شبکه، بازی و...
نکته دیگه اینکه کیوت open source هست و در حال گسترش،
آینده شغلی C++‎‎‎‎‎‎‎‎‎‎ به نظرم کاملا واضح است، ببینید C++‎‎‎‎‎‎‎‎‎‎ یه زبان همه منظوره است، همه نوع پروژه ای رو می تونید باهاش کار کنید، شما دارید یک زبانی رو انتخاب می کنید که باهاش سیستم عامل نوشتند، قوی ترین نرم افزار های دنیا رو باهاش ساختند، به دلیل کراس پلتفرم بودنش هر جایی می شه ازش استفاده کرد، بانک ها، شرکت ها، خودرو ها، سخت افزارها، و..،
کار با C++‎ یک خوبی دیگه ای که داره این هست که کتابخونه های متعددی به جزء کیوت داره که می تونید برای هر کاری ازشون استفاده کنید ...
لیستی از کتابخانه های C++‎‎‎‎‎‎ (http://en.cppreference.com/w/cpp/links/libs)

نوشتن برنامه با ++C زمانبر نیست ؟! مثلا" تصور اینکه برای نوشتن دو برنامه جمع باس کلی کد نوشت که دو تا باتن دو خروجی دیده بشه و براشون رویداد تعریف کنی و .. واقعا" آزار دهنده است . یا نکته ای هست که من متوجه ایش نیستم . پستم نقض حرفای شما نیست آ فقط دارم سوال می پرسم .

#target
جمعه 18 اردیبهشت 1394, 19:45 عصر
نوشتن برنامه با ++C زمانبر نیست ؟! مثلا" تصور اینکه برای نوشتن دو برنامه جمع باس کلی کد نوشت که دو تا باتن دو خروجی دیده بشه و براشون رویداد تعریف کنی و .. واقعا" آزار دهنده است . یا نکته ای هست که من متوجه ایش نیستم . پستم نقض حرفای شما نیست آ فقط دارم سوال می پرسم .

خیر ،‌ابزارهای RAD هم وجود داره (مثل همون QT که گفتن یا WxWidgets یا VCL‌ )
مزیت اینه میشه در جاهای تکراری از کتابخانه آماده و ابزارهای توسعه سریع استفاده کرد در عین حال در جاهایی نیاز هست خود شخص مانور بده و ...

ravaei
شنبه 19 اردیبهشت 1394, 13:17 عصر
نوشتن برنامه با ++C زمانبر نیست ؟! مثلا" تصور اینکه برای نوشتن دو برنامه جمع باس کلی کد نوشت که دو تا باتن دو خروجی دیده بشه و براشون رویداد تعریف کنی و .. واقعا" آزار دهنده است . یا نکته ای هست که من متوجه ایش نیستم . پستم نقض حرفای شما نیست آ فقط دارم سوال می پرسم .

اگه شما بخواین با ++turboc با borland یا code blocks ... کار کنید ، قاعدتا باید از صفر همه چیز رو برنامه نویسی کنید (ایجاد ایونت ها ، gui و غیر) ولی همونطور که دوستمون chikar اشاره کرد با محیطی مثل Qt برنامه نویسی با ++C خیلی جذاب شده و کتابخونه هایی که واسش درست کردن تو هر ضمینه ای مخصوصا برنامه نویسی سیستمی (کار با فایل ها ، پردازش صدا و تصویر و بازیسازی ) کار رو راحت کرده ، از طرف دیگه Qml که خودش یه داستانه جالبی داره ...

من هر جا بحث از برنامه نویسی هستش اینو میگم :

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

من همیشه فک میکردم که کاربر های کامپیوتر 2 دسته هستن : یه دسته کاربر معمولی (غیر حرفه ای) و دسته دیگه برنامه نویسا (حرفه ای) ... در صورتی که بعد تجربیاتی که تو این رشته کسب کردم ، فهمیدم 3 دسته هستن :

1. غیر حرفه ای : کسی که از ابزار هایی که برمامه نویس ها ایجاد میکنن استفاده می کنن
2.حرفه ای : افرادی مثل من و خیلی از برنامه نویس های دیگه که برای افراد بالا برنامه میسازن
3.****: اسمی ندارم واسشون بزارم ، ولی این عده افرادی هستن که تعیین میکنن برنامه نویسا چطور برنامه نویسی کنند و تا چه حدی پیشرفت کنن مثلا شرکتی مثل میکروسافت میاد ویژوال استودیو رو میسازه یا شرکت های دیگه ای که محیط های دیگه ای مثل Qt , ecilipse , Android studio , ... رو میسازن و ما مجبوریم از این برنامه ها برای ایجاد برنامه ای جدید استفاده کنیم .

پس چه خوبه که محیطی رو انتخاب کنیم که حداقل کمترین محدودیت رو برامون ایجاد کنه :لبخندساده:

ravaei
شنبه 19 اردیبهشت 1394, 13:37 عصر
یه چیزی یادم رفت اضافه میکنم :

من بالا 3 تا گروه رو معرفی کردم ولی یه بحث دیگه میمونه و اونم اینه که "چه کسایی برای دسته سوم بستری ایجا د میکنن که بیان محیط های توسعه و سیستم عامل درست کنن؟"

اینجاست که یه گروه دیگه وارد میشه به نام مهندسین سخت افزار : اینا افرادی هستن که تعیین میکنن که ویندوز یا مک یا لینوکس میتونه رو دستگاهی به نام کامپیوتر و سیستم عامل هایی مثل آی او اس یا اندروید(لینوکس 2.2 اگه اشتباه نکنم) روی دستگاه هایی به نام موبایل ایجاد بشن .
من شنیدم Qt این امکان رو میده که برروی یک سری از چیپ های سخت افزاری برنامه ای با gui بسازیم این به این معناست که یک مهندس سخت افزار به راحتی با داشتن دانش برنامه نویسی میتونه یک دیوایس تهیه کنه .

golbafan
شنبه 19 اردیبهشت 1394, 13:49 عصر
سلام اول این که نمیدونستم کجا این سوال بپرسم اومدم اینجا گذاشتم امیدوارم اشتباه نشده باشه:لبخند: دوم این که من تازه فارغ التحصیل سخت افزارم ولی چون بازار کار برنامه نویسی خیلی بهتر گویا (البه نسبت به سخت) خواستم شروع کنم به یادگیری زبان برنامه نویسی امکان مالی چندانی ندارم که تو کلاس شرکت کنم C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎ بلدم ولی متوسط در حد پروژه های مسخره دانشگاهمون! به نظرتون همین C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎ ادامه بدم و خوب یاد بگیرم ؟ نمیدونم بازار کارش چطوریه؟ گویا تو ایران C#‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ‎ و جاوا بهتره ! کدوم از این زبان ها بهتر یعنی بازار کاربیشتر والبته آینده شغلی بهتر( درامد و امنیت شغلی ) داره؟ خلاصها یانکه کاش به جای اون همه درس سخت یکم کار یاد میدادن یعنی جهت میدادن بهمون تو دانشگاه! یادمه یه بار یکی از بچه ها از استادمون پرسید واسه کار چی یاد بگیره گفت برو مهارت هایicdl یاد بگیر!!!!!!!!! یعنی اصلا تو کار نبودن ما هم همون درسامون می خوندیم از سرمون زیاد بود! کاش زودتر شروع کرده بودم!!! دوستان ممنون میشم من fresh رو راهنمایی کنید!:لبخندساده:


برنامه نویسی برای شرکتهای ایرانی : C#‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎
برنامه نویسی پروژه های جهانی : C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ , Delphi , Java , python

راحتی یادگیری و برنامه نویسی: از آسون به سخت: بعضی از زبانها
python
VB.Net
#C
Java
Delphi
pascal
++C
C
Asm

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

golbafan
شنبه 19 اردیبهشت 1394, 21:55 عصر
نوشتن برنامه با ++C زمانبر نیست ؟! مثلا" تصور اینکه برای نوشتن دو برنامه جمع باس کلی کد نوشت که دو تا باتن دو خروجی دیده بشه و براشون رویداد تعریف کنی و .. واقعا" آزار دهنده است . یا نکته ای هست که من متوجه ایش نیستم . پستم نقض حرفای شما نیست آ فقط دارم سوال می پرسم .

میتونید embarcadero C++‎‎‎‎‎‎‎‎‎ builder رو امتحان کنید
مثل نقاشی کشیدنه
Qt رو هم در خودش داره!

http://www.embarcadero.com/products/cbuilder

بیتا حکمت
یک شنبه 20 اردیبهشت 1394, 00:28 صبح
عالیجنابان #target ,ravaei , golbafan ممنون بابت راهنمایی اتون . راستش من الان از یه طرف شدید وسوسه شدم جاوا یاد بگیریم (به خاطر برنامه نویسی اندروید ) ، هم اینکه
شنیدم تکنولوژی های مربوط به جاوا رایگان ان یعنی مثل ویژوال استودیو پولی نیستن
از طرفی دیگه دوست دارم++C یاد بگیرم چون تصور مهارت داشتن در یک زبان نویسی مانند ++C که برنامه های نوشته شده توسط اون به سیستم عامل وابستگی ندارن ،
تو رباتیک و ارتباط با سخت اقزار کاربر دارن هیجان انگیز به نظر می رسه .
از لحاظ فلسفی هم فک می کنم باید اسمبلی یاد بگیرم ، تا ده سال دیگه که یک تکنولوژی میاد و هر کی که دلش خواست پشت کامپیوتر یه یه چیزی فکر می کنی
همون سایت یا اپلکیشن درست میشه اونم فقط با فکر کردن
احساس بدی نسبت به خودم نداشته باشم و به خودم بگم من از ریشه برنامه نویسی یه چیزایی می دونم . :لبخند:
اما به صورت واقع بینانه هم به زندگی نگاه کنیم ، تو ایران از لحاظ اقتصادی مهارت در زمینه هایی مانند سی شارپ و Php و اندروید خیلی زود
بازده تر از یادگیری ریشه هاس .

golbafan
یک شنبه 20 اردیبهشت 1394, 08:02 صبح
اما به صورت واقع بینانه هم به زندگی نگاه کنیم ، تو ایران از لحاظ اقتصادی مهارت در زمینه هایی مانند سی شارپ و Php و اندروید خیلی زود
بازده تر از یادگیری ریشه هاس .

بله در پست قبلیم گفتم بازار کار در ایران c# هست...

اما این به این معنی نیست که وضعیت درآمد سی شارپ کار بهتر از سی++ کار هست!

در آمد یک سی++ کار حرفه ای خیلی خیلی خیلی بالاتر است
کار سخت تر = حقوق بالاتر

pcrlth0n
یک شنبه 20 اردیبهشت 1394, 14:04 عصر
این نظر شخصیه منه!
برنامه نویسی که خودش رو به یک زبان برنامه نویسی محدود کنه برنامه نویس نیست.
برنامه نویس واقعی کسی هستش که ایده ی خودش رو به بهترین نحو از طریق یک زبان یا تلفیق چند زبان پیاده سازی بکنه. نه اینکه بخاطر زبانی که باهاش کار میکنه محدود بشه.
در کشور ما هم برنامه نویس واقعی کم هستش, اکثرا برنامه نویس دیتابیس هستن و نمیتونن بعضی پروژه هارو با زبانی که بلد هستن هم پیاده سازی کنند.
من هم با دوستان موافق هستم که زبان سی پلاس قابلیت هاش اونقدی هست که محتاج زبان های دیگه نشید و پیشنهاد میکنم که همین زبان رو ادامه بدید. در کنارش هم میتونید چند زبان دیگه مثل پایتون ,اسمبلی, جاوا رو یاد بگیری.
الان برنامه نویسیایی هستند که یه سورس کد ساده سی یا اسمبلی رو نمیتونن تحلیل کنند.

موفق باشید.

pcrlth0n
یک شنبه 20 اردیبهشت 1394, 14:13 عصر
البته یه چیزی که فراموش کردم بگم این هستش, که برنامه نویسی جزء حرفه هایی هستش که لزوما یادگیری زبان برنامه نویسی کافی نیست, 50 درصد قضیه علاقه هستش و 30 درصد ذهن خلاق و خستگی ناپذیر.اگه فقط اون 20 درصد باشه بعد از یه مدت میشی مثل سربازایی که به نکشی افتادن(اونایی که خدمت رفتن میدونن چی میگم:) ). چونکه بعضی وقتا اونقد حل یه مسئله زمانبر و سخت میشه که تنها علاقه و خلاقیت میتونه کمکت کنه.

بیتا حکمت
یک شنبه 20 اردیبهشت 1394, 14:46 عصر
ممنون جناب pcrlth0n ، چرا این بخش دکمه تشکر نداره :لبخند:

chikar
یک شنبه 20 اردیبهشت 1394, 16:03 عصر
بگذارید مطالب جالبی که تو همین سایت دوستان pswin.pooya (http://barnamenevis.org/member.php?34511-pswin-pooya) و کامبیز اسدزاده (http://barnamenevis.org/member.php?219337-%DA%A9%D8%A7%D9%85%D8%A8%DB%8C%D8%B2-%D8%A7%D8%B3%D8%AF%D8%B2%D8%A7%D8%AF%D9%87)، گذاشتند رو گلیچین کنم و براتون اینجا بذارم
مطالبی مثل این که چرا اصلا و ابدا C# و جاوا قابل مقایسه با C++ نیستند، و اینکه چرا باید C++ رو انتخاب کنیم؟
.................................................. ................
یدون شک:
سریعترین زبان دنیا (لااقل بین مطرح ها) C و بعد از اون C++‎‎‎‎‎‎ هست و C#‎‎‎‎‎‎ و Java جزء کندترین ها به شمار میرن. فرق سی شارپ و جاوا فقط توی کراس پلتفرمی و البته ساختار خوب جاوا هست. اما جاوا تغریبا نه از لحاظ امکانات و نه پرفرمانس هیچ مزیتی نسبت به C و C++‎‎‎‎‎‎ نداره. دلیلش هم وجود لایه ماشین مجازی هست.

۹۰٪ برنامه های حرفه ای دنیا یا C++‎‎‎‎‎‎ ساخته میشه و نه جاوا. نمونه اون بازیها، Office، مایا و مکس و .... هست.

اندروید جاوا رو از منقرض شدن نجات داد. اما جاوا دلیل کنار رفتن اندروید میشه :لبخند:. پرفرمانس خیلی کم جاوا باعث شده که پردازندهای هشت هسته ای سامسونگ پرفرمانس کمتری نسبت به پردازنده دو هسته ای iPhone داشته باشن.
کتابخونه های قدیمی و کند جاوا باعث شده که برنامه نویسهای بازهای حتی اندروید هم سراغ NDK برن که با C++‎‎‎‎‎‎ هست. مثلا یادمه که تا همین چند وقت پیش ( سال ۲۰۱۱) جاوا از OpenGL ES 1.2 (اگه اشتباه نکنم) استفاده می کرد و همون زمان NDK اندروید از OpenGL ES 2.
بیشتر کتابخونه های حرفه ای دنیا با C++‎‎‎‎‎‎ طراحی میشن. نمونه اونها میشه OpenCV، OpenCL و دایرکت ایکس و ... اشاره کرد و بعد به زبانهای دیگه پورت میشن.

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

من همین چند روز پیش یه برنامه رو با Qt تموم کردم که هم توش انیمیشن داشت و هم اینکه خیلی از ویجتها توی 100 میلی ثانیه به روز میشدن. و در کنارش یه فیلم ۱۰۸۰ هم پخش می کرد. این برنامه فقط 5 درصد از Cpu نوت بوک من رو اشغال می کرد و روی PC من ۱ درصد نشون میداد:لبخند:
.................................................. ........

فرض کنید هر کسی که از دانشگاه داره فارغ التحصیل میشه با چه سواد و اطلاعاتی داره قدم میزاره به داخل بازار کار؟! خب معلومه یا C#‎‎‎‎‎‎‎‎‎‎‎‎ و چهار چوب دات نتی یا اینکه فوق فوقش C++‎‎‎‎‎‎‎‎‎‎‎‎ در محیط Turbo که همه مباحث هم روی پلتفرم Windows در نسخه های XP روی کنسول و فوق فوقش سنگ بترکه نسخه ۷ ویندوز !

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

منبع (http://barnamenevis.org/showthread.php?455620-%D8%AF%D9%84%DB%8C%D9%84-%D8%B9%D8%AF%D9%85-%D8%A7%D8%B3%D8%AA%D9%82%D8%A8%D8%A7%D9%84-%D8%A7%D8%B2-Q-t)

chikar
یک شنبه 20 اردیبهشت 1394, 16:21 عصر
این رو یادم رفت بگم، Qt یک زبان برنامه نویسی جدید نیست، بلکه یه شرکت اومده، کدهایی با C++ نوشته و اون کد ها رو تو قالب کلاس هایی برای شما دسته بندی کرده، مثلا کلاس دکمه، کلاس label و ...، این کلاس ها یه کتابخونه قدرتمند به اسم Qt رو شکل دادن که شما باهاش می تونید به راحتی هر کاری خواستید بکنید، و تو همه سیتم عامل ها(ویندوز، لینوکس، مک و ..) حتی سیستم عامل های موبایل هم خروجی بگیرید
کیوت open source هست و چون از مجوزlgpl پشتیبانی می کنه شما می تونید برنامه تجاری بنویسید و حتی کدهاتون هم منتشر نکنید (یعنی می تونید کاملا رایگان از کیوت استفاده کنید، البته نسخه های پولی هم داره، که امکانات بیشتری به شما می ده)
یعنی کیوت اومده لقمه رو گذاشته تو دهن شما، و شما فقط باید بجوید!!!
حالا غیر از کیوت تعداد فراوانی کتابخونه مثل کیوت هست که اون ها هم فقط c++ محض هستند و برای کار های دیگه ، مثلا کتابخونه تخصصی برای شبکه یا بازی ، گرافیک، وب، فایل، یا ...
می خوام بگم C++ یاد بگیرید، می تونید از هر کتابخونه ای خواستید، متناسب با نیازتون استفاده کنید
البته C++ از بقیه زبان ها سخت تر هست، این رو یادتون باشه، من خودم هنوز اول راهم!
حالا باز بگید C#، باز بگید جاوا ! دیگه اصلا راجع بهش حرف نزنید، ناراحت می شم:قهقهه:

golbafan
یک شنبه 20 اردیبهشت 1394, 16:40 عصر
من هم با آقای pcrlth0n (http://barnamenevis.org/member.php?41073-pcrlth0n) موافقم
همچنین chikar (http://barnamenevis.org/member.php?231853-chikar)

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

اما خب یک موقع هایی هم بناچار و البته با غم و اندوه فراوان مجبور بودم برم سراغ C#‎ چرا که گاهی وارد پروژه هایی میشدم که با سی شارپ استارت خورده بود و تبدیل اونها به زبانهای دیگه اصلا مقرون به صرفه نبوده است...

golbafan
یک شنبه 20 اردیبهشت 1394, 17:02 عصر
یک نکته دیگه هم اشاره کنم به بحث:
http://www.thinkingparallel.com/2007/03/06/c-vs-c-a-checklist-from-a-c-programmers-point-of-view/

واقعیت اینه که هر زبانی مزایا و معایبی داره
پس باید توسعه دهنده تشخیص بده برای کاری که میخواد بکنه از چی استفاده کنه