Re[12]: Вопрос к Vlad2: Nemerle & R#
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 24.03.06 08:13
Оценка: +3
Здравствуйте, IT, Вы писали:

IT>Ты придрался к следующему:


IT>

Я считаю реализацию ООП в Окале неудобной.


IT>Ещё и выделил жирным шрифтом. Где тут Немерле?


Ты вырываешь фразы из контекста. Первоначально я указал Владу, что он в своем посте говорит о том, что не знает в достаточной степени OCaml, а затем говорит, что Nemerle по сравнению с OCaml более удобен, поскольку статически типизирован, типобезопасен и объектно-ориентирован. Но на самом деле OCaml так же статически типизирован, типобезопасен и объектно-ориентирован. Т.е. сравнение Nemerle с OCaml по этим критериям уже не выглядит убедительным.

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

Вот и все. С моей точки зрения, Влад сделал не очень удачное и обоснованное сравнение Nemerle с OCaml-ом.


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[10]: Вопрос к Vlad2: Nemerle & R#
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 24.03.06 08:16
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Более чем. Я же не не глядя гворю?


См. мой ответ IT
Автор: eao197
Дата: 24.03.06
.

VD>Ну, да ладно. Я так понимаю, что в остальном ты со мной согласен. И то не полохо.


Нет, не согласен Мне кажется, ты там особо ничего нового про Nemerle не сказал.
Просто я совершенно не сведущ в Haskell и OCaml чтобы как-то серьезно возражать тебе.


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[13]: Вопрос к Vlad2: Nemerle & R#
От: Lazy Cjow Rhrr Россия lj://_lcr_
Дата: 24.03.06 08:33
Оценка: +2
eao197,

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


Да!^:_ Замечу, это справедливо везде и всюду, а не только в программировании.
quicksort =: (($:@(<#[),(=#[),$:@(>#[)) ({~ ?@#)) ^: (1<#)
Re: Вопрос к Vlad2: Nemerle & R#
От: AleXXus Россия  
Дата: 24.03.06 09:49
Оценка: 12 (1) +1
Здравствуйте, EvilChild, Вы писали:

<cutted>

Вообщем то, что тема уже давно ушла от первоначального вопроса (в кратце — что нам даст то, что мы перепишем, используя Nemerle, какой-либо проект, написанный, например на C# 2.0) — это понятно, и понятно почему — потому что ответ на него в принципе уже ясен наверное всем.

А вот то, что разошелся такой внушительный спор, мне например несколько не понятно. (ну т.е. все таки понятно, с одной стороны , bigger longer and uncut хочет доказать, что Nemerle никакой не ФЯ, т.е. доказать то, чего никто и не утверждал , а VladD2 пытается ему это объяснить, — что мол не стоит опровергать то, чего никто и не говорил (по крайней мере он сам)).

Ведь по сути весь разговор, начавшийся, можно свести к паре абзацев и все. Nemerle убийца всех остальный ФЯ? Да ни за что. Убийца ООЯ? Тоже ни в коей мере. Это просто другое средство, и не более...
Да, безусловно есть задачи где нужен истинный ФЯ и никто и не суется туда с тем же шарпом, равно как и есть задачи где ФЯзыкам делать нечего (как уже было тоже сказано), соль в том, что в последнее время в мэйнстриме все меньше места ФЯ, но оно есть... И если попробовать охватить широким взглядом этот самый мэйнстрим — то может показаться, что ФЯ несправедливо (ну или почти) несколько позабыты что-ли...
Так вот имхо Nemerle как раз и создан для того, чтобы перекрыть точку соприкосновения что-ли этих двух разных областей.
Влад на мой взгляд попал в точку, заметив:

Как приятный бонус я ей рад. Но как единственно-верное учение — увольте.


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

Ну и если уж совсем абстрагироваться от языков, то как мне кажется всем известно, что абсолютной панацеи не бывает...
И в Nemerle конкретно, мне нравится именно то, что он позволяет писать и в том и в другом стиле — раз.
Плюс позволяет делать то, для чего делался R# — два.
Ну и просто на выходе можно получить стандартную дот нет сборку, которую как я понимаю можно использовать из того же шарпа или бэйсика.нет если в этом есть необходимость.
И уже этого, больше чем достаточно для того, чтобы Nemerle занял очень большую нишу (возможно откусив ее у других языков).
________________________________
When in Rome, do as the Romans do...
Re: Nemerle & R#
От: ironwit Украина  
Дата: 24.03.06 09:53
Оценка:
VladD2 пишет:
> Здравствуйте, EvilChild, Вы писали:
> EC>Код был бы понятнее?
>
> Квази-цитирование

а что есть квази-цитирование?
Posted via RSDN NNTP Server 2.0
Я не умею быть злым, и не хочу быть добрым.
Re[2]: Вопрос к Vlad2: Nemerle & R#
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 24.03.06 10:09
Оценка:
Здравствуйте, AleXXus, Вы писали:

AXX>Это о возможности писать в функциональном стиле... и ведь верно, очень хорошо, что я могу не меняя язык, писать, как в одном стиле, так и в другом. И именно в этом прелесть Nemerle, а не в том, что он в плане функционального программирования лучше любого ФЯ (он не претендует на это звание) или что он в плане ООП лучше любого ОО языка (на это он тоже, как я понимаю, не претендует... хотя я могу и ошибаться )


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

Re: плохой язык C++ :)
Автор: eao197
Дата: 10.03.06


Не страшно, что подобная мультипарадигменность в Nemerle приведет к таким же последствиям, как в C++?


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[3]: Вопрос к Vlad2: Nemerle & R#
От: AleXXus Россия  
Дата: 24.03.06 10:13
Оценка:
Здравствуйте, eao197, Вы писали:

E>Не страшно, что подобная мультипарадигменность в Nemerle приведет к таким же последствиям, как в C++?


Как мне кажется, в случае с Nemerle к таким последствиям приведет скорее не очень разумное использование "мультипарадигменности", нежели само ее наличие
________________________________
When in Rome, do as the Romans do...
Re[4]: Вопрос к Vlad2: Nemerle & R#
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 24.03.06 10:16
Оценка:
Здравствуйте, AleXXus, Вы писали:

AXX>Как мне кажется, в случае с Nemerle к таким последствиям приведет скорее не очень разумное использование "мультипарадигменности", нежели само ее наличие


Так ведь это и произошло в C++. Или есть основания полагать, что Nemerle будет использоваться "более качественными программистами", которые всегда все делают правильно и никогда ничего не ставят с ног на голову?


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[5]: Вопрос к Vlad2: Nemerle & R#
От: AleXXus Россия  
Дата: 24.03.06 10:26
Оценка:
Здравствуйте, eao197, Вы писали:

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


AXX>>Как мне кажется, в случае с Nemerle к таким последствиям приведет скорее не очень разумное использование "мультипарадигменности", нежели само ее наличие


E>Так ведь это и произошло в C++. Или есть основания полагать, что Nemerle будет использоваться "более качественными программистами", которые всегда все делают правильно и никогда ничего не ставят с ног на голову?


Да, вы правы, таких оснований нету. В моем предыдущем посте, я бы сейчас убрал Nemerle, т.к. не он определяет в данном случае И в принципе наверное действительно, вероятность того, что все придет к тому же — равна вероятности, с какой оно пришло к этому в С++.

Но тут есть другой момент. Раз уже есть печальный опыт (пришли один раз к такому), то можно попробовать использовать мультипарадигменность именно так, чтобы привела к "хорошему", а не "плохому"...
Хотя опять же — людей много, и так или иначе одни придут к "хорошему", другие к "плохому" итогу... И вот здесь — уже задача (возможно для авторов языка) — каким либо примером, или еще как, показать и научить, чтобы народ в массе своей чаще приходил к "хорошему", нежели к "плохому"

Да и вообще, всегда когда есть вариации — результаты будут разными. Один из кирпичей дом построит, а другой и себя и помошников под поддоном кирпичей похоронить может...
________________________________
When in Rome, do as the Romans do...
Re[3]: Вопрос к Vlad2: Nemerle & R#
От: Дарней Россия  
Дата: 24.03.06 10:45
Оценка: 27 (1) +2
Здравствуйте, eao197, Вы писали:

E>Не страшно, что подобная мультипарадигменность в Nemerle приведет к таким же последствиям, как в C++?


Проблема С++ не в том, что в нем есть мультипарадигменность. Его проблема в том, что никто не думал о том, чтобы встроить мультипарадигменность в С++. Никто не проектировал, не думал о том, как сделать лучше.
Возможность использовать метапрограммирование, например, возникла просто как побочный эффект работы компилятора, а потом это уже научились использовать.
Вот и результаты — соответствующие.
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[4]: Вопрос к Vlad2: Nemerle & R#
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 24.03.06 10:58
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>Проблема С++ не в том, что в нем есть мультипарадигменность. Его проблема в том, что никто не думал о том, чтобы встроить мультипарадигменность в С++. Никто не проектировал, не думал о том, как сделать лучше.


Сильное утверждение, однако.
Тем не менее, Nemerle поются диферамбы, хотя реальных проектов на Nemerle не видно (кроме самого Nemerle). А вот показательные примеры мультипарадигменных языков C++ (который только ленивый не ругает) и Lisp (который мало кто знает и еще меньше кто использует) почему-то в расчет не принимаются. Мол, мы уже ученые и ошибок темного прошлого не повторим.

Вот и посмотрим, что получится.


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[5]: Вопрос к Vlad2: Nemerle & R#
От: Дарней Россия  
Дата: 24.03.06 11:09
Оценка:
Здравствуйте, eao197, Вы писали:

E>Сильное утверждение, однако.


а ты хочешь сказать, что возможность написания библиотек типа Локи была запланирована Страуструпом заранее? не верю (С)
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[2]: Nemerle & R#
От: xbit Россия  
Дата: 24.03.06 11:12
Оценка: +1
Здравствуйте, ironwit, Вы писали:

I> а что есть квази-цитирование?


здесь
Автор: VladD2
Дата: 18.02.06
Нас не догонят!
Re[6]: Вопрос к Vlad2: Nemerle & R#
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 24.03.06 11:27
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>а ты хочешь сказать, что возможность написания библиотек типа Локи была запланирована Страуструпом заранее? не верю (С)


Я хочу сказать, что вот здесь:

Проблема С++ не в том, что в нем есть мультипарадигменность. Его проблема в том, что никто не думал о том, чтобы встроить мультипарадигменность в С++. Никто не проектировал, не думал о том, как сделать лучше.

ты ничего не говорил ни про Локи, ни про метапрограммирование. С появлением шаблонов в C++ действительно была мультипарадигменность -- можно было писать в процедурном, объектно-ориентированном и обобщенном стиле. И писать нормально. И я думаю, что до года 1995, когда стало понятно, что именно в C++ будет стандартизированно, как раз думали о том, чтобы язык сделать лучше. По крайней мере я помню, насколько проще становилось пользоваться C++ по мере того, как в компиляторах становились доступны шаблоны, пространства имен, исключения, STL.

То, до чего C++ довели в Локи со компанией -- это уже последствие отсутствия тормозов у некоторых оголтелых апологетов (имхо).

Но если говорить о Nemerle, скажи мне, в Nemerle есть препятствия для того, чтобы Nemerle не превратили в такую же страшилку?


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[7]: Вопрос к Vlad2: Nemerle & R#
От: Дарней Россия  
Дата: 24.03.06 12:00
Оценка: +2
Здравствуйте, eao197, Вы писали:

E>ты ничего не говорил ни про Локи, ни про метапрограммирование. С появлением шаблонов в C++ действительно была мультипарадигменность -- можно было писать в процедурном, объектно-ориентированном и обобщенном стиле.


процедурный стиль — всего лишь подмножество ООП.
"Обобщенный" стиль.. а что ты имеешь под этим в виду, если исключить буст и локи? STL? Ну дык это просто очень урезанный вариант ФП. Или что-то другое?

E>Но если говорить о Nemerle, скажи мне, в Nemerle есть препятствия для того, чтобы Nemerle не превратили в такую же страшилку?


в страшилку можно превратить все что угодно, если поставить себе такую задачу. Намного хуже, когда программу приходится превращать в страшилку, потому что по другому нельзя
... << RSDN@Home 1.1.4 stable rev. 510>>
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[8]: Вопрос к Vlad2: Nemerle & R#
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 24.03.06 12:06
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>процедурный стиль — всего лишь подмножество ООП.


Да уж...
И какое именно? Инкапсуляция? Полиморфизм? Не о наследовании же говорить?

Д>"Обобщенный" стиль.. а что ты имеешь под этим в виду, если исключить буст и локи? STL? Ну дык это просто очень урезанный вариант ФП. Или что-то другое?


Именно, другое. Обобщенное программирование в стиле Duck Typing-а.

Д>в страшилку можно превратить все что угодно, если поставить себе такую задачу. Намного хуже, когда программу приходится превращать в страшилку, потому что по другому нельзя


Тем не менее, ты мне не ответил.

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


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[9]: Вопрос к Vlad2: Nemerle & R#
От: Oyster Украина https://github.com/devoyster
Дата: 24.03.06 12:15
Оценка: +2
Здравствуйте, eao197, Вы писали:

E>Да уж...

E>И какое именно? Инкапсуляция? Полиморфизм? Не о наследовании же говорить?

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

E>Тем не менее, ты мне не ответил.


Дизайнеры C++ не думали о том, что C++ будут использовать для метапрограммирования. Дизайнеры Nemerle постулировали это с самого начала.

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

E>Вообще Nemerle славословят, но не используют. Я припоминаю только одного участника обсуждений, который использовал Nemerle вместо Delphi.


Дык он же только-только становится известным. Потерпи чуток
Re[7]: Вопрос к Vlad2: Nemerle & R#
От: Lazy Cjow Rhrr Россия lj://_lcr_
Дата: 24.03.06 12:19
Оценка: 47 (2)
eao197,

E>Но если говорить о Nemerle, скажи мне, в Nemerle есть препятствия для того, чтобы Nemerle не превратили в такую же страшилку?


К счастью для немерлистов препятствия есть. Это здравый смысл конкретного разработчика.

Как подходит программист на C++ к выбору библиотеки? Думает, выбирает, пробует. Если не подходит (кривая, неудобный апи, неэффективная) — откладывает в сторонку и переходит к следующей (или свою пишет).

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

Картинка получается счастливой, радужной. Примерно как в "Мы" Евгения Замятина...
quicksort =: (($:@(<#[),(=#[),$:@(>#[)) ({~ ?@#)) ^: (1<#)
Re[13]: Вопрос к Vlad2: Nemerle & R#
От: IT Россия linq2db.com
Дата: 24.03.06 12:58
Оценка: :)
Здравствуйте, eao197, Вы писали:

E>Вот и все.


Ну убедил.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[3]: Вопрос к Vlad2: Nemerle & R#
От: Anton V. Kolotaev  
Дата: 24.03.06 13:00
Оценка: +1
Здравствуйте, bigger longer and uncut, Вы писали:

BLA>Ну по крайней мере пока некоторые не будут вытеснены монстрами а-ля Maude и ASF+SDF


Maude и ASF+SDF — как я понял, специализированы на переписывании термов, и их использование в качестве универсальных языков, на мой взгляд, должно быть сопряжено с трудностями. Или это не так?
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.