Але нещодавно я натрапив на Easylang, і це мій новий фаворит серед мов для початківців! В ньому текстові змінні мають долар в імені (
name$) — прямо як у QBasiс, є масиви, суперлегко малювати, координати від 0 до 100 (вісь Y йде вгору), кольори від 000 до 999, легка й зручна обробка клавіатури й мишки, таймер, звуки тощо. IDE у бравзері автоматично форматує код. Інтерпретатор на WASM, тож готова програма — це PWA.Ну й, власне, я вирішив портувати на Easylang одну з найперших програм, яку ми написали з моїм корешем Коляном у коледжі. Ми намагалися зробити чи то більярд, чи то арканоїд, для чого треба було накодити рух і відбиття кола від стінок.
Вам смішно зараз, але для деяких одногрупників тоді навіть текст в правильній позиції екрана вивести — це вже було досягнення, не те що анімувати щось. Якщо просто чистити весь екран на кожний кадр, то зображення неприємно блимало, тож натомість ми робили це так: малюємо коло, робимо затримку, стираємо коло, оновлюємо координати — і так в циклі. Команда
SLEEP у QBasic приймала тільки секунди, що задовго для анімації, тому затримку ми робили порожнім циклом FOR … NEXT від 1 до 100000 (а якщо комп удвічі потужніший, то до 200000 😂). Постає питання, як стирати намальоване, не зачіпаючи решту. Для цього після малювання робимо зняток ділянки екрана командою
GET. А потім накладаємо назад командою PUT у режимі XOR. І короч десь ми щось наплутали порядок абощо, і вийшло так, що воно нічого не стирало, замальовуючи екран колами. В результаті вийшло щось дуже схоже на мережива, які ви могли бачити у себе в хаті або принаймні у ваших бабусь і дідусів. Тож цей витвір мистецтва ми гордо назвали SERVETKA.BAS (якраз 8.3 символів, якщо ви розумієте, про що я)!На Easylang написати це звісно було значно легше. Та головне, що я намагаюся донести: людина має отримувати задоволення від процесу. Як бачите, у нас тоді навіть «некоректний» результат не пішов у смітник: навпаки роздмухав зацікавленість, а які ж іще візерунки можна отримати. І ми почали створювати складніші багатоколірні речі, музику додавали й оце все. Файно було.
А якщо ви почнете початківцю сушити мізки встановленням ліб, парсингом XMLʼів з інтернетів або боротьбою з тайп-чекером, то є ризик відбити бажання цим займатися назавжди 🤔 З іншого боку я радше візуал і все сприймаю в першу чергу саме візуально, вчуся очима тощо. А комусь, може, оце все й не треба, а треба якраз XML з інтернетів.
Проте Easylang спробуйте.