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

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

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

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

GNU Logo

GNU Logo

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

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

تاریخ انتشار : 08/05/1388 مطابق با 30/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”.

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

Java

Java

شاید یکی از مهمترین سوالاتی که برای انتخاب بین جاوا و دات نت باید به آن پاسخ دهید ای است که استراتژی درآمدزایی شما چیست و شما روی چه بسترهایی برای درآمد زایی تمرکز کرده‌اید ؟ همانطور که قبلا هم گفتم مبحث کدباز یک Business Plan است که با توجه به آن بحث درآمدزایی به بخش پشتیبانی و موارد خدماتی مشابه دیگر سوق داده شده است. و اصولا همه شرکت ها از ایجاد برنامه نمی خواهند سودی ببرند دیدهای متفاوتی برای ایجاد شرکت  وجود دارد. به همین دلیل بیشت شرکت هایی که می خواهند روی پشتیبانی و خدمات نرم افزار سرمایه گذاری کنند نمی خواهند که بابت ایجاد چیزی ، هزینه ای متقبل شوند و از برنامه ای کدباز استفاده می کنند (‌مثلا IDE کدباز- پایگاه داده کدباز و سایر منابع موجود ) طیف بسیار عظیمی از این دسته ازشرکت ها به جاوا روی آورده‌اند و روز به روز به گسترش آن کمک می‌کنند. شا هم اگر عضوی از جنبش کدباز هستید به شما پیشنهاد می کنم که به جاوا روی بیاورید و کلا بی خیال دات نت و تکنولوژی های وابسته‌اش بشوید. در همینارتباط هم ریچارد استالمن کبیر یک مقاله با عنوان چرا برنامه‌های آزاد نباید به سی شارپ و مونو وابسته باشند نوشته که توصیه می‌کنم حتما مطالعه کنید. ( در صورتی که شما واقعا علاقمندید با دت نت کر کنی،استالن پیشنهاد کرده که با Portable .NET  کار کنید. )

سوال دیگری که پیشمی‌اید این است که با توجه به مطالب بالا اگر با دات نت کار کنم نباید یا نمی توانم کدباز کار کنم ؟ پاسخ به این سوال را بید کمی با دقت داد. شاید بهتر باشد بجای نمی شود یا نمی توان بگوییم بهتر است که با اینها کدباز کار نکنید چون اصولا دات نت پلتفرم بسته‌ای است. گرچه مایکروسافت نسخه Visual Studio Express راکاملا رایگان (‌و نه آزاد ) و همچنین Sql Server Express را ریگان (‌و نه آزاد ) و سایر نیازمندی های نوشتن یک برنامه را بصورت کاملا رایگان در اختیار شما میگذارد اما توجه داشته باشید که «برنامه آزاد به معنی آبجوی رایگان نیست» به همین دلیل هم مونو و .. اصولا با مفهوم برنامه آزاد در تضاد هستند و صرفا رایگان در اختیار شما قرار می گیرند. بنابراین گرچه روی دات نت هم پروژه های کدباز فوق العاده خوبی مثل NHibernate و Ajax ControlToolkit و بسیاری پروژه های عالی دیگر برای کار کردن وجود دارد اما پیشنهاد می شود که برای تولید برنامه های آزاد ، از برنامه های آزاد استفده کنید. تا برای گسترش آن محدودیت وجود نداشته باشد.

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

frameworknewlogo

frameworknewlogo

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

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

آن طورکه من متوجه شدم نوشتن یک برنامه جاوا به مراتب بسیار پیچیده تر از نوشتن یک برنامه دات نتی است و د یکجا را اندازی ابزرها و نشتن برنامه ها در این دو بستر مختلف را به رانندگی با یک ماشین بنز ( در دات نت ) و رانندگی (خلبانی) با یک هواپیمای جت تشبیه کرده بود. این تمثیلگرچه کمی اغراقآمیز به نظر می رسد اما تا حد بسیار زیادی حقیقت دارد و جاوایی ها برای نوشتن برنامه با دردسر های زیادی روبرو هستند، بخصوص در لایه presentation این امربیشتر به چشم می خورد. البته خیلی ها ب این موضوع خرده نمی گیرند چون Visual Studio یک IDE فوق العاده است که برای آن باید هزینه گزافی پرداخت اما در طرف جاوای ا هزین خبری نست و شما رایگان یک IDE را در اختیار می گیرید. گرچه می توان از Visual Studio Express هم استفاده کرد اما ر یک شرکت که مبنای کار، کارهای تیمی است VS Express قابلیت های کار تیمی را تقریبا پشتیبانی نمی کند. باز هم باید به این نکته اشاره کرد که گرچه Visual Studio تقریبا در دنیای IDE ها بی رقیب است اما همی موضوع یک مشکل بزرگ است، شما در جاوا جایگزین های زیادی دارید و هر کسی در هر سطحی ( مبتدی – معمولیو ی پیشرفته ) می تواند از IDE جداگانه ای استفده کند. اما در دات نت این طور نیست و شما فقط یک IDE در اختیار دارید ( که گرچه کار با آن بسیار ساده و کاربر پسند است اما تک بعدی بودن آن یک امتیازمنفی به شمار می رود ) یک مورد دیگر هم ینکه مایکروسافت اخیرا با عرضه دات نت ۳.۰ و معرفی WPF سعی کرده که این ضعف در تک بعدی بودن IDE را جبران کند و خیلی خوب هم این کار را کرده بسیاری از شرکت های مختلف ( حتی خود مایکروسافت با بسته EXpression Studio و … ) یکسری IDE صرفا برای ایجاد فرم های XAML به بازار ارائه کردند که خیلی هم از آنها استقبال شده، این موضوع این قدر به مایکروسافت کمک کرده که طیف بی شماری از گرافیست ها که تمایل به ایجاد رابط کاربری داشتند، بدون کوچکترین دانش برنامه نویسی، فرمهای برنامه ها را ایجاد می کنند و از کار خود لذت می برند، این موردی است که در دنیای جاوا تحت هیچ شرایطی دیده نمی شود.

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

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

  1. فکر می‌کنم با توضیحات موجود در صفحه http://www.gnu.org/software/dotgnu/pnet.html راه FOSS برای C#‎ خیلی بازتر شده باشد…

  2. mosa says:

    man tajikam , va daram yak taraneh va avaze bara jonba josh sabzeh shoma, va an ra beh hameh ham kalamanam hedia makonem. Arezo ma konam ke hama adamha ham bara in jonbojosh sabz maya konin , zenda basha mamlekate to.

  3. t0pk0d3r says:

    به نظر من دات نت راكس :دي

  4. مسعود says:

    سلام !

    مطلب خیلی خوبی بود.

    مشکل این دانشگاه واقعا حقیقت داره.توی دانشگاه ما اساتید کور کورانه از C و CPP پشتیبانی می کنن.استاد های کمی با سواد تر میگن #C.

    موفق باشید.

    /

    راستی خواننده تاجیک هم دارید :پی !

  5. محبوبه says:

    خيلي غلط املايي داشت. از ميزان علاقه خواننده ميكاهد. قبول داريد؟

  6. رضا says:

    سلام- غلط املاییتون خیلی زیاده ، من که خسته شدم تا نصفه خوندم.

  7. Pingback: mehrgad.ir » Blog Archive » جاوا 1

  8. غلام says:

    خیلی عالی بود و واقعا بدرد بخور و قابل تامل
    (فکر می کنم غلط املائی زیاد مهم نباشه)

  9. صادق says:

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

  10. amir says:

    java dar hame mavared karbord dareh….mostagel az platforme….good

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: