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

نام تاپیک: فرق j# با جاوا

  1. #1

    فرق j# با جاوا

    سلام
    با عرض شرمندگی باید بگم که جستجو کردم ولی به جواب سوالم نرسیدم.
    سوال من اینه ایا j# با جاوا فرق چندانی داره از نظر دستور زبان و ...
    و ایا برنامه هایی که جی شارپ و ویژوال استدیو نوشته میشن بازم این قابلیت رو دارن که رو لینوکس اجرا بشن؟
    ممنون

  2. #2
    کاربر دائمی آواتار handinux
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    Linux
    پست
    362
    میکروثافت علاوه بر سی شارپ یک زبان بی مصرف تر دیگر هم به نام #J دارد.Syntax در این زبان بسیار شبیه جاوا است و اینطور که میکروثافت گفته بیشتر موقع می توانید با یک Recompile کردن فایل اجرایی برنامه جاوای خود را تولید کنید (زهی خیال باطل!) و تصمیم گرفته بود تا راهی درست کند که برنامه نویسان جاوا به راحتی به دات نت روی بیاورند(که نیاوردند!).در ضمن کدهای #J فقط بر روی وین دوز! اجرا می شوند.

  3. #3
    نقل قول نوشته شده توسط handinux مشاهده تاپیک
    میکروثافت علاوه بر سی شارپ یک زبان بی مصرف تر دیگر هم به نام #J دارد.Syntax در این زبان بسیار شبیه جاوا است و اینطور که میکروثافت گفته بیشتر موقع می توانید با یک Recompile کردن فایل اجرایی برنامه جاوای خود را تولید کنید (زهی خیال باطل!) و تصمیم گرفته بود تا راهی درست کند که برنامه نویسان جاوا به راحتی به دات نت روی بیاورند(که نیاوردند!).در ضمن کدهای #J فقط بر روی وین دوز! اجرا می شوند.
    دوست عزیز :
    دوست عزیز در پیشینه قدرت ظرافت و نبوغی که در جای جای جاوا وجود داره شکی نیست.اکو سیستم وسیع و متنوع SUNمدت هاست که خیل شرکت ها و گروههای بزرگ رو به دنبال خودش میکشه: Oracle -IBM- SAP- Adobe-Nokia-Symbian-GE-Apache و و و این فهرست تمومی ناپذیره.ملموسترین کاربردی که امروز از وب دارن یعنی Google در سطوح بسیاری مدیون لایه های بسیار قدرت مند جاوا ست.دوازده سال کار و تحقیق و در نهایت کسب درآمد از جاوا به من ثابت کرده که :جاوا مثل یه جادو برنامه نویسش رو سحر میکنه.
    با این وجود این دلیل نمیشه که چشم به تکنولوژی رو به توسعه که با سرعت زیادی در حال رشد هست و با قدرت و پول مایکروسافت داره راه خودش رو بین برنامه نویس ها باز می کنه ببندم. دات نت یک کپی برداری دقیقه به دقیقه از پلت فرم های جاواست.حتی در نام گذاری پکیج ها وکلاس ها .حتی در پلت فرم های مورد پشتیبانی.منتها به روش مایکروسافت.
    به نظرم رفتن تعداد زیادی از شرکت ها و موسسات برنامه نویسی به سمت .net و حتی اطرافیان خودم نمیوتونه به ((بی مصرف بودن )) زبان های میکروسافت صحه بذاره.درسته که جاوا (Write Ones ,Run Any where , Write Ones ,Deploy Any Where) هست.اما این همه داستان موفقیت یه ابزار,پلت فرم و ایده نیست.خوندن این مطالب رو هم به کسانی که میخوان Developer بشن هم به دوستانی که میخوان فرق موارد مختلف رو در دات نت و جاوا بدونن توصیه میکنم :
    1-هر دو دارای SDK مجانی هستن نه برای توسعه دات نت و نه برای توسعه جاوا در هیچ پلت فرمی نیاز به IDE نیست ! ابزار های خط فرمان و احتمالا GUI خود SDK ها تمام نیاز های کابرو اگه صبر ایوب و چند قرن وقت داشته باشه فراهم میکنن!با این وجود تا وقتی که از Windows استفاده کنید به طور حتم تجربه شما از IDE خیلی بهتر از IDE های جاوا خواهد بود.من از VS 2005 ,VS2008 صحبت میکنم.این IDE حتی با 512 مگ رم بخوبی پرزه های سنگین رو از نظر سرعت و کارایی پشتیبانی می کنن. درمقابل چیزی مثل JBuiler 2007 یا حتی netBeans 6.1 با کلی ادعا درباره بهینگی و ... با حدود 1.5 تا 2 گیگ رم لذت یه کار بدون وقفه و راحت رو به برنامه نویسشون میدن.بماند مثال های دیگه ای مثل اینکه برای ساخت و تست وب سرویس های وب در محیط جاوا شما نیاز به Start کردن Application server مثل BEA -Oracle -jBoss -JRun دارید اینها حجم خیلی بیشتری از Ram- CPU Power رو مصرف میکنن تا مثلا Developer Web Server مایکروسافت! در سطح ابزار های RAD هم هیچ همگونی در ابزار های Java نیست!با وجود تمام ادعا های Bean ها من در هیچ IDE نتونستم API واحدی از کامپوننت های ارائه شده ببینم!مثلا در Jbuilder 2006 برای ساخت پروژه های دیتابس یه سری کامپوننت هست.در 2007 اصلا نیستن!وقتی سعی میکنم Bean های 2006 رو در 2007 باز کنم دیزاینر Eclipce کاملا سردر گم میشه و Error میده.ابن در دو محصول که کار یک کمپانیه!بماند در سایر محصولات!در مقابل کامپوننت های دات نت چه اونهایی که برای Asp هستن چه Winforms اگه بر اساس API دات نت نوشته شده باشن که باید اینطور باشه بخوبی در VS نمایش داده میشن.و میبینید که چقدرکامپوننت های دات نت عالی هستن و برای کار باشون نیاز به داشتن Rocket Sience نداره!این هم برای کسانی که تازه کارن و البته کسانی که می خوان پروژه هایی با حجم کار بالا در زمان کم و دستمزد کم! انجام بدن عالیه!
    2-در سطح API و Platform و قدرت خود زبان : در سطح API و مخصوصا پلت فرم جاوا عالیه.هیج ابزاری نیست که جاوا رو ساپورت نکنه مگه اینکه نخواد!جاوا یک specification نه Impelemention!هر کس و هر جا که ابزاری بسازه چه یه سوپر کامپیوتر چه یک موبایل چه یک تراشه اگه جاوا رو براش پیاده سازی کنه یعنی تعهد کرده که کد های شما رو هم دستگاش میفهمه!بر خلافش دات نت.پیاده سازیه.و حتما باید برای یک سیستم توسط خود مایکروسافت و مخصوصا برای ویندوزش نوشته شده!اینطوریه که مایکروسافت ویندوز موبایل میفروشه!و این جالب نیست!در سطح زبان جاوا فقط جاواست!دقیق زیبا مختصر !JVM فقط جاوا رو میفهمه !شاید برای جاوا چیز هایی مثل jRuby-JGroovy و ... وجود داشته باشه ولی این در دنیای کارایی یعنی Overhead برای سیستم!دات نت اینطور نیست.دستور زبان رو برای همه باز گذاشت هر کسی که کامپالرش کد های سازگار CLR تولید کنه درسته!این یعنی شما اگه دوست داشته باشید به PHP برای دات نت برنامه بنویسید کافیه کامپایلرشو طراحی کنید !همونطور که بورلاند با Delphi .net کرده!این کد ها برای دات نت هیچ فرقی از نظر کارایی نداره!و این یعنی قدرت انتخاب !یعنی شما میتونید از Syntax بسیار بسیار زیبای ++C و به نظر من نازیبای VB در دات نت با یه کارایی استفاده کنید!
    3-امکانات مربوط به سیستم : تا وقتی که API جاوا امکانات مورد نظر شما رو پشتیبانی کنه مثل کار های شبکه-IO و غیره شما خوشوقت ترین برنامه نویس دنیا هستید! آسون و قابل انتقال !اما وای به حال وقتی که جاوا ویژگی مورد نظر شما برای یه پلت فرم رو نداره!مثلا استفاده کامل از Shell ویندوز مثل Systray - Startmenu- Srvices-Drive- و .....البته کارا های دیگه ای که در جاوا پیاده نشده و در API ویندوز یا COM سایر نرم افزار ها مثل Flash موجوده شما باید الاوه بر یادگیری JNI زبان c و ++C رو هم یاد بگیرید!اونم نه به صورت ابتدایی بلکه خوب!
    خوب چرا که هر گونه برنامه نویسی بد براحتی JVM رو هنگ میکنه! و تازه حالا کاره شما برای انجام این کار در سیستم های مختلف شروع میشه!یه در نهایت از ابزای های گرون قیمتی مثل JniWarper استفاده کنید!
    در دات نت اولا خیلی از امکانات سیستمی از قبل در فریم ورک تعبیه شده و ثانیا خود IDE و زبان استفاده از توابع ویندوز و اشیائ کام رو از طریق Interoperability فراهم میکه!از جاوا واقعا ساده تره.

    4-کلا دوره توسعه خیلی از برنامه ها با کامپوننت های دات نت سریعتره!مخصوصا برنامه های Database! مخصوصا در ساخت Client! دوستانی که با jdbc -Swing کار کردن میدونن من چی میگم!و به تازگی کنترل های دات نت واقعا متنوع شده!هر چند برای برنامه های توزیع شده مثل اونهایی که در وب هستن دنیای جاوا چه در طراحی و توسعه و ابزار بی نهایته!

    5-هیچ راحی برای اینکه فایل های کلاس جاوا رو به CLR داد جز Hack روش های غیراستاندارد وجود نداره و بالعکس.مایکروسافت هیچ ابزاری برای ساخت فایل های کلاس از اسمبلی های تولید شده در دات نت نداره!به فرض که چنین ابزاری باشه چه طور JVM بیچاره از سازو کاره فراخوانی متدی به اسم Dataset.Load() سر دربیاره!این کلاس دات نته!

    در نهایت : شاید #J زبان بی مصرفی باشه که خود مایکروسافت هم فهمید با وجود #c زائدو اضافیه و در ویرایش 2008 ویژوال استدیو پشتیبانیشو حذف کرد اما دات نت و زبان هاش مخصوصا ++C و #C و VB دات نت به هیچ عنوان طبق فرمایش جناب علی بی مصرف نیستند.

    امیدوارم برای همه مخصوصا کسانی که قصد شروع یه زبان جدید رو دارند مفید باشه و البته دوستی که می خواست رابطه جاوا و #j رو بدونه.
    آخرین ویرایش به وسیله mazdadoost : پنج شنبه 19 اردیبهشت 1387 در 14:32 عصر
    یک بار و برای همیشه می خواهم چیزهای زیادی ندانم.فرزانگی نیز برای شناخت , محدودیت می آفریند .(پندها وپیکان ها – فردریش نیچه)

  4. #4
    نقل قول نوشته شده توسط mazdadoost مشاهده تاپیک
    دوست عزیز :
    دوست عزیز در پیشینه قدرت ظرافت و نبوغی که در جای جای جاوا وجود داره شکی نیست....
    سلام
    بنده بسیاری ار مطالب گفته شده توسط شمارو قبول دارم و خیلی خوشحالم که با این دید خوب به تفاوتها نگاه می کنید .
    فقط یادآوری یک نکته را ضروری دانستم که یکی از تفاوتهای اصلی جاوا و >.net در سیاست و تفکرات مالکان آنهاست.

  5. #5
    با تشکر از ابراز لطف شما :
    حق با شماست.دوست عزیز فبل از اون که زمان من فرا برسه چند کلمه ای هم درباره سیاست هایی که فرمودین و سیاست های ما به عنوان برنامه نویسان و توسعه دهندگان عرض کنم (چیزی شبیه به یک درد دل)
    1-شرکت های عظیم ومعظم چون گوگل -یاهو -سان مایکروسافت در نهایت به دنبال کسب در آمد های بیشتر از بازار های هدفشون هستن.لطفا به لبخند های گول ریاکارانه مدیرانشون تری سمل - جف بزوس-لری پیچ - بیل گیست - لری الیسون - و غیره در حال رو نمایی پروژه های جدیدشون برای یاری رسوندن به جامعه برنامهنویسان در زمینه Open Sourc رو نخورید.چرا اپن سورُس؟ 1-استفاده از اپن سورس برای کاهش هزینه.
    2-استفاده از اپن سورس برای به دام انداختن خیل دوستاران اپن سورس و در نهایت فروش سیستم های غیر اپن سورس.برای مثال سان :سیستم عامل Open Solaric؟باید روی چه سیستمی اجرا بشه ؟بله سیستم های درجه یک سان برای Server-Gride-Storage-MainFrame-Vircualization و و اینا مجانیه؟نه پول خوبی باید پداخت بشه.هیج فرقی بین مایکروسافت و سان در این زمینه برای محیط توسعه وجود نداره وقتی مایکروسافت با دیده کینه ورزانه به کسانی که از VS بدون لایسنس معتبر استفاده میکنن نیست!گوگل وقتی GWT رو در اختیار برنامه نویسان میذاره حدفی جز کشیدن برنامه نویس ها و شرکت های بزرگ به دنبال نام تجارش نداره!شرارت ممنوع؟برای همه شرکت ها و تجارت ها تا وقتی که به بقائشون علاقه مندن چیزی مثل یک شعار نیست!میمونه سازمان های غیر انتفاعی!اونها چی ؟جز موارد معدود همگی یا به دنبال خریده شدن توسط شرکت های بزگترند(مثال اخیر mySql که دیدید چطور بازیچه مطامع سان و کشور مطبوعش شدن!)یا فروش مستندات واقعی و خدمات نرم افزارشون!سیاست در اکثر ماقع پوله!اگه سان به دنبال استقلال از پلت فرمه برای اینه که این مدل تجاری براش سودآوره!و متاسفانه جاوا همیشه در زمینه استفاده کامل از پلت فرم برای کسانی که وقت صرف یادگیریش میکنن ناکافی خواهد بود و باید c رو هم برای اون سیستم عامل یاد بگیرن!و تازه امکانات بومی اون سیستم!چرا اینطور فلسفه ای هست!؟از طرفی چنانچه دقت کرده باشید جاوا بیشتر به شمت معماری شبکه گرا سوق پیدا کرد!در سمت سرور ها و برای کارهای حرفه ای در اون سمت ماجرا!در سمت دریافت حق امتیاز از اراکل یا ادبی برای سرتیفیکیت JavaEE!oخوب معمولا کسی نمی خواد برای شبکه نرم افزار سیستمی بنویسه تا درگیر JNI شه!چرا که اینطوری سان دیگه به مرور Desktop رو فراموش میکنه!و دردسر های سازگاری و سیستم های مختلف!سان اگر سعی میکرد میتونست امکانات بیشتری رو به صورت مستقل از پلت فرم در مشخصات جاوا تعبیه کنه!تلاش اخیرش Java DeskTop!ایا دسکت تاپ یعنی اینستالر یا توانایی کسب اطلاعات هار و یا نصب آیکون در دسکتاپ؟نه!این ها حتی برای ویرایش های پائین سیستم عامل های ویندوز اپل و یا لینوکس چیزهای اپتدایه!این امکانات اما برای محیط خشک سولاریس عالیه!سان واقعا در این زمینه کاری نکرده , میتونست تا حالا خیلی بیشتر انجام بده!پس اونطور هم دغدغه ای درباب استقلال در پلت فرم برای عده زیادی از توسعه دهندگانی که با امید و ارزو جاوا رو یادمیگیرن
    و میخوان برنامه با امکانات پلت فرمشون بنویسن نداره!پس آیا من با کمال شرمندگی باید عرض کنم (ایرانی ها در جوانی مشتاق سینه زدن و در بزرگسالی مشتاق باد هستند!)؟
    2-به عنوان برنامه نوسان ایرانی با مشخصات خودمون و اینکه امکانات محدودی در آموزش .پشتیبانی -Paper و ....داریم باید به آینده چشم داشته باشیم.با دقت و بر اسسا نیازمون به اقدام به آشنایی با یک فناوری داشته باشیم.برای خیلی ها که برنامه نویسی یه لذته!اما باور کنید بابت این لذت حتا یک بلیت اتوبوس هم به آدم نمیدن آگه کسی طالبش نباشه و شمارو درک نکه!پس اسنکه چه نیازی داریم مهمه , برای کسبش باید در شرایط کنونی واقعا سعی کنیم و از ناقص یاد گرفتن و شاخه به شاخه شدن بپرهیزیم.حالا اینکه میکروسافت و سان چه سیاستی رو دنبال مسکنن تنها قسمتی ازش مهمه که میتونه نیاز های مارو به عنوان برنامه نویس ایرانی فراهم کنه!همین! چه جاوا چه دات نت چه پرل چه .....
    فکر میکنم مربوط بود.
    یک بار و برای همیشه می خواهم چیزهای زیادی ندانم.فرزانگی نیز برای شناخت , محدودیت می آفریند .(پندها وپیکان ها – فردریش نیچه)

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

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