Java CPP
Java CPP
و....
سرفصلهاي يادگيري هر زبان برنامه نويسي عبارتند
از:
دسته بندي زبانهاي از لحاظ نزديكي به سخت افزار:
سطح پايين مانند اسمبليـ
سطح ميانه مانند ++C,C
سطح باال مانند Java،Pascal،Delphi،.net
-1چرا ++C؟
-2تاريخچۀ ++C
-1چرا ++C؟
در مقایسه با زبانهای دیگر ،همچون C++یا بیسیک یا فورترن ،جاوا زبان نسبتا ً جدیدتری
جیمز گاسلینگ پدید آورنده جاوا
است .شرکت سان مایکروسیستمز در سال ۱۹۹۱یک پروژه تحقیقاتی به نام گرین
( )Greenرا آغاز کرد .هدف این پروژه ایجاد زبانی جدید شبیه به C ++بود که نویسنده
اصلی آن ،جیمز گاسلینگ ،آنرا بلوط ( )Oakنامید .اما بعدها به دلیل برخی مشکالت
حقوقی از میان لیستی از کلمات تصادفی نام آن به جاوا تغییر کرد.
پروژه گرین به دلیل مشکالت بازاریابی در شرف لغو شدن بود تا اینکه گسترش وب در
سال ۱۹۹۳باعث نمایش تواناییهای وافر جاوا در این عرصه گشت .اینگونه بود که
شرکت سان مایکروسیستمز در مه ۱۹۹۵جاوارا رسما ً به بازار عرضه کرد.
تارeیخچه جاوا
ﺟﺎوا ﻃﻮری ﺷﺪه ﮐﻪ ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﺎن ﺣﺮﻓﻪ ای ﺑﺴﺎدﮔﯽ آنرا ﻓﺮاﮔﺮﻓﺘﻪ و ﺑﻄﻮر
ﻣﻮﺛﺮی ﺑﮑﺎر ﻣﯽ ﺑﺮﻧﺪ .
ﺟـﺎوا دﺳـﺘﻮر زﺑـﺎن Cو++ Cوﻫﻤﭽﻨﯿﻦ ﺑﺴﯿﺎری از ﺟﻮاﻧﺐ ﺷﯽ ئ ﮔﺮاﯾﯽ +
C+را ﺑﺎرث ﺑﺮده ،اﮐﺜﺮ ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﺎن ﺑﺮای ﮐـﺎر ﺑـﺎ ﺟـﺎوا دﭼـﺎر ﻣﺸـﮑﻞ
ﮐﺮده ﮐﻪ ﺟﻨﺒﻪ ﻫﺎی اﺳـﺘﺜﻨﺎﯾﯽ و ﺧـﺎرق اﻟﻌـﺎده ﻧﺪاﺷـﺘﻪ ﺑﺎﺷـﺪ .در ﺗﻼش
ﺷﺪ . ﺟﺎوا
ﻧﺨﻮاﻫﻨﺪ
ﺟﺎوا ،ﺗﻌﺪاد اﻧﺪﮐﯽ از ﺷﯿﻮه ﻫﺎی ﮐﺎﻣﻼ" ﺗﻮﺻﯿﻒ ﺷﺪه ﺑﺮای اﻧﺠﺎم ﯾﮏ وﻇﯿﻔﻪ
وﺟﻮد دارد .
شیﮔﺮا
ﺟﺎوا ﺷﻤﺎ را از ﻧﮕﺮاﻧـﯽ درﺑـﺎره ﺑﺴـﯿﺎری از اﺷـﺘﺒﺎﻫﺎت راﯾـﺞﻧﺎﺷﯽ از ﺧﻄﺎﻫﺎی ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ
ﻣﯽ رﻫﺎﻧﺪ
ﺟﺎوا ﯾﮏ زﺑﺎن ﮐﺎﻣﻼ" ﻧﻮع ﺑﻨﺪی ﺷﺪه اﺳﺖ ،ﻫﻨﮕﺎم ﮐﺎﻣﭙﺎﯾﻞ ﮐـﺪ ﺷﻤﺎ را ﮐﻨﺘﺮل ﻣﯽ ﮐﻨﺪ .اﻣﺎ اﯾﻦ
زﺑﺎن ﮐﺪﻫﺎی
ﺷﻤﺎ را ﻫﻨﮕﺎم اﺟﺮا ﻧﯿﺰ ﮐﻨﺘﺮل ﻣﯽ ﻧﻤﺎﯾـﺪ
در ﯾﮏ ﺑﺮﻧﺎﻣﻪ ﺧﻮش ﺳﺎﺧﺖ ﺟﺎوا ،ﮐﻠﯿﻪ ﺧﻄﺎﻫﺎی ﻫﻨﮕﺎم اﺟﺮا ﺗﻮﺳﻂ ﺑﺮﻧﺎﻣﻪ ﺷﻤﺎ ﻣﺪﯾﺮﯾﺖ خواهد
ﭼﻨﺪ ﻧﺦ ﮐﺸﯽ ﺷﺪه()Multi threaded
ﯾﮑﯽ از ﻣﺸﮑﻼت اﺻﻠﯽ ﺳﺮراه ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺴﺎن اﯾﻦ اﺳﺖ ﮐﻪ ﺗﻀﻤﯿﻨﯽ وﺟﻮد ﻧﺪارد ﺗﺎ
ﺑﺮﻧﺎﻣﻪ ایرا ﮐﻪ اﻣﺮوز ﻣﯽ ﻧﻮﯾﺴﯿﺪ ﻓﺮدا ﺣﺘﯽ روی ﻫﻤﺎن ﻣﺎﺷـﯿﻦ اﺟـﺮا ﺷـﻮد.
ارﺗﻘﺎئ ﺳﯿﺴﺘﻢ ﻫﺎی ﻋﺎﻣﻞ و ﭘﺮدازﻧﺪه ﻫﺎ و ﺗﻐﯿﯿﺮات در ﻣﻨﺎﺑﻊ ﻫﺴﺘﻪ ای ﺳﯿﺴﺘﻢ
ﻣﻤﮑﻦ اﺳﺖ دﺳﺖ ﺑﺪﺳﺖ ﻫـﻢ داده ﺗـﺎ ﯾـﮏﺑﺮﻧﺎﻣﻪرا از ﮐﺎر ﺑﯿﻨﺪازﻧﺪ .ﻃﺮاﺣﺎن ﺟﺎوا
ﺗﺼﻤﯿﻤﺎت ﻣﺘﻌﺪد و دﺷﻮاری در ﺟﺎوا و ﺣﯿﻦ اﺟـﺮا اﺗﺨـﺎذ ﻧﻤﻮدﻧـﺪ ﺗـﺎ ﺑﺘﻮاﻧﻨـﺪ اﯾـﻦ
ﻣﻮﻗﻌﯿﺖرا دﮔﺮﮔﻮن ﻧﻤﺎﯾﻨﺪ .ﻫﺪف آﻧﻬﺎ ﻋﺒﺎرت ﺑﻮد از :ﯾﮑﺒﺎر ﺑﻨﻮﯾﺴﯿﺪ ،ﻫﺮ ﺟﺎﯾﯽ ،
ﻫﺮ زﻣﺎن و ﺑﺮای ﻫﻤﯿﺸﻪ اﺟـﺮا ﮐﻨﯿـﺪ .
ﺗﻔﺴﯿﺮ ﺷﺪه و ﻋﻤﻠﮑﺮد ﺳﻄﺢ ﺑﺎﻻ
ﺟﺎوا ﻗﺪرت اﯾﺠﺎد ﺑﺮﻧﺎﻣﻪ ﻫﺎﯾﯽ ﻗﺎﺑﻞ اﻧﻄﺒﺎقـ ﺑـﺎ ﭼﻨـﺪﯾﻦ ﻣﺤـﯿﻂرا ﺑﻮﺳـﯿﻠﻪ ﮐﺎﻣﭙﺎﯾـﻞ ﮐـﺮدن ﯾـﮏ ﻧـﻮع
ﻣﻌﺮﻓﯽ واﺳﻄﻪ ﺗﺤﺖ ﻋﻨﻮان ﮐﺪ ﺑﺎﯾﺘﯽ ﭘﯿﺪا ﮐﺮده اﺳﺖ .
ﺟﺎوا ﻃﻮری ﻃﺮاﺣﯽ ﺷﺪه ﺗﺎ روی اﻧﻮاع cpuﻧﯿـﺰ ﺑﺨـﻮﺑﯽ اﺟـﺮا ﺷـﻮد .ﮐﺪﻫﺎی ﺑﺎﯾﺘﯽ ﺟﺎوا آﻧﭽﻨﺎن
دﻗﯿﻖ ﻃﺮاﺣﯽ ﺷﺪه ﮐﻪ ﻣﯽ ﺗـﻮان آﻧﻬـﺎرا ﺑﺴـﺎدﮔﯽ وﺑﻄﻮر ﻣﺴﺘﻘﯿﻢ ﺑﻪ ﮐﺪﻫﺎی ﻣﺎﺷﯿﻦ ﺧﺎص ﺷﻤﺎ ﺑﺮای
ﻋﻤﻠﮑﺮدﻫﺎی ﺳﻄﺢ ﺑﺎﻻ ﺗﺮﺟﻤﻪ ﻧﻤﻮد .
ﺗﻮزﯾﻊ ﺷﺪه()Distributed
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
پایان