0% found this document useful (0 votes)
76 views50 pages

Java CPP

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
76 views50 pages

Java CPP

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 50

‫جمهوری اسالمی افغانستان‬

‫اداره تعلیمات تخنیکی و مسلکی‬


‫ریاست نصاب و تربیه معلم‬
‫آمریت تضمین کیفیت‬
‫مدیریت عمومی امور علمی ومسلکی‬
‫مقایسه لسان کمپیوتری ‪ Java‬و ‪+C‬‬
‫‪+‬‬

‫تهیه و تدوین ‪ :‬اورانوس "ایماق"‬


‫استاد رهنــــــــــــما‪ :‬خاطره "مهمند"‬
‫‪1399‬‬ ‫سال ‪:‬‬
‫‪ ‬سرفصلهاي يادگيري هر زبان برنامه نويسي عبارتند از‪:‬‬
‫قالب كلي زبان‬ ‫‪‬‬

‫قالب كلي دستورات‬ ‫‪‬‬

‫انواع داده ها‬ ‫‪‬‬

‫تعريف متغير و نحوه انتساب و قوانين نامگذاري‬ ‫‪‬‬

‫دستورات شرطي و كنترلي‬ ‫‪‬‬

‫دستورات تكرار‬ ‫‪‬‬

‫ساختمان داده ها (آرايه ها ‪،‬رشته ها و‪)...‬‬ ‫‪‬‬

‫نحوه كار با فايلها‬ ‫‪‬‬

‫نحوه نوشتن توابع‬ ‫‪‬‬

‫و‪....‬‬ ‫‪‬‬
‫‪ ‬سرفصلهاي يادگيري هر زبان برنامه نويسي عبارتند‬
‫از‪:‬‬
‫دسته بندي زبانهاي از لحاظ نزديكي به سخت افزار‪:‬‬
‫سطح پايين مانند اسمبليـ‬
‫سطح ميانه مانند ‪++C,C‬‬
‫سطح باال مانند ‪Java،Pascal،Delphi،.net‬‬

‫دسته بندي به لحاظ ساخت يافتگي –شي گرا‪:‬‬


‫ساخت يافته ‪C،Pascal‬‬
‫ساخت يافته‪-‬شي گرا ‪C++،JAVA،Delphi،.net‬‬
‫غيرساخت يافته ‪qbasic‬‬
‫ارزیابی زبان برنامه نویسی ‪++C‬‬
‫‪:‬مقدمه‬
‫زبان ‪ C‬يـک زبان همـه منظوره است‪.‬‬
‫دسـتورالعمل‌هاي ايـن زبان بسـيار شبيه‬
‫عبارات جــبري و نحـوـ آــن شبيه‬
‫جمالت انگليسـي مـي باشد‪ .‬ايـن امر‬
‫سـبب مي‌شود کـه ‪ C‬يـک زبان سطح‬
‫باال باشـد کـه برنامه‌نويسـي در آـن آسان‬
‫است ›››‬
‫‪ C++‬کـه از نسـل ‪ C‬است‪ ،‬تمام ويژگي‌هاي‬
‫‪ C‬را بـه ارث برده اسـت‪ .‬امـا برترـي فني‬
‫ديگرـي هم دارد‪ ++C :‬اکنونـ «شي‌گرا»‬
‫اسـت‪ .‬مي‌توان بـا اسـتفاده از ايـن خاصيت‪،‬‬
‫برنامه‌هاي شي‌گرا توليد نمود‪ .‬برنامه‌هاي‬
‫شي‌گرا منظـم و سـاخت‌يافته‌اند‪ ،‬قابـل روزآمد‬
‫کردن‌انـد‪ ،‬بـه سـهولت تغييـر و بهبود مي‌يابند و‬
‫قابليت اطمينان و پايداري بيشتري دارند‪.‬‬
‫آنچه درباره ‪ ++C‬می آموزیم ‪:‬‬

‫‪ -1‬چرا ‪ ++C‬؟‬
‫‪ -2‬تاريخچۀ ‪++C‬‬
‫‪ -1‬چرا ‪ ++C‬؟‬

‫‪ ‬زبان ‪ C‬يک زبان همه منظوره است‬

‫‪ ‬در ايـن زبان عملگر‌هايـي تعـبيه شده کـه برنامه‌نويسي‬


‫سـطح پاييـن و بـه زبان ماشيـن را نيـز امکان‌پذير‬
‫مي‌سازد‬
‫‪ ‬چون ‪ C‬عملگرهاي فراوانـي دارد‪ ،‬کـد منبـع برنامه‌ها‬
‫در اين زبان بسيار کوتاه است‬
‫‪ -‬زبان ‪ C‬براي اجراي بسياري از دستوراتش از توابع کتابخانه‌اي‬ ‫‪‬‬
‫استفاده مي‌کند و بيشتر خصوصيات وابسته به سخت‌افزار را به اين‬
‫توابع واگذار مي‌نمايد‪.‬‬

‫برنامۀ مقصدي که توسط کامپايلرهاي ‪ C‬ساخته مي‌شود بسيار‬ ‫‪‬‬


‫فشرده‌تر و کم‌حجم‌تر از برنامه‌هاي مشابه در ساير زبان‌ها است‪.‬‬

‫است ت مام ويژگ ‌يهايجذاب‪ C‬را ب ه ارث‬


‫‪ ++C‬ک ه از ن سل‪، C‬‬ ‫‪‬‬
‫ب رده است‪.‬‬

‫و سرانجام آخرين دليل استفاده از ‪ ++C‬ورود به دنياي ‪ #C‬است‪.‬‬ ‫‪‬‬


‫‪ -2‬تاريخچۀ ‪++C‬‬
‫‌هاي‬‫بــــ و قاـبـليت‬ ‫تــــيبياز دو زـبان ‪ C‬و ‪ Simula‬ود‬ ‫رـک‬ ‫‪++C‬‬
‫‌هاي زـيادـي‬ ‫بــــ شرـکـت‬‫بــــ عـد‬ ‫‌گـــيـي نــيـز داـشـتاز آـن زـمان هـ‬ ‫شـيراـ‬
‫کـــدـند‪ .‬اـيـن اـمـر ســببشدـ‬ ‫ـي‪ ++C‬طـراـحـي ر‬ ‫کــــپايـلرـهايـي رـابــــ‬
‫اـم‬
‫يايد و از‬ ‫بــــوـجود بــــ‬‫ين نــسـخهـ‌هايمختلف اـيـن زـبان هـ‬ ‫‌هايـي بــــ‬
‫اوت‬ ‫فـتــــ‬
‫بــــهمين دـلـيلدر ساــل‬ ‫استهـ شـود‪ .‬هـ‬ ‫قاـبـليتسـازگاريو اـنـتقـاـلآن کـــ‬
‫وسـط مـوسـسـۀ اـسـتانداردـهاي ملـي آـمريـکا‬ ‫‪ 1998‬زـبان ‪ ++C‬تـــ‬
‫‌پـــچـهـ ‌درـآـمد‪.‬‬
‫کار‬
‫يـــ‬ ‫ل اـســتاندارد و‬‫بــــــ شـکـــ‬ ‫هـ‬ ‫(‪)ANSI‬‬
‫تابحاـضر‬ ‫پــــبندند‪ .‬کـــ‬
‫بــــ اـيـن اـستاندارد اي‬
‫کـــنـي هـ‬ ‫کـــپايـلرـهاي نو‬ ‫اـمـ‬
‫ست‬ ‫افتهـ اـ ‪.‬‬
‫نــيز ربــــمبنايهمين اـستاندارد نــگارش يـــ‬
‫‪ -2‬تاريخچۀ ‪++C‬‬
‫در دهـه ‪ 1970‬در آزمايشگاه‌هاي بـل زبانـي به نام ‪ C‬ايجاد شد‪.‬‬
‫انحصـار ايـن زبان در اختيار شرکـت بـل بود تـا ايـن کـه در سال‬
‫‪ 1978‬توسـط ‪ Kernighan‬و ‪ Richie‬شرح کاملـي از اين زبان‬
‫منتشـر شـد و بـه سـرعت نظـر برنامه‌نويسـان حرفه‌اي را جلبـ‬
‫نمود‪ .‬هنگامـي کـه بحـث شي‌گـرايـي و مزاياي آن در جهان‬
‫نرم‌افزار رونـق يافـت‪ ،‬زبان ‪ C‬کـه قابليـت شي‌گرايـي نداشت‬
‫ناقـص بـه نظـر مي‌رسـيد تـا ايـن کـه در اوايـل دهۀ ‪ 1980‬دوباره‬
‫شرکـت بـل دسـت بـه کار شد و ‪ Bjarne Stroustrup‬زبان‬
‫‪ ++C‬را طراحي نمود‪.‬‬
‫ارزیابی زبان برنامه نویسی‬
‫جاوا‬
‫تار‪e‬یخچه جاوا‬

‫در مقایسه با زبان‌های دیگر‪ ،‬همچون ‪ C++‬یا بیسیک یا فورترن‪ ،‬جاوا زبان نسبتا ً جدیدتری‬
‫جیمز گاسلینگ پدید آورنده جاوا‬
‫است‪ .‬شرکت سان مایکروسیستمز در سال ‪ ۱۹۹۱‬یک پروژه تحقیقاتی به نام گرین‬
‫(‪ )Green‬را آغاز کرد‪ .‬هدف این پروژه ایجاد زبانی جدید شبیه به ‪ C ++‬بود که نویسنده‬
‫اصلی آن‪ ،‬جیمز گاسلینگ‪ ،‬آنرا بلوط (‪ )Oak‬نامید‪ .‬اما بعدها به دلیل برخی مشکالت‬
‫حقوقی از میان لیستی از کلمات تصادفی نام آن به جاوا تغییر کرد‪.‬‬

‫پروژه گرین به دلیل مشکالت بازاریابی در شرف لغو شدن بود تا اینکه گسترش وب در‬
‫سال ‪ ۱۹۹۳‬باعث نمایش توانایی‌های وافر جاوا در این عرصه گشت‪ .‬اینگونه بود که‬
‫شرکت سان مایکروسیستمز در مه ‪ ۱۹۹۵‬جاوارا رسما ً به بازار عرضه کرد‪.‬‬
‫تار‪e‬یخچه جاوا‬

‫جاوا یک زبان برنامه‌نویسی است که در ابتدا توسط شرکت ‪sun Microsystems‬‬


‫جیمز گاسلینگ پدید آورنده جاوا‬
‫ایجاد شده‌است و در سال ‪ 1995‬به عنوان مولفه اصلی ‪ java platform‬منتشر‬
‫شد‪.‬این زبان قسمت های بسیاری از گرامر خودرا از ‪ C‬و ‪ C++‬گرفته اما دارای مدل‬
‫شی‌گرایی ساده‌ای است و امکانات سطح پایین کمی دارد‪ .‬کاربرد جاوا در کامپایل به‬
‫صورت بایت کد است که قابلیت اجرا روی تمامی ماشین‌های شبیه‌سازی جاوارا داشته‬
‫باشد صرف نظر از معماری و خصوصیات آن کامپیوتر‪ .‬اجرای اصلی کامپایلرهای جاوا‪،‬‬
‫ماشین‌های پیاده‌سازی و کتابخانه‌های آن توسط این شرکت از سال ‪ 1995‬منتشر شد‪ .‬در‬
‫‪ may 2007‬این شرکت‪ ،‬نرم‌افزاررایگان این زبانرا فراهم کرد‪ .‬دیگران هم کاربردهای‬
‫دیگری از این زبانرا منتشر کردند مثل کامپایلر ‪ GNU‬برای جاوا‪.‬‬
‫اهداف اصلي در زمان پياده ساز&ي جاوا‬

‫‪ ‬از متدولوژي شيءگرايي در اين زبان بطور كامل استفاده‬


‫شود‪.‬‬
‫‪ ‬قابليت اجراي برنامه هاي يكسان در سيستم عامل هاي مختلف‬

‫‪ ‬پشتيباني از ويژگي هاي شبكه هاي كامپيوتري‬

‫‪ ‬اجرايراه دور برنامه ها بصورت كامال امن‬

‫‪ ‬كاربردراحت و ساده زبان به كمك انتخاب اجزاء مفيد‬

‫ساير زبانهاي شيءگرا و استفاده از آن در جاوا (الگوبرداري)‬


‫خصوصیات زبان بر&نامه نويسي جاوا‬
‫ساده(‪)simple‬‬

‫‪ ‬ﺟﺎوا ﻃﻮری ﺷﺪه ﮐﻪ ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﺎن ﺣﺮﻓﻪ ای ﺑﺴﺎدﮔﯽ آنرا ﻓﺮاﮔﺮﻓﺘﻪ و ﺑﻄﻮر‬
‫ﻣﻮﺛﺮی ﺑﮑﺎر ﻣﯽ ﺑﺮﻧﺪ ‪.‬‬
‫‪ ‬ﺟـﺎوا دﺳـﺘﻮر زﺑـﺎن‪ C‬و‪++ C‬وﻫﻤﭽﻨﯿﻦ ﺑﺴﯿﺎری از ﺟﻮاﻧﺐ ﺷﯽ ئ ﮔﺮاﯾﯽ ‪+‬‬
‫‪ C+‬را ﺑﺎرث ﺑﺮده ‪ ،‬اﮐﺜﺮ ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﺎن ﺑﺮای ﮐـﺎر ﺑـﺎ ﺟـﺎوا دﭼـﺎر ﻣﺸـﮑﻞ‬
‫ﮐﺮده ﮐﻪ ﺟﻨﺒﻪ ﻫﺎی اﺳـﺘﺜﻨﺎﯾﯽ و ﺧـﺎرق اﻟﻌـﺎده ﻧﺪاﺷـﺘﻪ ﺑﺎﺷـﺪ ‪ .‬در‬ ‫ﺗﻼش‬
‫ﺷﺪ ‪.‬‬ ‫‪ ‬ﺟﺎوا‬
‫ﻧﺨﻮاﻫﻨﺪ‬
‫ﺟﺎوا ‪ ،‬ﺗﻌﺪاد اﻧﺪﮐﯽ از ﺷﯿﻮه ﻫﺎی ﮐﺎﻣﻼ" ﺗﻮﺻﯿﻒ ﺷﺪه ﺑﺮای اﻧﺠﺎم ﯾﮏ وﻇﯿﻔﻪ‬
‫وﺟﻮد دارد ‪.‬‬
‫شیﮔﺮا‬

‫ﺟــــﺎوا از ﺑﺴــــﯿﺎری از ﻣﺤــــﯿﻂ ﻫــــﺎی ﻧــــﺮم اﻓــــﺰاری اوﻟﯿــــﻪﺑﺮاﺳــــﺎس‬


‫اشیاء مواردیرا به ﻋﺎرﯾﺖ ﮔﺮﻓﺘﻪ و ﺗﻮازﻧﯽ ﺑﯿﻦ ﻧﻈﺮﯾﻪ ﻟﻔﻆ ﻗﻠﻤﯽ ﺗﺤﺖ ﻋﻨﻮان "‬
‫ﻫﺮ ﭼﯿﺰی ﯾﮏ ﺷﯽ ‪ .‬اﺳـﺖ " و ﻧﻈﺮﯾـﻪ واﻗﻌﯿـﺖﮔﺮاﯾﯽ " ﺟﻠﻮیراه ﻣﻦ ﻗﺮار ﻧﮕﯿﺮ "‬
‫ﺑﻮﺟﻮد آورده اﺳﺖ ‪ .‬ﻣﺪل ﺷﯽ ئ در ﺟﺎوا ﺑﺴﯿﺎر ﺳﺎده و ﺑﺮاﺣﺘﯽ ﻗﺎﺑﻞ ﮔﺴـﺘﺮش‬
‫اﺳـﺖ‬
‫در ﺣﺎﻟﯿﮑﻪ اﻧﻮاع ﺳﺎده آن ﻧﻈﯿﺮ اﻋﺪاد ﺻﺤﯿﺢ )‪ (integers‬ﺑﻌﻨـﻮان ﻋﻤﻠﮑﺮدﻫـﺎی‬
‫ﺳـﻄﺢ ﺑـﺎﻻی ﻏﯿـﺮ ﺷـﯽ ئ ﺗﻠﻘـﯽ میشوند‪.‬‬
‫قدرتمند(‪)Robust‬‬

‫‪ ‬ﺗﻮاﻧـﺎﯾﯽ اﯾﺠـﺎد ﺑﺮﻧﺎﻣـﻪ ﻫـﺎی ﻗﺪرﺗﻤﻨـﺪ‬


‫‪ ‬ﺟﺎوا ﺷﻤﺎ را ﺑﻪ ﺗﻌﺪاد ﻣﺤﺪودی از ﻧﻮاﺣﯽ ﮐﻠﯿﺪی ﻣﺤﺪود ﻣﯽ ﮐﻨﺪ‬
‫ﺗﺎ ﻣﺠﺒﻮر ﺷـﻮﯾﺪ اﺷـﺘﺒﺎﻫﺎتﺧﻮد را در ﺗﻮﺳﻌﻪ ﺑﺮﻧﺎﻣﻪ ﺧﯿﻠﯽ زود پیداﮐﻨﯿﺪ ‪.‬‬

‫‪ ‬ﺟﺎوا ﺷﻤﺎ را از ﻧﮕﺮاﻧـﯽ درﺑـﺎره ﺑﺴـﯿﺎری از اﺷـﺘﺒﺎﻫﺎت راﯾـﺞﻧﺎﺷﯽ از ﺧﻄﺎﻫﺎی ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ‬
‫ﻣﯽ رﻫﺎﻧﺪ‬
‫‪ ‬ﺟﺎوا ﯾﮏ زﺑﺎن ﮐﺎﻣﻼ" ﻧﻮع ﺑﻨﺪی ﺷﺪه اﺳﺖ ‪ ،‬ﻫﻨﮕﺎم ﮐﺎﻣﭙﺎﯾﻞ ﮐـﺪ ﺷﻤﺎ را ﮐﻨﺘﺮل ﻣﯽ ﮐﻨﺪ ‪ .‬اﻣﺎ اﯾﻦ‬
‫زﺑﺎن ﮐﺪﻫﺎی‬
‫‪ ‬ﺷﻤﺎ را ﻫﻨﮕﺎم اﺟﺮا ﻧﯿﺰ ﮐﻨﺘﺮل ﻣﯽ ﻧﻤﺎﯾـﺪ‬
‫در ﯾﮏ ﺑﺮﻧﺎﻣﻪ ﺧﻮش ﺳﺎﺧﺖ ﺟﺎوا‪ ،‬ﮐﻠﯿﻪ ﺧﻄﺎﻫﺎی ﻫﻨﮕﺎم اﺟﺮا ﺗﻮﺳﻂ ﺑﺮﻧﺎﻣﻪ ﺷﻤﺎ ﻣﺪﯾﺮﯾﺖ خواهد‬
‫ﭼﻨﺪ ﻧﺦ ﮐﺸﯽ ﺷﺪه(‪)Multi threaded‬‬

‫‪ ‬ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ ﭼﻨﺪﻧﺦ ﮐﺸـﯽ اﻣﮑـﺎن‬


‫ﻧﻮﺷـﺘﻦ ﺑﺮﻧﺎﻣﻪ ﻫﺎﯾﯽ ﺑﻪ ﺷﻤﺎ ﻣﯿﺪﻫﺪ ﮐﻪ در‬
‫آن واﺣﺪ ﭼﻨﺪﯾﻦ ﮐﺎررا اﻧﺠﺎم ﻣﯽ دﻫﻨـﺪ ‪.‬‬
‫ﺳﯿﺴـﺘﻢ ﺣـﯿﻦ اﺟـﺮای ﺟـﺎوا ‪ ،‬ﯾـﮏراه ﺣـﻞ‬
‫زﯾﺒـــﺎ و ﺑﺴـــﯿﺎر ﻣﺎﻫﺮاﻧـــﻪ ﺑـــﺮای‬
‫ﻫﻤﺰﻣـــﺎﻧﯽ ﭼﻨـــﺪﯾﻦ ﭘـــﺮدازش اراﺋـــﻪ‬
‫ﻣـــﯽ دﻫـــﺪ‪.‬‬
‫ﻣﻌﻤﺎری ﺧﻨﺜﯽ ‪Architecture-Neutral‬‬

‫ﯾﮑﯽ از ﻣﺸﮑﻼت اﺻﻠﯽ ﺳﺮراه ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺴﺎن اﯾﻦ اﺳﺖ ﮐﻪ ﺗﻀﻤﯿﻨﯽ وﺟﻮد ﻧﺪارد ﺗﺎ‬
‫ﺑﺮﻧﺎﻣﻪ ایرا ﮐﻪ اﻣﺮوز ﻣﯽ ﻧﻮﯾﺴﯿﺪ ﻓﺮدا ﺣﺘﯽ روی ﻫﻤﺎن ﻣﺎﺷـﯿﻦ اﺟـﺮا ﺷـﻮد‪.‬‬
‫ارﺗﻘﺎئ ﺳﯿﺴﺘﻢ ﻫﺎی ﻋﺎﻣﻞ و ﭘﺮدازﻧﺪه ﻫﺎ و ﺗﻐﯿﯿﺮات در ﻣﻨﺎﺑﻊ ﻫﺴﺘﻪ ای ﺳﯿﺴﺘﻢ‬
‫ﻣﻤﮑﻦ اﺳﺖ دﺳﺖ ﺑﺪﺳﺖ ﻫـﻢ داده ﺗـﺎ ﯾـﮏﺑﺮﻧﺎﻣﻪرا از ﮐﺎر ﺑﯿﻨﺪازﻧﺪ ‪ .‬ﻃﺮاﺣﺎن ﺟﺎوا‬
‫ﺗﺼﻤﯿﻤﺎت ﻣﺘﻌﺪد و دﺷﻮاری در ﺟﺎوا و ﺣﯿﻦ اﺟـﺮا اﺗﺨـﺎذ ﻧﻤﻮدﻧـﺪ ﺗـﺎ ﺑﺘﻮاﻧﻨـﺪ اﯾـﻦ‬
‫ﻣﻮﻗﻌﯿﺖرا دﮔﺮﮔﻮن ﻧﻤﺎﯾﻨﺪ ‪ .‬ﻫﺪف آﻧﻬﺎ ﻋﺒﺎرت ﺑﻮد از ‪ :‬ﯾﮑﺒﺎر ﺑﻨﻮﯾﺴﯿﺪ ‪ ،‬ﻫﺮ ﺟﺎﯾﯽ ‪،‬‬
‫ﻫﺮ زﻣﺎن و ﺑﺮای ﻫﻤﯿﺸﻪ اﺟـﺮا ﮐﻨﯿـﺪ ‪.‬‬
‫ﺗﻔﺴﯿﺮ ﺷﺪه و ﻋﻤﻠﮑﺮد ﺳﻄﺢ ﺑﺎﻻ‬

‫‪ ‬ﺟﺎوا ﻗﺪرت اﯾﺠﺎد ﺑﺮﻧﺎﻣﻪ ﻫﺎﯾﯽ ﻗﺎﺑﻞ اﻧﻄﺒﺎقـ ﺑـﺎ ﭼﻨـﺪﯾﻦ ﻣﺤـﯿﻂرا ﺑﻮﺳـﯿﻠﻪ ﮐﺎﻣﭙﺎﯾـﻞ ﮐـﺮدن ﯾـﮏ ﻧـﻮع‬
‫ﻣﻌﺮﻓﯽ واﺳﻄﻪ ﺗﺤﺖ ﻋﻨﻮان ﮐﺪ ﺑﺎﯾﺘﯽ ﭘﯿﺪا ﮐﺮده اﺳﺖ ‪.‬‬
‫‪ ‬ﺟﺎوا ﻃﻮری ﻃﺮاﺣﯽ ﺷﺪه ﺗﺎ روی اﻧﻮاع ‪ cpu‬ﻧﯿـﺰ ﺑﺨـﻮﺑﯽ اﺟـﺮا ﺷـﻮد ‪ .‬ﮐﺪﻫﺎی ﺑﺎﯾﺘﯽ ﺟﺎوا آﻧﭽﻨﺎن‬
‫دﻗﯿﻖ ﻃﺮاﺣﯽ ﺷﺪه ﮐﻪ ﻣﯽ ﺗـﻮان آﻧﻬـﺎرا ﺑﺴـﺎدﮔﯽ وﺑﻄﻮر ﻣﺴﺘﻘﯿﻢ ﺑﻪ ﮐﺪﻫﺎی ﻣﺎﺷﯿﻦ ﺧﺎص ﺷﻤﺎ ﺑﺮای‬
‫ﻋﻤﻠﮑﺮدﻫﺎی ﺳﻄﺢ ﺑﺎﻻ ﺗﺮﺟﻤﻪ ﻧﻤﻮد ‪.‬‬
‫ﺗﻮزﯾﻊ ﺷﺪه(‪)Distributed‬‬

‫‪ ‬ﺟﺎوا ﻣﺨﺘﺺ ﻣﺤﯿﻂ ﺗﻮزﯾﻊ ﺷﺪه اﯾﻨﺘﺮﻧﺖ ﻃﺮاﺣﯽ ﺷﺪه‪.‬‬

‫رواﯾﺖ اوﻟﯿﻪ ﺟـﺎوا ﯾﻌﻨـﯽ ‪oak‬درﺑﺮﮔﯿﺮﻧﺪه ﺟﻨﺒﻪ ﻫﺎﯾﯽ‬

‫ﺑﺮای ﭘﯿﺎم رﺳﺎﻧﯽ آدرﺳﻬﺎی داﺧﻠﯽ ﻓﻀﺎی اﻟﮑﺘﺮوﻧﯿﮑﯽ ﺑﻮد ‪.‬‬

‫‪ ‬ﺟﺎوا اﺧﯿﺮا"اﯾﻦ راﺑﻄﻬﺎ را در ﯾﮏ ﺑﺴـﺘﻪ ﻧـﺮم اﻓـﺰاری ﺑﻨـﺎم‬

‫‪(RMI) Remote Method Invocation‬اﺣﯿﺎئ ﻧﻤﻮده‪ e‬اﺳﺖ ‪ .‬اﯾﻦ ﺟﻨﺒﻪ ﯾﮏ‬


‫ﺳﻄﺢ ﻏﯿﺮ ﻣﻮازیاز ﺗﺠﺮد ﺑـﺮا‪e‬یﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺲ ﺳﺮوﯾﺲ ﮔﯿﺮﻧﺪه ‪ /‬ﺳﺮوﯾﺲ دﻫﻨﺪه ﺑﻮﺟﻮد‬
‫آورده‪ e‬اﺳﺖ ‪.‬‬
‫پویا(‪)Dynamic‬‬
‫‪ ‬جاوا یک زبان پویا است ‪ .‬هر کالس جاوا میتواند در هر زمانی روی مفسر جاوا بارگذاری شود ‪ .‬سپس ا‪e‬ین کالس های بارگذاری شده ی‬
‫پویا میتوانند به صورت پویا معرفی شوند ‪ .‬شما میتوانید به طور پویا در مورد یک کالس در زمان اجرا ا‪e‬طالعاتی بدست بیاورید ‪.‬با‬
‫وجود بازتاب ‪ API‬اضافه شده (‪ ) ApplicationProgram Interface‬که به برنامه ساز امکان میدهد که با برنامه از طریق یک‬
‫برنامه کاربردی دیگر ارتباط برقرار کند‪.‬‬
‫مقایسه ‪ ++C‬و ‪Java‬‬
‫‪ . 1‬استقالل از پلتفرم‬

‫‪Java‬‬ ‫‪++C‬‬
‫پشتیبانی می کند‬ ‫پشتیبانی نمی کند‬
‫‪ . 2‬موارد استفاده‬

‫‪Java‬‬ ‫‪++C‬‬
‫برنامه نویسی کاربردی‬ ‫برنامه نویسی سیستم ها‬
‫(‪) Application programming‬‬ ‫(‪) System programming‬‬
‫مانند برنامه نویسی اپلیکشین‬ ‫استفاده می شود‬
‫موبایل ‪ ,‬وب و سازمانی‬
‫استفاده میشود‬
‫‪ . 3‬هدف از طراحی‬

‫‪Java‬‬ ‫‪++C‬‬
‫به عنوان مفصل سیستم های چاپ‬ ‫به عنوان ضمیمه ‪ C‬برای‬
‫طراحی شد و سپس برای پشتیبانی‬ ‫برنامه نویسی سیستم ها و‬
‫محاسبات شبکه ای توسعه داده‬
‫شد ‪ .‬هدف از طراحی جاوا آسان بود‬ ‫اپلیکشن طراحی شده استـ‬
‫برای یک جامعه فراتر بود‬
‫‪ Goto .4‬یا دستور‬

‫‪Java‬‬ ‫‪++C‬‬
‫ندارد‬ ‫دارد‬
‫‪ .5‬وراثت چند گانه (‪( Multiple inheritance‬‬

‫‪Java‬‬ ‫‪++C‬‬
‫پشتیبانی نمی کند‬ ‫پشتیبانی می کند‬
‫‪ .6‬اورلود اپراتور (‪)Operator overloading‬‬

‫‪Java‬‬ ‫‪++C‬‬
‫پشتیبانی نمی کند‬ ‫پشتیبانی می کند‬
‫‪ .7‬پانتر ها (‪)pointers‬‬

‫‪Java‬‬ ‫‪++C‬‬
‫بطور داخلی از آن استفاده‬ ‫پشتیبانی می کند و میتوان با‬
‫میشود اما امکان استفاده‬ ‫آنها مستقیما برنامه نوشت‬
‫ازآن بطور مستقیم در برنامه‬
‫نیست‬
‫‪ .8‬کامپایلر و مفسر (‪)compiler and interpreter‬‬

‫‪Java‬‬ ‫‪++C‬‬
‫از کامپایلر و مفسر استفاده‬ ‫تنها از کامپایلر استفاده می‬
‫می کند ابتدا کودرا به کمک‬ ‫کند که کدرا به کد ماشین‬
‫کامپایلر به بایتـ کود تبدیل‬ ‫تبدیل می کند و به همین‬
‫می کند و سپس به کمک‬ ‫دلیل به پلتفرم وابسته است‬
‫مفسر خارجیرا از آن تولید‬
‫می کند‬
‫‪.9‬فراخوانی با مقدار یا مرجع( ‪)Call by value and call by reference‬‬

‫‪Java‬‬ ‫‪++C‬‬
‫فراخوانی با مرجع در‬ ‫هر دورا پشتیبانی می‬
‫جاوا وجود ندارد‬ ‫کند‬
‫‪ .10‬ساختار و اتحاد ((‪Union‬‬

‫‪Java‬‬ ‫‪++C‬‬
‫پشتیبانی نمی کند‬ ‫پشتیبانی می کند‬
‫‪ .11‬چند ریختگی‬

‫‪Java‬‬ ‫‪++C‬‬
‫بطور داخلی پشتیبانی‬ ‫تنها به کمکـ کتابخانه‬
‫میکند‬ ‫های خارجی پشتیبانی‬
‫میشود‬
‫‪ .12‬کامنت مستند سازی ‪Documentation comments‬‬

‫‪Java‬‬ ‫‪++C‬‬
‫پشتیبانی می کند‬ ‫پشتیبانی نمی کند‬
‫‪ .13‬کلمه کلیدی ‪virtual keyword‬‬

‫‪Java‬‬ ‫‪++C‬‬
‫از آنجا که تمـام میتود‬ ‫پشتیبانی می کند و‬
‫های غیر استاتیک در‬ ‫امکان اورراید شدن یک‬
‫جاوا می تواند اورراید‬ ‫تابعرا مشخص می کند‬
‫شوند این کلمه کلیدی‬
‫وجود ندارد‬
‫‪ .14‬درخت وراثت‬

‫‪Java‬‬ ‫‪++C‬‬
‫از آنجا که تمام کالس‬ ‫همیشه یک درخت‬
‫ها در جاوا فرزند کالس‬ ‫وراثت جدید تولید می‬
‫‪ Object‬هستند تنها از‬ ‫کند‬
‫یک درخت وراثت‬
‫استفاده می کند‪.‬‬
‫‪ .15‬سخت افزار‬

‫‪Java‬‬ ‫‪++C‬‬
‫تعامل خوبی با سخت‬ ‫به سخت افزار نزدیکتر‬
‫افزار ندارد‬ ‫است‬
‫‪ .16‬شی گرایی‬

‫‪Java‬‬ ‫‪++C‬‬
‫شی گرا می باشد وهمه‬ ‫شی گرا می باشد اما در‬
‫چیز شی می باشد ؛ به‬ ‫‪ C‬درخت های وراثت‬
‫دلیل که گفته شد نیز‬ ‫متنوع می باشند ‪.‬‬
‫تنها یک سلسله مراتب‬
‫دارد‬
‫نکات نهایی‬

‫جاوا همانند ‪ ++C‬از آرگومان های پیش فرض پشتیبانی نمی کند‪.‬‬
‫جاوا از هدر های پشتیبانی استفاده نمی کند بلکه از کلید واژه‬
‫‪ Import‬برای وارد کردن کالس ها و میتود های گوناگون استفاده‬
‫می کند ‪.‬‬
-: Reference ‫ریفرینس‬

https://www.w3schools.com/java/java_intro.asp 
https://www.javatpoint.com/java-tutorial 
https://www.programiz.com/java-programming 
https://www.tutorialspoint.com/java/index.htm 
https://www.geeksforgeeks.org/java/?ref=leftbar 
‫پایان‬

You might also like