مقدمه:
++C يک زبان برنامه نويسی همه منظوره و سطح بالا است. ++C يک زبان چندرگه است که از برنامه نويسی رويهای، تجريد دادهها و برنامه نويسی شئ گرا پشتيبانی میکند. ++C به همراه جد خود C از پرطرفدارترين زبانهای برنامه نويسی تجاری هستند.
زبان برنامهنویسی ++C یک زبان برنامهنویسی کامپیوتری سطح بالا و عمومی (با کاربرد های متنوع) می باشد. این زبان از تمام روش های مرسوم برنامه نویسی از قبیل برنامهنویسی شیگرا، برنامه نویسی ساخت یافته و برنامه نویسی پایه پشتیبانی می کند.
تاریخچه: زبان ++C در سال ۱۹۸۳ ميلادی در آزمایشگاه های Bel (Bell Labs) توسط Bjarne Stroustrup و بر مبنای زبان سی و برای بهبود C، با افزودن امکانات برنامه نویسی شی گرا ساخته شد.در آن زمان نام ++C ,سی با کلاسها`(c with classes) بود.اين زبان در سال 1998 توسط موسسه ANSI استاندارد شد. این زبان از حوالی سال ۱۹۹۰ میلادی یکی از پرکاربردترین زبانهای برنامه نویسی به شمار می رود که برای برنامه نویسی سیستمی و برنامه نویسی ویژوال (بر مبنای GUI) در محیط های مختلف از قبیل ویندوز و لینوکس به صورت وسیع به کار می رود.
جاوا
تاريخچه: زبان برنامه نويسي جاوا در اوايل دهه 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 |
يونيكس |
سيستم عامل |
يكي از بزرگترين ادعاهاي جاوا، آزاد بودن از بستر سختافزاري است. اما اين يعني چه؟ اگر جاوا بخواهد در اينترنت موفق باشد برنامههاي آن بايد بتوانند بدون هيچ اشكالي روي تمام كامپيوترهاي متصل به اينترنت اجرا شوند. اما چگونه چنين چيزي ممكن است. ايده اوليه ساده است: برنامهها براي يك ماشينمجازي جاوا كامپايل شوند و اين ماشين مجازي روي تمامي كامپيوترهاي متصل به اينترنت نصب شود. اين دقيقا همان روشي است كه جاوا در پيش گرفته است.
با آنكه C و C++ زبانهاي بسيار قدرتمندي هستند اما اشكالاتي ذاتي دارند. عمدهترين اين اشكالات در مديريت حافظه و اشارهگرهاي C/C++ است. با آنكه جاوا به دليل محبوبيت فوقالعاده C++ ظاهري شبيه به آن دارد ولي در جاوا مديريت حافظه بطور خودكار انجام ميشود و اشارهگر هم اساسا در جاوا وجود ندارد. جاوا در زمينه بهينهكردن استفاده از حافظه بسيار قوي است. يكي از ويژگيهاي جاوا پاكسازي خودكار حافظه از چيزهاي بيمصرف است. (اين برنامه با نام آشغال جمعكن Garbage Collectionشناخته ميشود)
شيگرايي در جاوا به غايت خود رسيده است. جاوا در استفاده از اشيا بسيار مقيد است. در C++ شما ميتوانيد از اشيا به موازات برنامهنويسي به سبك قديم استفاده كنيد و اكثرا در پايان كار چنان وضعي بوجود ميآيد كه مديريت آن نه با روشهاي برنامهنويسي شيگرا امكان دارد نه با روشهاي قديمي. جاوا ديگر به شما اجازه نميدهد تا خود را درچنين مخمصهاي گرفتار كنيد.
جاوا يك زبان ساده ، شي گرا ،توزيع شده ، تفسير شده ، قدرتمند ، ايمن ، با معماري خنثي ، قابل حمل ، با عملكرد سطح بالا چند نخ كشي شده و پويا است .
Sun تصديق ميكند كه به طور قطع اين كلمات رشته هايي از واژه هاي متداول در زبان برنامه نويسي هستند ، اما حقيقت اين است كه اين واژه ها به طور ماهرانه اي خصوصيات اين زبان را شرح ميدهند .
مقایسه اجمالی جاوا و C++ :
جاوا یک زبان برنامه نویسی است که در اوایل دهه 90 توسط Java Soft ، بخش نرم افزاری شرکت Sun توسعه داده شد . هدف آن بود که جاوا زبانی ساده ، قوی و همه منظوره باشد . جاوا تمام جنبه های مثبت C و ++C را در خود دارد ، و آن چیزهایی که برنامه نویسان ++C از آن نفرت داشته اند ( مانند وراثت چند گانه ، تحریف اپراتورها و اشاره گرها ) را به کناری گذاشته است .
مهمترین ویژگیهای جاوا این است که اساساً شیء گرا است . اولین ادعای OOP توانایی استفاده مجدد از کد است : چیزی که ++C با تمام ادعاهایش هرگز نتوانست بدان دست یابد . اما در اولین قدم خواهید دید جاوا در این زمینه تا چه اندازه صحت دارد . تصورش را بکنید که با صرف کمی وقت بتوانید برنامه ای بنویسید که در سیستم های ویندوز ، یونیکس و مکینتاش براحتی اجرا شود . همین که یک شرکت نرم افزاری بتواند برای تمام پلاتفرم های موجود در آن واحد پروژه ای را تولید کند ( و مقادیر عظیمی پول صرفه جویی کند ) خود می تواند بهترین دلیل اقبال جاوا باشد و امروز دیگر همه ( و نه فقط شرکتهای نرم افزاری ) به سمت جاوا کشیده شده اند . با این ویژگی ( استقلال از پلاتفرم ) یک برنامه نویس می تواند برای سیستمی برنامه بنویسد که هرگز با آن کار نکرده است . این ویژگی اصلی ترین علت توفیق جاوا در اینترنت است . اینترنت شبکه پیچیده ای است از میلیونها کامپیوتر مختلف در سراسر دنیا ، و مقاومت در مقابل این وسوسه که بتواند برنامه ای بنویسد که روی تمام این سیستم های متفاوت و نا متجانس اجرا شود چندان ساده نیست . جاوا یک زبان بسیار ساده است چون شما را وادار نمی کند تا در محیط جدید ( و نا آشنایی ) کار کنید و این برای کسانی که اطلاعات فنی ناچیزی درباره کامپیوتر دارند بسیار مهم است . ساختار زبان جاوا در نگاه اول بسیار شبیه C و ++C است و این به هیچ وجه تصادفی نیست . C زبانی است ساخت یافته و ++C زبانیست شیء گرا و مهمتر از همه قسمت اعظم برنامه نویسان دنیا از آنها استفاده می کنند از سوی دیگر این شباهت حرکت به طرف جاوا را برای این قبیل افراد ساده خواهد کرد بنابراین طراحان جاوا برای اجتناب از دوباره کاری از زبانهای C و ++C بعنوان مدل استفاده کردند . جاوا با دور انداختن اشاره گرها و بر دوش کشیدن بار مدیریت حافظه ، برنامه نویسان C و++C را برای همیشه از این کابوس ها رهایی بخشیده است . علاه بر آن چون جاوا زبانی برای اینترنت است ، از ایمنی و حفاظت ذاتی بالایی برخوردار است . طراحان جاوا از ابتدا یک محیط برنامه نویسی امن را مد نظر داشته اند . مسئله حفاظت سیستم ها رابطه تنگاتنگی با اشاره گرها دارد . اکثر مهاجمان برای ورود غیر قانونی به سیستم های دیگران از این اشاره گرها استفاده می کنند و جاوا با حذف اشاره گرها این راه را سد کرده است .
جاوا در مقایسه با سایر زبانها همچون C++ یا Basic یا Fortran زبان نسبتاً جدیدی است. جاوا شباهتهایی به ++C دارد، ولی قابلیت انتقال آن بهتر است و استفاده از آن ساده تر از ++C است. همچنین مدیریت حافظه نیز توسط خود ماشین مجازی جاوا انجام میشود. طراحی این زبان به گونه ایست که دارای اطمینان بسیاری بوده و وابسته به سیستم عامل خاصی نیست. و دلیل این موضوع این است که جاوا یک ماشین مجازی در سیستم شما راه میاندازد و برنامهها را در آن ماشین مجازی اجرا میکند. این ماشین مجازی «ماشین مجازی جاوا» یا به اختصار JVM نامیده میشود. البته راه انداختن یک ماشین مجازی باعث دو مشکل میشود. هنگامی که نرمافزار شما در یک ماشین مجازی اجرا میشود سرعت کمتری خواهد داشت، همچنین شما نیاز دارید قبل از اجرای برنامههای جاوا یکبار سیستم مجازی جاوا را که حجم نسبتاً بالایی دارد، از اینترنت بارگذاری و یا از جای دیگری تهیه و نصب کنید ولی مزیت آن عدم وابستگی به سیستم عامل مقصد است.هدف این پروژه ایجاد یک زبان جدید شبیه به C++ بود که نویسنده اصلی آن، جیمز گاسلینگ، آن را بلوط Oak می نامید. اما بعدها به دلایل مشکلات حقوقی نام آن به جاوا تغییر کرد. پروژه گرین به دلیل مشکلات بازاریابی در شرف لغو شدن بود تا اینکه گسترش وب در سال 1993 باعث نمایش تواناییهای وافر جاوا در این عرصه گشت. و به اینگونه بود که سان در می 1995 جاوا را رسما افتتاح کرد. هدف آن بود که جاوا زبانی ساده، قوی و همه منظوره باشد. جاوا تمام جنبه های مثبت C و ++C را در خود دارد و آن چیزهایی که برنامه نویسان ++C از آن نفرت داشتند (مانند وراثت چندگانه(Multiple Inheritance) ، تحریف اپراتورها (Operator Overloading) و اشاره گرها (Pointer)) را به کناری گذاشته است. مهمترین ویژگی جاوا این است که اساساً شی گرا(bject-Oriented) است. اولین ادعای OOP (Object Oriented Programming) توانایی استفاده مجدد از کد است، چیزی که ++C با تمام ادعاهایش هرگز نتوانست بدان دست یابد، اما در اولین قدم خواهید دید که ادعای جاوا در این زمینه تا چه اندازه صحت دارد. تصورش را بکنید که با صرف کمی وقت بتوانید برنامهای بنویسید که در سیستمهای ویندوز، مکینتاش و یونیکس به راحتی اجرا شود. همین که یک شرکت نرم افزاری بتواند برای تمام پلاتفرم های موجود در آن واحد پروژهای را تولید کند (و مقادیر عظیمی پول صرفه جویی کند) خود می تواند بهترین دلیل اقبال جاوا باشد. و امروزه دیگر همه (و نه فقط شرکتهای نرم افزاری) به سمت جاوا کشیده شدهاند.
تعداد صفحات پروژه 80 صفحه می باشد.
مبلغ واقعی 14,125 تومان 20% تخفیف مبلغ قابل پرداخت 11,300 تومان