جاوا یا دات نت مسئله این نیست

Java

Java

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

—————————————————————-

این مطلب زیر نظر مجوز GFDL منتشر می‌شود. و کلیه حقوق آن برای همگان آزاد است، بدین شرط که به کلیه شرایط موجود در مجوز GFDL ( که یک نسخه از متن انگلیسی مجوز GFDL در این محل و یک ترجمه غیر رسمی (فارسی) از متن مجوز GFDL که در مرداد ۱۳۸۳ توسط کاوه رنجبر تهیه شده است در این محل ) قرار دارد پایبند باشد.

GNU Logo

GNU Logo

عنوان مطلب : جاوا یا دات نت مسئله این نیست

بخش ثانی : ندارد

تاریخ انتشار : 06/05/1388 مطابق با 28/07/2009

شماره نسخه : نسخه یک

نویسنده : ناصر حاجلو

ای-میل نویسنده : n.hajloo@gmail.com

Copyright (c) 2009 Nasser Hajloo.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation;

with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

—————————————————————-

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

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

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

.netFramework

.netFramework

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

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

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

Open Source : جاوا یک پروژه کدباز است و این مشخص می کند که آینده خوبی دارد ، و از طرفی شرکت SUN دانلود آن را برای داخل ایرانی ها کاملا ممنوع کرده و شما با IP ایرانی قادر به دریافت جاوا از سایت SUN نیستید.  از طرف دیگر مایکروسافت هم پس از دات نت ۳۰ کل فریم ورک خودش ر بصورت کدباز در اختیار عموم قرارداده و سایر کنترلهای الحاقی آن را هم بصورت کدباز پیش می برد که از قافله عقب نماند.

ایده تجاری (business Plan) شرکت : بسته به اینکه شما می خواهید در دنیای Copy Rightی ها و یا Copy Left ی ها زندگی کنید باید اقدام به انتخاب یکی از این دو زبان بکنید. جاوا بای برنامه های آزاد و کدباز و دات نت برای برنامه های تجاری با مجوز مناسب تر هستند.

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

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

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

IDE و سیستم های گزاش گیری : در دات نت Visual Studio چنان قدرت نمایی می کند که حتی سرسخت ترین هواداران جاوا هم آرزو دارند روزی با چنین IDE یی کار کنند. به همین دلیل به مزایای فوق العاده آن اشاره نمی کنم. از طرفدیگر در دنیای جاوا هنوز یک IDE قدرتمند ظهور نکرده. NetBeansIntellij IdeaeClipse و سایر آنها هنوز آن قدر قوی نشدند تا رقیب را از صحنه بدر کنند. خیلی ها با توجه به عاداتی که دارند اقدام به انتخاب می کنند. و حرفه‌ای تر ها از eclipse خود این موضوع عدم کاربرپسند بودن IDE های جاوا ر بخوبی نشان میدهد. از طرف دیگ سیستمهای گزارش گیری جاوایی مثل JBoss ( اگر اسمش را صحیح نوشته باشم ) هنوز نیمی از قدرت Reporting Services و یا حتی Crystal Reports را هم ندارند. گرچه در بعضی از موارد برتری هایی به این دو سیستم دارند اما در کل ضعیف تر هستند.

یکپارچگی : برنامه های دات نتی در هر بستری که باشند ( وب – ویندوز – موبایل و …) بصورت وحشتناکی یکپارچه هستند برعکس برنامه های جاوایی.  از طرف دیگر برنامه هی جاوایی بخصوص در زمینه موبایل ( بخاطر Cross Platform بودن ) با دردسر بسیار کمتری اجرا می شوند.

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

11 Responses to جاوا یا دات نت مسئله این نیست

  1. از انتخاب عنوان ات اصلا ناراحت نشده. بر عکس خیلی هم خوشم اومد. جواب قشنگی بود به مقاله “جاوا یا دات نت، مسئله این است” در پی سی پدیا به آدرس
    http://www.pcpedia.ir/ViewArticle.aspx?ID=194

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

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

  4. Pingback: mehrgad.ir » Blog Archive » جاوا 2

  5. حسین says:

    با سلام جناب حاجلو
    از پست خووبتون ممنونم
    من برنامه نویس net. هستم .ولی چند ماه داشتم j2me رو یاد میگرفتم مطلب قابل توجهی که شما ذکر نکردین این بود که تمام بر نامه نویسی برای دنیا برنامه نویسی امروز که رشد زیادی هم داره ،انتخاب یک ide خوب است تا چیز های دیگه.
    همه میدونن که Microsoft با ابزارهای فوق العاده قدرتمند همچون Visual Studio و Sql server داره دنیا رو تسخیر میکنه و هیچ کم و کاستی نزاشته.از دوستانی که مایلند تازه برنامه نویسی رو شروع کنن یا تازه شروع کردن ، پیشنهاد میکنم به جای این که وقت و هزینه خودشون رو برای اوا هدر کنن(بخاطر مسائل پیچیده و باگ های الکی و…)به سیستم های مایکروسافت رو بیاورن که هم فراگیریش راحت تر هست و هم بازار خوبی توی ایران داره(البته با داشتن مدرک های مایکروسافت میتونیم بگیم توی جهان)و راحتی و لذتبرنامه نویسی رو تجربه کنن.یادتون نره که مایکروسافت با Visual stodio ,Silverlight, sql server , crystal report , و asp.net و … برای برنامه نویساش چیزی رو کم نزاشته و شما با فراگیری یک زبان net. میتونین به همه خواسته هاتون برسین . از دوستان متعصب هم تقاضا دارم یک کم فکر کنن ببینن که کدوم بهتره ؟ کمپانی که این قدر هوای برنامه نویساش رو داره یا زبونی که هیچ کس پشتیبانی 100% شو تضمین نمیکنه ؟؟؟

  6. دانیال says:

    این مسئله انتخاب جاوا یا دات نت نیاز به بررسی زیادی دارد من پست بسیار خوبی در فروم برنامه نویس دیدم که لینک آن را اضافه خواهم کرد ، من خودم به طور کلی بعد از خواندن این پست یک چیز را به طور عمیق فهمیدم: نباید این دو تا را با هم مقایسه کرد.

    http://www.barnamenevis.org/forum/showthread.php?t=28978

    وقتی خواندید متوجه میشوید که چرا نباید این دو تا را مقایسه کرد

  7. AnyYouWant.ir

    http://www.anyyouwant.ir
    توجه فرمائید . درصورتیکه ثبت نام نمودید ولی مورد پذیرش قرار نگرفتید جا دارد تحمل فرمائید تا در زمان مقتضی پاسخ دریافت کنید . این فقط بخاطر درج آگهی واحد های تولیدی و تجاری و خدماتی برتر میباشد که خود از محصنات این سایت تبلیغاتی است که فقط به جهت ارتزاق درج آگهی نکرده و پس از درج رایگان آگهی شما حاضر به خارج شدن از عضویت نخواهید بود .
    خوب بشناسید و خوبتر شناسانیده شوید
    البته من فقط دیدگاه تجاری دارم و از هر روزنه ای تصوویم دارم تا وبسایت خودم رو پر مشتری کنم و در آمد حاصل از درج آگهی رو به مصرف سازمان معلولان و سالمندان کهریزک بدم .

  8. hadi says:

    سلام
    من ميخوام زبان جاوا را ياد بگيرم قبلا هيچ زباني كار نكردم(بلد نيستم)به نظر شما بايد چكار كنم و بهترين راه
    يادگيري زبان جاوا چيست؟بعضي از دوستان ميگن اول SQL را ياد بگير كه بعدا به مشكل برنخوري ميخوام بدونم SQL چه ربطي به جاوا داره و چي هست؟اول بايد چكار كنم كه جاوا رو راحتر يادبگيرم.يشنهاد شما چيه؟ببخشيد كه سوالهام زياد شد.

  9. دوست عزیز خود من جاوا کار نکردم و کلا موضوع این وبلاگ هم مرتبط باتکنولوژی های مایکروسافت [دات نت] است. بنابراین این وبلاگ مرجع مناسبی جهت پاسخگویی به پرسش شما نیست
    بنابراین در یک وبلاگ مرتبط با جاوا در این ارتباط پرسش کنید.

    در ضمن توجهداشته باشید که SQL باجاوا کلا دو مورد جدای از هم هستند که برای کار با یکی – نیاز به کار بادیگری نیست – اما امروزه عموما بیشتر برنامه نویس ها چه دات نتی و چه سایر پلتفرم ها – برای ذخیره و بازیابی اطلاعات از پایگاه داده نیاز به دانش T-SQL دارند. البته رفته رفته این مدل کار با پایگاه داده جای خودش را به ORM ها می دهد و تا چندی دیگر شما باید ایجاد کويری از روش های دیگر را جایگزین t-sql کنید

  10. Hello, i´m beginning with rss subscriptions. Now i can stay current with your site and especially the topic جاوا یا دات نت مسئله این نیست Hadjloo's Daily Notes now, really a neat feature. Thanks, Zahnimplantate

  11. Joleen Hilmes says:

    Visit This Link

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: