Re[27]: MIT переходи со схемы на...
От: WolfHound  
Дата: 04.12.06 14:09
Оценка: +1
Здравствуйте, eao197, Вы писали:

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

Не невозможно, а не разумно. Что называется почувствуйте разницу.

VD>>Ясно. Твой подход дико усторел. И ты снова пропагандируешь средневиковье.

E>И что? Если не ошибаюсь, сейчас люди платят огромные деньги за продукты, выращенные экологически чистым способом, фактически, средневековыми методами. Но зато без всех вредных последствий развития прогресса в виде пестицидов, нитратов и прочей дряни.
В огороде бузина, а в Киеве дидька. К чему эта демагогия? Одно с другим ну никак не связано.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[30]: MIT переходи со схемы на...
От: Andrei N.Sobchuck Украина www.smalltalk.ru
Дата: 04.12.06 14:15
Оценка:
Здравствуйте, Mirrorer, Вы писали:

M>Мммм. Возможно я неправильно понимаю, но не связность ли пытаются уменьшить различные паттерны ?

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

Всё правильно. И никакая статическая типизация не поможет если перед тобой огромная "куча макарон".
http://www.smalltalk.ru | << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Я ненавижу Hibernate
Автор: Andrei N.Sobchuck
Дата: 08.01.08
!
Re[28]: MIT переходи со схемы на...
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 04.12.06 14:22
Оценка:
Здравствуйте, WolfHound, Вы писали:

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

WH>Не невозможно, а не разумно. Что называется почувствуйте разницу.

А в чем разница?
Если это возможно и получается нормальный результат, то в чем неразумность?
Когда ты рассказываешь, что неделями не компилируешь код, потому что еще не придумал решения -- это, надо полагать, разумно. Когда я время-от времени трачу пару часов/дней на то, чтобы макет программы набросать на бумаге -- это уже неразумно.

VD>>>Ясно. Твой подход дико усторел. И ты снова пропагандируешь средневиковье.

E>>И что? Если не ошибаюсь, сейчас люди платят огромные деньги за продукты, выращенные экологически чистым способом, фактически, средневековыми методами. Но зато без всех вредных последствий развития прогресса в виде пестицидов, нитратов и прочей дряни.
WH>В огороде бузина, а в Киеве дидька. К чему эта демагогия? Одно с другим ну никак не связано.

Связано. Прогресс, понимаете ли, быстрей, быстрей, больше, больше. Дадим результат сейчас, а потом придумаем, как лечиться от последствий.
Наколбасим больше кода, когда-нибудь, дай бог, отрефакторим, когда поймем, что именно нужно рефакторить. Это нормальный подход. Умные дядьки его рекламируют. Специальные инструменты для этого продают. Мейнстрим, как же. Хрен поспоришь.

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

Ты прав, демагогия сплошная.


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[20]: MIT переходи со схемы на...
От: Mirrorer  
Дата: 04.12.06 14:24
Оценка:
Здравствуйте, VladD2, Вы писали:

Что-то вспомнилось.
Ты как-то говорил что если бы у Лиспа была нормальная типизация и синтаксис, то он имел бы большие шансы стать твоей следующей игрушкой.

Допустим (чисто гипотетически) что у тебя есть требование не использовать .NET
Твое мнение о Qi в таком случае ?

P.S. А к кому бы обратиться чтобы в раскраску c# добавить where. И почему для немерле схемы нет ?
... << RSDN@Home 1.2.0 3 Doors Down — Changes >>
Re[41]: MIT переходи со схемы на...
От: WolfHound  
Дата: 04.12.06 14:41
Оценка: :)
Здравствуйте, eao197, Вы писали:

E>Блин, как вы утомили, продавцы полосатых палок.

E>Где я говорил, что любой for будет читабельнее любого foreach-а? К чему ты привел сравнения foreach(e in myArray) с C++ным for для итераторов? Где я говорил подобные вещи? Демагогить изволите, судари. Да еще и меня же в ней обвиняете.
Дык твоейже монетой...

E>Я говорил о том, что могут быть задачи, которые решаются как foreach-ем, так и for, но читабельность решения на for-ах будет лучше даже не смотря на объем. Задачи!

Для некоторых задач лучше for для других foreach.

E>Пример простой задачи: изъять из ассоциативного контейнера (вроде stl::multimap) все элементы, значение (не ключ) которого удовлетворяет некоторому предикату. И желательно, чтобы это была inplace операция.

А если нужно просто перебрать элементы этого самого stl::multimap то foreach будет лучше.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[37]: MIT переходи со схемы на...
От: PhantomIvan  
Дата: 04.12.06 14:47
Оценка:
E>Я не понял, ты хочешь понять динамику или "чем динамика лучше Nemerle"?
E>Не лучше динамика Nemerle в абстрактном смысле. Так же как в абстрактном смысле Nemerle не лучше динамики.

да, я понимаю
я как бы конкретный смысл ищу
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[35]: MIT переходи со схемы на...
От: PhantomIvan  
Дата: 04.12.06 14:47
Оценка:
PI>>имею в виду:
PI>>архитектура такая же, как была бы на статике
PI>>типа тим лидеры запрещают делать хитровыверты... типа генерации кода на лету

ANS>Кодогенерации не было, но использовалась рефлексия для (авто)привязки гуя к модели.


гм, рефлексия в дотнете считается плохим стилем
за исключением когда она inherent (инстрементарий)
а также workaround-ов некоторых особо злобных (внешних) багов/design flaws

ANS>>>Использовал, и расширение классов своими методами,

PI>>nemerle/c# 3: extension methods

ANS>afaik, это не доступно без перекомпиляции уже скомпиленного кода плюс есть ограничение на видимость?

доступно без перекомпиляции (можно расширять хоть стандартную библиотеку), видимость та которую ты укажешь (естественно, всё видно в пределах твоего приложения/namespace-а)
ANS>А использование из VB.Net?
CLR не ставит знаков различия между C#.NET и VB.NET

ANS>>> и перекрытие существующих методов моими версиями

PI>>наследование

ANS>нет, полная замена предыдущего исходного кода новым. (Напр.)


с точки зрения дотнетной идеологии — такого рода фича была бы огромной дырой в секьюрити
более того, в дотнете нет особых средств противостояния reverse engineering, зато есть средство гарантирования целостности сборок (strong names)

ANS>>> (последнее делал для багфиксов GLORP, которые то появлялись в основном коде, но позже, а работать нужно было сразу). Как пример: я там уже давно не работаю, но когда народ там начал переезжать на XPSP2 оказалось, что в базовой GUI-библиотеке вылез какой-то баг с реакцией на dbl-click под SP2. Нашел в инете, какой именно метод в базовой библиотеке нужно пропатчить, и отправил в контору парсел (парсел — единица распространения ST-кода в VisualWorks, может включать как классы, так и отдельные методы в любой их комбинации) с этим методом. Всё заработало. Прикол в том, что сырцов той проги у меня нет. А возможность фиксить некоторые баги — есть

PI>>workaround-ы

ANS>? не знаю что это.


это обход багов во внешних библиотеках, например
например, когда находят баг в дотнете, а микрософт не спешить поднять булки этот баг поправить, люди (или сам микрософт) публикует workaround — способ обойти этот баг
то есть не вижу отличий статики от динамики в этом плане — и там и там есть способы обойти баги
но опять вспомним о security — такого рода "горячая замена" легко превращается в "горячую подмену", в руках злоумышленника

ANS>>> Возможность налету переделать метод и перезапустить выполнение проги с некоторой точки — это было очень приятно.

PI>>apply code changes, хотя аналогия не полная

ANS>далеко не полная.


естественно, hot code swap — это фича чисто динамическая
но:
1. нужна ли она так сильно?
особенно в свете:
2. мнения, что — это design flaw, оставляющий огромную дыру в секьюрити

ANS>>> Иногда выполнял код прямо в процессе написания кода. То есть пишеш-пишеш — бац, непонятно как точно работает метод. Тут же, в окне написания кода выполняеш то, что интересно и смотриш.

PI>>object test bench в Visual Studio

ANS>И в нём доступна полностью проинициализированная твоя прога?

в нём можно протестировать любой объект
естественно, ты должен его перед этим проинициализировать (подставить данные на вход конструктору)

PI>>не флейма ради, просто пытаюсь понять, какие динамические фичи нельзя реализовать статикой


ANS>Можно многое. Наверное окромя hoto code swap.

то есть, в статике можно многое, что можно в динамике?

ANS> Вопрос только в цене использования неких фич (типа рефлексии),


ANS> и соответсвия языка/инструментария/комьюнити твоему мышлению.


при условии наличия макросов в Немерле, редкая необходимость-by-design в рефлексии, совсем отпадает

PI>>ещё можешь предложить чисто динамические механизмы для интереса?


ANS>Результаты подведены давно
Автор: Gaperton
Дата: 12.01.05
.


будем посмотреть

ANS>>>Вот чего я не делелал, так это не вставлял в код явную проверку типов, не писал тесты для проверки типизации и прочей чепухи.

PI>>но ты ведь с лёгкостью можешь сказать, в каком месте какой тип будет?

ANS>Для неизвестной проги — врядли

вижу преимущество немерле в этом месте
ANS> С другой стороны, когда выяснилось что драйвера на pure-ST для PostgreSQL не понимают уникода, то на нахождение тех трёх мест где пришлось добавить перекодирование у меня ушла пара часов. И потом несколько суток, на объяснение проблемы и сути фикса автору драйвера И это при том, что я ни драйвера того раньше в глаза не видел, ни архетиктуру ДБ-слоя не знал.
кул, но это больше к твоей крутизне относится, чем к динамике, не так ли?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[35]: MIT переходи со схемы на...
От: PhantomIvan  
Дата: 04.12.06 14:57
Оценка:
PI>>>>а Эрланг — чистая динамика?

К>>>Да, конечно.


PI>>какое твое мнение о реализации параллельной библиотеки в Скале?

PI>>они говорят, подобна Эрлангу, выполняет те же функции...

К>Вообще одним из тех, кто тебе отвечал и одним из первых, упомянувших про эту библиотеку был я

К>Если по сути — интересно, вроде как всего в 2 раза медленней Эрланга.
естественно, на дотнете должно заработать гораздо быстрее
К>Только вот OTP там нету конечно — большой минус.
но ведь есть JRE
К>Плюс Скала — имеративный язык, со всеми вытекающими (хотя чётко аргументировать тут сейчас не могу).
гм, функции в Скале — первоклассные значения, поддерживаются многие фичи ФП...
о чём ты?
К>Плюс там это всё работает только в рамках одной JVM, когда распределённые приложения для эрланга — одно из первых применений.
главное внутренне присущее требование к распределённости — мультиплатформенность — у джавы выполнена
какая разница, ставишь ты OTP или JRE?
ведь у эрланга ведь тоже свой рантайм, правильно?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[30]: MIT переходи со схемы на...
От: PhantomIvan  
Дата: 04.12.06 15:05
Оценка: +1
VD>>Я не гворил что на динамике нельзя создавать большие проекты. Вполне можно. Я говорил, что на динамике сложно создавать большие сильно связнные проекты.

M>Мммм. Возможно я неправильно понимаю, но не связность ли пытаются уменьшить различные паттерны ?


паттерны организуют связи, иногда удаляют лишние, но они не могут уменьшить число "внутренне присущих" связей

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


возьмём, к примеру, платформу .NET как пример сильносвязанного проекта
он огромен, а внутренние связи превращают его в клубок, где всё используется всем
для C# нужен сборщик мусора, который нужен для обеспечения всего в дотнете
ADO.NET написан на C#, но и предъявляет требования к сишарпу (nullable-типы в C# были введены в основном, из-за требований ADO.NET-а)
ASP.NET — сложнейший фреймворк, интегрирующийся с IIS (ещё одним огромным проектом), немыслим без ADO.NET
... и другие штучки-дрючки: выкинь одно звено, и рассыпется вся цепь (я молчу про саму ось)

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


примеры под ногами : буцаем — не замечаем
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[36]: MIT переходи со схемы на...
От: Andrei N.Sobchuck Украина www.smalltalk.ru
Дата: 04.12.06 15:08
Оценка:
Здравствуйте, PhantomIvan, Вы писали:

ANS>>afaik, это не доступно без перекомпиляции уже скомпиленного кода плюс есть ограничение на видимость?

PI>доступно без перекомпиляции (можно расширять хоть стандартную библиотеку), видимость та которую ты укажешь (естественно, всё видно в пределах твоего приложения/namespace-а)

я имел ввиду видимость "расширяемого" класса из самого extension метода.

ANS>>А использование из VB.Net?

PI>CLR не ставит знаков различия между C#.NET и VB.NET

CLR не ставит, но CLS ставит.

ANS>>>> и перекрытие существующих методов моими версиями

PI>>>наследование

ANS>>нет, полная замена предыдущего исходного кода новым. (Напр.)


PI>с точки зрения дотнетной идеологии — такого рода фича была бы огромной дырой в секьюрити


о какой секьюрити идёт речь?

PI>>>workaround-ы


ANS>>? не знаю что это.


PI>это обход багов во внешних библиотеках, например

PI>например, когда находят баг в дотнете, а микрософт не спешить поднять булки этот баг поправить, люди (или сам микрософт) публикует workaround — способ обойти этот баг

способ или патч существующей либы который можно положить к своему приложению? (btw, java таки так умеет, жаль с у них единица переопределения — целый класс.)

PI>но опять вспомним о security — такого рода "горячая замена" легко превращается в "горячую подмену", в руках злоумышленника


не давай "плохим дядкам" возможности инициировать замену.

PI>естественно, hot code swap — это фича чисто динамическая

PI>но:
PI>1. нужна ли она так сильно?

сильно нет, но штука приятная, а курочка по зёрнышку клюёт.

PI>особенно в свете:

PI>2. мнения, что — это design flaw, оставляющий огромную дыру в секьюрити

о какой секьюрити идёт речь?

ANS>>>> Иногда выполнял код прямо в процессе написания кода. То есть пишеш-пишеш — бац, непонятно как точно работает метод. Тут же, в окне написания кода выполняеш то, что интересно и смотриш.

PI>>>object test bench в Visual Studio

ANS>>И в нём доступна полностью проинициализированная твоя прога?

PI>в нём можно протестировать любой объект
PI>естественно, ты должен его перед этим проинициализировать (подставить данные на вход конструктору)

В ST среда разработки и разрабатываемая программа это единое целое. Это имеет как плюсы так и минусы. Среди плюсов: возможность постоянного "общения" с уже запущеной программой.

ANS>> Вопрос только в цене использования неких фич (типа рефлексии),

ANS>> и соответсвия языка/инструментария/комьюнити твоему мышлению.
PI>при условии наличия макросов в Немерле, редкая необходимость-by-design в рефлексии, совсем отпадает

Этого еще никто не знает

PI>кул, но это больше к твоей крутизне относится, чем к динамике, не так ли?


Это я к тому, что отсутсвие аннотации типов не мешает.
http://www.smalltalk.ru | << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Я ненавижу Hibernate
Автор: Andrei N.Sobchuck
Дата: 08.01.08
!
Re[36]: MIT переходи со схемы на...
От: Andrei N.Sobchuck Украина www.smalltalk.ru
Дата: 04.12.06 15:10
Оценка: +1 -1 :)
Здравствуйте, PhantomIvan, Вы писали:

К>>Если по сути — интересно, вроде как всего в 2 раза медленней Эрланга.

PI>естественно, на дотнете должно заработать гораздо быстрее

естественно.
http://www.smalltalk.ru | << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Я ненавижу Hibernate
Автор: Andrei N.Sobchuck
Дата: 08.01.08
!
Re[29]: MIT переходи со схемы на...
От: WolfHound  
Дата: 04.12.06 15:10
Оценка: +1
Здравствуйте, eao197, Вы писали:

E>Если это возможно и получается нормальный результат, то в чем неразумность?

В затрачиваемых усилиях.
E>Когда ты рассказываешь, что неделями не компилируешь код, потому что еще не придумал решения -- это, надо полагать, разумно. Когда я время-от времени трачу пару часов/дней на то, чтобы макет программы набросать на бумаге -- это уже неразумно.
Это опять демагогия. Не учтена сложность задачи.
Уверен что с моей задачкой ты бы провозился с бумажками уж никак не меньше двух недель. А потом еще столько же писал.

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

Это именно фантастика и такого не бывает.
Вернее бывает в проектах где требования определены сразу и не меняются во времени но это исчезающи маленький процент проектов.
Да что далеко ходить... вот я спроектировал, написал и отладил кластер... и тут менеджерам пришла в голову супермегафича без которой ну никак нельзя... На что я сделал вот такие глаза ибо для того чтобы ее реализовать нужно полностью перепроектировать и переписать одну из трех частей системы. Причем по закону Мерфи самую сложную (хоть и не самую объемную) часть... К счаюстью две другие трогать не придеться ибо я всетки не вчера родился и умею резать систему на слабо связанные куски.
Хорошо что фича не срочная и у меня есть время хорошо ее помедитировать.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[23]: MIT переходи со схемы на...
От: PhantomIvan  
Дата: 04.12.06 15:14
Оценка:
M>>>Если бы они все в одну .chm-ку запихнули было бы приятнее. И поиск можно делать и вообще.
PI>>см. C:\Program Files\Nemerle\docs\

M>Ну я там и смотрел. Но иметь это в одном файле с индексацией и возможностью поиска удобнее чем россыпь доков.


не, в одном файле это тоже плохо
немерле заимеет, думаю, документацию, встраиваемую в мсдн — для этого ему нужно:
1. задокументировать макро-подсистему (только сначала её доделать надо, по большому счёту)
2. снабдить внешний интерфейс компилятора комментами, которые формируют костяк референса по компайлеру
3. обрастить этот костяк "мясом"
4. упорядочить это всё и систематизировать
5. собственно, интегрироваться в локальный мсдн при инсталле интеграции немерле со студией
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[36]: MIT переходи со схемы на...
От: Курилка Россия http://kirya.narod.ru/
Дата: 04.12.06 15:14
Оценка: +1
Здравствуйте, PhantomIvan, Вы писали:

К>>Если по сути — интересно, вроде как всего в 2 раза медленней Эрланга.

PI>естественно, на дотнете должно заработать гораздо быстрее
Не знаю, думаю очень большой разницы не будет.

К>>Только вот OTP там нету конечно — большой минус.

PI>но ведь есть JRE
И? Там есть супервайзоры, поддержка распределённых приложений, управление динамическим обновлением кода?

К>>Плюс Скала — имеративный язык, со всеми вытекающими (хотя чётко аргументировать тут сейчас не могу).

PI>гм, функции в Скале — первоклассные значения, поддерживаются многие фичи ФП...
PI>о чём ты?
О том, что в эрланге нет Mutable переменных. Сходу последствий нарушения этого я не вижу, но вполне вероятно что таковые есть.

К>>Плюс там это всё работает только в рамках одной JVM, когда распределённые приложения для эрланга — одно из первых применений.

PI>главное внутренне присущее требование к распределённости — мультиплатформенность — у джавы выполнена
PI>какая разница, ставишь ты OTP или JRE?
PI>ведь у эрланга ведь тоже свой рантайм, правильно?
Да, только вот рантайм заточенный на такие задачи, в отличие от JRE, соответсвенно и сборщик мусора и прочие механизмы там совершенно другие.
Про одну JVM я имел в виду, что посылка сообщений там, насколько я понимаю, не работает между 2 JVM, тогда как для эрланга это по умолчанию. Из любого узла ты можешь послать сообщение процессу на другом узле, если знаешь его имя (и процесса и узла) и канал связи работает.
В Скале же для этого надо изобретать довольно много велосипедов ещё.
Скажем те же распределённые приложения:
у нас есть избыточность, N серверов, на которых выполняются какие-то задачи, при выходе из строя одного, приложение будет запущено на другом сервере.
Эта задача решается стандартными механизмами эрланга/OTP (буквально нужно почти одно конфигурирование, не считая написания кода самого приложения), интересно, как подобное может быть решено в Скале
Re[16]: MIT переходи со схемы на...
От: R.K. Украина  
Дата: 04.12.06 15:59
Оценка:
Здравствуйте, VladD2, Вы писали:

L>>>>А TemplateHaskell — это не сюда?


VD>>>TemplateHaskell именно сюда.


L>>Тогда почему ты выкинул этот язык из списка?


VD>Потому что он вообще никтому не интересен. Его перспективность меньше нуля. Я не включил в список еще сотню экзотических проектов. Плюс он пролетат по всем остальным пунктам.


VD>>>Меж тем реальный Хаскель его возможностями не обладает.


L>>Этой фразу не понял. реальный Хаскель не обладает возможностями TH? Что такое "реальный Хаскель"?


VD>TemplateHaskell — это эксперементальная модификация Haskell-я.


Поправочка. TemplateHaskell — не отдельная модификация Haskell, а расширение GHC, реализованное в виде модуля Language.Haskell.TH. Так что можно считать, что в Хаскеле есть метапрограммирование. Кстати, этот модуль применяется в GHC в подсистемах deSugar и typecheck — не очень-то похоже, что он экспериментальный
You aren't expected to absorb this
Re[37]: MIT переходи со схемы на...
От: PhantomIvan  
Дата: 04.12.06 16:13
Оценка:
ANS>>>afaik, это не доступно без перекомпиляции уже скомпиленного кода плюс есть ограничение на видимость?
PI>>доступно без перекомпиляции (можно расширять хоть стандартную библиотеку), видимость та которую ты укажешь (естественно, всё видно в пределах твоего приложения/namespace-а)

ANS>я имел ввиду видимость "расширяемого" класса из самого extension метода.

это... ты о чём?

ANS>>>А использование из VB.Net?

PI>>CLR не ставит знаков различия между C#.NET и VB.NET

ANS>CLR не ставит, но CLS ставит.


ну и что? был тут уже смешной вопрос "а можно ли вызвать макросы Немерле из Сишарпа?"
и ты сам понимать должен, что границы сборки пересекает
1. только совместимая с рантаймом дотнета информация
2. если оба ко-агента написаны на Немерле, то и некоторая специфичная для немерле информация
я не силён в вопросе, что из VB.NET вызывать можно, т.к. закончил программировать на бейсике (синклеровском) с приходом в нашу жизнь IBM PC-совместимых компьютеров.

ANS>>>нет, полная замена предыдущего исходного кода новым. (Напр.)


PI>>с точки зрения дотнетной идеологии — такого рода фича была бы огромной дырой в секьюрити


ANS>о какой секьюрити идёт речь?


идёт речь о такой неотъемлемой черте дотнета, как безопасность-секьюрити (см. мсдн)

PI>>>>workaround-ы


ANS>>>? не знаю что это.


PI>>это обход багов во внешних библиотеках, например

PI>>например, когда находят баг в дотнете, а микрософт не спешить поднять булки этот баг поправить, люди (или сам микрософт) публикует workaround — способ обойти этот баг

ANS>способ или патч существующей либы который можно положить к своему приложению?

способ, максимум — рефлексия (иногда
ANS> (btw, java таки так умеет, жаль с у них единица переопределения — целый класс.)

PI>>но опять вспомним о security — такого рода "горячая замена" легко превращается в "горячую подмену", в руках злоумышленника


ANS>не давай "плохим дядкам" возможности инициировать замену.


"плохой дядька" живёт в любой программе, которая запускается на компе

PI>>естественно, hot code swap — это фича чисто динамическая

PI>>но:
PI>>1. нужна ли она так сильно?

ANS>сильно нет, но штука приятная, а курочка по зёрнышку клюёт.


PI>>особенно в свете:

PI>>2. мнения, что — это design flaw, оставляющий огромную дыру в секьюрити

ANS>о какой секьюрити идёт речь?


здесь
здесь

ANS>>>>> Иногда выполнял код прямо в процессе написания кода. То есть пишеш-пишеш — бац, непонятно как точно работает метод. Тут же, в окне написания кода выполняеш то, что интересно и смотриш.

PI>>>>object test bench в Visual Studio

ANS>>>И в нём доступна полностью проинициализированная твоя прога?

PI>>в нём можно протестировать любой объект
PI>>естественно, ты должен его перед этим проинициализировать (подставить данные на вход конструктору)

ANS>В ST среда разработки и разрабатываемая программа это единое целое. Это имеет как плюсы так и минусы. Среди плюсов: возможность постоянного "общения" с уже запущеной программой.


дебаг

ANS>>> Вопрос только в цене использования неких фич (типа рефлексии),

ANS>>> и соответсвия языка/инструментария/комьюнити твоему мышлению.
PI>>при условии наличия макросов в Немерле, редкая необходимость-by-design в рефлексии, совсем отпадает

ANS>Этого еще никто не знает


я знаю

PI>>кул, но это больше к твоей крутизне относится, чем к динамике, не так ли?


ANS>Это я к тому, что отсутсвие аннотации типов не мешает.


совершенно не мешает, проверено на Немерле
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[37]: MIT переходи со схемы на...
От: PhantomIvan  
Дата: 04.12.06 16:26
Оценка: :)
К>>>Если по сути — интересно, вроде как всего в 2 раза медленней Эрланга.
PI>>естественно, на дотнете должно заработать гораздо быстрее
К>Не знаю, думаю очень большой разницы не будет.

там обычные потоки из джавы?
зуб даю, быстрее будет

К>>>Только вот OTP там нету конечно — большой минус.

PI>>но ведь есть JRE
К>И? Там есть супервайзоры,
что это?
К> поддержка распределённых приложений,
разве на джава нет аналога .net remoting-a, web сервисов?
К> управление динамическим обновлением кода?
рефлексия есть? динамическое обновление кода — вызывает сомнения в необходимости...

К>>>Плюс Скала — имеративный язык, со всеми вытекающими (хотя чётко аргументировать тут сейчас не могу).

PI>>гм, функции в Скале — первоклассные значения, поддерживаются многие фичи ФП...
PI>>о чём ты?
К>О том, что в эрланге нет Mutable переменных. Сходу последствий нарушения этого я не вижу, но вполне вероятно что таковые есть.

в Немерле есть мутабельные переменные, хотя можно обойтись совсем без них
но зачем? проблем это не вызывает
для немерле "обычный" стиль — смесь императив + функционал, там где лучше применим императив — применяется императив, там где функциональный стиль дает больший прирост производительности труда — юзаются они
это лучше чем "чистый" язык без состояния (по скорости получения результата)

К>>>Плюс там это всё работает только в рамках одной JVM, когда распределённые приложения для эрланга — одно из первых применений.

PI>>главное внутренне присущее требование к распределённости — мультиплатформенность — у джавы выполнена
PI>>какая разница, ставишь ты OTP или JRE?
PI>>ведь у эрланга ведь тоже свой рантайм, правильно?
К>Да, только вот рантайм заточенный на такие задачи, в отличие от JRE, соответсвенно и сборщик мусора и прочие механизмы там совершенно другие.
К>Про одну JVM я имел в виду, что посылка сообщений там, насколько я понимаю, не работает между 2 JVM, тогда как для эрланга это по умолчанию. Из любого узла ты можешь послать сообщение процессу на другом узле, если знаешь его имя (и процесса и узла) и канал связи работает.
К>В Скале же для этого надо изобретать довольно много велосипедов ещё.

Скала неотделима от джавы
не знаю, как там они называются, но в жаве должны быть аналоги дотнетовских:
— messaging
— .net remoting
второе — это не просто обмен сообщений, это гораздо круче

К>Скажем те же распределённые приложения:

К>у нас есть избыточность, N серверов, на которых выполняются какие-то задачи, при выходе из строя одного, приложение будет запущено на другом сервере.
К>Эта задача решается стандартными механизмами эрланга/OTP (буквально нужно почти одно конфигурирование, не считая написания кода самого приложения), интересно, как подобное может быть решено в Скале

о таком (простом) механизме не слышал
однако, если на сервере крутится какое-то приложение, оно как правило, привязано к базе данных
и если сервер падает, то поднятие того же приложения на другом сервере бессмысленно (если на нём не реплицирована бд)
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[38]: MIT переходи со схемы на...
От: Andrei N.Sobchuck Украина www.smalltalk.ru
Дата: 04.12.06 16:33
Оценка:
Здравствуйте, PhantomIvan, Вы писали:

ANS>>я имел ввиду видимость "расширяемого" класса из самого extension метода.

PI> это... ты о чём?

доступ к непубличным полям/методам из метода-расширителя.

ANS>>CLR не ставит, но CLS ставит.


PI>ну и что? был тут уже смешной вопрос "а можно ли вызвать макросы Немерле из Сишарпа?"


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

PI>>>но опять вспомним о security — такого рода "горячая замена" легко превращается в "горячую подмену", в руках злоумышленника


ну-ну. Сценарий несекурности предложи.

ANS>>не давай "плохим дядкам" возможности инициировать замену.


PI>"плохой дядька" живёт в любой программе, которая запускается на компе


Тяжело вам.

PI>дебаг


вот им и приходится пользоваться. "А мне летать охота..."

PI>>>при условии наличия макросов в Немерле, редкая необходимость-by-design в рефлексии, совсем отпадает

ANS>>Этого еще никто не знает
PI>я знаю

Тогда зачем вопросы задаёш? Сиди и колбась код.
http://www.smalltalk.ru | << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Я ненавижу Hibernate
Автор: Andrei N.Sobchuck
Дата: 08.01.08
!
Re[39]: MIT переходи со схемы на...
От: PhantomIvan  
Дата: 04.12.06 17:09
Оценка:
ANS>>>я имел ввиду видимость "расширяемого" класса из самого extension метода.
PI>> это... ты о чём?

ANS>доступ к непубличным полям/методам из метода-расширителя.


только с помощью рефлексии, т.к. это нарушение объектной модели, и опять же, секьюрити

ANS>>>CLR не ставит, но CLS ставит.


PI>>ну и что? был тут уже смешной вопрос "а можно ли вызвать макросы Немерле из Сишарпа?"


ANS>очень правильный вопрос. А то получается, что программы для конечного пользователя на нём писать можно, а библиотеки нельзя.


пожалуйста — пиши макросные библиотеки на Немерле
воспользоваться осмысленно ими только из немерле-сборок
для Сишарпа подобное средство будет выглядеть громоздко, наподобие R#, практически извращением будет выглядеть
за подробностями — к Владу

PI>>>>но опять вспомним о security — такого рода "горячая замена" легко превращается в "горячую подмену", в руках злоумышленника


ANS>ну-ну. Сценарий несекурности предложи.


элементарно
есть приложение с аунтентификацией
заменяем аутентифицирующую функцию на функцию, возвращающую true, портим/скачиваем базу данных
вопросы?

ANS>>>не давай "плохим дядкам" возможности инициировать замену.


PI>>"плохой дядька" живёт в любой программе, которая запускается на компе


ANS> Тяжело вам.


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

PI>>дебаг


ANS>вот им и приходится пользоваться. "А мне летать охота..."


галюциногенов наглотаться?

PI>>>>при условии наличия макросов в Немерле, редкая необходимость-by-design в рефлексии, совсем отпадает

ANS>>>Этого еще никто не знает
PI>>я знаю

ANS>Тогда зачем вопросы задаёш? Сиди и колбась код.


хочется поделиться опытом использования
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[40]: MIT переходи со схемы на...
От: Andrei N.Sobchuck Украина www.smalltalk.ru
Дата: 04.12.06 17:19
Оценка:
Здравствуйте, PhantomIvan, Вы писали:

ANS>>ну-ну. Сценарий несекурности предложи.


PI>элементарно

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

Напомню, что речь идёт о дядьке, сидящем в программе. Зачем кто-то в программе захочет портить свою же аутентификацию? Что касается пользователей, то см. следующую строчку.

ANS>>>>не давай "плохим дядкам" возможности инициировать замену.
http://www.smalltalk.ru | << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Я ненавижу Hibernate
Автор: Andrei N.Sobchuck
Дата: 08.01.08
!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.