Как стать автором
Обновить

Комментарии 191

Очень забавно смотрится сбоку от этой статьи ссылка на другую статью.
НЛО прилетело и опубликовало эту надпись здесь
Так там же уже не Java, а дотнет. А это уже другое ведомство ;)
Там не дотнет, а Mono. Можно не думать, какое это ведомство, ибо свободно и есть хорошие обещания от MS.
Ждем, 'портирования' Android на LLVM инфраструктуру.

Когда LLVM станет нормой и заменит собой всю современную мешанину из виртуализаций и многоуровневых прослоек, настанет кросс платформенный рай ;)
LLVM научился работать на армах?
llvm.org/Features.html
An easily retargettable code generator, which currently supports X86, X86-64, PowerPC, PowerPC-64, ARM, Thumb, SPARC, Alpha, CellSPU, MIPS, MSP430, SystemZ, and XCore.


Или что тут имеется ввиду?
О, хорошая новость. Раньше не умел.
НЛО прилетело и опубликовало эту надпись здесь
Важно не забыть цикл for (int i=0;i<n;i++)
<sarcasm>Вы использовали запатентованную мной последовательность символов при написании цикла!
Жду роялти!</sarcasm>
Хотел ответить, но горько разрыдался.
Перестаньте все, я запатентовал «процесс патентирования»! Вы все мне должны!
Лет 15 назад один чувак зарегистрировал авторские права на «мелодии» из 10 нот, состоящие только из 10 предопределённых нот. Это только потом оказалось, что такие «мелодии» воспроизводятся любым телефоном с тоновым набором при наборе номера и чувак фактически захватил все телефонные номера в Австралии.

Он, кстати, был не патентный тролль. Его бизнес был «защита от телефонного маркетинга» — так как с каждого позвонившего Вам с очередным «замечательным предложением» можно смело требовать отчислений за несанкционированное воспроизведение мелодии. Не знаю насколько бизнес был успешен…
А, пофиг, мы, плюсовики пишем так: for ( size_t i = 0; i != n; ++i ). size_t — потому что именно он является индексным типом, != n и ++i из-за итераторов. Любые итераторы поддерживают такие формы записи. Поэтому привычнее везде писать так.

Хм, закопирайтить что ли такой цикл?)
А, ну тогда и самую популярную джавскую конструкцию fot (Element element: Iterable)
Ну раз пошел такой терд, то я патентую обратный цикл с «длинной стрелкой» :)
for (var i = 10; i --> 0;)
и хорошо! те, кто так пишут, должны, если не заплатить хорошо, то хотя бы помучиться.
Тогда я патентую короткий обратный цикл)
for (var i = 10; i--;)
у вас в выражении наверняка уже кем-то запатентованный смайлик ;)
И у вас ;)
for my $i ( 1 .. n ) {
    do_smth # perl
}
Надо же, C++ я уже почти забыл, а привычка так писать циклы for осталась.
достаточно запатентовать инструкцию условного перехода в процессоре, посмотрим, как они тогда выкрутятся!
Придётся делать ассемблерные вставки для реализации этих операторов. Если, конечно, подобные алгоритмы не окажутся чьей-нибудь интеллектуальной собственностью. Тогда придётся изобретать велосипед на ассемблере. Что-то меня понесло
Предлагаю кофейным магнатам потролить Oracle за «Java»
Государство Индонезия должно выставить Oracle ноту протеста.
И прекратить поставки кофе бобов в США до полной аннигиляции корпорации Oracle и всех её активов.
Патентую английский алфавит
Патентую слово Hello world
Китай в итоге победит. Помните Reebook, Rebook и т.д.?
jf, vhile, f0r… ))))
Вы отстали от жизни, китайцы существенно продвинулись в технологиях троллинга и сейчас троллят Apple на тему того, что торговая марка iPad была зарегистрирована в Китае раньше, чем это сделала Apple.
PS. Кстати, надо бы им проверить, может они и «Java» успели зарегистрировать раньше, чем это сделала Sun…
Apple, насколько мне известно, купили у китайцев марку iPad, но где-то ошиблись иероглифом и недокупили :)
> которое закончилось решением о том, что иерархия меню подлежит копирайту
так вот почему в Turbo C++ был Go вместо Run!
И это пугает, когда система правосудия такая ущербная…
А когда финальный вердикт?
Когда присяжные придут к соглашению. Ограничения по времени на совещание наверняка есть, но они только начали.
Да и вообще, создатели всех си-подобных языков кое-кому задолжали…
Да и все пользователи арабских цифр и латинского алфавита…
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Очевидно же, что латиницей. Кириллица основана на исходном коде латиницы, а значит включает все её отчисления.
НЛО прилетело и опубликовало эту надпись здесь
Кириллица основана на исходном коде греческого, так же как и латиница)
Не-а! Кириллица с латиницей обе произошли от греческого алфавита. А он — от финикийского. Плюс кириллица позаимствовала несколько букв из иврита, который тоже произошёл из финикийского.

Дешевле всего использовать финикийский алфавит. Да только мало кто поймёт :-)
Да, я уже понял, что оплошал.
Но с языками всё-таки радует тот факт, что они уже все в общественном достоянии за давностью лет.
Посмотрел. Вполне нормально, привыкнем. За пару поколений привыкнем.
Учитывая, что арабские цифры позаимствованы у индусов, там тоже светит конкретное разбирательство )
Мне вот уже стало интересно — а кому принадлежит патент на человеческое ДНК?
Да был один чувак. Обещал когда-нибудь всех страшно засудить.
Надо заранее нанять адвоката.
Дак, ДНК давно уже патентуют…
Пушкин в авторском агентстве — Comedy Club. Они засудят вас за копирайт на их шутку.
Очень надеюсь что среди присяжных есть хотя-бы один программист. Этот бред нужно прекращать.
В жюри есть сантехник, медсестра, водитель автобуса и почтальон. Инженеры HP и Cisco были, вполне ожидаемо, отведены на этапе выбора жюри.
НЛО прилетело и опубликовало эту надпись здесь
Определенного (пока стандартного) диаметра. Никто не сможет производить такие же трубы, а производители переходников будут должны платить денюжку.
После суда он побежит пропустить по паре-тройке с водителем автобуса. Это точно.
Писец конечно эта их система суда присяжных. Побеждает тот, чей адвокат красноречивей.
На самом деле это слабо похоже на тот цирк, который показывают в голливудских фильмах.
Что все эти люди понимают в программировании? Как они будут принимать решение — как им объяснят и как они поймут?
Не позволительно допускать к решению вопроса заинтересованного человека. Не думаю, что найдётся хотя бы 1 программист, у которого нет интереса по этому вопросу. Либо он может заработать с такого копирайта, либо потерять. Даже, если он трудится на самой низкой должности и сам ничем не владеет, то в случае победы Oracle, компания на которой он продаётся, может заработать денег и, как следствие выплатит вкусные бонусы. Или закрыться и человек останется без работы. Все более или менее представляют, какие последствия это может иметь.

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

оп, почтальон — заинтересованное лицо.
Задача адвокатов — решить в разговоре с почтальоном заинтересованное он лицо или нет. Они будут задавать эти вопросы по поводу ПО на почте и влияния. Если почтальон как-то будет высказываться про снижение зарплаты и такую причинно-следственную связь, то адвокаты его не будут брать.
Это всё равно, что разрешить хирургу решать убил ли другой хирург человека.

А кто как не более опытный хирург может это решать? Сантехник или водитель автобуса которые хорошо если операции видели по телевизору?
Факт наличия/отсутствия медицинской ошибки повлекшую смерть определяет экспертиза, сюрприз, другого медика. Патологоанатом называется.
Или, по-вашему, это решает пролетарской чуйкой дядя Вася из троллейбусного парка?
У меня, конечно, поверхностное представление, но патологоанатом вроде устанавливает непосредственно причину смерти (действия хирурга, приведшие к смерти), а была ли это ошибка хирурга или оправданный риск установить может, по-моему, только более опытный хирург.
Ну так, да. Патологоанатом проводит экспертизу и дает свое заключение о причине смерти. После чего, по идее, действия оперирующего врача должны рассматриваться консилиумом.
В любом случае, профессиональную деятельность одного специалиста может адекватно оценить только другой специалист в той же области.
НЛО прилетело и опубликовало эту надпись здесь
Ну почтальоны в коллегии присяжных имеют мало общего с почтальонами в американских порнофильмах, очевидно =).
Я их систему присяжных только в «Вердикт за деньги» видел. Не знаю, все ли громкие дела так проходят, но в фильме показано нехило.
То же верно и для Ruby. А Microsoft Mono и вовсе поддерживает. Но, честно говоря, для ТАКОГО маразма, я даже готов поддержать подобное нагнетание ужаса.
Если будет принято решение в пользу Oracle, то поддержка может внезапно кончиться. Они подождут, и если Mono займет вкусные части рынка, потребуют свою долю. Конкурент которого крепко держишь за яйца — это уже не конкурент, а ценная дойная корова, ему выгоднй позволить вырасти чтобы не неся никаких рисков снимать большой надой.
MS и так с Mono надой снимает отменный в виде бесплатного распространения своей платформы на не поддерживаемые оффициально архитектуры. По сути они получили кучу бесплатных разработчиков, тестеров и бесплатный маркетинговый бюджет. И народ в MS достаточно умный, чтобы не убивать свою дойную корову.
Лицензия не может предоставлять права, которых на момент написания лицензии не существовало. Юмор как раз в том, что в случае признания правоты Oracle в Штатах ВНЕЗАПНО возникнет (прецедент = закон в США) новое право (на API), которого ранее не было.

В Штатах такие прикольные коллизии не редкость, я про одну писал.
НЛО прилетело и опубликовало эту надпись здесь
И не только Anonymous, по мне, так вполне разумно начинателей подобных патентов сжигать или расстреливать… за преступления против разума.
Что ни статья об этой теме, так куча смешных шуток про «маразм крепчал» и «давайте запатентуем циклы». Дежавю прямо. Откройте статьи вон в похожих куча, типа habrahabr.ru/post/142499/, там же всё разжёвано. Это вообще статья какая-то непонятная. Причём тут вообще API? Какая связь между Jython, IronPython и прочими реализациями с тем, о чём судится Оракл с Гуглом. Почему они-то в опасности? Это же бред какой-то.
А это потому что статья по ссылке не правильная абсолютно. Претензий у Oracle к Google много. В частности Oracle утверждает, что:
— Гугл скопировал структуру и организацию Java Core Library в Android
— Гугл скопировал документацию на Java API
— Гугл скопировал непосредственно части кода (в том числе декомпилированные)
— И в целом — гугл скопировал Java API

По мнению Oracle — это незаконно.
Речь идет совершенно не о «нескольких строчках кода», а именно об API/
Сорри, я не ту ссылку дал какую-то из закладок. Была статья где-то полугодовой давности, где в комментариях довольно хорошо разжевали что почём, почему-то найти не могу её теперь…
Сгоряча выразился коряво, я как раз о том и говорю (кстати, в каменте по ссылке тоже это сказал), что дело не только в программных строках и даже не только в API, а вообще в лицензировании технологии, о заимствовании проприетарного, о явном копировании программного кода, о прочих нарушениях гугла итп. А тут всё сведено к тому, что «ололо любой API всего на свете под угрозой». Вроде и др.добс серьёзный ресурс, или я не понял чего… Тот же и Jython и пр. — я перечитал заметку, но не понял почему он под угрозой, поясните?
Собственно претензий у Оракла много и некоторые из них (мое оценочное мнение) по делу. В процессе рассмотрения всплыли эпизоды, когда Гугл копировал код напрямую, копировал декомпилированный код, копировал документацию (103 400 строк документации утащили), копировал комментарии и использовал знания о Java переманенного инженера Джошуа Блоха. Это плохо, Гугл вроде бы готов признать это и заплатить деньги.

Но кроме этого присяжным задается вопрос:
As to the compilable codefor the 37 Java API packages in question taken as a group:
— Has Oracle proven that Google has infringed the overall structure, sequence and organization of copyrighted works?

То есть, если что-то совпадает по структуре с закопирайченной работой, то, по мнению Oracle, это подлежит лицензированию.
Примеры — это альтернативная реализзация чего-нибудь (Вижуал Бейсика, Сишарпа, Юникса, Джавы). Конкретно в лицензии питона есть (насколько я понимаю), однозначное разрешение на derivative works, но в целом позиция «Если что-то совпадает по структуре API с чем-то проприетарным, то надо лицензироваться» опасна. И ближайшая жертва, как обычно, Linux.
НЛО прилетело и опубликовало эту надпись здесь
И wine.
ReactOS пока никому не нужен. Вот вырастет — засудят и заставят платить, юристы мелкомягких там найдут 100500 закопирайченных технологий из винды. Но скорее не вырастет, так и останется вечной пре-альфой.
Собственно говоря по ссылке в этой статье приведен pdf иска и там прямо написано

What Oracle accuses of copyright infringement are:

2. The selection, arrangement, and structure of all API elements (including names) of the
Android class library source code and object code that implements the 37 API packages.
3. The declarations of the API elements in the Android class library source code and
object code that implements the 37 API packages.
С другой стороны, Oracle по своему правы: API — это часть архитектуры. На его разработку потрачено время и деньги. Неудобный API никто копировать не будет (если только это не API монополиста). Так что здравая мысль в этом подходе есть… Но вот опасность того, что эта здравая мысль может привести к полному абсурду все равно огромна.
А может хватит уже копирастии? Может еще паттерны патентовать будем?
А при чем тут копирастия? Работы по проектированию выполнены. Результаты опубликованы. Другая фирма берет эти результаты и использует их в своей разработке. Так что тут как посмотреть: если рассматривать разработку API как отдельный этап работ, то вроде как претензии и правомерны. Если же рассматривать его как побочный результат выполнения прочих работ — тогда фигня получается.
Ну так я и говорю — паттерны ведь тоже разрабатываются! Копираст инкорпорейтед™ придумали и запатентовали паттерн «фабрика», задокументировали, а вы используете так-же структурируете код в своем проекте! Нехорошо, чужой труд не уважаем.
Не знаю как в других странах, но в России не патентуются в качестве изобретений:

— открытия;
— научные теории и математические методы;
— решения, касающиеся только внешнего вида изделий и направленные на удовлетворение эстетических потребностей;
— правила и методы игр, интеллектуальной или хозяйственной деятельности;
— программы для ЭВМ;
— решения, заключающиеся только в представлении информации.

То есть паттерны точно не патентуются. А вот с API вопрос спорный: если его рассматривать как способ выполнения (а он таковым не является, на мой взгляд), то патентовать его нельзя, а если как результат интеллектуальной деятельности — можно. Собственно, об том и спорят, как я понимаю.
Разве API без реализации это не «решения, заключающиеся только в представлении информации.»?
В основном в опасности альтернативные реализации существующих языков программирования. А именно, Jython, IronPython и PyPy для Python; JRuby, IronRuby и Rubinius для Ruby; Mono для C# и VB; возможно C++ для C, GCC для C, C++ и Objective-C и так далее. И, конечно же, все браузеры, использующие JavaScript, вполне возможно задолжали роялти наследникам интеллектуальной собственности Netscape.

Боже, что за бред… дальше не читал…
Oracle всегда недолюбливал разработчиков. В жилах Microsoft и Google течет кровь основателей-программистов, а Oracle — это в первую очередь компания, специализирующаяся на базах данных, которая беспощадно преследует свои бизнес-цели и пленных при этом не берет. Компанию не интересует, нравится ли такой азартный подход к технологиям разработчикам или какому-либо другому сообществу. Потребители, конкуренты и даже собственные клиенты боятся Oracle во всех сегментах рынка, в которых компания присутствует, поскольку для Oracle имеют значение только собственные интересы и Oracle уже показывал примеры агрессии.В этом суть статьи — одни эмоции и нет конкретных фактов по претензиям.
Извиняюсь за оформление, предпросмотр показывал более читаемое
Ну что за чушь? Если Oracle победит — будет похоронена вся около-явовская инфрастуктура: все IDE, альтернативные реализации компиляторов и виртуальных машин, андроид, Scala и куча всего. В итоге самому ораклу больше всех и достанется отдачей.
Ну что за чушь? Если Oracle победит — будет похоронена вся около-явовская инфрастуктура:
Почему?
Основной рынок Oracle — энтерпрайз на Java. Умрет текущая инфраструктура и инструментарий — люди тут же начнут массово валить на тот же дотнет. Да и уже валят.
Упс… Неправильно прочитал вопрос. Базовая Java, которую контролирует Oracle довольно таки сильно отстает от конкурентов (читай дотнета) и держится только за счет внешних прогрессивных проектов. Если они умрут — то платформа отстанет окончательно. И run everywhere не спасет. Вон, Фаулер ruby активно в энтерпрайз внедряет, и ничего.
А почему вы думаете, что умрут все внешние прогрессивные проекты? И что вы понимаете под такими проектами? Альтернативные реализации java-машины? Но разве их много? И под макосью, и под виндой все используют стандартную Oracle Java. У кого ещё, кроме Андроида, есть мейнстримовая альтернативная джава?
Разные IDE, OpenJDK, Spring, Hibernate и.т.д.
Ощущение такое, что oracle очень хочет поднять под себя все.
Базовая Java, которую контролирует Oracle довольно таки сильно отстает от конкурентов (читай дотнета) и держится только за счет внешних прогрессивных проектов. Если они умрут — то платформа отстанет окончательно.
За счёт каких это внешних прогрессивных проектов она держится? Андроида, его сдк и давлика? Это похоже на шутку какую-то :) Гугл решил поматросить Java не потому что хотел помочь ораклу своей «прогрессивностью», а как раз таки чтобы поиметь профит за счёт готовых технологий, огромного кол-ва наработок и всего девелоперского комьюнити в целом.
Спасибо, Кэп, цели Гугла очевидны.
Про проекты комментарием выше.
Ну, если цели очевидны, зачем тогда анекдоты выдумывать о том, что Java держится только за счёт каких-то там «прогрессивных проектов». Это:
Разные IDE, OpenJDK, Spring, Hibernate и.т.д.
Ощущение такое, что oracle очень хочет поднять под себя все.
и прочее подобное всё всего лишь инструменты по сути, которые выросли вокруг существующей инфраструктуры, а не то, что держит её на плаву.
Только OpenJDK вообще непонятно каким местом тут затесалось. Чего тут «подминать»? Это просто оракловский проект был и всегда им останется O_o. Сейчас ещё из больших игроков к ним IBM присоединилась, бросив подкармливать Apache Harmony, от чего та мгновенно прекратила существование.
А остальное это что? «Разные IDE» — это вообще инструмент в чистом виде. Все они так или иначе спонсируются большим баблом корпораций и направлены на то, чтобы использовать существующую выгодную им технологию. И это какие такие иде? нетбинс? он оракловый. эклипс? по сути айбиэмовский, но сейчас кормится всеми. идея — чисто коммерческая. А всякие Spring, Hibernate — тоже просто инструменты, они никак не держат на плаву Java, скажете тоже…
Всегда считал, что основные ценности любой платформы — ее инструментарий и ее рынок (если создан искуственно).
>сильно отстает от конкурентов (читай дотнета)

И в чем же отстаёт? Почему Вы уверены, что все то что есть в C# так нужно яве, и вообще так уж нужно? А может быть некоторые вещи вовсе даже и не полезны?

>то платформа отстанет окончательно

Платформа != язык. А Java сильна именно платформой (виртуальная машина, стандарты, библиотеки), которая и не думала отставать.
Я про платформу в основном и говорю.
Не хочу разводить холивар, но для оценки отставания достаточно запустить рядом два приложения — одно на WPF, другое на Swing. И сравнить тупо внешний вид, не говоря уже о отзывчивости и производительности.

Про язык думаю спорить не будете? И лично мне в Java совсем не нужны фичи из C#. По одной простой причине — я и так уже пишу именно на C#, так как он сильно продуктивней.
>но для оценки отставания достаточно запустить рядом два приложения — одно на WPF, другое на Swing.

А если попробовать запустить то же самое на linux/mac то, что-то мне подсказывает, что сравнение будет не в пользу .Net.
Не говоря уже о том, что десктоп — не основной козырь явы.

> отзывчивости и производительности

Признаться, особо не использовал прог с .Net интерфейсом, но то что использовал (Toad for MySQL & Sql Server Management Studio одну из последних) показалось очень неторопливым в плане отзывчивости. Особенно это было заметно после перехода с оснастки управления SQL Server 2000.

>Про язык думаю спорить не будете?

Вообще-то очень даже и могу. Имхо, многое, чем так похваляются C#-щики именно что не нужно.

>так уже пишу именно на C#, так как он сильно продуктивней.

А в чем выражается эта продуктивность? В том, что Visual Studio помогает писать код? Ну так и у Java'ы есть IntelliJ Idea. А вот есть ли у вас аналог maven'а или хотя бы захудалый ant?
1. Так на десктопе все-таки отстает? С учетом распространения винды.

2. У меня все ровно наоборот.

3. Т. е. нормальные дженерики и лямбды не нужны? А зачем их тогда вообще к джаве стали прикручивать?

4. Не смешно ;) Даже если не учитывать npanday и nant, дотнет остается энтерпрайзной платформой для которой, конечно же, полно решений для continuous delivery начиная от TFS.
>1. Так на десктопе все-таки отстает? С учетом распространения винды.

Не берусь судить, т.к. использую в равной степени мало как .Net так и Java-прог. Возможно, и да. Имхо, на десктопе обе платформы по-прежнему проигрывают старому доброму C++.

>3. Т. е. нормальные дженерики и лямбды не нужны? А зачем их тогда вообще к джаве стали прикручивать?

«Нормальные» обобщения — довольно спорный момент. Выгод для программиста они принесут реально мало, т.к. то, что они позволяют (пока приходит в голову new T()) сделает код менее понятным, при этом накладные расходы в runtime, понятно, возрастут.
Лямбды, видимо, нужны. А вот делегаты, структуры, невиртуальные методы, свойства — точно не нужны.

>npanday и nant

Кстати, хорошо что Вы их упомянули. Забавно, что эти проекты, как и NHibernate, NLucene, iText.NET, NPOI, Spring.NET,… (продолжите сами) — поклассовые порты именно с их Java-прародителей.

>4. Не смешно ;) Даже если не учитывать npanday и nant, дотнет остается энтерпрайзной платформой для которой, конечно же, полно решений для continuous delivery начиная от TFS.

Вот ради интереса, чем Вы собираете свой текущий .Net проект?
3. Про дженерики и структуры вы сильно ошибаетесь. Портирование проектов — вполне нормальное явление. Тем более поклассовое — это говорит о том что языки как минимум на одном уровне.

4. TFS, а что?
> 3. Про дженерики и структуры вы сильно ошибаетесь.

Можно подробнее, в чем моя ошибка?
Зачем я должен ломать голову, что мне писать, структуру или класс, неужели компилятор за меня не может правильно оптимизировать в runtime? Видимо, не может, вот и переложили дизайнеры языка проблему со своей головы на голову конечного разработчика.

>4. TFS, а что?

Так это ж вроде Continuous integration, или конечный дистрибутив — тоже им?
3. Не может, потому что у структур и объектов разное поведение — объекты все передается по ссылке, а структуры всегда копируются.

4. У нас действительно CI, но конечный дистрибутив собрать тоже не проблема абсолютно.
>3. Не может, потому что у структур и объектов разное поведение — объекты все передается по ссылке, а структуры всегда копируются.

А Java может (http://www.ibm.com/developerworks/java/library/j-jtp09275/index.html):
The Java language does not offer any way to explicitly allocate an object on the stack, but this fact doesn't prevent JVMs from still using stack allocation where appropriate. JVMs can use a technique called escape analysis, by which they can tell that certain objects remain confined to a single thread for their entire lifetime, and that lifetime is bounded by the lifetime of a given stack frame. Such objects can be safely allocated on the stack instead of the heap. Even better, for small objects, the JVM can optimize away the allocation entirely and simply hoist the object's fields into registers.

Иными словами, если JVM просекает, что в данном конкретном участке кода класс можно без последствий, грубо говоря, заменить структурой (для большей производительности) то это делается автоматически в runtime, без участия программиста.
Стоп-стоп-стоп. В приведенном абзаце говорится не о структурах и объектах, а о их размещении в куче или на стеке. В .net есть немножко другой механизм, но тоже отвечающий за оптимизацию размещения объектов в памяти.
Зачем нужно использовать структуры, кроме как с точки зрения производительности?
Не логично ли, если (вообразим) разницы в производительности бы не было, использовать одну сущность (class) vs две (class/struct)?
Структуры — это еще и дешевый способ соорудить value object, между прочим.
Можете считать синтаксическим сахаром ;)
Зачем value objects нужно явно синтаксически отделять от не-value objects? Зачем мне при этом нужно думать и учитывать особенности поведения тех и других? Ради чего? Впрочем, Вы сами сказали «дешевый», что еще раз подтверждает мой тезис.
Вы прекрасно поняли в каком смысле я написал «дешевый» ;)
Получается, что не понял. Поясните, пожалуйста.
Не требующий дополнительных издержек.
Издержек от программиста при написании программы или издержек процессора и памяти при её выполнении?
И тех и других.
Ну вот, моё мнение что структуры повышают издержки программиста на проектирование, причины я описал выше (каждый раз надо думать, что правильнее использовать и какие последствия это повлечет), и, возможно, понижают издержки на проц и память. Возможно, потому что при неправильном применении, например, частая передача через параметры (понятно, с полным копированием) может только все замедлить.
Действительно в том же геймдеве явы до появления андроида например практически не было. Оракл зачем то давит собственную технологию. Андроид столько сделал для популяризации явы что они наоборот должны на каждом углу орать о том что ява и андроид едины а они зачем то рубят сами сук на котором сидят.
Mono для C#

Тут ошибочка вышла. Благодаря этому обещанию Майкрософт проекту Моно ничего не угрожает.
Копирасты уже не знают чем себя занять.
Радости Microsoft не будет границ. Два его самых крупных конкурента похоронят друг друга, а ещё вместе с тем и весь рынок альтернативного ПО, который составлял нехилуй конкуренцию продукции мелокмягких. И даст шанс частично занять нишу Android.
Вас почему-то минусуют, но наблюдение очень верное — притом его можно углубить цитатой из обсуждаемой нами блогозаписи:

И, конечно же, все браузеры, использующие JavaScript, вполне возможно задолжали роялти наследникам интеллектуальной собственности Netscape.


Спросим себя: а кто такие наследники интеллектуальной собственности Netscape?

А это Корпорация Microsoft, купившая пакет патентов AOL за 1 миллиард долларов.

Теперь им осталось дождаться решения суда в пользу Oracle — и, воспользовавшись этим прецедентом, запретить употребление JavaScript вне Internet Explorer.

Конец всем остальным браузерам, а также Rhino и Node.js…

Не следует забывать, что это все только для сша.
Стоит также помнить, что моду в IT-мире задают США.
После такого события, про США в сфере IT забудут во всем мире, следовательно Oracle похоронят самих себя
И тут приходит Интел: «А какого это вы наши опкоды без отчислений вызываете?»
Уже было: АМД скопипастил опкоды Интела, Интел скопипастил опкоды у АМД.
Теперь у них соглашение делиться друг с другом.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Не надо сгущать краски вокруг Оракла. Засуживание за незаконное использование кода — это такая вещь, которой не брезгуют и мелкие фирмы. Могу сказать даже то, что для некоторых это просто удача, когда они находят свой код в продукте крупной фирмы и после этого выставляют им иски на миллионы долларов.

Поставьте себя в конце концов на место Оракл/Сан. Вы написал код, не просто функцию, а сотни, если не тысячи классов. И весь этот код тупо копируют в чужой продукт. А вы ведь честно предупреждали, что нужно заплатить за лицензию, но нет, они все равно скопировали. И что вы сделаете? Утретесь соплями и продолжите свою песню про свободный мир программирования? Ну-ну.
Вы не правы. В данном топике дело не в копировании кода, а в воспроизведение АПИ, а это совсем другое:

>В двух словах, если решат, что Oracle прав, что копирайты в заголовках каждого файла исходного кода Java относятся именно к синтаксису API, то Oracle может взимать плату и штрафы с Google за реализацию этих API без благословения Oracle (а конкретнее, без лицензии)
И это действительно бред. О копировании кода речи не было.
Изначально в этой истории разговор шел о копировании кода, это потом уже «Oracle даже предъявила фрагменты скопированного кода. По её оценкам, «примерно третья часть пакетов Android API» являются «производными от защищённых копирайтом Oracle пакетов Java API»». link
Я прекрасно это знаю, но в этом топике обсуждается воспроизведение АПИ, а не копирование кода…
т.е. кто-там-владеет С++ засудят Oracle за использование API тоже? или за С-подобность языка
То, что в этом топике не было ничего про копирование, а только про копирайт, не отменяет того факта, что вся истерия идет от этого судебного процесса, в котором как раз суть претензий заключается в копировании.
И кстати циклы for и другие конструкцию здесь не причем. Судятся из-за за API, а не из-за языка.
А если посмотреть шире, то выигрыш Оракла скажется не только на программировании. Например, патент на API электрических приборов — все длжны быть совместимы с 220 на 50 или 110 на 60 и если хотите производить такие приборы, извольте платить за патент на изобретенный кем-то api. Ужас, что будет твориться. На любой открытый интерфейс может быть наложено чье-то право собственности и трындец! На винты, формулу топлива, форматы связи… Вы принимаете и транслируете IP-пакеты? — извольте платить правообладателю (а уж они сразу проявятся, стоит только разрешить)…

Впервые подумал, что новость о том, что Россия возглавила список стран, нарушающих авторские права, мне даже импонирует, хотя я сам пользуюсь лицензионным софтом. www.scan.interfax.ru/TopicNews.aspx?id=a5643b1b-0e81-4320-831e-656915ea7b7f
За List.add() будут сажать?
будут сажать за ***Название такое же как у конкурента***.add()
Скорее не за отдельные совместимые сигнатуры, а за идентичные наборы сигнатур в рамках классов, пакетов. То есть если вы сделали свой List, не до конца совместимый с джавовой реализацией (пусть там будет get(int index), add(item), но части методов либо не хватает, либо имеются дополнительные методы) — то это нормально. А если сделали List с набором сигнатур, полностью совпадающим с джавовым, то вам предъявят претензии.
Насчёт дополнительных сомнительно. Что крякает как утка…
Если дело в совпадении сигнатур предлагаю Google расширить все классы коллекций методом Collection.fuckOracle(). После этого совпадения не будет :)
One API to rule them all, One API to find them,
One API to bring them all and in the darkness bind them.
In the Land of Oracle where the Shadows lie.
Патентная система США должна умереть.

К чести российского патентного права у нас такой маразм невозможен.
Еще есть надежна что в США все друг друга засудят и мейнстрим программирования перейдет в другие, более адекватные страны. Это шанс для России отхватить свой кусок этого рынка.
Маловероятно, к сожалению.
Если Oracle победит Google, то перед ним встанет «Голубой Гигант» — IBM с его собственной реализацией JVM. Не думаю, что такие жесткие битвы кому-то на руку.
IBM тут причём? У них всё лицензировано и везде законные шильдики Java Compatibility.
> И внутренняя дискуссия в Google, которая показывает, что они знали, что, возможно, понадобится лицензия также поддерживает идею того, что API — это собственность.

Пропущена запятая, но предложение надо переписать. Переводите смысл, а не слова. Смысл теряется в туче слов «что».
Вот меня такой вопрос интересует: почему Google в Android использовала именно Java?

Скорость разработки + большое количество специалистов?
Я не программист, наверное поэтому многого не понимаю. Раз уж система разрабатывалась с нуля, почему нельзя было взять какую нибудь *nix DE или свою написать, но полностью свободную, адаптировать или написать легкий аналог X Window System. И приложения разрабатывать например, на С++. Или тут все сложно с лицензиями? QT — 3 лицензии. Под GTK+ целая таблица языков для разработки. На ее основе можно разрабатывать и свободное и проприоретарное ПО. wxWidgets?
Наверное были какие то серьезные причины о которых я как не специалист просто не знаю.
Java это:
— множество программистов разнообразной квалификации
— огромное количество качественных инструментов для разработки
— невысокий порог вхождения

Схожими свойствами обладает разве что C#, но с Майкрософт договориться еще сложнее. Плюс ко всему Гугл уже купил стартап Android после выбора Java как основного языка разработки.
Компилируемые языки не могут использоваться в принципе, т.к. программа будет запускаться только на ограниченном числе процессоров. Гугл же позиционирует Android как универсальную мобильную платформу.
Ну да, но «реальные пацаны» все равно пишут все на C++ и тонкую прослойку на JNI для вызова нативного кода. Зачем? А чтоб потом на iOS портировать без проблем, а потом глядишь и на win mobile. Я тоже сначала удивлялся, но мне разьяснили как дела обстоят. Это, конечно, если хочется кроссплатформенное приложение.
Какая, кстати, ирония. Для кроссплатформенности использовать C++, вместо задуманной для этого джавы.
Платформа, ориентированная на «реальных пацанов», мертворожденная по-умолчанию. Высокий порог вхождения -> мало софта -> мало пользователей -> малый платежеспособный спрос -> потеря привлекательности для «реальных пацанов».
Да-да, именно поэтому самые продаваемые продукты в маркете этими реальными пацанами на сях и написаны. Такие мёртворожденные, что ах и ох. Откройте маркет — все топовые позиции по продажам с нативным кодом. ВСЕ. Без исключений.
А почему нельзя С++ компилировать в байт-код, выполнять на виртуальной машине или коипилировать этот байт-код в нативный при установке приложения?
Потому что C++ не выполняет вышеизложенные требования:
— множество программистов разнообразной квалификации
— огромное количество качественных инструментов для разработки
— невысокий порог вхождения
Да ладно вам, первые два вполне себе выполняются
Я и не говорил, что не выполняет ни одного) Но но нужен комплекс качеств, а не какие-то отдельные. Нужно понимать, что в Гугле все грамотно проанализировали. Если бы можно было сделать C++ или любой другой основным языком разработки, они бы сделали. Считаю дальнейший спор бессмысленным. Никого не интересует, что было бы, если бы… Это уже альтернативная история.
Да, согласен, история не знает сослагательного наклонения. Тем не менее тот же iOS с Objective-C так же не испытывает недостатка в разработчиках. Так что хоть Делфи, они выбери — ничего бы не изменилось.
А может, просто найти того, кто у них там в Oracle по этому делу главный, и устроить ему в подворотне «тёмную»? Мне кажется меньше крови бы получилось.

P.S. По теме: а если я задумаю запантентовать решётку ("#"), интересно, получится? Мне же тогда ВСЕ платить будут))
Кстати да, меня очень удивляет что такие большие фирмы, на кону огромные бабки, а никого еще не замочили.
В таких больших фирмах отдельная личность, наверное, мало что значит. Всем рулят «безликие» акционеры.
Очевидно, Epsiloncool имел ввиду акт устрашения этих самых безликих. Всё-таки, нанесение увечий или убийство лица компании — это серьёзный знак. Впрочем, глава Oracle вряд ли расхаживает по улицам без верных гончих, хранителей тела.
Да не, просто адвокаты Oracle и Google решили снова подзаработать. Если вдуматься, они единственные, кто остаётся в выигрыше при любом исходе.
Предполагаю волну критики, но справедливости ради не могу молчать! :)

Давайте не путать язык программирования (синтаксис), API (спецификацию) и библиотеку (реализацию API).

Все три сущности — продукт интеллектуальной деятельности. Причем не абстрактная идея, а вполне себе конкретная реализация. Все три сущности могут и должны (на усмотрение автора) быть объектом защиты.

По-моим личным убеждениям, мир был бы лучше если бы патентов не было вообще, но в сегодняшних реалиях, чем отличается язык программирования от технологии получения специфичного сплава метталов или формулы таблетки для лечения простуды?

Если я правильно понял автора статьи, то претензии Oracle к Google не к языку программирования («пусть они (Google) используют синтаксис Java, но за наше API пасть порвем»), а к использованию спецификации-API (т.к. к реализации у них не может быть претензий — Google все переписал).

Помнится в свое время SUN заставил Microsoft использовать свою виртуальную машину, а не MS'овскую. Чем этот спор отличается от того, что происходит сейчас? (Oracle хочет много денег, SUN хотел пропихнуть свою разработку на Windows, не допустив размытия/фрагментации своей платформы).

Также можно вспомнить как долго IBM упрашивала SUN сделать Java открытой платформой.
Но, похоже, акционеры SUN не хотели терять деньги и вот, на тебе, нашелся таки покупатель, который сейчас встряхнет индустрию.

Кстати по российскому законодательству, если 20% (могу соврать, но по-моему эта цифра) произведения отличаются — то оно считается самостоятельным :) Т.е. Google достаточно поменять 20% API и все будет в шоколаде :)

В качестве прикола, а если перед каждым классом/методом поставить префикс g_… это уже будет считаться другим API? ;)
претензии <...> к использованию спецификации-API (т.к. к реализации у них не может быть претензий — Google все переписал).
Претензии к тому, что 1) называется Java, но таковой не является, 2) не лицензировано и тесты на совместимость не пройдены (разумеется, т.к. см п.1), 3) не знаю чего там на данный момент переписано, но изначально как раз претензии были в том числе в том, что заимствован код в явном виде (в том числе проприетарный и даже декомпилированный), заимствованы тысячи строк явадоков и прочее и прочее, 4) и ещё несколько.
Помнится в свое время SUN заставил Microsoft использовать свою виртуальную машину, а не MS'овскую. Чем этот спор отличается от того, что происходит сейчас? (Oracle хочет много денег, SUN хотел пропихнуть свою разработк
Никого он не заставил ничего использовать. Заставляли либо лицензировать и сделать совместимой (как явное и прямое следствие), либо не называть свою машину Java-машиной. Не отличается почти ничем. И Oracle и SUN хотят (хотели) денег + не допускать фрагментации платформы, потому что это заявлено основной её сутью.
В качестве прикола, а если перед каждым классом/методом поставить префикс g_… это уже будет считаться другим API?
В любом случае это не будет считаться вообще «джавой».
Давайте не путать язык программирования (синтаксис), API (спецификацию) и библиотеку (реализацию API).

Все три сущности — продукт интеллектуальной деятельности. Причем не абстрактная идея, а вполне себе конкретная реализация. Все три сущности могут и должны (на усмотрение автора) быть объектом защиты.


По-моему, объектом защиты (имущественных прав) может быть только реализация. То есть не в смысле, что по-моему так закон гласит, а просто мое мнение. Языки программирования (синтаксис и семантика) и API (набор сигнатур по сути) — это способ выражения мысли. Да они являются результатом интеллектуальной деятельности, но, по-моему, защите подлежит только право на имя («это ЯП/API изначально придуман %author_name%»). Естественно могут защищаться реализации ЯП/API, но если автор языка создал и реализацию, то запретить создавать другую реализацию он не в праве.

ЯП и API это информация чистой воды, документация к ним информирует людей как должен компьютер трактовать конструкции и вызовы. Пользуясь вашей аналогией, можно сказать, что ЯП и API- это формула и описание свойств металла или таблетки. Технологию их получения вы можете запатентовать, но запретить кому-то другим способом создать этот металл или таблетку с такими же свойствами не можете.
Сколько времени уже прошло с момента публикации поста. Результат то где? Присяжные ещё думают? :)
А именно, Jython, IronPython и PyPy для Python; JRuby, IronRuby и Rubinius для Ruby; Mono для C# и VB; возможно C++ для C, GCC для C, C++ и Objective-C и так далее.

Какой бред. Кто будет преследовать разработчиков, например, Rubinius'а? MRI открыт под свободной лицензией и так.
комментарии не читай@сразу пиши
Уже несколько лет задаюсь вопросом: ну почему Гугл не купили Sun, когда была прекрасная возможность? Они предусмотрели ситуацию вроде нынешней и всё равно решили не покупать корпорацию, или действительно ошиблись?
Хорошо бы конечно на андроиде было несколько языков. Именно Android SDK на нескольких языках, а не NDK. В том же msdn все примеры на 3-х языках приведены, и тут можно так же сделать. Java, C#, Dart, Go — кому что нравится, выбирай на вкус.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории