Велике оновлення мови програмування РАВЛИК

Трохи більше місяця тому я випустив власну текстову мову програмування — РАВЛИК. Навіщо? Пояснив в цьому дописі. Якщо коротко - мені, як вчителю інформатики в початковій школі, не вистачало інструментів для переходу від програмування блоками до програмування текстом з підтримкою української мови.

За цей час я отримав багато цінних відгуків від колег і користувачів, і втілив низку змін, щоб зробити РАВЛИКА ще потужнішим, надійнішим та дружнім до наймолодших програмістів.

Новий функціонал і поліпшення “ззовні”

Перше доповнення, що одразу впаде в око користувачу - додано кнопку збереження малюнка та кнопку виклику довідки

Кнопка “Зберегти малюнок” експортує зображення користувача у форматі PNG.

А щоб не шукати список доступних команд у Посібнику, я додав модальне вікно “Довідка” з повним переліком всіх інструкцій і їхнім коротким описом — тепер підгледіти потрібну команду можна в один клік.

По-друге, додав три прості, але корисні команди:

  • підняти — вимкнути малювання, щоб перемісти равлика без сліду;

  • опустити — знову опустити равлика і малювати;

  • очистити — швидко стерти все полотно, не видаляючи код.

По-третє, щоб всі команди були уніфікованими, команду з попередньої версії “повтори” замінено на “повторити” — тепер ці інструкції звучать у тому ж імперативному стилі, що й інші команди.

Також, за порадою колег я видалив автоматичне зникнення помилок через 5 секунд. Тепер повідомлення залишаються на екрані доти, доки користувач не натисне ✖, — діти встигнуть уважно прочитати текст помилки й зрозуміти, що потрібно виправити.

Усі ці зміни також знайшли відображення в оновленому Посібнику: додано окремий розділ про нові команди, блок про збереження малюнка, докладні інструкції до Довідки та проаналізовано випадки з помилками.

Глибше під “капотом”: внутрішні поліпшення

Щоб зробити роботу РАВЛИКА надійною та безпечною, я реалізував низку механізмів захисту та обмежень:

  1. Перевірка Canvas API
    При завантаженні сторінки скрипт перевіряє підтримку елементу <canvas> та його контексту. Якщо браузер не відповідає вимогам, користувач отримає alert із порадою оновити браузер або спробувати інший.

  2. Ліміти на код та виконання

    • Максимальна довжина коду — 10 000 символів;

    • Час виконання — не більше 5 сек (через Promise.race з таймаутом);

    • Глибина вкладених циклів — до 20 рівнів;

    • Макс. повторень у циклі — до 1 000 разів.

    Якщо хоч один з цих лімітів порушено, інтерпретатор зупиняє виконання і виводить чітке повідомлення про причину.

  3. Межі полотна
    Canvas обмежений розмірами 3000×3000 пікселів, щоб запобігти надмірному навантаженню браузера.

  4. Якщо Равлику пропонують вийти за межі полотна, рух блокується з повідомленням “Равлик не може вийти за межі поля!”.

  5. Інші дрібні, але не менш важливі зміни.

Висновок

Сподіваюсь, описані зміни підуть на користь проєкту. Нові команди, збереження малюнка, зручна довідка, повідомлення про помилки та розширені технічні моменти зроблять його безпечнішим і приємнішим у використанні.

Нова версія РАВЛИКА доступна за посиланням https://ravlykonline.github.io/new/index.html.

Запрошую всіх тестувати оновлену версію, гортати Посібник і ділитися враженнями — разом зробимо РАВЛИК ще кращим!

Поділись своїми ідеями в новій публікації.
Ми чекаємо саме на твій довгочит!
Артем
Артем@artem

Намагається збагнути світ

6.9KПрочитань
8Автори
63Читачі
Підтримати
На Друкарні з 15 квітня

Більше від автора

  • 🐌 РАВЛИК 3.0: яскравіше та доступніше

    З черговим оновленням РАВЛИК перетворюється на справжній навчальний майданчик, де кожна дитина може пройти захопливий шлях від "що це за кнопки?" до "ого, я сам це намалював за допомогою коду!"

    Теми цього довгочиту:

    Равлик
  • Висновки першої конференції AI Codecon

    Завершує “трилогію” публікацій Тіма О’Рейлі про “вайб-кодінг“ та ШІ-асистоване програмування переклад статті "Takeaways from Coding with AI" про результати конференції AI Codecon.

    Теми цього довгочиту:

    Вайб-кодінг
  • ШІ та програмування: початок нової епохи

    Продовжую цикл публікацій про “вайб-кодінг“ та “чат-орієнтоване програмування“. На черзі - переклад статті «AI and Programming: The Beginning of a New Era» Тіма О'Рейлі про виклики нової технології.

    Теми цього довгочиту:

    Вайб-кодінг

Вам також сподобається

Коментарі (0)

Підтримайте автора першим.
Напишіть коментар!

Вам також сподобається