Re[12]: Почему никто не использует функциональные языки
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.08.04 11:34
Оценка: 1 (1)
Здравствуйте, AndreyFedotov, Вы писали:

AF> И понятнее и проще. Но не функционально-языкасто. А потому есмь ересь и должно Mustdie (следуя логике проповедников ФЯ).

AF>А потом они удивляются, почему "никто" не хочет пользоваться ФЯ.

AF> Или хотя бы так, как обычно задаются запросы к SQL серверу. Это было бы весьма полезно.


Мы с Павлом Леоновым в самом начале работы над R# обсуждали подобное расширение. И пришли к мнению, что это вполне возможно даже без серьезного расширения синтаксиса.
... << RSDN@Home 1.1.4 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Почему никто не использует функциональные языки
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.08.04 11:34
Оценка:
Здравствуйте, ArtDenis, Вы писали:

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


Да ничего странного. То что можно современных ИЯ — это жалкое подобие того что было бы можно в принципе. Все же факторы и делегаты инструмент довльно ограниченный. В итоге приходится эмулировать. А любая эмуляция хуже чистой реализации.

AD>Только всегда ли это нужно?


Дык где не нужно можно не использовать.

ЗЫ

А вообще, я уже давно повторяю, что основное приемущество ФЯ заключается в их декларативности. Вот она очень нужна. Это рельный шанс снизить сложность разработки и приблизиться к идеалу в котором проектирование программы и ее реализация — это одно и тоже.

Я часто ловлю себя на мысле, что могу в черне описать довольно сложный алгоритм за какие-то 5-10 минут. А потом мучиться над его реализацие неделями. Декларативность позволила бы упростить процесс реализации и процесс восприятия сути программы.

Изходя из этого я и обращаю внимание на ФЯ как на представителей декларатинвой школы. Так же мне интересны SQL, XPath, XSLT, HTML и т.п. Даже атрибуты в Шарпе интересны для меня, так как позволяют упростить разработку.
... << RSDN@Home 1.1.4 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Почему никто не использует функциональные языки
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.08.04 11:34
Оценка:
Здравствуйте, ON, Вы писали:

ON>Волки санитары леса


Согласен. Но можно сказать все тоже самое и не так прямолинейно. Беседа и так временами доходит до грани фола.
... << RSDN@Home 1.1.4 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[8]: Не совсем
От: INTP_mihoshi Россия  
Дата: 21.08.04 11:39
Оценка: +1
Здравствуйте, VladD2, Вы писали:

VD>И что забавно, все в ужасных пдф-ах. Почему чем хуже дела с раскруткой тем больше ПДФ-ов? Такое ощущение, что ПДФ — это такое символ консерваторства.


Пдф — это признак печатных работ. HTML как-то для формул не предназначен, и для печати тоже. Поэтому пищут обчно на TeX, потом конвертят в ps и pdf.

Так что, для тебя научные работы — признак консерватизма. Не скажу, что это совсем уж не так
Re[12]: Можно и попроще
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.08.04 11:44
Оценка:
Здравствуйте, INTP_mihoshi, Вы писали:

INT>В Haskell то, что ты написал, выглядит так.


INT>
INT> map xxx x
INT>


Рад за них. Но это совсем не понятно. Краткость не есть качество.

INT>В других ФЯ примерно так же. При чем map — это не встроенная функция, а часть стандартной библиотеки. А то, что написал Гапертон — это как раз код аналога этой самой "map", работающий для любых функций и списков. Или других котейнеров.


INT>Кстати, если ты хочешь получить не функционального варианта — в OCaml есть метод List.iter fun list, которая работает с функциями, имеющим побочный эффект.


INT>В ФЯ ты сам выбираешь, как выглядит твой код.


К сожалению, все же за меня уже сделан выбор. Я могу выбрать только вариации, но все они связаны с рекусрисей и как следствие с перестройкой мозга на рекурсивный лад. А мне хотелось бы получить возможности декларатиного задания алгоритмов без подобных жертв. И с простым и понятный синтаксисом. Ведь даже то что ты привел из OCaml довольно некрасиво выглядит.
... << RSDN@Home 1.1.4 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Почему никто не использует функциональные языки
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.08.04 11:44
Оценка:
Здравствуйте, Павел Леонов, Вы писали:

ПЛ>Влад, SQL — декларативный, подкласс функциональный


Все же он не фунциональный. Он специализированный. Хотя временами похож.
... << RSDN@Home 1.1.4 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: Не совсем
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.08.04 11:53
Оценка: +1 -2 :)
Здравствуйте, INTP_mihoshi, Вы писали:

INT>Пдф — это признак печатных работ. HTML как-то для формул не предназначен, и для печати тоже.


У нас почти все статьи на сайте печатаются в журнале. Вот только мы находим смелость превратить их в HTML.

INT>Поэтому пищут обчно на TeX, потом конвертят в ps и pdf.


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

INT>Так что, для тебя научные работы — признак консерватизма. Не скажу, что это совсем уж не так


Ну, в каждой шутке есть...
... << RSDN@Home 1.1.4 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Тебе мозги насиловать необязательно.
От: INTP_mihoshi Россия  
Дата: 21.08.04 11:58
Оценка: +1
Здравствуйте, ON, Вы писали:

ON>Как хотите, а мне написание ФЯ упорно напоминает программирование на ассемблере. Все так же компактно. Так же сидя перед отдыхающим компьютером нужно свои мозги насиловать.

Попробуй все-таки написать на ФЯ хоть что-нибудь. Возможно, ощущение сходства с ассемблером исчезнет.
А насчет насилования мозгов — ФП, вобщем, не сложнее матанализа университетского уровня

ON>Еще, зачем я должен переменные таскать из функции в функции, когда можно их объявить глобальными.

А также зачем области видимости и инкапсуляция. Напридумали, понимаешь.

Кстати, все, кто считает, что функциональное программирование не нужно, могут перестать использоваться STL и забыть слова инкапсуляция и полиморфизм. Ибо все это как раз и есть элементы ФЯ, привнесеный в С++.

ON>На мой взгляд императивные языки это и есть доведенные до ума функциональные.

Ну что делать, не хватает у нас умишка-то на императивных кодить. Сопли-та еще подтирать и то не умеем. Вот и ковыряемся в ФЯ потихоньку...



P.S. Народ, чо это мы, а? Почему вдруг на личности стали скатываться? Включая Влада, который, как админ, вообще должен личный пример, аки пионер, подавать?
Re[3]: Тебе мозги насиловать необязательно.
От: Larm Украина  
Дата: 21.08.04 12:48
Оценка:
Здравствуйте, INTP_mihoshi, Вы писали:

ON>Еще, зачем я должен переменные таскать из функции в функции, когда можно их объявить глобальными.

INT>А также зачем области видимости и инкапсуляция. Напридумали, понимаешь.

INT>Кстати, все, кто считает, что функциональное программирование не нужно, могут перестать использоваться STL и забыть слова инкапсуляция и полиморфизм. Ибо все это как раз и есть элементы ФЯ, привнесеный в С++.


Классно. То инкапсуляция не нужна и не юзайте ее — отродие С++. То детище ФЯ. Но тоже не юзайте ее
The God who walks is among us...
Re[3]: Тебе мозги насиловать необязательно.
От: ArtDenis Россия  
Дата: 21.08.04 13:30
Оценка:
Здравствуйте, INTP_mihoshi, Вы писали:

INT>Кстати, все, кто считает, что функциональное программирование не нужно, могут перестать использоваться STL и забыть слова инкапсуляция и полиморфизм. Ибо все это как раз и есть элементы ФЯ, привнесеный в С++.


С каких это пор инкапсуляция и полиморфизм стали элементами ФП?
... << Rsdn@Home 1.1.4 beta 1 >>
[ 🎯 Дартс-лига Уфы | 🌙 Программа для сложения астрофото ]
Re[4]: Тебе мозги насиловать необязательно.
От: bkat  
Дата: 21.08.04 14:29
Оценка:
Здравствуйте, ArtDenis, Вы писали:

AD>Здравствуйте, INTP_mihoshi, Вы писали:


INT>>Кстати, все, кто считает, что функциональное программирование не нужно, могут перестать использоваться STL и забыть слова инкапсуляция и полиморфизм. Ибо все это как раз и есть элементы ФЯ, привнесеный в С++.


AD>С каких это пор инкапсуляция и полиморфизм стали элементами ФП?


А что такое по-твоему, к примеру,
полиморфизм и почему это не может быть в функциональных языках?
Re[5]: Тебе мозги насиловать необязательно.
От: ArtDenis Россия  
Дата: 21.08.04 14:43
Оценка:
Здравствуйте, bkat, Вы писали:

AD>>С каких это пор инкапсуляция и полиморфизм стали элементами ФП?

B>А что такое по-твоему, к примеру,
B>полиморфизм и почему это не может быть в функциональных языках?

Да, беру свои слова насчёт полиморфизма обратно. Сделал поиск и, с удивлением для себя обнаружил, что в полиморфизм является одним из принципов ФП.
... << Rsdn@Home 1.1.4 beta 1 >>
[ 🎯 Дартс-лига Уфы | 🌙 Программа для сложения астрофото ]
Re: Где у ФЯ матчасть?
От: ON  
Дата: 21.08.04 15:13
Оценка:
Где можно посмотреть исходники интерпретатора? Лучше что-нибудь по-проще, джентлементский набор.
Для lisp'а у меня есть by Marc Adler, 735 строк, всего лишь.

Для императивного языка мат.частью является процессор, если знаешь как он работает, как-то сразу и программы на ум приходят. Аналогично с Windows API. Хотелось бы узнать что за чудо понимает код ФЯ.
Posted via RSDN NNTP Server 1.9 beta
Re[4]: Тебе мозги насиловать необязательно.
От: AndreyFedotov Россия  
Дата: 21.08.04 15:25
Оценка: :)
Здравствуйте, ArtDenis, Вы писали:

AD>Здравствуйте, INTP_mihoshi, Вы писали:


INT>>Кстати, все, кто считает, что функциональное программирование не нужно, могут перестать использоваться STL и забыть слова инкапсуляция и полиморфизм. Ибо все это как раз и есть элементы ФЯ, привнесеный в С++.


AD>С каких это пор инкапсуляция и полиморфизм стали элементами ФП?


А они ими и не были... Эти понятия возникли в середине 60-х, применительно к обычным императивным языкам. Это потом — когда эти элементы показали и доказали свою эффективность — их стали включать или находить там, где их ранее не было...
Re[16]: ФЯ
От: Gaperton http://gaperton.livejournal.com
Дата: 21.08.04 16:41
Оценка: +2 -1
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, Gaperton, Вы писали:


VD>>>Смешно слушать твои фанатствующие крики временами перехдящие в открытое хамство
Автор: Gaperton
Дата: 20.08.04
.

G>>Это где ты там "открытое хамство" заметил?
VD>

Что за быдляцкие манеры.

G>> И вообще, кто бы говорил, а ты молчал
VD>Хочешь в бан на недельку?
G>> Тебе подборку твоих высказываний дать? Искать долго не придется — хамишь ты постоянно и всем.
VD>Давай.
G>> Да ты и в этом письме успел отличился, что искать.
VD>Ты видимо не умешь отличать хамства и оскорблений от не лестных слов. Это твои проблемы. Но знай, что подобная "агитация" резко отталкивает разумных людей от того чтобы заниматься тем за что агитируют.

Значит так, Влад. Твои "нелестные слова" являются на самом деле бестактностью, хамством, и оскорблениями. Мне все равно, как именно ты предпочитаешь называешь свои и чужие плохие манеры. Ясное дело, это становится не твоей проблемой, а проблемой окружающих. Мне надоело их слышать в свой адрес, и в чужой тоже. Не хочешь слышать, что твои манеры называют "быдляцкими"? Неприятно? (Замечу, что если бы я хотел тебя оскорбить, я бы назвал тебя "быдлом") Есть отличный способ — держи свои "нелестные слова" при себе. Любой воспитанный человек (каких, к счастью, на форуме много) не испытывает никаких трудностей удержатся от их употребления в адрес собеседника, им не требуется делять над собой усилий. Если у тебя с этим проблемы (я слышал, есть такая болезнь, но надеюсь, это не твой случай), то отправляй меня в бан. Или можешь сразу аккаунт удалить.

G>> Если бы я так реагировал на многочисленные провокации по поводу ФЯ

VD>Да нет никаких провокаций. Люди тебе говорят что думают. А ты все провокациями считаешь. Плевать всем на эти ФЯ.
Во-первых, говори за себя, а не за всех. Во-вторых, твоя и чужая бестактность провоцирует резкие ответы и флейм.

Давай я в порядке иллюстрации тоже скажу, что думаю, чтобы ты понял, что надо фильтровать поток сознания? Плевать всем на твой R#, ты даже объяснить зачем он нужен толком не смог, когда тебя попросили. Дай бог, если им будет пользоваться столько же людей, сколько захудалым языком Hope. Это не провокация, чего ты злишься! Я просто говорю, что думаю. Ты теперь должен конструктивно отвечать, по делу, а не хамить.

VD>Людям нужен удобный инструмент простой в изучении и использовании. А то что есть сейчас даже запустить тяжело. Не то что изучить и использовать на практике. Статья об этом собственно и говорит.

Статья, собственно, датирована 1998 годом. 6 лет прошло. Сейчас для того, чтобы запустить, надо для этого сначала скачать, потом запустить программу "сетуп", а потом ткнуть в появившуюся иконку в меню "Старт". Ты продолжишь настаивать, что это представляет для тебя сложность?

G>>, как ты на единственную подколку по поводу твоего R#, меня бы давно забанили,

VD>Плевать мне на твои потколки. Но слышать подобное процетированному не охота даже не всвой адрес.
У тебя все в порядке с причинно-следственными связями? Не понимаешь, в каких случаях я указываю на "быдляцкие манеры"? Держи свои "нелестные слова" при себе, и никогда не услышишь процетированное в свой адрес.

G>> или я бы удавился от расстройства. Спокойнее, Влад, без истерик. Ведь ваш R# и вправду ведь еще... гхм... не закончен? Ну так что ты шумишь?

VD>А я не шублю. Я тебе сказал свое мнение.
Первой фразой в своем письме выше по ветке ты мне сообщил самую важную часть твоего мнения. "Здесь ты не прав". Бестактно так начинать письма, и к тому же невыгодно тебе же, так как если ты ошибся, ты выставляешь себя дураком. Плюс, ты провоцируешь собеседника "упереться". Ну и естественно, ни в коем случае не уступишь сам — мосты сожжены.

VD>ФЯ ужербны и недоработаны. В них есть рациональное зерно, но оно отнюдь не в ругательствах вроде "lazy evaluation, lazy data structures" (это скорее затычки проблем чем достоинства).

VD>Достоинства в декларативности и в ином взгляде на код (под другим углом).
Функции высокого порядка и "ленивые вычисления" — это, основные и самые мощные механизмы ФЯ. Убери их — и от ФЯ почти ничего не останется. Просто, чтоб ты знал. Вообще, мне несколько странно, что ты, не зная ни одного ФЯ и не написав на нем ни одной программы (поправь меня, если это не так, назови язык, и мы поговорим предметно), берешься рассуждать, где там рациональное зерно, а где затычки проблем, и вдобавок говорить кому-то, что он не прав. У тебя самого этот факт не вызывает никакого беспокойства? Я бы на твоем месте постеснялся.

VD>Но они же порождают и недостатки. Как минимум используя ФЯ я не могу добиться построения такого исполнимого кода который я хочу получить. Отсюда и все споры о производительности.


Все споры о производительности исключительно от стереотипов. Кстати, я не заметил, чтобы кто-нибудь кроме тебя поднимал этот вопрос.

Есть такая программа на OCaml — Fastet Fourier Transform in the West (быстрое преобразование Фурье). Численные методы — что лучше для тестирования голой производительности? Она не зря называется Fastest. Попробуй ее обогнать на С#. А потом поговорим о производительности.

VD>Когад ФЯ оказывается заточен на решение конкретной задачи, то производительность у него приемлемая. Но как только задача не стыкуется с концепцией, то код плучается медленным и мало пригодным.

Медленный и малопригодный код можно написать на любом языке, для этого ума много не нужно. Надо использовать сильные стороны технологии, а не слабые, и все будет в порядке. Да, известны задачи, решение которых на императивных языках сильно проще и быстрее. Для этого в ФЯ есть императивные расширения, и средства межязыкового взаимодействия. Например, OCaml, кроме всего прочего — полноценный OO императивный язык.

VD>Именно по этому мне интересен подход с преобразованием декларативного стиля в имперетивный. Это позволяет контролировать результат. А так же добиваться большей выразительности.


Вообще-то этим преобразованием занимаются компиляторы. А твой подход может и хорош, у меня нет предубеждений. Но для начала тебе надо (я не указываю тебе что делать, просто напоминаю о том, что тебе сделать придется):
1) Полностью довести R# до рабочего состояния.
2) Убедительно показать, что этот подход будет давать реальные преимущества. Меня интересуют следующие измеримые преимущества:
— Заметное (в разы) сокращение объема программы в сравнении с аналогичной С++.
— Аналогичный рост продуктивности труда программиста.
— Заметное (в разы) увеличение качества ПО при тех же затратах, что и на разработку с С++.
3) Обеспечить качественную поддержку коммерческого уровня, и серьезные гарантии, что она не прекратится. Видишь-ли, когда кто-то выбирает средство разработки для проекта с бюджетом от миллиона и выше, он автоматически связывает себя с этим средством лет эдак на 5-10. И было-бы очень обидно, если через пару лет, когда в разработку вбухана куча бабла, выяснится, что спецификации R# изменились без уведомления, команда разработки R# считает, что критичные для моего продукта дефекты исправлять не надо, "потому что это фигня", и уже год как перестали выходить bug-fix релизы, по причине того, что команда занята реализацией очередной гениальной идеи. Предупреждая ответ — твои слова в форуме, какие бы нелестные они не были — это не гарантии, Влад. Это слова. А нужны гарантии. И пока никаких гарантий ты дать не можешь.

Замечу, что, например, с Erlang таких проблем нет и не будет, а применение Erlang по накопленой статистике промышленных применений за последние 10 лет дает измеряемый выигрыш по затратам минимум вчетверо при написании отказоустойчивых распределенных приложений. А это далеко не самый гибкий из ФЯ. Я уж не говорю об отказоустойчивости. Этот ненадежный динамически типизированный язык позволяет при разумных затратах писать софт объемем 1.7 миллионов строк кода с измеряемым временем отказов 99.9999999% (это 30 наносекунд в год. пример — AXD switch). Он позволяет доказывать корректность реализации (благодаря тому, что это ФЯ), что регулярно делали спецы Эрикссон в промышленной разработке — методики опубликованы, и теперь этот фокус может повторить каждый.

Люди начинают применять ФЯ не из фанатизма, как тебе наверно кажется, а потому, что они дают измеримое преимущество. Вовин применят Смолток не из фанатизма, а потому что он видит, что смолток позволяет ему (рискну предположить — вдвое) быстрее и качественнее делать софт.

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

А пока — извини. Все, что ты говоришь — это просто сказ о шкуре неубитого медведя.
Re[17]: ФЯ
От: Павел Леонов Россия icq: 138726397
Дата: 21.08.04 17:13
Оценка: 1 (1) +1
Здравствуйте, Gaperton, Вы писали :

Справедливости ради, стоит заметить, что Влад, начал с того, что пригласил поучавствовать. Это ты над ним малость посмеялся, потом пошло поехало. Причем, не прошло и пары наездов, как ты вместо смайликов предложил конструктивную критику и рекомендации, с этого места уже слушать приятно.

PS. ФЯ я интересуюсь, ссылок на статьи и обсуждения Хаскеля и Ерланга у меня в броузере больше чем на МСДН, sourceforge и прочее, однако, имхо не все так просто и очевидно. Наибольшее впечатление пока от Смолтолка и его способностей к evolution design.
Posted via RSDN NNTP Server 1.9 beta
Re[8]: Почему никто не использует функциональные языки
От: Gaperton http://gaperton.livejournal.com
Дата: 21.08.04 17:17
Оценка:
Здравствуйте, Larm, Вы писали:

L>Здравствуйте, Gaperton, Вы писали:


G>>Правильнее (и честнее) сказать, что ты их не знаешь.

G>>Ты их не знаешь, [а так как ты видимо думаешь, что знаешь все,] следовательно их нет .

L>Не надо только снова про мобильную связь! Это узкая ниша — там этих проектов всего пара будет, остальное это их поддержка и небольшие расширения со временем. Широко, вне этой ниши, они не применяются. Десктоп приложения на них не пишут.


А почему, собственно, не надо? Телеком — это не только мобильная связь. Это сетевые маршрутизаторы, и еще много чего — посмотри в моих ссылках. Вообще — да, ты прав, вне этой ниши серьезного опыта промышленных применений ФЯ на данный момент нет, есть эпизодические. Тем не менее, это факты успешного применения. Таким образом...
L>Факты реального успешного применения нужны. Их нет.
...ты должен признать, что они есть. И весьма положительные — отчеты публично доступны. И если ты заинтересуешься — ты найдешь еще больше примеров.
Re[3]: Почему никто не использует функциональные языки
От: Gaperton http://gaperton.livejournal.com
Дата: 21.08.04 17:38
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, Цунцуяби, Вы писали:


Ц>>Что-то Gapertona сильно бьют

Ц>>в этой ветке

VD>Дык кусается, вот и бьют.

Бьют, вот и кусаюсь.

Ц>>Вроде используют ФЯ :

Ц>>SQL, например, чем не ФЯ. Специализированный малость.
VD>Это скорее декларативный язык. ФЯ все же это отдельный класс прикладных языков. Собственно Gapertona пытается доказать, что ФЯ круче паравоза, а ему в ответ отчечают, что не вдили пока ФЯ в рельной жизни.
Собственно, Гапертон ничего такого доказать не пытается. Он не кричит — "императивные языки изжили себя". Это ему все пытаются доказать, что ФП — полный ацтой. А он препятствует опусканию ниже плинтуса.

Ты вот, например, начал свое первое письмо мне с первой фразой "ты здесь неправ", когда я мирно беседовал о смешении императивного и декларативного стиля в языке OCaml. В духе "сам с собой веду беседу". Твой ответ никак не не согласован с темой моего письма. На, перечитай. http://www.rsdn.ru/Forum/Message.aspx?mid=771466&amp;only=1
Автор: Gaperton
Дата: 19.08.04
А потом говори, кто кусается.
Re[17]: ФЯ
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.08.04 19:42
Оценка: -5
Здравствуйте, Gaperton, Вы писали:

G>Значит так, Влад. Твои "нелестные слова" являются на самом деле бестактностью, хамством, и оскорблениями.


Можно все таки увидеть оскорбления тебя лично?

G> Мне все равно, как именно ты предпочитаешь называешь свои и чужие плохие манеры.


В данном случае я вижу, твои плохие манеры. Вернее прямое оскорбление собеседника. Кстати, не меня. И не вижу причины по которой должен перехдить на обсуждение себя.

G>то отправляй меня в бан. Или можешь сразу аккаунт удалить.


Ну, матернись разок и я тебе это гарантирую.

VD>>Да нет никаких провокаций. Люди тебе говорят что думают. А ты все провокациями считаешь. Плевать всем на эти ФЯ.

G>Во-первых, говори за себя, а не за всех.

То есть ты тут говоришь за других обзывая их слова провокацией, а я за них сказать немогу? Луче мы подругому поступим. Если они со мной не согласны, то сам об этом скажут.

G> Во-вторых, твоя и чужая бестактность провоцирует резкие ответы и флейм.


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

Вопрос поднял ты. В очередной раз получил тот же самый ответ. И не довольный начинашь других считать безтактными и т.п.

G>Давай я в порядке иллюстрации тоже скажу, что думаю, чтобы ты понял, что надо фильтровать поток сознания?


Ну, если без оскорблений, то почему бы и нет. А до этого ты говорил не то что думаешь?

G> Плевать всем на твой R#,


Ну, и что?

G>ты даже объяснить зачем он нужен толком не смог, когда тебя попросили.


Или ты толком поянть. Ну, да тоже не проблема.

G> Дай бог, если им будет пользоваться столько же людей, сколько захудалым языком Hope.


Да я и не притендую. Мне интересно реализовать свои мысли. Если это удастся и результат меня удовлетворит, то я уже буду рад.

G> Это не провокация, чего ты злишься!


Где? Кто тебе это сказал. Я соврешенно спокоин.

G> Я просто говорю, что думаю. Ты теперь должен конструктивно отвечать, по делу, а не хамить.


Отвечаю.

Я прекрасно понимаю твою точку зрения. Более того без оскорблений она ничуть меня не задевает. Я и сам не верю в то, что в один момент вдруг R# превратится в самый популярный язык программирования. Но буду стараться сделать чтобы это было именно так. И уж ныть о том что все вокруг меня не понимают точно не буду.

G>Статья, собственно, датирована 1998 годом. 6 лет прошло.


Теболее. Актуальности она не потеряла.

G> Сейчас для того, чтобы запустить, надо для этого сначала скачать, потом запустить программу "сетуп", а потом ткнуть в появившуюся иконку в меню "Старт". Ты продолжишь настаивать, что это представляет для тебя сложность?


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

G>У тебя все в порядке с причинно-следственными связями?


У меня да. А вто у тебя... что-то сомнительно.

G> Не понимаешь, в каких случаях я указываю на "быдляцкие манеры"?


А не в каких не нужно. За одно это слово можно в бан на месяц. Тебе говорят, что не нужно его употреблять здесь. У тебя есть место где это делать можно. Вот там и делай.

G> Держи свои "нелестные слова" при себе, и никогда не услышишь процетированное в свой адрес.


Если тебе не нравятся мои слова, то ты волен ходить на другой сайт, а не затыкать мне рот.

G>Первой фразой в своем письме выше по ветке ты мне сообщил самую важную часть твоего мнения. "Здесь ты не прав".


И что? Это тебя оскорбило?

G> Бестактно так начинать письма,


Ну, уж извини. Я буду начинать свои писма так и впредь если я не согласен с мнением собеседника.

G> и к тому же невыгодно тебе же, так как если ты ошибся, ты выставляешь себя дураком.


Толко дурак боится ошибок (если конечо ошибки не могут привести к жертвам). Я высказываю свое мнение. Если я полчу сведения противоречащие моему мнению, я изменю свою позицию.

G> Плюс, ты провоцируешь собеседника "упереться".


Серьезно? То есть я виноват в твоей упертости? Или это ты о других?

G> Ну и естественно, ни в коем случае не уступишь сам — мосты сожжены.


Чему я должен уступить? Напору? Да не уступлю. Крикам? Тоже не уступлю. Я уступаю только логически верным утверждениям и фактам. От тебя идут одни эмоции. Ты почему-то пытаешся кому-то что-то доказать, но получается не очень. И начинается злость. Ну, и злость выплескивается в первую очередь на тех кто тебе открыто говорит, что по его мнению ты не прав.

G>Функции высокого порядка и "ленивые вычисления" — это, основные и самые мощные механизмы ФЯ.


Функции высокого порядка несомненно интереская концепция. Концпция повтоного использования алгоритмов. Но одной ею щаслив не будешь. А линивые вычисления лично на меня вообще не оказывают никакого впечатления. Я и без ФЯ могу их делать. Вот только не часто нужно. Они нужны именно, чтобы избежать проблем полного просмотра информации в ФЯ. Для ИЯ — это не проблема.

G> Убери их — и от ФЯ почти ничего не останется.


Если это так, то привлекательность ФЯ становится просто сомнительной. Однако это все же не так. В ФЯ есть много других приемуществ.

G> Просто, чтоб ты знал.


А это ты говоришь, чтобы твои слова казались более весомыми? Или просто задеть охота?

G> Вообще, мне несколько странно, что ты, не зная ни одного ФЯ и не написав на нем ни одной программы (поправь меня, если это не так, назови язык, и мы поговорим предметно),


Поправлю. Я пробовал писать на ФЯ и много читал о них. Увидил некоторые приемущества, но как ты это назывешь "не вкурил".

G> берешься рассуждать, где там рациональное зерно, а где затычки проблем,


А что нельзя? Я вот еще гоночных болидов не делал, но могу порассужлать о аэродинамике машины.

G> и вдобавок говорить кому-то, что он не прав.


А... Понял. Тебе нельзя говорить, что ты не прав. Для этого нужно ученую степень иметь. Хотя нет вообще нельзя. Это же прямое оскорбление. Доказывать свои утверждения у тебя не очень получается, так что можно вместо этого выместить злость.

G> У тебя самого этот факт не вызывает никакого беспокойства? Я бы на твоем месте постеснялся.


Ты бы постеснялся на своем. Пользы было бы больше.

G>Все споры о производительности исключительно от стереотипов.


А ну, да у ФЯ искоственный интелект. Они во всех случаях знают самый лучший алгоритм.

G>Кстати, я не заметил, чтобы кто-нибудь кроме тебя поднимал этот вопрос.


Я в этом не виноват.

G>Есть такая программа на OCaml — Fastet Fourier Transform in the West (быстрое преобразование Фурье). Численные методы — что лучше для тестирования голой производительности?


Лучше что-то более близкое к жизни простых смертных. Про тесты у нас на сайте я тебе вроде уже говорил. Попрбуй возсоздай.

G> Она не зря называется Fastest. Попробуй ее обогнать на С#. А потом поговорим о производительности.


Это вопрос алгоритма. Можно и на ВБСкрипте сделать быстро. Затачили язык на это или нашли лучший алгоритм и добились хороших результатов. А вот не будет заточена реализация под конкретные пробелмы и приплыли.

G>Медленный и малопригодный код можно написать на любом языке, для этого ума много не нужно. Надо использовать сильные стороны технологии, а не слабые, и все будет в порядке.


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

G> Да, известны задачи, решение которых на императивных языках сильно проще и быстрее. Для этого в ФЯ есть императивные расширения,


Неудобные они, эти расширения. Мне было бы удобне иметь функциональный механизм в ИЯ.

G> и средства межязыкового взаимодействия.


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

G>Вообще-то этим преобразованием занимаются компиляторы.


Вот и плохо.

G> А твой подход может и хорош, у меня нет предубеждений. Но для начала тебе надо (я не указываю тебе что делать, просто напоминаю о том, что тебе сделать придется):

G>1) Полностью довести R# до рабочего состояния.

Ёжику понятно.

G>2) Убедительно показать, что этот подход будет давать реальные преимущества.


Тоже понятно. Работаем и над тем, и над тем.

G> Меня интересуют следующие измеримые преимущества:

G>- Заметное (в разы) сокращение объема программы в сравнении с аналогичной С++.

Это само собой. Это уже в принципе есть.

G>- Аналогичный рост продуктивности труда программиста.


Тоже само собой. Правда при определенных условиях. "Здарова, мир!" точно проще не станет. А вот многие сложные задачи упростятся. Первым делом перепишим сам R# на нем же. Первая ласточка уже есть. R# генерирует код сам для себя. Пока не много, но все же.

G>- Заметное (в разы) увеличение качества ПО при тех же затратах, что и на разработку с С++.


Я бы не стал сравнивать с С++. Качество ПО увеличивается просто при переходе на Шарп. Но в общем по сравнению с обычным императивным подходом качество конечно повысится. Генерируемый код резко упрощает реализацию многих объемных задач. Это то самый аспектный подход о котором многие сегодня так часто говорят.

G>3) Обеспечить качественную поддержку коммерческого уровня, и серьезные гарантии, что она не прекратится.


Это я прекрасно понимаю. И прекрасно понимаю, что это очень сложная и важная задача. Не уверен, что у нас это удастся, но будем пытаться. Если бы еще помошников было больше...

G> Видишь-ли, когда кто-то выбирает средство разработки для проекта с бюджетом от миллиона и выше, он автоматически связывает себя с этим средством лет эдак на 5-10.


Меня миллионы не интересуют. По крайней мере пока. Если кто-то возмется за миллионные проеткы на R# я конечно буду рад. Но если и нет, то не растроюсь.

G> И было-бы очень обидно, если через пару лет, когда в разработку вбухана куча бабла, выяснится, что спецификации R# изменились


Дык мы генерируем код на C# и надеюсь эта возможность не исчезнет. Так что как максимум заставит "жить как все".

G> без уведомления, команда разработки R# считает, что критичные для моего продукта дефекты исправлять не надо, "потому что это фигня", и уже год как перестали выходить bug-fix релизы, по причине того, что команда занята реализацией очередной гениальной идеи.


Возмет исходники и поправит сам.

G> Предупреждая ответ — твои слова в форуме, какие бы нелестные они не были — это не гарантии, Влад. Это слова. А нужны гарантии. И пока никаких гарантий ты дать не можешь.


А кто может? Гарантия одна, конечный код — это код на C# (хотя можно сделать на любом дотнетном языке). Мы надстраиваем возможности над уже популярным языком, а не делаем все снуля. Думаю — это позволит избежать пробелм что есть у ФЯ.

G>Замечу, что, например, с Erlang таких проблем нет и не будет, а применение Erlang по накопленой статистике промышленных применений за последние 10 лет дает измеряемый выигрыш по затратам минимум вчетверо при написании отказоустойчивых распределенных приложений.


Это все слва сказанные теми кто неравнодушен к Erlang. Реальная статистика говорит о том, что количество его применений не сапоставима с популярными языками. Многие программисты не знают что значит слово Erlang не то что сам язык. Честно говоря эта тема уже надоела. Статистика твоя не убедительна. Читать код на ФЯ откровнно тяжело. Учить ФЯ очень тяжело. Мэйнстрим ими интересуется из любомытсва. И я не вижу рельного решения этих проблем. А без этого они так и останутся невостребованными гениальными идеями.

G> А это далеко не самый гибкий из ФЯ. Я уж не говорю об отказоустойчивости. Этот ненадежный динамически типизированный язык


Надежный и динамически-типизированный для меня лично понятия не совместимые.

G>позволяет при разумных затратах писать софт объемем 1.7 миллионов строк кода с измеряемым временем отказов 99.9999999% (это 30 наносекунд в год. пример — AXD switch).


Чистой воды рекламщина. Вот именно такие заявления приводят к тому, что на остальные слова никто даже не взглянет.

G> Он позволяет доказывать корректность реализации (благодаря тому, что это ФЯ),


А доказывать доказательства им же? Верификация есть не только у ФЯ. Но от ошибок это еще никого не застраховала.

G> что регулярно делали спецы Эрикссон в промышленной разработке — методики опубликованы, и теперь этот фокус может повторить каждый.


А нужно это кому-то? Ну, если реактор или самолоет обсчитывать, то возможно. Но 99% пишут бизнес софт. Где не то что доказать что-то а просто разобраться в законодательстве невозможно. Так что это все опят же грасивые громкие слова. Толку он них нет. Тебе уже не раз говорили, что если бы все было так изумительно как ты пытаешься представить, то никто уже давно бы не программировал бы на ИЯ.

G>Люди начинают применять ФЯ не из фанатизма, как тебе наверно кажется, а потому, что они дают измеримое преимущество.


Скорее всего так и будет... если это когда нибудь случится.

G> Вовин применят Смолток не из фанатизма, а потому что он видит, что смолток позволяет ему (рискну предположить — вдвое) быстрее и качественнее делать софт.


А я по тем же причинам использую C# и все твои бездоказательные предположения и утверждения пока что ни миня, ни других кто тебя слушал не убедили. даже наоборот. Кстати, какое отношение к ФЯ имеет Смлоток? Или это просто потому что тоже экзотика?

G>Вот когда твой подход даст измеряемый выигрыш по затратам хотя-бы на одном классе приложений хотя-бы вдвое (а лучше в четверо).


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

G> Когда тебе удастся сделать императивный язык, который позволит писать хотя-бы в половину такие надежные программы, как на ФЯ (с возможностью доказательств корректности).


А мне не нужны доказательства. Это тебе нужно ты с ним и мучайся. Меня удовлетворит мнение что продукты на R# получаются более устойчивыми чем на C# или C++.

G>Вот тогда я с интересом послушаю, и постараюсь разобраться, чем твой подход лучше ФЯ.


То есть чужие аргументы тебя не интересуют? Ну, а что ты тогда раздражаешся когда тебе говрят, что мы посмотрим на твоим хваленые ФЯ когда на них будет программировать хотя бы 10% программистов?

G> Да и не только я — все тебе в рот заглядывать будут и всем будет интересна твоя точка зрения.


В рот? Не это лишнее.

G>А пока — извини. Все, что ты говоришь — это просто сказ о шкуре неубитого медведя.


То что я говорю — это мои мысли. Я заранее говорю, что это всего лишь мои мысли. Так что чьи слова больше смахивают на сказку нужно еще разобраться.
... << RSDN@Home 1.1.4 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: Тебе мозги насиловать необязательно.
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.08.04 19:42
Оценка:
Здравствуйте, INTP_mihoshi, Вы писали:

INT>Попробуй все-таки написать на ФЯ хоть что-нибудь. Возможно, ощущение сходства с ассемблером исчезнет.


В чем-то он прав. Написать конечно не сложно. А вот понять потом... Читая код на ФЯ ощущаю себя дешифровщиком. Почему-то все время вспоминается Перл.

INT>А насчет насилования мозгов — ФП, вобщем, не сложнее матанализа университетского уровня




INT>Кстати, все, кто считает, что функциональное программирование не нужно, могут перестать использоваться STL и забыть слова инкапсуляция и полиморфизм. Ибо все это как раз и есть элементы ФЯ, привнесеный в С++.


Самое забавное, что тех кому оно совсем не интересно тут нет. Что обсуждать то что не интересно? Но есть многие которым интересно, но они не готовы переступить через себя, или не будут заниматься ими потому, что на них нельзя заработать деньги.

INT>P.S. Народ, чо это мы, а? Почему вдруг на личности стали скатываться? Включая Влада, который, как админ, вообще должен личный пример, аки пионер, подавать?


А где я на личности перехожу? Да и не модер я в этом форуме.
А вообще, поддерживаю! Лучше какой-нибудь конструктив обсудить.
... << RSDN@Home 1.1.4 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.