ЖивоСкрипт это графический (визуальный) язык программирования который компилируется в JavaScript. В нём используются только простые и понятные детям возможности языка JavaScript, и только сильные стороны, и только строгий режим. Это ядро (хардкор) js-программирования, максимальный минимализм — всего 50 графических элементов из которых состоит программа.

логотип ЖивоСкрипт

ЖивоСкрипт это визуализация JavaScript


Я выделил простое подмножество языка JavaScript, которое использую в своей работе. ЖивоСкрипт полностью соответствует языку JavaScript, в отличии от таких языков как CoffeeScript и TypeScript. ЖивоСкрипт это чистый ванильный JavaScript адаптированный для работы на сенсорном экране. Эта статья поможет начинающим понять суть этого языка, и ускорит наступление просветления.

Освоить ЖивоСкрипт возможно за один день, но грызть гранит науки надо несколько лет, потому что

нельзя просто так взять и стать программистом!

Исторический контекст


В начале, в 1995 году, этот язык назывался Mocha, потому что программисты любят кофе. Затем он был переименован в LiveScript, серверная версия языка должна была называться LiveWire. После этого внезапно название сменилось на JavaScript, потому что тогда Java было модным словом. Стандартизированная версия языка называется ECMAScript. Недавно Jeremy Ashkenas создал одноименный LiveScript, который компилируется в JavaScript, ранее им был создан CoffeeScript.



От буржуйского названия ЖаваСкрипт происходит русское название ЖивоСкрипт. Я отечественный не модный суровый инженер-любитель, говорю и пишу код по-русски. ЖивоСкрипт это родной отечественный графический язык программирования, который я создал в первую очередь для русскоязычных детей. Мне не интересна обычная стандартная профессиональная веб-разработка, и её проблемы, догматы и священные войны — прошу понять и простить.

Редизайн JavaScript


Я люблю JavaScript — для любителя нет языка проще и эффективнее, это Лисп в шкуре Си. За 22 года веб-программирование достаточно созрело, и таки наступила эпоха комфортной веб-разработки, например можно верстать таблицы и текст флексбоксами. Для полного счастья осталось дождаться WebCL или WebGPU и WebAssembly. 12+ это приблизительный возраст когда обычно дети способны начать изучение программирования, и это тот уровень сложности инструмента который нужен мне.



Синтаксис языка и примеры кода


ЖивоCкрипт настолько прост что скриншоты понятны и без пояснения.

Программа это блок-последовательность действий и других блоков. Пустая программа:



Комментарий и блоки. Блоки могут быть именованными:



Действия связывания адресов со значениями:



Удаление элемента обьекта и элемента массива:



Ветвление IF-ELSE, в условии — адрес, сравнение или проверка существования свойства:



Ветвление-варианты SWITCH-CASE:



Циклы WHILE, DO-WHILE, FOR, FOR IN:



Простые значения. Строки четырех типов: с одинарными и двойными кавычками, для id-имен и для имен css-классов:



Объект:



Массив:



Подпрограмма (функция):



Вызов-запуск подпрограммы:



Поделиться с друзьями
-->

Комментарии (49)


  1. GDXRepo
    10.07.2017 14:07
    +18

    Работа, конечно, проделана большая, свой язык, как-никак. Но ни в коем случае не стал бы на таком «языке» учить программированию. Даже с точки зрения визуального программирования, для этого есть значительно более подходящие инструменты (блок-схемы). К тому же, чисто внешне это выглядит крайне перегруженно. С вашим вариантом дети получат привычку к совершенно нестандартному принципу «разработки», и им придется адски переучиваться, когда дело коснется более промышленно-ориентированных языков. А учитывая, что в детском возрасте знания закладываются более прочно, то это вдвойне плохой выбор для первого обучения. Для обучения детей из современных языков, на мой личный взгляд, очень хорошо подходит адаптированный Swift с его Playgrounds, где и графики много, и конструкции простые, и переход из детской в профессиональную сферу не будет сопряжен с трудностями. P. S. В 12+ — прямая дорога в полноценные языки.


    1. maxminimus
      12.07.2017 09:02
      -10

      Да, работа проделана большая!
      Такое способны сделать всего несколько человек в мире.

      Твоё мнение я не спрашивал, и оно мне не интересно, спасибо.

      Я вообще никого не просил оценивать мою работу.

      Однако в принципе мне интересно мнение тех кто например сам разработал язык программирования, или изобрел что-то новое и интересное.

      Перед тем как давать оценку и судить — покажи свои работы, чтобы мне понимать что ты талант и компетентный критик, а не обычный бесполезный тролль.


      1. vlreshet
        12.07.2017 09:28
        +4

        Такое способны сделать всего несколько человек в мире.

        Ну нифигасе у вас самооценка то) Такое способен написать толковый студент пятого курса.


        1. maxminimus
          13.07.2017 09:02
          -6

          Сколько студентов создали языков программирования?
          А троллить как ты способен любой студент.

          Подсчитай количество созданных визуальных языков программирования и количество программистов — соотношение примерно один на миллион.

          Троллей как ты миллионы. Они бесполезные и только портят жизнь.

          Пока одни ребята изобретают новое — другие как ты троллят их на Хабре и минусуют карму.

          Твоё мнение я не спрашивал и оно мне не интересно, спасибо.

          Когда дизайнеры например в компании Эпл создают свой продукт — они не спрашивают мнение у толпы. Принимают решения и оценивают работу только талантливые специалисты. А в России наоборот, охлократия, власть толпы, бардак.

          Когда автор выпускает свою книгу — он не хочет чтобы на последней странице были напечатаны гадости о его книге от кого-попало. Так не бывает в жизни. Но на Хабре именно так.

          Тролли — это фундаментальная проблема Хабра. Здесь нет механизма фильтрации троллей. Я не могу поставить тролля вроде тебя в игнор, и удалить твой оскорбительный комментарий. Хабр нисколько не защищает меня как автора от злостных троллей.

          Хабр фактически ненавидит новых авторов. Я это ясно ощущаю. Это натурально дедовщина.

          Здесь описана схожая ситуация:

          habrahabr.ru/post/311322/

          «Господство привелегированных троллей»


          1. vlreshet
            13.07.2017 09:20
            +4

            Подсчитай количество созданных визуальных языков программирования
            А аудиоязыков программирования (чтобы надиктовывать код) так вообще, вроде, ни одного. А знаете о чём это говорит? Не о том что это архисложная задача (хотя да, не простая). А о том что это нафиг никому не нужно. Вы сделали никому не нужную, ужасную поделку, выставили её на всеобщее обозрение, и кричите тут о троллях и какой-то там дедовщине.Так а зачем же вы упорно публикуетесь на хабре, если тут всё так плохо?

            Окей, допустим (в какой-то вселенной) у вас классный продукт. Если вы решили его представить — то где сравнение с существующими продуктами? Вот я знаю что детей нормально на Scretch можно обучать. И как по мне, он имеет сильно получше интерфейс и задумку чем у вас. Почему вы не рассказываете чем ваш продукт лучше существующих?


      1. mayorovp
        12.07.2017 09:30
        +3

        То есть вам не интересно мнение тех, кто мог бы ваш язык использовать?


        Это все объясняет...


        1. delvin-fil
          13.07.2017 10:21

          Это мнение людей, которые сталкивался так или иначе.
          Это изврат!


      1. GDXRepo
        12.07.2017 12:36
        +1

        Ооо, какой всплеск агрессии)) Самооценка у вас и правда неплохая (кстати, я не обращался к вам на «ты», как-то быстро мы сменили общение)), раз вы один из тех единиц в мире, кто способен сделать что-то подобное. И да, похоже, вас не интересует мнение конечных потребителей вашего языка, а для чего, простите, этот язык тогда разрабатывался? )) Оценивать вашу работу вы не просили — да, а тогда зачем вообще статья? Или вы ожидали, что, написав статью на хабр, вы не получите на нее оценок? На прочтение вашей статьи люди потратили время. И все, кто потратил это время, имеют полное право написать отзыв на то, на что они его потратили. И, к слову, по вашим словам получается, что вам, во-первых, не интересно мнение тех, кто будет пользоваться вашим языком, а во-вторых, не интересно мнение тех, кто работает в той же сфере, что и вы. То есть, вас не интересует ничье мнение, но при этом статью вы все-таки написали, и даже обиделись на обсуждение, развернувшееся в комментариях. Странный вы человек) Показывать свои работы я никому не собираюсь, кому надо — найдут их в моем резюме. Я, можно сказать, пользователь вашего языка, и пишу отзыв о прочитанном с точки зрения пользователя, слегка понимающего в той сфере, откуда эта статья происходит. Имею полное право на свое личное мнение, и при этом не обязан вам доказывать, что я «талант», коим себя и не считаю) В целом, теперь понятно, почему у вас такой рейтинг и карма на ресурсе.


      1. mnepoh
        12.07.2017 15:28

        Лол. Ну ты и обиженка. Небось возомнил себя вторым Андерсом Хейлсбергом.


  1. mnepoh
    10.07.2017 14:22
    +8

    Похоже, что на столько пытались упростить, что перемудрили. Легче обычный яп объяснить чем это. Вообще не понимаю этой моды на обучение детей(да и кого угодно) программирование. Все эти игры с блоками и js/python/что-то еще, гикбрейнсы и прочее.


    1. izzholtik
      10.07.2017 14:33
      +1

      Вялотекущий хайп с вытягиванием денег, не более.


      1. maxminimus
        11.07.2017 09:01
        -3

        Всё принципиально бесплатно!

        И для детей!


  1. Error1024
    10.07.2017 14:27

    Берём Pascal.ABC и учим, когда ребенок научиться основам можно перейти на «настоящие» реализации — Lazarus/Delphi.
    — Кстати из-за огромного потока деграданских картинок — ощущение что я в деграданском паблике ВК сижу.


    1. mnepoh
      10.07.2017 14:36
      -3

      Почему именно паскаль? Мне кажется, там много всякого устаревшего и грамосткого.


      1. Nikobraz
        10.07.2017 15:49
        +5

        Строгий по синтаксису, статическая сильная типизация, и больше ничего. Идеальный язык для изучения алгоритмизации, он не даст халявить как Python. Python тоже хорош для изучения, но уже на следующем этапе. По возможностям равен C, но гораздо ниже порог вхождения.

        Вот расскажите мне, что там устаревшего, что не подойдет для обучения школьников?


        1. Error1024
          10.07.2017 16:27

          Видимо не выйдет модную, хипстерскую инфографику с фигурными скобочками делать про обучение на паскале, из-за отсутствия оных :D


          1. MrShoor
            10.07.2017 16:39
            +2

            Да ладно вам. В паскале фигурные скобочки вполне себе есть. Сам недавно только использовал:

            Заголовок спойлера


            1. Error1024
              10.07.2017 16:42
              +2

              Эти не модные :)


        1. 0xd34df00d
          11.07.2017 04:05
          -1

          Типизация сильная, но невыразительная.


      1. Pakos
        11.07.2017 12:49

        Кроме отсутствия ООП там нет ничего устаревшего (и какого там ещё) — базовые понятия — скалярная переменная, массив, присваивание, операции, ветвление, цикл (перечисление, с пост- и предусловием), подпрограмма. Можно Бейсик или Фокал, многословная Джава на начальном этапе похуже будет. Можно и Си, конечно, но не плюсы.


    1. mayorovp
      10.07.2017 16:00
      -2

      Все-таки самые основы лучше показывать на "черепашке", а не на Паскале. Паскаль, конечно, язык хороший, вот только все учебные задачи для него какие-то синтетические.


      1. Error1024
        10.07.2017 16:33

        Как-раз паскаль — один из немногих языков годных как для обучения, так и для настоящей разработки.
        Все эти черепашки, лого, и т.д. имеют огромную пропасть до настоящего программирования, в то время как паскаль позволяет плавно к настоящей разработке.
        Ну и плюс все популярные, на данный момент, диалекты позволяют из коробки, без секса с компиляторами, библиотеками и т.д. использовать Canvas для рисования. Графика — вызывает восторг и интерес у ребенка, в отличие от унылого вывода в консоль.


  1. haldagan
    10.07.2017 14:30
    +8

    Гитхаб? Страница с proof of concept?
    Из картинок ни пса не понятно — пощупать дайте.
    Гугл не находит ничего.


  1. mayorovp
    10.07.2017 14:36
    +3

    Ваше дерево смотреть неудобно. Если уж делать подобный визуальный язык — то лучше всего делать как в Scratch, где заголовок цикла является одним целым с самим циклом, а не боковой веткой к нему.


  1. mnepoh
    10.07.2017 14:42
    -8

    -26 карма, о чем можно говорить


  1. k12th
    10.07.2017 14:55

    Строки четырех типов: с одинарными и двойными кавычками, для id-имен и для имен css-классов

    Вот это очень странно. Если решение выделить отдельный тип для CSS-селекторов (причем для всех сразу, а не для ид (которые вообще-то не стоит использовать бы) и классов) еще можно натянуть, то различие между " и ' от меня напрочь ускользает.


    В остальном прикольно, большая работа. А на живых детях пробовали?


  1. knekrasov
    10.07.2017 15:29
    +1

    Выглядит прикольно, но по факту неюзабельно абсолютно. Зачем визуализировать код, когда можно (и нужно) визуализировать поток выполнения и принятия решений?

    То, что лексемы заменились иконками, не помогает пониманию от слова «совсем» (это не говоря уже о сомнительности выбранного языка в качестве первого)


  1. MetaDone
    10.07.2017 15:33
    +6

    https://habrahabr.ru/post/323132/
    цитата оттуда:

    В этой статье я поделюсь своим дзеном в области бэкенда с начинающими инженерами-программистами. Это может быть полезно например для милых дам, или для детей 12+, которые прочитали учебники, но таки не осилили стандартные фреймворки и архитектуры

    https://habrahabr.ru/post/322204/
    Задача — разработать клиент-серверную программу для сохранения знаний в виде дерева-иерархии документов (как в библиотеке), максимально простую и удобную, чтобы справились даже дети 12+ и очень пьяные инвалиды.

    Ничего личного, но у автора какие-то странные отсылки к детям 12+


    1. vmb
      11.07.2017 02:49
      +4

      Уравнивание милых дам, детей 12+ и пьяных инвалидов по какому-то подразумеваемому основанию тоже довольно странное, чтобы не сказать сильнее.


  1. Alexeyco
    10.07.2017 16:05
    +5

    Прошу прощения, но почему мы все считаем детей идиотами, которые «пока-еще-глупые». Как педагог по образованию говорю: это чушь. Если мы говорим о программировании как о реализации производственного процесса, я вас уверяю — умственного развития учащегося уже 8 класса вполне хватит, чтобы начать изучать, скажем, Python, JS… за редкими исключениями. Зачем нужен какой-то синтетический язык без прикладной пользы? Который похож на взрослые языки, но не взрослый. В школе в нас запихивали бейсик, в институте в т.ч. Pascal. А у некоторых потоков под введением в программирование вообще подразумевалось изучение VBA и применение его в Excel.

    Положим, кто-то из детей решит для себя «да, мне нравится прогать». И что? Переучиваться? Не логично. Куда как полезнее было бы замутить с детьми ролевую игру. Кто-то тимлид, кто-то программист, кто-то менеджер, а учитель — заказчик. И вот пусть они выпустят даже простой продукт, не поубивав друг друга. Но писать надо на взрослых языках. Тем более, что они ничуть не сложнее.


    1. mayorovp
      10.07.2017 16:33

      Как человек, нашедший книжку по программированию в папиной библиотеки еще в начальной школе, могу сказать вам, что наибольшие проблемы у детей (как у меня, так и у некоторых моих знакомых) возникают со скоростью набора текста. 15 символов в минуту — это же простейший оператор цикла без тела набирается поначалу минуты полторы. Отсюда очень странное для взрослого программиста понимание подходов к проектированию программы — попытка всеми правдами, неправдами и паттернами снизить число символов, которые придется набирать.


      Очень хорошо такое заметно, когда на вступительных олимпиадах в вузах сидят рядом новички и опытные олимпиадники. Первые просто по звуку клавиш клавиатуры соседа понимают, что первых мест им не видать :-)


      Поэтому подсовывать пятикласснику реальный язык программирования практически гарантированно означает заставлять его копать и находить самые странные стили и способы программирования, от которых потом придется еще отучаться. Тут нужен или язык, на котором подобные выкрутасы просто не пройдут из-за бедности и строгости самого языка (Pascal) — но этот способ подходит только когда тяга к знаниям достаточно сильна. Или язык с очень короткими командами (Лого), или же вот такой визуальный язык как у автора.


      1. Alexeyco
        10.07.2017 16:52
        +2

        Школьное образование — это во-первых знаменитое «учись учиться». То есть, школа формирует инженерные способности (способность обеспечить себя неизвестными ранее знаниями). Умение пользоваться окружающим миром с целью извлечения из него нужных знаний. К примеру, не зная, как копать колодец, будущий член общества должен уметь найти, как его копать. И второе — это предпосылка к самоопределению. Школьнику нужно дать попробовать все (или многое), чтобы он определил себя в жизни.

        Разве логично давать пробовать одно, а потом подсовывать другое? 8-классники на телефоне печатают (такое ощущение) быстрее, чем многие взрослые на компьютере. Отрасль сильно изменилась и сильно меняется. В словосочетании «хороший программист» за последние 20 лет изменилось понимание всех слов. А подходы остались теми же — эзотерические языки программирования, которые не используются нигде или почти нигде.


        1. mayorovp
          10.07.2017 16:57

          На телефонах-то они по-русски печатают...


          1. Alexeyco
            11.07.2017 01:55

            Ну мы же говорим о более-менее старших классах. В младших своя специфика, но программирование — это уж точно не то, чем бы стоило занимать младших школьников.


        1. WRONGWAY4YOU
          19.07.2017 13:02

          Очень странно...


          Мне четырнадцать лет, а печатаю что-то окола 100 слов в минуту.


          Со мной что-то явно не так...


          Пойду дальше теорию категорий учить...


          1. Zenitchik
            19.07.2017 13:04

            Вы герой. Я 100 слов в минуту так и не научился, и скорее всего не научусь.


      1. marcor
        11.07.2017 01:48

        А я вот таки соглашусь.
        В школе я упёрся в решение какой-то задачки на Pascal. Парень из параллели показал мне решение, и я был просто поражён тому, что он печатает несколькими пальцами, и — вы только подумайте! — со стуком клавиш как в кино.
        Я почувствовал себя полу-инвалидом, что ли. И начал практиковаться больше.

        А через десять лет я и сам так научился, такие дела.
        Ограничение в скорости печати я сейчас вижу и на своей сестре. Учится быстрее меня, но сложно всё равно.
        Но я так и не убеждён, что надо пытаться делать язык более удобным для печати. Скорее, нужны другие методы ввода.


      1. delvin-fil
        11.07.2017 06:10

        О да! Никогда не забуду как набирал в хекс коде Бейсик Микрон на Радио РК86! Я уж и не помню, сколько там кода(помню, что в журнале на двух страницах), но набирал и отлаживал его ДВА месяца. Но почти сразу появился на кассете Ассемблер Микрон и Редактор Микрон. Тоже эпопея.
        Кстати, долго отвыкал от раскладки РК. Появился Пентагон 128. С, внимание, раскладкой Дворак. Это был Ад?.
        Потом от Дворака так же тяжело переходил на Qwerty.


  1. vlreshet
    11.07.2017 09:51
    +3

    Извините за грубую критику, но ваша разработка — никому не нужная поделка.

    1) Всегда умиляют такие попытки создания Русского (тм) Языка Программирования. Зачем? Зачем учить детей тому, от чего надо будет отвыкать сразу же при переходе в настоящую разработку? Поезд уже ушёл, 99% промышленных ЯП используют английский.

    2) Визуальные конструкции не просто не упрощают, они усложняют понимание. По факту, «конструкции» это тот же код, только замусорен разными рамками и тенями. Ну вот смотрите, чем вот это
    image
    В лучшую сторону отличается от этого
    окно.имя = 5 * (1 + 2)
    Дети не такие кретины как вы думаете, им не нужны рамочки-рисуночки для понимания одной строчки кода. А конструкцию вызовов «подпрограмм» я вообще так и не понял.

    3) И да, а причём тут JS то? Тем более «хардкорный» JS, и строгий режим. В вашем «языке» как минимум переменные объявляются без «let, var, const», что запрещено строгим режимом JS.

    P.S. посмотрел все ваши публикации — сильно кажется что вы просто тролль. Постоянные нездравые идеи и странные картинки невпопад


  1. AbstractGaze
    11.07.2017 12:00

    Буквально на днях наткнулся на статью Миф о «простом языке для непрограммистов»
    Если вкратце — не стоит создавать «простой» язык для кого бы то нибыло, потому что на нем гораздо сложней писать.
    Там же в конце есть ссылка на «Неклассическая теория алгоритмов» для детей постарше.


  1. Rusty_Fox
    19.07.2017 12:10

    Вот вы тут все критикуете, а мне понравилось. Ярко, красочно — для детей ведь это главное. Правда ничего не понятно, но это пустяк… А есть вариант для детей до 7 лет и до 3 лет, желательно, еще ярче? Нет, я серьезно… Добавить еще больше цветов и возможность сделать шрифт покрупнее не помешала бы. И да, очень надеюсь, что писать руками ничего не надо — знай себе, перетаскивай готовые объекты, так ребенок лучше запоминает. Это хорошо, когда все для детей, да еще так качественно и просто.


    1. maxminimus
      19.07.2017 12:15
      -3

      Я просто адаптировал веб-языки для детей, то есть выделил простое подмножество понятное детям.

      Еще проще невозможно.

      Однако вполне возможно придумать принципиально иной язык, например логический, который будет работать в браузере.


      1. GDXRepo
        19.07.2017 15:21

        Принципиально новый язык… Где-то я это слышал… Принципиально новая ось, принципиально новые обои…


        1. vlreshet
          19.07.2017 16:19
          +1

          Интересно, можно ли на этом языке грабить корованы…


          1. GDXRepo
            19.07.2017 17:20

            О да)) Я бы на это посмотрел. Это было бы действительно захватывающе))


    1. Zenitchik
      19.07.2017 12:34

      В чём глубокий смысл выделения рандомных букв?


      1. vlreshet
        19.07.2017 13:02

        Ну слава богу, я думал я один это вижу. Даже пытался слова собрать из этих букв) Одному странному человеку «понравилась» «разработка» другого странного человека, ничего необычного.


        1. Zenitchik
          19.07.2017 13:19

          Мне идея такого «выделения» фразы в тексте понравилась. Не нахожу полезным, но интересно. Написать скрипт, который это делает — неплохое развлечение, когда будет простой на работе.


      1. mayorovp
        19.07.2017 13:19

        Ярко, красочно — для детей ведь это главное.