Добрый день, Александр!

Первый вопрос - аналогия борьбы процессорных архитектур CISC и RISC в своё 
время. Мне не полюбились как раз условия и блоки Рефала-5. Возможно, я в них не 
разобрался нужным образом. Но я достаточно работал в отраслях, где времени на 
поиск ошибки в очень большом коде системы - минуты. И если над каждой строкой 
нужно задумываться, когда нужно срочно исправить ошибку - это приводит к 
катастрофическим последствиям. Поэтому я за предельную простоту.


>Воскресенье,  1 декабря 2019, 14:37 +03:00 от Александр Коновалов 
>a.v.konovalov87_AT_mail.ru <refal@botik.ru>:
>
>Добрый день, Александр!
>«Постепенно, по мере усложнения задач, возникли желания по оптимизации и 
>оказалось, что проще вводить новые конструкции в язык, чем 
>интеллектуализировать исполнение программы изнутри.»
>Не понял мысль. Речь о каких новых конструкциях? Новые конструкции по 
>сравнению с базисным Рефалом (спецификаторы Рефала-2, условия и блоки 
>Рефала-5, конструкции с поэтичными названиями Рефала Плюс, действия Рефала-6 и 
>т.д.) ИМХО призваны повысить ясность программ, нежели оптимизировать 
>выполнение. Можно программировать и без них, только программы будут более 
>многословными, придётся писать много однообразного ( boilerplate ) кода, за 
>которым идея будет менее заметна. 
Всё развивается. Базовый Рефал - тоже очень простой язык. Но достаточно гибкий, 
чтобы усложнять его сколь угодно.
> 
>«Если ещё немного усложнить язык — получится Хаскелл, зачем тогда Рефал?»
>Для начала, Хаскель-98 сравнительно простой язык. Это уже потом в расширениях 
>языка наворотили всякие  GADT ’ы и прочее ботанство. А во-вторых, Хаскель не 
>получится — о чём написал Бойко в отдельном письме.
>  
Возможно, это лучший подход, но интересно самому разобраться, а вдруг, можно 
сделать совсем не так? А вообще, я имел ввиду тут не работу со списком, а само 
отождествление. Кстати, мысль о байткоде у меня появилась и ушла, но она мне 
нравится - это облегчает алгоритм отождествления. Вернусь к этой теме, спасибо.
>«Что могут сказать разработчики версий компилятора по поводу внутренней 
>простоты реализации?»
>Внутренняя простота реализации — это классическая плоская списковая реализация 
>+ байткод Романенко. Другие реализации будут сложнее.
> 
>«У меня интерпретатор не выходит пока что таким красивым, как хотелось бы. 
>Сложнее, чем внешняя концепция языка. Интересно, это мои недоработки или 
>действительно задача сложнее, чем кажется на первый взгляд?»
>Сопоставление с образцом (открытые переменные) сложнее, чем кажется на первый 
>взгляд. Если брать ограниченный ( strict ) Рефал, то там сопоставление с 
>образцом простое. Но и выразительные возможности у таких образцов беднее.
>  
В сентябре над этим Андрей Климов смеялся: "почему каждых хочет написать свой 
компилятор вместо того, чтобы объединить усилия?"
Но я хочу, чтобы на нём решались реальные задачи, а не только сравнивались 
индексы производительности.
>«У меня интерпретатор не выходит пока что таким красивым, как хотелось бы.»
>Рефал — это не язык, на котором программируют. Это язык, для которого пишут 
>реализации  😀 . Потому что это интересно. Рефал — это вызов «напиши для меня 
>компилятор».
> 
>С уважением,
>Александр Коновалов
> 
> 
>From: Александр Гусев gusev_aleksandr_AT_mail.ru [mailto:refal@botik.ru] 
>Sent: Friday, November 29, 2019 4:57 PM
>To: refal@botik.ru
>Subject: Нужна ли "Ленинская простота" в Рефале?
>
>
>Добрый день, коллеги!
>
>Есть два вопроса по поводу простоты.
>
>1. Я думаю, что сила Рефала - в изначальной краткости и логичности элементов 
>языка. Оптимизация была спрятана в компилятор. Это позволяет знакомиться с 
>языком и с первых же дней программировать без ограничений по сложности 
>используемых конструкций. Постепенно, по мере усложнения задач, возникли 
>желания по оптимизации и оказалось, что проще вводить новые конструкции в 
>язык, чем интеллектуализировать исполнение программы изнутри. Это понятно, но 
>не всегда это полезно. Если ещё немного усложнить язык - получится Хаскелл, 
>зачем тогда Рефал?
>
>2. Что могут сказать разработчики версий компилятора по поводу внутренней 
>простоты реализации? У меня интерпретатор не выходит пока что таким красивым, 
>как хотелось бы. Сложнее, чем внешняя концепция языка. Интересно, это мои 
>недоработки или действительно задача сложнее, чем кажется на первый взгляд?
>
>
>С уважением,
>Александр Гусев
>gusev_aleksa...@mail.ru
>>Пятница, 29 ноября 2019, 15:51 +03:00 от Александр Коновалов 
>>a.v.konovalov87_AT_mail.ru < refal@botik.ru >:
>>вопрос читаемости   — я считаю, что это вопрос привычки. Мне, например, 
>>трудно читать Рефал-2. Хотя я однажды читал исходник компилятора Василия 
>>Стеллецкого, уже к середине текст читался нормально. Так что вопрос привычки. 
>>Если прочтёте 1000 строк кода Рефала-5, то тоже сможете некоторое время 
>>нормально его воспринимать.
>>А кто-то из коллег — это Василий Стеллецкий. Он тоже писал в рассылку, что 
>>текст на Рефале-5 он не читает, а расшифровывает.
>>From: Eisymont Leonid verger-lk_AT_yandex.ru < refal@botik.ru > 
>>Sent: Friday, November 29, 2019 1:20 PM
>>To: refal@botik.ru
>>Subjec t: Re : Нужны ли вещественные числа в Рефале?
>>Про параллельность интересно, только нам запись типа Рефал-2 нужна, новые 
>>расширения явно неудачные, надуманные, в больших программах это "не 
>>прокатит", даже по примерам в письмах вижу, что программы не читаются. Кто-то 
>>из коллег, по-моему, также высказал такое мнение.

С уважением,
Александр Гусев
gusev_aleksa...@mail.ru
  • Re:... Sergei M. Abramov
  • RE:... Александр Коновалов a . v . konovalov87_AT_mail . ru
  • Re:... Boyko Bantchev boykobb_AT_gmail . com
  • RE:... Александр Коновалов a . v . konovalov87_AT_mail . ru
  • Re:... Arkady Klimov arkady . klimov_AT_gmail . com
  • Re[... Александр Гусев gusev_aleksandr_AT_mail . ru
  • Re:... Boyko Bantchev boykobb_AT_gmail . com
  • Re[... Александр Гусев gusev_aleksandr_AT_mail . ru
  • RE:... Александр Коновалов a . v . konovalov87_AT_mail . ru
  • RE:... Александр Коновалов a . v . konovalov87_AT_mail . ru
  • Re[... Александр Гусев gusev_aleksandr_AT_mail . ru
  • Re:... Andrei Klimov andrei_AT_klimov . net
  • Re[... Александр Гусев gusev_aleksandr_AT_mail . ru
  • Re:... Sergei M. Abramov
  • RE:... Александр Коновалов a . v . konovalov87_AT_mail . ru
  • Re:... Sergei M. Abramov
  • Re:... Boyko Bantchev boykobb_AT_gmail . com
  • Re:... Eisymont Leonid verger-lk_AT_yandex . ru
  • RE:... Александр Коновалов a . v . konovalov87_AT_mail . ru
  • Re:... Eisymont Leonid verger-lk_AT_yandex . ru

Ответить