Zimbu - язык программирования от автора vim.

Обсуждение новостей, соответствующих тематике форума

Модератор: Модераторы разделов

Аватара пользователя
diesel
Бывший модератор
Сообщения: 5989
ОС: OS X, openSuSE, ROSA, Debian

Zimbu - язык программирования от автора vim.

Сообщение diesel »

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 (тектовый редактор). © http://linux.org.ru


Сайт: http://www.zimbu.org/ :

Допустим вы хотите написать новую программу, например, текстовый редактор. Какой язык выбрать?
- Программа должна быть настолько быстрой, насколько это возможно, поэтому интерпретируемые языки отпадают.
- Вам не хочется заморачиваться на тонкостях управления памятью, поэтому отпадает С
- Вам не хочется искать программистов с докторской степенью, поэтому отпадает С++
- Вам хочется быстрого старта, который не тянет за собой толстой среды исполнения, поэтому отпадает Java
- Программа должна запускаться на максимальном числе систем: везде где есть компилятор С, поэтому D отпадает
- Хочется поиграться с чем-нить новым

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

Zimbu - экспериментальный язык программирования, для практического использования. Он соединяет хорошие стороны существующих языков, и вносит новые идеи.

Цели:
- легко читать: код читается в N раз больше, чем пишется
- избегать типичных ошибок - сделать язык на котором сложно писать плохой код(но вы можете попробовать его похакать на этот счет, если вам это действительно нужно)
- компактность и прозрачность: не декларировать одних и тех же вещей дважды, никаких хэдеров, никаких повторяющихся объявлений
- эффект объявления должен быть предсказуем, и не зависеть от чего-то что храниться в другом файле
- efficient execution: no startup delay, reasonable memory use - no Just In Time compiler effects (сорри сходу не переведу нормально)
- рассчитанный на написание самых разных приложений: ядро ОС, простой скрипт, большая ГУИ
- портабельность - возможность скомпилировать одно и то же на самых разных системах
- большое количество стандартных типов, модулей и классов - практически все что вам необходимо должно уже быть.
Спасибо сказали:
Аватара пользователя
Ali1
Сообщения: 2250

Re: Zimbu - язык программирования от автора vim.

Сообщение Ali1 »

Zimbu - экспериментальный язык программирования, для практического использования. Он соединяет хорошие стороны существующих языков, и вносит новые идеи.

Эх.
Поначалу ПЛ/1 вызвал большой энтузиазм, но оказался не так успешен, как планировалось...


PS
{ - главный враг .
Спасибо сказали:
Аватара пользователя
Subj
Сообщения: 151
Статус: Useful
ОС: win

Re: Zimbu - язык программирования от автора vim.

Сообщение Subj »

Очередной С-подобный выкидыш...
Building better software with Ada
Спасибо сказали:
JelF
Сообщения: 62
ОС: Debian

Re: Zimbu - язык программирования от автора vim.

Сообщение JelF »

Любой закрывающей скобке должна соответствовать просто из соображений элементарной логики открывающая
если они так используются, то лучше уж begin/end

Мнк одному кажется, что это Object-Paskal переписанный в стиле си?
Спасибо сказали:
Аватара пользователя
begin2009
Сообщения: 349
Статус: Ламер со стажем
ОС: без глюков

Re: Zimbu - язык программирования от автора vim.

Сообщение begin2009 »

JelF писал(а):
03.11.2009 21:53
Любой закрывающей скобке должна соответствовать просто из соображений элементарной логики открывающая
если они так используются, то лучше уж begin/end

Мнк одному кажется, что это Object-Paskal переписанный в стиле си?

Не знаю, не знаю. Мне на pascal не смахивает, но вот:

Код: Выделить всё

CLASS Date
               int time
               FUNC string toString()
                  ...
               }
               SHARED
                 FUNC Date dateFromString(string entry)
                    ...
                 }
                 ...
               }
            }
            ...
            Date d = Date.dateFromString(line)

очинно смахивает на:

Код: Выделить всё

class HelloWorld
{
    static void Main()
    {
            System.Console.WriteLine("Hello, World!");
    }
}

Но конечно, от открытых скобок избавились, теперь полегчало.
Пессимист видит темный туннель, оптимист видит свет в конце туннеля, реалист видит свет, туннель и поезд.
И только машинист видит этих трех идиотов, сидящих на рельсах.
Спасибо сказали:
JelF
Сообщения: 62
ОС: Debian

Re: Zimbu - язык программирования от автора vim.

Сообщение JelF »

begin2009 писал(а):
03.11.2009 22:07
JelF писал(а):
03.11.2009 21:53
Любой закрывающей скобке должна соответствовать просто из соображений элементарной логики открывающая
если они так используются, то лучше уж begin/end

Мнк одному кажется, что это Object-Paskal переписанный в стиле си?

Не знаю, не знаю. Мне на pascal не смахивает, но вот:

Код: Выделить всё

CLASS Date
               int time
               FUNC string toString()
                  ...
               }
               SHARED
                 FUNC Date dateFromString(string entry)
                    ...
                 }
                 ...
               }
            }
            ...
            Date d = Date.dateFromString(line)

очинно смахивает на:

Код: Выделить всё

class HelloWorld
{
    static void Main()
    {
            System.Console.WriteLine("Hello, World!");
    }
}

Но конечно, от открытых скобок избавились, теперь полегчало.


ну да, конечно, фигурные скобочки это главный показатель клона СИ. ты бы еще баш клоном си назвал или джаву
Спасибо сказали:
Аватара пользователя
Bluetooth
Сообщения: 4395
Статус: Блюзовый
ОС: Debian Squeeze amd64

Re: Zimbu - язык программирования от автора vim.

Сообщение Bluetooth »

JelF писал(а):
04.11.2009 00:28
ну да, конечно, фигурные скобочки это главный показатель клона СИ. ты бы еще баш клоном си назвал или джаву

Вот сижу, вглядываюсь в код выше, и не вижу, где же там си... :)
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Zimbu - язык программирования от автора vim.

Сообщение serzh-z »

Сколько можно. Ещё один мертворождённый язык... :(
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: Zimbu - язык программирования от автора vim.

Сообщение t.t »

Есть такая старая шутка: "Каждый программист должен написать свой текстовый редактор, написать в нём свой язык и переписать на нём свой текстовый редактор."

Но я никогда раньше не думал, что она воплотится в реальности. (:
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
JelF
Сообщения: 62
ОС: Debian

Re: Zimbu - язык программирования от автора vim.

Сообщение JelF »

имхо языкам надо искать другие пути развития. На мой взгляд пропущенно звено между python (perl, bash etc) и высокоуровневыми языками, а не между pure C и C++
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: Zimbu - язык программирования от автора vim.

Сообщение t.t »

JelF писал(а):
04.11.2009 15:02
имхо языкам надо искать другие пути развития. На мой взгляд пропущенно звено между python (perl, bash etc) и высокоуровневыми языками, а не между pure C и C++
Хм.. Что же тогда "высокоуровневые языки", если даже bash Вы к ним не отнесли -- и более того, говорите о "пропущеном звене"?
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
JelF
Сообщения: 62
ОС: Debian

Re: Zimbu - язык программирования от автора vim.

Сообщение JelF »

я имел ввиду СИ++/джава/...

неправильно выразился

звено могло бы соеденять гибкость и простоту интерпритируемых языков со скоростью и возможностями компилируемых, Но вот что оно будет из себя представлять честно хз
Спасибо сказали:
Iskan Der
Сообщения: 270

Re: Zimbu - язык программирования от автора vim.

Сообщение Iskan Der »

JelF писал(а):
04.11.2009 15:26
звено могло бы соеденять гибкость и простоту интерпритируемых языков со скоростью и возможностями компилируемых, Но вот что оно будет из себя представлять честно хз

Эээ, Groovy? :) Простой как питон, при этом компилируется в байт-код java, что дает неплохую производительность. :)
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: Zimbu - язык программирования от автора vim.

Сообщение t.t »

Iskan Der писал(а):
04.11.2009 15:56
JelF писал(а):
04.11.2009 15:26
звено могло бы соеденять гибкость и простоту интерпритируемых языков со скоростью и возможностями компилируемых, Но вот что оно будет из себя представлять честно хз
Эээ, Groovy? :) Простой как питон, при этом компилируется в байт-код java, что дает неплохую производительность. :)
У питона тоже есть байт-код. Кстати, перевод в байт-код -- это не компиляция, а трансляция; компиляция -- это в машкод.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
JelF
Сообщения: 62
ОС: Debian

Re: Zimbu - язык программирования от автора vim.

Сообщение JelF »

ну машинный код точно много чего не даст делать, скорее где то на отрезке питон-джава надо искать

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

Но разговор не совсем о том.От языка хотелось бы получить такие возможности как правка модуля без перелинковки всего, что на нем завязано, т.е. конфигурирование чего угодно без пересборки, что весьма неплохо. Хотелось бы чтобы он научился грамотно работать с графическим (в.т.ч. псевдографическим) выводом. Хотелось бы чтобы файл банально понимал кусок он конвеера или запускается сам по себе и мог делать выводы (добавить интерактивности там итд итп). Чтобы можно было писать проги, анализирующие классы других программ (что кстати на джаве вполне себе возможно). Ну и хорошую связь как например непосредственный вызов паблик методов из соседа (безопасность можно и поразграничивать), подключение динамических библиотек без гемороя. Наследовать другие программы в конце концов. С учетом все растущих мощностей и возмоджностью преобразовывать куски с большим временем выполнения в машинный код, такой язык бы прижился
Спасибо сказали:
Iskan Der
Сообщения: 270

Re: Zimbu - язык программирования от автора vim.

Сообщение Iskan Der »

t.t писал(а):
04.11.2009 16:15
Кстати, перевод в байт-код -- это не компиляция, а трансляция; компиляция -- это в машкод.

Про компиляцию:
Компиляция
Трансляция программы на язык, близкий к машинному.
Трансляция программы, составленной на исходном языке, в объектный модуль. Осуществляется компилятором

Перевод в байт-код вполне подходит под это определение.

В свою очередь, трансляция:
Трансляция программы — преобразование программы, представленной на одном из языков программирования, в программу на другом языке и, в определённом смысле, равносильную первой

Т.е. компиляция и интерпретация являются разновидностями трансляции.

JelF писал(а):
04.11.2009 16:38
От языка хотелось бы получить такие возможности как...

Ну, скажем, в Java и .NET все это добро реализуемо в большей или меньшей степени.
Спасибо сказали:
JelF
Сообщения: 62
ОС: Debian

Re: Zimbu - язык программирования от автора vim.

Сообщение JelF »

Iskan Der писал(а):
04.11.2009 16:46
JelF писал(а):
04.11.2009 16:38
От языка хотелось бы получить такие возможности как...

Ну, скажем, в Java и .NET все это добро реализуемо в большей или меньшей степени.


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

Также хотелось бы отметить невозможность на джаве наследования других программ, что несколько усложняет жизнь когда хочется присобачить к какому-нибудь mlayerу (10 минут пересборки и линковки на моем компе) какойнибудь мелкий драйверок для столь любимого тобой формата. Глупо предполагать что заработает он с первой попытки, но де факто править надо сущие копейки
Спасибо сказали:
Iskan Der
Сообщения: 270

Re: Zimbu - язык программирования от автора vim.

Сообщение Iskan Der »

JelF писал(а):
04.11.2009 16:59
В том то и проблема, что нужен питон с функциями джавы, а не джава. У джавы при том что она подходит почти ко всему, есть и некоторые свои проблемы...

Ну вы хотите прямо всего и сразу, а это, увы, невозможно.
"Горячая" правка кода возможна в полном объеме лишь в скриптовых языка. Хотя, в Java-приложении вы вполне можете заменить class-файлы некоторых классов, не пересобирая все приложение (при условии, что не изменился интерфейс классов). В общем, тут все уже упирается в грамотное проектирование.
Насчет наследования других программ вообще не совсем понятно. Получается, вам нужна возможность пропатчить некоторое стороннее приложение и внести в него свою логику? Опять же в ява это возможно путем все той же подмены class-файлов. Не совсем то, что, видимо, вы желаете видеть, но я не припоминаю ни одного языка, где это было бы возможно в полном объеме.
Спасибо сказали:
JelF
Сообщения: 62
ОС: Debian

Re: Zimbu - язык программирования от автора vim.

Сообщение JelF »

Iskan Der писал(а):
04.11.2009 17:05
JelF писал(а):
04.11.2009 16:59
В том то и проблема, что нужен питон с функциями джавы, а не джава. У джавы при том что она подходит почти ко всему, есть и некоторые свои проблемы...

Ну вы хотите прямо всего и сразу, а это, увы, невозможно.
"Горячая" правка кода возможна в полном объеме лишь в скриптовых языка. Хотя, в Java-приложении вы вполне можете заменить class-файлы некоторых классов, не пересобирая все приложение (при условии, что не изменился интерфейс классов). В общем, тут все уже упирается в грамотное проектирование.
Насчет наследования других программ вообще не совсем понятно. Получается, вам нужна возможность пропатчить некоторое стороннее приложение и внести в него свою логику? Опять же в ява это возможно путем все той же подмены class-файлов. Не совсем то, что, видимо, вы желаете видеть, но я не припоминаю ни одного языка, где это было бы возможно в полном объеме.


ну вот мы как рази обсуждаем, какая ниша еще свободна
Спасибо сказали:
Аватара пользователя
begin2009
Сообщения: 349
Статус: Ламер со стажем
ОС: без глюков

Re: Zimbu - язык программирования от автора vim.

Сообщение begin2009 »

Bluetooth писал(а):
04.11.2009 03:58
JelF писал(а):
04.11.2009 00:28
ну да, конечно, фигурные скобочки это главный показатель клона СИ. ты бы еще баш клоном си назвал или джаву

Вот сижу, вглядываюсь в код выше, и не вижу, где же там си... :)

И правильно не видите. Приведенный код на C#. Весьма смахивает. И не только фигурными скобками... А что касается самих фигурных скобок, теперь вижу чего на них ополчились (ИМХО: чтобы JelF не ругался.)

PS JelF, java - клон си.
Пессимист видит темный туннель, оптимист видит свет в конце туннеля, реалист видит свет, туннель и поезд.
И только машинист видит этих трех идиотов, сидящих на рельсах.
Спасибо сказали:
Iskan Der
Сообщения: 270

Re: Zimbu - язык программирования от автора vim.

Сообщение Iskan Der »

begin2009 писал(а):
04.11.2009 19:30
java - клон си.

о_О Давно ли?
Спасибо сказали:
JelF
Сообщения: 62
ОС: Debian

Re: Zimbu - язык программирования от автора vim.

Сообщение JelF »

с тех пор как бегин троль :dunno:
Спасибо сказали:
Аватара пользователя
begin2009
Сообщения: 349
Статус: Ламер со стажем
ОС: без глюков

Re: Zimbu - язык программирования от автора vim.

Сообщение begin2009 »

JelF писал(а):
04.11.2009 22:15
с тех пор как бегин троль :dunno:

Ваш пост показывает, что о троллинге Вы знаете не по наслышке (большой опыт использования, или Вам Менахем Вульфович чем-то не угодил?)

Что же касается java, то для Iskan Der: С момента создания. Более того, он и создавался по принципу похожести: http://progopedia.ru/language/java/
И никто этого не скрывал. Кстати и авторы сабжа этого не скрывают. Посмотрите с чем его сравнивают:
(Домашняя страница Zimbu) писал(а):You don't want to micro manage memory, so C is out.
You don't want to require programmers to have a degree, so C++ is out.
You want fast startup and not depend on a big runtime, so Java is out.
It has to run on most systems, anything with a C compiler, so D is out.

Так что:
Subj писал(а):
03.11.2009 20:30
Очередной С-подобный выкидыш...

Можно не соглашаться с формой, а вот с содержанием данного поста соглашусь полностью.
Пессимист видит темный туннель, оптимист видит свет в конце туннеля, реалист видит свет, туннель и поезд.
И только машинист видит этих трех идиотов, сидящих на рельсах.
Спасибо сказали:
Аватара пользователя
Ali1
Сообщения: 2250

Re: Zimbu - язык программирования от автора vim.

Сообщение Ali1 »

begin2009
Слово клон неудачно весьма.

PS

Свердлов Я.З. Свердлов - Языки программирования и методы трансляции.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Спасибо сказали:
Iskan Der
Сообщения: 270

Re: Zimbu - язык программирования от автора vim.

Сообщение Iskan Der »

begin2009 писал(а):
05.11.2009 19:05
Что же касается java, то для Iskan Der: С момента создания. Более того, он и создавался по принципу похожести: http://progopedia.ru/language/java/

"Похожий" и "клон" - это, согласитесь, разные вещи. То, что Java похожа на С и даже заимствует некоторые конструкции (циклы, ветвления, объявление переменных) - это факт, который никто и не скрывает. Между тем, различий между этими двумя языками намного больше, чем сходств, так что называть Java клоном С, по меньшей мере, неправильно.
Спасибо сказали:
Аватара пользователя
begin2009
Сообщения: 349
Статус: Ламер со стажем
ОС: без глюков

Re: Zimbu - язык программирования от автора vim.

Сообщение begin2009 »

Ali1 писал(а):
05.11.2009 22:06
begin2009
Слово клон неудачно весьма.

Собственно, согласен. Этот термин вообще неудачен. "Клон" подразумевает практически тождественность. Тоесть, клоном строго говоря можно назвать реализацию языка на другой платформе. Возможно корректнее называть fork языка.
Единственно не понимаю необходимости размножения языков. Я по своей наивности считаю, что новый язык программирования должен появляться при новых задачах (== новой парадигме).
"Рефлекторное" программирование > структурное > объектноориентированное. (FORTRAN, COBOL, BASIC ... > ALGOL, C, PASCAL, MODULA ... > Object Pascal, Objective Modula-2, C++...)
Пессимист видит темный туннель, оптимист видит свет в конце туннеля, реалист видит свет, туннель и поезд.
И только машинист видит этих трех идиотов, сидящих на рельсах.
Спасибо сказали:
Iskan Der
Сообщения: 270

Re: Zimbu - язык программирования от автора vim.

Сообщение Iskan Der »

begin2009 писал(а):
05.11.2009 23:02
Единственно не понимаю необходимости размножения языков. Я по своей наивности считаю, что новый язык программирования должен появляться при новых задачах (== новой парадигме).

Решать задачи и реализовывать парадигмы можно по-разному, делая акценты на разные вещи (читаемость кода, скорость разработки, контроль над создаваемым приложением и т.п.). Отсюда и разные языки. Скажем, то же ООП в C++, Java и Objective-C реализовано с ощутимыми различиями, которые дают преимущества в одних ситуациях и являются недостатками в других. "Единственно верного" ЯП на каждую парадигму еще не придумали (увы или к счастью - уж не знаю :)).
Спасибо сказали:
Аватара пользователя
mannequin
Сообщения: 31
ОС: Slackware 12.1

Re: Zimbu - язык программирования от автора vim.

Сообщение mannequin »

автор Vim

Опять же - он автор Vim, да, но сам Vim - это ведь "расширенная и дополненная" версия vi, который придумал Билл Джой. Не будь оригинального vi, разве сделал бы Moolenaar свой редактор?
Спасибо сказали:
Аватара пользователя
deadhead
Сообщения: 1913
Статус: zzz..z

Re: Zimbu - язык программирования от автора vim.

Сообщение deadhead »

mannequin писал(а):
19.11.2009 12:21
Опять же - он автор Vim, да, но сам Vim - это ведь "расширенная и дополненная" версия vi, который придумал Билл Джой. Не будь оригинального vi, разве сделал бы Moolenaar свой редактор?

1988 Based on Stevie for the Amiga, named Vi IMitation, never publicly released
...
1992 Портирован в Unix. Vim now competes with vi. This was when Vim became Vi IMproved
источник

Vim ("Vi IMproved") это "клон vi", т.е. программа, похожая на текстовый редактор "vi".
источник
[x] close
Спасибо сказали:
Аватара пользователя
diesel
Бывший модератор
Сообщения: 5989
ОС: OS X, openSuSE, ROSA, Debian

Re: Zimbu - язык программирования от автора vim.

Сообщение diesel »

mannequin писал(а):
19.11.2009 12:21
автор Vim

Опять же - он автор Vim, да, но сам Vim - это ведь "расширенная и дополненная" версия vi, который придумал Билл Джой. Не будь оригинального vi, разве сделал бы Moolenaar свой редактор?

и от этого автор Vim перестает быть автором Vim? :) Мы не знаем что бы было если бы не придумали vi, shell, unix etc. да и не надо знать - оно придумано :) остальное - область фантастики под названием "альтернативная история" (:
Спасибо сказали: