LINUX.ORG.RU
 
Bsd-un

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


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 (тектовый редактор).

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

ЗАСТАВЬ КОМПЬЮТЕР ПОЛИВАТЬ ОГОРОД

автоматизация своими руками: электроприборы под контролем компьютера
beware of programmers who carry screwdrivers!
http://www.unicontrollers.com/products/unc01x

[#]  

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

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

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

anonymous ()
[#]  

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

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

anonymous ()
[#]  

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

ВЕЛОСИПЕД!

anonymous ()
[#]  
splinter

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

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

***** ()
[#]  
jcd

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

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

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

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


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

*** ()
[#]  

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

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

()
[#]  
shty

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

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

*** ()
[#]  

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

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

anonymous ()
[#]  

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

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

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

* ()
[#]  

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

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

anonymous ()
[#]  
Camel

"Try it" sucks.

>Want to try it out?
>Download a snapshot from code.google.com/p/zimbu


Плоховата try'илка. То ли дело у Ruby

http://tryruby.sophrinix.com/

***** ()
[#]  

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

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

** ()
[#]  
saguro

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

закапывайте

()
[#]  
shutty

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

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

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

* ()
[#]  

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

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

anonymous ()
[#]  
bff7755a

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

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

Вот это да.

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

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

()
[#]  
bff7755a

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

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

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

()
[#]  
drull

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

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

** ()
[#]  
drull

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

>>-----Цитата---->>

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

<<-----Цитата----<<
>>-----Цитата---->>

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

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

<<-----Цитата----<<

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

** ()
[#]  
kda

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

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

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

***** ()
[#] Ответ на: Брам Муленаар представляет Зимбу от kda 22.10.2009 10:16:51  
drull

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

Конечно! Он будет за тебя проверять наличие пробелов вокруг "=" - неоспоримое преимущество!

** ()
[#] Ответ на: Брам Муленаар представляет Зимбу от kda 22.10.2009 10:16:51  
bff7755a

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

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

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

()
[#]  
los_nikos

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

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

PS: Vim наше всё

***** ()
[#]  
real_kas

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

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

* ()
[#] Ответ на: Брам Муленаар представляет Зимбу от bff7755a 22.10.2009 10:25:35  
ostin

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

>>-----Цитата---->>

А что иммено в vim'е вы считаете недостатками?

<<-----Цитата----<<

Он закрываться по ^C не умеет =(

*** ()
[#] Ответ на: Брам Муленаар представляет Зимбу от anonymous 22.10.2009 6:25:50  
valich

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

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

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

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

*** ()
[#]  

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

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

толсто же...

()
[#]  

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

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

anonymous ()
[#]  

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

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

anonymous ()
[#]  
vasily_pupkin

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

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

**** ()
[#]  

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

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

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

***** ()
[#] Ответ на: Брам Муленаар представляет Зимбу от anonymous 22.10.2009 11:05:16  
shty

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

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

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

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

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

*** ()
[#] Ответ на: Брам Муленаар представляет Зимбу от kto_tama 22.10.2009 11:16:42  
shty

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

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

man: uno asso (1C) :)

*** ()
[#]  
fenris

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

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

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

* ()
[#]  
SilentBob

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

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

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

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

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

()
[#]  
root_at_localhost

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

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

Не верю!

*** ()
[#]  
kondor

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

>>-----Цитата---->>

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.

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

*** ()
[#] Ответ на: Брам Муленаар представляет Зимбу от SilentBob 22.10.2009 11:27:53  
eRazor

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

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

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

*** ()
[#]  

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

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

*** ()
[#] Ответ на: Re: Брам Муленаар представляет Зимбу от shty 22.10.2009 11:17:05  
rtvd

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 (когда при запуске шарахнет и голову оторвет).

*** ()
[#] Ответ на: Re: Брам Муленаар представляет Зимбу от shty 22.10.2009 11:17:05  

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

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

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

anonymous ()
[#]  
SilentBob

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

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

()
[#]  

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

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

Порадовало

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

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

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

()
[#]  
vada

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

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

**** ()
[#] Ответ на: Re: Брам Муленаар представляет Зимбу от rtvd 22.10.2009 11:54:28  
shty

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

>>-----Цитата---->>

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

1) в коде типа

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

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

<<-----Цитата----<<

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

*** ()
[#]  
zHACKa

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

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

* ()