LINUX.ORG.RU

Брам Муленаар представляет Зимбу

 , , , , , , , ,


0

0

Bram Moolenaar, автор Vim, представил вниманию общественности новый экспериментальный язык программирования Zimbu.

Язык предназначен для написания новых программ, например текстовых редакторов, и сочетает в себе полезные идеи из Java, Python, C, C++, D, Ruby, Boo и Groovy (в порядке убывания полезности), избегая при этом присущих этим языкам недостатков.

Интересными находками следует признать встроенный в язык контроль стиля (например, отсутствие пробелов вокруг знака «=» приводит к ошибке компиляции) и использование закрывающей фигурной скобки в качестве ограничителя блоков кода — например hello.zu выглядит так:

MAIN()
  IO.write("Hello, World!\n")
}

В настоящее время доступен транслятор Zimbu в C, способный скомпилировать собственный код, ведется работа над ZWT (Zimbu Web Toolkit) и Zim (тектовый редактор).

>>> Подробности

★★★

Проверено: maxcom ()

Брам Муленаар представляет Зимбу

> использование закрывающей фигурной скобки в качестве ограничителя блоков кода

OMG! Это симметричный ответ питону что ли? В очередной раз убеждаюсь, что дизайн языков - искусство, доступное единицам. Брам, при всём уважении, явно не из их числа.

anonymous ()

Брам Муленаар представляет Зимбу

Да, почитал inspiration, многое становится понятным. У Брама слишком узкий кругозор для создания хорошего языка.

anonymous ()

Брам Муленаар представляет Зимбу

ВЕЛОСИПЕД!

anonymous ()

Брам Муленаар представляет Зимбу

У чувака бардак в башке.
Мамбы, Зимбы, Убунты... Всех на баржу и в Африку на борьбу с малярией.

splinter ★★★★★ ()

Брам Муленаар представляет Зимбу

>отсутствие пробелов вокруг знака "=" приводит к ошибке компиляции

ну вот что за бред? зачем?!

>использование закрывающей фигурной скобки в качестве ограничителя блоков кода


... моментально скоратит гибкость языка на треть.

jcd ★★★★★ ()

Брам Муленаар представляет Зимбу

Одна закрывающая фигурная скобка - это сильно.

Nekto0n ()

Брам Муленаар представляет Зимбу

OMG! Нет, нет, Дэвид Блейн, нет!!! Оставь нас в покое.

shty ★★★★★ ()

Брам Муленаар представляет Зимбу

Что-то мне это так не понравилось, что подумываю перестать пользоваться вимом совсем.

anonymous ()

Брам Муленаар представляет Зимбу

>Интересными находками следует признать встроенный в язык контроль стиля
привет, питон!
>отсутствие пробелов вокруг знака "=" приводит к ошибке компиляции и использование закрывающей фигурной скобки в качестве ограничителя блоков кода

а вот это уже идиотизм полный, только путаницу разводить

hdclnr ()

Брам Муленаар представляет Зимбу

Непонятно какие преимущества у этого языка перед, скажем, Обероном, или Компонентным Паскалем (если кто-то вдруг непосредственно ассоциирует Компонентный Паскаль с паскалем, то прежде чем отвечать, прочитайте хотя бы википедию: http://ru.wikipedia.org/wiki/Oberon http://ru.wikipedia.org/wiki/Компонентный_Паскаль -- паскаль ему приходится прапрадедушкой).

anonymous ()

Брам Муленаар представляет Зимбу

Мне кажется наличие кучи языков разъединяет и создает некоторые неудобства. В общем как в реале.

Lennier ★★★★ ()

Брам Муленаар представляет Зимбу

закапывайте

saguro ()

Брам Муленаар представляет Зимбу

"срань господня!" (с)

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

shutty ()

Брам Муленаар представляет Зимбу

Создан язык, от которого питониста, сишника и паскальщика одинаково тянет блевать

anonymous ()

Брам Муленаар представляет Зимбу

> Язык предназначен для написания новых программ

Вот это да.

> использование закрывающей фигурной скобки в качестве ограничителя блоков кода

Это пи***ц, простите. Мне бы при работе с таким языком постоянно казалось, что я забыл открывающую скобку, да и большиноство нормальных текстовых редакторов подсчечивают *парные* скобки.

bff7755a ()

Брам Муленаар представляет Зимбу

Вот это убило:

> WriteFlags wf = NEW().echo(TRUE).where(atstart).repeat(2))

bff7755a ()

Брам Муленаар представляет Зимбу

ну про пробелы вокруг «=» еще как-то можно понять - в баше при вычислении выражений наличие пробелов тоже имеет значение. но ОДНА закрывающая скобка - это уже бред имхо, пусть Брам отсыпет.

drull ★☆☆☆ ()

Брам Муленаар представляет Зимбу

Язык предназначен для написания новых программ

Вот это убило:

WriteFlags wf = NEW().echo(TRUE).where(atstart).repeat(2))

4.2 Язык предназначен для переплавки мозгов.

drull ★☆☆☆ ()

Брам Муленаар представляет Зимбу

> и Zim (тектовый редактор).

Надеюьсь он, наконец, будет лишен недостатков vim'a?

kda ★★★★★ ()
Ответ на: Брам Муленаар представляет Зимбу от kda

Брам Муленаар представляет Зимбу

> Надеюьсь он, наконец, будет лишен недостатков vim'a?

А что иммено в vim'е вы считаете недостатками? Не холивар, просто интересно.

bff7755a ()

Брам Муленаар представляет Зимбу

Очередной пузырь в луже. Ненужно.

PS: Vim наше всё

los_nikos ★★★★★ ()

Брам Муленаар представляет Зимбу

Этот язык рожден уже мертвым. Выкидыш однако...

real_kas ()
Ответ на: Брам Муленаар представляет Зимбу от anonymous

Re: Брам Муленаар представляет Зимбу

> В очередной раз убеждаюсь, что дизайн языков - искусство, доступное единицам. Брам, при всём уважении, явно не из их числа.

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

По теме: Ждем плагин для Eclipse!

valich ★★★ ()

Брам Муленаар представляет Зимбу

> полезные идеи из Java, Python, C, C++, D, Ruby, Boo и Groovy (в порядке убывания полезности)

толсто же...

Evil_Fate_17506 ()

Брам Муленаар представляет Зимбу

Автоматическая проверка корректности кода есть? Автоматическое доказательство хоть в каком-то виде? Нет. Закопайте взад. Автор ничего не понимает в недостатках современных языков.

anonymous ()

Брам Муленаар представляет Зимбу

Очень похоже, что г-н Брам решил перенести IRL свой опыт в создании скриптового языка для Вим (тот же дикий ужас, по сравнению с которым хаскел и перл - псевдокод) :)

anonymous ()

Брам Муленаар представляет Зимбу

А я то думал, чего вим такой упоротый в плане скриптинга. Так вот оказывается в чем дело...

vasily_pupkin ★★★★★ ()

Брам Муленаар представляет Зимбу

начать: до тех пор пока () { цикл(...) перейти на ; } кончить;

пора бы уже и с русской нотацией язык придумать

kto_tama ★★★★★ ()
Ответ на: Брам Муленаар представляет Зимбу от anonymous

Re: Брам Муленаар представляет Зимбу

>Автоматическая проверка корректности кода есть? Автоматическое доказательство хоть в каком-то виде? Нет. Закопайте взад. Автор ничего не понимает в недостатках современных языков.

а поподробнее можно? что есть:

1) автоматическая проверка корректности кода и как оно связано с языком?

2) автоматическое доказательство - тут поясните, плз..

shty ★★★★★ ()
Ответ на: Брам Муленаар представляет Зимбу от kto_tama

Re: Брам Муленаар представляет Зимбу

>начать: до тех пор пока () { цикл(...) перейти на ; } кончить; пора бы уже и с русской нотацией язык придумать

man: uno asso (1C) :)

shty ★★★★★ ()

Брам Муленаар представляет Зимбу

> Язык предназначен для написания новых программ, например текстовых редакторов

хорошая шутка

fenris ★★★★★ ()

Брам Муленаар представляет Зимбу

> например текстовых редакторов

Кто бы сомневался!

Не дает покоя слава имакса, видимо. Поэтому, конечно, надо написать свой ЯП, на котором написать редактор, в котором будет встроен этот ЯП.

Внимание, вопрос: зачем?

SilentBob ()

Брам Муленаар представляет Зимбу

>Язык предназначен для написания новых программ

Не верю!

Deleted ()

Брам Муленаар представляет Зимбу

The } character is used to end a block. There is no {, we know where the block starts. This avoids useless discussions about where to put the {.

But we don't know where the blocks ends.

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

kondor ★★★ ()
Ответ на: Брам Муленаар представляет Зимбу от SilentBob

Re: Брам Муленаар представляет Зимбу

> Не дает покоя слава имакса, видимо. Поэтому, конечно, надо написать свой ЯП, на котором написать редактор, в котором будет встроен этот ЯП. > Внимание, вопрос: зачем?

Ну, не может же он просто пересесть на имакс. ;-)

eRazor ★★★ ()

Брам Муленаар представляет Зимбу

Брам Муленаар похоже что-то не то съел. :-)

smh ★★★ ()
Ответ на: Re: Брам Муленаар представляет Зимбу от shty

Re: Брам Муленаар представляет Зимбу

> 1) автоматическая проверка корректности кода и как оно связано с языком? > 2) автоматическое доказательство - тут поясните, плз..

Я думаю тут имеется в виду, что код на приличном языке можно проанализировать и, например, автоматически доказать что:

1) в коде типа

int [] a = new int [N]; for(int i = 0; i <= N; i ++) a[i] = i*i;

есть выход за границы массива. А если выхода нет, то даже не делать runtime проверки.

2) что переменная изменяется только такими-то потоками и соптимизировать доступ к ней, вплоть до убирания ненужной синхронизации

3) что штуковины типа

int *a = 0; *a = 9;

приводят к смерти ибо a null pointer is being dereferenced

Ну и т.д.

И все это - на этапе компиляции, а не как в C (когда при запуске шарахнет и голову оторвет).

rtvd ★★★★★ ()
Ответ на: Re: Брам Муленаар представляет Зимбу от shty

Re: Брам Муленаар представляет Зимбу

>автоматическая проверка корректности кода и как оно связано с языком? ...

Ну чтобы компилятор сказал "чувак, у тебя тут в ту функцию может проскочить значение для которого она не определена, вон там при таки-то условиях может произойти обращение по NULL, а если эта переменная будет равна 666 то вон там далеко будет утечка памяти и потому я тебе нифига не соберу, иди править руки". Как-то так. Анализ кода, логики, невозможность даже скомпилировать некорректную программу и всё такое.

anonymous ()

Брам Муленаар представляет Зимбу

Странно, среди целей проекта (http://www.zimbu.org/design/goals) ничего не сказано про создание нового текстового редактора. Шифруется.

SilentBob ()

Брам Муленаар представляет Зимбу

гн. Муленар разочаровывает чем дальше тем больше. мало того что vim на день сегодняшний не умеет: нормального скриптового языка (vim-script ужасное поделие, не имеющее нормального api), не умеет нормально подсвечивать и форматировать смешанные файлы (всякие там eruby/php/.... + html + js) и ещё N траблов... так гн. Муленар решил с тем же подходом написать язык программирования Zim, который судя по сайту и пример представляет из себя, мягко говоря, унылое поделие: половина кода в верхнем регистре, 1 фигурная скобка тоже доставляет, требование стиля в каком-то фашистском виде: нет пробелов? ошибка компиляции! т.е. на кой оно такое нада известно одному лишь г-ну. Муленару.

Порадовало

>>В настоящее время доступен транслятор Zimbu в C:

скажите, так это язык или транслятор с космическим синтаксисом?

я просидел под vim'ом 4 года, надоела кривизна и ушёл под Emacs. да, грабли есть, граблей много, но тут их хотя бы фиксят. а vim'ом теперь только конфиги фиксю на удалённых машинах :)

naquad ()

Брам Муленаар представляет Зимбу

Скобок должно быть четное количество!!!!!!!!!!!

vada ★★★★★ ()
Ответ на: Re: Брам Муленаар представляет Зимбу от rtvd

Re: Брам Муленаар представляет Зимбу

код на приличном языке можно проанализировать и, например, автоматически доказать что:

1) в коде типа

int [] a = new int [N]; for(int i = 0; i <= N; i ++) a = i*i;

есть выход за границы массива. А если выхода нет, то даже не делать runtime проверки.

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

shty ★★★★★ ()

Брам Муленаар представляет Зимбу

Велосипед. При чем, совершенно не оригинальный и с идиотским синтаксисом(мелочь, да, но не приятно)

zHACKa ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.