Автор Тема: Оберонные русскоязычные форумы  (Прочитано 245485 раз)

Oleg N. Cher

  • Full Member
  • ***
  • Сообщений: 152
    • Просмотр профиля
    • Оберон-клуб «VEDAsoft»
Re: Оберонные русскоязычные форумы
« Ответ #150 : Январь 09, 2013, 07:58:35 pm »
Вот уж чего-чего, а на телевизор у меня времени просто нет ))

Тогда, понимаете, бывают тайные знания. И бывают усиленно пиарящиеся трактовки для лохов широких масс. Чтобы не пришли бить.

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Оберонные русскоязычные форумы
« Ответ #151 : Январь 09, 2013, 08:05:52 pm »
Вот уж чего-чего, а на телевизор у меня времени просто нет ))

Тогда, понимаете, бывают тайные знания. И бывают усиленно пиарящиеся трактовки для лохов широких масс. Чтобы не пришли бить.
Казалось бы, при чем тут Оберон?
Y = λf.(λx.f (x x)) (λx.f (x x))

Oleg N. Cher

  • Full Member
  • ***
  • Сообщений: 152
    • Просмотр профиля
    • Оберон-клуб «VEDAsoft»
Re: Оберонные русскоязычные форумы
« Ответ #152 : Январь 09, 2013, 08:12:12 pm »
Казалось бы, при чем тут Оберон?

Это к слову, к слову.

Geniepro наивен как ребёнок, верит всему что пишут в вики. Даже жалко как-то, обидеть ведь могут.

valexey_u, а что у твоего форума с часовыми поясами творится? Не нашёл в профиле где бы выбрать родное GMT+2. Или время тоже интернациональное?

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: Оберонные русскоязычные форумы
« Ответ #153 : Январь 09, 2013, 08:14:52 pm »
Geniepro наивен как ребёнок, верит всему что пишут в вики. Даже жалко как-то, обидеть ведь могут.
Смешно )))
to iterate is human, to recurse, divine

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

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Оберонные русскоязычные форумы
« Ответ #154 : Январь 09, 2013, 08:16:11 pm »
Казалось бы, при чем тут Оберон?

Это к слову, к слову.

Geniepro наивен как ребёнок, верит всему что пишут в вики. Даже жалко как-то, обидеть ведь могут.
Ну, было бы еще наивнее верить тому, что пишут на форумах :-)

valexey_u, а что у твоего форума с часовыми поясами творится? Не нашёл в профиле где бы выбрать родное GMT+2. Или время тоже интернациональное?
Профиль->Изменить профиль->Внешний вид форума->Часовой пояс
Y = λf.(λx.f (x x)) (λx.f (x x))

DddIzer

  • Гость
Re: Оберонные русскоязычные форумы
« Ответ #155 : Январь 09, 2013, 08:17:18 pm »

4. Мне насрать на карму... но по - ощущениям все ОК - а вы откуда знаете (насчет наказывает)?

Типичная ошибка. Не верите в карму, и в грех. Наверно Вы атеист, да?
Про наказание. Ощущение человека, которого жизнь не очень жалует, что может он сам в чём-то неправ. Кто-то идёт в этом случае целовать бороду попу, но я и попам не верю. Углубился в собственный поиск Истины.

.
Да нет же... я же сказал вам - Мне насрать на карму...  (=я не придаю ей большого значния)- а это не одно и то же... а истину ищут многие.. что  касается кармы и прочей эзотерики - то она просто  занимает довольно небольшое место в  ТЕКУЩЕЙ системе моего мироощущения. И потом. я не очень боюсь ошибаться (если дело касается меня самого).
« Последнее редактирование: Январь 09, 2013, 08:19:01 pm от DddIzer »

Oleg N. Cher

  • Full Member
  • ***
  • Сообщений: 152
    • Просмотр профиля
    • Оберон-клуб «VEDAsoft»
Re: Оберонные русскоязычные форумы
« Ответ #156 : Январь 10, 2013, 09:36:34 am »
Давайте проясним некоторые моменты, чтобы меня тут не упрекали в Оберон-фанатизме. Да, я считаю, что многие люди (и здесь в том числе) не понимают преимуществ Оберона, как когда-то не понимал их я.

У меня с ним было несколько озарений по ходу использования (не изучения). До этого я уже считал себя опытным программером и много писал на Си++, Дельфи (а ещё до этого на Турбо Паскале/Турбо Си, ассемблере 80x86, а ещё до этого для Спектрума на ассемблере Z80 и т.п.), интересовался и Лиспом, Фортом, Прологом и другими не императивными языками. Подробнее о том, чем доводилось заниматься, можно глянуть здесь и здесь.

Как-то подарили мне диск с компиляторами разными. Там был и Оберон. Посмотрел я его мельком. О, тут ведь есть Модула-2. А Турбо Паскаль с Турбо Си вообще моща, какой там нафиг Оберон.

Лет через 10, лазя по инету, увидел какие вещи пишут про Оберон, заоблизывался. Но там писали, что работает это чудо только на диковинных архитектурах. Но ещё лет через 5 скачал BlackBox, посмотрел и закрыл. Я чего хочу сказать. Что путь к Оберону непрост. Понимать его начинаешь не сразу. Я почему про устрицы и их вкус. Потому что сравнивая Оберон с Си в пользу богатства возможностей — он вовсе не блещет скромник.

Решил как-то для освоения переписать с Си++ на Оберон универсальный парсер. Сперва очень сильно не хватало беззнаковых типов и адресной арифметики, даже начал думать, что в Обероне чего-то не хватает для моего парсера. Но по мере переноса сишного кода в абстракции Оберона я с удивлением увидел, что код стал яснее, чище, понятнее. Выделились предпосылки для расширения. Позже, переписывая с Оберона на Дельфи, я понял, что так (как на Обероне) можно было писать с самого начала и на Си++, и на Дельфи, только вот почему-то на них так не получается.

Но самое большее потрясение меня ожидало когда я запустил программку на парсере. Она заработала с первого запуска. Ошибки нашлись, но мелкие. Часто, чтобы их выявить, я на ночь, а потом утром за чашечкой кофе/чая внимательно просматриваю ещё раз свежим взглядом листинг. С этой целью распечатываю обычно листинги, и смотреть на них приятно. Даже смотреть. Мне нравится кодить на Обероне — понял я. Это эстетично.

Второе открытие — Ofront (транслятор из Оберона-2 в Си). Пиши себе на Обероне и транслируй через Си в любой таргет. Начал я со слабого таргета — Спектрума. Пишу код, транслирую, а он работает. Ещё пишу, а он снова работает. Ошибки исправляются легко и сразу. Я понял, что на Си больше писать не буду. Прощай, пошаговый отладчик.

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

1.Оберон мал. Признаюсь честно, что только недавно догадался использовать ASH при описании констант. Низкоуровневое устроение модуля SYSTEM (да и само его присутствие) — это вообще гениальная находка. Здесь сразу по заголовку модуля видно или он медитирует сам в себе, или чего-то усиленно выводит и вводит посредством других модулей (в иных языках это тоже есть, но более размыто). Ещё толком не научился использовать IS, WITH и шину сообщений, хотя чувствую мощь. Т.е. несмотря на его малость, я понял Оберон ещё не полностью.

2. Базовые принципы, заложенные в него, позволяют надеяться, что какие бы процессоры и архитектуры не подсовывала нам промышленность, он туда ляжет. И наши алгоритмы и наработки не пропадут зря. Пример — мои попытки кодить мидлеты на GPCP. Там вроде всё настолько явошное, что фиг протолпишься. Ан нет. Можно ставить во главу угла сами алгоритмы, а не местное апи, главное сделать правильные привязки.

3. Ну просто магия. Код пишется быстрее, чем на Си, и практически не требует отладки. Посмертная не в счёт.

Я мог бы продолжать, но скромно надеюсь, что теперь здешний люд во мне увидит не Оберон-фанатика, кидающегося на всё что движется как бык на тряпку и кричащего обо всех углах что надо всё заменить Обероном. А человека разборчивого и даже в чём-то привередливого, который не станет хавать всё подряд.

Peter Almazov

  • Sr. Member
  • ****
  • Сообщений: 482
    • Просмотр профиля
Re: Оберонные русскоязычные форумы
« Ответ #157 : Январь 10, 2013, 10:11:45 am »
С этой целью распечатываю обычно листинги
Это сильно  :)

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Оберонные русскоязычные форумы
« Ответ #158 : Январь 10, 2013, 10:13:49 am »
С этой целью распечатываю обычно листинги
Это сильно  :)
Ну, этта.. Я тоже кой-чего люблю распечатывать, если есть такая возможность. С бумаги информация воспринимается лучше чем с экрана, это факт по моему даже научно доказанный.

Листинги это конечно роскошь, но вот документацию/статьи (pdf) которая есть в электронке, но которую нужно тщательно проработать, я распечатываю.
Y = λf.(λx.f (x x)) (λx.f (x x))

Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: Оберонные русскоязычные форумы
« Ответ #159 : Январь 10, 2013, 10:19:04 am »
я раньше распечатывал листинги на матричном принтере, а щас с бумагой и порошком для лазерника напряжёнка на этой работе -- народ возмущаться начнёт, если буду так делать)))
to iterate is human, to recurse, divine

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

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Оберонные русскоязычные форумы
« Ответ #160 : Январь 10, 2013, 10:36:31 am »
Давайте проясним некоторые моменты, чтобы меня тут не упрекали в Оберон-фанатизме. Да, я считаю, что многие люди (и здесь в том числе) не понимают преимуществ Оберона, как когда-то не понимал их я.

У меня с ним было несколько озарений по ходу использования (не изучения). До этого я уже считал себя опытным программером и много писал на Си++, Дельфи (а ещё до этого на Турбо Паскале/Турбо Си, ассемблере 80x86, а ещё до этого для Спектрума на ассемблере Z80 и т.п.), интересовался и Лиспом, Фортом, Прологом и другими не императивными языками. Подробнее о том, чем доводилось заниматься, можно глянуть здесь и здесь.
Ознакомился. Ну, что я могу сказать? Могу сказать, что вы, судя по портфолио, на С++ не писали совсем. (да, у меня есть опыт работы с Borland C++ Builder 6.0, и могу сказать что даже шестерка это не С++, увы) И тем более у вас нет опыта работы с современным С++. Тем более нет опыта работы с другими современными языками.

Решил как-то для освоения переписать с Си++ на Оберон универсальный парсер. Сперва очень сильно не хватало беззнаковых типов и адресной арифметики, даже начал думать, что в Обероне чего-то не хватает для моего парсера.
Использование адресной арифметики уже намекает, что там был использован не С++, а вариация Сей с классами.

И да, на таком уровне использования С++ (Си с классами в чистом виде), для этой задачи (парсер рукописный) действительно Оберон даст скорее всего выигрыш.

Но по мере переноса сишного кода в абстракции Оберона я с удивлением увидел, что код стал яснее, чище, понятнее. Выделились предпосылки для расширения. Позже, переписывая с Оберона на Дельфи, я понял, что так (как на Обероне) можно было писать с самого начала и на Си++, и на Дельфи, только вот почему-то на них так не получается.
Тут еще нюанс - программа переписывалась. То есть это была по сути N+1 (возможно вторая) версия программы. В процессе переписывания на другой язык задачу еще раз осмысливаешь, причем это происходит на более глубоком уровне чем при переписывании на том же языке. В основном именно поэтому эта N+1 версия оказалась лучше, осмысленней и чище. По моему опыту программа на самом деле становится красивой, стройной и осмысленной примерно на 4-5 итерации переписывания (впрочем, это в условиях когда на итерацию очень мало времени, нужно быстро результат, если времени на осмысливание достаточно, то вполне возможно что приемлемый результат будет уже на 2-3 итерации).

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

Часто, чтобы их выявить, я на ночь, а потом утром за чашечкой кофе/чая внимательно просматриваю ещё раз свежим взглядом листинг. С этой целью распечатываю обычно листинги, и смотреть на них приятно. Даже смотреть. Мне нравится кодить на Обероне — понял я. Это эстетично.
Мне лично много на чем приятно кодить. Скажем правильно написаный код на С++ крайне эстетичен (ой, чую я прилетит сейчас тухлое яйцо :-) ), код на haskell'e - тоже красив. Ада - прелесть. Оберон - вполне себе. Да и erlang тоже очень даже ничего.

Менее эстетичен код на Go (там почему-то дико мешаеются фигурные скобочки, уж не знаю почему. Они там как-то совсем ни к селу ни к городу, постоянно хочется их выбросить, а отступы оставить).

А вот от кода на js меня откровенно тошнит. И по синтаксису, и по семантике. И вообще по всему. Ничего не могу с собой поделать, прям хоть бери, и на каком-нибудь kotlin'e пиши...

Второе открытие — Ofront (транслятор из Оберона-2 в Си). Пиши себе на Обероне и транслируй через Си в любой таргет. Начал я со слабого таргета — Спектрума.
Да, это ценно.

Пишу код, транслирую, а он работает. Ещё пишу, а он снова работает. Ошибки исправляются легко и сразу. Я понял, что на Си больше писать не буду. Прощай, пошаговый отладчик.
Привет, пошаговый отладчик :-) Необходимость пошагового отладчика в последнюю очередь зависит от ЯП, и в основном зависит все же от окружения (enviroment) с которым приложение взаимодействует. У меня отладчик пошаговый служит в первую очередь для изучения поведения этой самой среды.

А приложения которые мало взаимодействуют со средой пишутся мною на С++ без пошагового отладчика вообще. С первого раза. Вот пример который был написан именно так, c первого раза: http://oberspace.dyndns.org/index.php/topic,392.0.html

А вот как без пошагового отладчика, и не имея на руках полные исходники я нашел две ошибки (помог человеку, так сказать, удаленно, онлайн):
http://subtroj.info/oberon@conference.jabber.ru/2013/01/09.html

Исходный посыл: [00:20:23]...[00:23:09]
Постановка и описание проблемы: [01:23:42]
Выявление последней проблемы (их было несколько): [02:26:34]
Окончание решение проблемы и окончательный переход к болтавне :-) : [02:47:11]

Тогда я начинаю понимать, что дядюшка Вирт в чём-то прав — у Оберона действительно есть преимущества перед мэйнстримом. Нас просто заставляют переходить на всё новые языки, хотя они часто являются всего лишь вариациями старых возможностей, нанизанных на тот же уродливый и неудобный сишный синтаксис.
Вирт действительно в чем-то прав, а именно: у Оберона действительно есть преимущество перед мейнстримом 25ти летней давности (в основном за счет заточенности под сборщик мусора). :-) Для ряда задач и применений у Оберона и сейчас есть преимущество, за счет его минималистичности, но при этом не игрушечности. Но это не для подавляющего класса задач.

2. Базовые принципы, заложенные в него, позволяют надеяться, что какие бы процессоры и архитектуры не подсовывала нам промышленность, он туда ляжет. И наши алгоритмы и наработки не пропадут зря. Пример — мои попытки кодить мидлеты на GPCP. Там вроде всё настолько явошное, что фиг протолпишься. Ан нет. Можно ставить во главу угла сами алгоритмы, а не местное апи, главное сделать правильные привязки.
Нет. В том смысле, что с портабельностью у Оберонов плохо. А на яву КП отлично ложится ровно потому, что КП изначально так и задумывался (все типы данных изначально под явовские подстроены). Попробуйте ка какой-нибудь алгоритм (например вычислительный) писаный для ББ на КП, перенести на 16ти битную платформу где целое число это 16ть бит и не больше. Радости будет МНОГО.

3. Ну просто магия. Код пишется быстрее, чем на Си, и практически не требует отладки. Посмертная не в счёт.
Для некоторых Оберонов для некоторых задач - возможно. Но не всегда.

И, кстати, почему постоянно сравниваем с Си? Это как бы давно не основной язык прикладного программирования. Может сравнивать с чем-то современным? Ну не знаю, с С++ хотя бы, ну или с Адой, или с Java и C#. С питоном, будь он не ладен, наконец. С js (отличный повод еще раз пнуть js случится, я всегда за это!). С Go. С Haskell'ем наконец.

Я мог бы продолжать, но скромно надеюсь, что теперь здешний люд во мне увидит не Оберон-фанатика, кидающегося на всё что движется как бык на тряпку и кричащего обо всех углах что надо всё заменить Обероном. А человека разборчивого и даже в чём-то привередливого, который не станет хавать всё подряд.
Ну, на счет того, кто на что кидается, посмотрим :-) Но на фанатика вы действительно пока не слишком похожи в плане Оберонов.
Y = λf.(λx.f (x x)) (λx.f (x x))

Oleg N. Cher

  • Full Member
  • ***
  • Сообщений: 152
    • Просмотр профиля
    • Оберон-клуб «VEDAsoft»
Re: Оберонные русскоязычные форумы
« Ответ #161 : Январь 10, 2013, 10:53:17 am »
Один прикидывается умным, другой культурным... ну а Дизер неадекватным. Он дзен-буддист.

Вот, ilovb, будет Вам урок, чтобы не путали эгоцентричный пофигизм с дзен-буддизмом. ;)

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: Оберонные русскоязычные форумы
« Ответ #162 : Январь 10, 2013, 11:06:54 am »
И, кстати, почему постоянно сравниваем с Си? Это как бы давно не основной язык прикладного программирования. Может сравнивать с чем-то современным? Ну не знаю, с С++ хотя бы, ну или с Адой, или с Java и C#. С питоном, будь он не ладен, наконец. С js (отличный повод еще раз пнуть js случится, я всегда за это!). С Go. С Haskell'ем наконец.
А с Lua?  ;D

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Оберонные русскоязычные форумы
« Ответ #163 : Январь 10, 2013, 11:09:49 am »
И, кстати, почему постоянно сравниваем с Си? Это как бы давно не основной язык прикладного программирования. Может сравнивать с чем-то современным? Ну не знаю, с С++ хотя бы, ну или с Адой, или с Java и C#. С питоном, будь он не ладен, наконец. С js (отличный повод еще раз пнуть js случится, я всегда за это!). С Go. С Haskell'ем наконец.
А с Lua?  ;D
C Lua сравнивать совсем не интересно - там Оберон проиграет по арифметике синтаксиса :-)
Y = λf.(λx.f (x x)) (λx.f (x x))

ilovb

  • Hero Member
  • *****
  • Сообщений: 2538
  • just another nazi test
    • Просмотр профиля
    • Oberon systems
Re: Оберонные русскоязычные форумы
« Ответ #164 : Январь 10, 2013, 11:10:50 am »
Один прикидывается умным, другой культурным... ну а Дизер неадекватным. Он дзен-буддист.
Вот, ilovb, будет Вам урок, чтобы не путали эгоцентричный пофигизм с дзен-буддизмом. ;)
Это тащемта был стеб. Дизер не принадлежит никаким конфессиям. Он только может свою основать...  :D