5 языков без программистов

Языки программирования, которые не были хорошо разработаны, не имели успеха. Почему?

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

Все следующие пять языков имеют интересные характеристики, высокоуровневые функции, четкий синтаксис в отличие от Perl или PHP. Но, видимо, им чего-то не хватало, чтобы стать популярными.

Иконка

Идея заключалась в том, чтобы объединить паттерн-матчевые возможности СНОБОЛа со структурой универсального языка типа АЛГОЛ. Его синтаксис близок Паскалю и С, он обладает простотой скриптовых языков, с генераторами, и другими инновационными функциями на время своего создания.
Он хочет отличить себя от псевдорентуальной: если a, то b становится таким: если a (мы пробуем действие a), то b, (если это удастся, мы переходим в b, иначе продолжим со следующей инструкцией). Мы могли сделать то же самое с классическим иф .

Пример кода:

procedure disp(s1)
   while i: s1[i] do {
      c = s1[i]
      write(i)
   }
end

s = "hello"
disp(s) 

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

Оз

Он хочет волшебства, поэтому упоминание о волшебнике Оз. Конкурент встроен в язык со словом reserved thread, открывающим блок для выполнения в соревновании с другими.
Он включает в себя множество парадигм, таких как логическое и функциональное программирование и ограничения, связанные с императивным кодом. Как и появившийся в том же году Python, он включает Tcl/Tk для построения GUI.
Основной синтаксис ясен, но легко можно прийти к криптографии, как это видно по алгоритму проверки Эратостенеса, написанному на этом языке :

fun {Sieve Xs}     
   case Xs of nil then nil     
    [] X|Xr then Ys in        
        thread Ys = {Filter Xr fun {$ Y} Y mod X \= 0 end} end
        X|{Sieve Ys}
   end
end

Его реализация в Моцарте работает на виртуальной машине, которая делает ее довольно медленной, своим главным недостатком .

В 1991 году этот очень полный язык сохранялся до 2008 года, но магия не действовала, поэтому раздел был закрыт.

Пайк

Эта версия C делает её современным языком, наделенным ориентацией-объектом без сложности C++. У него есть коллекторский гараж. Таким образом, он предлагает обычный синтаксис без недостатков C, таких как ручное управление памятью.
Но у него есть недостаток в толковании. Даже увеличенных объектов, если у тебя больше нет доступа к библиотекам функций, составленным из C, ты теряешь изначальный интерес к этому языку: переносимость.

Класс в Пайке:

class Car
{
  inherit Vehicle;
  int speed;

  void setSpeed(int s)
  {
    speed = s;
  } 
}

Появился в 1994 году, до сих пор сохраняется. Пайк означает щуку по-английски, это логотип языка, но мало кто из программистов положил эту рыбу на тарелку.

Семя 7

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

Пример, показывающий развитую контрольную структуру...

for a, b
where a.name = b.name do
   writeln( a <& " et " <& b <& " sont le même objet");
end for;

Но ву можно было заменить на иф.

Желая проявить себя строже, он подавляет брейк и продолжает считаться скрытыми гото. По моему опыту, этого должно не хватить.
Появился в 2005 году, обновляется до сегодняшнего дня. Сеед означает семя, тем не менее, она не проросла, мало кто из программистов пришел ее поливать.

Эйфория

Разработанный в эйфории, очевидно, он хочет быть простым и позволяет программировать проще. С самого начала он понравился программистам BASIC. Он имеет такие динамические переменные, как Python, также интерпретируется или компилируется, имеет собирающий гарбаг и работает на Linux, Mac и Windows. Он имеет интерфейс нескольких библиотек GUI и баз данных. Кроме того, он имеет странный вид, атом и последовательность, преимущества которых не заметны.

function disp(atom str)
   for i = 1 to str.length
     puts(str[i])
   end for
end function

atom str="hello"
disp(str)

Она была разработана с 1993 по 2010 год до того, как эйфория превратилась в скуку, из-за отсутствия последователей для участия в партии .

Из этого можно извлечь несколько уроков...

Каждый из этих языков вносит особенности в типы или синтаксис. Но не стоит менять то, к чему привыкли программисты просто потому, что выглядит лучше: нужно, чтобы было реальное практическое преимущество .
Мы должны создать язык не просто для того, чтобы быть другим, а чтобы принести что-то большее. Таким образом, Никлаус Вирт не создал Паскаля, чтобы иметь свой собственный язык, он сначала предложил модифицированную версию ALGOL для исправления недостатков. И поскольку ALGOL W был проигнорирован профессией, тогда он создал язык, который полностью затмил ALGOL, что доказывает правильность его идей.

Некоторые идеи кажутся интересными на бумаге, но как только они будут реализованы на практике, это будет выглядеть меньше. Например, сделать расширяемый язык. Повторное использование кода становится трудным, если у каждой программы есть собственные типы инструкций !

Еще один урок - чтобы стать популярным, языку нужна прежде всего широкая библиотека функций. Например, Python, созданный в 1991 году, хотя и очень простой в трудоустройстве, получил широкое распространение лишь в 2001 году, когда-то наделенный всеми полезными функциями во всех областях. Юлия как Оз предлагает много возможностей, но он становится популярным благодаря своим научным библиотекам. PHP и Perl, оба более чем сомнительной конструкции, широко используются, потому что язык в реальности - это API.

Поэтому нет смысла создавать новый язык с таким простым кодом, что можно писать в 10 раз быстрее, новые структуры данных и возможности для простого преобразования реальности в код, Если нет всех функций, которые необходимы программистам для выполнения своих приложений и которые фактически позволяют выполнять программу в 1000 раз быстрее.

В конце концов, если ты хочешь создать новый язык, ты должен убедиться в двух вещах:

  1. Он предоставляет уникальную функциональность в области, которая делает его незаменимым.
  2. С самого начала можно получить доступ к широкой библиотеке функций, что позволяет реализовать приложения, которые можно использовать в производстве.
  3. Он не обязан иметь «убийцу приложения», но если кто-то хочет, чтобы новый язык привлекал внимание, он не должен быть предан огласке без приложения, которое демонстрирует свою заинтересованность.

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