# Native Code > برنامه نویسی با C > برنامه نویسی در محیط QT و هم خانواده هایش >  دلیل عدم استقبال از Q t

## Amir 2010a

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

الان دو سوال دارم
چرا به رغم اینکه اینقدر در مورد قابلیت های این زبان میگن استقبال ازش اینقدر کمه ؟ (تو استخدام و پروژه ها ..)
2- آیا پشتیبانی مناسبی از این زبان وجود داره که اگر با مشکل مواجه بشیم بتونیم حلش کنیم ؟ -  
سرعت اجرا برنامه ها با این زبان بیشتره یا با جاوا
آیا برنامه هایی که نوشته میشن رو میتونم بدون تغییر کد واقعا روی هر موبایل یا تبلت و PC  اجرا کنم ؟

اگر نظر شما مثبته لطفا بگین از کجا شروع کنم 
با تشکر

----------


## کامبیز اسدزاده

> سلام
> من قبلا تو دات نت کد میزدم اما بعد از آشنایی با لینوکس در یک پروژه تصمیم گرفتک کلا اونو بزارم کنار و روی زبان هایی تمرکز کنم که کراس پلتفورم باشه  و انتخاب من به جاوا و Qt  محدود کردم
> 
> الان دو سوال دارم
> چرا به رغم اینکه اینقدر در مورد قابلیت های این زبان میگن استقبال ازش اینقدر کمه ؟ (تو استخدام و پروژه ها ..)
> 2- آیا پشتیبانی مناسبی از این زبان وجود داره که اگر با مشکل مواجه بشیم بتونیم حلش کنیم ؟ -  
> سرعت اجرا برنامه ها با این زبان بیشتره یا با جاوا
> آیا برنامه هایی که نوشته میشن رو میتونم بدون تغییر کد واقعا روی هر موبایل یا تبلت و PC  اجرا کنم ؟
> 
> ...


با سلام





> سلام
> چرا به رغم اینکه اینقدر در مورد قابلیت های این زبان میگن استقبال ازش اینقدر کمه ؟ (تو استخدام و پروژه ها ..)
> با تشکر


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

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




> آیا پشتیبانی مناسبی از این زبان وجود داره که اگر با مشکل مواجه بشیم بتونیم حلش کنیم ؟ -


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





> سرعت اجرا برنامه ها با این زبان بیشتره یا با جاوا


شک نکنید که جاوا قابل مقایسه با C++‎‎‎‎‎‎‎‎‎‎‎‎ نیست‌! سرعت و Pefrormance ای که در C++‎‎‎‎‎‎‎‎‎‎‎‎ داریم عمرا در جاوا بهش دسترسی پیدا کنید اگر غیر از این بود بزرگترین برنامه های شبیه سازی رو با جاوا مینوشتند نه C++‎‎‎‎‎‎‎‎‎‎‎‎






> آیا برنامه هایی که نوشته میشن رو میتونم بدون تغییر کد واقعا روی هر موبایل یا تبلت و PC  اجرا کنم ؟


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

در رابطه با Linux و Mac OS X هم به قدری کیوت قدرتمند عمل میکنه که اگه یکبار روی این پلتفرم ها کد نویسی کنید شیفته C++‎‎‎‎‎‎‎‎‎‎‎‎ و این کتابخانه پر قدرتش خواهید شد.




> اگر نظر شما مثبته لطفا بگین از کجا شروع کنم


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

در نهایت من به دید مثبت این توضیحات رو دادم ولی ابعاد منفی هم داره اونم اینه که اگر تجربه کافی در پیاده سازی کتابخانه Qt نداشته باشید کمی دردسر ساز خواهد شد...
مثلا در دات نت و C#‎‎‎‎‎‎‎‎‎‎‎‎ برنامه نویسی راحتر هستش شاید کامپوننت ها و مواردی باشه که راحت جواب گوی کارهای شماباشه ولی در کیوت با توجه به اینکه یک پروژه جدیدی هستش باید کمی انتظارات رو از نظر کامپوننت ها پایین بیارید... که به نظر شخصی من این نمیتونه یک ضعف برای استقبال نکردن از این روش باشه ! در کل شما برنامه ای رو که با C++‎‎‎‎‎‎‎‎‎‎‎‎ اونم با Qt مینویسید مسلما خیلی گران قیمت و خیلی کار آمد تر از C#‎‎‎‎‎‎‎‎‎‎‎‎ و اون کتابخانه های دات نتی مایکروسافتی و خواهد بود.

----------


## samanbank

به نظر من جاوا خیلی جلو تر هست چون اکثر سیستم های بانکی ( سایت نه ) و سیستم های بزرگ دنیا پی پال و جونیپر اچ پی با چاوا نوشته شده و کراس پلتفرم هست ولی گنده شده 

اگه بگیم قول دنیا کیه مسلما جاوا چون واقعا درامدش هم سرسام اور هست و نکته خوبی که داره بدون هیچ دردسری شما که جاوا بلدی هر برنامه ای واسه هر پلتفرمی میتونی بسازی ولی نکته جالبش اینه شبیه سی شارپ هست ولی به سخت بودن سی پلاس نیست مشکل کامپایل اینا نداری 
من اول رفتم سمت پای کیوت ( پایتون + کیوت ) بعدم سی پلاس با کیوت بعدم رفتم سمت جاوا سرعت کد زنی توش واقعا عالیه خیلی کارش درسته فقط مشکلی که داره این جاوا ران تایم هست روی ویندوز باید ریخت ولی تو تلبت اینا عالی کار میکنه 

کیوت تو اندریود بدرد برنامه کاربردی نمیخوره بیشتر برنامه های لینوکسی که به اندروید پورت شده اینرو استفاده میکنند مثل aircrack GUI حجم برنامه نوشته شده با کیوت خیلی خیلی زیاده
ولی مثلا یه برنامه 100 کیلوبایتی جاوا معادل 15 مگ کیوت هست :| بدون عکس اینا 

اگه به کیوت علاقه داره و جاوا هم دوستداری از این استفاده بکن http://qt-jambi.org/ خیلی فیکسه و مشکلی نداره خدایی باهاش حال کردم 

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

----------


## negative60

به نظر من بزرگترين دليل کمبود آموزش ها هست (چه فارسی و چه انگليسی)

----------


## motherboard

> به نظر من جاوا خیلی جلو تر هست چون اکثر سیستم های بانکی ( سایت نه ) و  سیستم های بزرگ دنیا پی پال و جونیپر اچ پی با چاوا نوشته شده و کراس  پلتفرم هست ولی گنده شده





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


اولا جاوا یک زبان هست و کتابخانه نیست.همه که سیستم هاشون پرسرعت نیست.از صدقه سری زبان c و کتابخونه هاش هست که برنامه های سیستمی رو میشه نوشت تا کامپیوتر های عهد بوق هم باهاش مشکلی نداشته باشند.اینکه اندروید با جاوا نوشته بشه و همه راضی باشند چون که تو موبایل مثل کامپیوتر خیلی سرعت مطرح نیست.در کل برای برنامه های سیستمی زبان هرچی سطح پایین تر بهتر است.

----------


## pswin.pooya

> اگه بگیم قول دنیا کیه مسلما جاوا چون واقعا درامدش هم سرسام اور هست و  نکته خوبی که داره بدون هیچ دردسری شما که جاوا بلدی هر برنامه ای واسه هر  پلتفرمی میتونی بسازی ولی نکته جالبش اینه شبیه سی شارپ هست ولی به سخت  بودن سی پلاس نیست مشکل کامپایل اینا نداری 
> من اول رفتم سمت پای کیوت ( پایتون + کیوت ) بعدم سی پلاس با کیوت بعدم  رفتم سمت جاوا سرعت کد زنی توش واقعا عالیه خیلی کارش درسته فقط مشکلی که  داره این جاوا ران تایم هست روی ویندوز باید ریخت ولی تو تلبت اینا عالی  کار میکنه 
> 
> کیوت تو اندریود بدرد برنامه کاربردی نمیخوره بیشتر برنامه های لینوکسی که  به اندروید پورت شده اینرو استفاده میکنند مثل aircrack GUI حجم برنامه  نوشته شده با کیوت خیلی خیلی زیاده
> ولی مثلا یه برنامه 100 کیلوبایتی جاوا معادل 15 مگ کیوت هست :| بدون عکس اینا


یدون شک:
سریعترین زبان دنیا (لااقل بین مطرح ها) C و بعد از اون C++‎‎‎‎‎‎ هست و C#‎‎‎‎‎‎ و Java جزء کندترین ها به شمار میرن. فرق سی شارپ و جاوا فقط توی کراس پلتفرمی و البته ساختار خوب جاوا هست. اما جاوا تغریبا نه از لحاظ امکانات و نه پرفرمانس هیچ مزیتی نسبت به C و C++‎‎‎‎‎‎ نداره. دلیلش هم وجود لایه ماشین مجازی هست.

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

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

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

سعی کنید دلیل قانع کننده بیارید. 





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


پس یه دور دیگه هم قرار از اول بسازینش  :لبخند گشاده!: 


یه مورد دیگه اینه که توی بانک ها اصولا کلایت گلوکاه نیست. سرور هست که گلوگاه سیستم به شماره میره. نتیجتا  در سریعترین حالات کاربر با ۴۵ میلی ثانیه میتونه یه کیلک رو فشار بده. مشکل پرفرمانس پیدا نمی کنه. اما واقعا میخواین ضعف پرفرمانسی رو حس کنید؟ یه سری انیمیشن به منوها و دکمه ها (مخصوصا از نوع حرکتی و جابه جایی) اضافه کنید و بعد روی یه کامپیوتر معمولی مثلا Core2 و یا قدیمی تر اجرا کنید. تا متوجه کمبودش بشین.

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

----------


## pswin.pooya

> چرا به رغم اینکه اینقدر در مورد قابلیت های این زبان میگن استقبال ازش اینقدر کمه ؟ (تو استخدام و پروژه ها ..)


۱.  تعداد برنامه نویسهای حرفه ای به همون اندازه کمه. الان هرکسی میتونه توی  چند ماه C#‎ رو خوب یاد بگیره اما این در مورد C++‎ و C که محیطهای حرفه ای  هستن صدق نمیکنه.
۲. سطح سواد جامعه کمه: وقتی استاد دانشگاه میگه C++‎ منقرض شده، دیگه تکلیف معلومه. لازمه بگم که بعضی از ویژگیهای C++‎ رو هنوز زبانهای دیگه ندارن. مثلا میشه به Move constructor اشاره کرد.
۳. بودجه و زمان شرکتها محدود هست. توسعه برنامه با C++‎ و Qt بودجه و زمان نسبتا بیشتری رو لازم داره.
۴. کیوت مدت کمی میشه که به قدرت الانش رسیده. (البته از قدیم بوده و کامل به شماره میرفته اما مواردی مثل پلتفرمها و QML و ...) به تازگی بهش اضافه شدن.



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

----------


## کامبیز اسدزاده

جهت تکمیل سخنان جناب *pswin.pooya* یباید بگم بزرگترین شرکت های مطرح دنیا زبان پیشفرض رو C++‎‎‎‎ انتخاب میکنند‌!
در رابطه با بانکهای داخلی مثل سامان که گفتین ... به نظر شما در مقابل بانک ملت بانک سامان عددی هست؟ در همین بانک ملت در اولویت اول استخدام برنامه نویس های C/C++‎‎‎‎ و آشنا به ATM و POS قرار گرفته...
در رابطه با قول جهانی بهتره یه سرچی تو نت بزنید همه جا ثابت شده و همینطوری الکی لقب هیولا رو برای C++‎‎‎‎ ندادن‌!

یک مقایسه به قول جهانی : http://en.wikipedia.org/wiki/Compari...va_and_C%2B%2B

نمونه ای از ابر شرکت ها : به صورت زیر..

استفاده از C/C++‎‎‎‎ در ناسا NASA : http://code.nasa.gov/language/c-2/
اینتل : https://software.intel.com/en-us/intel-compilers
میکروتیک : http://wiki.mikrotik.com/wiki/API_In_CPP
ادوبی: http://stlab.adobe.com/
سیسکو :‌http://www.cisco.com/en/US/products/...080840b93.html

اینم ببینید بد نیست : http://www.jelovic.com/articles/why_java_is_slow.htm

حالا با اومدن Qt هم شک نکنید فاتحه Java خونده شده خیلی نمونده با این سرعتی که دارن روی C++‎‎‎‎ کار میکنن اگه به قابلیت های ورژن های ۱۱ و ۱۴ دقت کنید میبینید که واقعا مقایسه زبان جاوا با C++‎‎‎‎ اصلا درست نیست.
کی میاد برای برنامه نویسی چند سکویی که الان در این زمان مهمه هزارو یکجور زبان یاد بگیریه چه چیزی بهتر از C++‎‎‎‎ ؟ که هم سرعت و کیفیت داره و هم قابلیت چند سکویی...


*یه اسانسی هم از معرفی C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ 11 ببینید که خود سازنده محترم  توضیحات مختصری رو در معرفی داده که در دانشگاه A&M واقع در تگزاس  برگزار شده و سوالهایی در رابطه با C#‎‎‎‎ و Java در مقابل C++‎‎‎‎ پرسیده شده که جوابشونو با خنده دادن:* https://www.youtube.com/watch?v=86xWVb4XIyE

درستشو بخوای در نظر بگیری مقایسه یه زبانی مثل C#‎‎‎‎ یا Java در مقابل C++‎‎‎‎ واقعا خنده داره...

----------


## motherboard

> حالا با اومدن Qt هم شک نکنید فاتحه Java خونده شده خیلی نمونده با این  سرعتی که دارن روی C++‎‎‎‎‎ کار میکنن اگه به قابلیت های ورژن های ۱۱ و ۱۴  دقت کنید میبینید که واقعا مقایسه زبان جاوا با C++‎‎‎‎‎ اصلا درست نیست.


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

----------


## سوداگر

2 روزه میگم چرا کسی نمیاد توی تاپیک* دلیل عدم استقبال از Q t* شرکت بکنه 
پ بگو قوانین سایت رو نخونده 2 تاپیک زده  :اشتباه: 



> حالا با اومدن Qt هم شک نکنید فاتحه Java خونده شده


جاوا 20 سالی هست امتحان خودش رو پس داده تا Qt بیاد برادری خودش رو ثابت بکنه زمان زیادی میبره ضمناً مشکلی که جاوا برای اون بوجود اومد در Qt هم وجود داره چون از جنس ++C هست و نمیشه برنامه رو یه بار کامپایل کرد روی همه ماشین ها استفاده کرد  :بامزه:

----------


## کامبیز اسدزاده

> 2 روزه میگم چرا کسی نمیاد توی تاپیک* دلیل عدم استقبال از Q t* شرکت بکنه 
> پ بگو قوانین سایت رو نخونده 2 تاپیک زده 
> 
> جاوا 20 سالی هست امتحان خودش رو پس داده تا Qt بیاد برادری خودش رو ثابت بکنه زمان زیادی میبره ضمناً مشکلی که جاوا برای اون بوجود اومد در Qt هم وجود داره چون از جنس ++C هست و نمیشه برنامه رو یه بار کامپایل کرد روی همه ماشین ها استفاده کرد


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

----------


## سوداگر

عجب! همیشه توی بخش Qt به مخاطب تلقین میکنن که منظورمون زبان Qt بوده نه فریمورک Qt  :گیج:  
کسی که گفته بود حالا با اومدن Qt هم شک نکنید فاتحه Java خونده شده                      حالا داره به من میگه تو گفتی Qt زبانه  یا به من میگه مقایسه Qt و جاوا بی اساسه! خودت اول گفتی برادر!
 (مثل شما البته!) گفتم جاوا-Qt ولی خب 20 ساله با وجود جاوا و فریمورکهای خودش در کنار ++C و فریمورکهای مربوطه دارن زندگی میکنن دیگه چه دلیلی داره که بگیم با اومدن Qt فاتحه جاوا رو بخونید! جاوا هم یه زبانه و فریمورکهای خودش رو داره....

برادری خودش رو ثابت کنه هم یه جمله عامیانه است زیاد فلسفی و ریاضی اش نکنید بابا نخواستیم چیزی رو با فرمول ثابت کنیم. یعنی همون دلایلی که موجب شده Qt جا نیفته از بین بره...

راجع به تفاوت زبان و کتابخانه و پلتفرم و فریمورک و SDK و ... هم اگه قبول کنید 2-3 سال پیش به قدر وافی و کافی مطالعه کردیم!

----------


## کامبیز اسدزاده

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


چیزی خنده داره؟ :لبخند: 

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

حالا شما بشینید بخنیدن ببینیم دنیا به کجا میرسه.

----------


## Amir 2010a

> برادری خودش رو ثابت کنه هم یه جمله عامیانه است زیاد فلسفی و ریاضی اش نکنید بابا نخواستیم چیزی رو با فرمول ثابت کنیم. یعنی همون دلایلی که موجب شده Qt جا نیفته از بین بره..


از بقیه حرفاتون که من زیاد سر در نیاوردم
اما فکر نمی کنم Qt بخواد از بین بره وقتی گوگل که یکی از بزرگترین شرکت ها ی دنیاست میاد گوگل ارث رو با qt  مینویسه فکر نمی کنم سراغ چیزی بره که زود از بین بره یا اسکایپ 
کیوت فقط کار با جنبه های گرافیکی و کامپوننت های بصری C ++  رو راحت کرده و گرنه همون C++‎‎‎‎‎  هستش 
به نظر من پایتون و Qt   و C++‎‎‎‎‎‎‎‎‎‎  زبان هایی هستند که به خاطر کراس پلتفورم بودنشون مورد استقبال واقع میشن
حالا شما فرض کن دولت ها بخوان به جای ویندوز مایکروسافت  برن سراغ این زبان ها () شبیه همون طرح مهاجرت به لینوکس خودمون) انموقع فاتحه زبان های دات نت خونده میشه 
جاوا هم که فعلا با مشکلات کندی اجرا در نرم افزارهای بزرگ و مسائل امنیتی رو به روست 

باز تا نظر دوستان چی باشه واقعا  Qt داره نابود میشه ؟ من تازه میخوام شروع کنم یادگیریشو  این هایی هم که نوشتم در واقع تجربیات من از وب گردی و استفاده از نظرات دوستان این سایت و  دیگر انجمن های فارسیه  
نمیخوام  وقتمو  هدر بدم با زبان های مایکروسافتی  دو سال WPF - Silverlight  یاد گرفتم حالا که میخوام ازش استفاده ببرم خود مایکروسافت داره میگه طرح توسعه این زبونها رو متوقف کرده  و صرفا از شپشتیبانی میکنه  :قهقهه:

----------


## کامبیز اسدزاده

> عجب! همیشه توی بخش Qt به مخاطب تلقین میکنن که منظورمون زبان Qt بوده نه فریمورک Qt





> به نظر من پایتون و Qt   و C++‎‎  زبان هایی هستند که به خاطر کراس پلتفورم بودنشون مورد استقبال واقع میشن


اشتباه نکنید Qt زبان نیست :) یک فریمورک و کتابخانه ای برای زبان C++‎ هستش مثل دیگر کتابخانه های C++‎ از قبیل Boost و یا wxWidgets و ... ! در اینصورت اگه زبان بود بهش میگفتن زبان برنامه نویسی Qt !

----------


## سوداگر

> چیزی خنده داره؟


یاد یه ضرب المثل دزفولی افتادم که مناسب حال من و شما بود متاسفانه ترجمه فارسی نداره! (جا همبون مشکه گره مشک همبونه بگره)



> شما ظاهرا بدون اینکه مطالب رو درک کنید سریع Reply میزنیدد...


اتفاقا درک مطلبم خوبه فقط سریع Replay میزنم!
ببین برادر من. شما Qt رو با جاوا مقایسه میکنید جاوا یک زبانه با ++C مقایسه میشه Qt یک فریمورک هست و باید با فریمورک های جاوا مثل Spring مقایسه بشه. این قیاس غلط شما باعث میشه که بگید با جلو اومدن Qt جاوا میمیره! جاوا زبان است و فریمورک های خودش را دارد که اهداف خودشان را دارند و چیزی قرار نیست بمیرد والسلام



> جاوا هم که فعلا با مشکلات کندی اجرا در نرم افزارهای بزرگ و مسائل امنیتی رو به روست


بله جاوا با این مشکلات و مهندسی معکوس و ... مواجه هست ولی قرار نیست بمیره.



> نمیخوام  وقتمو  هدر بدم با زبان های مایکروسافتی  دو سال WPF - Silverlight  یاد گرفتم حالا که میخوام ازش استفاده ببرم


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

----------


## Amir 2010a

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



> از بقیه حرفاتون که من زیاد سر در نیاوردم
> اما فکر نمی کنم Qt بخواد از بین بره وقتی گوگل که یکی از بزرگترین شرکت ها ی دنیاست میاد گوگل ارث رو با qt مینویسه فکر نمی کنم سراغ چیزی بره که زود از بین بره یا اسکایپ 
> کیوت فقط کار با جنبه های گرافیکی و کامپوننت های بصری C ++ رو راحت کرده و گرنه همون C++‎‎‎‎‎‎‎‎‎ هستش 
> به نظر من پایتون و Qt و C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎ زبان هایی هستند که به خاطر کراس پلتفورم بودنشون مورد استقبال واقع میشن
> حالا شما فرض کن دولت ها بخوان به جای ویندوز مایکروسافت برن سراغ این زبان ها () شبیه همون طرح مهاجرت به لینوکس خودمون) انموقع فاتحه زبان های دات نت خونده میشه 
> جاوا هم که فعلا با مشکلات کندی اجرا در نرم افزارهای بزرگ و مسائل امنیتی رو به روست 
> 
> باز تا نظر دوستان چی باشه واقعا Qt داره نابود میشه ؟ من تازه میخوام شروع کنم یادگیریشو این هایی هم که نوشتم در واقع تجربیات من از وب گردی و استفاده از نظرات دوستان این سایت و دیگر انجمن های فارسیه 
> نمیخوام وقتمو هدر بدم با زبان های مایکروسافتی دو سال WPF - Silverlight یاد گرفتم حالا که میخوام ازش استفاده ببرم خود مایکروسافت داره میگه طرح توسعه این زبونها رو متوقف کرده و صرفا از شپشتیبانی میکنه


در مورد  سوال من دوستان نظری دارین ؟

----------


## کامبیز اسدزاده

> اتفاقا درک مطلبم خوبه فقط سریع Replay میزنم!
> ببین برادر من. شما Qt رو با جاوا مقایسه میکنید جاوا یک زبانه با ++C  مقایسه میشه Qt یک فریمورک هست و باید با فریمورک های جاوا مثل Spring  مقایسه بشه. این قیاس غلط شما باعث میشه که بگید با جلو اومدن Qt جاوا  میمیره! جاوا زبان است و فریمورک های خودش را دارد که اهداف خودشان را  دارند و چیزی قرار نیست بمیرد والسلام


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

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

حالا اگه از لحاظ تجربه هم چهار کلمه بخوایم بنویسیم هر زبانی رو بنده کار کردم از اون VB6 بگیر برو تا دات نت و این جاوا که معمولا به خاطر سخت بودن و همین مشکلات سرعت در طراحی سراغ C++‎‎‎‎ نمیفرتم ولی با وجود Qt طراحی رابط در C++‎‎‎‎ راحتر شده که این ترس به طرف C++‎‎‎‎ اومدن رو از بین میبره.

----------


## کامبیز اسدزاده

> از بقیه حرفاتون که من زیاد سر در نیاوردم
> باز تا نظر دوستان چی باشه واقعا  Qt داره نابود میشه ؟ من تازه میخوام شروع کنم یادگیریشو  این هایی هم که نوشتم در واقع تجربیات من از وب گردی و استفاده از نظرات دوستان این سایت و  دیگر انجمن های فارسیه  
> نمیخوام  وقتمو  هدر بدم با زبان های مایکروسافتی  دو سال WPF - Silverlight  یاد گرفتم حالا که میخوام ازش استفاده ببرم خود مایکروسافت داره میگه طرح توسعه این زبونها رو متوقف کرده  و صرفا از شپشتیبانی میکنه



اگر هدفتون فقط محدود هست روی مثلا اندروید Java یاد بگیرید.اگر هدفتون محدود هست روی مایکروسافت و ویندوز بهتره C#‎‎‎‎ و Metro UI رو یاد بگیریداگر هدفتون فقط محصولات اپل هستنش برید سراغ Objective-Cاگر هدفتون فقط طراحی وب هست برید سراغ PHPو اگر هدفتون محدود نیست به جز وب بر روی تمامی این موارد هستش برید سراغ C/C++‎‎‎‎ همراه با Qt البته اشاره ای کنم با C/C++‎‎‎‎ وب هم پیاده سازی میشه ولی من نظرم منفی هستش بهترین انتخاب روی وب PHP خواهد بود که ساختارش هم بسیار مشابه C++‎‎‎‎ هستش که اگه روی وب و دسکتاپ تمرکز کنید PHP و C++‎‎‎‎ بهترین انتخابه.

----------


## سوداگر

> باز تا نظر دوستان چی باشه واقعا  Qt داره نابود میشه ؟ من تازه میخوام  شروع کنم یادگیریشو  این هایی هم که نوشتم در واقع تجربیات من از وب گردی و  استفاده از نظرات دوستان این سایت و  دیگر انجمن های فارسیه


احتمالا از وقتی که ماکروسافت اومد امتیاز گوشیهای نوکیا رو خرید بعضیها خیال کردند کل نوکیا من جمله Qt افتاده دست مایکروسافت که همینجا تکذیب میشه. Qt دست دشمن نیفتاده!

----------


## pswin.pooya

دوستان به جای کل کل دلیل بیارید:




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


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





> همون طور که الان در برنامه سازی خیلی از اسمبلی استفاده  نمیشه


یکی از دلیلهایی که باعث شده الان از اسمبلی استفاده نشه همون پرفرمانس هست. عملا در خیلی از موارد برنامه نویسهای اسمبلی برنامه های کندتری نسبت به کامپایلرها تولید می کنن. مثلا برنامه نویس اسمبلی امکان داره pipeline رو نادیده بگیره و برنامه ای بنویسه که  مرتبا خط لوله رو خالی کنه و یا اینکه hazard تولید کنه. یا برنامه اش امکان داره داخل کش جا و کش هیت زیاد تولید کنه که سرعت رو همچین موردی حداقل تا 100 هزار برابر کندتر میکنه  :لبخند گشاده!: 




> چون تکنولوژی به بلوغی  رسیده که حتی با زبان های سطح بالاتر از جاوا هم بشه سیستم عامل  ساخت!!!!!!.


تعریف زبان سطح بالا چیه؟! می تونید تعریفی ارائه کنید که بگید زبانی مثل C++‎ سطح بالا هست یا نه و یا جاوا سطح بالاست؟ 

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


*در مورد جاوا:*
جاوا نه تنها محدودیتهای پرفرمانسی داره. محدودیتهای ساختاری هم داره ( مثل سی شارپ) جاوا برای شی گرایی طراحی شده در حالی که C++‎ و C برای سبک خاصی طراحی نشدن. همین این امکان رو فراهم میکنه که برنامه نویس ها به سبک های مختلف کد بزنن. مثلا سبکهای نسبتا جدیدی مثل Aspect Oriented و ... مطرح هست که C++‎ پشتیبانی میکنه.

*در مورد Qt:*
به نظر من Qt یه سوپر ست روی C++‎ به شمار میره که کلمه های کلیدی مثل signal رو به کد C++‎ ترجمه میکنه. در کنار اون یه فریم ورک قوی رو هم فراهم میکنه. 




> ولی با وجود Qt طراحی رابط در C++‎‎‎‎‎ راحتر شده


Qt کتابخونه های زیادی رو فراهم کرده اما به نظر من راحتی بیشتر بخاطر ساختار کامپوننتی هست که در زبانهای دیگه ای مثل VB6 و سی شارپ و ... وجود داره. یعنی در حقیقت این دیزاین هسن که راحتی رو به ارمغان میاره. وگرنه قبل Qt مواردی مثل boost و MFC و ... بودن که در کنار هم حتی امکانات بیشتری رو فراهم میکردن


*زبانهای زیادی در خطر انقراض هستند*:

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

2. ساختار ثابت: ساختار ثابت برنامه نویسی خیلی از زبانها دلیل انقراض اونها بوده و خواهد بود. تعداد زبانهای که به خاطر پیروی از نسل خاصی مطرح و بعد نابود شدند خیلی زیاده. اتفاقا جالب اینه که این زبانها در بازه های خاص زمانی جزء محبوب ترین ها بودن.

3. مشکلات کارایی: خیلی از شرکتهایی که با C#‎ کار میکنن از پرفرمانس و موارد دیگه به شدت شاکی هستن و این برای همه اثبات شده هست. منتها 99 درصد اونها میترسن که سوئیچ کنن.

4. به روز نبودن: خیلی از کتابخونه ها (تقریبا 90 درصد) از اونها برای C++‎ طراحی و بعد پورت میشن که قبلا مثال زدم. اما مساله اینه که برنامه نویسهای زبانهای دیگه همیشه چند قدم عقبتر هستند. مثلا C++‎ از تقریبا سال 97 (به صورت استاندارد) از چند پردازنده ای پشتیبانی میکنه اما مثلا این امکانات به تازگی زبانهای دیگه مثل C#‎ اضافه شده. 

5. و ....

----------


## pishvaei

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

----------


## motherboard

> یکی از دلیلهایی که باعث شده الان از اسمبلی استفاده نشه همون پرفرمانس  هست. عملا در خیلی از موارد برنامه نویسهای اسمبلی برنامه های کندتری نسبت  به کامپایلرها تولید می کنن. مثلا برنامه نویس اسمبلی امکان داره pipeline  رو نادیده بگیره و برنامه ای بنویسه که  مرتبا خط لوله رو خالی کنه و یا  اینکه hazard تولید کنه. یا برنامه اش امکان داره داخل کش جا و کش هیت زیاد  تولید کنه که سرعت رو همچین موردی حداقل تا 100 هزار برابر کندتر میکنه





> تعریف زبان سطح بالا چیه؟! می تونید تعریفی ارائه کنید که بگید زبانی مثل C++‎‎‎‎‎‎‎ سطح بالا هست یا نه و یا جاوا سطح بالاست؟ 
> 
> زبان سطح پایین زبانی هست که هر دستور در اون به یک کد ماشین تبدیل شه.  (مثل اسمبلی) با این تعریف C++‎‎‎‎‎‎‎ و جاوا در یک سطح هستند. بعد جاوا چون به  شکل اصولی ماشین مجازی میخواد و یه بستر لازم داره. حتی اگر پردازنده خودش  ماشین مجازی رو هم فراهم کنه اون پردازنده در دسته CISC جا میگیره که طبق  محدودیت های امروزی حکمی به جزء نابودی نداره. (این مورد رو هم در یک تاپیک  جدا توضیح داده بودم).


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



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


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



> من قبلا توی یه تاپیک در مورد این موضوع توضیح داده بودم. اگر 10 سال پیش  بود و نیازهای برنامه ها مثل 10 سال پیش بود سرعت پردازنده های حال حاضر هم  زیاد بود چه برسه به 20 سال بعد. اما مساله اینه که همیشه انتظارات از  برنامه ها داره بالا میره. مثلا احتمالا 20 سال دیگه کی بورد نیاشه و  برنامه ها لازم باشه پردازش تصویر یا صوت انجام بدن و یا UI الان کلا  دگرگون شده باشه. مثلا در آینده باز به اندازه امروزه پرفرمانس مطرح خواهد  بود.


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

----------


## pswin.pooya

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


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

 در مورد رباتیک هم که امروزه همه دارن از میکرو ARM استفاده میکنن که اون هم مدلهای ضعیفش فک کنم 3 مرحله خط لوله داره و یا توی این سالهای اخیر دیگه همه بردهای سیستم عامل دار استفاده میکنن. طرف باید خیلی تعطیل باشه بره سراغ چیپهای قدیمی مثل AVR و 8051 که بخواد اسمبلی براش مهم باشه. این قضیه که شما میگی برای دهه 80 اینا هست که چیپهای مثل z80 استفاده میشد (خود من اون موقع به دنیا نیومده بودم )





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


مساله اینه که الان چند ساله که سرعت پردازنده ها به کندی رشد میکنه. تا سال 2002 تقریبا رشد 50 درصدی داشتیم یعنی برنامه نویس به برنامه هم دست نمی زد سرعتش هر دو سال دو برابر می شد. بعد تا تقریبا سال 2008 رشد 20 درصدی (یعنی هر 5 سال دو برابر) اما حالا؟! سرعت رشد اومده زیر 20 درصد. (منبع کتاب پروسسور پترسون چاپ 2013 ) و دلیلش هم به سد توان (power) معروف هست. تقریبا از سال 2002 صنعت تولید پردازنده به سمت موازی سازی و بعد چند هسته ای رفت و بعدش حتی چند هسته ای هم درست رشد نکرد (علتش اندازه پردازنده بود). بعد متوجه شدن پردازنده CISC اشتباه هست. شروع کردن استفاده از پردازنده های ریسک حتی اینتل هم پردازنده x86 رو ریسک کرد و روش یه لایه CISC گذاشت (اما بازهم اینکار تا یه مدت جواب داد). 




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


شما می تونید منتظر اون زمان باشید. اما لطفا (لااقل تا اون زمان) بعد از مطالعه بیشر نظر بدید

----------


## motherboard

> در مورد رباتیک هم که امروزه همه دارن از میکرو ARM استفاده میکنن که اون  هم مدلهای ضعیفش فک کنم 3 مرحله خط لوله داره و یا توی این سالهای اخیر  دیگه همه بردهای سیستم عامل دار استفاده میکنن. طرف باید خیلی تعطیل باشه  بره سراغ چیپهای قدیمی مثل AVR و 8051 که بخواد اسمبلی براش مهم باشه. این  قضیه که شما میگی برای دهه 80 اینا هست که چیپهای مثل z80 استفاده میشد  (خود من اون موقع به دنیا نیومده بودم )


خودتون هم تاکید بر این دارید که پیشرفت باعث کنار رفتن اسمبلی شده.پس مشکل چیست؟؟!!!!!



> فکر کنم هنوز متوجه نشدید چی گفتم. شما خبره اینکار هم باشید بازهم از  کامپایلر کم میاری. برادر من انجام محاسبات برای جلوگیری از مواردی مثل  هازاد و ... خیلی سخت پیچیده هست. تقریبا باید خبره اینکار باشی و اشتباهی  هم نکنی حتی توی انتخاب ثبات. مثلا شاید بجای ax ثبات bx رو انتخاب کنی همه  چی تموم شد. و یا مثلا اگر توی دو تا دستور پشت هم یه ثبات رو بیاری پایپ  لاین رو به هم میریزی و ...


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



> مساله اینه که الان چند ساله که سرعت پردازنده ها به کندی رشد میکنه. تا  سال 2002 تقریبا رشد 50 درصدی داشتیم یعنی برنامه نویس به برنامه هم دست  نمی زد سرعتش هر دو سال دو برابر می شد. بعد تا تقریبا سال 2008 رشد 20  درصدی (یعنی هر 5 سال دو برابر) اما حالا؟! سرعت رشد اومده زیر 20 درصد.  (منبع کتاب پروسسور پترسون چاپ 2013 ) و دلیلش هم به سد توان (power) معروف  هست. تقریبا از سال 2002 صنعت تولید پردازنده به سمت موازی سازی و بعد چند  هسته ای رفت و بعدش حتی چند هسته ای هم درست رشد نکرد (علتش اندازه  پردازنده بود). بعد متوجه شدن پردازنده CISC اشتباه هست. شروع کردن استفاده  از پردازنده های ریسک حتی اینتل هم پردازنده x86 رو ریسک کرد و روش یه  لایه CISC گذاشت (اما بازهم اینکار تا یه مدت جواب داد).


تمام  حرف من هم این بود که با توجه به کم شدن رشد سرعت در صنعت پردازنده ها در  حال حاضر زبانی مثل c رو بورس هست.اما اگر یک زمانی  این صنعت رشد  سریعش رو دوباره شروع کنه زبان هایی رو میشه اختراع کرد(در کل استفاده از زبان های موجود سطح بالاتر از c و یا اختراع یک زبان سطح بالا) که در نگاه برنامه  نویس ها همین زبان c هم مانند اسمبلی سخت جلوه کنه.(که البته در ایران خیلی  زود سختی زبان c حس شده  :لبخند گشاده!: ).



> شما می تونید منتظر اون زمان باشید. اما لطفا (لااقل تا اون زمان) بعد از مطالعه بیشر نظر بدید


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

----------


## کامبیز اسدزاده

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


در Qt شما بسیار راحتر از WPF میتونید با استفاده از Layout ها برای QWidget و تنظیمات مربوطه نسبت به اندازه صفحه نمایش اقدام کنید.
و در QML میتونید هم از Layout ها و هم توسط کد نویسی QML با استفاده از خاصیت های مربوطه تنظیمات رو انجام دهید.

----------


## کامبیز اسدزاده

> اما خلاصه  کلام من از اول پست تا الان این بوده که با توجه به تکنولوژی در حال حاضر  زبان c یک زبان برتری هستش.(البته با توجه به تکنولوژِی الان) و بعدش گفتم  که چه بسا با رشد صنعت پردازنده زبان c هم به طور عمده کنار گذاشته شود.اما  در اینکه در حال حاضر زبان c یک زبان قدرتمند هست شکی نیست ولی با رشد  تکنولوژی زبان c هم خودش رو یک جورایی بازنشسته می کنه.



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

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

----------


## cpppro

دوستان
به این جمع .NET Native رو هم اضافه کنین.کامپایل برنامه نوشته شده با زبان سی شارپ به کدهای Native .
اگه به فروم مورد نظر برین تقریبا بیشتر پستها در مورد این ویژگی جدید هست.

http://blogs.msdn.com/b/dotnet/

In our previous blog post introducing .NET Native, we talked about how  .NET Native gives you the performance of C++‎ with the productivity of  C#‎. Putting that in quantitative terms, Windows Store apps compiled with  .NET Native start up to 60% faster and use up to 25% less reference set  compared to when the apps are compiled with NGen. This means your users  get into your app even faster after a tile tap!

----------


## حامد مصافی

بیایم مسئله رو ریشه‌ای تر بررسی کنیم. به نظر من صورت مسئله در درجه نیاز به اثبات داره. شما بفرمایید منظورتون از عدم استقبال چیه؟‌ چه استقبالی باید میشد که نشده؟ من در کیوت عدم استقبالی نمیبینم،‌بلکه برعکس از این میترسم که کیوت هم آینده‌ای مثل سی‌شارپ پیدا کنه و همه رو تبدیل به برنامه‌نویس(!!!) کنه.

----------


## Amir 2010a

> بیایم مسئله رو ریشه‌ای تر بررسی کنیم. به نظر من صورت مسئله در درجه نیاز به اثبات داره. شما بفرمایید منظورتون از عدم استقبال چیه؟‌ چه استقبالی باید میشد که نشده؟ من در کیوت عدم استقبالی نمیبینم،‌بلکه برعکس از این میترسم که کیوت هم آینده‌ای مثل سی‌شارپ پیدا کنه و همه رو تبدیل به برنامه‌نویس(!!!) کنه.


شما خودتون بهتر میدونید با اومدن دات نت برنامه نویسان سریع جذبش شدند و اگر همین الان در انجمن ؟ C#‎‎‎‎ یک مشکل داشته باشین دوستان لطف می کنند ظرف 1 ساعت 10 کامنت میزارن اما در این فروم و همچنین در اینترنت مستندات در مورد Qt  واقعا کمه حالا از کتاب های لاتین بگیر تا فارسی خودمون
البته من منظورم این نیست که این موضوع رو بزارم  به خاطر ضعیف بودن Qt 
منظورم اینه چه مشکلاتی پیش روی ما قرار داره که باعث میشه از این فریمورک کمتر استقبال کنیم

----------


## motherboard

> شما خودتون بهتر میدونید با اومدن دات نت برنامه نویسان سریع جذبش شدند و  اگر همین الان در انجمن ؟ C#‎‎‎‎‎‎ یک مشکل داشته باشین دوستان لطف می کنند  ظرف 1 ساعت 10 کامنت میزارن اما در این فروم و همچنین در اینترنت مستندات  در مورد Qt  واقعا کمه حالا از کتاب های لاتین بگیر تا فارسی خودمون
> البته من منظورم این نیست که این موضوع رو بزارم  به خاطر ضعیف بودن Qt 
> منظورم اینه چه مشکلاتی پیش روی ما قرار داره که باعث میشه از این فریمورک کمتر استقبال کنیم


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

----------


## shahin bahari

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




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


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

شما که تو جریان این قضیه هستید که هسته اندروید لینوکسی هست و با زبان سی نوشته شده پس حتما میدونید که توابع سیستمی که نقش بسیار زیادی تو سرعت سیستم دارند همه با زبان سی نوشته شده اند و ماشین مجازی از همون توابع پر سرعت داره استفاده میکنه! پس دلیلی نیست که به قول شما کتابخانه های قدیمی و کند جاوا باعث کند شدن سیستم اون قدری بشه که شما پردازنده 8 هسته ای رو با 2 هسته ای مقایسه میکنید! ( حالا این قضیه بماند که تو همین سیستم های اندرویدی اون پردازنده 8 هسته ای بنچ مارک ضعیف تری از رقیب های 4 هسته ی خودش داشت)
اندروید نقص هایی داره و بحث کیفیت اندروید نیست اما مطمئن باشید اگه این سیستم ماشین مجازی سیستم کارآمدی نبود گوگل با این همه برنامه نویسی که داره سراغش نمی رفت!

برسیم به اون قضیه که اون آقا حجم خروجی برنامه های Qt برای اندروید رو گفتن و شما بحث NDK رو وسط کشیدید. این حرف منطقی هست اما حجم بالا رو توجیه نمیکنه!!! مثلا استفاده از انجین هایی مثل cocos2D و امثال این ها که با زبان سی هستند ولی خروجی برای اندروید هم میدن رو برسی کنید میبینید که از همین قضیه NDK و این حرف ها استفاده کرده و حجم فایل خروجی یه چیز معقول هست. اما Qt نمیدونم از چه سیستمی استفاده میی کنه که اینفدر حجم کد بالا میره. این حجم بالا کد نیاز به اجرا شدن نداره!؟ Qt برای اندروید هنوز تا قابل قبول بودن خیلی فاصله داره. حالا خوب بودن بماند.

از هر سیستمی باید به جاش استفاده کرد. سرعت برنامه های native  بعضی جاها نیازه.بعضی جاها قابلیت های ماشین مجازی!
خود من از Qt و قدرت Qml خیلی خوشم اومد و توی برنامه های ویندوزی دارم سعی میکنم از سی شارپ به سمت Qt بیام. تازه Qt توی سیستم های Embedded هم کاربرد هایی داره که اصلا همین موضوع من رو جذب خودش کرد. حالا همین سیستم که این قدر ازش تعریف کردم برای جایی مثل اندروید اصلا مناسب نیست. در آینده شاید Qt یه تغییری توی کامپایل شدنش برای اندروید به وجود بیاره و اون رو کارامد کنه اما الان....

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

----------


## سوداگر

> واقعا هم منبع فارسی وجود نداره


*Qtips.ir*
بنده خدا آقای سعید دادخواه این سایت رو درست کردند اونوقت توی الکسا زده روزانه 5.7 بازدید! (جالبتر اینکه اون 0.7 منم  :لبخند گشاده!: )



> اندروید جاوا رو از منقرض شدن نجات داد


جواب شما موقع نصب JDK با فونت درشت داده شده!
آره همونجا که نوشته 3Bilion Device ...



> منظورم اینه چه مشکلاتی پیش روی ما قرار داره که باعث میشه از این فریمورک کمتر استقبال کنیم


چرا انتظار دارید استقبال بشه وقتی که VisualStudio , Windows , Stimul report , Telerik , DevExpress, SQLServer , .... مفت و مجانی در اختیار مردم (فعالان حوزه IT) قرار داره و توضیح دادن رایگان بودن Linux mint و پولی بودن ویندوز به جامعه از سخت ترین مسایل دنیای نرم افزار ایرانه!

--------------------------------------------
این سوال برام پیش اومده بود توی نت گشتم و جوابی ندیدم...
راستش من میخواستم نوشتن extension برای PHP رو یاد بگیرم سوال اینجاست که  چرا با ++C میشه نوشت‌ ولی با Qt نمیشه؟ با وجودی که میگن کارهایی که با  cpp انجام میشد با Qt هم قابل انجامه؟
البته جوابی بود که توی QtCentre دیده بودم. اگه میشه با Qt چنین کاری انجام داد لینکی چیزی پیدا کردید به ما هم بگید بررسی کنیم.

----------


## Amir 2010a

> چرا انتظار دارید استقبال بشه وقتی که VisualStudio , Windows , Stimul report , Telerik , DevExpress, SQLServer , .... مفت و مجانی در اختیار مردم (فعالان حوزه IT) قرار داره و توضیح دادن رایگان بودن Linux mint و پولی بودن ویندوز به جامعه از سخت ترین مسایل دنیای نرم افزار ایرانه!


اگر قرار باشه شما برای یک سازمان دولتی برنامه بنویسید آیا حاضرین ریسک استفاده از کامپوننت های کرک شده رو بپذیرید ؟
چند وقت پیش من یک برنامه رو دیدم که طرف با سی شارپ نوشته وبه دلیل کرک نامناسب کامپوننت های Devexpresss  و Telerik  از کازر افتاده بود
 آیا دستوران C++‎  در Qt   هم قابل استفاده است

----------


## سوداگر

> اگر قرار باشه شما برای یک سازمان دولتی برنامه بنویسید آیا حاضرین ریسک استفاده از کامپوننت های کرک شده رو بپذیرید ؟


فوق فوقش برای ارگان های دولتی میاد به جای استخدام یکنفر مسلط به DevExpress از یه WPF کار برای طراحی UI استفاده میکنه که اونهم با نرم افزار Blend که بازم کرک میشه ولی وسط راه از کار نمیفته کار میکنه!
ولی خودم اگه قرار باشه برای ارگان دولتی چیزی بنویسم (تا حالا توفیق نداشتم :لبخند گشاده!: ) دسکتاپ رو با #CوWPF و تحت وب رو با PHP انجام میدم. چون این دوتا رو کامل بلدم Qt رو نصف و نیمه رفتم جلو وگرنه با Qt انجام میدادم (به خاطر سیاست های ماکروسافت!)

----------


## کامبیز اسدزاده

> راستش من میخواستم نوشتن extension برای PHP رو یاد بگیرم سوال اینجاست که   چرا با ++C میشه نوشت‌ ولی با Qt نمیشه؟ با وجودی که میگن کارهایی که با   cpp انجام میشد با Qt هم قابل انجامه؟


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




> فوق فوقش برای ارگان های دولتی میاد به جای استخدام یکنفر مسلط به DevExpress از یه WPF کار برای طراحی UI استفاده میکنه که اونهم با نرم افزار Blend که بازم کرک میشه ولی وسط راه از کار نمیفته کار میکنه!
> ولی خودم اگه قرار باشه برای ارگان دولتی چیزی بنویسم (تا حالا توفیق نداشتم) دسکتاپ رو با #CوWPF و تحت وب رو با PHP انجام میدم. چون این دوتا رو کامل بلدم Qt رو نصف و نیمه رفتم جلو وگرنه با Qt انجام میدادم (به خاطر سیاست های ماکروسافت!)


در رابطه با این موضوع هم متاسفانه در ایران اینگونه هستش چون عادت کردن همه چیز رو رایگان استفاده کنن‌!
مثلا از همون ویندوز چند صد دلاری که به ۵ هزارتومن هم نصبش میکنن بعد ما انتظار داشته باشیم با C++‎‎‎‎‎‎‎‎‎‎ برنامه بنویسیم و بگیم قیمتش مثلا هست ۱ ملیون ؟ هیچوقت شخص یا شرکتی که برای سیستم عامل حاضر به خرج کردن پول نیست ۱۰۰٪ فرق دات نت با C++‎‎‎‎‎‎‎‎‎‎ رو هم نخواهد فهمید که حالا بیاد پول خرج کنه و کیفیت و سرعت براش مهم باشه... تو ایران یکم دور از انتظاره من که شخصا اگه ببینم یه شرکتی بیاد بگه برام با C++‎‎‎‎‎‎‎‎‎‎ بنویس شک میکنم !!!  :لبخند گشاده!: 

با این شرایط همون دات نت و همون کامپوننت های کرک شده و به ظاهر قدرتمند از سرشونم زیادیه !  :لبخند:

----------


## Amir 2010a

> ولی خودم اگه قرار باشه برای ارگان دولتی چیزی بنویسم (تا حالا توفیق نداشتم) دسکتاپ رو با #CوWPF و تحت وب رو با PHP انجام میدم. چون این دوتا رو کامل بلدم Qt رو نصف و نیمه رفتم جلو وگرنه با Qt انجام میدادم (به خاطر سیاست های ماکروسافت!)


من ترجیح میدم از مایکروسافت دوری کنم و سراغ فناوری ها و زبان های استاندارد برم برای خودم دلیل هم دارم
اولش که سیلورلایت رو داد بیرون کلی روش تبلیغ میشد و جایگزینی کامل برای فلش ادوبی همینطور WPF
اما اگر در نقشه راه مایکروسافت نگاه کنید توسعه آتی این دو متوقف شده و فقط از آن پشتیبانی میشه این به این معنی است که من دوسال الکی خودمو دلخوش کردم و وقتم هدر رفته براش
اگر کسی صرفا از ویندوز مایکروسافت استفاده کنه دات نت عالیه ولی اگر یکم سر و گوشتون بجنبه و بخواین نیم نگاهی به سیستم عامل های دیگه مانند اندروید و لینوکس سرور مانند سنت او اس داشته باشین مجبورین از زبان هایی استفاده کنین که در آینده دغدغه ناسازگاری رو نداشته باشین دات نت قرار بود روی لینوکس هم اجرا بشه اما پروژه مونو ناموفق موند 
حالا اگر این قضیه لینوکس ملی هم صحت داشته باشه  که وضع بدتر میشه دیگه 
 حالا اگر این معیارها رو مد نظر قرار بدین باز هم میگین C#‎- WPF ؟

----------


## محمد فدوی

پیشنهاد میکنم در مورد Qt، GNU/Linux، Java، Wx و... :
۱) توی ایران دنبال کار استخدامی نباشید (مگه شرکت های خصوصی خیلی انگشت شمار!)
۲) آستینتونو بزنید بالا برنامه بنویسید و منتشر کنید (کاری که برنامه نویسایی که با فریموورک های لایسنس دار کد مینوسن نمیتونن بکنن به این راحتیا!)
۳) توی ایران دنبال کار استخدامی نباشید
۴) اگر علاقه دارید برنامه های متن باز منتشر کنید (اشتباه نکنید. از برنامه های متن بازم خیلی خوب میشه پول درآورد!)
۵) نا امید نشید. آینده دنیای کامپیوتر رو این تکنولوژی ها رغم میزنن.
ششمین و مهمترین نکته اینکه تو ایران دنبال کار استخدامی نباشید!

----------


## سوداگر

> در  تمام پست های شما من اینطور متوجه شدم که Qt رو یک زبان میدونید با این  باوری که شما دارید فعلا متوجه نشدین که Qt زبان نیست ! اینو من زبونم مو  در آورد ازبس تو پست ها اشاره کردم...


زبان منم مو درآورد بس که گفتم زبانم عادت کرده به این ها اصل قضیه رو میدونم که کیوت یک فریمورک برای ++C هست شما به بزرگواری خودتون ببخشید  :بوس: 



> هدف از کیوت طراحی رابط هستش


این حرف دیگه واقعا از شما بعیده  :متعجب: 
 شما میفرمایید کارهایی مثل ارتباط با دیتابیس و ... هیچ ربطی به کیوت نداره؟!
پس چرا اومدیم کیوت رو با #C مقایسه میکنیم دیگه! باید کیوت رو با winform , WPF و javaFX , ... مقایسه کنیم!!!



> البته  من فکر نمیکنم با Qt نشه ! چون هرچی باشه کدهای  نوشته شده C++‎‎‎‎‎‎‎‎  هستند


منم همین رو میگم چرا وقتی ادعا میشه کیوت همون سطح دسترسی ++C رو داره (اگه نداره بگید؟) با ++C میشه نوشت و با کیوت نمیشه؟



> شما چرا Qt رو یه زبان و C++‎‎‎‎‎‎‎‎ رو یک زبان دیگه نمیدونید


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

----------


## سوداگر

> حالا اگر این معیارها رو مد نظر قرار بدین باز هم میگین C#‎‎- WPF ؟


نمیدونم شاید من خوب ننوشتم ...
منظورم این بود که به خاطر همین سیاست های مضخرف ماکروسافت که گفتید اگه Qt رو به اندازه #C بلد باشم با Qt انجام میدم ولی چون الان به هر دلیلی (اساتید دانشگاه و تب #C در 4 سال پیش و ...) #C رو یاد گرفتم و کسی (جامعه) هم قصد دل کندن از محصولات رایگان!!! ماکروسافت رو نداره چرا بیام با چیزی که نصفه نیمه بلدم (Qt) انجامش بدم به خاطر اینکه نکنه *یک شبه* مردم ویندوز رو ول کنند و linux mint و اوبونتو و ... رو بچسبن و یه موقع مجبور بشم چیزی رو که با #C نوشتم دوباره نویسی کنم!!!

----------


## Amir 2010a

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

----------


## کامبیز اسدزاده

> این حرف دیگه واقعا از شما بعیده 
>  شما میفرمایید کارهایی مثل ارتباط با دیتابیس و ... هیچ ربطی به کیوت نداره؟!
> پس چرا اومدیم کیوت رو با #C مقایسه میکنیم دیگه! باید کیوت رو با winform , WPF و javaFX , ... مقایسه کنیم!!!
> 
> منم همین رو میگم چرا وقتی ادعا میشه کیوت همون سطح دسترسی ++C رو داره (اگه نداره بگید؟) با ++C میشه نوشت و با کیوت نمیشه؟
> 
> چون خودتون گفتید کیوت زبان نیست 
> ----------------------------------------------
> در کل این پست از کسی مثل شما بعید بود


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

برای مثال حتی شما در رابطه با شبکه هم میتونید با Qt کار کنید ولی من به شخصه برای کار با شبکه با POCO کار میکنم اینها همشون سلیقه ای هستش منظور از توضیحات من هم این نیست که Qt فقط و فقط برای طراحیه نه چنین منظوری نداشتم !  :چشمک: 

در رابطه با سطح دسترسی برای extension نویسی مثلا برای PHP خب فکر نکنم نشدنی باشه ولی چون اصول طراحی این موارد روی استاندارد های پیشفرض C++‎ هستش این کار روی Qt شاید رایج نیست و اینکه رایج نشده دلیلی برای عدم پشتیبانی از این مورد نیستش.

----------


## کامبیز اسدزاده

> من که تازه ار سی شارپ میخوام بیام qt  یاد بگیرم حالا میخوام از اساتید بزرگ این بخش راهنمایی بگیرم
> آیا برنامه هایی که با کیوت نوشتیم میتونیم مطمئن باشیم که در هر سیستم عاملی اجرا میشه ویندوز - لینوکس - اندروید
> آیا میشه برنامه های تحت وب هم نوشت - با مار پایتون سازگاری داره چون من قبلا پایتون هم یاد گرفتم و الان میخوام ادامه بدم
> آیا  شرکت های بزرگ دیگه هم روی Qt  سرمایه گزاری می کنند برای تولید محصوللاتشون برای سیستم عامل های مختلف ؟
> با تشکر


جواب سوالتون رو در این پست  دادیم...

https://barnamenevis.org/showthread.p...=1#post2040280

در حال حاضر کیوت در حدی هستش که میتونید روش حساب باز کنید شاید چند سال پیش اینطور نبود ولی در حال حاضر تقریبا Stable هستش من که به شخصه چیزی رو ندیدم نتونه پشتیبانی کنه یا نشه باهاش ایجاد کرد خیلی خوب و بدون محدودیت کار میکنه.

در رابطه با تحت وب روی C++‎‎‎‎‎‎‎ حساب باز نکنید چون هدفش اصلا وب نیست هرچند کتابخانه های Webkit هستش و با خود Qt هم میشه طراحی وب انجام داد ولی .... برای وب در حال حاضر PHP بهترین گزینست و من Qt رو پیشنهاد نمیکنم در این زمینه.

----------


## motherboard

> آیا برنامه هایی که با کیوت نوشتیم میتونیم مطمئن باشیم که در هر سیستم عاملی اجرا میشه ویندوز - لینوکس - اندروید


رسیدیم به پایان لیلی و مجنون و تازه شما می پرسی لیلی مرد بود و یا زن؟؟؟؟  بله با کیوت(و با زبان c) میشه رو هر پلتفرمی اجرا کرد.



> آیا میشه برنامه های تحت وب هم نوشت


زبان c شبیه ابزاری هست که هم پیچ گوشتی داره و هم دو سو داره و هم چهار سو داره و هم الن داره و ........ اما اگه با زبان پی اچ پی بنویسی بهتر هست و سریع تر.



> آیا  شرکت های بزرگ دیگه هم روی Qt  سرمایه گزاری می کنند برای تولید محصوللاتشون برای سیستم عامل های مختلف ؟


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

----------


## محمد فدوی

> *یک شبه مردم ویندوز رو ول کنند و linux mint و اوبونتو و ... رو بچسبن*


متاسفم که تو کشورمون احترام به قوانین Copyright اینقدر بی ارزشه! محصول ۱۲۰ دلاری مایکروسافت بیچاره رو یک شبه مردمی از ایران مجانی با یه مشت کرک که داره سیستمشونو جاسوسی میکنه نصب میکنن و حالشو میبرن از مزیت هاشم تعریف میکنن!

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

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

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

----------


## سوداگر

> شبه مردمی که شما میگی اینارو میفهمن. بلدن ....


کنایه، از feature های زبان پارسی است...  :چشمک:

----------


## shahin bahari

> آیا برنامه هایی که با کیوت نوشتیم میتونیم مطمئن باشیم که در هر سیستم عاملی اجرا میشه ویندوز - لینوکس - اندروید
> 
> 
> 
> 			
> 				رسیدیم به پایان لیلی و مجنون و تازه شما می پرسی لیلی 
> مرد بود و یا زن؟؟؟؟  بله با کیوت(و با زبان c) میشه رو هر پلتفرمی اجرا کرد.


یه توضیحی رو من به جواب دوستمون اضافه کنم که اشتباه تفسیر نشه!
برنامه هایی که با Qt نوشته شده در صورتیکه برای هر سیستم عاملی کامپایل بشه روی اون قابل اجراست. مثلا یه بار برا ویندوز کامپایل می کنید. یه بار برا لینوکس. 2 تا فایل بهتون میده. مثل جاوا نیست که فایل خروجیش بدون تغییر همه جا قابل تغییر باشه!

----------


## Amir 2010a

دقیقا چه شرکت های بزرگ نرم افزاری از کیوت پشتیبانی می کنند ؟
آیا  در حال حاضر کیوت استاندارده ؟
یادگیری اون چقدر زمان میبره ؟
اگر شما مثل من در ابتدای راه باشین بازم qt  رو انتخاب می کنید (من یه خرده وسواس دارم چون با زمل و wpf و سیلورلایت میکروسافت احساس می کنم دو سال زندگیم مفت رفته :لبخند: )

----------


## کامبیز اسدزاده

> دقیقا چه شرکت های بزرگ نرم افزاری از کیوت پشتیبانی می کنند ؟
> آیا  در حال حاضر کیوت استاندارده ؟
> یادگیری اون چقدر زمان میبره ؟
> اگر شما مثل من در ابتدای راه باشین بازم qt  رو انتخاب می کنید (من یه خرده وسواس دارم چون با زمل و wpf و سیلورلایت میکروسافت احساس می کنم دو سال زندگیم مفت رفته)


این سوال رو فکر کنم 20000 بار پرسیدین که یادگیری کیوت سخته یا راحت... !!!

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

یادگیری یک زبان به کنار و یادگیری کتابخانه به کنار شما باید ابتدا به C++‎‎‎‎ مسلط باشید در غیر اینصورت Qt رو نمیتونید درک کنید مثل این میمونه که WPF یاد بگیرید ولی C#‎‎‎‎ نویسی بلد نباشید !

اینکه با WPF کار کردین بد نیست در کنار Qt با C#‎‎‎‎ کار کنید اینم بد نیست چون میتونید نسبت به بازار و قیمت های پیشنهاد شده بابت پروژه بین Qt و دات نت سوئیچ کنید.
به هیچ وجه هم فکر نکنید دو سال زندگیتون مفت رفته ! من خودم شخصا 10-12 سالی هست با برنامه نویسی مشغولم و مدت 7 سالی هست در زمینه دات نت هم فعالیت میکنم و یکی یکی تمام زبان های برنامه نویسیرو آشنا هستم حالا که اومدم سراغ C++‎‎‎‎ و Qt در اینصورت من باید بگم کل عمرم رفت به باد فنا !!! خیر چنین نیست نسبت به پیشنهاد هزینه و  نوع پروژه شما میتونید بین زبان سوئیچ کنید دونستن زبان های مختلف یک امتیازه برای مثال به من بگن 50 تومن میدم یه پروژه بنویس خب مسلما اونو با C#‎‎‎‎ مینویسم ولی بگن 100 ملیون میدیم یه پروژه بنویس در این حالت اونو با C++‎‎‎‎ مینویسم !!! اینکه 2 سال دات نت کار کردین یک امتیازه براتون هرچقدر اطلاعات و سوادتون در زمینه برنامه نویسی بیشتر باشه بهترین امتیازه.

----------


## motherboard

تصویر زیر رو فقط برای دوستانی که مدام سوال می کنند ایا کیوت خوبه و یا نه گذاشتم.برنامه ای که تو تصویر زیر می بینید داخل خود Example کیوت وجود داره و یک مدیا پلیر صوتی ساده است.کلا تعداد کدها سرجمع  100 تا نمیشه!!!! اما وقتی می خواهیم در محیط های ساده کنسولی یک سری عملیات های خیلی ساده رو انجام بدیم باید 400 خط برنامه بنویسیم تا برنامه درست بشه.مانند برنامه هایی که تو بخش سی و سی پلاس پلاس وجود دارند!!!!!! الان همون طور که تو تصویر می بینید با زیر 100 تا کد یک مدیا پلیری درست شد که  من دارم الان باهاش اهنگ گوش میدم!!!!!!حالا فکر کنید که اگه می خواستیم تمام این امکانات رو کلا خودمون به وجود بیاریم اونوقت چی میشد؟؟؟!!! بی جهت زمان خرج می کردیم!!!!!! پس دوستان بیایید تا قدر کیوت رو بیش تر بدانیم  :لبخند گشاده!: 

u3.jpg

راستی یادم رفت که بگم.تازه بخش زیادی از کد با توضیحات سبز رنگ پر شده!!!!! پس در این صورت تعداد کد ها خیلی کم تر از 100 تا خط است!!!!!

----------


## motherboard

یک مطلب مهم در مورد عکس بالا باید بگم تا خواننده به اشتباه نیفته.
البته سورس مدیاپلیر بالا 50 خط نیست و در قسمت سورس سه تا فایل ccp داریم که در هر کدوم بخش های مختلف برنامه کدنویسی شده است.و تمام خطوط کد سرجمع حدود 500 خط رو تشکیل داده و باز این خودش خیلی خوبه.مثلا اگه می خواستیم در محیط کنسولی این کار رو انجام بدیم خدا میدونه که باید چند هزار خط می نوشتیم!!!!

----------


## cpppro

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

----------


## mikhak001

برای لود کردن همه نقشه های آنلاین درون نرم افزار گوگل ارث به این سایت برید
http://booken.xzn.ir/%D9%84%D9%88%D8...4%D8%A7%DB%8C/

----------


## Amir 2010a

> من شرکتهایی رو دیدم که به صورت همزمان از سی شارپ و Qt استفاده میکنن.
> برخی پروژه ها با سی شارپ و برخی با Qt بنا به درخواست مشتری و پروژه های Qt عموما به طور خاص برای لینوکس طراحی میشن.


مگه امکانش هست ؟
این دیگه چه کاریه 
آنوقت دیگه فقط برای محیط ویندوز قابل استفاده است پس این وسط کیوت چه نفعی میتونه داشته باشه همون Visual C++‎  که بهتره

----------


## کامبیز اسدزاده

> مگه امکانش هست ؟
> این دیگه چه کاریه 
> آنوقت دیگه فقط برای محیط ویندوز قابل استفاده است پس این وسط کیوت چه نفعی میتونه داشته باشه همون Visual C++‎‎  که بهتره


امکانش هست بله...
وقتی شما تیرکمانی دارید که میتونید باهاش چندین نشان رو به هدف بزنید ! چه نیازی هست به C#‎ که فقط به یک هدف میخوره ؟!
نسبت به ارزش پروژه و نوع پروژه شما بهتره در صورت امکان بین زبان ها سوئیچ کنید.
اشاره میکنید به اینکه Visual C++‎ در محیط Windows بهتره چرا ؟ منظورتون CLR هست یا Win32/MFC ؟ کدامیک؟
در مورد اینکه استفاده از Qt چه مزیت های داره خیلی توضیح داده شده.

----------


## cpppro

سلام به شما
اگه توجه میکردن نوشتم "پروژه های Qt عموما به طور خاص برای لینوکس طراحی میشن"
برخی مشتری ها علاقه دارن کدها native و خارج از محیط دات نت باشن.ضمن اینکه روی لینوکس اجرا بشن.تنها گزینه مناسب همین qt هست.

گاهی اوقات میشه که کار روی پروژه qt تموم میشه و هنوز سفارش جدیدی نیومده.در این حالت شرکت نمیتونه به برنامه نویساش بگه چند ماه برین مرخصی یا بشینین باهم صحبت کنین تا پروژه جدید برسه.
یک روش اینکه برنامه نویس ها رو تشویق میکنن در کنار کار با qt ، دات نت و سی شارپ رو هم یاد بگیرن تا پروژه های دات نتی رو انجام بدن.

----------


## parvizwpf

ببینید Qt برای غول شدن باید چند کار رو انجام بده. مایکروسافت چرا انقدر محبوب شد با دات نت؟ چون لامسب هی داره روش و ابزار میسازه که کار برنامه نویسی رو یکپارچه و ساده کنه. مثل 

ORM-MVC کافیه توی این مسائل این دو رو مقایسه کنید . ولی وای از اون روزی که Qt و افرادس هم بشینن اینکارو بکنن. یعنی فردا خیالت راحت باشه بگی بله الان این پروژه گنده که میخواهیم بنویسیم 

رو  با Qt راحت انجام میدم چرا چون ORM خوب داره همه چی به سرعت قابل انجامه. پس Qt باید بیاد این مسائل رو در نظر بگیره که البته بگم که یه کارهای هم شده البته نه توسط خود Qt بلکه توسط 

افراد و شرکتهای دیگه. خداییش الان پروژه بزرگی باشه انصافا میشه روی Qt حساب کرد؟ آخه یه خورده به همین قضیه ORM فکر کنید. باید برگردی به دوره ADO.NET یا حتی قبل از اون. رسما تو وب که 

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

باهاش سخته. با اینکه Designer گذاشته ولی هنوز میلنگه. پس بهتره چند سال دیگه بیاید برای مقایسه.

----------


## samanbank

http://upload.wikimedia.org/wikipedi...screenshot.png

http://www.muirscape.com/wp-content/...1.16.38-AM.png

به نظر من این سلیقه ای هست من از ویزال استودیو 2013 استفاده نکردم و اخرین ورژن که استفاده کردم 2008 بود ولی واقعا این 2013 زیباست من کلا با مک کار میکنم و یه 4 سالی هست که تو لینوکس کار مکینم و مدرک 3 رو هم گرفتم ولی نظر من اینه اگه کیوت بیاد کیوت کریتور رو تغییر بده و یک کمی زیباش بکنه واقعا پرطرفدار میشه اون نوار عمودی سمت چپ واقعا زشته 
.
 اگه واسه کار بخوای .. تو ایران کیوت. کسی نمیدونه اصلا چی هست . بیشتر میگن C++‎ درصورتی که برنامه نویسی خودش از کیوت استفاده میکنه ! پس به نظر من اول طرف C++‎ رو کار کنه
بعد با تمام فریمورک های حرفه ای هم اشنا باشه مثل کیوت GTK wxWIDGET و ...

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

----------


## alikaed

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

----------


## motherboard

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


فقط از  جاوا استفاده کن

----------


## alikaed

> فقط از  جاوا استفاده کن


می شه یه کم توضیح بدید که باید چطور شروع کنم . این جاوایی که شما می گید با اون جاوایی که دوستان برای برنامه نویسیه اندروید استفاده می کنند چه تفاوتی داره؟ چون من دنبال برنامه مولتی پلتفرم هستم. حجم عملیات هم بسیار بالاست آیا جاوا ساپورت میکنه

----------


## کامبیز اسدزاده

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



توسط زبان C++‎ در کتابخانه Qt شما میتونید برای هر نوع موبایل و تبلت نیز خروجی بگیرید.

----------


## motherboard

> می شه یه کم توضیح بدید که باید چطور شروع کنم . این جاوایی که شما می گید با اون جاوایی که دوستان برای برنامه نویسیه اندروید استفاده می کنند چه تفاوتی داره؟ چون من دنبال برنامه مولتی پلتفرم هستم. حجم عملیات هم بسیار بالاست آیا جاوا ساپورت میکنه


هیچ فرقی نداره!! جاوا همون جاواست :لبخند گشاده!:  اگه واقعا حجم عملیات خیلی زیاده(نه از نظر تئوری) همون سی پلاس پلاس چیز خوبیه.هم از نظر سرعت و هم از نظر مولتی پلترفمش.(برو سراغ کیوت.) .ولی من شنیدم کیوت کلا تو قسمت موبایل چنان قوی نیست و در حال توسعه است.ولی جاوا امتحانش رو پس داده.صد در صد سی پلاس پلاس بهتر از جاواست.ولی ببین اگه جاوا جواب حجم عملیات برنامه رو میده برو همون جاوا استفاده کن که چیز خوبیه.

----------


## motherboard

> توسط زبان C++‎‎ در کتابخانه Qt شما میتونید برای هر نوع موبایل و تبلت نیز خروجی بگیرید.


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

----------


## 2020s1371

> اره خب کیوت چیز خوبیه.ولی این کیوت خیلی حالت تبلیغات به خودش گرفته.پاسخ شما رو با توجه به سوال اون دوست  نفی نمی کنم.اما چه بهتر است منصفانه تر در مورد این کیوت بحث بشه.بالاخره این کیوت هم نواقصی رو داره.


میشه دقیق تر بگید منظور از حالت تبلیغاتی چیه؟؟

نقص نسبی هست. نسبت به چی نقص داره؟؟
البته هر چیزی نواقصی داره ولی باید دید که نسبت به بقیه چیزها چه نواقصی داره و چه مزایایی + تا حدودی هم سلیقه شخصی تو انتخاب دخیله

----------


## samanbank

کیوت زبان C رو پشتیبانی نمیکنه !! این صد بار

----------


## کامبیز اسدزاده

> میشه دقیق تر بگید منظور از حالت تبلیغاتی چیه؟؟
> 
> نقص نسبی هست. نسبت به چی نقص داره؟؟
> البته هر چیزی نواقصی داره ولی باید دید که نسبت به بقیه چیزها چه نواقصی داره و چه مزایایی + تا حدودی هم سلیقه شخصی تو انتخاب دخیله


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




> اره خب کیوت چیز خوبیه.ولی این کیوت خیلی حالت تبلیغات به خودش گرفته.پاسخ شما رو با توجه به سوال اون دوست  نفی نمی کنم.اما چه بهتر است منصفانه تر در مورد این کیوت بحث بشه.بالاخره این کیوت هم نواقصی رو داره.


از کمبود های کیوت میشه به کامپوننت ها اشاره کرد و یا تعداد برنامه نویسان و توسعه دهندگان که اینها خیلی طبیعی هست ! دلیلش واضحه اگر تعداد برنامه نویسان C++‎‎‎‎ مثل C#‎‎‎‎ و Java به این تعداد غیر قابل شمارش میرسید عاقبت کیوت هم میشد مثل دات نت و جاوا.... یعنی هرکسی میشد برنامه نویس و هر شخص هم یه کامپوننت میداد بیرون که موجب راحتی کاربران C++‎‎‎‎ میشد.

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

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




> کیوت زبان C رو پشتیبانی نمیکنه !! این صد بار


اینم 101 بار... شما C رو طبق دستورات C++‎‎‎‎ وارد پروژه میکنید نه کیوت و اصلا قرار نیست کیون C پشتیبانی کنه همینکه کدهای C رو تحت C++‎‎‎‎ وارد سورس کنید مشکلی نخواهید داشت.
مثلا یکی از روش های پرکاربرد به صورت زیر هستش :


#ifdef __cplusplus
extern "C" {
#endif


و بازهم میگم اگه قراره سرسختیه C++‎‎‎‎ و کتابخانه هاش براتون گمراه کننده باشه و حوصله تلاش زیاد برای کار با این زبان و کتابخانه هاش ندارید چه بهتر برید سراغ C#‎‎‎‎ و Java چون واقعا زبان C/C++‎‎‎‎ برای برنامه نویسی به صورت سخت درنظر گرفته شده که در قبال این سرسختی قدرت و کیفیت غیرقابل مقایسه ای رو در مقابل زبان های دیگه ای در اختیار توسعه دهنده قرار میده.

----------


## 2020s1371

> کیوت زبان C رو پشتیبانی نمیکنه !! این صد بار


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

کیوت قرار بوده با سی++ کار کنه و نه باسی ... ولی خب قابلیت استفاده از سی رو هم داره (همونجوری که آقای اسد زاده متذکر شدند)

----------


## motherboard

> میشه دقیق تر بگید منظور از حالت تبلیغاتی چیه؟؟
> 
> نقص نسبی هست. نسبت به چی نقص داره؟؟
> البته هر چیزی نواقصی داره ولی باید دید که نسبت به بقیه چیزها چه نواقصی داره و چه مزایایی + تا حدودی هم سلیقه شخصی تو انتخاب دخیله


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

----------


## omid_kma

> کیوت زبان C رو پشتیبانی نمیکنه !! این صد بار


Qt صرقا یک سری کلاس  هستش !!! جتی کامپایلر خاص خودشو هم نداره و از msvc یا ++g استفاده میکنه !
این حرف مثل این می مونه که بگی  ++C  از C پشتیبانی نمی کنه !!!
شما نباید انتظار داشته باشی کد ++C رو ببری توی gcc بدون هیچ تغییری کامپایل کنی  حالا کد می خواد مال Qt باشه یا هر کتابخونه ++C دیگه ای  حتی STL!!
پشتیبانی ++C از C یعنی این که اگر یک کد با C داشته باشی میشه می تونی داخل ++C ازش استفاده کنی و  با کامپایلر ++C هم کامپایل کنی نه بر عکس !! که هم Qt , هم ++C با این مورد مشکلی ندارن

----------


## tux-world

> نمیدونم شاید من خوب ننوشتم ...
> منظورم این بود که به خاطر همین سیاست های مضخرف ماکروسافت که گفتید اگه Qt رو به اندازه #C بلد باشم با Qt انجام میدم ولی چون الان به هر دلیلی (اساتید دانشگاه و تب #C در 4 سال پیش و ...) #C رو یاد گرفتم و کسی (جامعه) هم قصد دل کندن از محصولات رایگان!!! ماکروسافت رو نداره چرا بیام با چیزی که نصفه نیمه بلدم (Qt) انجامش بدم به خاطر اینکه نکنه *یک شبه* مردم ویندوز رو ول کنند و linux mint و اوبونتو و ... رو بچسبن و یه موقع مجبور بشم چیزی رو که با #C نوشتم دوباره نویسی کنم!!!


خوب چرا علاج واقعه قبل از وقوع نمیکنید؟  ;)
به هر حال هر کسی یا هر شرکتی یا هر ارگانی با توجه به خواسته ها وآینده نگری هاش تصمیم میگیره

----------


## motherboard

به نظر شما این کیوت چه مدت طول می کشه تا در ایران رواج پیدا کنه؟؟ مثلا زمانی رو ببینیم که تو بخش Qt ده ها کاربر عضو فعالیت مستمر دارند؟ایا این اتفاق در ایران به این زودی ها شدنی هست؟

----------


## pswin.pooya

> کیوت زبان C رو پشتیبانی نمیکنه !! این صد بار


دوستان یه مطلب در مورد پشتیبانی از زبانها در خانواده های C:

1. زبان C++‎ یک سوپر ست روی C بوده (قبلا) و شما می تونید به راحتی از C در پروژه های C++‎ استفاده کنید.

*آیا مشیه با C برنامه نویسی شی گرا کرد:*
چرا نه؟! خب راستش رو بخوایین شی گرایی یه مفهوم هست نیازی به زبان خاصی نداره (لااقل) شما میتونید در C از اشیاء استفاده کنید. نمونه بارز اون سورس کد لینوکس هست که با C اما شی گرا نوشته شده ( یا لااقل یه جورایی)

نمونه یک شی میتونه به راحتی زیر باشه:

struct Object
{
int member;
void(*method)( struct Object *this)
}

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

*میشه از کد C++‎ داخل زبان C استفاده کرد:*
یکی از خاصیتهای خانوادهای C اینه که شما می تونید توابع با استانداردهای فراخوانی مختلف رو صدا بزنید که باعث میشه بتونید از ترکیب زبانهای بسیاری در کد خودتون استفاده کنید و اونها رو نهایتا به هم لینک کنید. در C میشه تا یه حدی از C++‎ بدون استفاده از واسطه استفاده کرد:
http://www.parashift.com/C++‎-faq-lit...ssed-to-c.html
http://www.parashift.com/C++‎-faq-lit...rs-from-c.html

*تکلیف زبانهای دیگه با C++‎ چیه؟ 
*شما میتونید بیشتر زبانهای برنامه نویسی ناتیو رو با هم ترکیب کنید اما کار با زبانهای غیر ناتیو سختره اما کار نشد نداره مثلا برای جاوا:

http://www.inonit.com/cygwin/jni/invocationApi/c.html

دوستان با اینکه تمام کارهای بالا رو میشه انجام داد اما  پیشنهاد میکنم سراغ اینکار نرید. اگر لازمه از زبان دیگه ای استفاده کنید سعی کنید اون C و یا C++‎ باشه و کتابخونه های جانبی رو اونجا بنویسید و بعد پورت کنید. اکثر زبانها برنامه نویسی راهکارهایی برای استفاده از سورس های ناتیو که بیشتر با استانداردهای Cو C++‎ سازگار هستند رو فراهم کردن.

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

----------


## حامد مصافی

> به نظر شما این کیوت چه مدت طول می کشه تا در ایران رواج پیدا کنه؟؟  مثلا زمانی رو ببینیم که تو بخش Qt ده ها کاربر عضو فعالیت مستمر  دارند؟ایا این اتفاق در ایران به این زودی ها شدنی هست؟


آف: خدا نكنه!!!
در حال حاضر هم براي برنامه‌نويسان سي‌پلاس‌پلاس بازار كار نسبتاً خوبي وجود داره، با متوسط حقوق 4 برابر برنامه‌نويس دات‌نت. البته برنامه‌نويس حرفه‌اي

----------


## pswin.pooya

> آف: خدا نكنه!!!


دوباره آف: آمین





> در حال حاضر هم براي برنامه‌نويسان سي‌پلاس‌پلاس بازار كار نسبتاً خوبي  وجود داره، با متوسط حقوق 4 برابر برنامه‌نويس دات‌نت. البته برنامه‌نويس  حرفه‌اي


الان که فک کردم دیدم منم دلم میخواد جا نیفته  :لبخند گشاده!:

----------


## کامبیز اسدزاده

> دوباره آف: آمین
> 
> 
> 
> الان که فک کردم دیدم منم دلم میخواد جا نیفته


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

داشتن تخصص و دانش لازم در هر زمینهکه برای برنامه نویسی native همه اینها در C++‎‎‎‎‎‎ لازمه کاره دلیلش هم Unmanaged بودنشه که برنامه نویس باید متفکر باشه. برای همین من امیدوارم برای این قضیه که آینده C++‎‎‎‎‎‎ با Qt مثل دات نت نخواهد بود بلکه برعکس کاملا خاص و منحصربفر خواهد شد.

----------


## danyalbursin

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

چون یکی از بهترین زبان های دنیاس جاوا بی شک!!!
شما جاول رو اصلا نمیتونی مقایسه کنی با ++C !!!

مثل اینه بگیی Delphi یا Php !!!

درسته شما داری میگی سرعت ++C بیشتره ولی جاوا حدف اصلیش تو وب هست که تو این مورد ++C به گرد پایه جاوا هپ نمیرسه!!!

++C برای نرم افزار های دسکتاپی هست   و شبکه !!!
جاوا هم در حقیقت برای دنیای وب طراحی شده!!!
درسته رو همه چیز استفاده میشه کرد ولی این یکی از ویژگی هاشه که به جزء وب کارهای دیگه هم میشه کرد!



Java امپراتور وبه تو وب هیچزبانی رقیبش نیست چون بزرگترین و پرقدرت ترین کارهای دنیا که فک میکنم بزرگتر از شبکه جهانی مثل Google نیست! چون  واضح ++C فقط برنامه دسکتاپیه که یه برنامه نوشته میشه و هر روز جرا میشه!!!


ولی جاوا داره تمام دنیا رو کنترل میکنه تو نت چون همه کارمون با Google و گوگل هم بیشترین قدرتش واسه Java هسن  اگه بخوایم حساب کنیم از لحاظ کارایی 

پس نتیجه میگیریم که Java  بهتره!    
((البته حرفم کاملا اشتباهه ها چون مقایسه انجام دادم!)))
 ولی این حرفم واسه اون دسته افرادیه که هی دنباله اینن که ببینن کدوم بهتره!



به جرات میگم  جاوا چون ++C  یه نرم افزار مثل فتوشاپ مینویسی تموم میشه و بس فقط باهاش کار میکنی!

ولی جاوا دنیارو کنترل میکنه! پس ببینید قدرت تا چه حده شما راجعبه قدرت جاول قبری ندارید !

----------


## pbm_soy

> دوستان عزیز شماها که برنامه نویس حرفه ای هستید که این همه در مورد ++C  اطلاعات دارید  !!!!
> از شما بعیده که بیاید Java و ++C و مقایسه کنید!
> عرضم به اون دوستانی که بالا گفتن که تو یه سایت تگزاس مقایسه Java و ++C و مسخره کرده بود جاوا و #C !!!
> رو چه حسابی این حرف و زده نمیدونم!!!
> 
> چون یکی از بهترین زبان های دنیاس جاوا بی شک!!!
> شما جاول رو اصلا نمیتونی مقایسه کنی با ++C !!!
> 
> مثل اینه بگیی Delphi یا Php !!!
> ...


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

----------


## 2020s1371

> دوستان عزیز شماها که برنامه نویس حرفه ای هستید که این همه در مورد ++C  اطلاعات دارید  !!!!
> از شما بعیده که بیاید Java و ++C و مقایسه کنید!
> عرضم به اون دوستانی که بالا گفتن که تو یه سایت تگزاس مقایسه Java و ++C و مسخره کرده بود جاوا و #C !!!
> رو چه حسابی این حرف و زده نمیدونم!!!
> 
> چون یکی از بهترین زبان های دنیاس جاوا بی شک!!!
> شما جاول رو اصلا نمیتونی مقایسه کنی با ++C !!!
> 
> مثل اینه بگیی Delphi یا Php !!!
> ...



امپراتووووور!!
من دیگه حرفی ندارم!!! :اشتباه:  :اشتباه:

----------


## کامبیز اسدزاده

> دوستان عزیز شماها که برنامه نویس حرفه ای هستید که این همه در مورد ++C  اطلاعات دارید  !!!!
> از شما بعیده که بیاید Java و ++C و مقایسه کنید!
> عرضم به اون دوستانی که بالا گفتن که تو یه سایت تگزاس مقایسه Java و ++C و مسخره کرده بود جاوا و #C !!!
> رو چه حسابی این حرف و زده نمیدونم!!!
> 
> چون یکی از بهترین زبان های دنیاس جاوا بی شک!!!
> شما جاول رو اصلا نمیتونی مقایسه کنی با ++C !!!
> 
> مثل اینه بگیی Delphi یا Php !!!
> ...


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

----------


## danyalbursin

دوستان من گفتم امپراتور وب نه دسکتاپ!!!

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

اوج قدرت جاوا وب هست برای سرور های  بزرگ !!!
مثل:  Google,Amazon

چهارتا سایت خارجی مطالعه بفرماید متوجه میشید که جاوا قدرته اصلیش ( وب هست  )

----------


## pswin.pooya

> جاوا هم در حقیقت برای دنیای وب طراحی شده!!!


جاوا برای سیستم های تلوزیونی توی سال ۱۹۹۱ طراحی شد. 





> ++C برای نرم افزار های دسکتاپی هست   و شبکه !!!


بردار من C++‎‎‎‎‎‎ توی همه زمینه های نرم افزار حتی تحت وب هم استفاده می شه. تقریبا تمام پروتکلها و سرورها و ... با C++‎‎‎‎‎‎ نوشته و یا پیاده سازی شدن. بیشتر از ۹۰ درصد برنامه های مطرح دنیا توسط این زبان نوشته شدن و نزدیک ۹۹ درصد بازها هم با این زبان پیاده سازی شدن.

حتی وقتی نگاه می کنیم می بینیم که گوگل مجبور شد برای برنامه نویسهای C++‎‎‎‎‎‎ یه ویرایش از API به اسم NDK بیرون بده. در حقیقت اندروید جاوا رو نجات داد به نظر من اما خودش رو بخطر انداخت.




> اوج قدرت جاوا وب هست برای سرور های  بزرگ !!!


برادر من درسته یه قسمت از سرورهای گوگل با جاوا کار می کنه. اما طبق گفته های خود گوگل بیشتر infrastructure و web crawler و برنامه های اصلی با C++‎‎‎‎‎‎ پیاده سازی شده.


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

خب جاوا علاوه بر اینکه به علت داشتن VM بشدت کند هست و منابع رو بدون تحت کنترل داشتن اونها مصرف میکنه. مشکل دیگه ای که داره فقط سبک Object-oriented رو پشتیبانی می کنه که اخیرا سعی میشه ازش با احتیاط استفاده بشه (دلیلش طولانیه) و در عوض سبک های دیگه مثل ساختیافته و یا Aspect oriented و یا Data-oriented رو پشتیبانی نمی کنه که باز اخیرا مورد توجه زیادی قرار گرفتن. مثلا Data-oriented می تونه به طور قابل توجی سرعت رو افزایش بده.

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



> *Disadvantages:* Java's "write once, run everywhere"  promise wasn't fulfilled. The Java class libraries have been rewritten  multiple times without removing old calls, so while the libraries are  very backward-compatible with old code, there seems to be three ways of  doing everything, all but one of which are discouraged as being  "obsolete". 
> 
> *Portability:* Fairly good, but not  as good as it should have been. Making an application in Java that is  portable and uses the underlying OS's latest features is almost as  difficult to do in Java as in C++‎‎‎‎‎‎.


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

----------


## negative60

> دوستان من گفتم امپراتور وب نه دسکتاپ!!!
> 
> اطلاعات شما ظاهرا کمه که جاوا  و فقط واسه اندروید یا دسکتاپ میبینید!
> 
> اوج قدرت جاوا وب هست برای سرور های  بزرگ !!!
> مثل:  Google,Amazon
> 
> چهارتا سایت خارجی مطالعه بفرماید متوجه میشید که جاوا قدرته اصلیش ( وب هست  )


اولاً موضوع تاپيک در مورد کيوت هست نه جاوا دوماً اصلاً خوب نيست کسی از روی تعصب در مورد مسأله اي نظر بده 
شما وقتی صفحه اول گوگل رو ميبيند فکر نکنيد فقط يک ايندکس هست که با جاوا نوشه شده و اين شده گوگل يا آمازون! صفحه که شما ميبينيد اطلاعاتی هست که توسط سرويس های ديگه جمع آوری شده يا ميشه, پشت اين صفحه تعداد نا معلومی سرويس و سرور فعاله که قطعاً اونها با جاوا نوشه نشده اند 

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

----------


## st@rter

بنده تمام پست هارو خوندم و میشه گفت 99 درصد پست ها از روی تعصب و سر جمع حرف ها

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

جاوا  بیشتر تمرکزش روی وب هستش و روی تمام سیستم عامل ها جواب میده.


همه qt کارا یک حرف رو تکرار کردن فقط سرعت سرعت سرعت سرعت و همه برنامه ها اساسی با C++‎ نوشته شده.

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

یه برنامه با جاوا نوشته میشه و همون برنامه با qt نوشته میشه و کارشون درج اطلاعات در دیتابیس و حذف هستش حالا چقدر مگه طول میکشه توی سرعت چند میکرو ثانیه.

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

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

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


در مورد C++‎ کارای عزیز شما اگه واقعا C++‎ کار هستید خواهشا بدون drop and drag کار کنید بعد بگید کیوت فلان کیوت بهمان .

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


در آخر میتونم بگم نمونه جاوا پایگاه داده اوراکل هستش و بس

----------


## حامد مصافی

> در آخر میتونم بگم نمونه جاوا پایگاه داده اوراکل هستش و بس


اوراکل با اسمبلی، سی و سی پلاس پلاس توسعه یافته، منبع: ویکیپدیا

----------


## st@rter

C, C++‎, Java, and the calls to the Oracle database

و چون شرکت سان ارائه داده جاوا با دیتابیس های mysql و اوراکل بسیار زیبا مچ هستش

و نقطه جالب اینه وقتی یک برنامه رو با جاوا مینویسید حجم برنامه + 37 مگ jvm هستش و تمام
ولی برای دات نت 250 مگ و برای کیوت 80 مگ

----------


## حامد مصافی

> C, C++‎‎, Java, and the calls to the Oracle database


جمله منظورش رو به طور واضح بیان کرده، ربطی به اینکه با چه زبانی توسعه بافته نداره.




> و نقطه جالب اینه وقتی یک برنامه رو با جاوا مینویسید حجم برنامه + 37 مگ jvm هستش و تمام
> ولی برای دات نت 250 مگ و برای کیوت 80 مگ


این آمار نیز اشتباه است.
نسخه‌های مختلف دات‌نت سایزی بین ۲۳ و ۴۸ مگابایت دارند.
برنامه‌های کیوت نیز در حالت معمولی سایز ۱۹ مگابایت را دارند.

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

----------


## chikar

> یه برنامه با جاوا نوشته میشه و همون برنامه با qt نوشته میشه و کارشون درج  اطلاعات در دیتابیس و حذف هستش حالا چقدر مگه طول میکشه توی سرعت چند  میکرو ثانیه.


این حرف درستی نیست :


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

حالا به نظرتون، اصلا چرا من نباید بهترین و سریع ترین زبان رو انتخاب کنم؟ 
البته یکی از برتری های C++‎‎‎‎‎‎ سرعت بالای اون هست و برتری های بسیاری دیگه ای در مقایسه با زبان های دیگه داره (لطفا جستجو بفرمایید)




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


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




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


این دیگه از اون حرف ها بودا !!
شما مثل اینکه تاریخچه کیوت رو مطالعه نکردید، کیوت، چیزی نیست که تازه اومده باشه بلکه 20 سال هست از ایجاد کیوت می گذره (این منبع رو مطالعه بفرمایید)

فعالیت  کیوت در سال 1991 شروع شده، حال اینکه خود زبان جاوا در سال 1995 به وجود  اومده ، نکته جالب تر اینجاست که خود زبان C++‎‎‎‎‎‎ در 1979 بوجود اومده، و جاوا  نه تنها سابقه کمتری از خود زبان C++‎‎‎‎‎‎ داره، بلکه حتی سابقه اش کمتر از  فریمورک های C++‎‎‎‎‎‎ مثل کیوت هست!(منبع : ویکی پدیا و سایت رسمی کیوت)

چارچوب .Net و زبان C#‎‎‎‎‎‎ هم که در سال 200 بوجود اومده 
دقت کنید همه می دونند و خودشون هم این رو می گند که جاوا و C#‎‎‎‎‎‎ از زبان C++‎‎‎‎‎‎ گرفته شده اند!

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

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

----------


## st@rter

> جمله منظورش رو به طور واضح بیان کرده، ربطی به اینکه با چه زبانی توسعه بافته نداره.
> 
> 
> این آمار نیز اشتباه است.
> نسخه‌های مختلف دات‌نت سایزی بین ۲۳ و ۴۸ مگابایت دارند.
> برنامه‌های کیوت نیز در حالت معمولی سایز ۱۹ مگابایت را دارند.
> 
> پ. ن: دوستان گرامی لطفاً از موضوع تاپیک منحرف نشوید وگرنه این یک تاپیک بی‌اهمیت خواهد شد و سرنوشتی جر قفل شدن نخواهد داشت.



دوست عزیزم شما یه برنامه معمولی مثلا سلام جهان رو بنویسید و برای بنده ارسال کنید ببینم چطور حجمش ۱۹ میشه تنها فایل های اصلی کیوت که برای اجرای برنامه لازم هستش ۸۰ مگ هستش

----------


## st@rter

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



برای بنده ثابت شده برنامه نویس های که در ایران با کیوت کار میکنن فقط برای قابلیت پشتیبانی از استایل با اون کار میکنند و اصلا سر در نمیارن از مدیریت حافظه و وقتی میان اینجا حرف میزنن ادعا میکنن که اره فلان و بهمان. (۱۰۰٪ ثابت شده برام)

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


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

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

در مقابل اون دات نت که در سال ۲۰۰۰ و ....

----------


## negative60

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







> همه qt کارا یک حرف رو تکرار کردن فقط سرعت سرعت سرعت سرعت و همه برنامه ها اساسی با C++‎‎‎‎‎ نوشته شده.
> حالا بنده یه سوال دارم.
> یه برنامه با جاوا نوشته میشه و همون برنامه با qt نوشته میشه و کارشون درج اطلاعات در دیتابیس و حذف هستش حالا چقدر مگه طول میکشه توی سرعت چند میکرو ثانیه.



انقدر تأثير داره که بيشتر برنامه هايی که باهاشون سر کار داريم و کار ميکنيم با ++C/C ساخته شده اند نه جاوا, ضمناً اگر قرار بر مقايسه باشه بايد تمام موارد مقايسه شوند مگر تمام برنامه ها فقط با ديتا بيس کار ميکنند؟





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


وقتی اين پژو با پرشيا تو جاده چند صد کيلومتری مسابقه بدن تفاوت کاملاً احساس ميشه





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



انشلا که هميشه برنده باشيد، کار کردن به معنی مسلط بودن نيست خود ديتابيس هايی که با دوتا کليک ازشون استفاده ميکنيد با ++C/C ساخته شده اند





> در مورد C++‎‎‎‎‎ کارای عزیز شما اگه واقعا C++‎‎‎‎‎ کار هستید خواهشا بدون drop and drag کار کنید بعد بگید کیوت فلان کیوت بهمان .


يعنی الان مشکل Qt شده شده درگ کردن کنترلها تو فورم؟؟ (که البته منظورتون محيط ويژال بوده) احياناً اين يک حسن نيست؟





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


به نکته خوبی اشاره کرديد کيوت در خدمت ++c هست نه ++c در خدمت کيوت اگر در چند دهه آينده ديگه کيوت وجود نداشته باشه برنامه نويس ++c چيزی از دست نخواهد داد نهايتاً به فرموورک ديگه مهاجرت ميکنه اما تو زبانهايی مثل جاوا يا دات نت شما در فريمورک محدود هستيد بدون فريمورک حتی برنامه شما اجرا هم نخواهد شد و اگر فردا دات نت يا جاوا تعطيل شوند برنامه نويس ها بايد دنبال زبان ديگری باشند






> و چون شرکت سان ارائه داده جاوا با دیتابیس های mysql و اوراکل بسیار زیبا مچ هستش


در ++c و زبان های ديگه هم امکان برقراری ارتباط با اين ديتا بيس ها به شکل بسيار ملوسی وجود داره




> و نقطه جالب اینه وقتی یک برنامه رو با جاوا مینویسید حجم برنامه + 37 مگ jvm هستش و تمام
> ولی برای دات نت 250 مگ و برای کیوت 80 مگ


خواهشن اطلاعات نداريد باعث گمراهی ديگران نشيد هميشه نياز نيست برنامه با آخرين فريمورک کامپايل بشه نسخه 2 دات نت 23 مگابايت هست حجم خروجی در کيوت به نوع کامپايلر و نوع کامپايل بستگی داره که کمترين شکل 3 مگابايت هست




> دوست عزیزم شما یه برنامه معمولی مثلا سلام جهان رو بنویسید و برای بنده ارسال کنید ببینم چطور حجمش ۱۹ میشه تنها فایل های اصلی کیوت که برای اجرای برنامه لازم هستش ۸۰ مگ هستش


جاوا امکان کامپايل استاتيک داره؟ :)
دانلود تست برنامه Qt5.4 حجم: 3.35 مگابايت




> برای بنده ثابت شده برنامه نویس های که در ایران با کیوت کار میکنن فقط برای قابلیت پشتیبانی از استایل با اون کار میکنند و اصلا سر در نمیارن از مدیریت حافظه و وقتی میان اینجا حرف میزنن ادعا میکنن که اره فلان و بهمان. (۱۰۰٪ ثابت شده برام)
> فقط شنیدن سی پلاس پلاس سرعت بالای داره و تمام افتاد تو دهنشون و همینو میگن ولی در برنامه نویسی از اینترنت یه چیزی ک‍پی میکنن و برنامه جواب میده و تمام
> کام‍‍‍پایل برنامه در کیوت چند ثانیه طول نمیکشه خیلی بیشتر طول میکشه و باید سیستم حتما بالا باشه. و برای مثال بنده که مک ندارم باید روی ماشین مجازی بیارم بالا و ... برنامه و دردسر دیگه برای خروجی گرفتن برای مک.


تمام برنامه نويس های کيوت در ايران زير نظر شما کار ميکنند که با اين اطمينان صحبت ميکنيد؟
ضعف ها و نادانسته ها خودتون در برنامه نويسی رو به گردن زبان و يا فريمورک نندازيد اون سيستم عامل و مجازی ساز هست که منابع زيادی نياز داره خود کيوت به هيچ وجه به منابع زيادی احتياج نداره و خروجی برنامه های معمولی به راحتی حتی در سيستم عامل مجازی در چند ثانيه کامپايل ميشند

----------


## danyalbursin

دوسنایه عزیز ++C خیلی تعصبی حرف میزنید!!!

بخدا ++C نزد ما ایرانیا منسوخ شده!!!

از لحاظ اقلانی بیاید صحبت کنیم!!!

کجای ایران میاد بهتون یه سرور بزرگ بده بسازید یا پروتکل بده بسازید که انقد  سنگ اینارو به سینه میزنید!!!

هرچی ++C و یاد بگیرید جز اینکه آخرش به جای دیگه سوئیچ کنید راهی ندارید! 
چون انقد کار واسش کم هست و 100% ما حداقل نصف علاقمون به برنامه نویسی درامدشه!

بخوا پول تو  ++C نیست تو ایران!


یه استاد داریم خدای نخبه برنامه نویسیه!!!

برنامه نویس قدر ++C هست بهم میگه ادامه نده ++C و چون تو ایران به هیچچ دزدی نمیخوره!


وقتی این همه زبون برای وب  مثل jsf و Php و البته asp.net mvc هست  خیلی عذر میخواما کسی خر نیست بخصوص تو ایران بیاد  با ++C کار کنه که!

منم نمیگم برید #C یاد بگیرید یا java.  !!!


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


بیاید همگی رو زبان های متفاوت وقت بزاریم!


بخدا الان تو ایران از کسی بپورسی ب نامه نویس چی هستی  یا میگه ++C یا مطمعا باشید %90 میگن #C


بیاید چیزای که نیاز جامعه هست و یادبگیرید!

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

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

----------


## st@rter

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

ولی خوب با جاوا و سی شارپ دیدم و واقعا عالی کار کردن نمونش سایت بانک ملت و یا cms دادگستری کل کشور هستش که با جاوا کار شده

----------


## pbm_soy

قبلا  هم گفتم دوباره خدمت بعضی از دوستان عرض میکنم
*لطفا سعی کنید مطالعه بیشتر داشته باشید و بیشتر تجربه کنید! وسعی کنید با دقت بیشتر پست بدید!
گفته هاتون با دلیل و مدرک باشه و یا منبع آنرا قید کنید*

منم خواستم اینجا شروع کنم به شمردن تعداد  نرم افزارهایی که با C/C++‎ نوشتن و یا تعداد برنامه نویسان و غیره! ولی واقعا جای تاسف دارد که وقت و انرژی و فضایی دیتابیس را با این پستهای ..... پر کنیم! :متعجب:   :متفکر: 
*بیائید کمی انتقادپذیر باشیم چیزی که ما ایرانیها از بالا تا پایین ، زیاد بلد نیستیم*

مثلا تو همین سایت خیلی وقتها دیدم یکی جوابی به یک پست داده نفر دیگه با یک لهن خیلی بد و بصورت تخریب آمیز پستهای عجیب و غریب دادن! (هرچند که طرف اشتباه کرده باشد اینکار صحیح نیست)
البته این مورد را توی این تاپیک ندیدم شاید هم مدیر عزیز فورا حذف کرده باشند

----------


## danyalbursin

دوست عزیز اخه غیر از اینه؟ منم واقعا قبول دارم  زبام برنامه نویسی ++C  خیلی خوب هست ولی تو ایران جواب گو منبع درامد اصلا نیس!

----------


## کامبیز اسدزاده

> دوسنایه عزیز ++C خیلی تعصبی حرف میزنید!!!
> 
> بخدا C++‎‎‎‎‎‎‎‎ نزد ما ایرانیا منسوخ شده!!!


آیا مطرح ترین برنامه ها و سیستم های نرم افزاری توسط ایرانی ها نوشته شده ؟! مگر دنیا با وجود ما ایرانی هایی که به جز کرک کردن چیزی بلد نیستیم در پیشرفت میکنه !؟!!! آیا شما به عنوان یک شخص ایرانی که دم از C#‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎  ‎‎‎‎‎‎‎‎‎‎‎ یا Java میزنی برنامه ای رو نوشتی که تو دنیا مطرح بشه ؟!  :متفکر:  آیا رشته شما مهندسی کامپیوتر هستش ؟ 




> از لحاظ اقلانی بیاید صحبت کنیم!!!
> کجای ایران میاد بهتون یه سرور بزرگ بده بسازید یا پروتکل بده بسازید که انقد  سنگ اینارو به سینه میزنید!!!


سرور بزرگ ؟! مگر برای برنامه نویسی با C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎  ‎‎‎‎‎‎‎‎‎‎‎ سرور نیازه ؟  :قهقهه:  :متعجب:  :لبخند گشاده!:  



> هرچی ++C و یاد بگیرید جز اینکه آخرش به جای دیگه سوئیچ کنید راهی ندارید! 
> چون انقد کار واسش کم هست و 100% ما حداقل نصف علاقمون به برنامه نویسی درامدشه!


بنده به عنوان یک شخص ایرانی بعد از 8 سال برنامه نویسی با Java , یا پایه دات نت مثل C#‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎  ‎‎‎‎‎‎‎‎‎‎‎ و ... آخرش سوئیچ کردم رو C++‎‎‎‎‎ 
صحبت از کار میکنید ! برنامه نویسه C++‎‎‎‎‎ اگه برنامه نویس باشه میتونه هم کاه هم کوه رو با C++‎‎‎‎‎ خلق کنه ! وقتی دانشگاه های محترم و مثلا پیشرفته مملکته شما و من میان از نسخه  C++‎‎ 98 برای تدریس استفاده میکنن و به جز محیط سیاه کنسولیه بدبخت چیزی رو برای دانشجو ها معرفی نکرده اند مشخصه که که وضع این میشه ! وقتی اساتید محترم دانشگاهی با C#‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎  ‎‎‎‎‎‎‎‎‎‎‎ کار کردن رو به خاطر درگ دراپ و راحتی کار خودشون برای دانشجو ها تدریس میکنند نتیجش میشه این دیگه عزیز من !




> بخوا پول تو C++‎‎ نیست تو ایران!


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




> یه استاد داریم خدای نخبه برنامه نویسیه!!!
> برنامه نویس قدر ++C هست بهم میگه ادامه نده ++C و چون تو ایران به هیچچ دزدی نمیخوره!


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




> وقتی این همه زبون برای وب  مثل jsf و Php و البته asp.net mvc هست  خیلی عذر میخواما کسی خر نیست بخصوص تو ایران بیاد  با ++C کار کنه که!
> منم نمیگم برید #C یاد بگیرید یا java.  !!!


شما درک کافی از زبان های برنامه نویسی ندارید ! چرا ؟ چون فکر میکنید قراره یک برنامه نویس بیاد توسط یک زبان همه چیز رو طراحی کنه ! چرا باید چنین باشه ؟ برای مثال یک سایت شماره یک رو بهتون معرفی کنم که هرکس میاد مینویسه گوگل با جاواست ! خب همین آقا یا خانم گوگلی که فکر میکنید جاواست آیا این رو میدونید هسته اصلیه اون با C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎  ‎‎‎‎‎‎‎‎‎‎‎ هستش ؟ در مورد V8 Engine مطالعه کردین ؟ حال اینکه با جاوا میاد یک بخشی از گوگل رو مینویسه دلیل میشه بگیم جاوا خیلی خوبه ؟! اگر چنین بود فیسبوک نمیومد کله هسته وب سایتش رو باز نویسی کنه توسط C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎  ‎‎‎‎‎‎‎‎‎‎‎ تا موتوری به نام HipHop رو بده بیرون تا ملیارد ها ملیارد هزینه بمونه تو جیبش  :متفکر:  :چشمک: 




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


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




> بخدا الان تو ایران از کسی بپورسی ب نامه نویس چی هستی  یا میگه ++C یا مطمعا باشید %90 میگن #C
> بیاید چیزای که نیاز جامعه هست و یادبگیرید!
> نه چیزای که به درده کسی تو کشورمون نمیخوره!
> البته باز یه سری دوستان الان میگن  داری سنگ Ruby و به سینه میزنی!!!
> اصلا یه تعدادی برن node js با اون قدرتی که داره یاد بگیرن و زبونای دیگه بخدا هممون استعدادشو داریم ولی فقط و ففط و فقط رو تعصب و قدرت زبان بهس میکنیم نه رو نیاز جامعه و جهانی!


منظور شما قدم گذاشتن در راه پیشرفته مملکت هست درسته ؟! خب پس چرا سعی میکنید راهی رو که مدرنترین مملکت ها پیش میرن رو نادیده بگیرید !؟ مرغ ما یک پا داره درسته ؟!  :متفکر: 





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


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

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




> دوست عزیز اخه غیر از اینه؟ منم واقعا قبول دارم  زبام برنامه نویسی C++‎‎‎‎‎‎‎‎ خیلی خوب هست ولی تو ایران جواب گو منبع درامد اصلا نیس!


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

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

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

جواب سوال ؟ شما که دم از پیشرفت میزنید آیا میدانید سنگینترین و بزرگترین کمکی رو که ناسا میکنه شامل کمک به تمامی انسان های روی کره زمین هستش ؟ آیا میدانید که این سازمان تمامی برنامه های خودش رو بر پایه C++‎‎‎‎‎‎‎‎ توسعه میده ؟ از این سرتر خواهید بود ؟  :قهقهه: 

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

----------


## st@rter

> آیا مطرح ترین برنامه ها و سیستم های نرم افزاری توسط ایرانی ها نوشته شده ؟! مگر دنیا با وجود ما ایرانی هایی که به جز کرک کردن چیزی بلد نیستیم در پیشرفت میکنه !؟!!!
> آیا شما به عنوان یک شخص ایرانی که دم از C#‎‎‎‎‎‎‎‎‎‎‎‎‎‎ یا Java میزنی برنامه ای رو نوشتی که تو دنیا مطرح بشه ؟!  آیا رشته شما مهندسی کامپیوتر هستش ؟ 
> 
> سرور بزرگ ؟! مگر برای برنامه نویسی با C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎ سرور نیازه ؟  
> 
> بنده به عنوان یک شخص ایرانی بعد از 8 سال برنامه نویسی با Java , یا پایه دات نت مثل C#‎‎‎‎‎‎‎‎‎‎‎‎‎‎ و ... آخرش سوئیچ کردم رو C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎ 
> صحبت از کار میکنید ! برنامه نویسه C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎ اگه برنامه نویس باشه میتونه هم کاه هم کوه رو با C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎ خلق کنه ! وقتی دانشگاه های محترم و مثلا پیشرفته مملکته شما و من میان از نسخه 98 C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎ برای تدریس استفاده میکنن و به جز محیط سیاه کنسولیه بدبخت چیزی رو برای دانشجو ها معرفی نکرده اند مشخصه که که وضع این میشه ! وقتی اساتید محترم دانشگاهی با C#‎‎‎‎‎‎‎‎‎‎‎‎‎‎ کار کردن رو به خاطر درگ دراپ و راحتی کار خودشون برای دانشجو ها تدریس میکنند نتیجش میشه این دیگه عزیز من !
> 
> 
> ...



شما زحمت بکش یه برنامه که به زبان C++‎ نوشته شده و توسط برنامه نویسی ایرانی نوشده شده باشه *بزارید برای دانلود* 
بنده کاملا حرف های شما رو قبول خواهم کرد.

----------


## کامبیز اسدزاده

> شما زحمت بکش یه برنامه که به زبان C++‎‎ نوشته شده و توسط برنامه نویسی ایرانی نوشده شده باشه *بزارید برای دانلود* 
> بنده کاملا حرف های شما رو قبول خواهم کرد.


من حرفی از قدرت برنامه نویسان ایرانی نزدم که محصولات ایرانی رو بزارم برای دانلود ! خودتون میتونید جستجو کنید ! چرا چوت ایرانی جماعت کپی بردار هستند نه خود نویس !
بنا براین اشخاصی هم که توانایی برنامه نویسی با C++‎ را دارند هیچوقت نمیان ریسک کنن برنامرو بزارن رایگان برای دانلود مگر نمیگم هدف از پروژه کاملا رایگان باشه !
معمولا برای دریافت برنامه های نوشته شده توسط ایرانی ها توسط C++‎ باید سفارشی کار کنید برای سفارش برنامه های تحت C++‎ شما در وب سایت خود ما میتونید اقدام به تماس و درخواست نرم افزار کنید براتون نوشته خواهد شد به صورت انحصاری  :چشمک:  البته شما میتونید بعد از اتمام تاریخ شمار یکی از پروژه های مطرح توسط C++‎ رو در همین Nanosoft دریافت و بررسی کنید.

فراموش نکنید برنامه های نوشته شده توسط C++‎ قابل مقایسه با C#‎ نیستند بنابراین نباید انتظار برنامه های مهم و کاربردی و حجیم رو به صورت رایگان داشته باشید.

----------


## st@rter

بنده دیگه حرفی ندارم

چون فقط از برنامه نویسان C++‎ فقط حرف شنیدم

----------


## Desaghi

از google trende استفاده کنید.کیوت فقط در چند تا استان بود.

----------


## کامبیز اسدزاده

> بنده دیگه حرفی ندارم
> چون فقط از برنامه نویسان C++‎‎ فقط حرف شنیدم


مگر قرار بود از برنامه نویسان C#‎ جواب بشنوی ؟ تا جایی که بنده میدونم اینجا تالار های C++‎ هست نه دیگر زبان ها !  :متفکر:  و شما سوالتون راجب C++‎ بوده نه C#‎ پس مسلما من یا اشخاصی که با این زبان آشنا هستند پاسخ در رابطه با این سوال میدهند.

----------


## negative60

> مگر قرار بود از برنامه نویسان C#‎‎ جواب بشنوی ؟ تا جایی که بنده میدونم اینجا تالار های C++‎‎ هست نه دیگر زبان ها !  و شما سوالتون راجب C++‎‎ بوده نه C#‎‎ پس مسلما من یا اشخاصی که با این زبان آشنا هستند پاسخ در رابطه با این سوال میدهند.


با چه کسانی در مورد ++c بحث ميکنيد؟  
پست ها و سؤالات قبلی اين کاربر ها رو جست جو کنيد متوجه ميشيد که حتی چند ماه هم نيست شروع به يادگيری برنامه نويسی کردن اونوقت ++c رو به چالش ميکشند! حيف وقت تايپ کردن نيست ؟

----------


## ehsan_faal

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

----------


## chikar

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

بفرمایند دوستان نرم افزارهای مطرح و بزرگی که از کیوت استفاده کردند رو در این لینک مشاهده کنند
این لینک هم جنبه آموزشی داره و برنامه های کوچک کیوت هست

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

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

----------


## بهروز عباسی

سلام




> با چه کسانی در مورد ++c بحث ميکنيد؟ 
> پست ها و سؤالات قبلی اين کاربر ها رو جست جو کنيد متوجه ميشيد که حتی چند ماه هم نيست شروع به يادگيری برنامه نويسی کردن اونوقت ++c رو به چالش ميکشند! حيف وقت تايپ کردن نيست ؟


به چالش کشیدن مشکلی نداره هرکس که فقط به یه موضوع تسلت یا حتی علاقه داره ممکنه فک کنه اون از همه بهتره٬ شما استاد c و C++‎ دوستمون استاد چیز دیگه هرکدوم تو کار خودتون حرفی واسه گفتن دارین. همه بعد از مدتی تجربه کسب میکنن و به راه راست هدایت میشن. :دی
گفتی تایپ یاد اشپیلن افتادم :لبخند گشاده!: 


من خیلی خلاصه وار بحثو خوندم٬ تجربه ثابت کرده این بحثا به جایی نمیرسه فقط تمدید میشه !

هم با قند میشه چای خورد هم با کشمش٬ یکی مشکل قند داره با کشمش میخوره یکی هم مشکلی نداره قند رو دوتا دوتا میزنه تو چای:)٬انقدر جر و بحث نکنید ببینید با چه زبانی راحت ترین و میتونید بهتر کد بزنید که هم خدا راضی باشه هم کارفرما هم برنامه خروجی بهتر باشه همونو ادامه بدین.
این همه داستان نداره به خدا٬ برنامه نویس نباید انقدر در قید و بند زبان باشه(باید برنامه نویسی بلد باشه)٬ این حرفا مال ایران نیست که میگن استخدام برنامه نویس مسلط به طراحی دیتابیس٬ UI فریم ورک فلان٬ تعمیر سماور سخن گو٬‌اشپز و داور فوتبال !!
خیلی کم هستن شرکت هایی که میتونی بری بگی من اینو بدلم اونم بگه بفرما در بخش مربوط به "این" کار کن!

بازار کار هرزبانی بسته به فیلدکاری خوبه٬
 سیستمی کار میکنی زبان های Nativeمثل c/C++‎ یا دلفی باید بلد باشی خب کسایی که دلفی بلدن ممکنه کمتر از سی کارها باشه به همین خاطر بیشتر شرکت ها سی کار میخوان که فردا دلفی کارها منقرض شدن برنامه هاشون کپک نزنه (نیاز به مثال هم نداریم دیگه).

برنامه های مرتبط با بانک اطلاعاتی مینویسی ٬ خب دلفی و سی شارپ و ... امکانات خیلی خوبی ارائه میدن ولی خب محبوبیت الان دات نتی ها بیشتره پس باید اینو بلد باشی.

و  همینجور الی آخر.

همگی موفق و پیروز باشین.

----------


## negative60

> به چالش کشیدن مشکلی نداره هرکس که فقط به یه موضوع تسلت یا حتی علاقه داره ممکنه فک کنه اون از همه بهتره٬ شما استاد c و C++‎‎‎‎‎‎‎‎ دوستمون استاد چیز دیگه هرکدوم تو کار خودتون حرفی واسه گفتن دارین. همه بعد از مدتی تجربه کسب میکنن و به راه راست هدایت میشن. :دی
> .
> گفتی تایپ یاد اشپیلن افتادم


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

----------


## کامبیز اسدزاده

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

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

موفق باشید.

----------


## pswin.pooya

دوستان زمانی حرف های شما اعتبار داره که بتونید دلیل کافی بیارید. زبان C++‎‎‎‎ از چند جهت نسبت به زبانهای دیگه برتری داره:


1. سرعت بالا (که کسی در موردش شک نداره)
2. امکان استفاده از تمامی امکانات سیستم و سیستم عامل (که بازم ایرادی بهش وارد نیست و همه می دونن)

3. کتابخانه هاش. متاسفانه اکثر دوستان در مورد این هیچ اطلاعاتی ندارن. کتابخانه‌های این زبان به تنهایی کافیه که نسبت به زبانهای دیگه ارجهیت پیدا کنه. دوستانی که سنگ مواردی مثل شبکه رو به سینه می زنن باید بدونن که حتی کتابخونه های متن باز C++‎‎‎‎ برای شبکه هم  برای برتری داشتن اون توی شبکه کافیه مثل:
*poco*project.org/

و البته توی هر زمینه ای که فکرش رو بکنید کتابخانه موجوده، از کار با فالیهای گرافیکی مثل Maya گرفته (که توسط خود Auto-desk منتشر شده) تا فایلهایی ویدیی (مثل FFMPEG) و یا حتی کار با فایلهای فونت. و یا هوش مصنوعی، شبیه سازی فزیک، گرافیک سه بعدی، صوت سه بعدی، کار با فایلهای تصویری و .... اینقدر این کتابخونه ها زیاد و متعدد هستن و در عین حال کامل هستن که هیچ جای رقابتی برای هیچ زبان دیگه ای نموده حتی در C#‎‎‎‎ هم از Wrapper های C++‎‎‎‎ استفاده میشه.

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

4. ساختار زبانی. ساختار به ظاهر پیچیده C++‎‎‎‎ در پروژه های متوسط به بالا دقیقا برعکس جواب میده و باعث میشه نه تنها پیچیدگی پروژه کاهش پیدا کنه بلکه امکان مانور هم بالا بره. مثلا هم اینکه کتابخانه ها Reference نیستن مثل C#‎‎‎‎ شاید در اول به نظر بیاد کار رو سختر می کنه اما بعد از مدت کوتاهی متوجه می شید که امکانات بیشتری به شما داده. به عنوان مثال شما می تونید DLL های مختلفی از یک کتابخانه رو تست کنید که خوبیش اینکه که حتی انتخاب اونها رو می تونید از داخل کد هم انجام بدید که در عمل اگر بخوایین یک رفرنس رو توی سی شارپ حذف کنید ممکنه براتون تبدیل به یه دردسر بزرگ شه.

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

5. ساختار نوین زبانی. همنطور که توی پست قبلی هم اشاره کردم ساختار زبان C++‎‎‎‎ مرتبا به روز میشه و در این بین امکانات جدیدی بهش اضافه میشه که برخی از اونها در هیچ زبان دیگه ای نیست که اگر می خوایید بیشتر در موردشون بدونید کافیه Wiki رو مطالعه کنید.


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

یه مورد دیگه که خیلی باعث تعجبم شد بحث در مورد سایز خروجی برنامه های زبان C++‎‎‎‎ بود. مطمئن باشید که شما با هیچ زبانی نمی تونید خروجی کوچیک مثل C++‎‎‎‎ تولید کنید. خروجی شما از C++‎‎‎‎ نزدیکترین خروجی به زبان اسمبلی است همین برنامه ساده Hello world رو میشه با کمتر از یکی دو کیلوبایت نوشت. اینکه توی برخی از موارد حجم برنامه زیاد میشه از زبان C++‎‎‎‎ نیست بلکه از کتابخونه ها است که مثلا میشه به CRT و یا کتابخونه هایی مثل Qt اشاره کرد. مورد بعدی حجم برنامه ساختار فایل اجرایی (مثلا PE) و داشتن قالبلیتهایی مثل PIC (Position independent code ) است. که همنطور توی تاپیک زیر اشاره شده بنا به ادعای طرف حجم برنامه رو میشه تا 700 بایت هم کاهش داد:

http://stackoverflow.com/questions/1...xhello-app-exe

متاسفانه مشکل برنامه نویسهای C++‎‎‎‎ با برنامه نویسهای دیگه. مشکل برنامه نویسهای آماتور با برنامه نویسهای حرفه ای است. برنامه نویسهای زبان های دیگه مثل جاوا و سی شارپ توی اغلب موارد کاملا آماتور هستند و شبیه افرادی صحبت می کنن که میری سیستمشون رو راه می اندازی بعد میگن اینکه 5 دقیقه شد چرا مثلا 200 تومن می خوای؟ خب اگر طرف حالیش بود که اصلا همچین چیزی نمی گفت. برنامه نویسهای C++‎‎‎‎ کلا باید یه وقت بزارن که به بقیه بگن چی وجود داره و باید چه شکلی فکر کنی تا اونها قانع بشن که در اغلب موارد بی فایده است. 

تنها چیزی که می تونم بگم اینه که شما یه کار نام ببر که برنامه نویسهای C++‎‎‎‎ نتونن اون رو به بهترین شکل ممکن انجام بدن و بیا من لیستی از برنامه های مختلف رو به شما بدم که حتی توی زبانهای دیگه قابل اجرا نیست. (حتی برنامه نویسهاشون جرات فکر کردن بهش رو نداشته باشن).

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

----------


## golbafan

من با آقا پویا کاملا موافقم...
مشکل برنامه نویسهای ما اینه که فکر میکنن کار با sqlserver و نقاشی کردن با visualstudio رو بهش میگن برنامه نویسی  :لبخند گشاده!: 
اگه بهشون بگی یه برنامه برای میکرو یا اِمبدِد یا سیستمی بنویس یا حتی برنامه ای برای پردازش سریع تصاویر (مثلا شناسایی چهره) اونوقته که متوجه میشن هنوز برنامه نویس نشدن

تو دنیای غیر از ایران فقط کسانی رو که c یا ++c بلدن بهشون میگن برنامه نویس. حالا اگر کسی برنامه نویس بود (یعنی c بلد بود) دیگه براش کاری نداره *سینتکس* زبونهای دیگه رو هم بخونه

----------


## pswin.pooya

> شما زحمت بکش یه برنامه که به زبان C++‎‎‎‎‎ نوشته شده و توسط برنامه نویسی ایرانی نوشده شده باشه *بزارید برای دانلود*


وای خدای من. این رو ندیده بودم. بیا 1000 تا بزارم:

http://sourceforge.net/projects/kge/
http://sourceforge.net/projects/hmrengine/
http://sourceforge.net/projects/arax/
http://sourceforge.net/projects/cyrusscript/
و ...

اینها تنها پروژه هایی بود که من و دوستان نزدیکم کار کردیم




> متاسفانه C++‎‎‎ کار های ایرانی فقط حرف میزنن بنده که تا الا هیچ  برنامه ایرانی ندیدم که با C++‎‎‎ باشه و توسط بچه های ایران باشه


http://sourenagames.com/
http://www.seganx.com/
http://www.hmrengine.com/
blog.araxos.ir
http://www.sourenaco.ir/
http://www.fanafzar.com/ (موتور بازی گرشاسپ و البته خود آنریل هم که به تازگی استفاده می کنن نیاز به کد زنی C++‎‎ داره)


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

----------


## کامبیز اسدزاده

> متاسفانه تو ایران حرف بی دلیل زدن باب شده. من نمی دونم با کدوم دانش داری همچین ادعایی میکنی؟


خیلی از اشخاصی که چنین سوالاتی میکنند خب مثل این عزیز فعلا تکلیفشون با خودشون مشخص نیست !   :لبخند گشاده!: 
https://barnamenevis.org/showthread.p...9F%D8%9F%D8%9F

بهترین روش این هستش که کاربران و مراجعه کنندگان یه نگاهی به تجربیات و تعداد پست و تشکر های بقیه داشته باشند یا اینکه برای رسیدن به حقیقت تحقیق و جستجو کنند ! ما که نمیگیم بیایید هرچی ما میگیم رو بپذیرید ! خب تحقیق و جستجو برای این چیزاست دیگه ، خدارو شکر هزارو یک جور منبع و مستندات معتبری وجود داره اگه نبودند وضعیت بدتر از این بود.

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

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

----------


## pswin.pooya

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


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

----------


## کامبیز اسدزاده

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


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

در این بخش بیایید مشورت کنیم همین موضوع رو هم بیان کنید لطفا : https://barnamenevis.org/showthread.p...%D8%A7%DB%8C-C

----------


## shahin bahari

به نظر من هم این بحث ها بیخوده و هر زبان کاربرد خودش رو داره. درسته که سی سرعت خیلی بهتری داره ولی خیلی جاها به این سرعت نیاز نیست و به قولی برای کشتن مرغ نیازی به چاقوی گاو کشی نیست!!! یه جا سرعت اجرا برنامه اهمیت داره، یه جا سرعت تولید برنامه. خود من چون با میکرو کنترلر ها و این داستان ها کار میکنم زبان سی++ رو بلدم و از توانایی های اون با خبرم ولی اگه برای اندروید و یا ویندوز بخوام کدی رو بزنم جاوا رو ترجیح میدم. این سلیقه و شرایط من هست و دلیل نمیشه که غلط باشه! شاید اگه یه روزی یه برنامه برای اندروید خواستم بنویسم که الگوریتم سنگینی داشت حتما با سی ++ می نویسم و با JNI  و NDK  داخل کد های جاوا میارمش. کاری که خیلی از برنامه های سنگین در حال حاضر انجام میدن.
به قول یه دوستی : زبان وسیله هست! برنامه نویسی رو بیاموز!




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


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

اجرای بایت کد های جاوا روی AVR ( پردازنده 16 مگاهرتزی و 1 کیلو رم): کاربردی نیست ولی جالبه!
http://www.harbaum.org/till/nanovm/index.shtml
https://github.com/kosch/NanoVM

شرکت st رابطی رو پیاده کرده که با جاوا برای میکرو ها برنامه نوشت:
http://www.st.com/web/en/catalog/too...=stm3220g-java
http://www.st.com/web/en/catalog/too...?sc=stm32-java
یه فیلم هم داشتم که روی یکی از برد های keil  میومد و jvm  رو میریخت .جطوریش رو نفهمیدم ولی به نظر خود jvm داخل میکرو بود و برنامه های جاوا رو از داخل sd card اجرا میکرد. به LCD و شبکه و... دسترسی داشت. تو youtube سرچ کنید فیلم های زیادی هست در این مورد.

مورد آخر هم اینکه شرکت اتمل یکی از میکرو هاش رو با قابلیت پشتیبانی از زبان های .net ارائه کرده! هسته و خود میکرو قدیمی هست نسبتا ولی بی ربط با بحث اینجا نیست. نحوه کارش هم به این شکل هست که کد های خروجی .net رو مستقیم اجرا میکنه.
http://blog.iimplement.net/post/Requ...roduction.aspx

این میکرو تو ایران هم پیدا میشه. برای اینکه تبلیغات نباشه لینک نمیدم اما توضیحاتش اینه:
این میکرو در ایران پیدا نمیشد که وارد شد
 خوبی این میکرو این هست با .NET MICRO میشه براش برنامه نوشت در صورتیکه در موردش اطلاعی ندارید به این سایت مراجعه کنید

http://blog.iimplement.net/post/Requ...roduction.aspx
 این میکرو دقیقا مشابه X256 هست فقط فرقش در مقدار حافظه و رم اون هست و میشه با دات نت میکرو براش برنامه نوشت
 و پایه هاش دقیقا با برد ---- مچ هست و میتونید میکرو تون رو عوض کنید و بجاش X512 بذارید

----------


## danyalbursin

دوستان تازه وارد مثل من یا کلا کسایی که میخوان برنامه نویس بشن و نمیخوان مثل بعضیا که فرق زرت و از پرت تشخیص نمیدن بیان نظر بدن تو این  بخش کلا c نیان بخدا هیچ کدوم نه برنامه نویسن نه چیزی!!!

دوستان تو این تاپیک میگن جاوا به هیچ درد نمیخوره و برای همه کار از مطره خودشون qt خوبه!!!

ولی اگه یه سایت خارجی بخونید میبینید که جدیدا تو تمام دانشگاه های آمریکا داره جاوا تدریس میشه و استرالیا و کانادا بسیار زیاد دارن رو برنامه نویسان جاوا سرمایه گذاری میکنند!!!

من دلیل دارم که جاوا خوبه!!! مدرک دارم که خوبه!!!

سی پلاس پلاس هم خوبه ولی فقط و فقط برای کمپانی ها که تولید کننده نرم افزار و زبان برنامه نویسی هستن!

نه برای یه مشت آدم که نمیدونن به چه دردی میخوره و الکی میگن برنامه نویس ++C هستیم!!!

البته به غیر از یه سری دوستان که بهم ثابت شده اطلاعاتشون تو برنامه نوسسی بالاس من به اونا چسارتی نمیکنم یا اگه با این حرفا اونارو ناراحت کردم معذرت میخوام !!!!

خلاصه کلا کسی تو اینجا نیاد که بد گمراه میشه بد!!!

تمامه دنیا میگن #C و Java ولی نمیدونم چرا جمع نخبگان این تاپیک میگن این دوتا به درد نمیخورن!!!

----------


## pswin.pooya

> مثلا خود من خیلی دوست دارم که بتونم تو کدهام از C++‎‎‎‎11 استفاده کنم ولی  متاسفانه کامپایلر هایی که تست کردم همه به 98 وفادار بودن.


شما می تونید از کامپایلر G++ استفاده کنید که تحت ویندوز هم امکان راه اندازیش هست. منتها فکر نکنم راحتی کار با کامپایلرهایی مثل CodeVision و یا Keil رو داشته باشه. فکر کنم حتی مجبور شید یه قسمت از کتابخونه ها رو دوباره بنویسید. 



> اجرای بایت کد های جاوا روی AVR ( پردازنده 16 مگاهرتزی و 1 کیلو رم): کاربردی نیست ولی جالبه!
> http://www.harbaum.org/till/nanovm/index.shtml
> https://github.com/kosch/NanoVM


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




> مورد آخر هم اینکه شرکت اتمل یکی از میکرو هاش رو با قابلیت پشتیبانی از  زبان های .net ارائه کرده! هسته و خود میکرو قدیمی هست نسبتا ولی بی ربط با  بحث اینجا نیست. نحوه کارش هم به این شکل هست که کد های خروجی .net رو  مستقیم اجرا میکنه.


کویر آورده بودش. (برای جاوا هم داریم.) منتها این هم ایراد داره. چون پیاده سازی سخت افزاری اینها زبانها (بایت کد آنها) نیازمند پردازنده های CISC و یا پردازنده های RISC با رابط CISC است که از نظر طراحی نه تنها هزینه تولید بالا میره بلکه بخاطر تعداد ترانزیستور زیاد نه تنها امکان تولید اونها سختر می شه. بلکه حتی بعد از یه بازه فرکانسی و اندازه سیلیکون دای غیر ممکن می شه که در آینده نزدیک با پیشرفت نیازها و پردازنده ها عملا اونها از بازار حذف میشن. (همنطور که الان هم به زور می شه پیداشون کرد و طرفدار ندارن). فقط کافیه به تفاوت پردازنده های ARM و x86 توجه کنید. ما الان حتی پردانده 16 هسته ARM داریم که نه تنها پردازنده نیست بلکه یک SOC هم هست اما یه پردازنده 8 هسته اینتل مثل Corei7 هم از نظر اندازه و هم از نظر تشکیلات کنار و ... به مراتب عقب تر است. (البته گفتن عقبتر یکم بی انصافیه چون امکانات پردازنده ای اینتل فعلا توی هیچ پردازنده دیگه ای نیست ولی از نظر معماری کامپیوتر پردازنده اینتل شبیه یه پرداید می مونه که مرتبا بهش دم و دستگاه اضافه کردن و در مقابل ARM اینجا از نظر معماری نقش یه بوگاتی رو بازی می کنه که اگر بهش دم دستگاه اضافه کنن اصلا قابل قیاس نمیشه.) 

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

کلا شما می تونید نه تنها با ساختن VM جاوا رو اجرا کنید بلکه می تونید هر زبان دیگه رو هم روی اینها اجرا کنید. خلاصه یه برنامه نوشتید که کارش اجرا کردن یه برنامه دیگه هست و توی نرم افزار نشد نداریم. منتها واقعا این همون کامپایلر و یا VM جاوای هست که روی PC می شناسیم؟!

----------


## Amir 2010a

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

کلا دنیای برنامه نویس یدست کراس پلتفورم ها و زباتهای استاندارد است

----------


## st@rter

> وای خدای من. این رو ندیده بودم. بیا 1000 تا بزارم:
> 
> http://sourceforge.net/projects/kge/
> http://sourceforge.net/projects/hmrengine/
> http://sourceforge.net/projects/arax/
> http://sourceforge.net/projects/cyrusscript/
> و ...
> 
> اینها تنها پروژه هایی بود که من و دوستان نزدیکم کار کردیم
> ...



نمیخواستم جواب بدم ولی دیدم نشد. بنده گفتم برنامه ایرانی که با C++‎ نوشته شده نه دوتا سایت که هیچی توش نیست و چندتا برنامه خارجی.

دوما همه شما که دارید میگید سی پلاس پلاس همش زیر سایه کیوت هستش و اگه کیوت نباشه یعنی هیچی.


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

بهتر شما بگید ما کیوت کاریم نه سی پلاس پلاس

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


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

----------


## ehsan_faal

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

----------


## کامبیز اسدزاده

دوست عزیز شما اطلاعاتتون چقدره در مورد C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ ؟ کاش جوابی نمیدادید بهتر از این بود !
هزاران بار در مورد C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ توضیحات داده شده است...
این زبان به کمک کتابخانه هایی که داره برتری خودش رو ثابت میکنه !
همین فوتوشاپ رو فرض کن شما... فکر میکنی در Turbo نوشته شده ؟ یا فقط با یک هیدر iostream نوشته شده ؟ خیر چنین نیست ! قدرت C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ در کتابخانه هاش هست شما وقتی با یکی از کتابخانه ها مثلا Qt کار میکنید وقتی داری کد نویسی میکنی دقیقا داری با زبان C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ کد می نویسی !
کاملا مشخصه شما حی 10 درصد از این زبان شناخت ندارید  ! یعنی هنوز که هنوزه شما فکر میکنید Qt یک زبانه  :لبخند:  بزارید روشنتون کنم...




> نمیخواستم جواب بدم ولی دیدم نشد. بنده گفتم برنامه ایرانی که با C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎   نوشته شده نه دوتا سایت که هیچی توش نیست و چندتا برنامه خارجی.
> دوما همه شما که دارید میگید سی پلاس پلاس همش زیر سایه کیوت هستش و اگه کیوت نباشه یعنی هیچی.


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




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


کامپایلر؟! از کی تا حالا Qt کامپایلر محسوب میشه ؟! 
لیست کامپایلر های C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ : https://en.wikipedia.org/wiki/List_of_compilers
این اشتباهه و بارها بنده به شخصه اشاره کردم کیوت یک کتابخانه هست نه یک زبان !




> سی پلاس پلاس یعنی برنامه رو با توربو سی بنویسی یا برنامه های امسال این نه اینکه دوتا باتن توی کیوت بزارید کدهارو قرار بدین بعید بگین ما سی پلاس پلاس کاریم


برنامه نویسی C/C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ به قدری سخت و وقت گیر هستش که کیوت رو دادن تا امسال بنده یا اشخاصی که وقت براشون مهمه وقتشون رو برای طراحی نگذارند ! بلکه وقتشون رو بزارن در هسته نویسی و به کمک کمترین کد نویسی رابط کاربری رو ایجاد و کد های اصلی که شامل کلاس ها و توابع هست رو برنامه نویسی کنند  :لبخند: 
بزارید یک مثال بزنم شما مثال های ایرانی دوست دارید ظاهرا : این لینک رو دقت کنید : http://nanosoftco.com/products/cross-x-engine.html
هسته ای که توسط C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ نوشته شده و در کتابخانه ها و سیستم عامل های مختلف با سخت افزار های ذکر شده قابل استفاده هستش ! پس من باید بیام بگم من cross x نویسم نه C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ نویس ! چون با استفاده از این هسته که آماده کردم کار بر روی هر پروژه رو حد اقال تا 80% راحتر کردم وقت اصلی رو صرف کد نویسی های مورد نیاز میکنم نه طراحی و نه توابع و کلاس نویسی های اضافی ! این یکی از قابلیت های C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ هستش که به شما اجازه میده برای خودتون هر نوع کتابخانه یا هسته ای خواستید برای هر کاری بنویسید.
[/QUOTE]




> همین پروژه سرور لایت آقای اسدزاده همش زیر سایه کیوت هستش و اگه کیوت یه روز نباشه پروژه شکست خورده


باور بر این داشته باش Qt هم نباشه هیچ پروژه ای لنگ نمیشه...

حالا یه چند تا مثال میزنم امیدوارم یکم شناختتون در مورد Qt و C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ روشنتر بشه :

این کد رو در نظر بگیرید ، از کتابخانه های پیشفرض C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ استفاده شدهیعنی از iostream داریم استفاده میکنیم پس در خود زبان شما بدون استفاده از کتابخانه هیچ کاری نمیتونی بکنی !


#include <iostream>


using namespace std;


int main()
{
cout << "Welcome to C++‎‎ Programming language! \n";
return 0;
}





حالا اجازه بدین یه مثال از کتابخانه Qt بزنم :


#include <QDebug>


int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);


    qDebug() << "Welcome to C++‎‎ Programming language!\n";


    return a.exec();
}




خب حالا شما در نظر بگیر این دو تا نمونه چه فرقی باهم دارد ؟ تابع main هست اصول اینکلود در جاه قوائد زبان کاملا در جاشه فقط با این تفاوت که ترجیحا از qDebug که عمل چاپ رو اینجا انجام میده استفاده شده این کجاش کیوت هست ؟!
حالا من به جای این qDebug از همون iostream استفاده میکنم :


#include <iostream>


using namespace std;


int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);


    cout << "Welcome to C++‎‎ Programming language! \n";
    return a.exec();
}






چه فرقی کرد؟ میبینید که دست برنامه نویس از هر جهت بازه ! این قدرت و انعطاف پذیری رو شما میگی Qt؟ یا میگی قابلیت زبان C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎؟

حالا بزار یه مثالیم از کتابخانه Poco بزنم... آخه اینم از نظر شما باید یه زبان محسوب بشه !


#include "stdafx.h"
#include <Poco/String.h>
 
using Poco::trim;
 
int _tmain(int argc, _TCHAR* argv[])
{
    std::string hello("            Hello, world!          ");
    std::string s1(trim(hello)); // "Hello, world!"
     
    std::cout << s1;
 
    return 0;
}


خب نظرتون چیه ؟ بازم C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ کار نیست کسی که با این روش چاپ میگیره ؟

اینم خدمت شما که متوجه بشید کتابخانه های C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ هر کدام برای اهدافی درنظر گرفته شده اند : http://en.cppreference.com/w/cpp/links/libs
برای مثال در مورد طراحی رابط گرافیک : GTK , Qt , wxWidget پیشنهاد میشه و از همشون قدرتمندتر Qt هستش.

در رابطه با شبکه و ... کتابخانه های مثل Poco و یا در زمینه هایی دیگر Boost و ...


هیچ زبانی به اندازه C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ اینهمه انعطاف پذیر نیست که هرجور با هر سلیقه ای که خواستی کد بزنی دوست عزیز!
برای مثال همین لحظه بخوام برای محصولات Intel برنامه ای بنویسم در دیگر زبان ها باید هفت خانه رستم رو پشت سر بزاری در نهایت هم نخواهد شد ! ولی برای C++‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ کافیه کتابخانه های مربوطه رو وارد پروژه کنی : نمونه مثال : https://www.google.com/search?btnG=1...%2B%2B+library

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

----------


## st@rter

خوب آقای اسدزاده شما برای طرحی از کیوت استفاده میکنید درسته ؟

خوب یعنی فرم ها شما تحت کیوت هستش بر فرض مثال کیوت دیگه نبود الان برنامه چیه؟

همچنین بنده منتظر تست پروژه شما هستش امید هستش پروزه قابل قبولی باشه

----------


## golbafan

چرا از C++‎ builder استفاده نمیکنید؟

----------


## کامبیز اسدزاده

> خوب آقای اسدزاده شما برای طرحی از کیوت استفاده میکنید درسته ؟
> 
> خوب یعنی فرم ها شما تحت کیوت هستش بر فرض مثال کیوت دیگه نبود الان برنامه چیه؟
> 
> همچنین بنده منتظر تست پروژه شما هستش امید هستش پروزه قابل قبولی باشه


خب قضیه اینه ما فقط رابط کاربری رو با استفاده از Qt پیاده سازی میکنیم نه کله پروژه رو ! همانطور که  لینک Cross X engine رو بهتون دادم کاملا مشخصه هسته نرم افزار با تمامی قابلیت هاش به صورت مستقل از Qt نوشته شده و قابل استفاده در Qt و دیگر کتابخانه ها هستش.

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

و اینکه شما دارید تاپیک رو به بحث نابودی کیوت و محو شدنش از روی زمین میکشید ! خب هیچ شخص یا شرکتی نمیاد بره دنبال چیزی که قراره از رو زمین محو بشه !

----------


## st@rter

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

برای مثلا بنده اگه مک داشتم حتما با xcode کار میکردم نه کیوت و ...

----------


## danyalbursin

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

تو سایت های خارجی هم تعدادی از سایت ها خوبن بقیش به درد نمیخورن مثلا تو خیلی از سایت های خارحی نوشتن ++C فقط برای بازی نوشتن خوبه!!


تو همین سایت هم هرچی سوال پورسیدم هیج کدوم از اساتید بجای اینکه راهنمایی کنن یا سر سری حواب دادن یا اونای هم که واقعا استادن هیچ کدوم نه راهنمایی نه چیزی نمیکنن!!!

----------


## Mehdi Naderi

اصلا بحث نابودی کیوت مطرح نیست چون شرکت های بزرگ  نرم افزاری تا جایی که ممکنه به سبب سیاست های خاص مایکروسافت خودشونو از وابستگی به تکنولوژی های مایکروسافت خارج میکنند  الان شرکت های زیادی دارن به جای استفاده از Mictosoft Visual C++‎‎‎‎‎‎‎   از کیوت استفاده می کنند نرم افزارهای تجاری و شبیه سازهای مطرح شبکه های کامپیوتری در ورژن ها یجدید از کیوت استفاده میکنند برخی از آنها :
Google Earth
QGIS
VLC Player
Autodesk Maya

Virtual Box

KDE Linux
WireShark
Skype For Linux 
GNS3
Skype For Windows
Telegram
Ubuntu Touch
Cisco Packet Tracer 6.2

----------


## کامبیز اسدزاده

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


خب حالا من یک سوال میپرسم... قبول که داری 90 درصد ایرانی ها از C#‎‎‎‎ استفاده میکنند نمونش خود شما که اونارو ترجیح میدی حالا سواله من اینه اگه .NET و از بیخ مایکروسافت نابود شد تکلیف اینهمه برنامه نویس چی میشه ؟ :متفکر:  با توجه به اینکه هیچ مسئولیتی در قبال دات نتو اینجور چیزا هم نداره نمونش سورس باز که نیست که بقیه کارشو ادامه بدن ! البته جدیدا صحبت هایی شده ولی MS از ترس همین که دات نت داره نابود میشه میخواد Open Source اش کنه  :چشمک:  کاری که تمامی کتابخانه ها و بندو بساط C++‎‎‎‎ از خیلی وقت پیش انجام داده اند ... *به این توجه کردین که کیوت نزدیکه 20 الی 21 ساله مطرح هست ؟* با نابودی Nokia به کیوت چی شد ؟ هیچی ! شرکت Digia اومد جلو و گروه بسار قوی تر کار رو پیش گرفت و از نسخه 4.7 به نسخه 5.5 که الان در دست هستش رسیدیم و با پیشرفت های بسیار چشمگیری داشته اینم لینکش : http://www.qt.io/about-us/ تمامی کتابخانه های C++‎‎‎‎ به این شیوه عمل میکنند و به خاطر همین راحتی خیال از منسوخ نشدن C++‎‎ هستش که هیچوقت نمیان نرم افزار های گردن کلفت مهدندسی مانند 3dsmax رو با دات نت بنویسند چون MS هر روز یه ساز میزنه و برنامه نویس هاش باید با اون ساز برقصند!

به این اشاره میکنید که اگه Mac داشته باشید میرید سراغ xCode خب این که خیلی خوبه چه اشکالی داره برنامه های خود Mac رو ا محصولات خودش ایجاد کنیم ؟ مثل ویندوز که با دات نت برنامه های ویندوزی رو تو محیط VS تولید میکنیم... ولی این روش در هر شرکتی انحصار طلبی داره و برنامه نویس رو مجبور میکنه که در اون بازه و در دایره اهداف اون شرکت که حالا Apple باشه یا MS یا هرچی عمل کنه ... این نظر شخصیه من هستش که ترجیح میدم برای هیچ شرکتی نوکری نکنم ! چرا باید وابسته Apple یا MS باشم ؟ میخوام آزادانه فکر کنم آزادانه برنامه نویسی کنم محدودیت رو نمیپسندم... حال شاید شما میپسندید و خب منم نظرمو دادم هیچ اشکالی نداره.




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


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

----------


## danyalbursin

منظورم واسه قبل بود اقای اسدزاده و امروز هم کلی لطف کردین و راهنمایی کردین! واقعا ممنونم.



چرا نرم افزارهای بزرگ مثل 3D max یا مثل illastrator و یه تیم با تعداد نفرات بالا مینویسن؟

یعنی به هیج وجه یک نفر قادر به نوشتن کداش نیست؟؟؟

و یک سوال ديگه ای هم دارم اینه که چه مباحثی در ++C   تمرکز کنم که  بعدش بخوام وارد qt  بشم؟

----------


## کامبیز اسدزاده

> منظورم واسه قبل بود اقای اسدزاده و امروز هم کلی لطف کردین و راهنمایی کردین! واقعا ممنونم.
> 
> 
> چرا نرم افزارهای بزرگ مثل 3D max یا مثل illastrator و یه تیم با تعداد نفرات بالا مینویسن؟
> یعنی به هیج وجه یک نفر قادر به نوشتن کداش نیست؟؟؟
> و یک سوال ديگه ای هم دارم اینه که چه مباحثی در ++C   تمرکز کنم که  بعدش بخوام وارد qt  بشم؟


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

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

----------


## danyalbursin

اون لینک هایی که دادین موارد مقدماتی توضبحاتی داده شده !

اقای اسد زاده دوتا سوال ديگه دارم و کلا موزاحم نمیشم D:   


1) من متوجه نمیشم هسته نرم افزار منظور از چه 
نوع کد نویسیه ؟؟ اگه یه مقدار روشن در مورد این قزیه توضیح بدید ممنون میشم.

2) خیلی دنباله مباحث آموزشی فوق پیشرفته میگردم که دیگه مثلا برنامه بشه نوشت  ولی چیزی پیدا نکردم ! چند تا لینک هم لطف کتید معرفی کنید.

----------


## کامبیز اسدزاده

> اون لینک هایی که دادین موارد مقدماتی توضبحاتی داده شده !
> 
> اقای اسد زاده دوتا سوال ديگه دارم و کلا موزاحم نمیشم D:   
> 
> 
> 1) من متوجه نمیشم هسته نرم افزار منظور از چه 
> نوع کد نویسیه ؟؟ اگه یه مقدار روشن در مورد این قزیه توضیح بدید ممنون میشم.
> 2) خیلی دنباله مباحث آموزشی فوق پیشرفته میگردم که دیگه مثلا برنامه بشه نوشت  ولی چیزی پیدا نکردم ! چند تا لینک هم لطف کتید معرفی کنید.


معمولا نرم افزار رو بخوای استاندارد بنویسی ببری جولو باید تقسیم بندی کنی لایه بندی کنی انواع معماری های برنامه نویسی وجود داره...
هسته معمولا متشکل از کلاس ها و توابع اصلی هستش که در هر بخشی از برنامه میشه ازشون استفاده کرد. (اگر بازهم متوجه نشدین جزئی تر بگم)
برای مثال هسته نرم افزار شما میتونه شامل یک کلاس و چندین توابع اجرائی باشه که در لایه های بالا مخصوصا لایه رابط گرافیکی میشه ازشون استفاده کرد.

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

----------


## pswin.pooya

> نمیخواستم جواب بدم ولی دیدم نشد. بنده گفتم برنامه ایرانی که با C++‎‎‎‎  نوشته شده نه دوتا سایت که هیچی توش نیست و چندتا برنامه خارجی.


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


*@کامبیز اسدزاده*:
برای چی شما خودتون رو اذیت می کنید تا صبح هم توضیح بدین دلیل بیارین فایده نداره. حتی طرفها هم نتونن چیزی بگن بازهم قبول نمی کنن. کسی که یک خط مطالعه هم نداره و یا بهش آدرس سایت می دیم می بینه زبانش انگلیسی هست و فکر می کنه خارجیه به نظر شما می شه بهش یاد داد. قبل از هرکاری همت لازمه و وقتی یه عده همت حتی مطالعه ابتدایی رو هم ندارن دیگه تکلیف مشخصه. این عده همیشه بازنده خواهند بود و مدعی و حتی تاریخ رو هم نتونسته این رو عوض کن. این عده حتی وقتی هم می بازن باز قبول نمی کنن و اشتباهات خودشون رو تکرار می کنند.


*یه چند تا مورد برای دوستانی که نگران GUI هستن:*

1. تنها فریم ورک C++‎‎‎ کیوت نیست چند تا از اونها (GDK، MFC و Wxwidgets و .... )
2. حتی فریم ورک ها هم نباشن میشه با API سیستم عامل و ... اینکار رو کرد برای مثال می تونید Win32 API رو مطالعه کنید.
3. دوست عزیزمون سجاد (یوزر SeganX) هم یه فریم ورک پیشرفته GUI سه بعدی داره که با دایرکت ایکس کار می کنه و یکم بهش سر و سامان بده چیز خفتی میشه.
4. برنامه نویسهای C++‎‎‎ می تونن به کمک کتابخانه های جانبی برای خودشون یه کتابخونه GUI بسازن. تعداد کتابخونه های گرافیکی هم یکی دو تا نیست ( مثلا Direct3D, Direct2D, OpenGL, GDI, GDI+ و .... )

شما فرض کن فردا اصلا کیوت هم نابود شه. هیچ فرقی برای برنامه نویسهای C++‎‎‎ به جزء از دست دادن یک کتابخونه خوب هم نمی کنه.


ببینید اگر اصرار دارید که زبانهای دیگه خوب هستند ما کاری نمی تونیم بکنیم به جزء اینکه بگیم دارید اشتباه می کنید. و درک نمی کنید که راه درست چیه. حالا تا هر موقع که دلتون بخواد می تونید اشتباه های خودتون رو تکرار کنید. طبیعتا زندگی شما هست. ما می دونیم راهی که انتخاب کردیم درسته و داریم نتایخشون رو می بینیم. مثلا آخرین برنامه پردازش تصویری که من تحویل دادم فقط 2 درصد پردازنده رو اشغال می کرد اما فقط کافیه تو یکی از زبانهای جاوا و یا سی شارپ بخوای تصویر وب کم رو نشون بدی. نزدیک 50% قوی ترین پردازنده ها هم اشغال می شه (حالا با بقیه قابلیت ها مثل کنترل کردن پایه های برد رزبری رو کاری باهاشون ندارم که حتی شما توی خواب هم اونها رو نمی تونید ببینید.)

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





> 2) خیلی دنباله مباحث آموزشی فوق پیشرفته میگردم که دیگه مثلا برنامه بشه  نوشت  ولی چیزی پیدا نکردم ! چند تا لینک هم لطف کتید معرفی کنید.


لطفا مبحث خودتون رو مشخص کنید تا کتاب و یا منابع رو معرفی کنیم.

----------


## danyalbursin

من علاقه شدیدی به برنامه نویسی در زمینه نرم افزار هایی مثل maya و illustrator و کلا اینجور نرم افزار های بسیار کاربردی !!!
هم کلا برنامه نویسی پیشرفته  نرم افزار خیلی کاربردی دارم

  لینک یا منابع در این مباحث معرفی کنبد ممنون میشم

----------


## stackprogramer

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

----------


## کامبیز اسدزاده

> 1.
> *@کامبیز اسدزاده*:
> برای چی شما خودتون رو اذیت می کنید تا صبح هم توضیح بدین دلیل بیارین فایده نداره. حتی طرفها هم نتونن چیزی بگن بازهم قبول نمی کنن. کسی که یک خط مطالعه هم نداره و یا بهش آدرس سایت می دیم می بینه زبانش انگلیسی هست و فکر می کنه خارجیه به نظر شما می شه بهش یاد داد. قبل از هرکاری همت لازمه و وقتی یه عده همت حتی مطالعه ابتدایی رو هم ندارن دیگه تکلیف مشخصه. این عده همیشه بازنده خواهند بود و مدعی و حتی تاریخ رو هم نتونسته این رو عوض کن. این عده حتی وقتی هم می بازن باز قبول نمی کنن و اشتباهات خودشون رو تکرار می کنند.


کاملا موافقم.

----------


## pswin.pooya

> من علاقه شدیدی به برنامه نویسی در زمینه نرم افزار هایی مثل maya و  illustrator و کلا اینجور نرم افزار های بسیار کاربردی !!!


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

برای برنامه های گرافیکی دو API مطرح وجود داره که عبارتند از DirectX و OpenGL (البته API های زیاد دیگه ای هم هستن). خب مثلا Maya قسمت ادیتورش تا اونجا که من می دونم با OpenGL کار می کنه (حداقل تحت لینوکس مجبوره) و یا 3Ds Max با دایرکت ایکس (که البته فکر کنم میشه تغییرش هم داد). حالا سوالی که معمولا مطرح میشه اینه که با OpenGL کار کنم یا DirectX. در کل فرقی نمی کنه. اما خب OpenGL کراس پلتفرم هست و دایرکت ایکس محبوب تر. هر چند که معمولا OpenGL از نظر تکنولوژی در سطح کمی جلوتر از دایرکت ایکس هست (به دلیل قابلیت داشتن الحاقی ها و معرفی ویژگی های جدید سازنده های سخت افزار در قالب اونها) اما نسخه های stable دایرکت ایکس خیلی زودتر از OpenGL عرضه می شن. یعنی مثلا با اینکه تکنولوژِی مثلا OpenGL 4 از دایرکت ایکس نسخه 11 زودتر عرضه شد اما واقعیت اینه تا نسخه stable دایرکت زودتر عرضه شد. مثلا بازی Wolf station سر همین قضیه فکر کنم با OpenGL 3 که میشه گفت معادل دایرکت 10 هست عرضه شد. (کلا بحثش یکم پیچیده است).


*دایرکت ایکس:*
برای دایرکت ایکس کتاب زیر فوق العاده است. من حتی به برنامه نویسهای OpenGL هم پیشنهادش می کنم:
http://www.amazon.com/Introduction-P.../dp/1556229135

البته کتاب به روزی نیست و شما بهتره بعد از اون Shader Approch و نسخه دایرکت 11 رو بخونید اما به دلیل استفاده از برخی از تکنیک ها مثل Ray Selection بهتره اول این رو بخونید (در نسخه های بعدی از مثل این نسخه ریاضیات و ... اونها رو توضیح نداده و تا اونجا که یادمه از خود API استفاده کرده بود.)

*OpenGL:*
برای برنامه نویسی OpenGL کتاب زیر می تونه کمک زیادی کنه که از OpenGL 3 استفاده می کنه:
http://www.amazon.com/Beginning-Open.../dp/159863528X

البته این کتاب بخوبی کتاب بالا نیست. اگر OpenGLهای نسخه های پایین تر رو هم مد نظر دارید مثل OpenGL 1.2 (که رنج سخت افزاری بیشتری رو ساپورت میکنه) بهتره ویرایش اول این کتاب رو بخونید.

البته این کتابها حتی 10 درصد اول راه هم نیستن و بعد از مدت کوتاهی متوجه می شید که باید کتابهای دیگه ای مثل ریاضیات برای گرافیک و یا گرافیک کامپیوتری، کتابهایی در زمینه دیزاین پترن های برنامه نویسی با C++‎‎‎‎‎‎‎ و یا برنامه نویسی Generic و  یا برنامه نویسی با API سیستم عامل و .... رو بخونید. خلاصه کلام کار راحتی نیست. و بعد از خودندن تمام اینها شاید 20 درصد اول راه باشید که بعد از اون باید برید سراغ های متدهای پیشرفته کدینگ مثل Data Oriented که اصلا زمانی که مطالعه می کنیدش متوجه می شید شی گرایی زیاد هم متد خوبی برای نیازهای امروزی نیست و باید با یه دید دیگه نگاه کنید. کلا توی برنامه نویسی سیستم بعد از یه مدت حتی باید در مورد ساختار سخت افزار و یا سیستم عامل هم اطلاع پیدا کنی تا بتونی واقعا بر همه چی غلبه کنی.

با اینکه سخت به نظر میاد اما یک لذت خواص داره. و می تونید از تک تک امکانات سیستم استفاده کنید. همین سختی هم باعث شده که حقوق برنامه نویسهای سیستم تا 3 برابر حقوق برنامه نویسهای عادی در خارج از کشور برسه. به عنوان مثال حقوق یه برنامه نویس سیستم از نزدیکهای 7 هزار دلار در ماه در استرالیا شروع میشه تا برای برنامه نویسهای خبره نزدیک 12 هزار دلار می رسه با اینکه برنامه نویسهای مثلا وب حقوقی معادل 4 هزار دلار تا به زحمت 7 هزار دلار رو دارن. (البته شرکتهایی هستن که امکان داره حقوق بیشتر و یا کمتر هم بدن اما عرف اینجوریه).


کتابخونه های مطرح C++‎‎‎‎‎‎‎ که میشه ازشون استفاده کرد عبارتند از:

1. *گرافیک سه بعدی* DirectX و OpenGL
2. *گرافیک دو بعدی* OpenGL، Direct2D, GDI و GDI+
3. *صوت*: OpenAL, Fmod و Bass
4.*GUI* پنجره ای: Qt، GTK, MFC, SDL , wxWiddgets
5. *فیزیک*:  Nvidia Physix, Nvidia Apex, Bullet, Box2D, ODE, Open Dynamics و ...
6.* کتابخونه های کارهای عمومی*: Boost, Qt, STL و ...
7. *کتابخونه های شبکه*:  Poco, Qt, RakNet, ReplicaNet, SDL
8. *هوش مصنوعی*: OpenAI, FEAR, OpenSteer, PathLib و هزارن کتابخونه دیگه.
9. *پردازش تصویر*: OpenCV, OpenNI
10. *پردازش موازی*:  OpenCL, OpenML, CUDA و هزاران کتابخونه دیگه از جمله خود API سیستم های عامل
11. *اسکریپ نویسی*: Lua, LuaPlus, Phyton و ... (تقریبا تمامی زبانهای اسکریپت کتابخونه برای C++‎‎‎‎‎‎‎ عرضه می کنن.)
12. *ورودی ها*: OpenInput, Qt, SDL, SFML و البته خود API سیستم عامل
13. *گیم انجین ها:*  Unreal Engine, OGRE, Irrlicht, KGE و ... (که همه اینها علاوه بر عرضه بصورت نرم افزار به صورت کتابخانه های C++‎‎‎‎‎‎‎ هم عرضه میشن.)
14. *موتورهای وب:* WebKit, ClearSilver, Teng و ...
15. *کار با فایلهای ویدویی*:  FFMPEG, GSTREAM و ...
16. *کار با فایلهای تصویری*: DevIL, QT, SDL و ...
17. و هر چیزی که شما اراده کنید وجود داره.

البته تعدادی از کتابخونه های مطرح برای شون Wrapper و یا پورت زبانهای دیگه ساخته شده. منتها اصل کتابخونه تنها برای C/C++‎‎‎‎‎ عرضه می شه و البته باز با خود این زبانها نوشته میشه. تجربه نشون داده که علاوه بر مشکلات مثل سرعت. مشکلات دیگه ای مثل باگ و یا عدم سازگاری در برخی موارد و حتی به روز نبودن رو میشه دید.

----------


## Amir 2010a

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

----------


## کامبیز اسدزاده

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


برای بار N ام... Qt زبان نبست  :لبخند: 
به اندازه کافی دلیل و مدرک آوردیم... شما C++‎‎‎‎‎‎‎‎‎‎‎‎‎ رو یاد بگیری چیزی جایگزینش نمیشه اینهمه سال اینهمه محصولات بزرگو کوچیک توسعه داده شده حتی کتابخانه Qt بیست ساله توسعه داده میشه بعد اینهمه مدت بیان جمعش کنن؟ Silverligh رو با Qt چرا مقایسه میکنید ؟ کل دات نت قابل مقایسه با Qt نیست چه برسه Silverlight که یک افزونه ای کوچیک بود که فقط در محصولات مایکروسافتی قابل استفاده بود خب معلومه که باید با شکست روبرو بشه.

اگر یک ذره هم شک و تردید دارید سراغ C++‎‎‎‎‎‎‎‎‎‎‎‎‎ و Qt نروید این پیشنهاد منه برای شما چون تا شما انتخابت رو بکنی نسخه 100 هم از راه میرسه.

اینحارم مطالعه بفرمایید : https://barnamenevis.org/showthread.p...A7%D8%B1%D8%AF

----------


## کامبیز اسدزاده

با سلام و احترام ؛

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



محتوای غیر فنی و نامربوطاسپم های بی مورد توسط جناب danyalbursinاطلاعات کافی راجب عدم استقبال Qt و رفع نگرانی ها در مورد این موضوع ذکر شده است.

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

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

موفق باشید.

----------

