Автор Тема: Реализация компилятора Oberon-07: итоги  (Прочитано 11914 раз)

vlad

  • Hero Member
  • *****
  • Сообщений: 1391
    • Просмотр профиля
Реализация компилятора Oberon-07: итоги
« : Сентябрь 24, 2013, 05:08:08 am »
Сейчас на гитхабе оформил релиз 1.0 (https://github.com/vladfolts/oberonjs/releases) и решил здесь подытожить:

- Старт проекта: 2012/07/01 21:20:00. Т.е., в разработке немного больше года. С одной стороны довольно долго, с другой - процесс был исключительно ленивый в виде "если почитать перед сном особо нечего, то можно пописать компилятор". Я бы оценил время полноценной разработки ~1 человеко-месяц. Надо признать, что это действительно мизер (оберонщики правы). Хотя я и был под впечатлением, что будет еще быстрее.

- Размер получившегося .js - 142,883 байт (с нормальным форматированием, читаемым идентификаторами и пробелами вместо табов). Тут я тоже ошибся - изначально думал, что уложусь в 64кб. Но если посмотреть другие js-проекты, то это и немного. Например, jshint (это lint для жабаскрипта) - 169,462 байт.

- Виртовский репорт. Гордится/похвалятся 16 страницами - это кощунство. А сравнивать с описаниям других языков - невежество. Репорт категорически требует уточнений. Много уточнений. В текущем виде он годится только как подсказка студентам, сдающим лабы на обероне (и в таком применении он может быть даже ценнее полноценного стандарта, но тем не менее).

- Никто не кинулся переписывать жабаскрипт на обероне. Это ожидаемо, просто отмечаю, что в случае оберона чуда тоже не произошло. Есть куча языков, компилируемых в жабаскрипт. Но, к сожалению, язык не главное. Нужна инфраструктура. И вот тут надо усиленно пилить всем тем, кто хочет писать на обероне под веб :)

- Дальнейшие планы. Собираюсь достать напильник и начать смотреть где пилить в процессе переписывания компилятора с жабаскрипта на оберон другой язык. Пока с обратной совместимостью с оригинальными обероном. Это никак не поможет в популяризации "нового языка для веба" (см. про инфраструктуру), но зато интересно :)

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: Реализация компилятора Oberon-07: итоги
« Ответ #1 : Сентябрь 24, 2013, 05:50:42 am »
- Никто не кинулся переписывать жабаскрипт на обероне.

А что, были ожидания, что кто-то начнёт усиленно пользоваться обероном вместо JS? о_О )))
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

vlad

  • Hero Member
  • *****
  • Сообщений: 1391
    • Просмотр профиля
Re: Реализация компилятора Oberon-07: итоги
« Ответ #2 : Сентябрь 24, 2013, 01:39:07 pm »
А что, были ожидания, что кто-то начнёт усиленно пользоваться обероном вместо JS? о_О )))

Я там следующим предложением говорю - нет, не было.

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: Реализация компилятора Oberon-07: итоги
« Ответ #3 : Сентябрь 24, 2013, 02:05:09 pm »
А что, были ожидания, что кто-то начнёт усиленно пользоваться обероном вместо JS? о_О )))

Я там следующим предложением говорю - нет, не было.

Ничо-ничо, вот скоро валексей как начнёт сайты на обероне колбасить -- херак-херак и в продакшн!
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

Jordan

  • Sr. Member
  • ****
  • Сообщений: 282
    • Просмотр профиля
Re: Реализация компилятора Oberon-07: итоги
« Ответ #4 : Сентябрь 24, 2013, 02:32:37 pm »
А что, были ожидания, что кто-то начнёт усиленно пользоваться обероном вместо JS? о_О )))

Я там следующим предложением говорю - нет, не было.

Ничо-ничо, вот скоро валексей как начнёт сайты на обероне колбасить -- херак-херак и в продакшн!
Вот именно, что и получается, что херак-херак, :) так как писать по человечески на 07.... :o.


Сейчас на гитхабе оформил релиз 1.0

Теперь пойдут долгожданные расширизмы?


valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Реализация компилятора Oberon-07: итоги
« Ответ #5 : Сентябрь 24, 2013, 02:40:15 pm »
Нет, лучше вначале долгожданные уточнизмы репорта с последующей реализацией.

В плане компилятора там на самом деле много чего интересного можно придумать. В частности, я хочу прикрутить к нему внешний интерфейс.
Y = λf.(λx.f (x x)) (λx.f (x x))

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Реализация компилятора Oberon-07: итоги
« Ответ #6 : Сентябрь 24, 2013, 02:43:38 pm »
Я кстати, вернулся. Ну, то есть у меня теперь снова будет время на этот проект. Думаю в выходные чем-нибудь да порадую :-)
Y = λf.(λx.f (x x)) (λx.f (x x))

vlad

  • Hero Member
  • *****
  • Сообщений: 1391
    • Просмотр профиля
Re: Реализация компилятора Oberon-07: итоги
« Ответ #7 : Сентябрь 24, 2013, 06:14:30 pm »
Нет, лучше вначале долгожданные уточнизмы репорта с последующей реализацией.

Уточнизмы будут параллельно с расширением. Потому как некоторые проблемы лишь уточнизмами не решить. Все расширения/уточнизмы будут, по возможности, объективно обоснованы и подкреплены реальными кодом.

DddIzer

  • Гость
Re: Реализация компилятора Oberon-07: итоги
« Ответ #8 : Сентябрь 24, 2013, 06:22:39 pm »
Нет, лучше вначале долгожданные уточнизмы репорта с последующей реализацией.

имхо, рассуждать "о чем думал Вирт когда писал репорт" бессмысленно и бесполезно (посмотрите на ВСЕ  попытки делать это здесь и в коровнике) - толку от этого ноль (если говорить об уточнение репорта) - что написано пером не вырубить топором - это есть творение Вирта и с ним он уйдет в могилу. Гораздо продуктивнее делать платформенную ветку опираясь на особенности и возможные приложения.

vlad

  • Hero Member
  • *****
  • Сообщений: 1391
    • Просмотр профиля
Re: Реализация компилятора Oberon-07: итоги
« Ответ #9 : Сентябрь 24, 2013, 06:52:35 pm »
имхо, рассуждать "о чем думал Вирт когда писал репорт" бессмысленно и бесполезно (посмотрите на ВСЕ  попытки делать это здесь и в коровнике) - толку от этого ноль

Да, естественно, что все уточнения будут делаться в ту сторону, которая считается "правильнее". Тем более, что диалог с самим Виртом все равно не сложился. То же самое и с расширениями - без фанатизма, сухой прагматизм.

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: Реализация компилятора Oberon-07: итоги
« Ответ #10 : Сентябрь 24, 2013, 07:42:33 pm »
Тем более, что диалог с самим Виртом все равно не сложился.
А была попытка? Молчит?

vlad

  • Hero Member
  • *****
  • Сообщений: 1391
    • Просмотр профиля
Re: Реализация компилятора Oberon-07: итоги
« Ответ #11 : Сентябрь 24, 2013, 07:46:51 pm »
А была попытка? Молчит?

Да, емыл с извещением о новой реализации и с вопросами остался без ответа.

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Реализация компилятора Oberon-07: итоги
« Ответ #12 : Сентябрь 24, 2013, 08:27:02 pm »
Мне интересно построить вокруг простого языка (Оберона Виртового) богатое окружение и посмотреть насколько таковая комбинация будет юзабельна. То есть я бы предпочел вносить доп. возможности в инструментарий а не в язык.

Да, и мне кажется крайне важным если уж плодить еще один диалект с расширизмами, то этот диалект должен быть всеобщим. То есть иметь реализацию более чем в одном компиляторе и платформе.
Y = λf.(λx.f (x x)) (λx.f (x x))

Kemet

  • Hero Member
  • *****
  • Сообщений: 587
    • Просмотр профиля
Re: Реализация компилятора Oberon-07: итоги
« Ответ #13 : Сентябрь 25, 2013, 03:21:39 am »
А была попытка? Молчит?

Да, емыл с извещением о новой реализации и с вопросами остался без ответа.
напиши в мыллист - там появляются более близкие к Вирту и более знающие люди, возможно донесут мысли до Самого и ответит Он ))

vlad

  • Hero Member
  • *****
  • Сообщений: 1391
    • Просмотр профиля
Re: Реализация компилятора Oberon-07: итоги
« Ответ #14 : Сентябрь 25, 2013, 04:31:57 am »
напиши в мыллист - там появляются более близкие к Вирту и более знающие люди, возможно донесут мысли до Самого и ответит Он ))

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