![]() |
جاوا زبان نورانی sun
جاوا زبان نورانی sun
زبان نوراني شركتSUN http://www.jamejamonline.ir/Media/im...0953316070.jpg تقريبا همه ما شركت بزرگ Sun Microsystems را به خاطر 2محصول مشهور و توانمندش يعني زبان برنامهنويسي جاوا (Java) و سيستمعامل سولاريس (Solaris) بخوبي ميشناسيم. زبان جاوا زباني بسيار قدرتمند است كه پروژه طراحي آن از سال 1991 آغاز و درسال1995 به طور رسمي به دنياي رايانه عرضه شد. با اينكه اين زبان از جمله زبانهاي قديمي به شمار ميرود، اما نسبت به زبانهايي چون بيسيك و++ C جديدتر است. پروژه تحقيقاتي اين زبان Green نام داشت. نويسنده اصلي آن شخصي به نام James Gosling بود كه ابتدا اين زبان را Oak ناميد كه در لغت به معناي بلوط است، اما به دليل برخي مشكلات، از فهرستي از نامهاي تصادفي، جاوا براي اين زبان برگزيده شد. اين پروژه در شرف لغو شدن بود؛ اما با افزايش تواناييهاي آن بالاخره بهطور رسمي به دنيا معرفي شد. نگاه كلي جاوا زباني شيءگرا و شبيه زبان++ C است. زيرا در ابتداي طراحي آن، هدف آن بود كه زباني شبيه++ C با قابليتهاي متفاوت عرضه شود. اين زبان مدل شيءگرايي آسانتري داشته و از اين جنبه فراگيري آن از++ C سادهتر، اما قابليتهاي سطح پايين و نزديك به زبان سختافزار در آن كمتر است. در بسياري از زبانهاي برنامهنويسي، مديريت حافظه به عهده برنامهنويس است، اما يكي از قابليتهاي اصلي جاوا آن است كه مديريت حافظه در آن به صورت خودكار انجام ميشود. يكي از بزرگترين خصوصيات زبان جاوا آن است كه با وجود كامپايلري بودن، وابسته به سيستمعامل خاصي نيست و قابليت اجرا روي هر رايانه با هر سيستمعاملي را دارد. در واقع كامپايلر جاوا، كدهاي برنامه را مستقيما به زبان ماشين حقيقي تبديل نميكند، بلكه آن را به يك زبان مياني تبديل ميكند كه در واقع زبان يك ماشين مجازي به نام (Java Virtual Machine)JVM است. اين ماشين مجازي روي هر رايانه با هر سيستمعاملي كه نصب باشد، قابليت اجراي برنامههاي جاوا را خواهد داشت. جاوا براي نوشتن انواع برنامهها مناسب بوده و ضريب اطمينان عملكرد برنامههاي نوشته شده با آن بسيار بالاست. ميتوان از جاوا به عنوان يك زبان مطرح دنيا نام برد كه هم ميتوان با آن نرمافزارهاي كاربردي معمولي در مقياس كوچك نوشت، هم پروژههاي بزرگ و سنگين سازماني انجام داد، هم از توانايي آن در برنامههاي تحت وب بهره گرفت و هم از آن براي نوشتن برنامه براي سطح وسيعي از دستگاهها و تجهيزات همراه از قبيل تلفنهاي همراه، Pockatpc و... استفاده كرد. اپلت اپلت (Applet) به يك بخش نرمافزاري گفته ميشود كه ميتواند در متن برنامه ديگر قرار گرفته و اجرا شود Applet . به معني برنامه كوچك بوده، در اصل تركيبي از دو كلمهApplication وlet استlet . در انگليسي پسوندي است كه براي «كوچك» به كار ميرود (همانند پسوند «چه» در باغچه در اتصال به كلمه باغ). اپلتها امكانات فراواني براي نوشتن برنامههاي تحت وب در اختيار برنامهنويسان قرار ميدهند. اين خصوصيتي است كه جاوا را از بسياري از زبانهاي برنامهنويسي متمايز ميسازد.البته برخلاف جاوا اسكريپت كه براي اجرا نياز به هيچ نوع نرمافزار اضافه نداشت، برنامههاي تحت وبي كه با استفاده از اپلتهاي جاوا نوشته شدهاند نياز به ماشين مجازي جاوا نرمافزار(JVM) دارند و بدون آن قادر به اجرا نيستند. (اگر به خاطر داشته باشيد پيش از اين گفته بوديم كه جاوا و جاوا اسكريپت دو زبان كاملا متفاوت عرضه شده از دو شركت مختلف هستند و تنها از نظر نام و تا حدودي شكل ظاهري كدها شبيه به يكديگرند) اپلتها شبيه فناوري اكتيوايكس (Activex) شركت مايكروسافت هستند و برنامهنويس را قادر ميسازند تا امكانات جديدي به مرورگر كاربر اضافه كند. البته اپلتها بهدليل آنكه در محيطي تحتعنوان Sand box اجرا ميشوند امنيت دارند اما اكتيوايكس چنين امنيتي ندارد. همانطور كه قبلا نيز اشاره كرديم سرويسدهنده وب از طريق دستوراتHTML كه در صفحات وب وجود دارد، تعامل بين سرويسدهنده و كاربر را كنترل ميكند. اين كار در سايتهايي كه مشتريان زيادي دارد، سرويسدهنده وب را دچار مشكل ميكند. بهتر است كنترل توسط مرورگر انجام شود و سرويسدهنده نقش پشتيبان را داشته باشد. ضمنا رايانه كاربران معمولا بيكار است و منتظر پاسخگويي سرويسدهنده ميماند. يك روش حل اين مساله آن است كه بعضي از تعاملهاي سرويسدهنده در محيط مرورگر انجام شود. به جاي انتقال دادههاي HTML به سرويسدهنده، سرويسدهنده ميتواند يك برنامه كوچك را به مرورگر بفرستد و برنامه كاربردي را در ماشين مجازي اجرا كند. به اين ترتيب حجم اطلاعاتي كه بايد از سرويسدهنده به مرورگر ارسال شود، كاهش مييابد. سرعت و كارايي سرعت پايين برنامههاي جاوا در محيط اجرايشان ملاك خوبي براي كارايي آن نيست، زيرا در محيط وب كندي بيشتر به علت شبكه است و در گام نخست بايد سربار شبكه را از روي برنامهها برداشت، وگرنه در برنامههاي كاربردي بهينهسازيهاي بسياري به وجود آمده است كه موجب شده در آخرين آزمون كارايي، يك برنامه جاوا از 8/0 تا 3/1 همان برنامه در++ c سرعت داشته باشد كه 3/1 مربوط به بخش واسط كاربري (GUI) و سرعت 8/0 آن مربوط به تخليه حافظه(Garbage Collection) ميشده است و تاكنون هيچ الگوريتمي نتوانسته است در سرعت از الگوريتم تخليه حافظه جاوا پيشي بگيرد.ضمنا ثابت شده است كه تجربه برنامهنويسي كه برنامهاي را مينويسد از انتخاب زباني كه برنامه با آن نوشته ميشود تاثير بيشتري در كارايي دارد و اين بدان معناست كه كارايي يك برنامه را برنامهنويس و روشهاي به كار رفته در برنامه وي مشخص ميكند و نه زباني كه با آن برنامه مينويسد. حذف اشارهگرها در جاوا به دليل مشكلاتي بوده است كه آنها در طول تاريخ استفادهشان به وجود آوردهاند. اگرچه اين موارد در برنامههاي سيستمي لازم به نظر ميرسد اما در محيطهاي تحت وب كه بستر اصلي جاوا است ميتوانند اثراتي به مراتب شديدتر نسبت به آنچه در برنامههاي سيستمي دارند داشته باشند و باعث ميشود كه توجه برنامهنويسان از مسائلي چون كارايي، قابليت اطمينان و مقياسپذيري برنامه به تنظيم اشارهگرها معطوف شود. مقايسه با++ C در زباني مانند++ C مفهومي به نام وراثت چندگانه وجود دارد كه باعث ايجاد مشكلاتي اساسي ميشد كه اكثر برنامهنويسان++ C از آن دوري ميكرده و ميكنند. ولي قابليت چندريختي (Polymerphism) يك كلاس از لحاظ شيءگرايي بسيار مهم بوده و بنابراين توجيهي براي وجود وراثت چندگانه را فراهم ميكرد.در جاوا با وارد شدن مفهومي به نام Interface ، ديگر نيازي به وجود وراثت چندگانه احساس نشد و اين مفهوم از زبان جاوا حذف شد. درحالحاضر طراحان برنامهها حتي به اين نتيجه رسيدهاند كه وراثت معمولي هم باعث ايجاد مشكل بوده و تا آنجايي كه ميشود بايد از مفهومي به نام تركيب (Composition) استفاده كرد. ضعف جاوا مهمترين اشكالي كه برنامهنويسان ساير زبانها به جاوا ميگيرند سرعت اجرايي بسيار پايين آن است. يك برنامه جاوا به صورت بايت كد(byte code) است كه كد زبان ماشين مجازي است و بايد در آن محيط اجرا شود. به همين دليل سرعت اجراي پاييني در مقابل زبانهايي چون++ C دارد. به عنوان مثال ممكن است يك برنامه به زبان++ Cبهطور متوسط تا 10 برابر سريعتر از برنامه مشابه جاوا اجرا شود.جاوا برخلاف شيءگرا بودن، در بخشي از قسمتها براي ايجاد انعطاف بيشتر، برخي از اصول شيءگرايي را ناديده گرفته است كه ميتوان آن را نيز از نقاط ضعفش برشمرد. همان طور كه پيش از اين نيز اشاره كرديم، زبان جاوا نسبت به++ C سادهتر است و به همين دليل آموزش دادن و آموختن آن نيز راحتتر است كه البته به دليل به وجود آمدن اين سادگيها بسياري از نقاط قوتي كه در++ C وجود داشتهاند در جاوا حذف شدهاند كه مهمترين آن مفهوم اشارهگر (Pointer) است كه به آن اشاره كرديم. ضمنا با توجه به اين كه جاوا زباني مستقل از سيستمعامل است، استفاده از توابع API سيستمعامل در آن امكانپذير نيست. جام جم کلیک |
اکنون ساعت 01:24 PM برپایه ساعت جهانی (GMT - گرینویچ) +3.5 می باشد. |
Powered by vBulletin® Version 3.8.4 Copyright , Jelsoft Enterprices مدیریت توسط کورش نعلینی
استفاده از مطالب پی سی سیتی بدون ذکر منبع هم پیگرد قانونی ندارد!! (این دیگه به انصاف خودتونه !!)
(اگر مطلبی از شما در سایت ما بدون ذکر نامتان استفاده شده مارا خبر کنید تا آنرا اصلاح کنیم)