ورود

View Full Version : java or qt



tah_206207
سه شنبه 22 تیر 1389, 23:55 عصر
سلام دوستان من یه مشکل دارم و اونم ایه که نمیدونم از بین دو پلتفرم جاوا یا کیوت کدوم رو انتخاب کنم من دانشجوی رشته ی نرم افزار کامپیوترم میخوام از بین این دو پلتفرم یکی رو انتخاب کنم و یاد بگیرمش اما موندم کدومو انتخاب کنم! اگه راهنماییم کنین که بهترینش رو انتخاب کنم ممنون میشم
من برنامه نویسی رو با c++ شروع کردم و اطلاعاتی رو هم درباره جاوا دارم
امکانات این دو پلتفرم طبق دانسته هام
qt: با ایجاد کد native سرعت اون نسبت به جاوا خوبه ٬ میشه با اون واسه همه سیستم عاملا کد نوشت ٬ میشه با اون واسه موبایلایی که qt رو ساپورت میکنن برنامه نوشت ولی نمیشه با اون واسه وب برنامه نوشت( که اگه این امکان بود عالی میشه )
java: میشه از اون همه جا استفاده کرد ( وب ٬ دسکتاپ ٬ موبایل ) عیبش اینه که سرعت برنامه هایی که با اون نوشته میشن یکنم کنده مخصوصا در کامپیوترهای قدیمی ( کامپیوتر من ) که این سرعت کم برنامه منو خیلی آزار میده مثلا یه برنامه که با جاوا نوشته شده jdownloader هست که تو سیستم من سرعت لودش خیلی کنده و این منو آزار میده!! من از سیستم عامل لینوکس استفاده میکنم و یکی از انتخابای خوب همین دانلود منیجره که اونم خیلی کند عمل میکنه
و یه نکته: همونطور که میدونید برنامه نویسی داره به سمت وب میره آیا جاوا اینجا انتخاب خوب هست یا اینکه qt رو با یه زبان دیگه مثل php انتخاب کنم که این کاستیشو ( برنامه نویسی برای وب ) برطرف کنم
و چند سوال : با جاوا میشه برنامه خوب واسه cloud نوشت یا با qt ؟
با کدوم میشه برنامه های enterprise خوب نوشت با توجه به اینکه میگن با qt هم میشه برنامه های بزرگ نوشت؟
و اما ببخشید که اطلاعات من کمتره و از شما راهنمایی میخوام:خجالت:
من این سوالارو تو فروم های خارجی هم پرسیدم ولی متاسفانه جواب نگرفتم!!! اگه شما راهنماییم کنید ممنون میشم چون میخوام هر چه زودتر یکی از این دو پلتفرمو انتخاب کنم و باهاش برنامه نویسی رو شروع کنم از تعطیلات استفاده بهینه کنم:لبخند:
با تشکر

مرتضی پیروزی
چهارشنبه 23 تیر 1389, 00:33 صبح
سلام دوست عزیز
این مقایسه شما از پایه و اساس غلط هست!
شما دارید زبان جاوا رو با فریمورک QT مقایسه میکنید. QT یک فریمورک هست که از کتابخانه اون به وسیله ++C بیشتر برای برنامه های UI استفاده میشه.جاوا یک زبان هست که دارای پلت فرم های مختلفی هست!

و یه نکته: همونطور که میدونید برنامه نویسی داره به سمت وب میره آیا جاوا اینجا انتخاب خوب هست یا اینکه qt رو با یه زبان دیگه مثل php انتخاب کنم که این کاستیشو ( برنامه نویسی برای وب ) برطرف کنمQT و PHP و جاوا لزوماً هیچ ربطی به هم ندارند! PHP فقط برای یک هدف ایجاد شده، اجرای اسکریپت!!
شما یک زبان اسکریپتی رو دارید با QT و از اون بدتر، دارید با پلت فرمی مثل J2EE مقایسه میکنید!!

با کدوم میشه برنامه های enterprise خوب نوشت با توجه به اینکه میگن با qt هم میشه برنامه های بزرگ نوشت؟QT هیچ ربطی به انترپرایز نداره........همونطور که گفتم بیشتر برای UI استفاده میشه.
----------------
پ.ن. وضعیت مقایسه ها روز به روز داره وخیم تر میشه:D !!
فکر کنم چند مدت دیگه شاهد مقایسه ++C و HTML هم باشیم!
--------------
------موفق باشید--------

tah_206207
پنج شنبه 24 تیر 1389, 00:28 صبح
سلام دوست عزیز
این مقایسه شما از پایه و اساس غلط هست!
شما دارید زبان جاوا رو با فریمورک QT مقایسه میکنید. QT یک فریمورک هست که از کتابخانه اون به وسیله ++C بیشتر برای برنامه های UI استفاده میشه.جاوا یک زبان هست که دارای پلت فرم های مختلفی هست!
QT و PHP و جاوا لزوماً هیچ ربطی به هم ندارند! PHP فقط برای یک هدف ایجاد شده، اجرای اسکریپت!!
شما یک زبان اسکریپتی رو دارید با QT و از اون بدتر، دارید با پلت فرمی مثل J2EE مقایسه میکنید!!
QT هیچ ربطی به انترپرایز نداره........همونطور که گفتم بیشتر برای UI استفاده میشه.
----------------
پ.ن. وضعیت مقایسه ها روز به روز داره وخیم تر میشه:D !!
فکر کنم چند مدت دیگه شاهد مقایسه ++C و HTML هم باشیم!
--------------
------موفق باشید--------
یعنی شما میگید QT فقط واسه ایجاد UI استفاده میشه ولی فکر کنم این گفته شما غلط باشه!!!
در ضمن phpqt نشنیدی تا حالا برو بشنو
در ضمن شمایی که میگید این qt واسه ایجاد UI استفاده میشه برید تحقیق کنید ببینید این پلتفرم چرا این همه کلاس توش هست مثلا کلاسایی واسه کار با شبکه و ...:لبخند:

billguess
پنج شنبه 24 تیر 1389, 01:39 صبح
پ.ن. وضعیت مقایسه ها روز به روز داره وخیم تر میشه:D !!
فکر کنم چند مدت دیگه شاهد مقایسه ++C و HTML هم باشیم!
بعضی اوقات این مقایسات یک عده رو می برن زیر آوار ولی برای خیلی ها یک بنای تفکر جدید می سازند،بگذریم..

QT فریم ورکی ست که قدرت آن در داشتن کتابخانه های زیاد و همه منظوره است ولی همانطور که دوستان گفتند به کاربرد برای GUIمشهور است به عنوان نمونه KDEوغیره
اما جاوا و QTرا می توان به جای اینکه در مقابل هم قرار داد در کنار یکدیگر هم استفاده کرد چرا کهbindingsآن برای جاوا موجود است


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

در ضمن phpqt نشنیدی تا حالا برو بشنوPHP QTهم یک EXtensionبرای PHP5به منظور نوشتن نرم افزار به کمک کتابخانه های QT ToolKitهست یا بهتر بگم همون Bindingی هست که در موردش صحبت شد

مرتضی پیروزی
پنج شنبه 24 تیر 1389, 01:55 صبح
سلام دوست عزیز
اول از شما عذر خواهی میکنم به خاطر اینکه چیزایی که شما دوست داشتی بشنوی رو بهتون نگفتم!!

یعنی شما میگید QT فقط واسه ایجاد UI استفاده میشه ولی فکر کنم این گفته شما غلط باشه!!! من نگفتم "فقط" بلکه گفتم "بیشتر" .

در ضمن phpqt نشنیدی تا حالا برو بشنو چرا اتفاقاً علاوه بر اون، از روبی گرفته تا برسه به پایتون و پرل و جاوا و Lisp و Ada و Haskell و ......... QT استفاده میشه، اونم به لطف Language Binding ، اگر شما هم نشنیدی بشو!!:لبخند::لبخند:
همچنین از ویندوز گرفته تا برسه به Meamo از QT استفاده میشه!!

در ضمن شمایی که میگید این qt واسه ایجاد UI استفاده میشه برید تحقیق کنید ببینید این پلتفرم چرا این همه کلاس توش هست مثلا کلاسایی واسه کار با شبکه و ...:لبخند: اولاً که قبلاً هم عرض کردم، QT پلت فرم نیست، بلکه یک فریمورک هست، از QT در پلت فرم های مختلف استفاده میشه.
در مورد فرمایشات شما هم باید عرض کنم اتفاقاً علاوه بر شبکه،
SQL database access ، Tread management ,XML Parsing در Non-GUI رو هم داره.
حتی از این هایی که لیست میکنم، کلاس هایی رو مشخص میکنه که در QT وجود داره.
QtCore- شامل کلاس های Non-GUI میشه.
QtGui- شامل کلاس های GUI میشه.
QtMultimedia-برای پیاده سازی عملیات سطح پایین مالتی مدیا.
QtNetwork-کلاس هایی برای نوشتن UDP و TCP کلاینت و سرور. و همچنین شامل کلاس هایی برای پیاده سازی کلاینت های FTP و HTTP هم میشه.
QtOpenGL-شامل کلاس هایی برای استفاده از OpenGL میشه.
حتی QtXmlPatternsl و QtWebKit و QtScriptTools و QtOpenVG و.........
--------------------
ولی دوست عزیز، توانایی QT در کاربردهای تحت شبکه ربطی به استفاده اون در پروژه های انترپرایز نداره.
QT قبل از جاوا استارت خورد.( 1991 توسط Havaard Nord و Eirik Cambe-Eng ) اگر میشد که باهاش انترپرایز کار کرد، میشه بفرمایید به چه دلیل جاوا پیشرفت کرد؟؟!!! کما اینکه سازنده جاوا ++C کار میکرد.
QT یک فریمورک هست که یکسری کتابخانه رو در اختیارتون میذاره که توسعه آسون تر بشه.
شما QT رو میتونید با MFC مقایسه کنید نه J2EE و PHP .
-------------
موفق باشید

مرتضی پیروزی
پنج شنبه 24 تیر 1389, 02:33 صبح
یا اینکه qt رو با یه زبان دیگه مثل php انتخاب کنم که این کاستیشو ( برنامه نویسی برای وب ) برطرف کنمشما میتونی QT رو در PHP استفاده کنی، نه اینکه از PHP در کنار QT استفاده کنی. QT به تنهایی هیچ معنایی نداره. در اصل یک جوهر هستش برای خودکار.

با کدوم میشه برنامه های enterprise خوب نوشت با توجه به اینکه میگن با qt هم میشه برنامه های بزرگ نوشت؟انترپرایز یک پروژه هستش نه یک برنامه، شما میتونی یک پروژه انترپرایز داشته باشی که از QT در برنامه های اون استفاده بشه. درمورد نرم افزارهای بزرگ بله اگر سرچ کنی نرم افزارهای بزرگی بودن که Qt در اون های استفاده شده، مثل گوگل ارث، مایا( البته فقط رابط کاربریش)
موفق باشی

tah_206207
پنج شنبه 24 تیر 1389, 15:18 عصر
سلام دوستان ممنون که راهنمایی کردین
در واقع من می خواستم زبانی انتخاب کنم که همه منظوره باشه و بتونم در هر زمینه ای ازش استفاده کنم مثل وب٬ دسکتاپ ٫ موبایل پروگرمینگ که بین c++ , php یعنی این دو با هم و جاوا در مقابل این دو گیر کرده بودم
من یه سوال دیگه داشتم من یه مقاله میخوندم که php و asp.net رو باهم مقایسه کرده بودن که از نظر سرعت asp.net چون کامپایل میشه سرعتش بیشتر از php بود که تفسیر میشه و البته سایت facebook که با php نوشته شده پروژه hiphop رو برای افزایش سرعت php ایجاد کرد که ابتدا کدهای php رو تبدیل به c++ میکنه و بعد با استفاده از gcc اونارو کامپایل میکنه که این کار باعث افزایش سرعت php میشه که طبق اعلام facebook باعث کاهش ۵۰درصدی استفاده از منابع facebook شده حالا این بین java با jsp چه حرفی برای گفتن داره یعنی سرعتش و کاراییش در این زمینه چگونه است
و میشه بگید چرا زبان scala بوجود اومده و از jvm استفاده میکنه و سایتی مثل twitter با اون نوشته شده مگه نمیتونستن همین سایتو با خود جاوا پیاده سازی کنن که jvm داره؟
و اصلا این j2ee برای چه کارهایی استفاده میشه اگه میشه مثالی در این مورد بزنید
در ضمن ببخشید که اطلاعات من کمه هدف از این سپالام یادگیریه و میخوام یه زبانو انتخاب کنم و یاد بگیرمش نه این که هی بین زبان های مختلف سوییچ کنم

tah_206207
پنج شنبه 24 تیر 1389, 15:23 عصر
یه سوالم راجع به gcj داشتم یعنی این gcj چیکار میکنه کهای جاوا رو کامپایل میکنه آیا این کار تاثیری هم در سرعت برنامه های نوشته شده با جاوا ایجاد میکنه؟
و اگه میشه jni رو هم توضیح بدین

مرتضی پیروزی
پنج شنبه 24 تیر 1389, 18:09 عصر
سلام
دوست عزیز نمیشه یک حکم کلی داد که مدوم زبان خوبه، همه کاره بودن یک زبان دال بر این نیست که واقعاً توی همه زمینه ها کاربرد داشته باشه؛ اگر به اطرافت نگاه کنی متوجه میشی که در عمل اینطور نیست حتی اگر واقعاً یک زبان همه کاره باشه. ( که اکثر زبان ها همه منظوره هستند!).
اگر موبایل میخوای جاوا، دسکتاپ ++C/C ، کاربرد های عمومی وب PHP و ASP.NET ، و........... که برای ASP.NET باید یک زبان دات نتی رو بلد باشید.
شما حتی اگر یک زبان همه منظوره رو هم انتخاب کنید، نمیشه امید داشت که توی همه زمینه ها خبره باشید؛ مگر اینکه یک برنامه 15 ساله داشته باشید. شما اول یک حیطه مورد علاقه رو انتخاب بکنبد و وارد اون بشید؛ نم نم خودتون دیدتون باز میشه و به دور از سردرگمی میتونید راهتون رو انتخاب کنید.
در مورد سوییچ کردن هم باید عرض کنم که چرا از سوییچ کردن بدتون میاد؟؟ یک برنامه نویس باید یک سوییچر درجه یک باشه!:لبخند:
در مورد Scala ، قبلاً توییتر اگر اشتباه نکنم با روبی بود و بعداً سوییچ شد روی Scala !
دلایلش رو دقیق نمیدونم ولی خیلی چیزها میتونه باشه، از سرعت توسعه گرفته تا برسه به سیاست!
J2EE هم پلت فرم انترپرایز جاوا هستش؛ مخصوص پروژهای میلیاردی هست؛ کار یکی دونفر هم نیست.
تیم های بزرگی داره. از یک اپلیکیشن سرور گرفته تا ERP رو میشه پروژه انترپرایز قلمداد کرد.
----------------------------

یه سوالم راجع به gcj داشتم یعنی این gcj چیکار میکنه کهای جاوا رو کامپایل میکنه آیا این کار تاثیری هم در سرعت برنامه های نوشته شده با جاوا ایجاد میکنه؟GCI مخففGNU Compiler for Java هست. در اصل GCC جاوا هست!:D که میتونه کدهای جاوا رو مستقیماً به بایت کد یا کد ماشین برای هر پردازنده ای ترجمه کنه. سرعتش هم به خاطر اینه که میتونه کد رو مستقیماً
به کد ماشین ترجمه کنه. هرچند لزماً سریع تر از کامپایلرهای JIT مدرن نیست.
---------------------------

و اگه میشه jni رو هم توضیح بدینJNI یک اینترفیس برنامه نویسی استاندارد هست برای نوشتن متدهای Native و تعبیه ماشین مجازی جاوا در اپلیکیشن های Native.
------------
موفق باشید