لینک پرداخت و دانلود *پایین مطلب*
فرمت فایل: PowerPoint (قابل ویرایش و آماده پرینت)
تعداد اسلاید21
لینک دانلود کمی پایینتر میباشد
دانلود پاورپوینت بررسی زبان جاوا و مقایسه آن با net
لینک پرداخت و دانلود *پایین مطلب*
فرمت فایل: PowerPoint (قابل ویرایش و آماده پرینت)
تعداد اسلاید21
لینک دانلود کمی پایینتر میباشد
پروژه رشته کامپیوتر با عنوان کتابخانه متن باز بر پایه جاوا اسکریپت
در زمان معرفی رسمی نسل جدید HTML5از سوی کنسرسیوم جهانی وب (W3C) تعداد مرورگرهایی که تگ های HTML5 را پشتیبانی می کردند بسیار محدود بوند، از این رو شرکت های بزرگ مانندMozilla ،Google ،Microsoft و... با چالش جدیدی بر سر راه ساخت مرورگرهای جدید خود مواجعه شدند. این چالش در حالی بود که عقب ماندن از محصول شرکت رغیب برای آنها در پاره ای از مواقع به معنای از دست دادن بازار بود. از این رو اقدام به ساخت مرورگرهایی که بتوانند تمامی تگ هایHTML5 را پشتیبانی نمایند، نمودند. اما این امر تا حدودی غیرممکن به نظر می رسید چرا که تکنولوژیHTML5 بسیار نوظهور بوده و ممکن بود تگ هایی در آینده ساخته شوند و یا به کلی کنار گذاشته شوند. بنابراین آنها تصمیم گرفتند با دادن نسخه های به روز شده بتوانند جوابگوی نیاز روز افزون مشتریان خود باشند. اما تمامی آنها قادر به این کار دشوار نبودند، به شکلی که شرکت مایکروسافت از نسخه 9 به بعد تصمیم گرفت تگ های HTML5 را در مرورگری که کاربران زیادی داشت (IE) پشتیبانی کند، اما شرکت (بنیاد) موزیلا بسیار در این عرصه پخته تر عمل کرده و از نسخه 3.5 به بعد مرورگر Firefox، یعنی حدود یک سال زودتر از مرورگرIE ، تگ های محدودی از HTML5 را پشتیبانی می کرد. چنین رفتاری از سوی مایکروسافت برای کاربران حرفه ای وب، بسیار ناهنجار و ناخوشایند بود. طراحان وب و برنامه نویسان وب نمی خواستند لذت استفاده از فناوری جدید را از دست دهند. اما می بایست عمل Cross Browsing [1]را نیز رعایت می کردند. چرا که ممکن بود در صفحه خود از تگی استفاده کنند که کاربری با یک مرورگر قدیمی تر اصلا سایت را نبیند یا بسیاری از قسمت های در نظر گرفته شده را از دست بدهد.
و ...
در فرمت ورد
در 32 صفحه
قابل ویرایش
دانلود تحقیق جاوا اسکریپت
نوع فایل : Word
تعداد صفحات : 52
فهرست و پیشگفتار
چکیده .5
1.جاوااسکریپت چیست؟ . 6
1ـ1. اصول اسکریپت نویسی در صفحات وب ...... .......6
2ـ1. اسکریپتها و برنامه ها ......6
3ـ1. معرفی جاوااسکریپت .....7
4ـ1. قابلیتهای جاوااسکریپت ...7
5ـ1.جاوااسکریپت در مقابل جاوا .......7
6ـ1.چگونه جاوااسکریپت در صفحات وب قرار میگیرد؟ ..8
2.خلق یک اسکریپت .... ..8
1ـ2.ابزار اسکریپت نویسی ......9
2ـ2.آغاز خلق اسکریپت 9
3. بررسی قابلیتهای جاوااسکریپت 9
1ـ3. زیباتر کردن صفحات وب به کمک جاوااسکریپت ....10
1ـ1ـ3 .استفاده از نوار وضعیت .10
2ـ3.کاربابرنامه های اتصالی ...10
4. برنامه های جاوااسکریپت چگونه کار میکنند. ..11
1 ـ4. توابع درجاوااسکریپت ....11
2ـ4. اشیاءدر جاوااسکریپت ....13
1ـ2ـ4 . جاوااسکریپت از سه نوع شیء پشتیبانی می کند 13
3ـ4.کنترل حوادث ......13
4ـ4. مخفی کردن اسکریپتها از مرورگرهای قدیمی .....14
5. استفاده از مقادیر و ذخیره سازی آن ...15
1 ـ 5. انتخاب نام برای متغییرها 15
2ـ 5. تعیین مقدار برای متغییر ها. .......15
1ـ2ـ5. انواع اساسی داده ها در جاوااسکریپت 16
3ـ 5. انواع داده جاوااسکریپت 16
6 . آرایه ها و رشته ها .16
1ـ6 .خلق یک شیء String ......17
7. بررسی و مقایسه متغییرها ...17
1ـ7 . دستورIf ....17
2ـ7 . دستورEles 18
8 . تکرار دستورات باکمک حلقه ها 18
1ـ 8 . حلقه های For ...18
2ـ 8 . حلقه های While ..19
3ـ 8 . حلقه های Do...while ...19
9. اشیاء درون ساخت مرورگر ......19
1ـ 9 . اشیاء چیستند؟ ......19
1ـ 1ـ 9.خلق اشیاء 19
2ـ 9 . خاصیتهای اشیاء و مقادیر ...20
3ـ 9 . گـرد کردن اعداد 20
4ـ 9 . خلق اعداد تصادفی ......21
5 ـ 9. کـار با تاریخها ...21
10 . مدل شیئی سند (DOM) .....21
1ـ 10 . درک مدل شیئی سند ...21
2ـ 10 . دسترسی به تاریخچه مرورگـر .22
11. خلق اشیاء اختصاصی .23
1ـ11 . استفاده از اشیاء برای ساده کردن اسکریپتها .....23
2ـ11 . اختصاصی کردن اشیاء درون ساخت ....24
12 . پنجره ها و زیر صفحه ها .....24
1ـ 12 . کنترل پنجره ها با استفاده از اشیاء .....24
2ـ12 . ایجاد وقفه های زمانی 25
3ـ 12 . استفاده از اشیاء جاوا اسکریپت برای کار با زیر صفحه ها ......25
14. دریافت اطلاعات به کمک پرسشنامه ها .....26
1ـ 14. اصول طراحی پرسشنامه ها درHTML .....26
2ـ 14 . شیءfrom در جاوااسکریپت .......26
3ـ 14 . ورودیهای متن ......26
4ـ 14 . ورودیهای چند خطی متن ...26
5ـ 14 . کـار با متن در پرسشنامه ها .26
6ـ14 . دکمه ها .......27
7ـ 14 . مربعهای گـزینش ....27
8 ـ 14 . دکـمه های رادیوئی 27
15 . تصاویر گـرافیکی و انیمیشن 28
1ـ 15 . استفاده از جاوااسکریپت برای کار با نقشه های تصویری 28
2ـ 15 . تصاویر دینامیک در جاوااسکریپت .....28
16 . اسکریپتهای فرامرور گری ....29
1ـ 16 . دریافت اطلاعات مرورگر 29
2ـ 16 . حل مشکل ناسازگاری مرورگرها .......29
3ـ 16 . خلق یک صفحه چند منظوره ...29
4ـ16 . هدایت کاربران به صفحات وب .29
5ـ16 . خلق یک صفحه چند منظوره ..29
17 . کـار با شیوه نامه ها .30
1ـ 17 . معرفیHTML دینامیک ......30
2ـ 17 . شیوه و ظاهرصفحات ...31
3ـ17 . تعریف و استفاده از شیوه هایCSS .....31
4ـ 17 . تنظیم مکـان متن .......31
5ـ 17 . تغییر رنگ و تصاویر زمینه 32
6ـ 17 . کـار با فوتنهـا ..32
7ـ 17 . کنترل شیوه ها بکمک جاوااسکریپت .....32
18 . استفاده از لایه ها برای خلق صفحات دینامیک 33
1ـ 18 . لایه ها چگونه کار میکنند؟ .......33
2ـ 18 . دو استاندارد برای خلق لایه ها ..33
3ـ 18 . خلق لایه های CSS ...34
4ـ 18 . تعریف خواص لایه ها ...34
19 . استفاده از جاوااسکریپت برای توسعه یک سایت وب ...34
1ـ 19 . خلق سند HTML ......34
2ـ 19 . استفاده از لیستهای بازشونده برای تسهیل هدایت کاربران 35
3ـ 19 . خلق دستوراتHTML ،وایجاد ساختارداده ای .35
4ـ 19 . افزودن توضیحاتی در مورد پیوندها ....36
5ـ 19 . استفاده از پیوندهای گـرافیکی 36
20 . نتیجه 37
21 . خلاصه .......38
22 . فهرست منابع 39
چکیده :
جاوااسکریپت یک زبان اسکریپتی که بوسیلة مرورگر وب تفسیر یاintepret می شود. بطور گسترده در دنیای وب مورد استفاده قرار می گیرد.این زبان توسط شرکتNetscape به وجود آمد.در ابتدا نامش Live script بودکه بعدها با حمایت شرکت Sun به نام Java scriptدرآمد.بیشتر دستورات خود را ازجاوا گـرفته است.
جاوااسکریپت دارای قابلیتهای زیادی است که در طول تحقیق ذکر شده است.
مقدمه :
انتخاب موضوع جاوااسکریپت،به معنی ورودبه دنیای طراحی و برنامه نویسی صفحات وب است. وب جهانی که در ابتدا تنها بعنوان مخزنی از اطلاعات مختلف که درقالب صفحاتی ساکن تنظیم شده بودند در نظر گرفته میشد. با رشد سریع خود توانست به یکی ازمهمترین وسایل آموزشی ،ارتباطی ،تجاری و تفریحی تبدیل شود. به موازات رشد سریع این رسانه، ابزارهاوروشهای توسعه آن نیز رشد کرده و متحول شده است .
گـر چه جـاوااسکـریپت یک زبان برنامه نویسی است،اما فراگیری آن بسیار ساده است. برخلاف اکثر زبانهای برنامه نویسی،برای آموختن این زبان به دانش زیادی نیاز ندارید.سادگی ودر عین حال تواناییهای فوق العاده این زبان آنرا به یک ابزار مشهور وپر طرفدار برای برنامه نویسی در صفحات وب تبدیل کرده است . در واقع امروزه کمتر صفحه وبی را می یابید که در آن از جاوااسکریپت استفاده نشده باشد.
جاوااسکریپت چیست؟
وب جهانی (WWW)،درابتدا رسانه ای محسوب می شد که چیزی بیش از متن در خود داشت.
نسخة اولیه HTMLحتی قابلیت تعریف یک تصویر گرافیکی را نیزدرصفحه نداشت.سـایتهای وب امروزی می توانند شامل قابلـیتهای بسیاری ازجمله تصاویرگرافیکی،صوت،انیمیشن،ویدیو وسایرمطالب چندرسانه ای باشند.زبانـهای اسکـریپت نویسی وب، مانندجـاوااسکـریپت ، یکی ازساده ترین روشهای ایجاد رابطة متقابل باکاربران وخلق جلوه های دینامیک محسوب میشوند.
1ـ1)اصول اسکریپت نویسی درصفحات وب :
اساساً انسانها برای انتقال دادن دستورات خود به کامپیوتر از زبانهایC,Basic وجاوا استفاده میکنند.اگرشما باHTML آشنا باشید بایدگفت حداقل یک زبان کـامپیوتری رامی شناسید.به کمک دستورات زبانHTML می توان با ساختار یک صفحه وب را تعریف کرد.مرورگر با اطـاعت از این دستورات ظاهر صفحه رابراساس ساختار مورد نظر تنظیم می نماید.
HTML یک زبان علامتگذاری ساده متن می باشد،نمی تواند با کاربران رابطة متقابل ایجاد کندویا ازآنجایی که براساس شروط خاصی تصمیماتی رااتخاذ کند. برای انجام اعمالی ازاین قبیل باید از زبانهای پیـچیده تری کمک گرفت. چنین زبانی می تواند یک زبان برنامه نویسی ویا یک زبان اسکریپت باشد...
لینک پرداخت و دانلود *پایین مطلب*
فرمت فایل:Word (قابل ویرایش و آماده پرینت)
تعداد صفحه80
مقدمه...................................................................................................1
++C ..................................................................................................1
تاریخچه...........................................................................................1
ساختار برنامه ها...............................................................................1
جاوا .....................................................................................................1
تاریخچه...........................................................................................1
تکامل جاوا ......................................................................................2
ویژگیهای زبان جاوا .............................................................................3
....................................................................4C++ مقایسه اجمالی جاوا و
شی ئ گرایی ........................................................................................6
دلایل استفاده از شی ئ گرایی..................................................................7
شیئ گرایی و طبیعت ..............................................................................7
تاریخچه زبان های شیئ گرا.......................................................................7
بدون شیئ گرا .......................................................................................7
Abstraction چیست؟...............................................................................8
سه اصل oop .........................................................................................9
کپسول سازی encapsulation ...................................................................9
آبجکتها (Objects) ................................................................................10
وراثت Inheritance..............................................................................11
چند شکلی( polymorphism).................................................................15
مقایسه اصل شی گرایی در ++C و جاوا..................................................17
مقایسه کپسول سازی در جاوا و C++ ....................................................19
مقایسه چند شکلی در جاوا و C++ ......................................................20
مقایسه وراثت (inheritance) در C++ و جاوا ...........................................21
وراثت در جاوا ......................................................................................21
دسترسی به اعضائ و وراثت .................................................................23
استفاده از Final با وراثت ......................................................................29
وراثت در C++ ...................................................................................32
مقایسه جاوا و C++
از نظر وراثت منفرد و چندگانه ................................................................33
مقایسه کلاس ها در C++ و جاوا ..........................................................34
کلاسها در جاوا ..................................................................................34
تعریف یک کلاس در جاوا ......................................................................38
سازندگان Constructors ......................................................................39
سازندگان Constructorsدر جاوا .............................................................39
سازندگان پارامتردار شده (parameterized) .............................................41
وقتی که سازندگان فراخوانی می شوند..................................................43
استفاده از کلاسهای مجرد (abstract)....................................................44
انباشتن روشها …...........................................................................48
انباشتن سازندگان Overloading constructors.....................................52
جمع آوری زباله Garbage collection..................................................55
کلاس ها در C ++..........................................................................55
تخصص حافظه به صورت پویا با
اشاره گرهای new و delete در ++ c..............................................57
ایجاد یک زیرکلاس در جاوا ...............................................................58
ایجاد سلسله مراتب کلاس .............................................................59
وراثت چگونه عمل میکند؟............................................................61
واسط ها (Interface) و
بستهها (Package) در جاوا .........................................................62
ایجاد یک سلسله مراتب
چند سطحی (Multilevel)............................................................63
استثنائات توکار جاوا ....................................................................67
کتابخانه های کلاس جاوا …...........................................................69
مدل نخ در جاوا ...........................................................................69
کشف کلاس رشته ای (string)......................................................73
جمع بندی(مزایای شیئ گرایی
در حوزه مهندسی نرم افزار).........................................................77
مقدمه:
++C
++C یک زبان برنامه نویسی همه منظوره و سطح بالا است. ++C یک زبان چندرگه است که از برنامه نویسی رویهای، تجرید دادهها و برنامه نویسی شئ گرا پشتیبانی میکند. ++C به همراه جد خود C از پرطرفدارترین زبانهای برنامه نویسی تجاری هستند.
زبان برنامهنویسی ++C یک زبان برنامهنویسی کامپیوتری سطح بالا و عمومی (با کاربرد های متنوع) می باشد. این زبان از تمام روش های مرسوم برنامه نویسی از قبیل برنامهنویسی شیگرا، برنامه نویسی ساخت یافته و برنامه نویسی پایه پشتیبانی می کند.
تاریخچه: زبان ++C در سال ۱۹۸۳ میلادی در آزمایشگاه های Bel (Bell Labs) توسط Bjarne Stroustrup و بر مبنای زبان سی و برای بهبود C، با افزودن امکانات برنامه نویسی شی گرا ساخته شد.در آن زمان نام ++C ,'سی با کلاسها`(c with classes) بود.این زبان در سال 1998 توسط موسسه ANSI استاندارد شد. این زبان از حوالی سال ۱۹۹۰ میلادی یکی از پرکاربردترین زبانهای برنامه نویسی به شمار می رود که برای برنامه نویسی سیستمی و برنامه نویسی ویژوال (بر مبنای GUI) در محیط های مختلف از قبیل ویندوز و لینوکس به صورت وسیع به کار می رود.
ساختار برنامه ها: ساختار برنامه ها در این زبان بدین صورت است که همانند زبان سی، هر برنامه بایستی یک تابع اصلی (main) به عنوان بدنه برنامه داشته باشد. هر برنامه معمولا از تعداد زیادی فایل تشکیل می شود که به هم الحاق می گردند (با دستور include) و به این فایل های الحاقی سرآیند (Header) میگوییم. فایل های الحاقی حاوی کد ها یا نسخه های اجرایی کلاس ها (مجموعه متغیر ها و توابع) می باشند که در بدنه اصلی برنامه از آنها استفاده می شود. معمولاً هر کلاس (که تعریف یک نوع داده ای با متد های مربوط به آن است) را در یک سرآیند مینویسند. هر سرآیند که معمولا تنها تعاریف (معرفی) کلاس را در خود دارد به همراه فایل های پیاده سازی به زبان ++C یا پیاده سازی های کامپایل شده (به صورت فایل اشیا مانند dll یا so یا ... ) می تواند به کار برده شود. به مجموعه های یکپارچه ای از کلاس های پیاده سازی شده (به صورت فایل های سرآیند با پیاده سازی های کد یا اشیای زبان ماشین) که برای برنامه نویسی به کار می روند، یک کتابخانه ++C گفته می شود و قدرت اصلی این زبان در امکان به کارگیری کتابخانه های آماده می باشد. کتابخانه های بزرگ ++C مانند STL، MFC، QT و ... مجموعه قدرتمندی برای تولید برنامه در این زبان ایجاد کرده اند.
جاوا
تاریخچه: زبان برنامه نویسی جاوا در اوایل دهه 1990 در شرکت سان میکرو سیستم طراحی شد. جاوا یک زبان برنامه نویسی شیء گرا است که هم برای نوشتن برنامه های کاربردی و هم برای نوشتن برنامه های محاوره ای در اینترنت به کار می رود.
زبان B منجر به ظهور زبان C و Cزمینه پیدایش C++ شد و در نهایت زبان جاوا متولد شد . درک زبان جاوا مستلزم : درک زمینه های لازم برای ایجاد جاوا ، نیروهایی که این زبان را شکل داده اند و مشخصاتی است که این زبان از اسلاف خود به ارث برده است . نظیر سایر زبانهای برنامه نویسی موفق ، جاوا نیز عناصر بارث برده از اسلاف خود را با ایده های ابتکاری که ناشی از محیط منحصر بفرد این زبان بوده درهم آمیخته است .
تکامل جاوا
جاوا هم مانند اکثر اختراعات مهم حاصل تلاش گروهی دانشمند پیشتاز است. اما نکته جالب درباره جاوا آن است که جاوا از ویرانههای یک پروژه شکستخورده سربرآورد. اگر پروژه Green که شرکت سان در سال 1991 آن را شروع کرد به موفقیت میانجامید امروز نه سان دیگر یک شرکت کامپیوتری میبود و نه جاوا تولید میشد.
در سال 1991 ، شرکت سان میکروسیستمز در آغاز راه تبدیل شدن به بزرگترین تولیدکننده ایستگاههای کاری یونیکس بود و در طول فقط 5 سال درآمدش را از 210 میلیون دلار به 5/2 میلیارد دلار رسانده بود و بنظر میرسد هیچ چیز نمیتواند جلودار آن باشد. عامل عمده موفقیت سان کارهای پیشتازانهاش در ایجاد شبکههای باز بود و در این زمینه هیچکس به پای آن نمیرسید.
مدیران سان به این فکر افتادند تا کاری کنند که این رشد برای مدتی طولانی ادامه یابد. یکی از زمینههای موردعلاقه سان بازار و لوازم الکترونیکی بود، پروژه گرین بوجود آمد تا برای این بازار نرمافزاری پیشرفته خلق کند. مهندسان سان توجه خود را به میکروپروسسورهایی معطوف کردند که دارای قابلیت استفاده در اینگونه سیستمها باشند. اگر پروژه گرین میخواست موفق باشد باید کاری میکرد تا سیستم مزبور بتواند به راحتی به بسترهای سخت افزاری مختلف منتقل شود. برای این منظور ابتدا از کامپایلر C++ استفاده شد ولی به زودی نارساییهای C++ در این زمینه خود را نشان دادند. مهندسان سان خیلی سریع دریافتند که برای ادامه کار باید چیزی جدید و قوی خلق کنند. در همین زمان بود که James Gosling کار بر روی زبان جدید Oak را شروع کرد. تقدیر آن بود که این زبان جاوا نامیده شود، چون اداره ثبت نامهای تجاری نام Oak را ردکرده بود.
به تدریج مهندسین یک دستگاه شبه PDA (Personal Digital Assistant) ساختند که در آن از سیستم عامل، زبان برنامهنویسی و واسط کاربر جاوا استفاده شده بود و با وجود ابتدایی بودن توانست توجه مدیران سان را به خود جلب کند. بعدها گروهی که در پروژه گرین کار کرده بودند شرکت Java Soft را بنیان نهادند.
متاسفانه بخت با پروژه گرین یار نبود و بعد از چند شکست متوالی، سان آن را کنار گذاشت. در همین زمان بود که عدهای از محققان NCSA شرکت نت اسکیپ را تاسیس کردند و این اتفاقات با آتشی که به سرعت دنیا را درمینوردید و WWW نام داشت همزمان شد. بنابراین اتفاقی نبود که مهندسان پروژه گرین به سمت اینترنت و وب به عنوان بستر پروژه سان جلب شوند. چهار سال بعد پروژه گرین به بار نشست و جاوا تبدیل به داغترین موضوع اینترنت شد. همه، از برنامهنویسان و طراحان صفحات وب گرفته تا کاربران اینترنت میخواهند از جاوا استفاده کنند.
سان بلافاصله برای جاوا یک کاوشگر هم تولید کرد. این اولین کاوشگری بود که میتوانست اپلتهای جاوا را اجرا کند و نام آن هم Hot Java بود.
ویژگیهای زبان جاوا
جاوا ویژگیهای متعددی دارد که آن را منحصربفرد کرده است. جاوا هم کامپایلر دارد و هم اینترپرتر. کامپایلر برنامهای است که متن برنامه را گرفته و در پایان یک فایل exe تولید میکند. بعد از کامپایل شدن یک برنامه، دیگر به وجود کامپایلر نیازی نیست و میتوان برنامه exe را روی هر کامپیوتر سازگاری اجرا کرد. اما اینترپرتر هیچ برنامه exeای تولید نمیکند و برنامه را خط به خط اجرا میکند. برای اجرای برنامه حتما باید اینترپرتر هم روی کامپیوتر موردنظر موجود باشد. هر کامپایلر فقط برای یک سیستم خاص(مانند اینتل، اپل یا آلفا) میتواند کد اجرایی تولید کند. اما کامپایلر جاوا کد اجرایی تولید نمیکند و در عوض یک فایل بینابینی میسازد که byte code نام دارد. byte code چیزی شبیه زبان اسمبلی است اما این زبان مختص هیچ پروسسور خاصی نیست بلکه زبان اسمبلی یک ماشین ویژه به نام ماشین مجازی جاوا (Java Virtual Machine) است. در هنگام اجرای چنین برنامهای، اینترپرتر زمان اجرای جاوا (Java Runtime Interpreter) که روی ماشین مجازی جاوا اجرا میشود، دستورات فایل بایتکد را به دستورات قابل فهم برای پروسسوری که روی آن اجرا میشود تبدیل خواهد کرد. در شکل زیر این فرآیند نشان داده شده است:
برنامههای کاربردی جاوا
اشیاء جاوا
ماشین مجازی جاوا
مکینتاش
ویندوز یا OS2
یونیکس
لینک پرداخت و دانلود *پایین مطلب*
فرمت فایل:Word (قابل ویرایش و آماده پرینت)
تعداد صفحه: 59
جاوا
مقدمه :
جاوا شباهتهایی به سیپلاسپلاس دارد، ولی قابلیت انتقال آن بهتر است و استفاده از آن ساده تر از ++C است. همچنین مدیریت حافظه نیز توسط خود ماشین مجازی جاوا انجام میشود. طراحی این زبان به گونه ایست که دارای اطمینان بسیاری بوده و وابسته به سیستم عامل خاصی نیست. و دلیل این موضوع این است که جاوا یک ماشین مجازی در سیستم شما راه میاندازد و برنامهها را در آن ماشین مجازی اجرا میکند. این ماشین مجازی «ماشین مجازی جاوا» یا به اختصار JVM نامیده میشود. البته راه انداختن یک ماشین مجازی باعث دو مشکل میشود. هنگامی که نرمافزار شما در یک ماشین مجازی اجرا میشود سرعت کمتری خواهد داشت، همچنین شما نیاز دارید قبل از اجرای برنامههای جاوا یکبار سیستم مجازی جاوا را که حجم نسبتاً بالایی دارد، از اینترنت بارگذاری و یا از جای دیگری تهیه و نصب کنید ولی مزیت آن عدم وابستگی به سیستم عامل مقصد است.
زبان جاوا در سال ۱۹۹۱ ایجاد شد و در ابتدا Oak نام گرفت. پیدایش آن از پروژه ای به نام Green منشا گرفت که زیر نظرJames Gosling و با هدف اتوماسیون وسایل خانگی دنبال می شد. و Oak را در برنامه ریزی این دستگاه ها به عنوان زبانی قدرتمند به کار گرفتند. ولی تا سال ۱۹۹۴ این پروژه در ناامیدی دنبال می شد، تا اینکه این تیم توسعه پس از تغییر رویه اینترنت را در اهداف کار خود گنجاند.
Oak به Java تغییر نام داده شد تا بتواند به عنوان نشان تجاری ثبت شود. Netscape Navigator ۲.۰ در سپتامبر سال ۱۹۹۵ از این زبان، که به صورت Applet بکار می رفت، پشتیبانی کرد و Microsoft در اواخر سال ۱۹۹۵ آن را بکار گرفت.
از آن زمان به بعد توانایی های این زبان رو به فزونی گذاشت. در سال ۱۹۹۶ شرکت Sun Microsystems نگارش ۱.۰ از Java Development Kit را توسعه داد. و سال بعد نگارش ۱.۱ از JavaBeans پشتیبانی کرد. در سال ۱۹۹۷ شرکت Sun بر علیه Microsoft شکایت کرد و این شرکت را متهم به نقض توافقنامه مربوط به استفاده از Java در Internet Explorer کرد. بعد از این سان JDK ۱.۲ و Swing را، که ابزار پیشرفته تری نسبت به (AWT (Abstract Windowing Toolkit برای ایجاد رابط گرافیکی کاربر(GUI) فراهم می کرد، ارایه کرد. در حال حاضر JDK در نگارش ۵.۰ وبا ویژگی های جدیدی در دسترس است. و با نام J۲SE) Java ۲ Standard Edition) نیز شناخته می شود. در کنار آن J۲EE Java ۲ Enterprise Edition (که درحال حاضر در نگارش ۱.۴ است) برای کاربردهای تجاری ارایه شد. J۲EE تکنولوژی هایی از قبیل Enterprise JavaBeans EJB), Servlets, JavaServer Pages) و … را در بر می گیرد.
Java زبانی برای برنامه های توزیع شده است و زبانی شناخته شده در سطح جهانی است که به کاربر امکان تعامل (interaction) با یک صفحه وب را می دهد و برخلاف صفحات ایستای HTML فراتر از خواندن ویا فقط پر کردن یک فرم، برای کاربر امکان بازی، چت، انجام محاسبات درصفحات گسترده، و حتی دریافت اخباری که به صورت همزمان به روز رسانی می شوند و خیلی چیزهای دیگر را فراهم می کند. Java همچنین مستقل از سیستم عامل است. به این معنی که شما یک برنامه را یکبار می نویسید و این برنامه بر روی هر سیستم عاملی که ماشین مجازی جاوا (Java Virtual Machine) یا به اختصار JVM بر روی آن نصب باشد به همان شکل و بدون نیاز به هیچگونه تغییری قابل اجرا خواهد بود. Java زبانی ساده، کاملا شی گرا، با امنیت بالا و دارای امکانات چندبندی (Multi-threading) است. از نگارش ۱.۲ به بعد ابزارهای Swing، جاوا را به زبانی آسان و جذاب برای ایجاد یک GUI کاربر پسند تبدیل کرده اند.
از نقطه نظر دیگر می توان گفت: که جاوا یک زبان مستقل از سیستم عامل نیست بلکه همانند یک سیستم عامل مستقل و کوچک عمل می کند. همان طور که درWindows زبان های برنامه نویسی امکان اجرا در بستر (Platform) مربوط به Windows/Intel را دارند، برنامه های جاوا امکان اجرا در Java/JVM را دارند. و همانند Windows، جاوا هم یک بستر نرم افزاری، تجاری و منحصر به یک شرکت است.
جاوا در مقایسه با سایر زبانها همچون سیپلاسپلاس یا Basic یا Fortran زبان نسبتاً جدیدی است. شرکت سان میکروسیستمز (یا به اختصار سان) در سال 1991 یک پروژه تحقیقاتی به نام Green را آغاز کرد. هدف این پروژه ایجاد یک زبان جدید شبیه به C++ بود که نویسنده اصلی آن، جیمز گاسلینگ، آن را بلوط Oak می نامید. اما بعدها به دلایل مشکلات حقوقی نام آن به جاوا تغییر کرد. پروژه گرین به دلیل مشکلات بازاریابی در شرف لغو شدن بود تا اینکه گسترش وب در سال 1993 باعث نمایش تواناییهای وافر جاوا در این عرصه گشت. و به اینگونه بود که سان در می 1995 جاوا را رسما افتتاح کرد.
برنامههای جاوا و اپلتها
جاوا برای نوشتن انواع برنامههای کاربردی مناسب است. با جاوا میتوان انواع برنامههای زیر را نوشت:
قابلیت خاصی در جاوا وجود دارد بنام اپلت. اپلتها امکانات فراوانی برای نوشتن برنامههای تحت وب در اختیار برنامه نویسان قرار میدهند که دیگر زبانهای برنامه نویسی فاقد آن هستند.البته وجود ماشین مجازی جاوا برای اجرای اپلت لازم است.
از برتریهای جاوا نسبت به زبانهای مایکروسافتی مثل سیشارپ که بسیار شبیه این زبان هست میتوان موارد زیر را نام برد:
1 - سیستم عامل: هر چقدر زبانهای .net قوی باشند تنها بر روی پلت فرم ویندوز اجرا میشوند و برخی ویندوز را سیستم عامل غیر قابل اعتمادی در برنامه نویسی Enterprise می دانند.[نیاز به ذکر منبع] ولی جاوا از این نظر انتخابی خوب است. (هنوز پروژه mono به نتایج پایانی خود نرسیده)
2- قابلیت حمل: جاوا بر روی پلتفرمهای گوناگونی قابل اجرا است، از ATM و ماشین رختشویی گرفته تا سرورهای سولاریس با قابلیت پشتیبانی از 1024 cpu برای پردازش.
3- جاوا بیشتر از یک زبان است: جاوا فقط یک زبان نیست و انجمنهایی متشکل از بزرگان صنایع و برنامهنویسان زیادی مشغول به توسعه و ایجاد استانداردهای جدید و به روز هستند.
تکنولوژیهای اصلی جاوا در حال حاضر
توزیعهای جاوا
در حال حاضر چهار توزیع کننده عمده جاوا وجود دارند:
سان میکروسیستمز: توزیع کننده اصلی جاوا و مبدع آن می باشد. در اکثر موارد هنگامی که گفته میشود جاوا منظور توزیع سان می باشد. تاکنون 7 توزیع از این شرکت ارائه شده اند. جاوا 1.0 - 1.1 - که به جاوا 1 مشهورند. جاوا 1.2 – 1.3. 1.4 و 1.5 که به جاوا 2 مشهورند اخیرا نیز توزیع 1.6 از جاوا با کدرمز ماستانگ به صورت آزمایشی منتشر شده است. قابل ذکر است توزیعهای جاوا بر روی اکثر سیستم عاملها مانند ویندوز، یونیکس و سولاریس، لینوکس و موارد مشابه عرضه شده است.
GNU Java یا gcj کمپایلر کدباز جاوا می باشد. این توزیع از سوی موسسه نرم افزارهای آزاد منتشر شده و فعلا تنها در سیستم عاملهای لینوکس قابل استفاده است. این کمپایلر توانایی ایجاد کد اجرایی (در مقابل بایت کد توزیع سان) را داراست.
مایکروسافت J# این در حقیقت یک توزیع جاوا نیست. بلکه زبانی مشابه می باشد که توسط مایکروسافت و در چارچوب .net ارائه شده است. انتظار اینکه در سیستم عاملی غیر از ویندوز هم اجرا شود را نداشته باشید.
AspectJ این نیز یک زبان مجزا نیست. بلکه یک برنامه الحاقی می باشد که امکان برنامه نویسی Aspect Oriented را به جاوا می افزاید. این برنامه توسط بنیاد برنامه نویسی جلوه گرا و به صورت کد باز ارائه شده است.
نقاط ضعف
مهمترین ایرادی که برنامه نویسان سایر زبانها به زبان جاوا می گیرند سرعت اجرایی بسیار پایین جاوا است. یک برنامه جاوا به صورت بایتکد می باشد و باید در ماشین مجازی جاوا اجرا گردد. به همین دلیل سرعت اجرای پایینی را در مقابل زبانهای قدرتمندی همچون ++C دارد. به صورت دیگر یک برنامه C به طور متوسط تا 10 برابر سریعتر از برنامه مشابه جاوا اجرا میگردد. جاوا علی رقم شیء گرا بودن در بخشی از قسمتها برای ایجاد انعطاف بیشتر یا بازاریابی بهتر برخی اصول شی گرایی را نادیده گرفته است. از جمله این قسمتها قابلیت بازتابش Reflection می باشد. هدف اصلی بازتابش این است که استفاده مجدد از کدها و گسترش کدهای موجود و مهمتر از همه نوشتن برنامههای الحاقی آسان گردد ولی این مهم با زیر پا گذاشتن بعضی اصول ممکن شده است. برای نمونه با کمک بازتابش به راحتی میتوان متدهای خصوصی دیگر کلاسها را فراخوانی کرد! زبان جاوا در مقابل زبانی مثل ++C ساده تر و یادگیری ان آسانتر است. این آسانتر بودن به سادگی به دست نیامده است بلکه با حذف بسیاری از موارد که باعث قدرتمند تر بودن زبان ++C بودهاند ایجاد شده است. مهمترین این موارد اشاره گرها و وراثت چندگانه بودهاند که در زبان جاوا یافت نمی شوند. از آنجایی که جاوا زبانی با عدم وابستگی به بستر می باشد پس استفاده از توابع سیستم عامل را در برنامه نمی پذیرد. به همین صورت نمیتوان از واسطهای برنامه نویسی غیر از جاوا در آن استفاده نمود.
این فقط قسمتی از متن مقاله است . جهت دریافت کل متن مقاله ، لطفا آن را خریداری نمایید