خلاصه:
جاوا شبیه هر مجموعه پلات فرم طراحی /زبان است اغلب طراحان رابطه عشق و انزجار با آن دارند. مطمئنا برای هوادارن پروپا قرص جاوا این بهتر از استفاده از .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 شناخته میشود.
به نظر من، هر کاندیدای احتمالی برای پلاتفرم ایدهآل تکنولوژی باید:
توسعهاش آسان باشد، با این همه سطوح دسترسی متعددی ارائه مینماید (برای جزییات بیشتر قسمت زیر را ببینید).
با ثبات باشید.
استقرار آن بویژه در پلاتفرمهای کلانیت آسان باشد، و پس از استقرار در وضعیت طبیعی عمل نماید.
همانگونه که مورد نیاز است عملکرد متناسب داشته باشد.