PDA

View Full Version : سوال: زبانی برای کار روی تمامی سیستم عاملها



lmaghsoodi
یک شنبه 16 تیر 1392, 11:23 صبح
با سلام خدمت دوستان عزیز

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

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

آیا اگر این نرم افزار را برای ویندوز بنویسم ، برای اینکه روی لینوکس جواب دهد ، بایستی تغییراتی روی کد جاوا بدهم ؟

به عنوان مثال برنامه هایی که با php روی fire Fox جواب می دهند، در IE نیز جواب می دهند، ولی یک مقدار گرافیکشان به هم می خورد. پس ما برنامه را برای fireFox می نویسیم بعد از IE Config برای بهینه سازی برنامه استفاده می کنیم تا این برنامه در IE هم همانطور که در FireFox مشاهده می شود، جواب دهد.

لطفاً در این زمینه مرا راهنمایی نمایید.

darknes666
یک شنبه 16 تیر 1392, 11:29 صبح
از C++‎‎ QT استفاده کنید.
روی linux-max-windows-android-.. قابلیت اجرا شدن داره.

youngold
یک شنبه 16 تیر 1392, 13:32 عصر
اولاً مثلاتون اشتباهه پی اچ پی یک زبان سمت سرور هست و شما سمت سرور نمیتونید برای بهینه سازی چینش سایت مرورگرتون رو که سمت کلاینت هست رو کانفیگ کنید! منظورتون اچ تی ام ال ، جاوا ، سی اس اس بوده.
اولاً که جاوا آمار استفاده اش پایین اومده اینو هم باید در نظر بگیرید ازین باب من دو زبان رو پیشنهاد میدم اول c++ QT و دوم Python که میتونید روی اینها وابستگی سیستم عامل نداشته باشید.

cups_of_java
یک شنبه 16 تیر 1392, 14:39 عصر
در سمت کلاینت که شما کتابخانه هایی مثل jQuery دارین که کمک می کنه وب سایتی بسازین که روی همه مرورگر ها کار کنه!
در سمت سرور هم جاوا زبان مستقل از سیستم عاملی هست. کد شما به صورت نرمال روی هر سیستمی کار میکنه.
من فکر می کنم با Python در بعضی حالات کمی توی ویندوز مشکل ایجاد بشه.

lmaghsoodi
یک شنبه 16 تیر 1392, 16:26 عصر
چرا آمار استفاده از جاوا پایین آمده ؟

چرا به جای استفاده از جاوا از C++ استفاده کنم ؟ در صورتیکه قبلاً C در حال منقرض شدن بود، و همه از جاوا استفاده می کردند؟

Arcsinos
یک شنبه 16 تیر 1392, 16:31 عصر
صرفا جهت اطلاع میتونید ببینید : tiobe.com
106792

موفق و پیروز باشید (آمار واسه این ماهه)

spiderman200700
یک شنبه 16 تیر 1392, 22:10 عصر
اولاً که جاوا آمار استفاده اش پایین اومده

http://www.bhubeth.com/technology/top-25-programming-languages-%E0%B8%A0%E0%B8%B2%E0%B8%A9%E0%B8%B2%E0%B9%82%E0%B 8%9B%E0%B8%A3%E0%B9%81%E0%B8%81%E0%B8%A3%E0%B8%A1% E0%B8%A1%E0%B8%B4%E0%B9%88%E0%B8%87%E0%B8%AD%E0%B8 %B0%E0%B9%84%E0%B8%A3%E0%B8%97%E0%B8%B5%E0%B9%88%E 0%B9%84%E0%B8%94%E0%B9%89%E0%B8%A3%E0%B8%B1%E0%B8% 9A%E0%B8%84%E0%B8%A7%E0%B8%B2%E0%B8%A1%E0%B8%99%E0 %B8%B4%E0%B8%A2%E0%B8%A1-2013/
http://devcv.me/2013/05/top-25-programming-languages/

cups_of_java
دوشنبه 17 تیر 1392, 19:50 عصر
چرا آمار استفاده از جاوا پایین آمده ؟

چرا به جای استفاده از جاوا از C++ استفاده کنم ؟ در صورتیکه قبلاً C در حال منقرض شدن بود، و همه از جاوا استفاده می کردند؟

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

2) استفاده از جاوا پایین نیومده، همچنان جاوا زبان محبوبیه، ولی یکم زبان های دیگه در تکنولوژی های مدرن توجه رو به سمت خودشون جلب کردن.
زبان جاوا اسکریپت (در قالب NodeJs)
زبان های تابعی مثل Scala، Erlang، ...
دارن به شدت اوج میگیرن.

lmaghsoodi
سه شنبه 18 تیر 1392, 11:05 صبح
من کاری به آمار استفاده از جاوا ندارم. من می خواهم زبانی که استفاده می کنم قابلیتهای زیر را داشته باشد:

1- بتوان با آن یک برنامه دسک تاپ اپلیکیشن نوشت
2- به راحتی بتوان آن را روی تمامی سیستم عاملها اجرا کرد. به عنوان مثال من الان می خواهم فرمم را fullScreen کنم ولی کدی که در جاوا پیدا کرده ام ، در تمامی سیستم عاملها اجرا نمی شود . شاید بتوانم راهی پیدا کنم که در تمامی سیستم عاملها اجرا شود!
3- اپلیکیشنی که می خواهم بنویسم بایستی قابلیتهای گرافیکی خوبی داشته باشد، این زبان بایستی امکان کارهای گرافیکی را به خوبی در اختیارم بگذارد.
4- برنامه نویسی با آن ساده باشد . به عنوان مثال با استفاده از برنامه نویسی C ، درسته که فرمی همانند چیزی که با جاوا می توان تهیه نمود را نمی توان تهیه نمود ولی با نوشتن خطوط زیادی از کد می توان صفحه ای به صورت FullScreen را تولید نمود. یعنی می خواهم وسط کار گیر نکنم .
5- یادگیری آن ساده باشد و کدهای مربوط به آن به راحتی در اینترنت یافت شود.

youngold
سه شنبه 18 تیر 1392, 12:40 عصر
چرا به جای استفاده از جاوا از C++‎‎‎ استفاده کنم ؟ در صورتیکه قبلاً C در حال منقرض شدن بود، و همه از جاوا استفاده می کردند؟ اولاً مقایسه ات اشتباهه سی پلاس پلاس خیلی چیزا بهش اضافه شده تا سی ، حالا به واسطه ی سی دارید سی پلاس پلاس رو با جاوا مقایسه میکنید؟!
دوماً سی هرگز نمیمیره همین الانشم هم سی پلاس پلاس زنده نگهش داشته. (علاوه بر اینکه پایه خیلی چیز ها با سی هست)
سوماً جاوا ذاتاً در سطح بالاتری از سی قرار داره پس بازم مقایسه نا به جاست (بیشتر به خاطر کتابخانه های سطح بالاش به جای سی ازش استفاده میشده ، خیلی از برنامه نویسان بهش رو آوردن طوری که کل بازار رو داشت دست میگرفت ولی الان وضع فرق کرده)

این مسائل رو هم باز نکنید لطفاً ، چون هم بحثش تکراری و مفصله و هم شما رو از هدفتون دور میکنه

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


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

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

youngold
سه شنبه 18 تیر 1392, 12:56 عصر
به عنوان مثال من الان می خواهم فرمم را fullScreen کنم ولی کدی که در جاوا پیدا کرده ام ، در تمامی سیستم عاملها اجرا نمی شود نظرم من این بود که اگر به جاوا تسلط بالایی دارید با همون جاوا کار کنید تا وقتتون زیاد صرف یاد گیری چیز جدید نشه ، ولی با این حرفتون ظاهراً این طور نیست میتونید برید سمت کیوت

مطمئن باشید از کار کردن با کیوت پشیمان نخواهید شد ( یک سرچی بزنید توی همین سایت)
همچنین برنامه هایی مثل Google Earth , Skype , Maya با کیوت نوشته شده اند

برای شروع خوبه :

http://barnamenevis.org/showthread.php?222357-%D9%85%D8%B9%D8%B1%D9%81%DB%8C-%D9%81%D8%B1%DB%8C%D9%85%D9%88%D8%B1%DA%A9-%D8%A7%D9%BE%D9%84%DB%8C%DA%A9%DB%8C%D8%B4%D9%86-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%A2%D8%B2%D8%A7%D8%AF-%D9%88-%D9%85%D8%B3%D8%AA%D9%82%D9%84-%D8%A7%D8%B2-%D9%BE%D9%84%D8%AA%D9%81%D8%B1%D9%85-Qt

http://barnamenevis.org/showthread.php?385843-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%B3%D8%B1%D9%8A%D8%B9-Qt4

cups_of_java
سه شنبه 18 تیر 1392, 16:29 عصر
من منظورم هم خانواده سی پلاس پلاس مثل سی و آبجکتیو سی و ... بود.
از C++ QT شناختی ندارم و برام جالبه چطور مستقل بودن رو پیاده سازی کرده.
کلن شما کار سختی داری... شرکت های بزرگی مثل Adobe‌و ... هم تو دادن نرم افزار های گرافیکیشون روی همه سیستم عامل ها مشکل دارن!
بعضی از قولها مثل 3dmax و ... اصلن نسخه های مستقل از پلت فرم ندارن.
دسکتاپ اپلیکشن نوشتن با MFC و کتابخانه های سی پلاس پلاس هم کار سخت و انرژی بری می تونه باشه ولی این راهیه که می تونی بری و موفق بشی!

cups_of_java
سه شنبه 18 تیر 1392, 16:31 عصر
زبان خودتون رو دارید پیشنهاد میدید.
جاوا زبان من نیست. زبان من تو دهنمه!
ضمنن من جاوا رو به دلایل خودش دوست دارم،‌ اما سال هاست که کارم با زبان هایی غیر جاوا هست.
من جاوا اسکریپت و ارلنگ رو شاید از جاوا هم بیشتر دوست دارم.
لطفن گارد نگیرید سریع

youngold
سه شنبه 18 تیر 1392, 19:26 عصر
بله متوجه منظور شما از هم خانواده ها بودم
شما میگید از کیوت شناختی ندارید پس چطور با این قاطعیت جاوا رو پیشنهاد دادید
آدوب رو مثال زدی ، اولاً که این دوستمون یک دسک تاپ اپلیکیشن میخواد بنویسه نه به اون عظمت ، بعد هم آدوب پایه کاراش کروس پلتفرم نیست و تا اونجا که من اطلاع دارم کیوت هم نداره توش
تری دی مکس رو مثال زدید که اون هم هسته اش در زمان خودش به اون پیچیدگی وابسته به سیستم عامل نوشته شده و همچنین دارای مباحث بسیار پیچیده ای هست که کروس پلتفرم کردنش رو واقعاً سخت میکنه ، به خصوص چیز هایی که ذاتاً در هیچ کتابخانه ای وجود نداره و خودش تمام و کمال نوشته ، خیلی براش هزینه میبره چه زمانی و چه مالی و ... که بخواد کروس پلتفرمش کنه (به خصوص اینکه یک سری عملیات پردازشی سنگینش حتی برای سی پی یو خصوصی سازی شده حالا مثلاً همه این حالات رو برای سیستم عامل های مختلف هم بخواد در نظر بگیره حجم خود برنامه چندین برابر میشه و بسیاری مشکلات دیگه) از طرفی کسی که با چنین نرم افزار های غولی کار میکنه باید تابع سیستم عاملش باشه! هر چی که میخواد باید نصب بکنه. یک کاربر معمولی که با سیستمش بازی میکنه که تری دی مکس نصب نمیکنه؛ میکنه؟ اینها برمیگیرده به سیاست کاری و ... و اکثراً برمیگیرده به اینکه هسته کاراشون رو چجوری پیاده سازی کردند
در رابطه با ام اف سی گفتید که اونم چون کیوت رو کار نکردید نمیتونید مقایسه کنید البته در مقایسه با جاوا سخت تر هست درچند ما کاری به ام اف سی نداریم توی این بحث

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

4- برنامه نویسی با آن ساده باشد .سی پلاس پلاس خیلی مسائل فنی یه دوستمون یاد میده و قطعاً به دردش خواهد خورد ولی اگر نمیخواد درگیر این مسائل بشه همون جاوا خوبه

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

در ضمن :
http://qt-project.org/forums/viewthread/21091

این هم شبیه همین تاپیکه :
http://stackoverflow.com/questions/6749726/java-vs-c-qt-what-choice-for-a-gentle-deployment



برای جاوا هم برای توسعه بهتر و رسیدن به همه مقاصدی که گفتید باید محیط توسعه مناسبی استفاده کنید (eclipse , ...) ، توی همین سایت میتونید سرچ کنید ، اس دی کی توسعه خود جاوا هم که همه میشناسن ...

lmaghsoodi
پنج شنبه 20 تیر 1392, 11:34 صبح
ممنون از راهنمایی های شما ، من در برنامه نویسی با جاوا خیلی تازه کار هستم . و با کیوتی که اصلاً آشنا نیستم.

در رابطه با برنامه نویسی گرافیکی با c ، به میزان خیلی کمی آشنا هستم .

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

و چند دکمه داشته باشد.

در ضمن آن دکمه ها ، Effect داشته باشند.

و بتوان از تصاویر مختلف روی دکمه ها و بک گراند استفاده کرد.