Uy / Sharhlar / Kompyuter dasturlash tili. Arkada o'yinlarini dasturlash va informatika fanini o'rgatish. Yuqori darajadagi dasturlash tillari: ro'yxat

Kompyuter dasturlash tili. Arkada o'yinlarini dasturlash va informatika fanini o'rgatish. Yuqori darajadagi dasturlash tillari: ro'yxat

1. Kirish

Kompyuterlarning inson faoliyatining barcha sohalariga joriy etilishi turli profilli mutaxassislardan kompyuter texnologiyalaridan foydalanish ko'nikmalarini egallashni talab qiladi. Universitet talabalarining tayyorgarlik darajasi oshib bormoqda, ular birinchi kursdan kompyuter va oddiy raqamli usullardan foydalanish bilan tanishadilar, kurs ishlari va diplom loyihalarini bajarishda kompyuter texnologiyalaridan foydalanish normaga aylanib borayotganini hisobga olsak. universitetlarning katta qismi.

Kompyuter texnologiyalari endilikda nafaqat muhandislik hisoblari va iqtisod fanlarida, balki tibbiyot, tilshunoslik va psixologiya kabi anʼanaviy matematik boʻlmagan mutaxassisliklarda ham qoʻllaniladi. Shu munosabat bilan shuni aytish mumkinki, kompyuterlardan foydalanish keng tarqaldi. Mutaxassislarning katta toifasi - o'z sohalarida kompyuterlardan foydalanish bo'yicha bilimga muhtoj bo'lgan kompyuter foydalanuvchilari - mavjud dasturiy ta'minot bilan ishlash, shuningdek, muayyan muammoni hal qilish uchun moslashtirilgan o'z dasturiy ta'minotini yaratish ko'nikmalari paydo bo'ldi. Va bu erda dasturlash tillarining tavsiflari foydalanuvchiga yordam beradi.

2. Dasturlash tili nima

Dasturlash tili- algoritmlarni ijrochi uchun qulay shaklda tasvirlash uchun mo'ljallangan rasmiy belgilar tizimi (masalan, kompyuter). Dasturlash tili kompyuter dasturini tuzishda foydalaniladigan leksik, sintaktik va semantik qoidalar majmuini belgilaydi. Bu dasturchiga kompyuterning qanday hodisalarga ta'sir qilishini, ma'lumotlar qanday saqlanishi va uzatilishini va turli vaziyatlarda ular bo'yicha qanday harakatlarni bajarish kerakligini aniq aniqlash imkonini beradi.

Birinchi dasturlashtiriladigan mashinalar yaratilganidan beri insoniyat allaqachon ikki yarim mingdan ortiq dasturlash tillarini o'ylab topdi. Har yili ularning soni yangilari bilan to'ldiriladi. Ba'zi tillar faqat oz sonli o'zlarining ishlab chiquvchilari tomonidan qo'llaniladi, boshqalari esa millionlab odamlarga ma'lum. Professional dasturchilar ba'zan o'z ishlarida o'ndan ortiq turli xil dasturlash tillaridan foydalanadilar.

Til ijodkorlari tushunchani turlicha talqin qilishadi dasturlash tili. Ko'pgina ishlab chiquvchilar tomonidan tan olingan umumiy fikrlar orasida quyidagilar mavjud:

· Funktsiya: yozish uchun mo'ljallangan dasturlash tili kompyuter dasturlari, ular ma'lum bir hisoblash jarayonini bajarish va boshqaruvni tashkil qilish uchun ko'rsatmalarni kompyuterga uzatish uchun ishlatiladi alohida qurilmalar.

· Vazifa: Dasturlash tilining tabiiy tillardan farqi shundaki, u buyruqlar va ma'lumotlarni odamdan kompyuterga o'tkazish uchun mo'ljallangan, tabiiy tillar esa faqat odamlarning bir-biri bilan muloqot qilishlari uchun ishlatiladi. Aslida, biz "dasturlash tillari" ta'rifini umumlashtirishimiz mumkin - bu buyruqlar, buyruqlar, harakatlar uchun aniq ko'rsatmalarni uzatish usuli; Holbuki, inson tillari ham ma'lumot almashish uchun xizmat qiladi.

· Amalga oshirish: Dasturlash tili ma'lumotlar tuzilmalarini aniqlash va manipulyatsiya qilish va hisoblash jarayonini boshqarish uchun maxsus konstruktsiyalardan foydalanishi mumkin.

3. Kompyuterda muammoni hal qilish bosqichlari.

VT o'zining eng samarali qo'llanilishini ilmiy tadqiqot va muhandislik hisoblarida ko'p mehnat talab qiladigan hisob-kitoblarni amalga oshirishda topdi. Kompyuterda muammoni hal qilishda asosiy rol baribir odamga tegishli. Mashina faqat ishlab chiqilgan dasturga muvofiq o'z vazifalarini bajaradi. Agar muammoni hal qilish jarayoni quyida sanab o'tilgan bosqichlarga bo'lingan bo'lsa, inson va mashinaning rolini tushunish oson.

Muammoning bayonoti. Bu bosqich muammoni mazmunli (jismoniy) shakllantirish va yakuniy yechimlarni aniqlashdan iborat.

Qurilish matematik model. Model jismoniy jarayonning asosiy qonuniyatlarini to'g'ri (adekvat) tasvirlashi kerak. Mavjud modellardan matematik modelni qurish yoki tanlash muammoni chuqur tushunishni va matematikaning tegishli bo'limlarini bilishni talab qiladi.

Jahon chempionatining rivojlanishi. Kompyuter faqat eng oddiy amallarni bajarishi mumkinligi sababli, u hatto matematik formulada ham masalaning formulasini "tushunmaydi". Uni hal qilish uchun muammoni qandaydir hisoblash algoritmiga qisqartirish imkonini beradigan raqamli usulni topish kerak. Har bir aniq holatda, allaqachon ishlab chiqilgan standartlardan mos echimni tanlash kerak.

Algoritm ishlab chiqish. Muammoni yechish jarayoni (hisoblash jarayoni) yakuniy natijaga olib keladigan elementar arifmetik va mantiqiy amallar ketma-ketligi sifatida yoziladi va masalani yechish algoritmi deb ataladi.

Dasturlash. Masalani yechish algoritmi mashinaga tushunarli tilda aniq belgilangan amallar ketma-ketligi - dastur shaklida yoziladi. Jarayon odatda qandaydir oraliq til yordamida amalga oshiriladi va uning tarjimasi mashinaning o'zi va uning tizimi tomonidan amalga oshiriladi.

Dasturni sozlash. Kompilyatsiya qilingan dasturda turli xil xatolar, noaniqliklar va ish yuritish xatolari mavjud. Nosozliklarni tuzatish dasturni kuzatish, xatolarni diagnostika qilish (izlash va mazmunini aniqlash) va ularni bartaraf etishni o'z ichiga oladi. Natijalarning ishonchliligiga ishonch hosil qilish uchun dastur nazorat (test) masalalarini yechish orqali sinovdan o'tkaziladi.

Hisob-kitoblarni amalga oshirish. Ushbu bosqichda hisob-kitoblar uchun dastlabki ma'lumotlar tayyorlanadi va hisob-kitoblar yaxshi tashkil etilgan dastur yordamida amalga oshiriladi. Shu bilan birga, natijalarni qayta ishlashda qo'l mehnatini kamaytirish uchun natijalarni matn va grafik ma'lumotlar ko'rinishida, odamlarga tushunarli shaklda berishning qulay shakllaridan keng foydalanish mumkin.

Natijalarni tahlil qilish. Hisoblash natijalari sinchkovlik bilan tahlil qilinadi, ilmiy-texnik hujjatlar tuziladi.

4. Dasturlash tillari nima uchun?

Kompyuterning ishlash jarayoni dasturni, ya'ni o'ta aniq buyruqlar to'plamini juda aniq tartibda bajarishdan iborat. Yo'riqnomaning nol va birlardan iborat mashina shakli markaziy protsessor qanday amalni bajarishi kerakligini aniq ko'rsatadi. Bu shuni anglatadiki, kompyuterga bajarishi kerak bo'lgan harakatlar ketma-ketligini berish uchun tegishli buyruqlar uchun ikkilik kodlar ketma-ketligini ko'rsatish kerak. Mashina kodli dasturlar minglab ko'rsatmalardan iborat. Bunday dasturlarni yozish qiyin va zerikarli ishdir. Dasturchi har bir dasturning ikkilik kodining bir va nol kombinatsiyasini, shuningdek, uni bajarishda foydalaniladigan ma'lumotlar manzillarining ikkilik kodlarini eslab qolishi kerak. Tabiiy inson tiliga yaqinroq bo'lgan ba'zi bir tilda dastur yozish va bu dasturni mashina kodlariga o'tkazish ishini kompyuterga topshirish ancha oson. Shunday qilib, dasturlarni yozish uchun mo'ljallangan tillar paydo bo'ldi - dasturlash tillari.

Turli xil dasturlash tillari mavjud. Aslida, ko'p muammolarni hal qilish uchun ularning har qandayidan foydalanishingiz mumkin. Tajribali dasturchilar har bir aniq muammoni hal qilish uchun qaysi tildan foydalanish yaxshiroq ekanligini bilishadi, chunki har bir tilning o'ziga xos imkoniyatlari, muayyan turdagi muammolarga yo'naltirilganligi va muammolarni hal qilishda ishlatiladigan tushunchalar va ob'ektlarni tavsiflashning o'ziga xos usuli mavjud.

Barcha dasturlash tillarini ikki guruhga bo'lish mumkin: past darajadagi tillar Va yuqori darajadagi tillar.

Past darajadagi tillarga assembly tillari kiradi (ingliz tilidan toassemble - yig'ish, yig'ish). Assambleya tili tushunarli va tez eslab qoladigan ramziy buyruqlardan foydalanadi. Buyruqlarning ikkilik kodlari ketma-ketligi o'rniga ularning ramziy belgilari yoziladi va buyruqni bajarishda foydalaniladigan ma'lumotlarning ikkilik manzillari o'rniga dasturchi tanlagan ushbu ma'lumotlarning ramziy nomlari yoziladi. Assembly tili ba'zan mnemonik kod yoki avtokod deb ataladi.

Ko'pgina dasturchilar dasturlarni yozish uchun yuqori darajadagi tillardan foydalanadilar. Oddiy inson tili kabi bunday til ham o‘z alifbosiga – tilda qo‘llaniladigan belgilar majmuasiga ega. Bu belgilar tilning kalit so'zlari deb ataladigan so'zlarni yaratish uchun ishlatiladi. Kalit so'zlarning har biri o'z vazifasini bajaradi, xuddi bizning tanish tilimizdagi kabi, alifbo harflaridan tuzilgan so'zlar bu tildan, funksiyalarni bajara oladi turli qismlar nutq. Tayanch so‘zlar tilning ma’lum sintaktik qoidalariga ko‘ra bir-biriga bog‘lanib, gaplar hosil qiladi. Har bir jumla kompyuter bajarishi kerak bo'lgan muayyan harakatlar ketma-ketligini belgilaydi.

Yuqori darajadagi til inson va kompyuter o'rtasida vositachi bo'lib, odamga kompyuter bilan odamlarga tanish bo'lgan tarzda muloqot qilish imkonini beradi. Ko'pincha bunday til muammoni hal qilishning to'g'ri usulini tanlashga yordam beradi.

Dasturni yuqori darajadagi tilda yozishdan oldin dasturchi yozishi kerak algoritm muammoni hal qilish, ya'ni bu muammoni hal qilish uchun bajarilishi kerak bo'lgan bosqichma-bosqich harakatlar rejasi. Shuning uchun, algoritmni oldindan tuzishni talab qiladigan tillar ko'pincha deyiladi algoritmik tillar.

Agar siz kompyuter dasturlashni o'rganmoqchi bo'lsangiz va izlayotgan bo'lsangiz tezkor qo'llanma, ushbu san'atni qanday o'rganishni tushuntirib, ushbu maqola faqat siz uchun.

Bu erda men sizga kompyuter dasturlarini mustaqil ravishda yozishni o'rganish bo'yicha maslahatlar beraman.

Kompyuter dasturlash - bu ishlash uchun eng qiziqarli va foydali sohalardan biridir. Butun dunyo bo'ylab har kuni millionlab kod satrlari yoziladi, buning natijasida yangi ilovalar va dasturlar paydo bo'ladi. Agar siz analitik fikrlashni va har xil turdagi jumboq va muammolarni hal qilishni yoqtirsangiz, dasturlash sizga yoqadi. Dasturlashni o'rganishning kaliti dasturlash tillarini o'zlashtirish va ulardan murakkab muammolarni hal qilishda qanday foydalanishni o'rganishdir.

Kodlashni o'rganish, kollejga borish va informatika bo'yicha diplom olishning standart usuli. Biroq, institutlarda hech qachon o'qimagan ko'plab odamlar bor, ammo shunga qaramay, ularda analitik fikrlash qobiliyati va iste'dodi mavjud. Men ushbu maqolani dasturchi bo'lish uchun o'qimagan, lekin dasturlashning go'zalligini allaqachon kashf etgan va shu fanni o'zlashtirmoqchi bo'lganlar uchun yozdim. Internet ushbu jarayonda sizga yo'l ko'rsatadigan kodlash madaniyatini yaratdi. O'z-o'zini tarbiyalash va qat'iyat bilan siz o'zingizning dasturiy ta'minotingizni dasturlashni va yozishni o'rganishingiz mumkin. Bu nafaqat fikringizni mashq qilish usuli, balki o'zingizning dasturiy ta'minotingizni sotish orqali pul ishlashning ajoyib usuli yoki agar siz haqiqatan ham yaxshi bo'lsangiz, ixtisoslashgan firmada ish topishingiz mumkin.

Dasturlashni qanday o'rganish kerak?

Kompyuter fanlari o'zlashtirilishi kerak bo'lgan asosiy soha bo'lib, u sizga dasturlash bo'yicha minimal bilim va tajribani beradi. Qanday qilib dasturchi bo'lish bo'yicha ba'zi tavsiyalar.

Dasturlash tillarini o'rganing

Birinchidan, sizga dasturlarni o'qish va bajarish imkonini beruvchi ish stoli yoki noutbuk kerak. Dasturlash - bu turli xil hisoblash vazifalarini bajarish uchun kompyuterning apparat konfiguratsiyasi bilan bog'lanish qobiliyati. Kompyuter faqat 1 va 0 larda yozilgan mashina tilini tushunadi, biz odamlar kompyuterlar bilan muloqot qilishimiz uchun kompilyatorlar tomonidan kodlari mashina o'qiy oladigan shaklga aylantirilishi mumkin bo'lgan dasturlash tillari yaratilgan. Bir qator dasturlash tillari mavjud bo'lib, ularning ilovalari farqlanadi. Siz C, C++, Java, Perl, Lisp va Python tillarini o'z ichiga olgan kamida o'nlab asosiy dasturlash tillarini o'rganishingiz kerak bo'ladi.

Dasturlash asoslarini o'rganish uchun C yoki Python tillarini boshidan o'rganishni boshlang. Asoslarni olish uchun onlayn manbalar va dasturlash kitoblaridan foydalaning. Kodlash dasturlarini o'rnating va ularni kompyuteringizda ishga tushiring. O'z kodingizni yozish uchun kitoblar va elektron darsliklarda keltirilgan misollar va muammolardan ishlang. "C" ni o'rganishni boshlash uchun eng yaxshi kitoblardan biri bu "". Yana bir yaxshi kitob "".

"C" ko'nikmasiga ega bo'ling va keyin C++ yordamida amalga oshirilgan ob'ektga yo'naltirilgan dasturlashga o'ting. Keyin Java, Perl va veb-ishlab chiqish uchun keng qo'llaniladigan ko'nikmalarga ega bo'ling. Agar siz veb-ishlab chiqishda ishlashni rejalashtirmoqchi bo'lsangiz, HTML-ni o'rganing. Ko'rib turganingizdek, o'rganish uchun juda ko'p materiallar mavjud va aksariyat tillarni bilish uchun kamida 5-6 yil kerak bo'ladi.

Kod yozishni boshlang

Bu eng yaxshi yo'l o'rganganlaringizni amalda bajaring. Kodingizni yozing, xato qiling, o'rganing, kodni disk raskadrovka qiling. Onlayn kodlash musobaqalarida ishtirok eting va dasturlash qobiliyatingizni sinab ko'ring. Uni olish dasturiy ta'minot ochiq manba, kodni o'qing va qanday yaxshi dasturlar yozilganligini tushuning. Usta dasturchilar kodni tejash va mantiqiy ravshanlikka qanday erishishlarini bilib oling. Kompyuteringiz va asosiy uskunangiz bilan tanishing. Kompyuterning asosiy darajalarda xotira va protsessorlar bilan qanday ishlashini bilib oling.

Linux yoki Unix bilan ishlashni o'rganing

Linux va Unix operatsion tizimlarini o'zlashtirmaguningizcha o'zingizni dasturchi deb atay olmaysiz. Ubuntu distributivini kompyuteringizga o'rnating va u bilan tanishing. Bu sizga kompilyatorlar bilan birga barcha kerakli dasturlash vositalarini beradi.

Kompilyator - kompilyatsiyani amalga oshiradigan dastur (boshlang'ich koddan tuzilgan dasturni tarjima qilish).

Talaba - Mutaxassis - Dasturchi

Sizni usta dasturchi bo'lish yo'liga boshlaydigan yaxshi murabbiyni toping. Maslahatlarni tinglang va undan o'rganing.

Kod yozish qoidalarini o'qing va yaxshilashda davom eting

Shaxsiy kompyuter kodingizni yozishda davom eting va uni qanday yaxshilash haqida o'ylang. Ochiq manba harakatiga qo'shiling va anatomiyani tahlil qiling yaxshi dasturlar. O'z veb-saytingizni yarating va bilimingizni doimo chuqurlashtiring. Har doim yaxshilanish uchun joy borligini unutmang!

Dasturlash oson ish emas degan xayol bo'lmasin. O'zingizni to'liq dasturchi deb atashingiz mumkin bo'lgan nuqtaga erishish uchun kamida o'n-o'n besh yil kerak bo'ladi. Sizning dasturlashdagi muvaffaqiyatingiz o'rganishga intilayotgan fidoyilik va qat'iyat bilan to'g'ridan-to'g'ri proportsionaldir.

Ushbu maqolaning maqsadi sizni to'g'ri yo'nalishga undashdir. Umid qilamanki, bu maqsad ham ma'lum darajada amalga oshdi. Fikringizni bo'shating va dasturlash dunyosiga zavq bilan kiring!

Dasturlash - bu kompyuter dasturlarini yaratishga imkon beradigan butun fan. U bitta dasturlash tilini tashkil etuvchi juda ko'p turli xil operatsiyalar va algoritmlarni o'z ichiga oladi. Xo'sh, bu nima va turli xil dasturlash tillari nima? Maqolada javoblar berilgan, shuningdek, dasturlash tillari haqida umumiy ma'lumot berilgan.

Dastur tillarining paydo bo'lishi va o'zgarishi tarixini rivojlanish tarixi bilan bir qatorda o'rganish kerak. kompyuter texnologiyasi, chunki bu tushunchalar bir-biri bilan bevosita bog'liqdir. Dasturlash tillarisiz kompyuterning ishlashi uchun biron bir dastur yaratish mumkin emas edi, ya'ni kompyuterlarni yaratish ma'nosiz mashg'ulotga aylanadi.

Birinchi mashina tilini 1941 yilda Analitik dvigatel ixtirochisi Konrad Zuse ixtiro qilgan. Biroz vaqt o'tgach, 1943 yilda Govard Aiken mashina kodi darajasida ko'rsatmalarni o'qiy oladigan Mark 1 mashinasini yaratdi.

1950-yillarda dasturiy ta'minotni ishlab chiqishga talab kuchli edi va mashina tili katta hajmdagi kodlarni ishlay olmadi, shuning uchun u yaratildi. yangi yo'l kompyuterlar bilan aloqa. "Assembler" - bu mashina ko'rsatmalarini almashtiradigan birinchi mnemonik til. Yillar o'tib, dasturlash tillari ro'yxati faqat o'sib bormoqda, chunki kompyuter texnologiyalari ko'lami kengayadi.

Dasturlash tillarining tasnifi

Yoniq hozirgi paytda 300 dan ortiq dasturlash tillari mavjud. Ularning har biri o'ziga xos xususiyatlarga ega va bitta aniq vazifaga mos keladi. Barcha dasturlash tillarini bir necha guruhlarga bo'lish mumkin:

  • Aspektga yo'naltirilgan (asosiy g'oya - dasturiy modullarning samaradorligini oshirish uchun funksionallikni ajratish).
  • Strukturaviy (alohida dastur bloklarining ierarxik tuzilishini yaratish g'oyasiga asoslanadi).
  • Mantiqiy (matematik mantiq apparati nazariyasiga va rezolyutsiya qoidalariga asoslangan).
  • Ob'ektga yo'naltirilgan (bunday dasturlashda endi algoritmlar emas, balki ma'lum bir sinfga tegishli ob'ektlar qo'llaniladi).
  • Ko'p paradigma (bir nechta paradigmalarni birlashtiradi va ma'lum bir holatda qaysi tildan foydalanishni dasturchi o'zi hal qiladi).
  • Funktsional (asosiy elementlar - bu manba ma'lumotlarini hisoblash natijalariga qarab o'z qiymatini o'zgartiradigan funktsiyalar).

Yangi boshlanuvchilar uchun dasturlash

Ko'pchilik dasturlash nima ekanligini qiziqtiradi. Aslida, bu kompyuter bilan aloqa qilishning bir usuli. Dasturlash tillari tufayli, biz oldin qo'yish mumkin turli qurilmalar muayyan vazifalar, yaratish maxsus ilovalar yoki dasturlar. Ushbu fanni dastlabki bosqichda o'rganayotganda, eng muhimi, mos (siz uchun qiziqarli) dasturlash tillarini tanlashdir. Yangi boshlanuvchilar uchun ro'yxat quyida keltirilgan:

  • Basic 1964 yilda ixtiro qilingan, yuqori darajadagi tillar oilasiga kiradi va amaliy dasturlarni yozish uchun ishlatiladi.
  • Python-ni oddiy, o'qilishi mumkin bo'lgan sintaksisi tufayli o'rganish juda oson, ammo afzalligi shundaki, undan oddiy ish stoli dasturlari va veb-ilovalarni yaratish uchun foydalanish mumkin.
  • Paskal - eng qadimgi tillardan biri (1969) talabalarni o'qitish uchun yaratilgan. Uning zamonaviy modifikatsiyasi qat'iy tiplashtirilgan va tuzilgan, ammo Paskal butunlay mantiqiy til bo'lib, intuitiv darajada tushunarli.

Bu emas to'liq ro'yxat yangi boshlanuvchilar uchun dasturlash tillari. Ko'p sonli sintaksislar mavjud bo'lib, ular tushunish oson va kelgusi yillarda talabga ega bo'ladi. Har kim o'zi uchun qiziqarli bo'lgan yo'nalishni mustaqil tanlash huquqiga ega.

Yangi boshlanuvchilar maxsus vositalar tufayli dasturlash va uning asoslarini o'rganishni tezlashtirish imkoniyatiga ega. Asosiy yordamchi - bu Visual Basic dasturlari va ilovalari uchun integratsiyalashgan ishlab chiqish muhiti ("Visual Basic" ham 1970-yillardagi Basic tilining uslubini meros qilib olgan dasturlash tilidir).

Dasturlash tillarining darajalari

Kompyuterlarda muammolarni hal qilish uchun dasturlar va algoritmlarni yaratish, tavsiflash uchun mo'ljallangan barcha rasmiylashtirilgan tillar ikkita asosiy toifaga bo'linadi: past darajadagi dasturlash tillari (ro'yxat quyida keltirilgan) va yuqori darajali. Keling, ularning har biri haqida alohida gapiraylik.

Past darajadagi tillar protsessorlar uchun mashina ko'rsatmalarini yaratish uchun mo'ljallangan. Ularning asosiy afzalligi shundaki, ular mnemonik yozuvlardan foydalanadilar, ya'ni nol va birlar ketma-ketligi o'rniga (ikkilik sanoq tizimidan) kompyuter ingliz tilidan ma'noli qisqartirilgan so'zni eslab qoladi. Eng mashhur past darajadagi tillar "Assembler" (bu tilning bir nechta kichik turlari mavjud, ularning har biri umumiy jihatlarga ega, ammo faqat qo'shimcha direktivalar va makrolar to'plamida farqlanadi), CIL (.Net-da mavjud) platformasi) va JAVA Bytecode.

Yuqori darajadagi dasturlash tillari: ro'yxat

Yuqori darajadagi tillar ilovalarning qulayligi va samaradorligini oshirish uchun yaratilgan bo'lib, ular past darajadagi tillarga mutlaqo ziddir. Ularning o'ziga xos xususiyati - dasturlarning tuzilmalari va algoritmlarini qisqa va ixcham tavsiflovchi semantik konstruktsiyalarning mavjudligi. Past darajadagi tillarda ularning mashina kodidagi tavsifi juda uzun va tushunarsiz bo'ladi. Yuqori darajadagi tillar platformadan mustaqil. Buning o'rniga kompilyatorlar translyator funktsiyasini bajaradilar: ular dastur matnini elementar mashina ko'rsatmalariga tarjima qiladilar.

Dasturlash tillarining quyidagi ro'yxati: C ("C"), C# ("C-sharp"), "Fortran", "Paskal", Java ("Java") - eng ko'p ishlatiladigan yuqori darajadagi sintaksislar qatoriga kiradi. U quyidagi xususiyatlarga ega: bu tillar murakkab tuzilmalar bilan ishlaydi, qatorli maʼlumotlar turlarini va fayl kiritish-chiqarish maʼlumotlari bilan operatsiyalarni qoʻllab-quvvatlaydi, shuningdek, oʻqilishi va tushunarli sintaksisi tufayli ular bilan ishlash ancha oson boʻlgan afzalliklarga ega.

Eng ko'p ishlatiladigan dasturlash tillari

Asosan, dasturni istalgan tilda yozishingiz mumkin. Savol tug'iladi: u samarali va muvaffaqiyatsiz ishlaydimi? Shuning uchun siz turli xil muammolarni hal qilish uchun eng mos dasturlash tillarini tanlashingiz kerak. Mashhurlik bo'yicha ro'yxatni quyidagicha ta'riflash mumkin:

  • OOP tillari: Java, C++, Python, PHP, VisualBasic va JavaScript;
  • tizimli tillar guruhi: Basic, Fortran va Paskal;
  • ko'p paradigma: C#, Delphi, Curry va Scala.

Dasturlar va ilovalar doirasi

Muayyan dastur yoziladigan tilni tanlash ko'p jihatdan uni qo'llash sohasiga bog'liq. Masalan, kompyuter uskunasining o'zi bilan ishlash (drayverlarni yozish va qo'llab-quvvatlovchi dasturlar) uchun eng yaxshi variant asosiy dasturlash tillariga kiritilgan C ("C") yoki C++ bo'ladi (yuqoridagi ro'yxatga qarang). . Va rivojlanish uchun mobil ilovalar, shu jumladan o'yinlar uchun siz Java yoki C# ni tanlashingiz kerak (“C-sharp”).

Qaysi yo'nalishda ishlashni hali hal qilmagan bo'lsangiz, C yoki C++ tillarida o'qishni boshlashingizni tavsiya qilamiz. Ular juda aniq sintaksisga va sinflar va funktsiyalarga aniq tizimli bo'linishga ega. Bundan tashqari, C yoki C++ tilini bilgan holda, istalgan boshqa dasturlash tilini osongina o'rganishingiz mumkin.

2-bob: Kompyuter tili nima?

Video: Kompyuter tili nima?

Kompyuter tilining mohiyati nimada? Nega kompyuterlarga kerak? Nima uchun dunyoda kompyuter tillari juda ko'p?

Dvigatel qanday ishlashini tushunish uchun mashina haydash shart emasligi kabi, bu savollarga javobni tushunish uchun ham dasturlash shart emas. Ammo mavzu bo'yicha bilimingizni oshirish uchun kompyuter qanday ishlashini tushunishingiz kerak. Bu erda qisqacha tushuntirish berilgan.

2.1 Dasturlashning qisqacha tarixi

Kompyuterlar raqamli elektronikadir. Ularning ma'lumotlarni idrok etishi simlardagi kuchlanishning mavjudligi yoki yo'qligi. Kuchlanishning yo'qligi kompyuterga nolga o'xshaydi, kuchlanishning mavjudligi bittaga o'xshaydi. Aslida, kompyuterlar boshqa raqamlarni bilishmaydi, shuning uchun u raqamlarni yaratish uchun 0 va 1 ni birlashtirishga to'g'ri keladi.

Ilgari kompyuter xotirasiga birlar va nollarni yuklash uchun maxsus kalitlardan foydalanilgan. Wikimedia Commons kompaniyasiga tegishli bu rasmda Altair 8800 ko‘rsatilgan. Dasturni yuklash uchun old paneldagi kalitlardan foydalanilgan. Chiroqlar natijani ko'rsatdi. Monitor yo'q edi.

Har bir kalit to'plami raqamni ifodalaydi. Har bir raqam ma'lumot yoki kompyuter u bilan bajarishi kerak bo'lgan ko'rsatmani ifodalaydi. Raqamlarni ifodalash uchun faqat nol va birlardan foydalanadigan bu sistema ikkilik sanoq sistemasi deyiladi. Ushbu turdagi kompyuter tili 1GL yoki birinchi avlod dasturlash tili deb ataladi.

Ikkilik tizimdagi raqamlar ko'pincha to'rtta raqamning kombinatsiyasida ifodalanadi. Masalan:

1010 0010 0011

Kirishni almashtirishning yaxshilanishi o'n oltilik kodlarning joriy etilishi edi. Kundalik hayotda ishlatiladigan o'nlik sonlar 0-9 raqamlaridan iborat. O'n oltilik sanoq tizimi 0 dan 9 gacha bo'lgan raqamlardan, shuningdek, 0 dan 15 gacha bo'lgan to'rtta kalitlar to'plamini ifodalash uchun A dan F gacha bo'lgan belgilardan iborat.

IkkilikO'nlikO'n oltilik
0 0 0
1 1 1
10 2 2
11 3 3
100 4 4
101 5 5
110 6 6
111 7 7
1000 8 8
1001 9 9
1010 10 A
1011 11 B
1100 12 C
1101 13 D
1110 14 E
1111 15 F
1 0000 16 10
1 0001 17 11

Quyidagi videoda raqam tizimining qanday ishlashi haqida bir oz ko'proq ma'lumot berilgan: Video: o'nlik, ikkilik va o'n oltilik tizimlar

Dasturga kirishni osonlashtirish uchun keyingi kompyuterlar dasturlarni assembler tilidan foydalanib kiritishga ruxsat berdi. Har bir buyruq mnemonikadan foydalangan va kompilyator deb nomlangan dastur mnemonikani buyruqlarni ifodalovchi raqamlarga aylantirgan. Ushbu turdagi til 2GL yoki ikkinchi avlod tili deb ataladi.

Quyida Wikimedia Commons ruxsati bilan assembler tilidagi dasturning bir qismi keltirilgan.
2.2-rasm: Assembly tili misoli

Garchi bu yaxshilanish bo'lsa-da, dasturlashni osonlashtirish uchun hali ham etarli emas edi. Tillarning keyingi avlodi yuqori darajadagi abstraksiyalarni taqdim etdi. Birinchi uchinchi avlod tillari: (COBOL, FORTRAN va LISP) tushunish va dasturlash ancha oson edi.

Ikkinchi va uchinchi avlod tillari deb nomlangan dasturdan foydalanilgan kompilyator. Kompilyator foydalanuvchi tomonidan kiritilgan dasturni oladi (deb nomlangan manba kodi) va uni mashina kodiga aylantiradi. Dasturchi mashina kodini ishga tushiradi. Asl manba kodi ishlamaydi.

Agar dastur turli manbalardan manba kodini ishlatsa, ular nomli dastur yordamida bir-biriga bog'lanishi mumkin bog'lovchi (bog'lovchi, havola muharriri, bog'lovchi). Bog'lovchi dasturning yakuniy versiyasini yaratish uchun kompilyator tomonidan yaratilgan mashina kodi bilan ishlaydi. Ushbu oxirgi versiya foydalanuvchi ishlaydi. Buning uchun hech qanday manba kodi kerak emas.

Mashina tilining kamchiligi shundaki, dastur faqat ma'lum turdagi kompyuterlarda ishlaydi. Windows kompyuterlari uchun tuzilgan dasturlar Apple Macintosh kompyuterlarida ishlamaydi va aksincha.

Ajam dasturchilar uchun kompilyatsiya va ulanishning butun jarayoni qiyin bo'lishi mumkinligi sababli, ba'zi tillar ishlatila boshlandi. tarjimonlar. Ushbu dasturlar dastlabki kodni ko'rib chiqadi va uni tezda mashina kodiga aylantiradi. Shuningdek, u bir xil dasturlarni Windows, Mac va Unix kompyuterlarida ishlashga imkon beradi, agar ushbu platformalarning har biri tarjimonga kirish imkoniga ega bo'lsa.

Tarjimondan foydalanishning kamchiligi shundaki, u asl mashina tilidan sekinroq ishlaydi.

2.4-rasm: Tarjimon

  1. Python tarjima qilingan tilga misoldir. Pythonda yozish C ga qaraganda osonroq, lekin Python sekinroq va muvaffaqiyatli ishlashi uchun tarjimon kerak.
  2. Ikkilik sistemadagi songa misol keltiring. ("1" soni ikkilik, o'nlik yoki o'n oltilik bo'lishi mumkin bo'lsa-da, sanoq tizimlari o'rtasidagi farqni ko'rsatadigan misol keltirishga harakat qiling.)
  3. O‘nlik sanoq sistemasidagi songa misol keltiring.
  4. O‘n oltilik tizimidagi songa misol keltiring.
  5. 1, 10, 100, 1000 va 10000 sonlarini ikkilik sanoqdan oʻnlik sanoqqa oʻtkazing.
  6. Kompilyator nima?
  7. Manba kodi nima?
  8. Mashina tili nima?
  9. Birinchi avlod dasturlash tili nima?
  10. Ikkinchi avlod dasturlash tili nima?
  11. Uchinchi avlod dasturlash tili nima?

Tarjimon nima?

Siz tizimga kirmagansiz. Tizimga kiring va taraqqiyotingizni kuzatib boring

Dasturlash tili Dasturlash tili - kompyuter dasturlarini yozib olish uchun mo'ljallangan rasmiy belgilar tizimi. Dasturlash tili leksik, sintaktik va semantik qoidalar to'plamini belgilaydi ko'rinish

  • Funktsiya: ijrochi (kompyuter) o'z nazorati ostida bajaradigan dasturlar va harakatlar.
  • Vazifa: Dasturlash tilining tabiiy tillardan farqi shundaki, u buyruqlar va ma'lumotlarni odamdan kompyuterga o'tkazish uchun mo'ljallangan, tabiiy tillar esa odamlar o'rtasida muloqot qilish uchun ishlatiladi. Biz "dasturlash tillari" ta'rifini umumlashtirishimiz mumkin - bu buyruqlar, buyruqlar, harakatlar uchun aniq ko'rsatmalarni uzatish usuli; Holbuki, inson tillari ham ma'lumot almashish uchun xizmat qiladi.
  • Amalga oshirish: Dasturlash tili ma'lumotlar tuzilmalarini aniqlash va manipulyatsiya qilish va hisoblash jarayonini boshqarish uchun maxsus konstruktsiyalardan foydalanishi mumkin.

Dasturlash tillarini standartlashtirish

Dasturlash tilini uning sintaksisi va semantikasini belgilaydigan spetsifikatsiyalar to'plami sifatida ko'rsatish mumkin.

Ko'p ishlatiladigan dasturlash tillari uchun xalqaro standartlar yaratilgan. Maxsus tashkilotlar muntazam ravishda tegishli tilning spetsifikatsiyalari va rasmiy ta'riflarini yangilaydi va nashr etadi. Bunday qo'mitalar doirasida dasturlash tillarini rivojlantirish va modernizatsiya qilish davom etmoqda va mavjud va yangi til konstruksiyalarini kengaytirish yoki qo'llab-quvvatlash masalalari hal etiladi.

Ma'lumotlar turlari

Zamonaviy raqamli kompyuterlar odatda ikkilikdir va ma'lumotlarni ikkilik kodda saqlaydi (garchi boshqa sanoq tizimlarida ham amalga oshirish mumkin). Ushbu ma'lumotlar odatda haqiqiy dunyodan olingan ma'lumotlarni aks ettiradi (ismlar, bank hisoblari, o'lchovlar va boshqalar) yuqori darajadagi tushunchalarni ifodalaydi.

Dasturda ma'lumotlarni tartibga soluvchi maxsus tizim turi tizimi dasturlash tili; tipli tizimlarni ishlab chiqish va o'rganish tip nazariyasi deb nomlanadi. Tillarni tizim sifatida tasniflash mumkin statik yozish bilan va tillar bilan dinamik yozish.

Statik tarzda yozilgan tillarni quyidagi tillarga bo'lish mumkin majburiy deklaratsiya, bu erda har bir o'zgaruvchi va funktsiya deklaratsiyasida talab qilinadigan turdagi deklaratsiya va tillar mavjud taxmin qilingan turlari. Ba'zan dinamik tarzda yozilgan tillar deyiladi yashirin tarzda yozilgan.

Ma'lumotlar tuzilmalari

Yuqori darajadagi tillardagi tip tizimlari ma'lumotlar tuzilmalari deb ataladigan murakkab, qo'shma tiplarni aniqlashga imkon beradi. Odatda, strukturaviy ma'lumotlar turlari bazaviy (atomik) tiplarning va ilgari aniqlangan kompozit turlarning dekart mahsuloti sifatida shakllanadi.

Ma'lumotlarning asosiy tuzilmalari (ro'yxatlar, navbatlar, xesh-jadvallar, ikkilik daraxtlar va juftliklar) ko'pincha yuqori darajadagi tillarda maxsus sintaktik konstruktsiyalar bilan ifodalanadi. Bunday ma'lumotlar avtomatik tarzda tuzilgan.

Dasturlash tillarining semantikasi

Dasturlash tillarining semantikasini aniqlashning bir qancha yondashuvlari mavjud.

Eng keng tarqalgan navlari quyidagi uchta: operativ, derivatsion (aksiomatik) va denotatsion (matematik).

  • Ichidagi semantikani tavsiflashda operativ yondashuv, odatda dasturlash tili konstruksiyalarining bajarilishi qandaydir xayoliy (mavhum) kompyuter yordamida talqin qilinadi.
  • Derivatsion semantika mantiq tilidan foydalangan holda til konstruktsiyalarini bajarish va oldingi va keyingi shartlarni ko'rsatish oqibatlarini tavsiflaydi.
  • Denotatsion Semantika matematikaga xos tushunchalar - to'plamlar, yozishmalar, shuningdek, hukmlar, bayonotlar va boshqalar bilan ishlaydi.

Dasturlash paradigmasi

Dasturlash tili u yoki bu asosiy hisoblash modeli va dasturlash paradigmasiga muvofiq tuzilgan.

Ko'pgina tillar fon Neyman kompyuter arxitekturasi tomonidan aniqlangan hisoblashning imperativ modeliga qaratilgan bo'lishiga qaramay, boshqa yondashuvlar mavjud. Hisoblash modeliga asoslangan stekli hisoblash modeli (Forth, Factor, PostScript va boshqalar), shuningdek funktsional (Lisp, Haskell va boshqalar) va mantiqiy dasturlash (Prolog) va REFAL tilini eslatib o'tishimiz mumkin. sovet matematigi A. Markov tomonidan kiritilgan.

Hozirgi vaqtda muammoli, deklarativ va vizual dasturlash tillari ham faol rivojlanmoqda.

Tillarni amalga oshirish usullari

Dasturlash tillari kompilyatsiya qilingan yoki talqin qilingan holda amalga oshirilishi mumkin.

Kompilyator (maxsus dastur) yordamida kompilyatsiya qilingan tildagi dastur ma'lum turdagi protsessor uchun mashina kodiga (ko'rsatmalar to'plami) aylantiriladi (kompilyatsiya qilinadi), so'ngra bajarish uchun ishga tushirilishi mumkin bo'lgan bajariladigan modulga yig'iladi. alohida dastur sifatida. Boshqacha qilib aytganda, kompilyator dasturning dastlabki kodini yuqori darajadagi dasturlash tilidan protsessor ko'rsatmalarining ikkilik kodlariga tarjima qiladi.

Agar dastur talqin qilinadigan tilda yozilgan bo'lsa, u holda tarjimon dastlabki matnni oldindan tarjima qilmasdan bevosita bajaradi (tarjima qiladi). Bunday holda, dastur asl tilda qoladi va tarjimonsiz ishga tushirilmaydi. Kompyuter protsessorini shu nuqtai nazardan mashina kodining tarjimoni deb atash mumkin.

Kompilyatsiya qilingan va talqin qilingan tillarga bo'linish shartli. Shunday qilib, har qanday an'anaviy kompilyatsiya qilingan til uchun, masalan, Paskal uchun siz tarjimon yozishingiz mumkin. Bundan tashqari, ko'pgina zamonaviy "sof" tarjimonlar til konstruktsiyalarini to'g'ridan-to'g'ri bajarmaydilar, lekin ularni yuqori darajadagi oraliq vakillikka (masalan, o'zgaruvchan referensiya va makro kengaytirish bilan) kompilyatsiya qilishadi.

Har qanday talqin qilinadigan til uchun kompilyator yaratilishi mumkin - masalan, mahalliy tarjima qilingan Lisp tilini hech qanday cheklovlarsiz kompilyatsiya qilish mumkin. Dasturni bajarish jarayonida hosil qilingan kod ijro jarayonida dinamik ravishda ham kompilyatsiya qilinishi mumkin.

Umuman olganda, kompilyatsiya qilingan dasturlar tezroq ishlaydi va talab qilmaydi qo'shimcha dasturlar, chunki ular allaqachon mashina tiliga tarjima qilingan. Shu bilan birga, har safar dastur matni o'zgarganda, uni qayta kompilyatsiya qilish kerak, bu esa rivojlanish jarayonini sekinlashtiradi. Bundan tashqari, kompilyatsiya qilingan dastur faqat bir xil turdagi kompyuterda va odatda kompilyator ishlab chiqilgan bir xil operatsion tizimda bajarilishi mumkin. Boshqa turdagi mashina uchun bajariladigan faylni yaratish uchun yangi kompilyatsiya talab qilinadi.

Tarjima qilingan tillar o'ziga xos qo'shimcha funktsiyalarga ega (yuqoriga qarang), bundan tashqari, ulardagi dasturlar modifikatsiyadan so'ng darhol ishga tushirilishi mumkin, bu esa rivojlanishni osonlashtiradi. Tarjima qilingan tildagi dastur ko'pincha ishga tushirilishi mumkin har xil turlari avtomobillar va operatsion tizimlar qo'shimcha harakatlarsiz.

Biroq, sharhlangan dasturlar kompilyatsiya qilinganlarga qaraganda sezilarli darajada sekin ishlaydi va ularni tarjimon dasturisiz bajarib bo'lmaydi.

Bunday yondashuv qaysidir ma'noda tarjimonlarning ham, kompilyatorlarning ham afzalliklaridan foydalanish imkonini beradi. Shuni ta'kidlash kerakki, tarjimon va kompilyatorga ega tillar mavjud (To'rtinchi).

Ishlatilgan belgilar

Zamonaviy dasturlash tillari ASCII dan foydalanishga mo'ljallangan, ya'ni hamma uchun ochiqdir grafik ASCII belgilar har qanday til konstruksiyalarini yozish uchun zarur va yetarli shartdir. Menejerlar ASCII belgilaridan cheklangan darajada foydalaniladi: faqat karetaning qaytish CR, chiziq tasmasi LF va gorizontal yorliq HT (baʼzan vertikal yorliq VT va sahifa tasmasi FF)ga ruxsat beriladi.

6 bitli belgilar davrida paydo bo'lgan dastlabki tillar yanada cheklangan to'plamdan foydalangan. Masalan, Fortran alifbosi 49 belgidan iborat (bo'sh joy bilan birga): A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 = + - * / () . , $ " :

E'tiborli istisno - bu juda ko'p maxsus belgilardan foydalanadigan APL tili.

ASCII bo'lmagan belgilardan foydalanish (masalan, KOI8-R belgilar yoki Unicode belgilar) amalga oshirishga bog'liq: ba'zan ularga faqat sharhlarda va belgilar/satr konstantalarida, ba'zan esa identifikatorlarda ruxsat beriladi. SSSRda barcha kalit so'zlar rus harflarida yozilgan, ammo eng mashhur tillar mavjud edi o'xshash tillar zabt etmadi (istisno o'rnatilgan dasturlash tili 1C: Enterprise).

Amaldagi belgilar to'plamini kengaytirish ko'plab dasturiy ta'minotni ishlab chiqish loyihalari xalqaro bo'lganligi bilan cheklanadi. Ba'zi o'zgaruvchilarning nomlari rus harflarida, boshqalari arab tilida, boshqalari esa xitoycha belgilarda yozilgan kod bilan ishlash juda qiyin bo'ladi. Shu bilan birga, matnli ma'lumotlar bilan ishlash uchun yangi avlod dasturlash tillari (Delphi 2006, Java) Unicode-ni qo'llab-quvvatlaydi.

Dasturlash tili darslari

Shuningdek qarang

Eslatmalar

Adabiyot

  • Xel Abelson, Jerald Jey Sussman. Kompyuter dasturlari tuzilishi va talqini
  • Robert V. Sebesta. Dasturlash tillarining asosiy tushunchalari = Dasturlash tillari tushunchalari / Transl. ingliz tilidan - 5-nashr. - M.: Uilyams, 2001. - 672 b. - 5000 nusxa.
  • - ISBN 5-8459-0192-8 (ruscha), ISBN 0-201-75295-6 (inglizcha) Wolfenhagen V. E.
  • Dasturlash tili konstruksiyalari. Ta'riflash texnikasi. - M.: YurInfoR markazi, 2001. - 276 b. - ISBN 5-89158-079-9 Paronjanov V.D.
  • Fikringizni qanday yaxshilash kerak. Dasturchilarsiz algoritmlar - bu juda oddiy! - M.: Delo, 2001. - 360 b. - ISBN 5-7749-0211-0 F. Biancuzzi, S. Worden.

Dasturlashning kashshoflari. Eng mashhur dasturlash tillarini yaratuvchilar bilan suhbatlar. - Sankt-Peterburg. : Symbol-Plus, 2010. - 608 p. - ISBN 978-5-93286-170-7

  • Havolalar
  • Tillar ro'yxati (ingliz) - qisqacha tavsiflari bilan 2500 dan ortiq tillar
  • Kompyuter tillari tarixi (ingliz tili) - dasturlash tillari tarixi (1954 yildan 2004 yil maygacha) (muntazam yangilanib turadigan jadvalni o'z ichiga oladi)
  • Misollar (inglizcha) - 162 tilda dasturlash misollari
  • Dasturlash tilining mashhurligi (ingliz tili) - 2004 yil uchun dasturlash tillarining mashhurligini o'rganish
  • Programming Community Index (inglizcha) - dasturlash tillarining mashhurligi reytingi muntazam yangilanadi.
  • Computer Language Shootout Benchmarks (ingliz) - samaradorlik bo'yicha dasturlash tillarini taqqoslash
  • Sevimli dasturlash tillari (ingliz tili) - dasturlash tillarini ular uchun "sevgi" va "nafrat" bilan taqqoslash

Wikimedia fondi.