Re[20]: Насколько важен синтаксис языка?
От: VladD2 Российская Империя www.nemerle.org
Дата: 15.09.06 16:59
Оценка:
Здравствуйте, FR, Вы писали:

FR>Должен быть обратный вопрос: есть ли у C# серъезные преимущества перед Эйфелем.


1. Привычный для сишника.
2. Имеющий отличную инфраструктуру (библиотеки, IDE, документация).
3. Доступный (бесплатно или за копейки).

Уже этого более чем достаточно.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[35]: Оффтопик: Nemerle
От: FR  
Дата: 15.09.06 16:59
Оценка: +1
Здравствуйте, VladD2, Вы писали:

VD>Я бы так сказал, они как и C# хреново функциональные. То есть писать на них в функциональном стиле моно, но зачастую это менее удобно чем в императивном.


За счет того что в них функции первоклассные писать в функциональном стиле гораздо удобней чем в шарпе.
Re[33]: Дополнение к посту Vermicious Knid
От: FR  
Дата: 15.09.06 16:59
Оценка: +4 :))) :))
Здравствуйте, VladD2, Вы писали:

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


FR>>Того что выделено не достаточно. Я тоже когда смотрел придерживался практически такого же мнения о динамике как ты сейчас.


VD>Цитирую, как говорится, классиков .

VD>

Я вот не мало в свое мремя пописал на разных динамических языках.


Между тем же VB и питоном с руби разница не меньше чем между фортраном и шарпом
Поэтому и интересно на каком именно динамическом языке ты много писал.

FR>> eao197 тоже помнится говорил здесь об этом же. А насчет пописал на разных динамических языках можешь сказать на каких именно и примерный объем кода.


VD>Ребытя. Будьте чесны сами с собой. Вы выбрали Руби и Питон, не потому, что они динамические. А потому что они значитально удобнее чем кайо-нибудь С++ используемый вами до этого как основной язык. Но уже с C# перейти (даже) на Руби очень тяжело. А с какого-нибудь эээ, ну скажем Скалы, чтобы не раздражать население , вообще невозможно, так как серьезно теряещь в функциональности.


Люблю твои выводы читать
Тебе надо серъезно задуматся о карьере писателя — фантаста
Re[35]: Дополнение к посту Vermicious Knid
От: FR  
Дата: 15.09.06 16:59
Оценка: +1
Здравствуйте, VladD2, Вы писали:

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


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


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


Ты как раз и думаешь больше в терминах реализации.

VD>Но мы же говорим о производительсности в данном случае? А раз так, то мы дожны говорить о реализации. И тут все печально. Все замечательные разговоры об оптимизациях умных рантаймов таят как только вот такие вот умники распираемые от крутости своего динамического языка пихают в список элементы разного типа и начинают "пользоваться динамикой". Это моментально приводит к кончине как производительности так и надежности.


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


FR>>А джит компиляторы это уже успешно делали до того как вообще менеджед языки со статической типизацией появились.


VD>Не, не, не. Никаких JIT-компиляторов если вы хотите динамики. Джиты живут до той поры пока ваша динамика является по сути статикой. Джиту нужна статическая информация о типах. Ситуацию спасает то, что джит максимально приближен к времени выполнения и может получать информацию о типах на поздних стадиях. Но она ему нужна как воздух. Без нее JIT будет вставлять код интерпретатора в прямо в тела методов.


Есть и другие методики, в обсуждениях смаллтока их не раз перетирали, а тебя похоже заклинило на одной конкретной реализации jit'а и все остальное ты видишь только преломленным через это свое понимание.
Re[18]: Насколько важен синтаксис языка?
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 15.09.06 17:12
Оценка:
Здравствуйте, VladD2, Вы писали:

E>>Ok. Но более точно будет сказать так: "Мне тяжело писать exception safety код, вне зависимости от языка, на котором это делается".


VD>ОК, меня это устраивает. Со своей стороны скажу, что "Мне легко писать код так кая я умею пользоваться исключениями.".


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


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[35]: Дополнение к посту Vermicious Knid
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 15.09.06 17:17
Оценка:
Здравствуйте, VladD2, Вы писали:

E>>Историческая справка: Ruby я начал использовать в задаче, где любой компилируемый язык отдыхает именно потому, что он компилируемый.


VD>Помню, помню. Было срочно нужно написать свой мэйк.


Да. И не жалею. И не я один.

E>> И продолжаю его использовать именно из-за динамики.


VD>Меня то зачем зомбировать?


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


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[34]: Дополнение к посту Vermicious Knid
От: VladD2 Российская Империя www.nemerle.org
Дата: 15.09.06 17:19
Оценка:
Здравствуйте, pavel74, Вы писали:

VD>>Гибкость можно достичь и при тотальном контрле компилятора. Просто это сложнее сделать. Но будующее за сложным изнутри и простым с наружи.

P>О — тоже верно! "Просто это сложнее сделать" — дык часто бывает надо не сложнее а быстрее, а скорости работы результата более чем хватает.

Не надо извращать моис лова. "Просто это сложнее сделать" относится к разработке языка, а не к его применению.

VD>>Что до IDE, то раз уж динамические языки так круты, и так круты те кто их использует, то почему на них нельзя было давно создать охринительную IDE затмевающую жалкие поделки от МС и ДжетБрэйн?


P>Влад, ну чего ты заладил "так круты"


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

P> , никто и неговорит что супер-круты и круче токо горы, нету "серебрянной" пули.


Дык как раз говорят. И я уж даже сам начал верить. Но вот копнул... и все не так гладно. Точно совсем печально.

P> Есть в "динамике" своя привлекательность, ты это сам даже признал, несколькими постами выше.


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

P> Smalltalk я бы сказал вообще стоит особняком от других динамическиз языков, да это и не только язык а целый взгляд на разработку, можно сказать что в нем другой подход к разработке, а именно про то что в нем интерактивный, инкрементальный принцип построения приложения малыми кусочками с активным применением TDD и принципов экстремального программирования, в отличии от традиционного подхода write-complie-debug.


Мне кажется это выдуманное дистанцирование. Любой хороший Питонец или Рубиец может рассказать тебе тоже самое. А самое смешное, что хороший C#-повец тоже. TDD вопрос спорный. Для динамики — это костыль. А для статики полезное дополнение.

P> Лично мне такой принцип разработки (еще раз — интеактивное инкрементальное построение программы мальнькими кусочками) очень нравиться.


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

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


И как же она решает эту задачу? И почему же эта задача неплохо решается и в C#?
Все мои програмы написанные на C# писались именно так. Маленькими инкреминтальными шажками с постоянном тестированием (но чаще без юнит-тестов).

P> Не замечал к примеру такую особенность — что часто делаются навороченные фраймворки, а потом большая часть прикладного функционала реализуется за счет всяких XML конфигов и настроек (естественно без контроля компилятора).


Разное бывает. Бывает как ты говоришь, а бывает что XML применяется с котролем по схеме (или еще как) и очень по месту.

VD>>В прочем для меня это вопрос риторический я то точно знаю почему.

P>И почему же?

Потому что в реалии все по другому. И динамические языки откровенно не лучший выбор в больших и сложных проектах требующих высокой эффективности кода (а IDE это именно тот случай), и программисты успешно гнущие пальцы на форумах сталкивась со сложными проектами откровенно пасуют (причем по фигу каки они предпочитают языки), и сами динамические языки создают море трудностей при разработке IDE (информация то о типах есть только в рантайме в месте выполения). В итоге есть что есть. Самые крутые среды для Смолтока (о Руби и Питоне вообще не говорю) на поверку оказываются середнячками сильно уступающими лушим IDE для Java и C#.

P> Хотя для меня вопрос тоже риторический и на первых планах здесь никак ни "не правильность языка". А зря кстати если бы МС выпустил достойный аналог Smaltalk-а и также активно пиарил бы его возможно что бы "майнстрим" бы был бы совсем другой.


Это уже делал IBM. И очень упроно делал. Во второй половине 90-ых прошлого века. Но кончилось все тем, что эти проекты были выброшены на свалку истории, и сейчас IBM во всю развивает Яву.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[19]: Насколько важен синтаксис языка?
От: VladD2 Российская Империя www.nemerle.org
Дата: 15.09.06 17:19
Оценка: +1
Здравствуйте, Andrei N.Sobchuck, Вы писали:

VD>>Когда ты запустишь этот код, то получишь исключение вырубающее приложение.


ANS>Внимание! Если кто-то считает, что после бросания исключения программа должна вырубиться, поставте пожалуйста "+" Владу в его пост.


Ну, или минус тебе за демагогию и извращение чужих слов.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[34]: Дополнение к посту Vermicious Knid
От: Eugene Beschastnov Россия http://eugenius-nsk.livejournal.com/
Дата: 15.09.06 17:21
Оценка:
Здравствуйте, Eugene Beschastnov, Вы писали:

EB>Кстати:


VD>>Жык это еще хуже. Чтобы этот метод выбрать нужно взять каждый объект узнать его теальный тип (в массиве он ведь не приведенным к базовому типу вроде object лижит) и только потом вызвать метод. Причем все дожно быть по ссылке. Никакие джит-компиляторы тут ничего сделать не согут. Это будет опасный и тормозной код.

EB>Несомненно, это именно та причина, по которой JIT-компилятор впервые появился именно в Smalltalk.

Влад, и с чем же ты не согласен?
--
Бесчастнов Евгений
Re[35]: Дополнение к посту Vermicious Knid
От: Eugene Beschastnov Россия http://eugenius-nsk.livejournal.com/
Дата: 15.09.06 17:28
Оценка: +1
Здравствуйте, VladD2, Вы писали:

VD>"класс объекта записан в самом объекте" — это и есть "лежит приведенным к базовому типу вроде object" если говорить в терминах Ява/дотнет-рантайма.


Если говорить в терминах Java/DotNET — да, это максимальное приближение к реальности. И что? В реальности-то никакого "приведения типов" нету. А так получается, как в анекдоте:
— Слышал я вашего Карузо, фигня полная. Шепелявит, в ноту не попадает, ритм не выдерживает.
— А где ты его слышал-то?
— Да мне Рабинович напел.

PS. А еще можно рассуждать о функциональном программировании в терминах, например, Java
--
Бесчастнов Евгений
Re[36]: Оффтопик: Nemerle
От: VladD2 Российская Империя www.nemerle.org
Дата: 15.09.06 17:35
Оценка:
Здравствуйте, FR, Вы писали:

FR>За счет того что в них функции первоклассные писать в функциональном стиле гораздо удобней чем в шарпе.


C# 3.0 смотрел?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[36]: Дополнение к посту Vermicious Knid
От: VladD2 Российская Империя www.nemerle.org
Дата: 15.09.06 17:35
Оценка: :)
Здравствуйте, eao197, Вы писали:

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


Я не предполагаю. Я это делаю. И в областях куда мои руки дотянулись мне скрипты не нужны.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[34]: Дополнение к посту Vermicious Knid
От: VladD2 Российская Империя www.nemerle.org
Дата: 15.09.06 17:35
Оценка: :)
Здравствуйте, FR, Вы писали:

VD>>Цитирую, как говорится, классиков .

VD>>

Я вот не мало в свое мремя пописал на разных динамических языках.


FR>Между тем же VB и питоном с руби разница не меньше чем между фортраном и шарпом


И что? Он от этого динамическим перстал быть? Да и речь не о VB. Это ты его сюда прилепил.

FR>Поэтому и интересно на каком именно динамическом языке ты много писал.


Их было шутк 5. Самый известный тебе наверно JScript. Столкнуться с ним пришлось в следствии того что это единственный язык для веб-страничек. 3 штуки это языки к разным финансовым системам.

FR>Люблю твои выводы читать

FR>Тебе надо серъезно задуматся о карьере писателя — фантаста

ОК. Пошел думать. А то что-то я слишком много времени стал проводить с читательской аудиторией.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[36]: Дополнение к посту Vermicious Knid
От: VladD2 Российская Империя www.nemerle.org
Дата: 15.09.06 17:35
Оценка:
Здравствуйте, FR, Вы писали:

FR>Ты как раз и думаешь больше в терминах реализации.


Ты меня с кем-то путаешь.

FR>Мы говорили про приведения типов, и твое описание подобное описанию например C++ классов глазами ассемблерщика, но ты перескочил на производительность.


Поднимись выше... почитай еще раз.

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


Меня не заклинило. Я реалист практик. А вы верите в чудеса.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[19]: Насколько важен синтаксис языка?
От: VladD2 Российская Империя www.nemerle.org
Дата: 15.09.06 17:35
Оценка: 81 (2) :))) :))
Здравствуйте, eao197, Вы писали:

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


Еще раз. Мой код работает если в нем нет ошибок. А его отношение к рекламыным слоганам вроде exception safe меня просто не интересует.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[35]: Дополнение к посту Vermicious Knid
От: VladD2 Российская Империя www.nemerle.org
Дата: 15.09.06 17:35
Оценка:
Здравствуйте, Eugene Beschastnov, Вы писали:

VD>>>Жык это еще хуже. Чтобы этот метод выбрать нужно взять каждый объект узнать его теальный тип (в массиве он ведь не приведенным к базовому типу вроде object лижит) и только потом вызвать метод. Причем все дожно быть по ссылке. Никакие джит-компиляторы тут ничего сделать не согут. Это будет опасный и тормозной код.

EB>>Несомненно, это именно та причина, по которой JIT-компилятор впервые появился именно в Smalltalk.

EB>Влад, и с чем же ты не согласен?


С отсуствием логической связи. Ее тут просто нет.

Ну, и еще с тем, что JIT появился в Смолтоке. В Смолтоке появилось название JIT. А динамическая компиляция была в Лиспе за долго до первой версии Смолтока. Но это уже не важно.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[24]: Насколько важен синтаксис языка?
От: VladD2 Российская Империя www.nemerle.org
Дата: 15.09.06 17:35
Оценка:
Здравствуйте, eao197, Вы писали:

E>Вот интересно. Пусть дорогой разработчик на Java в Москве получает $3K в месяц. И требуется ему писать софт, который работает под Windows, Linux, Solaris и MacOS. Затраты на него будут составлять $3K в месяц + $500 на приобретение IDEA. JDK для всех этих платформ бесплатен.


Плата за IDE в рассчете на месяц?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[36]: Дополнение к посту Vermicious Knid
От: VladD2 Российская Империя www.nemerle.org
Дата: 15.09.06 17:44
Оценка:
Здравствуйте, Eugene Beschastnov, Вы писали:

EB>Если говорить в терминах Java/DotNET — да, это максимальное приближение к реальности. И что? В реальности-то никакого "приведения типов" нету.


Как раз в реальности приведение или динамическая диспечерезация с анализом типа есть, но от тебя это всячески скрывается. По этому ты не вдишь разницу между массивом мономорфным и полиморфным.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Вопрос к Sinclair
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 15.09.06 17:48
Оценка:
Здравствуйте, VladD2, Вы писали:

ГВ>>А можно узнать, с чем ты так настойчиво не согласен?

VD>Ты все равно не поймешь. Он ведь ответит общепринятыми понятиями, а ты ведь их не признашь.

Да почему же не признаю? На общепринятом: раз молчит, значит сказать нечего.
<< Под музыку: silent >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[15]: Насколько важен синтаксис языка?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 15.09.06 17:48
Оценка: -1
Здравствуйте, VladD2, Вы писали:

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


Ну, знаешь, если то, что мне тут говорят в ответ называть "логикой", то Кэрролл нервно отступает в Страну Чудес.

VD>Ведь в такой ситуации разумно или тихо прекратить обсуждение, или вообще признать — да был не прав...


Так я и признавал её там, где на то были основания. Основной тезис всё равно не опровергнут (в силу неопровержимости).

VD>Сколько можно продолжать эту бодягу?


Да не скажи, не скажи. Любопытная дискуссия получилась.

VD>И ведь из-за чего? Просто захотелось на зло Владам поддержать хама с распухшим самомнением? Неуже ли ты действительно хочешь относить к такой "элите"?


Для таких вопросов есть e-mail. Комментировать сие не буду.
<< Под музыку: silent >>
<< При помощи Януса: 1.2.0 alpha rev. 650 >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.