Hisoblashda **vizual dasturlash tili** (vizual dasturlash tizimi, **VPL** yoki, **VPS**) yoki **blokli kodlash** foydalanuvchilarga dastur elementlarini matn ko‘rinishida emas, balki ularni grafik tarzda boshqarish orqali dasturlar yaratish imkonini beruvchi dasturlash tilidir.  VPL vizual ifodalar, matn va grafik belgilarning fazoviy joylashuvi bilan dasturlash imkonini beradi, ular sintaksis elementlari yoki ikkilamchi belgilar sifatida ishlatiladi. Masalan, ko'pgina VPLlar (diagrammatik dasturlash deb nomlanadi) "qutilar va o'qlar" g'oyasiga asoslanadi, bu erda qutilar yoki boshqa ekran ob'ektlari munosabatlarni ifodalovchi o'qlar, chiziqlar yoki yoylar bilan bog'langan ob'ektlar sifatida ko'rib chiqiladi.

Ta'rif
------

VPL qo'llanilgan vizual ifoda turi va hajmiga ko'ra, ikonaga asoslangan tillarga, shaklga asoslangan tillarga va diagramma tillariga qo'shimcha ravishda tasniflanishi mumkin. Vizual dasturlash muhitlari grafik yoki ikonik elementlarni taqdim etadi, ularni foydalanuvchilar dasturni yaratish uchun ba'zi bir fazoviy grammatikaga muvofiq interaktiv usulda boshqarishi mumkin.

VPL ning umumiy maqsadi dasturlashni yangi boshlanuvchilar uchun qulayroq qilish va dasturchilarni uch xil darajada qo'llab-quvvatlashdir.

Sintaksis: VPLlar sintaktik xatolar potentsialini kamaytirish yoki hatto yo'q qilishga harakat qiladigan piktogramma/bloklar, shakllar va diagrammalardan foydalanadi, bu esa yaxshi shakllangan dasturlarni yaratish uchun dasturlash ibtidoiylarini tartibga solishga yordam beradi.

Semantika: VPLlar dasturlash ibtidoiylarining ma'nosini ochish uchun ba'zi mexanizmlarni taqdim etishi mumkin. Bu dasturlash tillariga o'rnatilgan hujjatlashtirish funktsiyalarini ta'minlovchi yordam funktsiyalarini o'z ichiga olishi mumkin.

Pragmatika: VPLlar muayyan vaziyatlarda dasturlar nimani anglatishini o'rganishni qo'llab-quvvatlaydi. Ushbu qo'llab-quvvatlash darajasi foydalanuvchilarga dasturning ushbu holatga qanday munosabatda bo'lishini o'rganish uchun VPL bilan yaratilgan artefaktlarni ma'lum bir holatga qo'yish imkonini beradi. Misollar: AgentSheets yoki AgentCubes-da foydalanuvchilar dastur qanday munosabatda bo'lishini ko'rish uchun o'yinlar yoki simulyatsiyalarni ma'lum bir holatga o'rnatishlari mumkin. Thymio dasturlash tili yordamida foydalanuvchilar robotni qanday reaksiyaga kirishishini, ya'ni qaysi sensorlar faollashishini ko'rish uchun uni ma'lum bir holatga keltirishlari mumkin.

Mavjud ishlanmalar dastur holatiga zudlik bilan kirish imkoniyatiga ega bo'lish uchun vizual dasturlash yondashuvini ma'lumotlar oqimi dasturlash tillari bilan birlashtirishga harakat qilmoqda, natijada onlayn disk raskadrovka yoki avtomatik dastur yaratish va hujjatlar. Ma'lumotlar oqimi tillari avtomatik parallellashtirishga ham imkon beradi, bu kelajakdagi eng katta dasturlash muammolaridan biriga aylanishi mumkin.

Microsoft Visual Studio IDE ning Visual Basic, Visual C#, Visual J# va boshqalar tillari vizual dasturlash tillari emas: algoritmlarning ko'rinishi va hokazolar matnli bo'lsa ham, IDE tahrirlash va disk raskadrovka faoliyatini boy foydalanuvchi interfeysi bilan bezatadi. Shunga o'xshash fikr odatda shakllar dizaynerini qo'llab-quvvatlaydigan va ba'zida boshqaruv oqimi va ma'lumotlarga bog'liqlikni ko'rsatadigan (lekin aniqlamaydigan) grafik vositalarga ega bo'lgan boshqa ko'plab tezkor ilovalarni ishlab chiqish muhitlariga nisbatan qo'llaniladi.

Vizual dasturlash tillari uchun parserlar grafik grammatikasi yordamida amalga oshirilishi mumkin.

Vizual tillar ro'yxati
----------------------

Quyida e'tiborga molik vizual dasturlash tillari ro'yxati keltirilgan.

**Tarbiyaviy**

* AgentCubes, 3D va 2D o'yin dizayni va simulyatsiya dizayni uchun hisoblash fikrlash vositalari.
* AgentSheets, O'yin muallifi va hisoblash fanini yaratish vositasi.
* Alice, 3D muhitlarni dasturlash uchun ishlatiladigan ob'ektga asoslangan til.
* Analytica, Qarorlar va xavflarni tahlil qilish uchun miqdoriy modellarni yaratish va tahlil qilish uchun.
* Android uchun App Inventor: Blockly va Kawa asosidagi Android ilovalarini yaratish vositasi.
* Blockly, Blokka asoslangan vizual dasturlash tillari (VPL) va muharrirlarni yaratish uchun JavaScript dasturlash tili uchun mijoz tomoni kutubxonasi. Blockly Scratch-da ishlatilishi bilan mashhur.
* BricksIDE, Barcha darajadagi foydalanuvchilar uchun robototexnika kodlashni va Pythonni o'rgatuvchi IDE
* Bubble, Ishlab chiqarishga tayyor veb-ilovalarni yaratish uchun.
* Catrobat: Animatsiyalar, ilovalar va o'yinlar uchun blokli vizual dasturlash tili.
* Etoys: Disneyda Alan Kay rahbarligida Seymur Papert va Logo dasturlash tili taʼsirida konstruktiv oʻrganishni qoʻllab-quvvatlash uchun ishlab chiqilgan.
* Flowcode: O'rnatilgan mikrokontrollerlar va Windows uchun vizual dasturlash vositasi.
* Flowgorithm: Bir nechta tillarga aylantirilishi mumkin bo'lgan bajariladigan oqim diagrammalarini yaratadi.
* Hopscotch: iPad ilovasi va sensorli ekranga yo'naltirilgan mobil ilovalarni yaratish uchun vizual dasturlash tili.
* Kodu: Logotip uchun vizual dasturlash vositasi.
* Kojo: Dasturlash tili, IDE va o'rganish muhiti.
* mBlock: Arduino apparat interfeyslari uchun Scratch kengaytmasi. Makeblock tomonidan ishlab chiqilgan.
* Ochiq Roberta: Fraunhofer IAIS onlayn dasturlash muhiti, bolalar uchun mo'ljallangan.
* Pencil Code: Qalam bilan chizishga qaratilgan vizual dasturlash tili.
* Raptor: USAF mahsuloti, bajariladigan sxemalarni chizish uchun.
* Scratch: MIT mahsuloti, K-12 va maktabdan keyingi dasturlardagi bolalar uchun mo'ljallangan.
* ScratchJr: Asosan yosh tomoshabinlar (5-7 yoshli bolalar) uchun mo'ljallangan Scratch talqini.
* Snap!: BYOB brauzeriga asoslangan reimplementatsiyasi va birinchi darajali protseduralar va ro'yxatlar bilan Scratch kengaytmasi. UC Berkeleyda dars berish uchun foydalaniladi.
* Stagecast Creator: Java-ga asoslangan o'qitish tizimi.
* StarLogo: MIT Media Laboratoriyasida Mitchel Resnik, Erik Klopfer va boshqalar tomonidan ishlab chiqilgan agentga asoslangan simulyatsiya tili. Logo dasturlash tilining kengaytmasi (Lisp dialekti).
* ToonTalk: Bolalar uchun dasturlash tizimi.
* Visual Logic: Bajariladigan oqim diagrammalarini yaratish uchun.
* VIPLE: Visual IoT/Robotexnika dasturlash tili muhiti.

Avtomatlashtirish
-----------------

1. Automator
2. CiMPLE, ThinkLABs tarafından robot teknolojisini öğretmek için kullanılan bir görsel programlama dili.
3. Flow, Grafik entegrasyon dillerini kapsayan ve akış yönetimini destekleyen bir platform.
4. Pipeline Pilot: bu ilmiy vizual va ma'lumotlar oqimi dasturlash tili va Accelrys Enterprise Platformasi uchun mualliflik vositasi.

1. ↑  „Zamonaziy dasturlash tillari by inomjon l jumanazarov - Prezi" (noyabr 2018). Qaraldi: 5-dekabr 2023-yil.
2. ↑  „What is Block Coding? – Picobricks" (28-noyabr 2023-yil). 6-dekabr 2023-yilda asl nusxadan arxivlandi. Qaraldi: 6-dekabr 2023-yil.
3. ↑  *VIZUAL DASTURLASH TEXNOLOGIYSIDAN FOYDALANIB MOBIL ILOVALARNI YARATISH*, 2181-2489 (Uzbekçe), 2022.
4. ↑  „Explore Picobricks IDE" (6-avgust 2021-yil). 6-dekabr 2023-yilda asl nusxadan arxivlandi. Qaraldi: 12-avgust 2023-yil.
5. ↑  „ASU VIPLE". 6-dekabr 2023-yilda asl nusxadan arxivlandi. Qaraldi: 3-dekabr 2023-yil.