نمایش نتایج 1 تا 17 از 17

نام تاپیک: مزایا و معایب جاوا

  1. #1
    کاربر دائمی آواتار teymoorei
    تاریخ عضویت
    تیر 1388
    محل زندگی
    خراسان رضوی - کاشمر
    پست
    640

    Thumbs up مزایا و معایب جاوا

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

    1- مزایا و معایب جاوا چیست ؟

    2-انتظارات من از برنامه نویسی :

    1-زبانی که قابل حمل باشه ( مستقل از پلتفرم ) یا به عبارتی مثل داتنت نخواد DotNetFrameWork رو همراه خودش ببریم یا (Portable) باشه .
    2-امنیت بالایی داشته باشه .
    3-قابل فهم و یادگیری آسونی داشته باشه .
    4-برای برنامه نویسی تحت ویندوز و پایگاه داده امکانات خوبی داشته باشه (مثل vb.net) که خیلی هم راحته .
    5-هر جایی بتونم برنامه نویسی کنم .
    حالا دوستان هرکی میتونه به سوالات من جواب بده ، چون من خیلی وقته قصد دارم از برنامه نویسی با vb.net کناره بگیرم .
    باتشکر

  2. #2

    نقل قول: مزایا و معایب جاوا

    جاوا هم نیاز به نصب VM داره.
    ۱) اصولا یکی از روشهای اصلی پیاده سازی مستقل از پلتفرم بودن استفاده از VM (ماشین مجازی) هست.
    ۲) یک روش دیگرش استفاده از مفسرهاست.
    ۳) یک روش دیگر استفاده از کامپایلر و کامپایل شدن مخصوص هر سیستم عامل هست همراه با کتابخانه هایی که مخصوص همون سیستم عامل طراحی و کامپایل شدن اما در تمام پلتفرم ها یک API یک شکل رو شبیه سازی میکنن (تاحد امکان).

    حتی فریمورک های مستقل از پلتفرم مثل Qt هم (که در دستهء سومه) که با سی++ هست و ماشین مجازی نداره بالاخره چنتا فایل dll حجیم دارن اکثرا که این خودش بعضی جاها نامطلوب هست. مثلا موقعی که میخوای برای دانلود بذاری. ضمنا متاسفانه فکر نمیکنم Qt درحد جاوا یا دات نت کامل و راحت باشه و فریمورک های در دستهء ۳ رو دیگه سراغ ندارم که بحد کافی هم سطح بالا و کامل باشن. و شاید این بخاطر این باشه که احتمالا طراحی و گسترش و نگهداری فریمورک های مستقل از پلتفرم به روش دستهء ۳ دشوارتر و پرهزینه تر هست.

    هرچی فریمورک کاملتر و پیشرفته تر باشه پیچیدگی و حجم اجزاء مورد نیاز و تعامل اونها با سیستم عامل هم طبیعتا بیشتر میشه و احتمالا از نوعی نصبی خواهد بود. درمورد بعضیا مثل جاوا و دات نت نیاز به نصب این اجزاء هست و درمورد بعضیا لزوما نیازی به نصب چیزی نیست. مثلا Qt نیاز به نصب نداره و فقط کافیه dll ها رو همراه برنامه بذارید. درمورد پایتون هم تا جاییکه میدونم میشه با روشها و ابزارهایی برنامه هاش رو تبدیل کرد که بصورت exe در بیان و مستقل و بدون نیاز به نصب چیز دیگری اجرا بشن. درواقع این برنامه ها یک مفسر پایتون رو بصورت درونی در داخل خودشون دارن؛ اما انتظار نداشته باشید این کار در تمام موارد سرراست و تضمین شده باشه. معمولا امکانات و حالت استاندارد و رسمی یک فریمورک هست که سرراست و تضمین شده هست.
    ضمنا دوباره باید بگم متاسفانه پایتون هم درحدی نیست که بخواد رقیب کاملی برای امثال جاوا و دات نت باشه.
    این حرفا بدین معنا نیست که این زبانها و فریمورک ها خوب نیستن و بدردی نمیخورن. فقط دارم میگم از نظر مقوله و گستردگی کاربرد درحد چیزهایی مثل جاوا و دات نت نیستن. وگرنه اینا هم زبانها و فریمورک های بسیار جالب و مفیدی هستن که در خیلی جاها گزینه های بقدر کافی یا حتی عالی و حتی بهتر از جاوا و دات نت محسوب میشن. این بستگی به نوع و مکان کاربرد و شرایط ما داره.

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

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

    فریمورک دات نت حجم خیلی زیادی داره و نصبش دشوار و زمانبر هست اما نکتهء مثبت قابل توجهی که درموردش وجود داره اینه که در ویندوزهای جدیدتر (عمدتا ویندوز ۷ و بعدی ها) جزیی از سیستم عامل هست و نیازی به نصب نداره. یعنی عملا میشه مثل کتابخانه های بومی سی++. مثل Win32 API. البته ممکنه در عمل گاهی نیاز به آپگرید و کارهای خاصی باشه ولی بهرحال بنظرم وضعیت خیلی بهتر خواهد شد از وضع فعلی که نصبش واقعا دشوار هست و گاهی حتی عملا صرف نمیکنه یا غیرممکنه (مثلا بعلت کم بودن فضای هارد).

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

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

  3. #3
    کاربر دائمی آواتار teymoorei
    تاریخ عضویت
    تیر 1388
    محل زندگی
    خراسان رضوی - کاشمر
    پست
    640

    نقل قول: مزایا و معایب جاوا

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

  4. #4
    کاربر دائمی آواتار L u k e
    تاریخ عضویت
    اسفند 1387
    محل زندگی
    قزوین
    سن
    26
    پست
    559

    نقل قول: مزایا و معایب جاوا

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

  5. #5
    کاربر دائمی آواتار teymoorei
    تاریخ عضویت
    تیر 1388
    محل زندگی
    خراسان رضوی - کاشمر
    پست
    640

    نقل قول: مزایا و معایب جاوا

    نقل قول نوشته شده توسط L u k e مشاهده تاپیک
    قبلا زیاد بحث شده جستجو کنی چیزای خوب پیدا می کنی
    دوست عزیز اگه به همه ی سوالاتم رسیده بودم اینن تاپیک رو نمیزدم .

  6. #6

    نقل قول: مزایا و معایب جاوا

    خیلی واضح و کامل امکان نداره!
    یک بار و برای همیشه می خواهم چیزهای زیادی ندانم.فرزانگی نیز برای شناخت , محدودیت می آفریند .(پندها وپیکان ها – فردریش نیچه)

  7. #7
    کاربر دائمی آواتار teymoorei
    تاریخ عضویت
    تیر 1388
    محل زندگی
    خراسان رضوی - کاشمر
    پست
    640

    نقل قول: مزایا و معایب جاوا

    آخه چرا یکی نمی تونه به سوالایی که من واضح پرسیدم جواب بده ، تازه سوالایی که به درد هر کسی میخوره .
    آخرین ویرایش به وسیله teymoorei : یک شنبه 15 خرداد 1390 در 12:03 عصر

  8. #8
    کاربر دائمی آواتار teymoorei
    تاریخ عضویت
    تیر 1388
    محل زندگی
    خراسان رضوی - کاشمر
    پست
    640

    نقل قول: مزایا و معایب جاوا

    کجایید برنامه نویس ها ...

  9. #9
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    سن
    40
    پست
    966

    نقل قول: مزایا و معایب جاوا

    نقل قول نوشته شده توسط teymoorei مشاهده تاپیک
    کجایید برنامه نویس ها ...
    شاید از جوابه من خوشت نیاد و ناراحتت بکنه ولی فکر کنم بهترین جواب برای شما باشه. کسی که در سطح vb کار کرده بهتره که قبل از اینکه بخواد با زبان جاوا و کلا دنیای جاوا آشنا بشه و وارد اون بشه ۲ راه کار از نظر من نداره یکی که از همه راحتر و بهتر و مفیدتر هست اینکه کلا وارد دنیای جاوا نشه و دومین راه حل اینکه ۴ تا ۵ سال مطالعه کنه و کلا بفمه که دنیای نرم افزار زبان نیست بلکه خیلی وسیعتر از این هست که آدم بخواد دنیای نرم افزارش در حد آموختن چند زبان باشه بعد وقتی به این درک رسید و فهمید دنیای نرم افزار چیه و دنیای امروز داره به سمت چی میره اون موقع خودش می فهمه که باید سراغ چه زبان و ابزارهایی باید رفت. در اون موقع هست که شما جواب تمام سوالاتو خودت به خودت خواهی داد.

  10. #10
    کاربر دائمی آواتار teymoorei
    تاریخ عضویت
    تیر 1388
    محل زندگی
    خراسان رضوی - کاشمر
    پست
    640

    نقل قول: مزایا و معایب جاوا

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

  11. #11

    Thumbs up نقل قول: مزایا و معایب جاوا

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


    http://www.mozilla.org/about/forums/etiquette.html
    http://www.videojug.com/film/how-to-behave-on-an-internet-forum
    http://www.wisegeek.com/what-is-forum-etiquette.htm
    http://www.google.com/#sclient=psy&hl=en&site=&source=hp&q=forum+etiquet te&aq=0s&aqi=g-s1g-sx3g-msx1&aql=&oq=forum+ettiqu&pbx=1&bav=on.2,or.r_gc.r _pw.&fp=711da0863f755a&biw=1280&bih=798

    به دنیای جاوا خوش آمدی

  12. #12
    کاربر دائمی آواتار teymoorei
    تاریخ عضویت
    تیر 1388
    محل زندگی
    خراسان رضوی - کاشمر
    پست
    640

    نقل قول: مزایا و معایب جاوا

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

  13. #13
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    سن
    40
    پست
    966

    نقل قول: مزایا و معایب جاوا

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

    1- مزایا و معایب جاوا چیست ؟

    2-انتظارات من از برنامه نویسی :

    1-زبانی که قابل حمل باشه ( مستقل از پلتفرم ) یا به عبارتی مثل داتنت نخواد DotNetFrameWork رو همراه خودش ببریم یا (Portable) باشه .
    2-امنیت بالایی داشته باشه .
    3-قابل فهم و یادگیری آسونی داشته باشه .
    4-برای برنامه نویسی تحت ویندوز و پایگاه داده امکانات خوبی داشته باشه (مثل vb.net) که خیلی هم راحته .
    5-هر جایی بتونم برنامه نویسی کنم .
    حالا دوستان هرکی میتونه به سوالات من جواب بده ، چون من خیلی وقته قصد دارم از برنامه نویسی با vb.net کناره بگیرم .
    باتشکر
    1- مزایا و معایب جاوا چیست ؟
    تا شما مزیت و عیب رو چی بدونید؟ چون شما با vb کار کردید من فقط در یک کلمه به شما جواب می دم خیلی خیلی کاملتراز vb هست اگرم عیبی داشته باشه شما حالا حالا به عیبش نمی رسی اما شاید به این عببش زود برسی که جاوا برای آدمهایی که اهل مطالعه نیستند و از لحاظ علمی پایه ضیعفی هم دارند باعث می شه که زود پروژهاشون fail بشه.

    زبانی که قابل حمل باشه
    جاوا یک زبان کاملا portable‌هست.

    امنیت بالایی داشته باشه
    امنیت هزاران معنی داره اما فقط این رو بگم که آره چون نهایتا به byte code تبدیل می شه و در jvm اجرا میشه امنیت داره.
    3-قابل فهم و یادگیری آسونی داشته باشه .
    بستگی به خودت و اطلاعات پایه ای که داری داره. با توجه به پست قبلی که بهت گفتم ۴ ۵ سال در بهترین حالت هست یعنی برای آدمی که هوش متوسط رو به بالا داشته باشه.

    -برای برنامه نویسی تحت ویندوز و پایگاه داده امکانات خوبی داشته باشه (مثل vb.net) که خیلی هم راحته .
    اگر vb خوبه خوب با همون کار کنه. پالون خر عوض نکن. مهم اینکه خر خره دیگه. اگر با vb به هدفت می رسی چرا زبان دیگه یا ابزار دیگه.؟

    5-هر جایی بتونم برنامه نویسی کنم .
    اگر منظورت platform هست هرجا که گفتی آره جاوا جواب می ده.

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

  14. #14
    کاربر دائمی آواتار L u k e
    تاریخ عضویت
    اسفند 1387
    محل زندگی
    قزوین
    سن
    26
    پست
    559

    نقل قول: مزایا و معایب جاوا

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

  15. #15
    کاربر دائمی آواتار teymoorei
    تاریخ عضویت
    تیر 1388
    محل زندگی
    خراسان رضوی - کاشمر
    پست
    640

    نقل قول: مزایا و معایب جاوا

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

  16. #16
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    تهران
    پست
    30

    نقل قول: مزایا و معایب جاوا

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

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

    نقل قول: مزایا و معایب جاوا

    سلام دوست عزیز
    من تازه جاوا رو شروع کردم.
    البته قبلش C#‎ کار کردم تا حدودی, من 6 ساله که دارم درس دانشگاهی کامپیوتر رو میخونم.
    باید خیلی مفاهیم شی گرایی بلد باشی تا بتونی با java کنار بیای.
    پیشنهاد من اینکه OOP رو خوب یاد بگیر بعد برو سمتش

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

    دومین دلیل و مهمترین دلیلش اینکه جاوا رو یکبار بنویس همه جا اجرا کن (Write Once Run Anywhere)همین.

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

    این ها نظرات منه دوست من بازم از دیگران بپرس.


برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

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