LINUX.ORG.RU

Минюст США разрешил Oracle купить Sun Microsystems

 ,


0

0

Министерство юстиции США в четверг, 20 августа, одобрило сделку по покупке Sun Microsystems компанией Oracle, сообщает AFP. Следующим шагом должно стать разрешение на покупку от Европейской комиссии, напоминает агентство. Ожидается, что оно будет получено в ближайшее время.

Соглашение о продаже Sun Microsystems американской компании Oracle было достигнуто в конце апреля 2009 года. Сумма сделки оценивается в 7,4 миллиарда долларов или 9,5 доллара за акцию.

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

>>> Подробности

★★★

Проверено: Shaman007 ()
Ответ на: комментарий от Robotron

>>Читаю комменты фанатов венды, запускающих её в VirtualBox, и ухохатываюсь!

>За системное программирование под виндой больше платят, голый расчёт...


за торговлю оружием и наркотиками ещё больше, нищеброд

black7
()
Ответ на: комментарий от EugenyN

>писали по стандарту use cases и можете сказать в чем отличие модели из объектно-ориентированного анализа и модели из объектно-ориентированного проектирование - то все складывается как 2 + 2. - Почему ФП не нужен. :)))

Хорошо. А почему тогда Google для своих машин использовал функциональный алгоритм MapReduce, а не нагородил гору паттернов в лучшем ООП-стиле?

Karapuz ★★★★★
()
Ответ на: комментарий от black7

>за торговлю оружием и наркотиками ещё больше, нищеброд

За торговлю ёгуртами платят еще больше чем за наркотики и проституцию и риска никакова. А за сдачу торговых площадей в субаренду можно отгрохать самый большой мегаотель в Турции. И никакого риска.

Karapuz ★★★★★
()
Ответ на: комментарий от Macil

>А ведь Сан была единственной оставшейся компанией, которая не являлась анальным рабом M$.

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

black7
()
Ответ на: комментарий от Macil

> M$ постарается сдвинуть парадигму во-первых, в область ФП, во-вторых
> в область моделирования предметной области.


Все так. Только они уже сдвигают, а не когда-то постараются.

eXOR ★★★★★
()
Ответ на: комментарий от Karapuz

> Хорошо. А почему тогда Google для своих машин использовал функциональный алгоритм MapReduce, а не нагородил гору паттернов в лучшем ООП-стиле?

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

Chapaev
()
Ответ на: комментарий от Macil

CLI -> JVM нельзя, т.к. в JVM не поддерживается TOC

Karapuz ★★★★★
()
Ответ на: комментарий от www_linux_org_ru

> Насчет ФП -- если не знаешь зачем оно, нефиг критиковать. Грубо говоря, ФП нужно для распараллеливания на процессоры и разных нетривиальных оптимизаций.

Про второе - эти самые нетривиальные оптимизации могли быть введены в ФП по следующим причинам, имно:

1) Сложности программирования в ФП являлась отправной точкой к поиску оптимизаций и попыткой прикрутить различные алгоритмы/теории из других областей знаний.

2) Математики - тоже люди. В том числе и, некоторые из них - программисты. И, это как "каждый задрот считал своим долгом придумать что-то свое" - вот и часть математиков попыталась использовать ФП для своих/общества целей, в результате возникли "переплетения" некоторых математических обоснований и ФП, или же "спроецирование" некоторых теорий теорий на ФП.

В связи с этим вспоминается один рассказ (фант.) где космический спутник с адмиралами на борту - похищает нечто, вынырнувшее из космоса. Оно просто проглатывает этот спутник и исчезает в неизвестном направлении.

Думаете кто-то сильно расстроился непосредственно из-за адмиралов, бывших на этом спутнике? Их места с радостью займут их подчиненные.

Так, по моему, и здесь - можно "выдрать" часть мат. теорий из "цепких лап" ФП и "переделать их по новому". Так же как и разработать новые.

В мире иногда рождаются люди, которые уже в 14 лет обладают невероятными знаниями - только подкинуть вот идею, там мигом разгрызут, а заодно придумают что-то новое. :)

*******

На счет "ФП нужно для распараллеливания на процессоры" - тут 85% натяжек, или 89% - ? ;) Проясните механизм/теорию реализации этого в ФП и я быстренько постараюсь обосновать "где же тут кот порылся". ;)

А вот Вам, с Вашими знаниями - наверняка проще все это увидеть со стороны и по тем областям этого где хорошо и четко понимаете - спрогнозировать - не являются ли и все остальные части Вашей "веры" - только некоторым таким "математическим" "прогибом" перед теми, кто что-то обосновал и пока еще не совсем понято Вами в силу каких-то причин? ;)

EugenyN
()
Ответ на: комментарий от black7

>скот макнили испугался линуха и не стал дожимать судебный процесс.

Стал - не стал, да какая разница? Санки были единственной самодостаточной компанией со своим блекджеком и со своими шлюхами.

Надо было раньше думать, когда был вынесен Нетскейп. Кстати по тем временам единственный прямой конкурент M$. Не забываем, что у Нетскейпа был свой веб-сервак, свой LDAP и свой CA, ничего не напоминает, а?

И как-то обвинять санок, в то время когда другие сами нагибались, хотя были все возможности. Уж с Ораклом-то не сравнить.

А линукса правильно испугались, он за последнее время вынес все коммерческие юниксы, ну может кроме MacOS X :)

Macil ★★★★★
()
Ответ на: комментарий от Macil

> Такого паттерна в GoF нет.

> Мне об этом рассказывать не нужно. На книжной полке стоит книжка, где этот паттерн есть. Functor - это объект с определенным operator() и можно Functor f = new Functor(); f(blah-blah);

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

Название, страница, номер главы (опционально), год выхода.

Может я пропустил, сейчас тогда полистаю.

EugenyN
()
Ответ на: комментарий от EugenyN

>Как с помощью AOT подгрузить код, скомпилированный на другой машине в Интернете, уже с оптимизированный под другой процессор?

тебе чтоли tcp/ip+rpc нехватает?

black7
()
Ответ на: комментарий от anonizmus

>Просто у нас в стране оборнка на спарках, потому что они опен, в том числе.

а как же нанотехнологии?

black7
()
Ответ на: комментарий от leave

>печальная новость. прощайте, спарки.

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

black7
()
Ответ на: комментарий от EugenyN

>Достаточно посмотреть С++-код, в котором не все используют ООП, тогда и видно, какое это г. это ФП, извините за эмоции.

где разум, где логика? (с)

black7
()
Ответ на: комментарий от EugenyN

>Вся эта "простота использования" и "не нужно писать лишнего кода" - выливается потом в "говно код", сложность поддержки и сложность реализации больших и сложных программных конструкций.

главное не берись за Perl, он тебе мозг сожжёт, как лоровец советую

black7
()
Ответ на: комментарий от Robotron

>Ещё VirtualBox идеально подходит для программирования под винду

openwatcom хорошо компилит под wine-ом бинарники под вантуз

>и работу с отладчиком.


торвальдс что-то про тебя говорил, не напомнишь?

black7
()
Ответ на: комментарий от Macil

> Вот смотри. Значит ты пишешь что де есть объекты реального мира, которые могут описываться в терминах ООП. ... ... ... Если ООП можно понять "интуитивно", то с ФП, а тем более с чистым ФП языком типа Хаскеля такие номера не прокатывают.

О чем я и написал. Все верно. Поэтому и придумали ООП. :)

> В ФП ты управляешь потоком вычислений. Причем иногда ты это делаешь _неявно_. Те же самые "монады" в хаскеле - типичный пример такого управления. ООП в какой-то мере создано для неявного управления потоком вычислений, но без гибкости, присущей ФП.

Не знаю, что там за монады такие, относительно остального процитированного - любой приходит тут к мысли, что 100% языков программирования управляют потоком выполнения и какие-то нюансы могут быть при этом - в любом ЯП.

> Традиционный ООП не может работать с рекурсивными структурами данных.

Что за они, что за такие структуры? Имеются в виду функции, которые крутятся по рекурсии? Почему же тогда объект не может крутиться рекурсивно? :)

EugenyN
()
Ответ на: комментарий от Macil

>вредные идеи, почерпнутые из ассемблера

лол, жжошь! и ты еще и программы пишешь? сочуствую твоим заказчикам

black7
()
Ответ на: комментарий от EugenyN

>Можно название книги и страницу в ней?

Ой, извини, в лужу. Это я перепутал с Александреску "Современное проектирование на С++", глава 5.

Macil ★★★★★
()
Ответ на: комментарий от Macil

>Стал - не стал, да какая разница?

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

>Надо было раньше думать, когда был вынесен Нетскейп. Кстати по тем временам единственный прямой конкурент M$


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

>Не забываем, что у Нетскейпа был свой веб-сервак, свой LDAP и свой CA, ничего не напоминает, а?


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

>А линукса правильно испугались, он за последнее время вынес все коммерческие юниксы, ну может кроме MacOS X :)


линукс это временно, частный случай фрисофта в частности и развития человечества вообще. почитай Just for fun и Bad Boy Ballmer: The Man Who Rules Microsoft для общего развития

black7
()
Ответ на: комментарий от Macil

> M$ постарается сдвинуть парадигму во-первых, в область ФП, во-вторых в область моделирования предметной области.

Никто никуда парадигму не сдвигает. В MS есть "лабс", в рамках которого работают многие группы, экспериментируют в разных направлениях, как вводят эф-шарп в студию, так могут потом и выкинуть, благо примеры подобного у них уже были.

То, что в си-шарп ввели элементы ФП - сделано (по моему) в угоду тем С++-программистам, которые так и не смогли хорошо понять ООП, поэтому, дабы не терять людей/часть рынка - приняли такого маркетинговое решение.

Так же как и другие вещи. Это маркетинг. Это нормально. Хотя многие джава-программисты, где традиционно высокий уровень вхождения в язык с точки зрения ООП - будут плеваться на лямбды. Я и сразу плевался, и как изучил статью на Хабре где хорошо расписали про лямбды (синтаксис, применение) - не изменил своего мнения.

Это маркетинг. Стремление, чтобы довольными были все. Ну и фиг с ним.

EugenyN
()
Ответ на: комментарий от EugenyN

>любой приходит тут к мысли, что 100% языков программирования управляют потоком выполнения

А много ты знаешь cпособов неявного управления? Всмысле без всяких if и их производных.

>Что за они, что за такие структуры?

Рекурсивные структуры - это такие структуры которые содержат сами себя. Самый простой пример - список.

>Почему же тогда объект не может крутиться рекурсивно?

Может. Но как ты задашь тип такой простой структуры: двоичное дерево - это (левое двоичное дерево, правое двоичное дерево) или лист.

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

Macil ★★★★★
()
Ответ на: комментарий от Macil

> Это я перепутал с Александреску "Современное проектирование на С++", глава 5.

Мне ее должны привезти на днях (http://www.books.ru/shop/books/30688), обязательно посмотрю, что он пишет. Спасибо.

EugenyN
()
Ответ на: комментарий от black7

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

Зачем же видеть все в черно-белом? Мир вообще-то цветной. И если Сан не легла под M$, то это не значит что она должна сразу быть врагом.

>та крысиная корпоративная возня двух проприетарных говно-контор

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

А ты прикинь что случилось бы, если бы Нетскей смог дотянуть до бума доткомов. Это был бы прямой конкурент, но не на рынке браузеров, и не IE, а IIS и ActiveDirectory.

Macil ★★★★★
()
Ответ на: комментарий от EugenyN

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

Извини но "мне вон Петька напел - г... этот ваш Шаляпин". Почитай вот http://www.cl.cam.ac.uk/teaching/Lectures/funprog-jrh-1996/

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

Macil ★★★★★
()
Ответ на: комментарий от Karapuz

> Хорошо. А почему тогда Google для своих машин использовал функциональный алгоритм MapReduce, а не нагородил гору паттернов в лучшем ООП-стиле?

Как версия только. Известно, что гугл в свое время нанял много С++-программистов, хорошего уровня. У которых (C++-программистов) традиционно с ООП было все плохо, не у всех, конечно же, но у значительнейшей части. :)

Вот если бы Гугл нанял Александресску и Саттера (не в курсе, предположительно что не нанял), вот тогда бы там и были другие акценты. ;)

Как версия - подойдет? :)

EugenyN
()
Ответ на: комментарий от black7

>> Как с помощью AOT подгрузить код, скомпилированный на другой машине в Интернете, уже с оптимизированный под другой процессор?

> тебе чтоли tcp/ip+rpc нехватает?

Не хватает и систем обмена сообщениями (как более гибкий и удобнейший аналог rpc).

Пример:

В Silvelight 3, загруженного на рабочий стол, есть возможность автообновления приложения.

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

Сам не пробовал, но по идее приложение смотрим номер сборки (в тонкости не влезал, у меня есть только учебник по платформе .NET 2, в котором автор его пишет, что в 3-ей версии нет - механизм учета номеров сборок может быть улучшен - я так примерно догадываюсь, и в книге называется чего не хватает, в реализации учета этого, под 2-ой версии .NET... как бы то ни было, книги по .NET 3 у меня нет, сказать что-то точно не могу...)

EugenyN
()
Ответ на: комментарий от Macil

>> любой приходит тут к мысли, что 100% языков программирования управляют потоком выполнения

> А много ты знаешь cпособов неявного управления? Всмысле без всяких if и их производных.

Не задумывался. С такой точки зрения формализовать используемое. Может и много. :)

Примеры - в студию. :)

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

Было бы сложно - не применяли. :)

А что там сложного? Процесс полностью детерминирован, код разносится "на отдельные логические составляющие" - великолепно, лично у меня не было таких задач, чтобы нужно было этот паттерн применять, и это жаль, и... еще не вечер. ;)

EugenyN
()
Ответ на: комментарий от EugenyN

>Примеры - в студию. :)

Посмотри как в хаскеле реализован Parsec.

>Процесс полностью детерминирован, код разносится "на отдельные логические составляющие"

Даже не смешно.

Macil ★★★★★
()
Ответ на: комментарий от EugenyN

> На счет "ФП нужно для распараллеливания на процессоры" - тут 85% натяжек, или 89% - ? ;) Проясните механизм/теорию реализации этого в ФП и я быстренько постараюсь обосновать "где же тут кот порылся". ;)

Функции без побочных эффектов можно вычислять параллельно, в любом порядке и возможно несколько раз. А вообще мне лень столь элементарные вещи рассказывать. Недавно в новостях был 1-й выпуск журнала по ФП.

> не являются ли и все остальные части Вашей "веры"

гы-гы-гы. меня горяздо больше интересует effect system, т.е. учет побочных эффектов.

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от Macil

>> Примеры - в студию. :) > Посмотри как в хаскеле реализован Parsec.

В пределах 1-3 абзацев - оно никак не описывается? Для неотягощенных (возможно только пока) знаниями Хаскеля? :)

>> Процесс полностью детерминирован, код разносится "на отдельные логические составляющие" > Даже не смешно.

В чем-то есть проблемы? :)

EugenyN
()
Ответ на: комментарий от Macil

> Может. Но как ты задашь тип такой простой структуры: двоичное дерево - это (левое двоичное дерево, правое двоичное дерево) или лист.

class Tree { ... virtual void print()=0 ... };

class Node: public Tree { Tree& left; Tree& right; ... };

class Leaf: public Tree { ... };

Конечно, очень многословно. Но ведь то что надо?

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от www_linux_org_ru

> Функции без побочных эффектов можно вычислять параллельно, в любом порядке и возможно несколько раз. А вообще мне лень столь элементарные вещи рассказывать. Недавно в новостях был 1-й выпуск журнала по ФП.

Ага. Новость помню. Спасибо за наводку.

>> не являются ли и все остальные части Вашей "веры" > гы-гы-гы. меня горяздо больше интересует effect system, т.е. учет побочных эффектов.

Еуррр... Ну очень любопытно! Смотреть журнал, да?.. Йех...

Товарищи! Тема многопоточности, распараллеливания - всегда были достаточно сложными. Я не хочу сказать, что в MS все там хорошие архитекторы (просмотрев часть книги по Windows Communication Foundation, где хотя и грамотные идеи, но авторы сами жалуются что пока немного запутанно у них получилось, с реализацией...)

- в общем прошу отбросить (на время) рассовую неприязнь ;) и перевести выступление одного из разработчиков ядра Win 7:

http://channel9.msdn.com/shows/Going+Deep/Arun-Kishan-Farewell-to-the-Windows...

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

Если бы кто-то у себя на блоге изложил примерный перевод идей, или мне дал материал, или хотя бы описал-сравнил на 3-5 абзацев...

С какой-то стороны - что придумал "главный идеологический враг", ;) ведь врага нужно знать в лицо... ;)

НУ ПОЖАЛУЙСТА! :)

EugenyN
()
Ответ на: комментарий от Macil

> Может. Но как ты задашь тип такой простой структуры: двоичное дерево - это (левое двоичное дерево, правое двоичное дерево) или лист.

Интересно бы найти такую функциональную фенечку, которая хотя бы не маппится хотя бы в плюсы. Например http://migmit.vox.com/library/post/объясните-а.html -- правда я не осилил ввиду специфики, а Мигель потерял интерес к этому и объяснять не стал.

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от EugenyN

> С какой-то стороны - что придумал "главный идеологический враг", ;) ведь врага нужно знать в лицо... ;) НУ ПОЖАЛУЙСТА! :)

Мне лично тяжело английский на слух воспринимать, так что я выбираю чтение английского. Да и дофига думаю найдется на тему локов/... в ядре линукс, и уж тут специалисты по этому вопросу найдутся. А как можно разбираться пусть даже и в хороших идеях МС без взгляда на исходник? Так что передумывай :-)

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от EugenyN

> Еуррр... Ну очень любопытно! Смотреть журнал, да?.. Йех...

ладно, допустим у нас

y=f2(x);

z=f3(x);

t=f4( x, f5(х,y), z );

можно запустить вычисления f2, f3 параллельно

еще предположим, что в 45% случаев y=0 и в 50% y=1 -- тогда можно запустить параллельно *им* еще и счет f5(x,0) и f5(x,1)

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от www_linux_org_ru

Ммм... Логично. Тогда оставив (на время, ведь чем больше инфы, тем лучше) идею с вин, может кто-то поделится каковы подходы в Линукс-системах?

Лично я примерно представляю, как организована диспетчеризация подключений в Оракле (есть книга по архитектуре Оракла, на русском, довольно легко читается).

И примерно представляю как диспетчеризуются иногда dns (тупо идет переключение на следующий сервер).

Если от таких "знаний" отталкиваться - какие хорошие идеи еще применяются?

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

- так вот, помимо споров, в книжечке рассказывается и про нюансы использования паттерна Singleton. Если вы внимательно откроете книгу Гаммы и др. про GoF, то там, в частности, написано, что при Singleton - может быть и _несколько_ инстансов класса.

Но там это идет, более - "ну, бывает и так, может быть".

А вот в той тоненькой книжечке, про которую я начал речь - там описана такая, например, конструкция:

private static A instance;

public static A getInstance(String key) { /*здесь используется HashMap, в котором если нет данного key, то создается новый instance. А может быть и такой вариант, что есть пул инстансов, и система смотрит, какой из них менее загружен, тот и отдает*/ }

Какие еще идеи (кроме понятного, возможно, паттерна Strategy) здесь можно еще применять?

EugenyN
()
Ответ на: комментарий от www_linux_org_ru

Спасибо. А чем это может отличаться например вот если мы берем создаем 2 процесса, при создании их - "помещаем" каждый "в одно" из ядер, на выполнение?

Например как сейчас часто пишут, что распараллеливание в играх - может давать то, что 2-ое ядро будет считать AI и еще что-то...

Может я где-то подменяю понятия, может "залажу" с самой середины вопроса, а не "по порядку" - в общем где тут роль F# или какая она может быть, или в чем преимущество, в чем оно может выражаться, почему другими способами - сложнее? Нет поддержки, удобной, в других ЯП - ?

На сколько я читал (вскользь) - в .NET 4 вводят поддержку распараллеливания, и там для всех используемых ЯП это будет...

Где тут что, где правда, где не очень? :)

EugenyN
()
Ответ на: комментарий от EugenyN

> private static A instance;

- не совсем правильно написал, правильно так:

private static Map<A> instanceMap = new HashMap<A>();

(можно указать другую коллекцию, можно указать точное число допустимых экземпляров класса, можно вообще удаленно управлять этим компонентом, - путем отправки специализированных сообщений - задавать кол-во экземпляров; тут "выходим" на "связь" с системами, основанными на обмене сообщениями, в том числе и отправкой тестовых сообщений, и разнообразными паттернами объединения/конфигурирования таких систем... а... вот я частично на свой вопрос про диспетчеризацию и ответил - вот тормоз я... у меня же отдельная книга по таким паттернам, с предисловием Мартина Фаулера... тормозилово я еще то... мда... мрак. :) )

:)

EugenyN
()
Ответ на: комментарий от EugenyN

>В пределах 1-3 абзацев - оно никак не описывается?

Представь себе цепочку комбинаторов типа a >> b >> c >> d. Не вдаваясь в подробности того как это реально сделано скажу следущее. У оператора >> два аргумента. Грубо говоря, лево и право. Он сначала вычисляет "лево", а затем вычисляет "право". В зависимости от значения "лево", он может не вычислять значение "право", а допустим, вернуть ошибку.

Но это наиболее простой случай. Есть посложнее.

Macil ★★★★★
()
Ответ на: комментарий от EugenyN

> у меня же отдельная книга по таким паттернам, с предисловием Мартина Фаулера

может, стоит перенсти общение в жаббер? какой он у тебя?

Меня интересуют, например, случаи, когда язык ведет себя не так, как интуитивно ожидается (например, virtual template), и случаи, когда очевидные вещи на язык плохо ложатся. Например, имеется класс чисел произвольного размера Integer, хочется сделать класс рациональных чисел произвольной точности Rational как родителя Integer. Какие ты видишь тут проблемы? Как бы спроектировал свой язык программирования, чтобы их не было?

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от www_linux_org_ru

>Конечно, очень многословно. Но ведь то что надо?

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

В любом уважающем себя ФП языке я могу разбирать эту струкуту с помощью паттерн матчинга.

А потом мне потребуется добавлять какие-нибудь операции с моим деревом. Опять делать новый класс со статическими методами.

А потом какой-нибудь урод сделает класс SuperLeaf : public Tree, несовместимый по поведению с Leaf.

А потом мне понадобится чуть чуть подправить интерфейс класса Tree.

И т.д.

Macil ★★★★★
()
Ответ на: комментарий от Macil

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

По описанию немного напоминает использование ? вместо IF.

Который я и то почти уже не применяю.

А использую IF, использую "брасесы" (фигурные скобочки), и даже выравниванию фигурные скобочки вертикально, потому что такой код - максимально легко читается.

Да, знаю что Вы хотите сказать - левая и правая части выражения - это принципиально разные вещи, совсем не хухры-мухры.

Гм. Предельно короткая запись кода, зачастую в ФФ - без типизации, без всякого форматирования брейсесами (а зачем, короче - значит "круче")...

Да... Я такой код разбирал лет 7 назад... Было дело. Авторы кода чувствовали себя круче не бывает, ведь читабельность была 10% от развернутого выражения...

А здесь - с читабельностью немного получше...

Любопытно. Спасибо за пример. Любопытно, любопытно, даже очень.

По моему и в джава-рантайме какие ЯП появились еще - так же там стремятся упрощать, делать записи по короче... Дефицит неподчерпутого кодирования в этом стиле поначалу...

Но интересно здесь есть, конечно же... Если код остается читаемым. Так просто завинтить код - это может и в Java - написать 100 строк одной строкой, по путно объединив где скобочками, где чем еще можно... :)

Спасибо.

EugenyN
()
Ответ на: комментарий от www_linux_org_ru

>Интересно бы найти такую функциональную фенечку, которая хотя бы не маппится хотя бы в плюсы.

Любая функциональная фенечка мапится в плюсы. Весь вопрос в том - какой ценой.

Macil ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.