Dasturlash tili

**Dasturlash tili** – maʼlumotlar (axborotlar)ni va ularni elektron mashinalarda ishlash algoritmlari (dasturlari)ni bayon qilish uchun moʻljallangan rasmiy til; odamning elektron mashina bilan bogʻlanishi uchun ishlatiladigan shartli belgilar tizimi. Dasturlash tili tabiiy til bilan shartli mashina tili orasidagi oʻrinni egallaydi. Dasturlash tilining asosiy vazifasi dasturlar tuzish (dasturlash) vositasi boʻlishi, yaʼni maʼlumotlarni ifodalash va ularni EHM (kompyuter) da ishlashda qoʻllanishidan iborat. Dasturlash tillari sintaksisi (shakl) va semantikasi (maʼnosi) nuqtai nazaridan tavsiflanadi, odatda rasmiy til bilan belgilanadi. Tillar odatda tip tizimi, oʻzgaruvchilar va xatolarni qayta ishlash mexanizmlari kabi xususiyatlarni taqdim etadi. Dasturlarni bajarish uchun dasturlash tilini, yaʼni tarjimon yoki kompilyatorni amalga oshirish talab qilinadi 
. Tarjimon toʻgʻridan-toʻgʻri manba kodini bajaradi, kompilyator esa bajariladigan dasturni ishlab chiqaradi.

Kompyuter arxitekturasi dasturlash tillarining dizayniga kuchli taʼsir koʻrsatdi, eng keng tarqalgan turi (maʼlum bir tartibda operatsiyalarni amalga oshiradigan imperativ tillar) mashhur fon Neyman arxitekturasida yaxshi ishlash uchun ishlab chiqilgan . Dastlabki dasturlash tillari apparat bilan chambarchas bogʻlangan boʻlsa-da, vaqt oʻtishi bilan ular yanada soddalik uchun amalga oshirish tafsilotlarini yashirish uchun koʻproq mavhumlikni ishlab chiqdilar .

Koʻpincha imperativ, funktsional, mantiqiyyoki ob’ektga yoʻnaltirilgan deb tasniflangan minglab dasturlash tillari turli xil foydalanish uchun ishlab chiqilgan. Dasturlash tilini loyihalashning koʻp jihatlari oʻzaro kelishuvlarni oʻz ichiga oladi – masalan, istisnolarni qayta ishlash xatolarni boshqarishni osonlashtiradi, lekin ishlash xarajati. Dasturlash tili nazariyasi – bu dasturlash tillarini loyihalash, amalga oshirish, tahlil qilish, tavsiflash va tasniflashni oʻrganadigan kompyuter fanining kichik sohasi .

## Taʼriflar
Dasturlash tillari tabiiy tillardan shu bilan farq qiladiki, tabiiy tillar odamlar oʻrtasidagi oʻzaro aloqa uchun ishlatiladi, dasturlash tillari esa odamlarga koʻrsatmalarni mashinalarga etkazish uchun moʻljallangan.Iqtibos kerak boʻladi.

Kompyuter tili atamasi baʼzan „dasturlash tili“ bilan bir-birining oʻrnida ishlatiladi. Biroq bu atamalardan foydalanish mualliflar orasida farq qiladi.

Bir foydalanishda dasturlash tillari kompyuter tillarining kichik toʻplami sifatida tavsiflanadi. Xuddi shunday, „kompyuter tili“ atamasi „dasturlash tili“ atamasidan farqli ravishda hisoblashda ishlatiladigan, lekin dasturlash tillari hisoblanmaydigan tillarni tavsiflash uchun ishlatilishi mumkin [ iqtibos keltirish kerak – masalan, belgilash tillari. Baʼzi mualliflar „dasturlash tili“ atamasini Turingning toʻliq tillari bilan cheklaydilar. Koʻpgina amaliy dasturlash tillari [Turing] toʻliq boʻlib, ular qaysi dasturlarda hisoblashi mumkinligi bilan tengdir.

Yana bir foydalanish dasturlash tillarini mavhum mashinalarni dasturlash uchun [nazariy konstruktsiyalar va kompyuter tillarini cheklangan apparat resurslariga ega boʻlgan jismoniy kompyuterlarda ishlaydigan ularning quyi toʻplami sifatida koʻrib chiqadi. Jon C. Reynolds rasmiy spetsifikatsiya tillari xuddi bajarish uchun moʻljallangan tillar kabi dasturlash tillari ekanligini taʼkidlaydi . U shuningdek, kompyuterning ishlashiga taʼsir qiluvchi matn va hatto grafik kiritish formatlari odatda Turing-toʻliq boʻlmasa ham, dasturlash tillari ekanligini taʼkidlaydi va dasturlash tili tushunchalarini bilmaslik kirish formatidagi koʻplab kamchiliklarning sababi ekanligini taʼkidlaydi.

## Dialektlar, didlar va amalga oshirish
Dasturlash tili yoki maʼlumotlar almashish tilining dialekti – bu tilning ichki tabiatini oʻzgartirmaydigan (nisbatan kichik) oʻzgarishi yoki kengayishi. Sxema va Forth kabi tillarda ishlab chiquvchilar standartlarni etarli emas, notoʻgʻri yoki noqonuniy deb hisoblashlari mumkin, shuning uchun ular koʻpincha standartdan chetga chiqadi va yangi dialektlarni yaratadi. Boshqa hollarda, dialekt domenga xos tilda foydalanish uchun yaratiladi, koʻpincha uning kichik toʻplami. Lisp dunyosida asosiy S-ifoda sintaksisi va Lisp-ga oʻxshash semantikadan foydalanadigan tillarning aksariyati Lisp dialektlaridir, ammo ular Racket va Clojure kabi juda farq qiladi . Til odatda bir nechta dialektlarga ega boʻlganligi sababli, tajribasiz dasturchi uchun kerakli hujjatlarni topish juda qiyin boʻlishi mumkin. BASIC tili juda koʻp dialektlarga ega.
## Xususiy tillar
Garchi eng koʻp ishlatiladigan dasturlash tillarining aksariyati toʻliq ochiq spetsifikatsiyalar va ilovalarga ega boʻlsa-da, koʻpgina dasturlash tillari faqat xususiy dasturlash tillari sifatida mavjud boʻlib, amalga oshirish faqat bitta sotuvchida mavjud boʻlib, bunday mulkiy til ularning intellektual mulki ekanligini daʼvo qilishi mumkin. Xususiy dasturlash tillari odatda domenga xos tillar yoki bitta mahsulot uchun ichki skript tillaridir; baʼzi mulkiy tillar faqat sotuvchining ichida ishlatiladi, boshqalari esa tashqi foydalanuvchilar uchun mavjud.

Baʼzi dasturlash tillari xususiy va ochiq oʻrtasidagi chegarada mavjud; masalan, Oracle korporatsiyasi Java dasturlash tilining baʼzi aspektlariga mulk huquqini tasdiqlaydi va tizimning aksariyat qismlarini ochiq amalga oshirishga ega boʻlgan Microsoft – ning C# dasturlash tili yopiq til sifatida Common Language Runtime (CLR) ham mavjud. muhit.

Koʻpgina mulkiy tillar oʻzlarining mulkiy xususiyatiga qaramasdan keng qoʻllaniladi; misollar MATLAB, VBScript va Wolfram tilini oʻz ichiga oladi . Baʼzi tillar yopiq tildan ochiq tilga oʻtishlari mumkin; masalan, Erlang dastlab Ericssonning ichki dasturlash tili edi.

Ochiq kodli dasturlash tillari, ayniqsa, ochiq fan ilovalari uchun foydali boʻlib, replikatsiya va kod almashish imkoniyatlarini oshiradi.

## Yana qarang
* Kompyuter
## Manbalar

## Havolalar