Programming Languages
Programming Languages
واﺣﺪ ﻫﻤﺪان
داﻧﺸﮑﺪه ﻓﻨﯽ ﻣﻬﻨﺪﺳﯽ ،ﮔﺮوه ﮐﺎﻣﭙﯿﻮﺗﺮ
ﻋﻨﻮان:
ﺑﺮرﺳﯽ ﮐﻠﯽ زﺑﺎن ﻫﺎی ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ ،ﺗﺎرﯾﺨﭽﻪ ،دﺳﺘﻪ ﺑﻨﺪی و زﺑﺎن ﻫﺎی ﺟﺪﯾﺪ
ﭘﮋوﻫﺸﮕﺮ:
ﺳﭙﻬﺮ ﺧﯿﺮی
اﺳﺘﺎد:
ﭘﯿﻤﺎن رﺳﻮﻟﯽ
أ
ﺑﺮرﺳﯽ ﮐﻠﯽ زﺑﺎن ﻫﺎی ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ ،ﺗﺎرﯾﺨﭽﻪ ،دﺳﺘﻪ ﺑﻨﺪی و زﺑﺎن ﻫﺎی ﺟﺪﯾﺪ
ب
ﺗﻘﺪﯾﻢ
ا ﯾ ﻦ ﻣ ﻘ ﺎ ﻟ ﻪ ﺗ ﻘ ﺪ ﯾ ﻢ ﻣ ﯽ ﺷ ﻮ د ﺑ ﻪ ﻫ ﻤ ﻪ ی د ا ﻧ ﺸ ﺠ ﻮ ﯾ ﺎ ﻧ ﯽ ﮐ ﻪ ﻓ ﺮ ﺻ ﺖ و ﺣ ﻮ ﺻ ﻠ ﻪ ی ﺧ ﻮ ا ﻧ ﺪ ن آن ر ا د ا ر ﻧ ﺪ ،
ﺷﺎﯾﺪ ﮐﻪ آﺷﻨﺎﯾﯽ ﺑﺎ زﺑﺎن ﻫﺎی ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ ﻣﺨﺘﻠﻒ ﺗﻮاﻧﺴﺖ ﻧﻈﺮ آن ﻫﺎ را از اﯾﻨﮑﻪ Pythonﺑﻬﺘﺮﯾﻦ
ز ﺑﺎن ﺑﺮ ﻧﺎﻣ ﻪ ﻧﻮ ﯾﺴ ﯽ اﺳ ﺖ ﺑﻪ ز ﺑﺎن د ﯾ ﮕ ﺮ ی ﻣ ﻌ ﻄ ﻮ ف ﮐ ﻨ ﺪ .
ج
ﭼﮑﯿﺪه
د
ﻓﻬﺮﺳﺖ ﻣﻄﺎﻟﺐ
ﻣﻘﺪﻣﻪ ١ ..............................................................................................................
ه
_ ۵ ۳_١دﺳﺘﻪ ﺑﻨﺪی اﺻ Aز<ﺎن Sﺎی ﺑﺮﻧﺎﻣﻪ ﻧ٧ .............................................................. :dcb
Procedural programming languagesز/ﺎن ﻫﺎی ﺑﺮﻧﺎﻣﻪ ﻧ<=> ﻓﺮآﯾﻨﺪی٧...................................... : ۳ـ۶ـ١ـ
Func@onal programming languagesز/ﺎن ﻫﺎی ﺑﺮﻧﺎﻣﻪ ﻧ<=> ﻓﺎﻧﮑﺸﻨﺎل٨.................................... : ۳ـ۶ـ٢ـ
Iﮔﺮا٨................................ : J
Object-Oriented Programming languagesز/ﺎن ﻫﺎی ﺑﺮﻧﺎﻣﻪ ﻧ<=> K ۳ـ۶ـ٣ـ
٩.................................................................................................... :Scrip@ng Languages ۳ـ۶ـ٤ـ
Logic programming languagesز/ﺎن ﻫﺎی ﺑﺮﻧﺎﻣﻪ ﻧ<=> ﻣﻨﻄ٩............................................... :QR ۳ـ۶ـ٥ـ
_ ۳_٢روش Sﺎی د'ﮕﺮ دﺳﺘﻪ ﺑﻨﺪی ز<ﺎن Sﺎ١٠ ...................................................................... :
دTﺪUﺎە ١٠................................................................................. :Front-end VS Back-end ۳ـ۶ـ١ـ
دTﺪUﺎە ١١.................................................................................:High-level VS Low-level ۳ـ۶ـ٢ـ
Interpreted VS Compiledز/ﺎن ﻫﺎی ﺑﺮﻧﺎﻣﻪ ﻧ<=> ﺑﺮ اﺳﺎس ﻧ<ع ﺗ[ﺪTﻞ ]ﻪ ز/ﺎن ﻣﺎﺷ ` a
_١٢................. : ۳ـ۶ـ٣ـ
٤ـ ﻣBﻢ ﺗ,Dﻦ ز0ﺎن 2ﺎ و ﻣﻮرد اﺳﺘﻔﺎدە ی آن 2ﺎ ١٣ .............................................................
_٦_۳ز<ﺎن Sﺎ ﭘLﺸﻨlﺎدی ﺑﺮای 'ﺎد ﮔmnی در ﺳﺎل ١٧ ....................................................... :۲۰۲۴
١٧.................................................................................................................... Python ـ۶ـ١ـ۳
و
١٩........................................................................................................................ C++ ـ۶ـ٦ـ۳
٥ـ ﻣﺤﺒﻮب ﺗ,Dﻦ ز0ﺎن 2ﺎی ﺑﺮﻧﺎﻣﻪ ﻧ 987در اﯾﺮان٢٢ ........................................................ :
ز
ﻣﻘﺪﻣﻪ
ز ﺑ ﺎ ن ﻫ ﺎ ی ﺑ ﺮ ﻧ ﺎﻣ ﻪ ﻧ ﻮ ﯾ ﺴ ﯽ ﺑ ﻪ ﻋ ﻨ ﻮ ا ن ا ﺑ ﺰ ا ر ی ﺑ ﺮ ا ی ا ﯾ ﺠ ﺎ د ﻧ ﺮ م ا ﻓ ﺰ ا ر ﻫ ﺎ ،ﯾ ﮑ ﯽ ا ز ﺑ ﻨ ﯿ ﺎ د ی ﺗ ﺮ ﯾ ﻦ ا ﺟ ﺰ ا ی د ﻧ ﯿ ﺎ ی
ﻓ ﻨ ﺎ و ر ی ا ﻃ ﻼ ﻋ ﺎ ت ﻫ ﺴ ﺘ ﻨ ﺪ .ا ﯾ ﻦ ز ﺑ ﺎ ن ﻫ ﺎ ﺑ ﻪ ﺗ ﻮ ﺳ ﻌ ﻪ د ﻫ ﻨ ﺪ ﮔ ﺎ ن اﻣ ﮑ ﺎ ن ﻣ ﯽ د ﻫ ﻨ ﺪ ﺗ ﺎ ﻣ ﻔ ﺎ ﻫ ﯿ ﻢ ا ﻧ ﺘ ﺰ ا ﻋ ﯽ ر ا ﺑ ﻪ
ﺑ ﺮ ﻧ ﺎﻣ ﻪ ﻫ ﺎ ی ﻗ ﺎ ﺑ ﻞ ا ﺟ ﺮ ا ﺗ ﺒ ﺪ ﯾ ﻞ ﮐ ﻨ ﻨ ﺪ .ﻫ ﺮ ز ﺑ ﺎن ﺑ ﺮ ﻧ ﺎﻣ ﻪ ﻧ ﻮ ﯾ ﺴ ﯽ و ﯾ ﮋ ﮔ ﯽ ﻫ ﺎ و ﻧ ﻘ ﺎ ط ﻗ ﻮ ت ﺧ ﺎ ﺻ ﯽ د ا ر د ﮐ ﻪ آ ن
ر ا ﺑ ﺮ ا ی ﮐ ﺎ ر ﺑ ﺮ د ﻫ ﺎ ی ﻣ ﺸ ﺨ ﺺ ﻣ ﻨ ﺎ ﺳ ﺐ ﻣ ﯽ ﺳ ﺎ ز د .ا ﻧ ﺘ ﺨ ﺎ ب ز ﺑ ﺎ ن ﺑ ﺮ ﻧ ﺎ ﻣ ﻪ ﻧ ﻮ ﯾ ﺴ ﯽ ﺑ ﻪ ﻋ ﻮ ا ﻣ ﻠﯽ ﭼ ﻮ ن ﮐ ﺎ ر ا ﯾ ﯽ ،
ﺳ ﻬ ﻮ ﻟ ﺖ ا ﺳ ﺘ ﻔ ﺎ د ه ،ﭘ ﺸ ﺘ ﯿ ﺒ ﺎ ﻧ ﯽ ﺟ ﺎ ﻣ ﻌ ﻪ ﺑ ﺮ ﻧ ﺎ ﻣ ﻪ ﻧ ﻮ ﯾ ﺴ ﺎن و ﻧ ﯿ ﺎ ز ﻫ ﺎ ی ﭘ ﺮ و ژ ه ﺑ ﺴ ﺘ ﮕ ﯽ د ا ر د .
د ر ا ﯾ ﻦ ﺑ ﺨ ﺶ ﺗ ﺎ ر ﯾ ﺨ ﭽ ﻪ ا ی ا ز ز ﺑ ﺎن ﻫ ﺎ ی ﺑ ﺮ ﻧ ﺎﻣ ﻪ ﻧ ﻮ ﯾﺴ ﯽ ﺑ ﺮ ا ﺳ ﺎ س ﻣ ﻘ ﺎ ﻟﻪ ا ی ﮐ ﻪ د ر و ب ﺳ ﺎ ﯾ ﺖ
Computer.orgآﻣﺪه اﺳﺖ ﻧﻮﺷﺘﻪ ﺷﺪه ،در ﻣﻘﺪﻣﻪ اﯾﻦ ﻣﻘﺎﻟﻪ آورده ﺷﺪه ﮐﻪ زﺑﺎن ﻫﺎی ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ
ﻗ ﺒ ﻞ از و ﺟ ﻮ د ﮐ ﺎﻣ ﭙ ﯿ ﻮ ﺗﺮ ﻫ ﺎ و ﯾﺎ ﺣ ﺘﯽ ﺑﻪ ﺻ ﻮ ر ت ﮐ ﻠﯽ ﺗ ﮑ ﻨ ﻮ ﻟﻮ ژ ی و ﺟ ﻮ د د اﺷ ﺘﻪ اﻧ ﺪ .
_٢_۳ﭘﺎﯾﻪ ﮔﺬار:
در ﺳﺎل ١٨٢٢ﭼﺎرﻟﺰ ﺑﺎﺑﯿﺞ ) (Charles Babbageدﺳﺘﮕﺎﻫﯽ ﺑﻪ ﻧﺎم ﻣﻮﺗﻮر ﺗﻔﺮﯾﻖ )(Difference Machine
ﺳﺎﺧﺖ ﮐﻪ در دﻫﻪ ۱۸۴۰ﺧﺎﱎ اِﯾﺪا ﻻوﻟِﯿﺲ ) (Ada Lovelaceاز ﻃﺒﻘﻪ اﺷﺮاﻓﯽ ﺑﺮﯾﺘﺎﻧﯿﺎﯾﯽ ﺑﺮ ﺧﻼف
ﻋ ﻤ ﻮ م ز ﻧﺎن آن د و ر ان د ر ر ﺷ ﺘ ﻪ ی ﻋ ﻠ ﻮ م و ر ﯾﺎﺿ ﯿ ﺎت ﲢ ﺼ ﯿ ﻞ ﮐ ﺮ د ه ﺑ ﻮ د ،ﺑﺎ د ﻗ ﺖ د ر د ﺳ ﺘ ﮕ ﺎ ه ﭼ ﺎر ﻟ ﺰ
ﺑﺎﺑ ﯿﺞ ﻓ ﻬ ﻤ ﯿ ﺪ ﮐ ﻪ اﯾﻦ د ﺳ ﺘ ﮕ ﺎه ﺑ ﯿﺸ ﺘ ﺮ از ﯾﮏ د ﺳ ﺘ ﮕ ﺎه ﻣ ﺤ ﺎﺳ ﺒ ﺎﺗﯽ اﺳ ﺖ و ﺑﺎ اﯾ ﺪ ه ی او ﺑﻮ د ﮐ ﻪ اﯾﻦ
ﻣ ﺎ ﺷ ﯿ ﻦ ﺑ ﺠ ﺰ ا ﻋ ﺪ اد ﻣ ﯽ ﺗ ﻮ ا ﻧ ﺴ ﺖ ﻣ ﺘ ﻐ ﯿ ﺮ ﻫ ﺎ ی د ﯾ ﮕ ﺮ ر ا ﻧ ﯿ ﺰ ﳕ ﺎ ﯾ ﺶ د ﻫ ﺪ ،ﮐ ﻪ ﻣ ﻨ ﺠ ﺮ ﺑ ﻪ ﺳ ﺎ ﺧ ﺖ او ﻟ ﯿ ﻦ
ﮐﺎﻣﭙﯿﻮﺗﺮ در ۱۸۷۱ﺷﺪ ﮐﻪ ﺑﻪ آن ﻣﻮﺗﻮر ﲢﻠﯿﻠﮕﺮ Analytical Engineﻣﯽ ﮔﻔﺘﻨﺪ ،ﺷﺪ.
ﺧ ﺎﱎ ﻻ و ﻟ ﯿ ﺲ او ﻟ ﯿ ﻦ ﮐ ﺴ ﯽ ﺑ ﻮ د ﮐ ﻪ د ﺳ ﺘ ﻮ ر ا ﻟ ﻌ ﻤ ﻞ د اد ن ﺑ ﻪ ﻣ ﺎ ﺷ ﯿ ﻦ ﻫ ﺎ ر ا ﭘ ﺎ ﯾ ﻪ ﮔ ﺬ ا ر ی ﮐ ﺮ د .ا ز ا ﯾ ﻦ ر و او
را ﻣ ﺎد ر ز ﺑﺎن ﻫ ﺎی ﺑﺮ ﻧﺎﻣ ﻪ ﻧﻮ ﯾﺴ ﯽ ﻣ ﯽ د اﻧﻨ ﺪ .
اﻟﻦ ﺗﻮرﯾﻦ در ﺳﺎل ۱۹۳۶اﯾﺪه ی ﺳﺎﺧﺖ ﻣﺎﺷﯿﻦ ﺟﻬﺎﻧﯽ را ﻣﻄﺮح ﮐﺮد ،ﻣﺎﺷﯿﻨﯽ ﮐﻪ ﻣﯽ ﺗﻮاﻧﺴﺖ
د ﺳ ﺘ ﻮ ر ا ﻟﻌ ﻤ ﻞ ﻫ ﺎ ر ا د ﻧ ﺒ ﺎ ل ﮐ ﻨ ﺪ .د ر ﻧﻬ ﺎ ﯾ ﺖ ا ﯾ ﻦ ا ﯾ ﺪ ه ﺑﻪ ﻃ ﺮ ﺣ ﯽ ﺑ ﺮای ﮐ ﺎﻣ ﭙ ﯿ ﻮ ﺗ ﺮ ی ﮐ ﻪ ﺑﺎ ﻧ ﯿ ﺮ و ی ﺑ ﺮ ق ﮐ ﺎر
ﻣ ﯽ ﮐ ﺮ د و ﻗ ﺎ د ر ﺑ ﻪ ا ﺟ ﺮ ا ی ﺑ ﺮ ﻧ ﺎ ﻣ ﻪ ﺑ ﻮ د ﺗ ﺒ ﺪ ﯾ ﻞ ﮔ ﺸ ﺖ .ا ﯾ ﻦ ﻣ ﺎ ﺷ ﯿ ﻦ ﯾﮏ ﻧ ﻮ ا ر ﺑ ﻠ ﻨ ﺪ ر ا ﮐ ﻪ ر و ی آن ﻋ ﻼ ﺋ ﻢ
ﺧ ﺎﺻ ﯽ ﭼ ﺎپ ﺷ ﺪ ه را ﻣ ﯽ ﺧ ﻮاﻧﺪ ﮐ ﻪ اﯾﻦ ﻋ ﻼ ﺋﻢ ﺷ ﺎﻣ ﻞ د ﺳ ﺘ ﻮ راﻟﻌ ﻤ ﻞ ﻫ ﺎی ﺧ ﺎﺻ ﯽ اﺳ ﺖ .
در ﺳﺎل ۱۹۴۹ﺑﺰرﮔﺘﺮﯾﻦ ﭘﯿﺸﺮﻓﺖ در ﺗﻮﺳﻌﻪ ی زﺑﺎن ﻫﺎی ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ اﺗﻔﺎق اﻓﺘﺎد و ﻋﻤﻠﮑﺮد ﻫﺎی
ﻣﺨﺘﻠﻒ ﮐﺎﻣﭙﯿﻮﺗﺮ را ﺑﻪ ﺻﻮرت زﺑﺎﻧﯽ ﺳﺎده ﺗﺮ در ﻗﺎﻟﺐ زﺑﺎن Assemblyﺗﻮﺳﻂ ﺧﺎﱎ Kathleen Booth
ﺳﺎﺧﺘﻪ ﺷﺪ .در ﻫﻤﺎن ﺳﺎل زﺑﺎن ShortCodeﻧﯿﺰ ﺗﻮﺳﻂ آﻗﺎی William Schmittرو ﮐﺎﻣﭙﯿﻮﺗﺮ ﻫﺎی
BINACو UNIVACﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﮔﺮﻓﺖ .ﻃﺮاﺣﯽ اوﻟﯿﻪ UNIXﮐﻪ ﺳﯿﺴﺘﻢ ﻋﺎﻣﻞ ﻫﺎ را ﺑﻮﺟﻮد
آورد ﺑﺎ اﺳﺘﻔﺎده از زﺑﺎن Assemblyاﳓﺎم ﺷﺪ.
ﯾﮑﯽ از ﻣﻬﻢ ﺗﺮﯾﻦ زﺑﺎن ﻫﺎی ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ ﮐﻪ در ﺳﺎل ۱۹۵۷ﺗﻮﺳﻂ John Backusﺳﺎﺧﺘﻪ ﺷﺪ زﺑﺎن
ﻓﻮرﺗﺮن ﺑﻮد .ﻓﻮرﺗﺮن از ﺗﺮﮐﯿﺐ دو ﮐﻠﻤﻪ ی ) FORmula TRANslationﺗﺮﺟﻤﻪ ﻓﺮﻣﻮل( ﻧﺎم ﮔﺬاری
ﺷ ﺪ ه اﺳ ﺖ .ﻧﮑ ﺘﻪ ی ﻣ ﻬ ﻢ د ر ﻣ ﻮ رد اﯾﻦ ز ﺑﺎن اﯾﻦ اﺳ ﺖ ﮐ ﻪ ،ﻫ ﻤ ﭽ ﻨ ﺎن د ر ﺳ ﻮ ﭘﺮ ﮐ ﺎﻣ ﭙ ﯿ ﻮ ﺗﺮ ﻫ ﺎ و ﻣ ﺤ ﺎﺳ ﺒ ﺎت
ر ﯾﺎﺿ ﯽ ﺳ ﻨ ﮕ ﯿ ﻦ از اﯾﻦ ز ﺑﺎن اﺳ ﺘﻔ ﺎد ه ﻣ ﯽ ﺷ ﻮ د .
٢
:۱۹۶۴ BASIC _٦_۳
ﻧﯿﮑﻼس وﯾﺮث Nicklaus Wirthزﺑﺎﻧﯽ ﺳﺎده را ﺗﻮﺳﻌﻪ داد ﮐﻪ ﻧﺎم آن را از ﺑﻠﯿﺰ ﭘﺎﺳﮑﺎل ،رﯾﺎﺿﯿﺪان
ﻣﺤﺒﻮﺑﺶ اﻟﻬﺎم ﮔﺮﻓﺖ .ﯾﺎد ﮔﯿﺮی اﯾﻦ زﺑﺎن ﺑﺴﯿﺎر ﺳﺎده ﺑﻮد و ﺷﺮﮐﺖ Appleدر اﺑﺘﺪای ﮐﺎر ﺧﻮد از
اﯾﻦ ز ﺑﺎن اﺳ ﺘﻔ ﺎد ه ﻣ ﯽ ﮐ ﺮد .
ii
_٨_۳زﺑﺎن Cﭘﺎﯾﻪ ﮔﺬار ﺳﯿﺴﺘﻢ ﻋﺎﻣﻞ ﻫﺎ:
از ﻧﻈ ﺮ ﺷ ﺨ ﺼ ﯽ ﻧﻮ ﯾﺴ ﻨ ﺪ ه ی اﯾﻦ ﻣ ﻘ ﺎﻟﻪ ،ز ﺑﺎن Cﻣ ﻬ ﻤ ﺘ ﺮ ﯾﻦ ز ﺑﺎن ﺑﺮ ﻧﺎﻣ ﻪ ﻧﻮ ﯾﺴ ﯽ اﺳ ﺖ .ز ﯾﺮا ﮐ ﻪ اﯾﻦ ز ﺑﺎن ،
ﺑﺎﻋﺚ ﮔﺴﺘﺮش و ﺳﺎﺧﺖ Kernelﻫﺎی UNIXﺷﺪ و در اداﻣﻪ زﺑﺎن ﻫﺎی ﻣﻬﻢ ﺑﺴﯿﺎری ﺑﺮ ﭘﺎﯾﻪ و اﺳﺎس
Cﺗ ﻮ ﺳ ﻌ ﻪ ﭘ ﯿ ﺪ ا ﮐ ﺮ د ﻧ ﺪ ،ﮐ ﻪ ﻣ ﯽ ﺗ ﻮ ان ﺑ ﻪ ز ﺑ ﺎ ن ﻫ ﺎ ی ز ﯾ ﺮ ا ﺷ ﺎ ر ه ﮐ ﺮ د :
C++ -
Objective C -
JAVA -
Python -
JavaScript -
C# -
PHP -
GO -
Perl -
Ruby -
Swift -
٣
و ﺑﺴ ﯿ ﺎر ی از ز ﺑﺎن ﻫ ﺎ ی ﻣ ﺤ ﺒ ﻮ ب اﻣ ﺮ و ز ی ﮐ ﻪ ﻫ ﻤ ﻪ ﺗ ﻮ ﺳ ﻌ ﻪ و ﺑ ﻮ ﺟ ﻮ د آﻣ ﺪ ن ﺧ ﻮ د را ﻣ ﺪ ﯾ ﻮ ن ز ﺑﺎن C
ﻫ ﺴ ﺘﻨ ﺪ .
ﻋﻠﺖ دﯾﮕﺮی ﮐﻪ اﻫﻤﯿﺖ اﯾﻦ زﺑﺎن را ﺑﯿﺸﺘﺮ ﻣﯽ ﮐﻨﺪ ،ﻗﺎﺑﻠﯿﺖ Portabilityﺑﻮد ﮐﻪ ﺑﻪ ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﺎن
ا ﯾ ﻦ آ ر اﻣ ﺶ ﺧ ﺎﻃ ﺮ ر ا ﻣ ﯽ د اد ﮐ ﻪ ا ﯾ ﻦ ز ﺑ ﺎ ن ر و ی ﺗ ﻘ ﺮ ﯾ ﺒ ﺎ ﲤ ﺎ م ﻣ ﻌ ﻤ ﺎ ر ی ﻫ ﺎ و ﺳ ﯿ ﺴ ﺘ ﻢ ﻫ ﺎ ی ﻣ ﺨ ﺘ ﻠ ﻒ ﻗ ﺎ ﺑ ﻠ ﯿ ﺖ
ﮐ ﺎﻣ ﭙﺎﯾ ﻞ ﺷ ﺪ ن را د ارد .
ﺗ ﺎ ر ﯾ ﺨ ﭽ ﻪ ی ز ﺑ ﺎ ن :C ۳ـ۶ـ١ـ
زﺑﺎن Cﺑﺮ ﭘﺎﯾﻪ ی زﺑﺎن Bدر آزﻣﺎﯾﺸﮕﺎه ﻫﺎی Bellﺗﻮﺳﻂ آﻗﺎی دﻧﯿﺲ رﯾﭽﯽ Dennis Ritchieﺳﺎﺧﺘﻪ
ﺷ ﺪ و د ر آن زﻣ ﺎن ﺑﻪ ﻋ ﻨ ﻮان ﯾﮏ ز ﺑﺎن ﺳ ﻄ ﺢ ﺑﺎﻻ ﺷ ﻨ ﺎﺧ ﺘﻪ ﻣ ﯽ ﺷ ﺪ .
زﺑﺎن Bﯾﮏ زﺑﺎن ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ ﮐﻪ ﺗﻮﺳﻂ آﻗﺎی ﮐﻦ ﺗﺎﻣﭙﺴﻮن Ken Thompsonﺳﺎﺧﺘﻪ ﺷﺪه ﺑﻮد و
در آزﻣﺎﯾﺸﮕﺎه Bellﺑﯿﺸﺘﺮ ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣﯽ ﮔﺮﻓﺖ .در اواﯾﻞ دﻫﻪ ۷۰ﺑﻪ ﮐﻤﮏ رﯾﭽﯽ زﺑﺎن B
ﺑﺎ زﺑﺎن ) CPL (Combined Programming Languageﺗﺮﮐﯿﺐ ﺷﺪ و زﺑﺎن BCPLرا ﺑﻮﺟﻮد آوردﻧﺪ.
در ﺳﺎل ١٩٧٣زﺑﺎن Cﺑﻮﺟﻮد آﻣﺪ ،ﮐﻪ ﺑﺴﯿﺎر ﻣﻮرد ﺗﻮﺟﻪ ﻗﺮار ﮔﺮﻓﺖ و ﺑﻪ ﺳﺮﻋﺖ ﺑﯿﻦ ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﺎن
ﻣﺤ ﺒﻮب ﺷ ﺪ.
ﺗ ﺼ ﻤ ﯿ ﻢ ﺑ ﻪ ا ﺳ ﺘ ﺎ ﻧ ﺪ ا ر د ﺳ ﺎ ز ی ا ﯾ ﻦ ز ﺑ ﺎ ن ر ا ﮔ ﺮ ﻓ ﺘ ﻨ ﺪ ا ز آن ﭘ ﺲ ز ﺑ ﺎ ن Cﻣ ﻮ ر د ا ﺳ ﺘ ﻔ ﺎ د ه ا ﯾ ﻦ و ر ژ ن ا ﺳ ﺘ ﺎ ﻧ ﺪ ا ر د
ﺷﺪه ﺑﻮد ﮐﻪ ﺑﻪ آن ANCI Cﯾﺎ C٨٩و C٩٠ﻧﯿﺰ ﻣﯽ ﮔﻮﯾﻨﺪ ) .ﻻزم ﺑﻪ ذﮐﺮ اﺳﺖ ﮐﻪ C٨٩و C٩٠دﻗﯿﻘﺎ
ﯾﮑﯽ ﻫﺴﺘﻨﺪ و ﺻﺮﻓﺎ C٨٩ﺗﻮﺳﻂ ANSIﻋﺮﺿﻪ ﺷﺪ و ﺳﭙﺲ ﺳﺎل ﺑﻌﺪ ﺗﻐﯿﯿﺮات ﺟﺰﯾﯽ در ﺷﮑﻞ
ﺷﺪiii. ﻇﺎﻫﺮی و ﺑﻪ اﺻﻄﻼح formattingﮐﻪ ﺗﻮﺳﻂ ISOو IECاﳓﺎم ﺷﺪ ﻣﻨﺠﺮ ﺑﻪ ﻋﺮﺿﻪ C٩٠
٤
C++ _٩_۳و :۱۹۸۳ Objective C
در اداﻣﻪ ی زﺑﺎن Cآﻗﺎی ﺑﯿﻮرن اﺳﺘﺮاوﺳﺘﺮاپ Bjarne Stroustrupدر آزﻣﺎﯾﺸﮕﺎه ﻫﺎی Bellﺑﺎ اﺿﺎﻓﻪ
ﮐﺮدن ﻣﻔﺎﻫﯿﻤﯽ ﻫﻤﭽﻮن ﮐﻼس ﻫﺎ و ﻗﺎﻟﺐ ﻫﺎ ﺑﻪ زﺑﺎن Cزﺑﺎن ﺗﻮﺳﻌﻪ ﯾﺎﻓﺘﻪ را C++ﻧﺎﻣﯿﺪ ﮐﻪ در
ﺑﺮﻧﺎﻣﻪ ﻫﺎﯾﯽ ﻫﻤﭽﻮن Adobe Photoshopو MS Officeاز اﯾﻦ زﺑﺎن ﺑﻬﺮه ﮔﺮﻓﺘﻪ ﺷﺪه اﺳﺖ.
در ﺳﻮی دﯾﮕﺮ ﻧﯿﺰ ﺑﺮد ﮐﺎﮐﺲ Brad Coxو ﺗﺎم ﻻو Tom Loveﮐﺎری ﻣﺸﺎﺑﻪ را اﳓﺎم دادﻧﺪ و ﻗﺎﺑﻠﯿﺖ
ﻫﺎی ﺷﯽ ﮔﺮاﯾﯽ ﺑﻪ زﺑﺎن Cاﺿﺎﻓﻪ ﮐﺮدن ﮐﻪ ﻣﻮﺟﺐ ﺗﻮﺳﻌﻪ Objective Cزﺑﺎن ﻣﻮرد اﺳﺘﻔﺎده در
ﺳﯿﺴﺘﻢ ﻋﺎﻣﻞ ﻫﺎی اﭘﻞ Appleﺷﺪ.
ﻧﺎم ﭘﺎﯾﺘﻮن Pythonﺑﺮﮔﺮﻓﺘﻪ ﺷﺪه از ﯾﮏ ﺑﺮﻧﺎﻣﻪ ی ﮐﻤﺪی اﻧﮕﻠﯿﺴﯽ ﺑﻪ ﻧﺎم Monty Pythonاﺳﺖ ﮐﻪ
Guido Van Rossumﯾﮏ ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺲ ﻫﻠﻨﺪی اﯾﻦ زﺑﺎن ﭼﻨﺪ ﻣﻨﻈﻮره ﺳﻄﺢ ﺑﺎﻻ را ﺗﻮﺳﻌﻪ داد.
اﻣ ﺮ و ز ه ﮔ ﻮ ﮔ ﻞ و ا ﺳ ﭙ ﺎﺗ ﯿ ﻔ ﺎ ی از ا ﯾ ﻦ ز ﺑﺎن ا ﺳ ﺘ ﻔ ﺎد ه ﻫ ﺎ ی ز ﯾﺎد ی ﻣ ﯽ ﮐ ﻨ ﻨ ﺪ و ﻣ ﻮ ﻓ ﻖ ﺷ ﺪ ه ﻣ ﺤ ﺒ ﻮ ﺑ ﯿ ﺖ ز ﯾﺎد ی
د ر ﺳ ﺎل ﻫ ﺎی اﺧ ﯿﺮ ﻧﺼ ﯿ ﺐ ﺧ ﻮد ﮐ ﻨ ﺪ .
در ﻫﻤﯿﻦ ﺣﺪود ﺑﻮد ﮐﻪ زﺑﺎن Visual Basicﺑﺎ اﺿﺎﻓﻪ ﮐﺮدن GUIﻫﺎ Graphical User Interface
اﻣﮑﺎﻧﺎت ﺟﺪﯾﺪی ﺑﻪ ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﺎن اراﺋﻪ داد ،ﮐﻪ در Wordو Excelاﺳﺘﻔﺎده ﻫﺎی زﯾﺎدی از اﯾﻦ زﺑﺎن
ﺷ ﺪ ه اﺳ ﺖ .
ﯾﮑﯽ از ﻣﻬﻢ ﺗﺮﯾﻦ زﺑﺎن ﻫﺎ ﮐﻪ ﺑﺮ ﭘﺎﯾﻪ ی Cﮔﺴﺘﺮش ﯾﺎﻓﺖ زﺑﺎن JAVAﺑﻮد ﮐﻪ ﺗﻮﺳﻂ ﺟﯿﻤﺰ ﮔﺎﺳﻠﯿﻨﮓ
James Goslingدر ﺳﺎل ۱۹۹۵ﻋﺮﺿﻪ ﺷﺪ و ﯾﮏ زﺑﺎن ﻫﻤﻪ ﻓﻦ ﺣﺮﯾﻒ ﺳﻄﺢ ﺑﺎﻻ ﻣﺤﺴﻮب ﻣﯽ ﺷﻮد
ﮐ ﻪ د ر اﮐ ﺜ ﺮ و ﺳ ﺎﯾ ﻞ اﻟﮑ ﺘ ﺮو ﻧ ﯿ ﮑ ﯽ ،از ﺟ ﻠﻤ ﻪ ﺗﻠﻔ ﻦ ﻫ ﺎی ﻫ ﻤ ﺮاه و ﺑﺴ ﯿ ﺎر ی از ﻧﺮم اﻓ ﺰار ﻫ ﺎ ﻣ ﻮ رد اﺳ ﺘﻔ ﺎد ه
ﻗ ﺮار ﮔ ﺮﻓ ﺖ .
٥
ﺳﭙﺲ JavaScriptﺑﻮد ﮐﻪ ﺑﯿﺸﺘﺮ ﻣﻮرد ﺗﻮﺟﻪ ﺗﻮﺳﻌﻪ دﻫﻨﺪﮔﺎن وب ﻗﺮار ﮔﺮﻓﺖ و ﺗﻘﺮﯾﺒﺎ ﻣﯽ ﺗﻮان ﮔﻔﺖ
ﮐﻪ اﮐﺜﺮﯾﺖ وب ﺳﺎﯾﺖ ﻫﺎی ﻣﻌﺮوف از اﯾﻦ زﺑﺎن اﺳﺘﻔﺎده ﻣﯽ ﮐﻨﻨﺪ .ﺷﺮﮐﺖ Adobeو ﻫﻤﭽﻨﯿﻦ
ﻣﺮورﮔﺮ FireFoxو اﻟﺒﺘﻪ Gmailﮔﻮﮔﻞ ،از ﺟﻤﻠﻪ ﻣﺜﺎل ﻫﺎﯾﯽ اﺳﺖ ﮐﻪ از اﯾﻦ زﺑﺎن ﺑﻬﺮه ﺑﺮده اﻧﺪ.
ﻫﻤﭽﻨﯿﻦ زﺑﺎن دﯾﮕﺮی ﺑﻪ ﻧﺎم PHPﮐﻪ در اﺑﺘﺪا ﻣﺨﻔﻒ Personal Home Pageﺑﻮد ،ﺑﻌﺪﻫﺎ ﺑﻪ
Hypertext Preprocessorﺗﻐﯿﯿﺮ ﻧﺎم داد .ﺑﯿﺸﺘﺮ ﻣﻮرد اﺳﺘﻔﺎده در ﺳﺎﺧﺖ و ﻧﮕﻪ داری ﺻﻔﺤﺎت وب
و ارﺗﺒﺎط ﺑﺎ ﺳﺮور ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﮔﺮﻓﺖ .ﮐﻤﭙﺎﻧﯽ ﻫﺎی ﺑﺰرﮔﯽ ﻣﺎﻧﻨﺪ Facebookو Wikipediaو
WordPressاز اﯾﻦ زﺑﺎن ﺑﺮای ﺗﻮﺳﻌﻪ ی ﻣﺤﺼﻮﻻت ﺧﻮد اﺳﺘﻔﺎده ﻣﯽ ﮐﻨﻨﺪ.
C# ۳ـ۶ـ١١ـ
در ﺳﺎل ۲۰۰۰ﻣﺎﯾﮑﺮوﺳﺎﻓﺖ زﺑﺎن C#را ﻣﻌﺮﻓﯽ ﮐﺮد ﮐﻪ ﺗﺮﮐﯿﺒﯽ از Visual Basicو Cﺑﻮد ،ﻫﻢ
اﮐ ﻨ ﻮ ن اﯾﻦ ز ﺑﺎن د ر ﲤ ﺎم ﻣ ﺤ ﺼ ﻮ ﻻ ت ﻣ ﺎﮐ ﺮ و ﺳ ﺎﻓ ﺖ ﻣ ﻮ ر د اﺳ ﺘ ﻔ ﺎد ه ﻗ ﺮار ﮔ ﺮ ﻓ ﺘ ﻪ اﺳ ﺖ .
Go ۳ـ۶ـ١٢ـ
در ﺳﺎل ۲۰۰۹ﺗﻮﺳﻂ ﮔﻮﮔﻞ ﺗﻮﺳﻌﻪ ﯾﺎﻓﺖ و ﺑﺮای ﺣﻞ ﻣﺸﮑﻼﺗﯽ ﮐﻪ در ﻧﺮم اﻓﺰار ﻫﺎی ﺑﺰرگ وﺟﻮد
داﺷﺖ ﺑﺴﯿﺎر ﻣﻮﺛﺮ واﻗﻊ ﺷﺪ .ﺷﺮﮐﺖ ﻫﺎی ﺑﺰرﮔﯽ ﻫﻤﭽﻮن Uberو DropBoxاز اﯾﻦ زﺑﺎن ﺑﺮای ﺗﻮﺳﻌﻪ
ﻧ ﺮ م اﻓ ﺰ ا ر ﻫ ﺎ ی ﺧ ﻮ د ﺑ ﻬ ﺮ ه ﻣ ﯽ ﺑ ﺮ ﻧ ﺪ .
Swift ۳ـ۶ـ١٣ـ
در ﺳﺎل ۲۰۱۴ﺷﺮﮐﺖ اﭘﻞ ﺑﺮای ﺟﺎﯾﮕﺰﯾﻨﯽ زﺑﺎن ﻫﺎی C, C++و Objective Cو ﺳﻬﻮﻟﺖ ﺑﯿﺸﺘﺮ در
ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ اﯾﻦ زﺑﺎن را ﺗﻮﺳﻌﻪ داد .ﺑﺮای ﺑﺮﻧﺎﻣﻪ ﻫﺎی ﲢﺖ Cloudو ﻣﻮﺑﺎﯾﻞ ﻫﺎ و ﺑﻪ ﻃﻮر ﮐﻠﯽ
ﺑﺮﻧﺎﻣﻪ ﻫﺎی ﲢﺖ ﺳﯿﺴﺘﻢ ﻋﺎﻣﻞ اﯾﻦ ﺷﺮﮐﺖ از زﺑﺎن Swiftاﺳﺘﻔﺎده ﻣﯽ ﺷﻮد.
٦
٢ـدﺳﺘﻪﺑﻨﺪی زﺑﺎنﻫﺎی ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺴﯽ
ﺑ ﺮ ا ی د ﺳ ﺘ ﻪ ﺑ ﻨ ﺪ ی ز ﺑ ﺎن ﻫ ﺎ ی ﺑ ﺮ ﻧ ﺎﻣ ﻪ ﻧ ﻮ ﯾﺴ ﯽ ا ﺑ ﺘ ﺪ ا ﺑ ﺎ ﯾ ﺪ د ﯾ ﺪ ﮔ ﺎ ه ﺧ ﻮ د ﺑ ﺮ ا ی ﺑ ﺮ ر ﺳ ﯽ و د ﺳ ﺘ ﻪ ﺑ ﻨ ﺪ ی ا ﻧ ﺘ ﺨ ﺎ ب
ﳕ ﺎ ﯾ ﯿ ﻢ .د ﺳ ﺘ ﻪ ﺑ ﻨ ﺪ ی ا ز د ﯾ ﺪ ﮔ ﺎ ه ﻋ ﻤ ﻠ ﮑ ﺮ د ﺳ ﻄ ﺢ ﻣ ﺎ ﺷ ﯿ ﻦ ،ﮐ ﺎ ر ا ﯾ ﯽ ز ﺑ ﺎ ن ،ﻧ ﺤ ﻮ ه ی ﻋ ﻤ ﻠ ﮑ ﺮ د ﻣ ﻮ ر د ا ﺳ ﺘ ﻔ ﺎ د ه و
ﺑﺴ ﯿ ﺎر ی د ﯾ ﺪ ﮔ ﺎه ﻫ ﺎی ﻣ ﺘ ﻔ ﺎو ت ﻣ ﯽ ﺗﻮ اﻧ ﺪ ﺑ ﺮای د ﺳ ﺘﻪ ﺑﻨ ﺪ ی و ﺟ ﻮ د د اﺷ ﺘﻪ ﺑﺎﺷ ﺪ .
اﮔ ﺮ ﭼ ﻪ ﳑ ﮑ ﻦ اﺳ ﺖ د ﯾ ﺪ ﮔ ﺎه ﻫ ﺎی ﺑﯽ ﺷ ﻤ ﺎر ی ﺑﺮای د ﺳ ﺘﻪ ﺑﻨ ﺪ ی ز ﺑﺎن ﻫ ﺎی ﺑﺮ ﻧﺎﻣ ﻪ ﻧﻮ ﯾﺴ ﯽ و ﺟ ﻮ د د اﺷ ﺘﻪ
ﺑﺎﺷ ﺪ اﻣ ﺎ ﻣ ﻘ ﺒ ﻮ ل ﺗﺮ ﯾﻦ د ﺳ ﺘﻪ ﺑﻨ ﺪ ی ﮐ ﻪ ﻣ ﯽ ﺗﻮان ﻧﺎم آن را د ﺳ ﺘﻪ ﺑﻨ ﺪ ی ﺳ ﺎﺧ ﺘ ﺎر ی ز ﺑﺎن ﻫ ﺎی ﺑﺮ ﻧﺎﻣ ﻪ
ﻧ ﻮ ﯾ ﺴ ﯽ ﮔ ﺬ ا ﺷ ﺖ ،ﺑ ﻪ ﺻ ﻮ ر ت ﺑ ﻪ ۵ﮔ ﺮ و ه ز ﺑ ﺎن ﻫ ﺎ ی ﺑ ﺮ ﻧ ﺎﻣ ﻪ ﻧ ﻮ ﯾﺴ ﯽ ر ا ﺗﻘ ﺴ ﯿ ﻢ ﻣ ﯽ ﮐ ﻨ ﺪ .
در اداﻣﻪ دﺳﺘﻪ ﺑﻨﺪی ﻫﺎ از دﯾﺪﮔﺎه ﻫﺎی ﻣﺘﻔﺎوت ﺑﺮ اﺳﺎس ﻣﻘﺎﻟﻪ ای در وب ﺳﺎﯾﺖ Coursera.org
اﺳﺖ١. آو ر د ه ﺷ ﺪ ه
https://www.coursera.org/articles/types-programming-language ١
٧
Functional programming languagesزﺑﺎن ﻫﺎی ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ ﻓﺎﻧﮑﺸﻨﺎل: ۳ـ۶ـ٢ـ
ا ﯾ ﻦ ز ﺑ ﺎ ن ﻫ ﺎ ز ﺑ ﺎ ن ﻫ ﺎ ی ﺧ ﺎ ﺻ ﯽ ﻫ ﺴ ﺘ ﻨ ﺪ ﮐ ﻪ ﺑ ﯿ ﺸ ﺘ ﺮ ﺑ ﺮ ا ی ﺧ ﺮ و ﺟ ﯽ ﺗ ﻮ ا ﺑ ﻊ ر ﯾ ﺎﺿ ﯽ ا ﺳ ﺘ ﻔ ﺎد ه ﻣ ﯽ ﺷ ﻮ ﻧ ﺪ .
ﲤ ﺮﮐ ﺰ اﯾﻦ ز ﺑﺎن ﻫ ﺎ رو ی ﻓ ﺎﻧﮑ ﺸ ﻦ ﻫ ﺎ و ﺗﻮاﺑﻊ اﺳ ﺖ و اﻣ ﮑ ﺎﻧﺎت ﺑ ﯿﺸ ﺘ ﺮ ی د ر اﯾﻦ زﻣ ﯿ ﻨﻪ ﺑﻪ ﺑﺮ ﻧﺎﻣ ﻪ ﻧﻮ ﯾﺴ ﺎن
اراﺋﻪ ﻣ ﯽ د ﻫ ﻨ ﺪ .
از ﺟ ﻤ ﻠﻪ ز ﺑﺎن ﻫ ﺎی ﻓ ﺎﻧﮑ ﺸ ﻨ ﺎل :
Scala -
Erlang -
Haskell -
Elixir -
F# -
Object-Oriented Programming languagesزﺑﺎن ﻫﺎی ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ ﺷﻲ ﮔﺮا: ۳ـ۶ـ٣ـ
ﺑﻪ اﺧﺘﺼﺎر OOPﻧﯿﺰ ﮔﻔﺘﻪ ﻣﯽ ﺷﻮﻧﺪ .در اﯾﻦ زﺑﺎن ﻫﺎ Objectﻫﺎ ﯾﺎ اﺷﯿﺎ ﻗﻄﻌﺎت ﺗﺸﮑﯿﻞ دﻫﻨﺪه ی
ﮐﺪ ﻫﺴﺘﻨﺪ و ﻫﺮ Objectﺷﺎﻣﻞ ﯾﮏ ﯾﺎ ﭼﻨﺪ ) Attributeوﯾﮋﮔﯽ( و ) Methodدﺳﺘﻮر ﮐﺎر( ﻣﯽ ﺑﺎﺷﺪ.
ﺑﺎ ﮐﻨﺎر ﻫﻢ ﻗﺮار دادن دﯾﺘﺎ ﻫﺎ و Objectﻫﺎ و دﺳﺘﻮرات ﻣﺨﺘﻠﻒ ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﺎن ﻣﯽ ﺗﻮاﻧﻨﺪ ﺑﺮﻧﺎﻣﻪ
ﻫ ﺎ ی ﭘ ﯿ ﭽ ﯿ ﺪ ه و ﺑ ﺰ ر گ ر ا ﺧ ﻠ ﻖ ﯾﺎ ﺗ ﻮ ﺳ ﻌ ﻪ د ﻫ ﻨ ﺪ .ا ﯾ ﻦ ز ﺑﺎن ﻫ ﺎ ﺣ ﺘ ﻤ ﺎ ﺑﺎ ﯾ ﺪ از ﺳ ﺎ ﺧ ﺘ ﺎر و ﺳ ﻠﺴ ﻠﻪ ﻣ ﺮاﺗ ﺐ
ﻣ ﺸ ﺨ ﺼ ﯽ ﮐ ﻪ ﻃ ﺮاﺣ ﯽ و ار ﺗ ﺒ ﺎط ا ﺷ ﻴ ﺎ ر ا ﻣ ﺸ ﺨ ﺺ ﻣ ﯽ ﮐ ﻨ ﺪ ﭘ ﯿ ﺮ و ی ﮐ ﻨ ﻨ ﺪ .
از ﺟ ﻤ ﻠﻪ ز ﺑﺎن ﻫ ﺎی ﺷ ﻲ ﮔ ﺮا:
Java -
C++ -
C# -
PHP -
Python -
RubyJavaScrpit -
زﺑﺎن ﻫﺎی دﯾﮕﺮی ﻧﯿﺰ وﺟﻮد دارﻧﺪ ﮐﻪ از Objectﻫﺎ اﺳﺘﻔﺎده ﻣﯽ ﮐﻨﻨﺪ ،اﻣﺎ ﳕﯽ ﺗﻮان آن ﻫﺎ را در
اﯾﻦ دﺳﺘﻪ ﻗﺮار داد زﯾﺮا ﮐﻪ از ﲤﺎﻣﯽ ﺳﻠﺴﻠﻪ ﻣﺮاﺗﺐ ﻃﺮاﺣﯽ ﺷﻲ ﮔﺮا ﭘﯿﺮوی ﳕﯽ ﮐﻨﻨﺪ ،ﻣﺜﻼ زﺑﺎن Go
٨
ﮐﻪ اﯾﻦ روز ﻫﺎ ﺑﺴﯿﺎر ﻣﻮرد ﺗﻮﺟﻪ ﻗﺮار ﮔﺮﻓﺘﻪ ،اﮔﺮﭼﻪ اﻣﮑﺎن اﺳﺘﻔﺎده از Objectﻫﺎ را دارد اﻣﺎ ﭼﻮن
ﳕﯽ ﺗﻮان اﺻﻮل Inheritanceﯾﺎ وراﺛﺖ را در آن ﭘﯿﺎده ﺳﺎزی ﮐﺮد ﯾﮏ زﺑﺎن ﺷﻲ ﮔﺮای ﮐﺎﻣﻞ ﻧﯿﺴﺖ.
٩
Absys -
Datalog -
Alma-٠ -
Logic Scripting OOP Functional Procedural
Prolog Bash C# Common C
Prolog++ Lua C++ Lisp C++
Absys Java Script Java Scrpit Scheme Pascal
Alma-٠ Python Python Erlang Basic
Datalog R Rust Haskel Fortran
Planner PHP Go F# Go
Vadalog Ruby Java Racket Java
ﺟﺪول ١—٢
د ر اد اﻣ ﻪ ﺑﻪ ﭼ ﻨ ﺪ ﳕ ﻮ ﻧﻪ ی د ﯾ ﮕ ﺮ ا ز ر و ش ﻫ ﺎ ی د ﺳ ﺘ ﻪ ﺑ ﻨ ﺪ ی ز ﺑ ﺎن ﻫ ﺎ ی ﺑ ﺮ ﻧ ﺎﻣ ﻪ ﻧ ﻮ ﯾﺴ ﯽ ا ﺷ ﺎ ر ه ﻣ ﯽ ﺷ ﻮ د .
اﮔ ﺮ ﭼ ﻪ ﻫ ﻤ ﺎﻧﻄ ﻮ ر ﮐ ﻪ ﮔ ﻔ ﺘﻪ ﺷ ﺪ ،د ﺳ ﺘﻪ ﺑﻨ ﺪ ی ﻫ ﺎی ﺳ ﻠ ﯿﻘﻪ ای ﺑﯽ ﺷ ﻤ ﺎر ی و ﺟ ﻮ د د ارد .
١٠
و زﺑﺎن ﻫﺎی Back-endﺑﻪ ﻋﻨﻮان ﻣﺜﺎل:
JavaScript -
Java -
PHP -
Python -
ﻻزم ﺑﻪ ذﮐﺮ اﺳﺖ ﮐﻪ از ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﺎﻧﯽ ﮐﻪ ﺑﻪ ﻫﺮ دوی اﯾﻦ دﺳﺘﻪ از زﺑﺎن ﻫﺎ ﺗﺴﻠﻂ دارﻧﺪ Full-Stack
Developerﮔﻔﺘﻪ ﻣﯽ ﺷﻮد.
ا ﯾ ﻦ د ﯾ ﺪ ﮔ ﺎ ه ﺻ ﺮ ﻓ ﺎ ا ز د ﯾ ﺪ ﻇ ﺎ ﻫ ﺮ ی و ﻧ ﺤ ﻮ ه ی ﺗ ﻌ ﺎ ﻣ ﻞ ﮐ ﺎ ر ﺑ ﺮ ان ﺑ ﺎ ز ﺑ ﺎ ن ﻫ ﺎ ی ﺑ ﺮ ﻧ ﺎ ﻣ ﻪ ﻧ ﻮ ﯾ ﺴ ﯽ د ﺳ ﺘ ﻪ ﺑ ﻨ ﺪ ی
ر ا ا ﳓ ﺎ م د ا د ه ا ﺳ ﺖ ،و اﻫ ﻤ ﯿ ﺘ ﯽ ﺑﻪ ﻧ ﻮ ع ﺳ ﺎﺧ ﺘ ﺎر ی و ﻣ ﻨ ﻄ ﻘ ﯽ ز ﺑﺎن ﻫ ﺎ ی ﺑ ﺮ ﻧﺎﻣ ﻪ ﻧ ﻮ ﯾﺴ ﯽ ﻧ ﺪ ار د ،ﻫ ﻤ ﺎ ﻧﻄ ﻮ ر
ﮐﻪ در ﻣﺜﺎل ﻫﺎ آورده ﺷﺪه اﺳﺖ ﺑﻪ ﻋﻨﻮان ﻣﺜﺎل اﮔﺮ از JavaScriptدر ﻫﺮ ﮐﺠﺎی اﯾﻦ دﯾﺪﮔﺎه اﺳﺘﻔﺎده
ﺷ ﻮ د د ر آن د ﺳ ﺘ ﻪ ﺑ ﻨ ﺪ ی ﻗ ﺮار ﻣ ﯽ ﮔ ﯿ ﺮ د .
١١
ﻫﻤﯿﻦ ﻣﻮﺿﻮع ﺑﺎﻋﺚ ﺷﺪ ﮐﻪ ﯾﮏ زﺑﺎن ﻫﺎی ﺳﻄﺢ ﻣﯿﺎﻧﯽ ﻧﯿﺰ ﺑﻮﺟﻮد ﺑﯿﺎﯾﻨﺪ ﮐﻪ ﺑﻪ آن Mid-levelﮔﻔﺘﻪ
ﻣﯽ ﺷﻮد .در ﺣﺎل ﺣﺎﺿﺮ زﺑﺎن ﻫﺎﯾﯽ ﻫﻤﭽﻮن Assemblyزﺑﺎن ﻫﺎی ﺳﻄﺢ ﭘﺎﯾﯿﻦ در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﻣﯽ
ﺷﻮﻧﺪ و زﺑﺎن ﻫﺎی Pythonو JavaScriptﻣﺜﺎل ﻫﺎﯾﯽ از زﺑﺎن ﻫﺎی ﺳﻄﺢ ﺑﺎﻻ ﻫﺴﺘﻨﺪ ،ﻫﻤﭽﻨﯿﻦ زﺑﺎن
ﻫﺎﯾﯽ ﻣﺎﻧﻨﺪ Cو C++در دﺳﺘﻪ زﺑﺎن ﻫﺎی Mid-levelﻗﺮار ﻣﯽ ﮔﯿﺮﻧﺪ.
Interpreted VS Compiledزﺑﺎن ﻫﺎی ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ ﺑﺮ اﺳﺎس ﻧﻮع ﺗﺒﺪﯾﻞ ﺑﻪ زﺑﺎن ۳ـ۶ـ٣ـ
ﻣ ﺎﺷ ﯿ ﻦ :
و ﻗ ﺘ ﯽ ﮐ ﻪ د ﺳ ﺘ ﻮ رات ﺗ ﻮ ﺳ ﻂ ﺑ ﺮ ﻧﺎﻣ ﻪ ﻧ ﻮ ﯾﺲ ﻧ ﻮ ﺷ ﺘ ﻪ ﻣ ﯽ ﺷ ﻮ د ،ﺑ ﺎ ﯾ ﺪ ﺑ ﻪ ﻧ ﺤ ﻮ ی ا ﯾ ﻦ د ﺳ ﺘ ﻮ ر ا ت ﺗ ﻔ ﺴ ﯿ ﺮ ﺷ ﻮ ﻧ ﺪ
و آﻣ ﺎد ه ی ار ﺳ ﺎ ل ﺷ ﺪ ن ﺑﻪ ﭘ ﺮ د از ﻧ ﺪ ه ﺷ ﻮ ﻧ ﺪ ،ﭘ ﺮ د از ﻧ ﺪ ه ﻧ ﯿ ﺰ ﭼ ﯿ ﺰ ی ﺑﻪ ﺟ ﺰ ز ﺑﺎن ﻣ ﺎ ﺷ ﯿ ﻦ را د ر ک ﳕ ﯽ ﮐ ﻨ ﺪ .
ﭘﺲ ﻫ ﻤ ﻪ ی ﮐ ﺪ ﻫ ﺎ ﺑﺎﯾ ﺪ د ر ﻧﻬ ﺎﯾﺖ ﺑﻪ ز ﺑﺎن ﻣ ﺎﺷ ﯿ ﻦ ﺗﺒ ﺪ ﯾ ﻞ ﺷ ﻮ ﻧ ﺪ .از اﯾﻦ د ﯾ ﺪ ﮔ ﺎه ز ﺑﺎن ﻫ ﺎی ﺑﺮ ﻧﺎﻣ ﻪ
ﻧ ﻮ ﯾ ﺴ ﯽ ﻣ ﺨ ﺘ ﻠ ﻒ ر و ﯾ ﮑ ﺮ د ﻫ ﺎ ی ﻣ ﺘ ﻔ ﺎو ﺗ ﯽ ﺑ ﺮ ا ی ا ﳓ ﺎ م ا ﯾ ﻦ ﮐ ﺎ ر د ا ر ﻧ ﺪ .
Compileﺷﺪن ﺑﻪ اﯾﻦ ﺻﻮرت اﺳﺖ ﮐﻪ ﯾﮑﺒﺎره ﲤﺎﻣﯽ ﮐﺪ ﺑﻪ زﺑﺎن ﻣﺎﺷﯿﻦ ﺗﺒﺪﯾﻞ ﺷﺪه و آﻣﺎده ی
اﺟ ﺮای ﻣ ﯽ ﺷ ﻮ د .اﮔ ﺮ ﭼ ﻪ د ر اﯾﻦ ﺷ ﯿ ﻮ ه ﺳ ﺮ ﻋ ﺖ اﺟ ﺮا ﺑﺴ ﯿ ﺎر ﺑﺎﻻ ﺳ ﺖ ،اﻣ ﺎ ﻓﻘ ﻂ رو ی ﮐ ﺎﻣ ﭙ ﯿ ﻮ ﺗﺮ ی ﮐ ﻪ
ﮐ ﺎﻣ ﭙﺎﯾ ﻞ اﳓ ﺎم ﺷ ﺪ ه ﻗﺎﺑ ﻞ اﺟ ﺮا ﺧ ﻮاﻫ ﺪ ﺑﻮد .
Interpretﺑﻪ ﻣﻌﻨﺎی ﺗﻔﺴﯿﺮ اﺳﺖ ،اﯾﻦ ﻧﻮع زﺑﺎن ﻫﺎ ﺑﻪ ﺟﺎی اﯾﻨﮑﻪ ﮐﻞ ﮐﺪ را ﺑﻪ زﺑﺎن ﻗﺎﺑﻞ اﺟﺮا ﺑﺮای
ﻣ ﺎﺷ ﯿ ﻦ ﺗﺒ ﺪ ﯾ ﻞ ﮐ ﻨ ﻨ ﺪ ،ﺧ ﻂ ﺑﻪ ﺧ ﻂ ﮐ ﺪ را ﺗﻔﺴ ﯿ ﺮ ﻣ ﯽ ﮐ ﻨ ﻨ ﺪ .ﻣ ﺰ ﯾﺖ اﯾﻦ ﮐ ﺎر ﻗﺎﺑ ﻞ اﺟ ﺮا ﺑﻮد ن د ر ﲤ ﺎم
ﮐ ﺎﻣ ﭙ ﯿ ﻮﺗﺮ ﻫ ﺎ ﺑ ﺪ و ن ﻧ ﯿﺎز ﺑﻪ ﮐ ﺎﻣ ﭙﺎﯾ ﻞ اﺳ ﺖ ،اﮔ ﺮ ﭼ ﻪ ﮐ ﺎر ﮐ ﻨ ﺪ ﺗﺮ اﳓ ﺎم ﻣ ﯽ ﺷ ﻮ د .
-زﺑﺎن ﻫﺎی C, C++, C#و Rustو Erlangاز ﺟﻤﻠﻪ زﺑﺎن ﻫﺎﯾﯽ ﻫﺴﺘﻨﺪ ﮐﻪ Compileدر آن ﻫﺎ
اﳓ ﺎم ﻣ ﯽ ﺷ ﻮ د .
-زﺑﺎن ﻫﺎﯾﯽ ﻣﺎﻧﻨﺪ Python, JavaScrpit,و PHPزﺑﺎن ﻫﺎﯾﯽ ﻫﺴﺘﻨﺪ ﮐﻪ Intrepreterﮐﺪ ﻫﺎی
آن ﻫ ﺎ را ﺑ ﺮای ﻣ ﺎ ﺷ ﯿ ﻦ ﺗﻔ ﺴ ﯿ ﺮ ﻣ ﯽ ﮐ ﻨ ﺪ .
-در اﯾﻦ ﺑﯿﻦ زﺑﺎن JAVAﯾﮏ زﺑﺎن Hybridاﺳﺖ،ﮐﻪ از ﻫﺮ دوی اﯾﻦ ﻗﺎﺑﻠﯿﺖ ﻫﺎ اﺳﺘﻔﺎده ﻣﯽ
ﮐﻨﺪ .ﺑﻪ اﯾﻦ ﺻﻮرت ﮐﻪ اﺑﺘﺪا ﮐﺪ ﻧﻮﺷﺘﻪ ﺷﺪه ﺗﻮﺳﻂ Compilerﺑﻪ ﺻﻮرت ﯾﮏ ﻓﺎﯾﻞ ﺑﺎ ﭘﺴﻮﻧﺪ
.classدر ﻣﯽ آﯾﺪ .ﺳﭙﺲ اﯾﻦ ﻓﺎﯾﻞ در ﻫﺮ ﮐﺎﻣﭙﯿﻮﺗﺮی ﮐﻪ ﺑﺨﻮاﻫﯿﻢ اﺟﺮا ﮐﻨﯿﻢ ﺗﻮﺳﻂ ﻣﺎﺷﯿﻦ
١٢
ﻣﺠﺎزی ﺟﺎوا JVMﺗﻔﺴﯿﺮ Interpretﻣﯽ ﺷﻮد و ﺑﺎ ﺳﺮﻋﺖ ﺑﺎﻻﯾﯽ ﮐﺪ ﻫﺎی ﮐﺎﻣﭙﺎﯾﻞ ﺷﺪه را
اﺟ ﺮا ﻣ ﯽ ﮐ ﻨ ﺪ .
٢
٣ـﻣﻬﻢ ﺗﺮﯾﻦ زﺑﺎن ﻫﺎ و ﻣﻮرد اﺳﺘﻔﺎده ی آن ﻫﺎ
ﺑ ﺮ ا ﺳ ﺎ س ﺗ ﻌ ﺪ اد ﻣ ﻮ ﻗ ﻌ ﯿ ﺖ ﻫ ﺎ ی ﺷ ﻐ ﻠﯽ د ر آﻣ ﺮ ﯾ ﮑ ﺎ ،ﭘ ﺎ ﯾ ﺘ ﻮ ن ﻧ ﻔ ﺮ ا و ل ﻟ ﯿ ﺴ ﺖ ا ﺳ ﺖ .
ﺷﮑﻞ ١
-Job-demand١https://zerotomastery.io/blog/best-programming-languages-to-learn/#Criteria- ٢
١٣
_٢_۳ﻣﺘﻮﺳﻂ درآﻣﺪ ﺳﺎﻟﯿﺎﻧﻪ:
ﻫﻤﺎﻧﻄﻮر ﮐﻪ در ﺷﮑﻞ ۲ﻗﺎﺑﻞ ﻣﺸﺎﻫﺪه اﺳﺖ Ruby, TypeScript .و Kotlinﺟﺰو زﺑﺎن ﻫﺎی ﭘﺮ درآﻣﺪ
ﻫ ﺴ ﺘﻨ ﺪ .
:Ruby -اﯾﻦ زﺑﺎن ﺑﯿﺸﺘﺮ ﺑﺮای ﺗﻮﺳﻌﻪ وب ﭼﻪ Front-Endو ﭼﻪ Back-Endﻣﻮرد اﺳﺘﻔﺎده
ﻗﺮار ﻣﯽ ﮔﯿﺮد .ﻓﺮﯾﻢ ورک ﻣﻮرد اﺳﺘﻔﺎده ﻣﻌﺮوف آن ﻧﯿﺰ Ruby on railsﻧﺎم دارد.
:TypeScript -ﻣﻌﻤﻮﻻ ﺑﺮای ﺗﻮﺳﻌﻪ وب در ﮐﻨﺎر Reactو Angularاﺳﺘﻔﺎده ﻣﯽ ﺷﻮد و
ﮐ ﻤ ﮏ ﺑ ﺰ ر ﮔ ﯽ ﺑﻪ ﺳ ﺎ ﺧ ﺖ و ب اﭘﻠ ﯿ ﮑ ﯿ ﺸ ﻦ ﻫ ﺎ ﻣ ﯽ ﮐ ﻨ ﺪ .
:Kotlin -اﯾﻦ زﺑﺎن ﺑﯿﺸﺘﺮ ﺑﺮای ﺳﺎﺧﺖ ﻧﺮم اﻓﺰار ﻫﺎی ﺳﯿﺴﺘﻢ ﻋﺎﻣﻞ Androidﻣﻮرد اﺳﺘﻔﺎده
ﻗﺮار ﻣﯽ ﮔﯿﺮد .و ﺑﺮای وب اﭘﻠﯿﮑﯿﺸﻦ ﻫﺎ در ﮐﻨﺎر Javaاز ﻣﻮارد اﺳﺘﻔﺎده ی اﯾﻦ زﺑﺎن اﺳﺖ.
ﺷﮑﻞ ٢
_٣_۳ﺳﻬﻮﻟﺖ ﯾﺎدﮔﯿﺮی:
ﻃ ﺒ ﻖ ﻧ ﻈ ﺮ ﺳ ﻨ ﺠ ﯽ ﻫ ﺎ ی اﳓ ﺎم ﺷ ﺪ ه ز ﺑ ﺎن ﻫ ﺎ ﯾﯽ ﮐ ﻪ ﺑ ﯿ ﺸ ﺘ ﺮ ﯾ ﻦ ﻣ ﺨ ﺎﻃ ﺒ ﺎن ﺑ ﺮ ا ی ﯾ ﺎد ﮔ ﯿ ﺮ ی ر ا د ا ﺷ ﺘ ﻪ ا ﻧ ﺪ
ﺑﻪ ﺗﺮﺗ ﯿ ﺐ آﺳ ﺎن ﺗﺮ ﯾﻦ آو ر د ه ﺷ ﺪ ه اﻧ ﺪ :
١٤
ﺧﯿﻠﯽ ﺳﺎدهSQL : -
ﺳﺎدهPython, JavaScript, Ruby, PHP : -
ﺳﺎده رو ﺑﻪ ﻣﻌﻤﻮﻟﯽTypescript, Rust, Golang : -
ﻣﻌﻤﻮﻟﯽJava, Kotlin, C#: -
ﻣﻌﻤﻮﻟﯽ ﺑﻪ ﺳﺨﺖC++ : -
اﯾﻦ آﻣﺎر ﻃﺒﻖ ﻧﻈﺮ ﺳﻨﺠﯽ ﺳﺎﻟﯿﺎﻧﻪ ی StackOverflowآﻣﺪه اﺳﺖ ﮐﻪ از ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﺎن ﺳﻮال ﺷﺪه
د ر آ ﯾ ﻨ ﺪ ه ﻗ ﺼ ﺪ د ا ر ﻧ ﺪ ا ﺳ ﺘ ﻔ ﺎد ه ا ز ﭼ ﻪ ز ﺑ ﺎن ﻫ ﺎ ﯾﯽ ر ا اد اﻣ ﻪ د ﻫ ﻨ ﺪ .
ﺷﮑﻞ ٣
_٥_۳آﯾﻨﺪه ﻧﮕﺮی:
۳ﻋ ﺎﻣ ﻞ ﻣ ﻬ ﻢ د ر ا ﻧ ﺘ ﺨ ﺎ ب ز ﺑ ﺎ ن ﻫ ﺎ ی ﺑ ﺮ ﻧ ﺎﻣ ﻪ ﻧ ﻮ ﯾ ﺴ ﯽ ا ﻧ ﺘ ﺨ ﺎ ب ﺷ ﺪ ه د ر ا ﯾ ﻦ ﺑ ﺨ ﺶ و ﺟ ﻮ د د ا ر د ﮐ ﻪ ﺑ ﻪ
ﺗﺮﺗﯿ ﺐ :
١٥
ﻃ ﺮ ح ﺳ ﻮ اﻻ ت ۳ـ۶ـ١ـ
ﺑﻪ ﻧﻘ ﻞ از ﻧﻮ ﯾﺴ ﻨ ﺪ ه ی ﻣ ﻘ ﺎﻟﻪ » ﺑﺮای د ﺳ ﺘ ﺮ ﺳ ﯽ ﺑﻪ ﭘﺎﺳ ﺦ اﯾﻦ ﺳ ﻮا ل ﮐ ﻪ ﮐ ﺪ ام ز ﺑﺎن ﻫ ﺎ د ر آﯾﻨ ﺪ ه ﺑ ﯿﺸ ﺘ ﺮ
ﻣ ﻮ ر د ا ﺳ ﺘ ﻔ ﺎد ه ﻗ ﺮ ا ر ﺧ ﻮ اﻫ ﻨ ﺪ ﮔ ﺮ ﻓ ﺖ ﺳ ﻮ ا ل ﻫ ﺎ ی ز ﯾ ﺮ ر ا ﻣ ﻄ ﺮ ح ﮐ ﺮ د ﯾ ﻢ و ﻃ ﺒ ﻖ ا ﯾ ﻦ ﺳ ﻮ ا ل ﻫ ﺎ ز ﺑ ﺎن ﻫ ﺎ ﯾﯽ
را د ر اﯾﻦ د ﺳ ﺘﻪ اﻣ ﺘ ﯿﺎز ﺑﻨ ﺪ ی ﮐ ﺮد ﯾﻢ « :
-ز ﺑﺎن ﭼ ﮕ ﻮ ﻧﻪ /ﮐ ﺠ ﺎ اﺳ ﺘﻔ ﺎد ه ﻣ ﯽ ﺷ ﻮ د ؟
-آ ﯾ ﺎ ﺷ ﺮ ﮐ ﺖ ﻫ ﺎ ی ﺑ ﺰ ر گ ﺑ ﻪ ﺳ ﻤ ﺖ آن ﺣ ﺮ ﮐ ﺖ ﻣ ﯽ ﮐ ﻨ ﻨ ﺪ ؟
-اﯾﻦ ز ﺑﺎن ﺗﺎ ﭼ ﻪ ﺣ ﺪ د ر ﺳ ﯿﺴ ﺘ ﻢ ﻫ ﺎی ﻣ ﻮ ﺟ ﻮ د ﮔ ﻨ ﺠ ﺎ ﻧ ﺪ ه ﺷ ﺪ ه ا ﺳ ﺖ ؟
-ﭘﯿﺶﺑﯿﻨﯽ ۵ﺗﺎ ۱۰ﺳﺎل آﯾﻨﺪه ﭼﯿﺴﺖ؟ آﯾﺎ اﯾﻦ زﺑﺎن ﻫﻨﻮز ﺑﻪﻃﻮر ﮔﺴﺘﺮدهای اﺳﺘﻔﺎده ﺧﻮاﻫﺪ
ﺷﺪ و ﺑﻨﺎﺑﺮاﯾﻦ ﯾﮏ ﻣﻬﺎرت ارزﺷﻤﻨﺪ ﺑﺮای ﺳﺎلﻫﺎی آﯾﻨﺪه ﺑﺸﻤﺎر ﺧﻮاﻫﺪ رﻓﺖ؟
-ا ﯾ ﻦ ز ﺑﺎن ﺑﺮا ی ﭼ ﻪ ﻧﻮ ع ﭘﺮو ژ ه ﻫ ﺎ ﯾﯽ ا ﺳ ﺘ ﻔ ﺎ د ه ﻣ ﯽ ﺷ ﻮ د ؟
١٦
ﺟ ﺎ و ا :ﺑ ﻪ د ﻟ ﯿ ﻞ ﯾ ﮑ ﭙ ﺎ ر ﭼ ﮕ ﯽ آ ن ﺑ ﺎ ﺗ ﻮ ﺳ ﻌ ﻪ ﻧ ﺮ م ا ﻓ ﺰ ا ر ﻫ ﺎ ی ﺳ ﺎ ز ﻣ ﺎ ﻧﯽ ،ﺗ ﻮ ﺳ ﻌ ﻪ اﭘ ﻠ ﯿ ﮑ ﯿ ﺸ ﻦ ﻫ ﺎ ی ا ﻧ ﺪ ر و ﯾ ﺪ و
ﺳ ﯿ ﺴ ﺘ ﻢ ﻫ ﺎ ی ﺑﮏ ا ﻧ ﺪ .
د ر ا ﯾ ﻦ ﻗ ﺴ ﻤ ﺖ ز ﺑ ﺎن ﻫ ﺎ ی ﭘ ﯿ ﺸ ﻨ ﻬ ﺎد ی ﺑ ﺮ ا ﺳ ﺎ س ۵ﻓ ﺎ ﮐ ﺘ ﻮ ر ﻣ ﻄ ﺮ ح ﺷ ﺪ ه ﮐ ﻪ ﺑ ﻪ ﻋ ﻼ ﻗ ﻪ ﻣ ﻨ ﺪ ا ن ﺑ ﺮ ا ی ﯾ ﺎ د
ﮔ ﯿ ﺮ ی ﭘ ﯿ ﺸ ﻨ ﻬ ﺎد ﻣ ﯽ ﺷ ﻮ د ﺑﻪ ﺗ ﺮ ﺗ ﯿ ﺐ ﻫ ﻤ ﺮاه ﺑﺎ ﺗ ﻮ ﺿ ﯿ ﺢ ﻣ ﺨ ﺘ ﺼ ﺮ ی از ۵ﻓ ﺎﮐ ﺘ ﻮ ر آو ر د ه ﺷ ﺪ ه ا ﺳ ﺖ .
Python ۳ـ۶ـ١ـ
ﭘ ﺎ ﯾ ﺘ ﻮ ن ﺑ ﻪ ﻋ ﻨ ﻮ ان ﯾ ﮏ ز ﺑ ﺎ ن ﺑ ﺮ ﻧ ﺎ ﻣ ﻪ ﻧ ﻮ ﯾ ﺴ ﯽ ﻗ ﺪ ر ﲤ ﻨ ﺪ و ﭼ ﻨ ﺪ ﻣ ﻨ ﻈ ﻮ ر ه ﺷ ﻨ ﺎ ﺧ ﺘ ﻪ ﻣ ﯽ ﺷ ﻮ د ﮐ ﻪ د ر ﺣ ﻮ ز ه ﻫ ﺎ ی
ﮔ ﻮ ﻧ ﺎ ﮔ ﻮ ﻧﯽ ﮐ ﺎ ر ﺑ ﺮ د د ا ر د :
-ﻣ ﻮ ا ر د اﺻ ﻠ ﯽ ا ﺳ ﺘ ﻔ ﺎ د ه :ﭘ ﺎ ﯾ ﺘ ﻮ ن ﺑ ﻪ ﻃ ﻮ ر ﮔ ﺴ ﺘ ﺮ د ه د ر ﯾ ﺎ د ﮔ ﯿ ﺮ ی ﻣ ﺎ ﺷ ﯿ ﻦ ،ﻫ ﻮ ش ﻣ ﺼ ﻨ ﻮ ﻋ ﯽ ،ﺗ ﻮ ﺳ ﻌ ﻪ
و ب ،ﻋ ﻠ ﻢ د ا د ه ،ﻧ ﺮ م ا ﻓ ﺰ ا ر ﻫ ﺎ ی ر ا ﺑ ﻂ ﮐ ﺎ ر ﺑ ﺮ ی د ﺳ ﮑ ﺘ ﺎ پ ،ﺑ ﺮ ﻧ ﺎ ﻣ ﻪ ﻫ ﺎ ی ﲡ ﺎ ر ی ،ﺗ ﻮ ﺳ ﻌ ﻪ اﭘ ﻠ ﯿ ﮑ ﯿ ﺸ ﻦ ،
اپﻫﺎی دﺳﮑﺘﺎپ ،ﻣﯿﮑﺮوﮐﻨﺘﺮﻟﺮﻫﺎ ،وبﺳﺎﯾﺖﻫﺎ ،ﻣﺪﯾﺮﯾﺖ ﺳﯿﺴﺘﻢ ،DevOps ،دﺳﺘﮕﺎهﻫﺎی
ا ﯾ ﻨ ﺘ ﺮ ﻧ ﺖ ا ﺷ ﯿ ﺎ ،ﻣ ﺤ ﺎ ﺳ ﺒ ﺎ ت ﻋ ﻠ ﻤ ﯽ ،اﺗ ﻮ ﻣ ﺎ ﺳ ﯿ ﻮ ن ،ا ﺳ ﮑ ﺮ ﯾ ﭙ ﺖ ﻧ ﻮ ﯾﺴ ﯽ و ﺣ ﺘ ﯽ ﺗ ﻮ ﺳ ﻌ ﻪ ﺑ ﺎ زی ا ﺳ ﺘ ﻔ ﺎ د ه
ﻣ ﯽ ﺷ ﻮ د .اﻣ ﺎ ﺷ ﺎ ﯾ ﺪ از ﻧﻈ ﺮ ﺣ ﺮ ﻓ ﻪ ای ﺑ ﺘ ﻮ ن ا ﯾ ﻦ ز ﺑﺎن را ﯾﮏ ز ﺑﺎن ﺳ ﺎد ه ﺑ ﺮای ﭘ ﺮ د ا ز ش د ﯾ ﺘ ﺎ ﻫ ﺎ ی
ﻣ ﺨ ﺘﻠﻒ و ﻣ ﻬ ﻨ ﺪ ﺳ ﯽ اﻃ ﻼ ﻋ ﺎت د ر ﻧ ﻈ ﺮ ﮔ ﺮ ﻓ ﺖ .
-ﺗ ﻘ ﺎﺿ ﺎی ﺷ ﻐ ﻠ ﯽ :ﭘ ﺎ ﯾ ﺘ ﻮ ن ﺑ ﻪ ﻋ ﻨ ﻮ ان ﭘ ﺮ ﺗﻘ ﺎﺿ ﺎﺗ ﺮ ﯾ ﻦ ز ﺑ ﺎ ن ﺑ ﺮ ﻧ ﺎ ﻣ ﻪ ﻧ ﻮ ﯾ ﺴ ﯽ ﺷ ﻨ ﺎﺧ ﺘ ﻪ ﻣ ﯽ ﺷ ﻮ د
-ﻣﯿﺎﻧﮕﯿﻦ ﺣﻘﻮق :ﻣﯿﺎﻧﮕﯿﻦ ﺣﻘﻮق ﺑﺮای ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺴﺎن ﭘﺎﯾﺘﻮن ﺣﺪود ۱۲۱,۹۳۲دﻻر اﺳﺖ ﮐﻪ
از ا ﯾﻦ ﻧﻈ ﺮ ﭼ ﻬ ﺎر ﻣ ﯿ ﻦ ز ﺑﺎن ﭘﺮد رآﻣ ﺪ ﻣ ﺤ ﺴ ﻮ ب ﻣ ﯽ ﺷ ﻮ د .
-ﺳ ﺨ ﺘ ﯽ ﯾ ﺎ د ﮔ ﯿ ﺮ ی :ﭘ ﺎ ﯾ ﺘ ﻮ ن ﺑ ﻪ د ﻟ ﯿ ﻞ آ ﺳ ﺎ ﻧ ﯽ د ر ﯾ ﺎد ﮔ ﯿ ﺮ ی ،ﯾ ﮑ ﯽ ا ز ز ﺑ ﺎ ن ﻫ ﺎ ی ﻣ ﻨ ﺎ ﺳ ﺐ ﺑ ﺮ ای
ﻣ ﺒ ﺘ ﺪ ﯾ ﺎ ن ا ﺳ ﺖ و د ر ر ﺗ ﺒ ﻪ د و م ﺑ ﻪ ﻋ ﻨ ﻮ ان آ ﺳ ﺎن ﺗ ﺮ ﯾ ﻦ ز ﺑ ﺎ ن ﺑ ﺮ ﻧ ﺎ ﻣ ﻪ ﻧ ﻮ ﯾ ﺴ ﯽ ﻗ ﺮ ا ر د ا ر د ﮐ ﻪ آ ن ر ا ﺑ ﺮ ا ی
اﻓ ﺮاد ﺗﺎز ه ﮐ ﺎ ر د ﺳ ﺘ ﺮ س ﭘ ﺬ ﯾ ﺮ ﻣ ﯽ ﮐ ﻨ ﺪ .
-ﻣﻮﻗﻌﯿﺖ ﻫ ﺎی ﺷ ﻐﻠﯽ :
• Data Scientist
• Data Analyst
١٧
• Data Engineer
• Machine Learning Engineer
SQL ۳ـ۶ـ٢ـ
-ﻣ ﻮ ا ر د اﺻ ﻠ ﯽ ا ﺳ ﺘ ﻔ ﺎ د ه :ﺗ ﻘ ﺮ ﯾ ﺒ ﺎ د ر ﻫ ﺮ ﻧ ﻮ ع ﮐ ﺎ ر ی ﮐ ﻪ ﻧ ﯿ ﺎ ز ﺑ ﻪ د ﯾ ﺘ ﺎ ﺑ ﯿ ﺲ د ا ر د ا ﯾ ﻦ ز ﺑ ﺎ ن ﺑ ﻬ ﺘ ﺮ ﯾ ﻦ
ﮔ ﺰﯾﻨﻪ اﺳ ﺖ .
-ﺗ ﻘ ﺎﺿ ﺎی ﺷ ﻐ ﻠ ﯽ :ر ﺗ ﺒ ﻪ د و م
-ﻣ ﯿ ﺎﻧﮕ ﯿ ﻦ ﺣ ﻘ ﻮ ق :رﺗﺒﻪ د ﻫ ﻢ
-ﺳ ﺨ ﺘ ﯽ ﯾ ﺎ د ﮔ ﯿ ﺮ ی :د ﺳ ﺘ ﻪ ی او ل ) آ ﺳ ﺎن (
-ﻣﻮﻗﻌﯿﺖ ﻫ ﺎی ﺷ ﻐﻠﯽ :
• Data Scientist
• Data Analyst
• Back-End Developer
• Full-Stack Developer
ﻣﻮارد اﺻﻠﯽ اﺳﺘﻔﺎدهWeb Applications, Mobile Apps, Game Development, Server-side : -
-ﺗ ﻘ ﺎﺿ ﺎی ﺷ ﻐ ﻠ ﯽ :ر ﺗ ﺒ ﻪ د ﻫ ﻢ
-ﻣ ﯿ ﺎﻧﮕ ﯿ ﻦ ﺣ ﻘ ﻮ ق :رﺗﺒﻪ د وم
-ﺳ ﺨ ﺘ ﯽ ﯾ ﺎ د ﮔ ﯿ ﺮ ی :د ﺳ ﺘ ﻪ ی ﺳ ﻮ م ) آ ﺳ ﺎن ر و ﺑﻪ ﻣ ﻌ ﻤ ﻮ ﻟﯽ (
-ﻣﻮﻗﻌﯿﺖ ﻫ ﺎی ﺷ ﻐﻠﯽ :
• Front-end
• Back-end
• Full-stack
Rust ۳ـ۶ـ٤ـ
ﻣﻮارد اﺻﻠﯽ اﺳﺘﻔﺎدهGame Development, Web development, VR, Operating Systems : -
١٨
-ﺗ ﻘ ﺎﺿ ﺎی ﺷ ﻐ ﻠ ﯽ :ر ﺗ ﺒ ﻪ ﻫ ﻔ ﺘ ﻢ
-ﻣ ﯿ ﺎﻧﮕ ﯿ ﻦ ﺣ ﻘ ﻮ ق :رﺗﺒﻪ ﻧﻬ ﻢ
-ﺳ ﺨ ﺘ ﯽ ﯾ ﺎ د ﮔ ﯿ ﺮ ی :د ﺳ ﺘ ﻪ ی ﺳ ﻮ م ) آ ﺳ ﺎن ر و ﺑﻪ ﻣ ﻌ ﻤ ﻮ ﻟﯽ (
-ﻣﻮﻗﻌﯿﺖ ﻫ ﺎی ﺷ ﻐﻠﯽ :
• Software Engineer
• Rust Engineer
• Solana Developer
• Back-end Developer
-ﺗ ﻘ ﺎﺿ ﺎی ﺷ ﻐ ﻠ ﯽ :ر ﺗ ﺒ ﻪ ﭘ ﻨ ﺠ ﻢ
-ﻣ ﯿ ﺎﻧﮕ ﯿ ﻦ ﺣ ﻘ ﻮ ق :رﺗﺒﻪ ﯾﺎزد ﻫ ﻢ
-ﺳ ﺨ ﺘ ﯽ ﯾ ﺎ د ﮔ ﯿ ﺮ ی :د ﺳ ﺘ ﻪ ی د و م ) آ ﺳ ﺎن (
-ﻣﻮﻗﻌﯿﺖ ﻫ ﺎی ﺷ ﻐﻠﯽ :
• Front-end
• Back-end
• Full-stack
C++ ۳ـ۶ـ٦ـ
ﻣﻮارد اﺻﻠﯽ اﺳﺘﻔﺎدهEmbedded System, Game developments, Robotic, Software : -
Development, System Programmingو ﺑﻪ ﺻﻮرت ﮐﻠﯽ ﮐﺎر ﻫﺎﯾﯽ ﮐﻪ ﻧﯿﺎز ﺑﻪ ﺳﺮﻋﺖ اﺟﺮاﯾﯽ
ﺑﺎﻻ ﯾﯽ د ار ﻧ ﺪ .
-ﺗ ﻘ ﺎﺿ ﺎی ﺷ ﻐ ﻠ ﯽ :ر ﺗ ﺒ ﻪ ﭼ ﻬ ﺎ ر م
-ﻣ ﯿ ﺎﻧﮕ ﯿ ﻦ ﺣ ﻘ ﻮ ق :رﺗﺒﻪ ﭘﻨﺠ ﻢ
-ﺳ ﺨ ﺘ ﯽ ﯾ ﺎ د ﮔ ﯿ ﺮ ی :د ﺳ ﺘ ﻪ ی ﭘ ﻨ ﺠ ﻢ ) ﻣ ﻌ ﻤ ﻮ ﻟﯽ ر و ﺑﻪ ﺳ ﺨ ﺖ (
١٩
-ﻣﻮﻗﻌﯿﺖ ﻫ ﺎی ﺷ ﻐﻠﯽ :
Java ۳ـ۶ـ٧ـ
ﻣﻮارد اﺻﻠﯽ اﺳﺘﻔﺎده :اﭘﻠﯿﮑﯿﺸﻦ ﻫﺎی ﲡﺎری ،وب ﺳﺎﯾﺖ Big Data ،و Web Apps -
-ﺗ ﻘ ﺎﺿ ﺎی ﺷ ﻐ ﻠ ﯽ :ر ﺗ ﺒ ﻪ ﺳ ﻮ م
-ﻣ ﯿ ﺎﻧﮕ ﯿ ﻦ ﺣ ﻘ ﻮ ق :رﺗﺒﻪ ﻫ ﺸ ﺘﻢ
-ﺳ ﺨ ﺘ ﯽ ﯾ ﺎ د ﮔ ﯿ ﺮ ی :د ﺳ ﺘ ﻪ ی ﭼ ﻬ ﺎ ر م ) ﻣ ﻌ ﻤ ﻮ ﻟﯽ (
-ﻣﻮﻗﻌﯿﺖ ﻫ ﺎی ﺷ ﻐﻠﯽ :
GoLang ۳ـ۶ـ٨ـ
ﻣﻮارد اﺻﻠﯽ اﺳﺘﻔﺎده :ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ Systemو ،Networkﻣﯿﮑﺮوﺳﺮوﯾﺲ ﻫﺎWeb Apps ، -
-ﺗ ﻘ ﺎﺿ ﺎی ﺷ ﻐ ﻠ ﯽ :ر ﺗ ﺒ ﻪ ﺷ ﺸ ﻢ
-ﻣ ﯿ ﺎﻧﮕ ﯿ ﻦ ﺣ ﻘ ﻮ ق :رﺗﺒﻪ ﻫ ﻔ ﺘﻢ
-ﺳ ﺨ ﺘ ﯽ ﯾ ﺎ د ﮔ ﯿ ﺮ ی :د ﺳ ﺘ ﻪ ی ﺳ ﻮ م ) آ ﺳ ﺎن ر و ﺑﻪ ﻣ ﻌ ﻤ ﻮ ﻟﯽ (
-ﻣﻮﻗﻌﯿﺖ ﻫ ﺎی ﺷ ﻐﻠﯽ :
٢٠
• Senior Software engineer
• Software engineer
• Back-end Dev
• Data Scientist
_٧_۳ﭼﺮا Pythonﻧﻪ؟
٢١
ﮐ ﺎ ر ا ﯾ ﯽ آ ن ﻏ ﺮ ق ﺷ ﻮ د ﯾ ﮑ ﯽ ا ز ﺑ ﺰ ر ﮔ ﺘ ﺮ ﯾ ﻦ ا ﺷ ﺘ ﺒ ﺎ ﻫ ﺎ ﺗ ﯽ ا ﺳ ﺖ ﮐ ﻪ د ر ﺑ ﺴ ﯿ ﺎ ر ی ﻣ ﺮ ا ﮐ ﺰ آﻣ ﻮ ز ﺷ ﯽ اﺗ ﻔ ﺎ ق ﻣ ﯽ
اﻓ ﺘ ﺪ .
v
٤ـﻣﺤﺒﻮب ﺗﺮﯾﻦ زﺑﺎن ﻫﺎی ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ در اﯾﺮان:
ﺷﮑﻞ ٤
٢٢
ﻫﻤﺎﻧﻄﻮر ﮐﻪ ﻣﺸﺎﻫﺪه ﻣﯽ ﺷﻮد زﺑﺎن ﻫﺎﯾﯽ ﻫﻤﭽﻮن Pythonو Javaﮐﻪ در ﻗﺴﻤﺖ ﺳﻮم اﯾﻦ ﻣﻘﺎﻟﻪ
ﻫ ﻢ آو رد ه ﺷ ﺪ ه ﺑﻮ د ،د ر اﯾﺮان ﻧ ﯿ ﺰ ﺟ ﺰو ز ﺑﺎن ﻫ ﺎی ﭘﺮ ﻃ ﺮﻓ ﺪ ار ﻣ ﺤ ﺴ ﻮ ب ﻣ ﯽ ﺷ ﻮ ﻧ ﺪ .و د ر اد اﻣ ﻪ ی ﻣ ﻘ ﺎﻟﻪ
ﻧ ﯿ ﺰ د ه ز ﺑﺎن را ﺑﻪ ﻋ ﻨ ﻮ ان د ه ز ﺑﺎن آﯾﻨ ﺪ ه د ار آو ر د ه اﺳ ﺖ :
» آ ﯾ ﻨ ﺪ ه ﺷ ﻐ ﻠ ﯽ ﮐ ﺪ ا م ﺑ ﺮ ﻧ ﺎ ﻣ ﻪ ﻧ ﻮ ﯾ ﺴ ﺎن ﺑ ﻬ ﺘ ﺮ ا ﺳ ﺖ ؟
ﲤ ﺎ ﻣ ﯽ ز ﺑ ﺎ ن ﻫ ﺎ ی ﺑ ﺮ ﻧ ﺎﻣ ﻪ ﻧ ﻮ ﯾ ﺴ ﯽ ﺟ ﺎ ﯾ ﮕ ﺎ ه ﺧ ﻮ د ر ا د ا ﺷ ﺘ ﻪ و ﮐ ﺎ ر ﺑ ﺮ د ی ﺑ ﻮ د ه و ﻃ ﺮ اﻓ ﺪ ا ر ان ﺧ ﺎص ﺧ ﻮ د ر ا
د ا ر ﻧ ﺪ ،ا ﻣ ﺎ آ ﯾ ﻨ ﺪ ه ﺷ ﻐ ﻠ ﯽ ﺑ ﺮ ﻧ ﺎﻣ ﻪ ﻧ ﻮ ﯾ ﺴ ﺎن ﺑ ﺮ ﺧ ﯽ ا ز ا ﯾ ﻦ ز ﺑ ﺎ ﻧ ﻬ ﺎ ﺑ ﻬ ﺘ ﺮ ﻣ ﯽ ﺑ ﺎ ﺷ ﺪ و د ا ﻧ ﺴ ﱳ ا ﯾ ﻦ ﻣ ﻮ ﺿ ﻮ ع
ﻣﯽ ﺗﻮاﻧﺪ ﺑﺮای اﻓﺮاد ﺗﺎزه ﮐﺎری ﮐﻪ ﻗﺼﺪ دارﻧﺪ وارد ﺣﯿﻄﻪ ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ ﺷﻮﻧﺪ ﮐﻤﮏ ﮐﻨﻨﺪه ﺧﻮاﻫﺪ
ﺑ ﻮ د ﺗ ﺎ د ﻗ ﯿ ﻖ ﺗ ﺮ ﺑ ﻪ ا ﯾ ﻦ ﺣ ﻮ ز ه ﺑ ﯿ ﺎ ﻧ ﺪ ﯾﺸ ﻨ ﺪ و د ر ﺳ ﺖ ﺗ ﺮ ا ﻧ ﺘ ﺨ ﺎب ﮐ ﻨ ﻨ ﺪ .
د ه ز ﺑ ﺎ ن ﺑ ﺮ ﻧ ﺎ ﻣ ﻪ ﻧ ﻮ ﯾ ﺴ ﯽ ﮐ ﻪ آ ﯾ ﻨ ﺪ ه ﺷ ﻐ ﻠ ﯽ ﺑ ﻬ ﺘ ﺮ ی ر ا ﺑ ﺮ ا ی ﺑ ﺮ ﻧ ﺎﻣ ﻪ ﻧ ﻮ ﯾ ﺲ ر ﻗ ﻢ ﻣ ﯽ ر ﻧ ﺪ ﺷ ﺎ ﻣ ﻞ :
ﭘﺎﯾ ﺘ ﻮ ن -
Java -
-ﺟ ﺎوا اﺳ ﮑ ﺮ ﯾ ﭙ ﺖ
C/C++ -
-ﺳ ﯽ ﺷ ﺎرپ
R -
-ﺳ ﻮ ﯾﻔ ﺖ
PHP -
زﺑﺎن ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ Go -
MATLAB -
ﻣ ﯽ ﺑﺎﺷ ﻨ ﺪ « .
٢٣
٥ـﻧﺘﯿﺠﻪ ﮔﯿﺮی
٢٤
Refrences ﻣ ﺮاﺟ ﻊ
https://www.computer.org/publications/tech-news/insider-membership-news/timeline-of-programming- i
languages
https://www.bell-labs.com/usr/dmr/www/chist.html ii
"ISO/IEC ٩٨٩٩:١٩٩٠ - Programming Languages -- C" iii
https://www.coursereport.com/blog/a-guide-to-low-level-programming-for-beginners iv
computerjobs.ir v
٢٥