Спасибо, Бойко, это очень дельно. Хочу только уточняюще спросить: что такое REPL?
пн, 20 февр. 2023 г. в 11:55, Boyko Bantchev boykobb_AT_gmail.com < refal@botik.ru>: > На теме живучести Рефала позволю себе вставить свои 2 копейки (или > 2 стотинки). > > Живучесть языка зависит от привлечения к его использованию новых людей. > А какие факторы, помимо самого языка, могут этому способствовать? > > 1) По-моему, необходимым условием для того, чтобы язык производил > благоприятное впечатление, является наличие документации в удобном > и современном виде. > Под словом «документация» имею ввиду классическую троицу: > • исчерпывающий справочник по языку; > • руководство по программированию на языке (вместе с кратким > справочником по языку); > • справочник пользователя (компилятора и пр. составляющих > конкретной системы программирования на данном языке). > > Удобный для пользования и современный вид документации очень важен. > Его нетрудно постичь, но основные реализации Рефала такой > документацией не располагают. Файлы *.txt или архаичный HTML внимания > не привлекут, они скорее отталкивают пользователей. Нужен LaTeX или > хорошо стилизованный HTML, а лучше всего иметь и то, и другое. > Тем более, что их можно получать из одного исходника, записанного в > простом формате разметки. Из моего опыта, asciidoc > (https://docs.asciidoctor.org/asciidoc/latest) без соперников с точки > зрения богатства возможностей оформления текста при простоте разметки. > > 2) Привлекает пользователей также наличие классического REPL. Тому > примеров много, причём для языков самого разного вида. > > 3) Возможность выполнения программ онлайн – например, как на сайтах > https://tio.run > https://ideone.com > или в виде онлайн консоли (опять-таки REPL, но в браузере, как здесь > для JavaScript): > https://jsconsole.com > Студентам, например, такие возможности очень нравятся. Заметил, что > они их однозначно предпочтут даже когда установить на компе компилятор > или интерпретатор и пользоваться им совсем нетрудно. > > Точки 1)-3), по-моему, нетрудно обеспечить. Следующие две требуют > более существенную работу, но если речь идёт о выживании языка, то > следует думать и о развитии сферы его применения, поэтому, как мне > кажется, их тоже хорошо иметь ввиду. > > 4) Продвижению языка очень помогает существование написанных на нём > прикладных библиотек. Есть немало примеров языков программирования, > успех которых обусловлен именно наличием таких библиотек. > Язык Python, например – яркий пример весьма заурядного по существу > языка, получившего огромное распространение благодаря оснащённости > прикладными библиотеками в самых разных областях. Причём создание > библиотек шло лавинообразно: наличие одних библиотек способствовало > применению языка и созданию новых библиотек. > Да и Fortran не умер как раз благодаря написанным на нём библиотекам. > > 5) Если язык транслируется в JavaScript или WebAssembly – это сразу > открывает возможности его применения в веб среде, и не только. > Не говоря уже, что таким образом и сам язык обогащается за счёт > использования уже развитой инфраструктуры. >