محل لوگو

مقايسه بين جاوا و ++c


مقدمه:

++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

يونيكس

سيستم عامل

يكي از بزرگترين ادعاهاي جاوا، آزاد بودن از بستر سخت­افزاري است. اما اين يعني چه؟ اگر جاوا بخواهد در اينترنت موفق باشد برنامه­هاي آن بايد بتوانند بدون هيچ اشكالي روي تمام كامپيوترهاي متصل به اينترنت اجرا شوند. اما چگونه چنين چيزي ممكن است. ايده اوليه ساده است: برنامه­ها براي يك ماشين­مجازي جاوا كامپايل شوند و اين ماشين مجازي روي تمامي كامپيوترهاي متصل به اينترنت نصب شود. اين دقيقا همان روشي است كه جاوا در پيش گرفته است.

با آنكه 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 تومان

توجه: پس از خرید فایل، لینک دانلود بصورت خودکار در اختیار شما قرار می گیرد و همچنین لینک دانلود به ایمیل شما ارسال می شود. درصورت وجود مشکل می توانید از بخش تماس با ما ی همین فروشگاه اطلاع رسانی نمایید.

Captcha
پشتیبانی خرید

برای مشاهده ضمانت خرید روی آن کلیک نمایید

  انتشار : ۲۲ دی ۱۳۹۸               تعداد بازدید : 129

تمام حقوق مادی و معنوی این وب سایت متعلق به "" می باشد

فید خبر خوان    نقشه سایت    تماس با ما