Vizual dasturlash tili

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 yerda 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ʻllangan 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ʻllanadi.

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.
*  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

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

## Maʼlumotnomalar