دانلود با لینک مستقیم و پر سرعت .
لینک دانلود و خرید پایین توضیحات
فرمت فایل word و قابل ویرایش و پرینت
تعداد صفحات: 5
آیا جاوا میتواند پلاتفرم ایدهآل تکنولوژی شود؟
نویسنده: Humphrey Sheil مترجم: نازنین حقیقی
خلاصه: جاوا شبیه هر مجموعه پلاتفرم طراحی /زبان است اغلب طراحان رابطه عشق و انزجار با آن دارند. مطمئنا برای هوادارن پروپا قرص جاوا این بهتر از استفاده از .Net، LAMP یا (مورد ویژه خودتان را اینجا اضافه کنید) است، اما ما برای پیچیدگی Swing، حجیک بودن مشخصه، عملکرد، هزینههای اضافی بر سختافزار ناقابل توسط Java2platform، پلاتفرم Micro Edition (J2ME)، 101 راه مختلف انجام کارها، و غیره ماتم میگیریم. اگر قرار بود تنها به نقاط ضعف جاوا اشاره کنیم ممکن بود جاوا را بسیار بد جلوه دهیم پلاتفرم ایدهآل تکنولوژی ………..پسش بنابراین، آن تغییرات چه هستند؟ آیا چیزی به عنوانن پلاتفرم ایدهآل تکنولوژی وجود دارد، و آیا جاوا قابلیت تبدیل به آن را دارد؟
از Humphrey Sheil
حرف ندارد این مقاله بلندپروازانه است. من درصددم در آن پلاتفرم ایدهآل تکنولوژی را تعریف کنم و مشخص نمایم چگونه پلاتفرم جاوا با آن برابری میکند. سپس این مقاله به وضعیت راهحل اشاره مینماید و تغییرات تاکتیکی و استراتژیکی برای پلاتفرم جاوا را پیشنهاد میکند تا هر نقطه ضعف شناخته شده را نشان دهد.
فراهم نمودن زمینه
ابتدا، چرا باید نگران این موضوع باشید که آیا جاوا یک پلاتفرم برنامهنویسی ایدهآل است؟ در حال حاضر خوب کار میکند، اینطور نیست؟ در یک کلام، نه. معتقدم که در انتهای این مقاله نقطه ضعفهای واضح در پلاتفرم جاوا را به نمایش گذاشتهام که میتوان آنها را اصلاح کرد. حاصل توجه به این نقاط ضعف، پلاتفرمی است که طراحی آن سادهتر و قویتر است، از نقاط قوت پلاتفرم استقرار به خوبی بهره میگیرد، و به طور خلاصه استاندارد تکنولوژی موجود در تمام محورهای صنعت و بخشهای بازار میشود زبانی جهانی برای برنامهنویسان.
یک پلاتفرم ایدهآل تکنولوژی چیست؟
پیش از ادمه بیشتر بحث باید دیدگاهم در مورد پلاتفرم ایدهآل تکنولوژی را مشخص سازم. به زبان ساده، معتقدم پلاتفرم ایدهآل تکنولوژی یک سیستم نرمافزاری است که هم توسط طراحان مبتدی و هم طراحان حرفهای قابل برنامهریزی است، ظرفیت ساخت برنامههای کاربردی ساده و پیشرفته را داراست، روی تمام پلاتفرمهای سختافزاری قابل استفاده است و در زمان اجرا در وضعیت طبیعی یا شبیه به آن وضعیت کار میکند.
مشخص نمودن چارچوب این مقاله
در مورد مقالهای اینچنینی، تعیین سریع چهارچوب مهم است. نخست، این مقاله هیچ پلاتفرم تکنولوژی دیگر به جر جاوا را مد نظر قرار نمیدهد. آیا این نشانه تعصب بیش از حد است؟ من اینطور فکر نمیکنم. چهارچوبی که برای این مقاله تعیین نمودهام صرفا بررسی پلاتفرم جاوا به تنهایی، نه به عنوان بخشی از یک برنامه رقابتی، میباشد. من علاقمند به نقد کردن سازنده برای پلاتفرم جاوا به منظور تقویت آن پلاتفرم هستم. به طور ایدهآل، پشتیبانان مشتاق دیگر پلاتفرمهای تکنولوژی کارهایی مشابه برای تکنولوژیهای مطلوبشان انجام داده و منتشر میکنند.
به علاوه، پیشاپیش فرض میکنم که زبان برنامهنویسی هسته جاوا از قبل بهترین زبان برنامهنویسی جهت ایجاد هر پلاتفرم تکنولوژی است. من در مورد توسعههای طراحی شده برای Java2Platform، Standard Edition بحث نمیکنم، گر چه فکر میکنم برخی تغییرات صرفا رقابت با تغییراتی است که مستقیما در مورد زبان C# صورت میگیرند. ثبات خود مشخصه زبان طی هشت سال گذشته شاهدی بر طراحی اولیه بسیار خوبش است. ویژگیهای جدید به کار گرفته شده در J2SE1.5 از قبیل autobaxing، شمارش و ورودیهای ثابت در جامعه طراحی وسیعی به عنوان موارد دستوری مطرح میشود، گر چه در دسترس بودن مجموعههای پارامتری شده یک مورد افزوده شده ارزشمند به مشخصه هسته است.
تصور این فرض همچنین هر بحثی در مورد این واقعیت را منتفی میسازد که جاوا ذاتا یک زبان برنامهنویسی شیگرا با قابلیتهای مفید C، c++ است، و اینکه به نظر من این زبان برنامهنویسی هسته درستی است که میتوان یک پلاتفرم تکنولوژی برای آینده را بر مبنای آن پایهریزی نمود.
به لحاظ فنی میتوانستم سایر زبانهای شیگرا از Eiffel، Smalltalk را بررسی کنم و مطالعهام را گستردهتر نمایم، چرا پی نبرم که آیا زبانهای اساسا متفاوت از قبیل زبانهای برنامهنویسی عملیاتی مثل LISP، Haskell یل زبانهای برنامهنویسی تعریفی مثل SQL میتوانند هسته معنایی پلاتفرم ایدهآل تکنولوژی را تشکیل دهند؟ چون این بحث خود یک کتاب میشود، دوستان عزیز! اما اشتباه نکنید: اگر پخش کنندههای عمده مثل سان میکروسیسنمز، Hewlett packard یا مایکروسافت تصمیم میگرفتند یکی از آن زبانها را برگزینند و پلاتفرم تکنولوژی بعدی را بر پایه آن قرار دهند شانس موفقیت را داشت. پشتیبانی و تعهد تمام آن چیزی است که برای پرورش یک تکنولوژی در آغاز راه لازم است.
بهر صورت من به بررسی جاوا به عنوان یک پلاتفرم علاقمندم، و در آ“ شرایط، زبان جاوا در واقع نقشی کوچکتر از خود پلاتفرم کلی بازی میکند.
پس از تعیین چهارچوب این تحلیل، اکنون مهمترین ویژگیهای هر پلاتفرم را مشخص مینمایم.
بررسی ویژگی پلاتفرم ایدهآل تکنولوژی
این لیست میتواند یا بسیار طولانی و مفصل باشد یا کوتاه و مختصر باشد. من لیست کوتاه و مختصر را انتخاب میکنم. خوانندگان علاقمند میتوانند توجه کنند که لیستی طولانی و مفصل لغات بسیار زیادی دارد که به ility ختم میشوند، که همچنین به عنوان ماتریس ility شناخته میشود.
به نظر من، هر کاندیدای احتمالی برای پلاتفرم ایدهآل تکنولوژی باید:
توسعهاش آسان باشد، با این همه سطوح دسترسی متعددی ارائه مینماید (برای جزییات بیشتر قسمت زیر را ببینید).
با ثبات باشید.
استقرار آن بویژه در پلاتفرمهای کلانیت آسان باشد، و پس از استقرار در وضعیت طبیعی عمل نماید.
همانگونه که مورد نیاز است عملکرد متناسب داشته باشد.
از سوی صنعت پذیرفته شود و حداقل عملا مبتنی بر استانداردهای عمومی باشد.
جاوا چگونه با این ویژگیها برابری میکند
اکنون تعدادی از ویژگیها را مشخص نمودهام، بیایید ببینیم جاوا هنگام مقایسه با این لیست چگونه پیش میرود.
اگر اگر بخواهیم کاملا صادق باشیم، بخصوص، طراحی جاوا آسان نیست، زیرا پروژههای ساده خوب هستند، اما همچنانکه پروژهها پیچیده میشوند مباحث بنیادی مشکلات بیشتر و بیشتری پدید میآورند. مثالی خوب در اینباره. کار کردن با Java2platform، سرورهای برنامه کاربردی Enterprise Edition است. من نسبتا دقت بیشتری برای تعقیب مشایلی از قبیل مشکلات Classloading نسبت به اشکالزدایی منطق تجاری کدبندی شده فعلی در جاوا صرف میکنم. به علاوه، نگرانیای که برنامهنویسان عموما در مورد Enterprise JavaBeans احساس میکنند (مقاله قبلی من، TOESB، Or Not TO ESB? را بخوانید) علامت هشدار واضحی است که ESB ممکن است صرفا پیچیده باشد و برای برنامههای کاربردی J2EE به عنوان استمرار موجود یا راهحل منطق تجاری جا نیفتاده باشد. این نکته همچنین پشتیبانی ابزار برای پلاتفرم جاوا را بر خلاف هر نقطه ضعفی در خود تکنولوژی جاوا خاطر نشان میسازد. اگر بخواهیم بیپرده صحبت کنم مایکروسافت با Visual Studio کار را آغاز نموده است و جاوا باید پیش بیفتد.
اشاره قبلتر من به سطوح دسترسی متعدد یعنی دادن امکان کار با تکنولوژی جاوا به طراحان/کاربران به طوریکه متناسب با سطح تخصص فنیشان باشد. طراحان هسته سخت میتوانند از emacs/vi به همراه یک اشکالزدای خط فرمان برای طراحی و استقرار سیستمهای مبتنی بر جاوا استفاده نمایند، در حالیکه تحلیلگران تجاری یا حتی کاربران نهایی باید بتوانند به سیستمها دسترسی داشته باشند و آنها را با استفاده از ابزارهای WYSIWYG به طور معقول تغییر دهند.
استقرار جاوا هم آسان نیست. مطمئنا، اپلت و تکنولوژی web Start جاوا تا حدی کمک میکنند، اما هر دو روش معایب خودشان را دارند که یکی از آنها نیاز به یک Java Runtime Environment به روز رسانده شده است که قبلا روی دستگاه کلانیت مقصد مستقر شده باشد.
پلاتفرم جاوا کاملا باثبات است. آخرین باری که یک JVM بدلیل یک باگ JVM یا کتابخانه هسته از کار افتاد را به یاد نمیآورم. ترجیح میدهم یک برنامه کاربردی تجاری حساس را روی پلاتفرم J2EE بسازم تا روی دستگاه کلانیت مقصد مستقر شده باشد.
پلاتفرم جاوا کاملا باثبات است. آخرین باری که یک jvm بدلیل یک باگ jvm یا کتابخانه هسته از کار افتاد را به یاد نمیآورم. ترجیح میدهم یک برنامه کاربردی تجاری حساس را روی پلاتفرم j2ee بسازم تا روی .Net،ة“؛آ,’:ة‘‹“آ,ةهای کاربردی بدرستی طراحی میشوند عملکرد جاوا روی سرور کاملا مناسب است. عملکرد swing روی کلانیت کمابیش مناسب است، اما هنوز به میزان سرعت عادی نمیرسد. برای ابزارهایی با منبع ساختگی از فبیل تلفنهای هوشمند، ساختن برنامههای کاربردی در جاوا به جای استفاده مستقیم از یک مجموعه ابزار معمولی، یک چیز لوکس است تا یک تصمیم طراحی عملی. لایه اضافی تحمیلی توسط Mobile Information Device Profile روی ابزارهای با منبع ساختگی تاخیر قابل توجهی در عملکرد روی برنامههای کاربردی معمولی، بویژه در زمان شروع به کار برنامه کاربردی ایجاد مینماید.
بیتردید جاوا پشتیبانی گسترده صنعت از تمام عرضهکنندگان عمده نرمافزاری به جز مایکروسافت دارد. عرضهکنندگانی مثل IBM، HP، Oracle استراتژیهای تکنولوژی خودشان را با پلاتفرم جاوا همسو کردهاند که خبری خوش برای تمام کسانی است که به نوعی با آن مرتبطاند. هر چه پشتیانی برای جاوا بیشتر باشد بهتر است. این بدین معنی است که شرکتها زمان و پول قابل ملاحظهای را سرمایهگذاری نمودهاند و علاقمندند ببینند جاوا همچنان هم از نظر محبوبیت و هم میزان تقاضا در دستگاه موبایل، کامپیوتر شخصی و اجزای سرور افزایش مییابد.
محاسن:
در حال حاضر نقاط قوت جاوا چیست؟
پشتیبانی پلاتفرم: J2SDK روی تمام مجموعههای متداول سیستمهای عامل و سختافزار در سراسر بخشهای صنعت، از خدمات مالی تا سرگرمی، تحقیق علمی و کامپیوترهای خانگی قابل استفاده است.
تفکیک مشخص بین مشخصه زبان جاوا و مشخصه زمان اجرای جاوا به محققان امکان به کارگیری کامپایلرهایی را داده است که نگارشهایی از زبانهای برنامهنویسی به جز جاوا را به کد بایتی جاوا پدید میآورند که برای اجرا توسط هر تابع VM آماده است. اهمیت این انعطافپذیری هنگامی روشن خواهد شد که من بعدا به تغییرات استراتژیکی اشاره میکنم.
به نظر میرسد یک جامعه طراح بسیار فعال هر ساعت حیطهها، کتابخانهها و اجزای جدید را ارائه نماید. جاوا احتمالا یکی از فعالترین جوامع طراحی در دنیا را دارد.
امروزه جاوا تکامل یافتهترین و باثباتترین پلاتفرم قابل استفاده برای کار کامپیوتری فراگیر است. مایکروسافت هنوز سرگرم .Net است و ممکن است در نهایت به خوبی جاوا یا بهتر از آن باشد (اما تنها روی پلاتفرم ویندوز). همین حالا، اینگونه نیست. همچنین، جبههای جدید در نبرد برای برتری تکنولوژی گشوده شده است روی دستگاههای موبایل. بر خلاف هزینه اضافی که جاوا بر دستگاههای با منبع ساختگی تحمیل کرده است جاوا مسلما مدعی کنونی دراین جریان است.
جاوا در محیط دانشگاهی پشتیبانی قوی دارد. جاوا اولین زبان برنامهنویسی است که اکثر متخصصان علم کامپیوتر هنگامی که به کالج یا دانشگاه میروند تا علوک کامپیوتر بخوانند با آن برخورد کنند. به عبارت دیگر، اکثر برنامههای دانشگاهی برنامهنویسان کامپیوتری تربیت میکنند که جاوا را به عنوان یکی از قویترین زبانهایشان محسوب میکنند. این گروه آماده برنامهنویس دو تاثیر مثبت دارند: تحقیق در سطوح MS، PHD بیشتر است و افلب با استفاده از جاوا کامل میشود که اعتبار بیشتری به پلاتفرم میدهد، و به همان اندازه مهم این است که شرکتها در تمام صنایع میدانند محدودیتی برای برنامهنویسان جاوا که در پروژههای طراحی نرم افزاری فعالیت میکنند وجود ندارد، که از جاوا به عنوان پلاتفرم صنعتگرا حمایت میکنند.
نقاط ضعف
اکنون نقاط ضعف عمده
یک جامعه طراح که تقریبا هر ساعت حیطهها و کتابخانههای جدید میسازد هم یک مزیت و هم یک نقطه ضعف است. به جای اتحاد جهت بهبود یک کتابخانه تمام عیار، طراحان و سازمانهای مختلف، اغلب با تقریبا مجموعه ویژگیهای مشابه با یکدیگر به رقابت میپردازند. کاربران (در این حالت، طراحان) درگیر مسابقه تسلیحاتی شده و کاملا گیج میشوند. حتی Sun نیز در این فعالیت درگیر