Здравствуйте, LaPerouse, Вы писали:
N>>3) 3/4 функционала OSGi в том же .NET идет из коробки — версионность и изоляция. Ничего интересного там нет, просто Sun прохлопал ушами LP>В .NET есть динамические модули? Декларативное описание зависимостей?
.NET assemblies
LP>Это из-за обратной совместимости плагинов 2.0 при переходе на eclipse 3.0. Сервисописатели не при чем. Точное следование OSGi гарантирует полную динамику.
Есть подозрение, что сервисописатели с точным следованием OSGi заморачиваться не будут. Правильную выгрузку делать неинтересно. В лучшем случае будет как в кооперативном мултьтитаскинге времен win3.1 по два ребута в день.
LP>Правда, если используется RCP, все же на использование extensions лучше пойти, в противном случае слишком много функционала будет недоступно.
Именно, для меня эти самые extensions главная ценность в RCP и есть, a на hot-swap мне плевать, даже если его кто и продемонстрирует на Яве.
N>>5) В корпоративных интранетах зоопарк и на такие стандарты все клали с прибором, если там не полная диктатура одного архитектора LP>Не понял.
В банках нет особого желания интегрироваться в один контейнер, даже при близких технологиях и бизнес областях. Мы пробовали, не идет.
Здравствуйте, novitk, Вы писали:
N>>>3) 3/4 функционала OSGi в том же .NET идет из коробки — версионность и изоляция. Ничего интересного там нет, просто Sun прохлопал ушами LP>>В .NET есть динамические модули? Декларативное описание зависимостей? N>.NET assemblies
Не то. В OSGi оно всё намного мощнее — там можно остановить часть системы, перегрузить нужные модули, и при этом остальная система продолжит работать.
N>Есть подозрение, что сервисописатели с точным следованием OSGi заморачиваться не будут. Правильную выгрузку делать неинтересно. В лучшем случае будет как в кооперативном мултьтитаскинге времен win3.1 по два ребута в день.
В OSGi оно энфорсится с помощью classloader'ов.
Здравствуйте, Cyberax, Вы писали:
N>>>>3) 3/4 функционала OSGi в том же .NET идет из коробки — версионность и изоляция. Ничего интересного там нет, просто Sun прохлопал ушами LP>>>В .NET есть динамические модули? Декларативное описание зависимостей? N>>.NET assemblies C>Не то. В OSGi оно всё намного мощнее — там можно остановить часть системы, перегрузить нужные модули, и при этом остальная система продолжит работать.
Я вроде специально указал, что в .NET-e есть 3/4 функционала OSGi и какая именно — версионность и изоляция.
N>>Есть подозрение, что сервисописатели с точным следованием OSGi заморачиваться не будут. Правильную выгрузку делать неинтересно. В лучшем случае будет как в кооперативном мултьтитаскинге времен win3.1 по два ребута в день. C>В OSGi оно энфорсится с помощью classloader'ов.
Это для изоляции, а не для динамизма — одновременная линковки с разными версиями. Для динамики там надо события контейнера мониторить в callback-ax и имеративно отписываться/приписывать себя к сервисам. Ничего не знаю про DS — может там чего и поинтересней придумали.
Здравствуйте, Ночной Смотрящий, Вы писали:
C>>Я знаю В IDEA тоже можно — оттуда эта фича и пошла в массы. НС>А вот чего нельзя даже в IDEA, но можно в VS2010 — забацать in place специальный редактор прямо в основном, причем необязательно текстовый. К примеру, equation editor.
Можно, при желании, насколько я понимаю. Только его, видимо, просто нет.
Здравствуйте, novitk, Вы писали:
N>Здравствуйте, Cyberax, Вы писали:
N>>>>>3) 3/4 функционала OSGi в том же .NET идет из коробки — версионность и изоляция. Ничего интересного там нет, просто Sun прохлопал ушами LP>>>>В .NET есть динамические модули? Декларативное описание зависимостей? N>>>.NET assemblies C>>Не то. В OSGi оно всё намного мощнее — там можно остановить часть системы, перегрузить нужные модули, и при этом остальная система продолжит работать. N>Я вроде специально указал, что в .NET-e есть 3/4 функционала OSGi и какая именно — версионность и изоляция.
Так ведь нету динамики получается. .NET был предолжен в ответ на мой вопрос "В .NET есть динамические модули? Декларативное описание зависимостей?"
N>>>Есть подозрение, что сервисописатели с точным следованием OSGi заморачиваться не будут. Правильную выгрузку делать неинтересно. В лучшем случае будет как в кооперативном мултьтитаскинге времен win3.1 по два ребута в день. C>>В OSGi оно энфорсится с помощью classloader'ов.
N>Это для изоляции, а не для динамизма — одновременная линковки с разными версиями. Для динамики там надо события контейнера мониторить в callback-ax и имеративно отписываться/приписывать себя к сервисам. Ничего не знаю про DS — может там чего и поинтересней придумали.
ServiceTracker значительно облегчает эту операцию. Процесс, конечно, остается императивным. DS проблему решает полностью — на то он и декларативен.
Социализм — это власть трудящихся и централизованная плановая экономика.
Здравствуйте, novitk, Вы писали:
N>Это для изоляции, а не для динамизма — одновременная линковки с разными версиями. Для динамики там надо события контейнера мониторить в callback-ax и имеративно отписываться/приписывать себя к сервисам. Ничего не знаю про DS — может там чего и поинтересней придумали.
А выгрузка бандла и разрегистрация сервиса само собой происходит автоматом.
Социализм — это власть трудящихся и централизованная плановая экономика.
Здравствуйте, LaPerouse, Вы писали:
LP>Сложные задачи решаются путем разделения их на более мелкие. И вот здесь java нереально рулит. Благодаря таким штукам как OSGi или Spring.
Гы! Напиши на жабе компилятор немерла силами пэтэушников...
... << RSDN@Home 1.2.0 alpha 4 rev. 1305>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, WolfHound, Вы писали:
WH>Здравствуйте, LaPerouse, Вы писали:
LP>>Сложные задачи решаются путем разделения их на более мелкие. И вот здесь java нереально рулит. Благодаря таким штукам как OSGi или Spring. WH>Гы! Напиши на жабе компилятор немерла силами пэтэушников...
Из другого поста:
Высшее образование требуется для проектирования систем и для работы в сложной предметной области.
Социализм — это власть трудящихся и централизованная плановая экономика.
Здравствуйте, LaPerouse, Вы писали:
LP>Здравствуйте, WolfHound, Вы писали:
WH>>Здравствуйте, LaPerouse, Вы писали:
LP>>>Сложные задачи решаются путем разделения их на более мелкие. И вот здесь java нереально рулит. Благодаря таким штукам как OSGi или Spring. WH>>Гы! Напиши на жабе компилятор немерла силами пэтэушников...
LP>Из другого поста:
LP>
Высшее образование требуется для проектирования систем и для работы в сложной предметной области.
ключевое слово — "в сложной предметной области"
Социализм — это власть трудящихся и централизованная плановая экономика.
Здравствуйте, fddima, Вы писали:
L>>Стандартное средство операционной системы cron+стандартное средство mysqldump. Куда уж реальнее? F> Администратору БД больше заняться нечем что-ли, как писать какие-то sh-скрипты? И более того — нужно правильно писать, тестировать и прочее.
Нет проблем, берем следующего администратора БД. Который поменьше гнет пальцы.
L>>Мамуту принимать man cron три раза в день после еды. F> В данном контексте это не важно. То что уже было бы решено на mssql, решается на порядок дольше.
Здравствуйте, LaPerouse, Вы писали:
N>>Mне быстро ехать... LP>java + spring + osgi + ингридиенты по вкусу.
На джаве быстро не поедешь — дженерики говно, вывода типов нет, замыканий нет, кортежей нет, генераторов нет, LINQ-a/list comprehension нет...
Единственное, что лучше чем в Питоне (если не считать глобальной разницы между статикой и динамикой) — нативные библиотеки.
Здравствуйте, LaPerouse, Вы писали:
LP>>>Сложные задачи решаются путем разделения их на более мелкие. И вот здесь java нереально рулит. Благодаря таким штукам как OSGi или Spring. WH>>Гы! Напиши на жабе компилятор немерла силами пэтэушников... LP>Из другого поста: LP>
Высшее образование требуется для проектирования систем и для работы в сложной предметной области.
Те при помощи жабы и пэтэушников можно решать только из простой предметной области.
Остается выяснить с какого перепугу в простой предметной области сложные задачи...
... << RSDN@Home 1.2.0 alpha 4 rev. 1305>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, novitk, Вы писали:
N>Здравствуйте, LaPerouse, Вы писали:
N>>>Mне быстро ехать... LP>>java + spring + osgi + ингридиенты по вкусу. N>На джаве быстро не поедешь — дженерики говно,
Говно
N>вывода типов нет,
есть
N>замыканий нет,
есть
N>кортежей нет,
есть
N>генераторов нет, LINQ-a/list comprehension нет...
Нет и не надо.
Итого, единственный серьезный недостаток — генерики.
N>Единственное, что лучше чем в Питоне (если не считать глобальной разницы между статикой и динамикой) — нативные библиотеки.
Надеюсь, ты не собрался сравнивать python с java platform да ну брось, несеръезно это.
Социализм — это власть трудящихся и централизованная плановая экономика.
Здравствуйте, LaPerouse, Вы писали:
N>>вывода типов нет, LP>есть
нет
N>>замыканий нет, LP>есть
нет
N>>кортежей нет, LP>есть
нет
N>>генераторов нет, LINQ-a/list comprehension нет... LP>Нет и не надо.
надо
LP>Итого, единственный серьезный недостаток — генерики. N>>Единственное, что лучше чем в Питоне (если не считать глобальной разницы между статикой и динамикой) — нативные библиотеки. LP>Надеюсь, ты не собрался сравнивать python с java platform да ну брось, несеръезно это.
Если важнее всего скорость разработки, тут и сравнивать нечего...Ява тут не при делах... С# будет думаю близок
Здравствуйте, novitk, Вы писали:
N>Здравствуйте, LaPerouse, Вы писали:
LP>>DS проблему решает полностью — на то он и декларативен.
N>Только если считать IoC решением проблемы. Забылся, кэшанул IQuoteService где-нибудь внутри и все накрылся контейнер.
Ну дык это общая проблема императивного программирования, при чем тут OSGi?
Социализм — это власть трудящихся и централизованная плановая экономика.
Здравствуйте, novitk, Вы писали:
N>Здравствуйте, LaPerouse, Вы писали:
N>>>вывода типов нет, LP>>есть N>нет
Есть. В Java есть вывод типов для шаблонов генериков:
public static <T> List<T> emptyList()
{
return new ArrayList<T>();
}
List<T> = emptyList();
В java 7 сделают то же самое для конструкторов
N>>>замыканий нет, LP>>есть N>нет
есть. Inner classes — полноценные замыкания.
N>>>кортежей нет, LP>>есть N>нет
Не знаю как у тебя, а у меня есть:
public class Pair<T1, T2>
{
public T1 object1;
public T2 object2;
public Pair(T1 object1, T2 object2)
{
this.object1 = object1;
this.object2 = object2;
}
}
А в самом языке эта фича нафиг не сдалась
N>>>генераторов нет, LINQ-a/list comprehension нет... LP>>Нет и не надо. N>надо
Лучше бы сделали дженерики.
LP>>Итого, единственный серьезный недостаток — генерики. N>>>Единственное, что лучше чем в Питоне (если не считать глобальной разницы между статикой и динамикой) — нативные библиотеки. LP>>Надеюсь, ты не собрался сравнивать python с java platform да ну брось, несеръезно это. N>Если важнее всего скорость разработки, тут и сравнивать нечего...Ява тут не при делах... С# будет думаю близок
скорость разработки не от языка зависит в основном, а от наличия библиотек/инструментария. Есть ли что-либо под солнцем сравнимое по этому показателю с java?
Социализм — это власть трудящихся и централизованная плановая экономика.
Здравствуйте, LaPerouse, Вы писали:
LP>>>DS проблему решает полностью — на то он и декларативен. N>>Только если считать IoC решением проблемы. Забылся, кэшанул IQuoteService где-нибудь внутри и все накрылся контейнер. LP>Ну дык это общая проблема императивного программирования, при чем тут OSGi?
Не при чем. Я просто показал, что никакой hotswap с uptime-ом OSGi обеспечить не может. Я так же указал единственное на мой взгляд решение, где это реально работает — Ерланг. Все остальное, что есть в OSGI давно уже есть как в .NET, так и в Питоне (eggs) и никто по этому поводу особо не кипишится.
Здравствуйте, novitk, Вы писали:
N>Здравствуйте, LaPerouse, Вы писали:
LP>>>>DS проблему решает полностью — на то он и декларативен. N>>>Только если считать IoC решением проблемы. Забылся, кэшанул IQuoteService где-нибудь внутри и все накрылся контейнер. LP>>Ну дык это общая проблема императивного программирования, при чем тут OSGi?
N>Не при чем. Я просто показал, что никакой hotswap с uptime-ом OSGi обеспечить не может.
Может.
N>Я так же указал единственное на мой взгляд решение, где это реально работает — Ерланг.
И как это по-твоему работает в эрланг?
N>Все остальное, что есть в OSGI давно уже есть как в .NET, так и в Питоне (eggs) и никто по этому поводу особо не кипишится.
Нет его там и близко. Ты сам это подтвердил.
Социализм — это власть трудящихся и централизованная плановая экономика.
Здравствуйте, WolfHound, Вы писали:
WH>Здравствуйте, LaPerouse, Вы писали:
LP>>>>Сложные задачи решаются путем разделения их на более мелкие. И вот здесь java нереально рулит. Благодаря таким штукам как OSGi или Spring. WH>>>Гы! Напиши на жабе компилятор немерла силами пэтэушников... LP>>Из другого поста: LP>>
Высшее образование требуется для проектирования систем и для работы в сложной предметной области.
WH>Те при помощи жабы и пэтэушников можно решать только из простой предметной области. WH>Остается выяснить с какого перепугу в простой предметной области сложные задачи...
Угу. 80 процентов энтерпрайза.
Социализм — это власть трудящихся и централизованная плановая экономика.