Bu nima?
Dasturlash tili qanday yaratiladi?
Ilk dasturlash tili qanday ishlab chiqilgan? Siz ham haqiqatan dasturlash tili ishlab chiqa olasizmi?
Dasturlashsiz hozirgi murakkab texnologiyalar mavjud boʻlmasdi. Biroq dasturlash tillari oʻzi qanday yaratilgan? Agar avval dasturlash tillari umuman yoʻq boʻlgan boʻlsa, unda birinchisi qanday paydo boʻldi?
Savollarga javob topish uchun oʻqishda davom eting!
Dasturlash tillari qanday yaratilgan?
Qisqa qilib aytganda:
Dasturlash tillari C yoki C++ kabi mavjud tillardan foydalanib yaratiladi. Yangi bir dasturlash tilini yaratish odatiy kompyuter dasturini tuzishga oʻxshaydi. Asosan sors kodni tokenlashtirish va uni kompilyator yoki interpretatorga uzatish ustida ishlaysiz. Kompilyator va interpretator esa kodni optimallashtirib, asosiy til (masalan, C++) yordamida uni mashina kodiga aylantiradi.
Kompilyator/interpretatordan ham avval yaratilgan yana ikkita qoʻshimcha narsa bor. Lekin ularning vazifasini boshqa narsalar bajarishi mumkinligi tufayli bu sizga kerak boʻlmaydi.
Birinchisi, Lexer. U sors kodni olib, uni tartiblangan tokenlar roʻyxatiga aylantiradi. Token bu kalit soʻzlar, belgilar, operatorlar yoki raqamlardir (masalan, if, +, - kabilar).
Keyingisi Parser boʻlib, u tokenlarga yanada koʻproq shakl berib, tugunlar daraxtiga aylantiradi (parser daraxti deb ham ataladi).
Keyin esa kompilyator/interpretator tokenlarni instruksiyalarga aylantirib, asosiy til yordamida ulardan mashina kodini yaratadi. Ammo siz oʻz kompilyator yoki interpretatoringizni ishlab chiqishingiz shart emas. Buning oʻrniga tokenlarni mavjud kompilyatorga uzatsangiz boʻladi (masalan, tokenlarni Python kodiga aylantirish orqali).
Yangi dasturlash tilini yaratayotganda dasturchi sintaksis, asosiy kalit soʻzlar va boshqa koʻplab narsalarni aniqlashi kerak.
Shuning uchun ham dasturchi yangi bir dasturlash tilini yozishni boshlashdan avval quyidagi masalalar haqida oʻylab koʻrishi kerak:
Nega? Maqsad nima?
Aniqlash kerak boʻlgan birinchi narsa — yangi dasturlash tilining maqsadi. Uni yaratishdan koʻzlangan maqsad nima?
Dasturlash tili nima uchun ishlatilishiga qarab, boshqa maqsadga xizmat qiladigan tildan butunlay boshqacha sintaksis va kutubxonalarga ega boʻlishi mumkin.
Masalan, konsol ilovalari uchun emas, grafik ilovalar uchun til yaratmoqchi boʻlsangiz, butunlay boshqacha kutubxonalar kerak.
Platforma
Keyingi qadam — kodingiz qaysi platformalarda ishlashini aniqlash. Tilingiz faqat Windows ilovalari uchun moʻljallanganmi yoki Linux va mobil platformalarda ham ishlaydimi?
Albatta, interpretator oʻsha platformada ishlay olishi va kompilyator platforma oʻqiy oladigan fayl (masalan, Windowsda .exe formatidagi fayl) yaratishi kerak boʻladi.
Kompilyator yoki interpretator?
Keyingi masala til kompilyatsiya qilinadimi yoki interpretatsiya, shu haqida oʻylash.
Kompilyatsiya qilingan tillar bajarilishidan avval mashina kodiga tarjima qilinadi. Shu sababli dastur foydalanuvchisi kompilyator oʻrnatishi shart boʻlmaydi.
Interpretatsiya qilinadigan tillar esa mashina kodiga ishlayotgan paytida aylantiriladi. Kodni ishga tushirish uchun har bir foydalanuvchi interpretator oʻrnatishi zarur.
Qanday tokenlar (kalit soʻzlar) kerak boʻladi?
Har bir dasturlash tilida if, while, var kabi oldindan belgilangan tokenlar (kalit soʻzlar) mavjud. Ular sintaksisning asosini tashkil etadi.
Ushbu bosqichda dasturchi toʻliq dasturlash tili uchun kerak boʻladigan tokenlarni qanday nomlashni hal qilishi kerak.
Obyektga yoʻnaltirilgan dasturlash (OOP)mi yoki funksional dasturlash?
Endi dasturchi dasturlashni obyektga yoʻnaltirilgan yoki funksional (funksiyaga yoʻnaltirilgan) boʻlishi borasida qaror qilishi lozim.
Obyektga yoʻnaltirilgan tillar harakatlarni belgilovchi funksiyalar (metodlar) va xususiyatlarni aniqlaydigan oʻzgaruvchilarni obyektga birlashtirish uchun klaslardan foydalanadi. Obyektga yoʻnaltirilgan dasturlash tiliga misol qilib Javani keltirishimiz mumkin.
Funksional tillar esa obyektlarni yaratishda klaslardan foydalanmaydi. Ularda faqat funksiyalar va oʻzgaruvchilar mavjud xolos. Masalan, Python asosiy funksional dasturlash tili hisoblanadi.
Sintaksis
Keyingi qadam dasturlash tilining sintaksisini belgilashdan iborat. Yangi dasturlash tilidan foydalanayotganda dasturchi sintaksisga qatʼiy amal qilishi kerak. Aks holda kompilyator yoki interpretator kodni tushunolmaydi va xatolik paydo boʻladi.
Nuqtali vergul, ikki nuqta, qavslardan foydalanish yoki foydalanmaslik, shuningdek, belgilar va tokenlarni qanday joylashtirish masalasini hal qilish lozim.
Qanday kutubxonalardan foydalanaman? Oʻzimga alohida yaratishim kerakmi?
Dasturlash tilini yaratish uchun dasturchi kompilyator yoki interpretator yozishda asosiy til kutubxonalaridan ham foydalanishi kerak.
Shuningdek, u oʻzi yaratayotgan dasturlash tili uchun bir qancha standart kutubxonalar ishlab chiqishi lozim. Masalan, dasturlash tili matnlarni konsolga chop qilish, foydalanuvchi maʼlumotlarini toʻplash va baʼzi oliy matematika amallarini bajarish uchun asosiy kutubxonalarni talab qiladi.
Nom tanlash
Oxirgi bosqichga kelib, yangi yaratgan dasturlash tilingizga nom tanlashingiz kerak boʻladi. Albatta, bu ishni dasturlash tilini yaratishni boshlamasdan oldin ham qilsangiz ham yaxshi. Lekin men uni yakuniy qadam sifatida bajarishingizni tavsiya qilaman. Chunki oʻshanda dasturlash tilingizni xususiyatlari haqida koʻproq narsa bilib olgan boʻlasiz va nomni shundan kelib chiqib tanlaysiz.
Birinchi dasturlash tili qanday yaratilgan?
Agar siz yangi dasturlash tilini allaqachon mavjud boʻlganlariga asoslanib yaratsangiz, u holda avval hech qanday til boʻlmagan payti ilk dasturlash tili qanday tuzilgan?
Birinchi til protsessorga (tranzistor deb ataladigan elektr uzatgichlardan iborat elektr zanjirga oʻrnatilgan boʻlib, u mashina kodi) deb ataladi. Mashina kodi faqat birlar (yoqilgan) va nollardan (oʻchirilgan) iborat boʻlib, bitlar deb nomlanadi.
Bitlarning muayyan kombinatsiyalari protsessorda (instruksiyalar tizimga joylashtirilgan) maʼlum vazifalarni bajaradi. 1949-yilda birinchi dasturlash tili boʻlgan Assembly insonlar uchun tushunarli boʻlgan kombinatsiyalarning muqobillarini yaratish maqsadida ishlab chiqilgan.
Bu ishni amalga oshirish uchun Assembly tilini mashina kodiga tarjima qila oladigan birinchi assembler dasturi toʻgʻridan toʻgʻri mashina kodiga yozilishi kerak edi.
Shu tariqa insonlar Assembly tili asosida yanada yuqori darajadagi tillarni yaratishi mumkin boʻldi.
Qisqa qilib aytganda,
birinchi dasturlash tili mashina kodida yozilgan.
Nima uchun yangi dasturlash tili yaratishingiz kerak?
Shubhasiz, yangi dasturlash tilini yaratish jarayonida siz dasturlash tillari qanday ishlashini va kodni kompilyatsiya qilish yoki ishga tushirish paytida kompyuteringiz ichida nimalar sodir boʻlishini bilib olasiz.
Bundan tashqari, dasturlash koʻnikmalaringiz ancha yaxshilanadi, oʻsadi. Chunki yangi bir dasturlash tilini yaratish oson emas, shuning uchun bu juda yaxshi amaliyot boʻladi.
Shuningdek, oʻzingiz yaratgan dasturlash tili bilan ishlash boshqalarniki bilan ishlagandan koʻra ancha osonroq. Chunki u sizning kodlash uslubingizga hamda afzalliklaringizga mos keladi va nima qilishingiz kerakligini ham aniq bilasiz.
Xulosa
Xulosa qilib aytganda, dasturlash tillari C++ kabi allaqachon mavjud boʻlgan tillarda yoziladi. Biroq yangi bir tilni dasturlashni boshlashdan avval juda koʻp muhim narsalarni hisobga olishingiz kerak.
Demak, ilk dasturlash tili 1949-yilda toʻgʻridan toʻgʻri mashina kodida yozilgan ekan, unga Assembly nomi berilgan.
Mutolaa uchun tashakkur!
Manba: Programming: How Are Programming Languages Made? [2024]