Оберон-клуб «ВЄДАsoft»

Твердыня модульных языков
Текущее время: 28 мар 2024, 18:55

Часовой пояс: UTC + 2 часа




Начать новую тему Ответить на тему  [ Сообщений: 43 ]  На страницу Пред.  1, 2, 3, 4, 5  След.
Автор Сообщение
СообщениеДобавлено: 10 янв 2014, 19:10 
Не в сети
Аватара пользователя

Сообщения: 65
geniepro писал(а):
Ивашка, иди лучше к Петрушке в коровник содомитствовать...
Ох лол, придерживай свои влажные фантазии при себе, петросян.


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 11 янв 2014, 02:04 
Не в сети
Аватара пользователя

Сообщения: 1019
Откуда: Днепропетровская обл.
geniepro писал(а):
Кстати, о макросах Си. Их хватает не только для имитации всяких там циклов дейкстры, но и для более сложных вещей
А из вот этой мне нравятся только ножки, рожа жуть. ;)

geniepro писал(а):
Это было-то лет 20 назад, я уже и не помню, какие проги я тогда делал, да и в любом случае я даже исходники 10..15-летней давности не могу найти -- они мне не нужны для хранения
Ну покажи хоть 10-летней? Вот говорю же, что ты разрабатываешь, главным образом, заплатки, а мне это неинтересно. Наразрабатывался их аж тошнит. А как насчёт системы со сроком жизни не менее 20 лет? И потом — к ней снова заплатки? ;)

geniepro писал(а):
О, войны на том же RSDN или даже на дельфийском сайте иначе как священными не назовёшь.
Если ты называешь такие "войны" активной пропагандой, то зря. Она малоактивна и малоэффективна, именно поэтому я отошёл от таких войн и вместо того, чтобы бить каждого из мэйнстримистов кастетом, мечтаю ошарашить их чем-то поболее увесистым типа мегатонной бомбы. ;) Именно это максимально действенно.

geniepro писал(а):
Да нет, не отстаиваю, просто не теряю надежды что хоть кому-то открою глаза на истину, а то вы тут все такие заблудшие, жалко видеть )))
Ой какая трогательная забота. :D Щас вот выучу Хаскел и вырвусь-таки из лап полного невежества. ;)

Господа, давайте не превращать здешний форум в оберспейс, потомки не оценят. К тому же меня просили особенно беречь geniepro, не обижать излишне. Оч-чень пользительный человек для нашего форума оказался. :) По-своему порядок наводит, жаль только на Обероне не хочет кодить. ;)

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

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

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

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

Ада — это диван. Он может быть удобен дома или в отеле. Но никто не будет брать с собой диван на рыбалку. А складной стульчик (при всех несомненных преимуществах дивана в некоторых случаях) — вполне можно. Ты не таскаешь с собой повсюду десктоп с клавиатурой и монитором, но планшет — почему бы нет. Оберон мобилен. Его механизмы модульности и ООП — компактны. Его легко переориентировать. Но тебе вообще не угодишь. Нет в Обероне объединений — плохо. Есть они в BlackBox’е — тоже плохо. Не будете ничего делать на Обероне (не допилили ББ до x64) — плохо, будете — тоже плохо (говнокод плодите). Не нужно бояться переносить уровень языкостроя от владельцев коммерческих аэропортов в мастерские и гаражи, на разработчиков прикладных проектов. Но развивать Аду — это всё равно что пытаться собрать дома в гараже самолёт. Я-то летаю самолётами Аэрофлота, но дома мне самолёт не нужен, я кустарь-одиночка. Моя романтика — велосипед, луговые травы, костёр и песни под гитару, а не рёв моторов в аэропорте. И вот тут являешься ты расфуфыренный как страховой агент и призываешь летать исключительно самолётами Аэрофлота. ;) Летай себе, только денег на билет не проси. ;) И не предлагай всем заюзать крылья и элероны от самолёта в быту. Не пригодится.

P.S. Было бы конечно неплохо иметь нечто среднее между Оберонами и Адой. И достойный кандидат я видел только один — Modula 2 в ревизии 2010г. Но проект ещё не завершен, подождём. Пока же будем работать на Оберонах.


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 12 янв 2014, 02:07 
Не в сети

Сообщения: 203
Zorko писал(а):
Ну покажи хоть 10-летней? Вот говорю же, что ты разрабатываешь, главным образом, заплатки, а мне это неинтересно. Наразрабатывался их аж тошнит. А как насчёт системы со сроком жизни не менее 20 лет? И потом — к ней снова заплатки? ;)
Не знаю, что ты имеешь в виду под заплатками, таким вроде не занимаюсь ))

Те проги, которые я делал лет 10-15 назад, сами по себе ценности не представляют, поскольку являлись лишь частью приборов, разработкой которых я тогда занимался -- газоанализаторы для химической промышленности да всяких котельных и ТЭЦ, стрелковые тренажёры для местного МинОбороны и МВД. Я там разрабатывал не только программы для микроконтроллеров серий MCS51 и MCS96, но и электронику, а также частично оптико-механические узлы. Полных комплектов документации по этим проектам, у меня, естественно нет -- я же не храню архив того КБ, в котором я это когда-то разрабатывал...

Там особо ничего интересного нет -- эти программы просто управляли какими-то насосами, щёлкали клапанами, снимали показания с АЦП, делали несложные расчёты и отображали их на индикаторе или отправляли на PC...
Программы были в основном на сях, в одном месте мне не хватило одного такта процессора для обработки сигнала от видеокамеры -- прилось переписать обработчик прерывания на ассемблер. Был бы более мощный контроллер, возможно и не пришлось бы переписывать на асм что бы сэкономить полмикросекунды...

Программы для ПК в то время я делал на Трубо Паскале и Дельфях, тоже ничего интересного без того оборудования, которое они обслуживали...

Zorko писал(а):
Женя, ты напрасно не хочешь кодить на Обероне.
Время от времени я пытаюсь кодить на оберонах, но испытываю такие болезненные ощущения от этого процесса, что запал тут же проходит...

Zorko писал(а):
Но ты взгляни на Оберон как на семантическое подмножество Ады. И если в Аде есть подобный оберонскому аппарат модульности (в чём я, кстати, не уверен), то модульность Ады можно рассматривать как надмножество модульности Оберона, поэтому и здесь всё в порядке. Такую модульность и семантическую преемственность нужно только поощрять и пропагандировать всячески.
Главное преимущество модульности Ады -- это родовые пакеты данных. Был когда-то диалект Оберона, в котором сделали шаблонные модули, но почему-то это не прижилось...

Zorko писал(а):
Изучая Оберон как первый язык обучающийся узнает все современные языковые механизмы разработки на очень компактном наборе семантических свойств
Не могу согласиться с этим утверждением и считаю подобные утверждениями лживой пропагандой в духе инфо21.

Вот ты недавно заявил, что Вирт выбросил перечисления и объединения, заменив их расширяемыми записями и тем самым унифицировал систему типов или что-то там в этом духе.
А ведь перечисления, объединения и записи -- это всего лишь крайние варианты одной идеи -- алгебраических типов данных, которые в современных императивных языках, претендующих на замену С++, реализованы только в мозиловском языке Rust, насколько я знаю.

Классические примеры АлгТД на хаскелле выглядит примерно так:
Код: "OBERON"
  1. data List a = Nil | Cons (List a)
  2.  
  3. data Tree a = Leaf a | Branch (Tree a) (Tree a)
В этих примерах определений полиморфных списка и дерева на хаскелле есть и перечисление, и объединение, и своего рода записи.
Толковые примеры крайних случаев АлгТД мне сейчас в голову не приходят, вот примеры от балды:

Код: "OBERON"
  1. data SomeEnum = A | B | C | D
  2.  
  3. data SomeUnion = Variant1 Int
  4. | Variant2 Float
  5. | Variant3 Char
  6. | Variant4 String
  7.  
  8. data SomeRecord = SomeRecord
  9. { Field1 :: Int
  10. ; Field2 :: Float
  11. ; Field3 :: Char
  12. ; Field4 :: String
  13. }

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


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 12 янв 2014, 03:22 
Не в сети
Аватара пользователя

Сообщения: 1019
Откуда: Днепропетровская обл.
geniepro писал(а):
Не знаю, что ты имеешь в виду под заплатками, таким вроде не занимаюсь ))
Ну странно тогда то, что у тебя за годы-годы не собралось никаких своих личных наработок, каких-нить парсеров, конвертеров и т.п. А ведь всякий "новый" язык норовит подсунуть нам всё более "новые" механизмы для работы со списками, файлами, потоками, сетью и т.д. Никакой преемственности, полный отрыв от имеющегося. И все наши наработки приходится выбрасывать или переписывать заново (с последующей отладкой). Вот что напрягает.

Под заплатками я имею ввиду такую работу, на которой ты не имеешь возможности выработать свои программные наработки. Соответственно тогда, по большому счёту, не так сильно напрягают метания с языка на язык, но для меня было крайне важно найти один удобный и универсальный кроссплатформенный язык для подобных личных наработок (с перспективой для будущего), ничего лучше Оберона я за много лет не нашёл, и это закономерно, что для "заплаточной" работы Оберон нужно пилить и пилить, как Шура гири (пилите, Шура, пилите, они золотые (c) Паниковский). ;) Но зато Оберон же менее подвержен старению и устареванию в отличие от "больших" языков. И не в последнюю очередь благодаря возможности плавного вывода из языка устаревших механизмов и введение вместо них альтернативных. Уже не так важно как будет позиционироваться новый диалект, но нужна максимальная преемственность, чтобы все наработки остались с тобой, притом в удобном модульно-компонентном виде. Что же лучше — минимальные правки в коде для замены старых языковых механизмов новыми и модификации под немножко другой диалект или полное переписывание всего кода на совершенно другой язык? Как говорится, почувствуйте разницу. Фрагментация штука неизбежная, поэтому от неё не избавиться целиком, но нужно хотя бы стремиться к её уменьшению за счёт использования очень похожих диалектов хороших языков. Хотя безусловно каждый волен подходить к этому вопросу по-своему.

И взял я его как девушку, со всеми его недостатками, надеясь воспитать себе хорошую жену. ;)

geniepro писал(а):
Время от времени я пытаюсь кодить на оберонах, но испытываю такие болезненные ощущения от этого процесса, что запал тут же проходит...
Ну тогда попробуй не 07, а Компонентный Паскаль, вдруг понравится. :)

geniepro писал(а):
Главное преимущество модульности Ады -- это родовые пакеты данных. Был когда-то диалект Оберона, в котором сделали шаблонные модули, но почему-то это не прижилось...
Вот и хорошо что было. Если кому-нибудь это точно понадобится в Обероне — будет с чего начать. А в чём преимущество родовых пакетов перед традиционной модульностью Оберонов? Я, кстати, не согласен с тобой, что на Обероне плохо работать коллективно. Было бы с чем сравнивать. Если в Обероне, как ты говоришь, плохо, то в Си без модульности там вообще мрак. А ведь работают, и делают большие и сверхбольшие проекты. Более того, ничего не хотят в своей работе менять.

geniepro писал(а):
Zorko писал(а):
Изучая Оберон как первый язык обучающийся узнает все современные языковые механизмы разработки на очень компактном наборе семантических свойств
Не могу согласиться с этим утверждением и считаю подобные утверждениями лживой пропагандой в духе инфо21.
Ну хорошо, назови порочные с твоей точки зрения семантические механизмы Оберна. Синтаксис-то у него правильный, не сишный. ;) Если приучится кто-то, будет хорошо. И на Модуле сможет работать, и на Дельфи, и на Аде. А вот с Адой или шарпом в роли первого языка учащийся получит расстройство нервной системы. А уж с Хаскелом — вообще вывих мозга. ;)

geniepro писал(а):
А ведь перечисления, объединения и записи -- это всего лишь крайние варианты одной идеи -- алгебраических типов данных, которые в современных императивных языках, претендующих на замену С++, реализованы только в мозиловском языке Rust, насколько я знаю.
То, что ты называешь высоким словом "объединения", является не более чем хакерскими потугами упаковать в одну ячейку памяти разные типы данных. В Модуле за неимением расширяемых записей без этого не обойтись. А в Си такое хакерство вообще стиль жизни, притом не только в низкоуровневом коде. И за такой "стиль" убивать надо, ибо само его применение уничтожает главную ценность алгебраических типов данных (и вообще преимущества строгой типизации) — наличие абстрактного представления данных (чисел, строк, множеств) как именно данных, а не как байтов. Ничего более. Хотя в Аде, видимо, концепция алгебраических типов ещё более расширена — есть механизм, который мешает тебе умножать граммы на килограммы (и хорошо если ещё не приводит их друг к другу автоматически), а потом предлагаются, опять же, механизмы для того, чтобы это обойти (без таких механизмов низкоуровневый код не напишешь). Но в эти игры и так уже слишком заигрались имхо.

И ещё не забывай, что к объединениям безплатно прилагаются такие приятные вещи как размер типов данных в байтах, выравнивание на границу слов и двойных слов, дополнительные системные теги для записей и прочее. Всё это удивительно алгебраично. ;)

За всё время работы на Оберонах (не очень активной, но чаще всего связанной с системным программированием) объединения мне понадобились аж целых 2 раза: оба в биндинге к библиотеке SDL. Там они на своём месте, не поспоришь.


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 12 янв 2014, 14:07 
Не в сети

Сообщения: 203
Zorko писал(а):
geniepro писал(а):
Не знаю, что ты имеешь в виду под заплатками, таким вроде не занимаюсь ))
Ну странно тогда то, что у тебя за годы-годы не собралось никаких своих личных наработок, каких-нить парсеров, конвертеров и т.п.
Такие наработки привязаны к конкретным проектам, и особого смысла вне предметной области этих проектов не имеют...

Zorko писал(а):
geniepro писал(а):
Время от времени я пытаюсь кодить на оберонах, но испытываю такие болезненные ощущения от этого процесса, что запал тут же проходит...
Ну тогда попробуй не 07, а Компонентный Паскаль, вдруг понравится. :)
Принципиальной разницы между обероном-07 и КП/ББ нет, ведь синтаксически и семантически эти языки практически неразличимы, если их сравнивать с другими языками, такими как Ада или хаскелл...

Zorko писал(а):
geniepro писал(а):
Главное преимущество модульности Ады -- это родовые пакеты данных. Был когда-то диалект Оберона, в котором сделали шаблонные модули, но почему-то это не прижилось...
Вот и хорошо что было. Если кому-нибудь это точно понадобится в Обероне — будет с чего начать. А в чём преимущество родовых пакетов перед традиционной модульностью Оберонов?
Родовые пакеты данных просто добавляют параметрический полиморфизм. В С++ это делается с помощью шаблонов, в живых реализациях оберонов такого механизма вообще нет. Обычный программист вряд ли начнёт добавлять подобные механизмы в компилятор -- во-первых, это просто не его работа, ему свои задачи решать надо, во-вторых, у него это всё равно получится хуже, чем у профессиональных разработчиков трансляторов, в-третьих, даже если у него что-то получится, маловероятно что этим будет пользоваться кто-то ещё -- ведь если каждый начнёт самостоятельно расширять даже один и тот же транслятор, то в результате такая дичайшая фрагментарность получится, что о переносимости кода даже между одним и тем же транслятором можно будет забыть. Выйдет куча несовместимых диалектов одного и того же языка.
Вот что бы избежать подобной проблемы и приходится делать большие языки типа Ады и PL/1 или же делать языки расширяемыми -- типа Лиспа и Форта...

Zorko писал(а):
Ну хорошо, назови порочные с твоей точки зрения семантические механизмы Оберна. Синтаксис-то у него правильный, не сишный. ;) Если приучится кто-то, будет хорошо. И на Модуле сможет работать, и на Дельфи, и на Аде. А вот с Адой или шарпом в роли первого языка учащийся получит расстройство нервной системы. А уж с Хаскелом — вообще вывих мозга. ;)
Омг, сколько глупостей в одном абзаце...
С чего ты решил, что раз у оберона синтаксис не сишный, то значит он правильный? И сишный, и обероновский синтаксисы одинаково убоги. Впрочем, всё это уже вкусовщина.
Хотя не совсем. Всё же есть наблюдения, что питоноподобный синтаксис (двумерный, со значимыми отступами) очень сильно облегчает изучение программирования, уменьшает количество ошибок у новичков. Питоновский синтаксис с отсутствием операторных скобок (всех этих {} или begin-end) влияет сильнее чем даже то, императивный язык или функциональный.
Так что если уж зашла речь о правильности синтаксиса, то синтаксис питона куда правильнее, чем синтаксисы сей и паскалей/оберонов...

Zorko писал(а):
Ничего более. Хотя в Аде, видимо, концепция алгебраических типов ещё более расширена — есть механизм, который мешает тебе умножать граммы на килограммы (и хорошо если ещё не приводит их друг к другу автоматически), а потом предлагаются, опять же, механизмы для того, чтобы это обойти (без таких механизмов низкоуровневый код не напишешь). Но в эти игры и так уже слишком заигрались имхо.
Я не в курсе, есть ли в Аде поддержка типов с единицами измерений, возможно есть, я же говорил о такой поддержке применительно к F#, хаскеллу и с++.
ЗЫ. Погуглил -- и правда, для Ады тоже делались подобные библиотеки:
http://www.adapower.com/adapower1/lang/dimension.html
http://www.dmitry-kazakov.de/ada/units.htm

Однако к чему ты приплёл алгебраические типы и Аду -- я так и не понял. В Аде нет АлгТД, о чём я тебе неоднократно говорил уже...


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 12 янв 2014, 20:55 
Не в сети
Аватара пользователя

Сообщения: 1019
Откуда: Днепропетровская обл.
geniepro писал(а):
Такие наработки привязаны к конкретным проектам, и особого смысла вне предметной области этих проектов не имеют...
Очень жаль, что у тебя нет универсальных наработок, пригодных ещё для чего-то помимо прямого затыкания дыр назначения. Это значит, что тебе в каждом случае надо начинать с нуля и втискиваться в предлагаемые рамки библиотечных и языковых механизмов. Я усматриваю в этом проблему, которая тебя ввиду специфики твоей деятельности не так сильно коснулась.

geniepro писал(а):
Принципиальной разницы между обероном-07 и КП/ББ нет, ведь синтаксически и семантически эти языки практически неразличимы, если их сравнивать с другими языками, такими как Ада или хаскелл...
Зато в КП есть объединения! ;) Но короче, я понял, кодить не хочешь. И всё-таки чем тебе наш форум так приглянулся? Хочешь нас причесать под свою гребёнку? :) Вообще же посыл "я здесь самый умный" редко когда даёт положительные результаты. Очень редко.

geniepro писал(а):
Родовые пакеты данных просто добавляют параметрический полиморфизм. В С++ это делается с помощью шаблонов, в живых реализациях оберонов такого механизма вообще нет.
Параметрический полиморфизм это когда процедура не имеет зафиксированного жёсткого списка параметров и определяет их на лету? Но я не уверен, что такой механизм вообще полезен. В любом случае, механизм это громоздкий и второстепенный. И если для его использования нужно брать C++ или Ada, то я ещё миллион раз подумаю, мириться ли мне с побочными недостатками этих языков и стоит ли оно того. Т.е. это не цикл, не переменная и не процедура. Без него обошлось поколение программистов, и ещё обойдутся. Не надо во главу угла ставить второстепенные вещи. И уж точно преподавание программирования не очень проиграет, если обойдётся без этого.

А то представь. Первый урок geniepro. Выходит geniepro и говорит “запомните, детки. Самое важное, что бывает в языках программирования — это родовые пакеты данных. Теперь все языки без этого — полный отстой. Законспектируйте”. Надо ведь соизмерять мифы с реалиями? Ада уж точно не проникнет в классы и аудитории, и слава богу. Очень хорошо если туда не проникнет шарп. На том самом месте прекрасно себя зарекомендовал ТурбоПаскаль, который решал больше проблем, чем порождал их, поэтому, следуя преемственности, нужен просто модернизированный ТурбоПаскаль, отвязанный от доса. Собственно это Оберон и есть.

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

Значит языкоклёпов не сдерживает тот факт, что они породят ещё одного монстра, не совместимого ни с чем, кроме их кривых мозгов? А оберонщиков значит должна смущать потеря совместимости между какими-то мифическими трансляторами? Трансляторов КП в природе вообще существует всего два, притом очень даже совместимых по своей основе (языку), хотя GPCP можно рассматривать как расширение КП.

geniepro писал(а):
Выйдет куча несовместимых диалектов одного и того же языка. Вот что бы избежать подобной проблемы и приходится
... плодить такую туеву хучу языков, что даже упомнить все — и то сложно, и называть каждый из них наиновейшим словом в прогресивнейшем языкострое. ;)

geniepro писал(а):
делать большие языки типа Ады и PL/1 или же делать языки расширяемыми -- типа Лиспа и Форта...
И мы прекрасно знаем недостатки как сверхбольших языков (тяжеловесность, трудность переориентации к другим предметным областям; и они всё равно устаревают, даже несмотря на то, что в них понапихали, кажется, вообще всё что можно), так и расширяемых (общая семантическая безхребетность, которая сбивает с толку учащихся и даже бывалых). В Оберон-парадигме же при зафиксированном синтаксисе семантика вполне открыта для пересмотра и уточнения. В этом его сила. При всех недостатках такого подхода он наиболее предпочтителен имхо.

geniepro писал(а):
С чего ты решил, что раз у оберона синтаксис не сишный, то значит он правильный? И сишный, и обероновский синтаксисы одинаково убоги.
Ну да! Куда уж им до Хаскела. ;)

geniepro писал(а):
Всё же есть наблюдения, что питоноподобный синтаксис (двумерный, со значимыми отступами) очень сильно облегчает изучение программирования, уменьшает количество ошибок у новичков. Питоновский синтаксис с отсутствием операторных скобок (всех этих {} или begin-end) влияет сильнее чем даже то, императивный язык или функциональный.
Так что если уж зашла речь о правильности синтаксиса, то синтаксис питона куда правильнее, чем синтаксисы сей и паскалей/оберонов...
Ну не знаю. Синтаксис Питона может и хорош для начального обучения, но кто тебе мешает юзать отступы в Обероне? А у Питона кроме синтаксиса есть ещё интерпретируемость, смутное будущее и ещё куча других внутренних проблем. А мне лично в Питоне не хватает смачного THEN. :)

Человек в море информации, превосходящей во объёму ту, что он может переварить в миллиарды раз, вынужден разграничивать "это моё и этим я буду заниматься, а это нет". Я так понимаю, любим Питон — ходим на форумы по Питону, хвалим там его синтаксис, думаем как приспособить оный к Хаскелу, как юзать Питон и Хаскел вместе, короче говоря, что-то делаем для утверждения своих предпочтений. Не относимся к ЯП как к товарам в супермаркете, читая их рекламу, пробуя на вкус и нахваливая их достоинства, но не более того. Но денег-то (сил, времени и мотивации) чтобы приобрести (освоить) их все — просто нет.

А ты что делаешь? Хвалишь синтаксис из Питона, макросы из Си, родовые пакеты данных из Ады и АлгТД из Хаскела (если бы соединить всё это — получился бы такой уродец, что аж страшно становится). И совершенно напрочь игнорируя то, что: a) у каждого из этих средств полно других неупомянутых недостатков; b) это вместе не соединяется; c) порождает новые и новые витки фрагментации; d) убивает всех, кто хочет с этим разобраться (или накрайняк превращает в очкариков-гиков). И любой инженер, который хочет немного программировать, не будет всё это изучать. Он не дурак, он просто другими вещами занят. Слушай, да ты просто терминатор, особенно опасный для незрелых мозгов. :lol:

Я отношусь к языкам не как к товарам в магазине, а как к инструментам в гараже. Очевидно, что плоскогубцы, молоток и отвёртка должны иметь место, но десятитонный пресс и доменная печь там вряд ли нужны. :) Хотя превращать трактора в блинчики или в жидкость плоскогубцами и не так удобно, как под прессом и в домне. Короче, я за домашний языкострой. И конечно это хорошо если делатели языков будут брать в качестве базы Оберон, а не собственные больные фантазии.

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

geniepro писал(а):
В Аде нет АлгТД, о чём я тебе неоднократно говорил уже...
А! так они только в Хаскеле есть, да? :)

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

P.S. Ты вот любишь нахваливать красоту Рапиры и Алгола-68, но забываешь, что в этих языках напрочь отсутствуют современные языковые механизмы, которые есть в Обероне. А ещё сишный макропроцессор хвалишь, что он позволяет построить цикл Дейкстры, но пичалька в том, что большинство сишников не знает, что такое цикл Дейкстры...


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 12 янв 2014, 21:31 
Не в сети

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

Параметрический полиморфизм

АлгТД


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 12 янв 2014, 23:17 
Не в сети
Аватара пользователя

Сообщения: 1019
Откуда: Днепропетровская обл.
1. Полиморфизм сам по себе прекрасно достижим на Обероне благодаря модульности, которая позволяет очень удобно спрятать лишнее, в т.ч. часто и информацию о типе. Или, если тебе нравится зубодробильная терминология, инкапсуляция у модульности хорошая, получше чем у классов. Появляется возможность брать из одного модуля типы и данные этих типов и свободно передавать их в другие модули, не вникая в их устроение.

2. Параметрический полиморфизм (передавать типы в качестве параметров) — это чудовищно сложный, далёкий от железа и неэффективный механизм, что я бы им наверняка не пользовался. Кому надо — пусть пользуются, впрочем, не забывая, что к этому добру совершенно безплатно прилагается такой симпатишный довесок как виртуальная машина (или в случае C++ офигительно жирный рантайм).

3. В Обероне возможно работать с алгебраическими типами данных ровно и просто так же как с объектами.

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

Мы тут «ВЄДАsoft». Согласно Древнерусскому образному письму, которое передаёт нам мудрость Предков и заветы Богов:

Просто — Покой (равновесие) и рост, чем собственно и планируется заниматься.

Сложно — сие ложно.


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 12 янв 2014, 23:48 
Не в сети

Сообщения: 203
Zorko писал(а):
(или в случае C++ офигительно жирный рантайм).
Ну, конкретно у С++ не такие уж и сильные требования к железу. Если не использовать исключения и RTTI, то рантайма как такового и нет вовсе, во всяком случае не больше чем у сей или у оберона.

Zorko писал(а):
3. В Обероне возможно работать с алгебраическими типами данных ровно и просто так же как с объектами.
Да, можно эмулировать, но это не так наглядно и менее надёжно с точки зрения статической типизации. Больше проверок приходится на время исполнения, меньше -- на время компиляции...


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 12 янв 2014, 23:53 
Не в сети

Сообщения: 203
Zorko писал(а):
вообще поменьше пиши и побольше делай.
Если сравнивать по объёму твои сообщения с моими, то мне до тебя ой как далеко )) На одно моё слово у тебя десяток в ответ найдётся )))


Вернуться к началу
 Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 43 ]  На страницу Пред.  1, 2, 3, 4, 5  След.

Часовой пояс: UTC + 2 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


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

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
© VEDAsoft Oberon Club