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 ()
Ответ на: комментарий от KRoN73

> Не спорно. Предварительно токенизированный текст воспринимается быстрее. Особенности психики, давно проверенные экспериментально. поэтому_кстати_сишный_стиль_имён читается легче, чемПопулярныйНынчеКэмлКейс.

А подсветка синтаксиса? Или вы исключительно с бумаги код читаете?

anonymous
()
Ответ на: комментарий от anonymous

>А подсветка синтаксиса?

При слитном написании мало поможет. И, неужели есть так много хайлайтеров, которые ярко и контрастно отделят присваивание от имени переменной или от скобки? Боюсь, что от такого хайлайтера глаза скоро стекут на подбородок :D

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

> И, неужели есть так много хайлайтеров, которые ярко и контрастно отделят присваивание от имени переменной или от скобки? Боюсь, что от такого хайлайтера глаза скоро стекут на подбородок :D

Ну к примеру KDevelop4: http://img7.imageshack.us/img7/6567/bugogo.png
У меня лично глаза не текут и всё видно, хотя за остальных не ручаюсь.
Жалко только, что имена макросов не подсвечивает.

anonymous
()
Ответ на: комментарий от zHACKa

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

При чем совершенно обычный.

r ★★★★★
()
Ответ на: комментарий от vkos

Закрывающая скобка без открывающей - это вообще полнейший бред.

Это киллер фича этого языка - все что он смог придумать:)))

r ★★★★★
()
Ответ на: комментарий от anonymous

>У меня лично глаза не текут и всё видно

Не текут, но и не видно :)

...

Ладно, если человек начинает считать себя в чём-то исключительным (в данном случае - обладающим особым, нехарактерным для всех остальных homo sapiens методом токенизации), то спорить тут бесполезно :D Помогли бы книги по эргономике программирования, но кто ж их нынче читает-то?

KRoN73 ★★★★★
()
Ответ на: комментарий от CARS

Моя наивная мечта: язык, который поддерживал бы пробелы в идентификаторах.

scala> def `a b c`(s:String) = println(s)
a$u0020b$u0020c: (String)Unit

scala> `a b c`("aaaa")
aaaa

r ★★★★★
()
Ответ на: комментарий от CARS

>Моя наивная мечта: язык, который поддерживал бы пробелы в идентификаторах.

В классическом Форте подменяешь переменную BL с пробела на, скажем, подчерк и пишешь вместо пробелов всюду подчерки, а пробелы становятся допустимым символом.

...

Ну и более банально - можешь использовать в имени неразрывный пробел :)

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

> Не текут, но и не видно :)

Вы просто устали да и время позднее (ну и шрифт слегка мелковат), утро вечера мудренее :)

anonymous
()
Ответ на: комментарий от yk4ever

yk4ever не стоит судить так строго сэр :) , НУ ЧТО ЗА ПИССЕМИСТЫ НА ЛОРЕ СОБРАЛИСЬ, СОПЛИ РАСПУСТИЛИ, может все таки что то из этого выйдет. Но одна скобка это конечно жесть. :))))

crono
()
Ответ на: комментарий от crono

может все таки что то из этого выйдет.

А что именно из этого должно выйти?

r ★★★★★
()

хорошо, что не что-то типа j, где вобще ничего не прочтёшь :)

>: 2&+^: ((10^10x)>:+:@>:*p: )^:_ (2)

>:-:>:1 i.~0.1>}.(>:i.$n)%~+/\n=. isprime +/\1,4#2*>:i.14000

+/1e6<,!/~>:i.100

жалко более хитрых примеров не нашёл :)

qnikst ★★★★★
()
Ответ на: комментарий от CARS

Моя наивная мечта: язык, который поддерживал бы пробелы в идентификаторах.

$ tclsh
% set {my var} CARS
CARS
% proc {print my var} {pref} {
    global {my var}
    puts "$pref ${my var}"
}
% {print my var} Hi,
Hi, CARS
naryl ★★★★★
()
Ответ на: комментарий от anonymous

> Когда же ты поймёшь, что питоний индент не спасает от нечитаемого говнокода...

О, поверьте мне, он СИЛЬНО помогает, в сравнении со скобочной кашей.

> Хотя бы додумался использовать пробелы вместо запятых как разделители.

Окамл некрасив :]

yk4ever
()
Ответ на: комментарий от eugine_kosenko

> у хаскеля куча своих проблем. серебряной пули пока не изобрели

Прямо таки куча. Среди того что уже изобрели он и есть серебрянная пуля. Ждем когда позолотят :)

anonymous
()
Ответ на: комментарий от anonymous

> Типичный высер ниасилившего школьника.

Когда я был школьником, я про vi ещё не был в курсе. У нас был модный контупер "Корвет" со вшитым бейсиком. Там была команда EDIT, которая позволяла редактировать строку программы в vi/ed-стиле. Когда я пересел на нормальные персоналки с адекватными текстовыми редакторами - радости моей не было предела.

Каково же было моё удивление, когда я выяснил, что некоторые извращенцы до сих пор фапают на технологии редактирования текста, устаревшие ещё 15 лет назад.

yk4ever
()
Ответ на: комментарий от KRoN73

>>откройте для себя C-x C-f /ssh:user@host:/path/to/file

>Медленно. Даже на 16Мбитах :)

Это вы сейчас ерунду сморозили, при чем здесь мегабиты? Уж всяко быстрее сначала получить файл в буфер, редактировать его, а потом лишь при сохранении отправить назад, чем на каждое передвижение курсора и ввод символа отправлять пакеты данных туда и назад. Особенно это преимущество заметно когда пинг большой. Без этого можно просто застрелится.

anonymous
()
Ответ на: комментарий от anonymous

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

Потому что передать 1-2 килобайта экрана в одну сторону намного быстрее, чем 20-50-100кбайт файла сперва в одну сторону, потом в другую.

>Особенно это преимущество заметно когда пинг большой


Вот поэтому и про 16Мбит и говорю. На GPRS - действительно, лучше один раз подождать, скачав, и работать локально. Но и тут sshfs не у дел, так как работать лучше именно локально.

...

Вообще, можете мне не рассказывать, я для редактирования и ssh, и sshfs каждый день по несколько часов использую :) В одном случае удобнее одно, в другом - другое.

$ ls /mnt/sshfs|wc -l
12

$ ls /home/balancer/work/mount|wc -l
11

Это всё - в омновном sshfs :) (есть только два или три ftpfs аккаунта во втором каталоге).

KRoN73 ★★★★★
()
Ответ на: комментарий от anonymous

>а при чем тут вообще sshfs?

Наверное, при этом: http://www.linux.org.ru/jump-message.jsp?msgid=4159538&cid=4160627

>В том примере что я


А кто, вас, анонимусов разберёт, кто есть кто? Походу, придётся опять фильтр анонимных комментариев включать...

KRoN73 ★★★★★
()
Ответ на: комментарий от yk4ever

> Там была команда EDIT, которая позволяла редактировать строку программы в vi/ed-стиле.

В ed-стиле. vi-стиль ничего общего ни с EDIT ни с ed не имеет.

naryl ★★★★★
()
Ответ на: комментарий от anonymous

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

anonymous
()
Ответ на: комментарий от anonymous

>Зы, и весь скрин видимо нужно постоянно отправлять? по 1-2 килобайтам.

Только перерисовки. И там же идёт сжатие. Короче, повторюсь, я каждый день редактирую в mcedit/nano и, немного, в vim, и по ssh, и через sshfs. Чистая работа по ssh, без перекачиваний файлов, более отзывчивая и плавная. Особенно это было заметно во времена скоростей в единицы мегабит.

KRoN73 ★★★★★
()
Ответ на: комментарий от anonymous

>Это не имеет к sshfs никакого отношения

Как это так? И там, и там, осуществляется трансфер полных файлов по ssh-соединению. Или я не прав?

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

Осуществляется, но реализовано не через sshfs, ничего монтировать или еще чтолибо делать для того чтоб этим пользоваться не нужно.

Зы, может и нужно запретить анонимусов, не будет соблазна сюда писать :)

anonymous
()
Ответ на: комментарий от anonymous

Так вопросы скорости и отзывчивости - это вопрос именно передачи файла по ssh, а не вопрос монтирования :)

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

Да я понимаю :) Я не понял, что вы привели в пример sshfs просто как аналог, мне показалось что вы считаете что в имаксе это реализовано через sshfs

anonymous
()
Ответ на: комментарий от yk4ever

> Когда я был школьником, я про vi ещё не был в курсе. У нас был модный контупер "Корвет" со вшитым бейсиком. Там была команда EDIT, которая позволяла редактировать строку программы в vi/ed-стиле. Когда я пересел на нормальные персоналки с адекватными текстовыми редакторами - радости моей не было предела.

КР580ВМ80А, POKE, PEEK, подпрограммы в машинном коде... :D Никаких споров о крутизне пистонов и прочего. Express Pascal с супернавернутым на то время редактором... Хорошее было время.

anonymous
()
Ответ на: комментарий от anonymous

>Никаких споров о крутизне пистонов и прочего.

Здрасьте! Во-первых, были споры, типа Basic vs Focal.

Во-вторых, с ничуть не меньшим жаром шли баталии на тему «Вектор» vs «Радио 86РК», «Орион 128» vs «ZX Spectrum», «ATM Turbo» vs «Profi» и т.п. :)

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

> Здрасьте! Во-первых, были споры, типа Basic vs Focal.

> Во-вторых, с ничуть не меньшим жаром шли баталии на тему «Вектор» vs «Радио 86РК», «Орион 128» vs «ZX Spectrum», «ATM Turbo» vs «Profi» и т.п. :)

Не спорю. Но компьютер был, прежде всего, компьютером. Любой уже был за счастье. Отсутствие Internet не позволяло вести баталии в таком же масштабе как сейчас и софт не был так же легко доступен :) Боооольшая разница.

anonymous
()
Ответ на: комментарий от anonymous

>Но компьютер был, прежде всего, компьютером. Любой уже был за счастье.

Разве что у простого юзера. Так и сегодня такие баталий не ведут :) А юзеры продвинутые тогда меняли платформы(! - а не языки) куда как чаще, чем сегодня :) У меня из перечисленных 7 платформ 5 сменились за два года :D

>Отсутствие Internet не позволяло вести баталии в таком же масштабе


Зато споры проходили при реальном общении, что было куда весомее :)

>и софт не был так же легко доступен :)


Софт распространялся медленнее, но во внутримкадье был доступен прекрасно. Тушинский радиорынок уже с конца 1980-х обеспечивал всем спектром софта под все популярные платформы :) В замкадье было чуть хуже, туда свежий софт, разве что по почте (а она тогда работала куда лучше, чем сейчас) доходил, ну так зато народ кооперировался. В небольших городках пользователи какой-то платформы знали друг друга поголовно :)

...

Собственно, те же тайтлы спектрумовских игр тогда были шире, чем сейчас. Сколько сейчас на рынке игр продаётся? 50 тайтлов? 100? А в те времена 500 тайтлов у одного только продавца - норма была :) А всего на рынке в лёгком достуте было по 2500-5000 тайтлов :)

...

Я когда свою последнюю ATM-Turbo продавал, с ней всю коллекцию софта отдал. Это было где-то штук под 30 кассет и штук под 50 дискетт. На кассетах по 10-15 тайтлов на каждой, на дисках - по 5-10, ЕМНИП. Вот и считаем :D

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

> Софт распространялся медленнее, но во внутримкадье был доступен прекрасно.

А я думал, что за пределами 1-й зоны Лондона жизни нет :-D Внутримкадье... Может сразу о Кремниевой долине поговорим, о парнях изпользовавшиx "Крей" и не подозревающих о существовании всяких "Спектрумов", "БК" и "Микрош"?

anonymous
()

Начали за Зимбу, кончили за спектрум.

Короче, вердикт по языку: проблемы идентифицированы верно, решение представлено голимое.

Куда более интересны такие вещи как Vala/Genie (если найдут способ освободить её из плена гнума) и D (если таки допилят ldc и александреску успеет добить 2.0 до того, как защитится и пойдёт быдлокодить в ынтерпрайз).

yk4ever
()
Ответ на: комментарий от yk4ever

D (если таки допилят ldc и александреску успеет добить 2.0 до того, как защитится и пойдёт быдлокодить в ынтерпрайз).

Уже. Из его summary:

Andrei holds a PhD in Computer Science from the University of Washington and a BS in Electrical Engineering from University «Politehnica» Bucharest. He works as a Research Scientist for Facebook.

eao197 ★★★★★
()
Ответ на: комментарий от yk4ever

Каково же было моё удивление, когда я выяснил, что некоторые извращенцы до сих пор фапают на технологии редактирования текста, устаревшие ещё 15 лет назад.

Чему вы удивляетесь ? Просто лучше еще не придумали ;)

Кстати, вы часом не емаксер :)

crono
()
Ответ на: комментарий от anonymous

>Хотя бы додумался использовать пробелы вместо запятых как разделители.

Это невозможно без привлечения попоболи. [a ["b"]] и [a, ["b"]] оба легальны и оба значат разные вещи

anonimus4
()
Ответ на: комментарий от anonymous

>символ начала блока без символа завершения (как в пистоне) - не менее бредовая идея.

И чем же она бредова? Ведь символ же (':') не требует завершения. Если бы в сабже была не закрывающая скобка, а, например, '.' или end, ничего плохого бы не было.

vkos ★★
()

Я в последнее время как раз Vim изучаю. Это гениальный редактор, просто супер. Перешёл на него с Geany и каждый день у меня новые открытия. Я уже работаю быстрее, хотя всего лишь несколько дней на Vim.

Но некоторые вещи мягко говоря удивляют, и, думаю, дело действительно в том, что в Голландии много курят :) Одна скобка - это жуть. Но почему при этом ни разу не вспомнили комментарии в .vimrc? Одна скобка не большая жуть, чем единственная кавычка.

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