Это было бы не в духе современной Microsoft. Какой бы неэтичной не считали компанию, а девелоперскому комьюнити она много чего подарила. Модный нынче AJAX'а, например, построен на MS'овской разработке (XMLHTTP), которую потом уже позаимствовали разработчики остальных браузеров.
Патентование, кстати, тоже разное бывает. Бывает не сильно страшное ;-) MS'овский же .NET (C#, CLR), например, стандартизован ECMA, политика которой гласит "The General Assembly of Ecma shall not approve recommendations of Standards which are covered by patents when such patents will not be licensed by their owners on a reasonable and non-discriminatory basis" (http://www.ecma-international.org/mement…) - очевидно, MS не собирается зажимать технологию или прессовать разработчиков альтернативных реализаций, раз уж на таких условиях ее стандартизировала.
Т.е. в Руби вначале потеряли основную идею операторов присваивания (возможность оптимизировать выражение a = a OP x), а потом - чтобы это исправить - ввели непоследовательность в синтаксис ? Браво.
"ПХП - это набор знаков препинания, разделенных словами" - для европейцев естественно использовать пунктуацию для структурирования текста. Руби с его "end" вместо "}" выглядит так же неуместно, как если бы вместо точки в конце предложения принято было писать точка
3) Руби в плане операторов тоже не слишком систематичен. Добавить число к числу - +=, добавить строку к строке- += ИЛИ <<. Последнее мало того, что выпадает из стандартного для операторов присваивания синтаксиса, так еще и работает контринтуитивно.
4) "Объектная модель ПХП5 - это костыль" - а что КОНКРЕТНО хромает в реализации обьектности в ПХП5 ?
p.s. Я тоже считаю ПХП убогим языком с кучей архитектурных косяков. Но критика должна быть обьективной.
Самое элегантное, на мой взгляд, решение существует в Perl: функция wantarray и расширение Want (http://search.cpan.org/dist/Want/Want.pm) позволяют узнать, в каком контексте вызывается функция - и вернуть адекватное этому контексту значение. Если метод вызывается в цепочке вызовов a()->b(), то из a() имеет смысл вернуть обьект, если @result = a(), то массив и т.д. Если результат вызова никак не используется (a(); b();), то можно ничего и не возвращать (сэкономить память и немного процессорного времени).
Основная проблема IPv6 зеркальна проблеме IPv4. Количество доступных адресов: если в v4 их [в обозримом будущем станет] слишком мало, то в v6 наоборот - слишком много. Достаточно много, чтобы выделить персональный IP каждому мобильному телефону, каждому аккаунту на многопользовательской машине и т.д. Повсеместное внедрение v6 будет колоссальным ударом по анонимности в Сети. Можно даже догадаться, какие страны начнут внедрять v6 первыми - неутомимые борцы за права человека и против терроризма, Китай и США.
На вопрос "почему до сих пор все не сидят " ответ в посте powerman ниже.
Сюрприз: существует реализация identity-провайдера, лишенная и недостатка hCard - невозможности контролировать, какому серверу какие данные отдавать (критический недостаток, очень сильно ограничивающий практическую применимость hCard), и недостатка SRE - необходимости поддержки сервером пользователя этого протокола (второй недостаток SRE - ограниченное кол-во полей - на самом деле обходится, т.к. по спецификации "The behavior in the case of ... extra, unrequested fields is up to the Consumer", аналогичным образом и сервер может попробовать запросить поля, не описанные спецификацией).
Реализация эта - встроенный в IE (начиная, кажется, с версии 5.0) Profile Assistant. Его API, доступный через обьект navigator.userProfile, фактически реализует функциональность SRE на клиенте (где, если по-нормальному, данные о айдентити и должны находиться - ближе к телу, так сказать), с большим кол-вом полей и меньшим оверхедом. А аттрибут полей форм vcard_name делает удобным передачу информации из профайла на сервера, которые с этим API работать не умеют. Подробней - http://msdn2.microsoft.com/en-us/library…, http://msdn2.microsoft.com/en-us/library… (извиняюсь, что в таком виде даю ссылки - HTML-теги почему-то при предпросмотре и постинге вырезаются).
Очень странно, что в разрабатываемой WHATWG спецификации Web Applications 1.0 не предусмотрена такая функциональность. Если у кого есть возможность связаться с WHATWG или разработчиками Оперы или Файрфокса - намекните им, пусть подумают в эту сторону...
Сторонникам любой из платформ стоит посмотреть этот ролик. Собирательные образы как Mac'а, так и PC в нем показаны гораздо лучше, чем в рекламе, скриншот из которой иллюстрирует оригинальный пост.
В открытом виде - не будет. Но что мешает реализовать шифрование на клиенте и хранить удаленно зашифрованные данные ? Технически это вполне реализуемо, даже в мобильных браузерах. Риски - при использовании современного крипто - стремятся к нулю. Если добавить SSL и минимальные меры по обеспечению безопасности хранилища (CryptFS какой-нить, охраняемый датацентр - по вкусу), то... Скажем так: на порядки вероятней кража тех же данных собственным сисадмином.
Патентование, кстати, тоже разное бывает. Бывает не сильно страшное ;-) MS'овский же .NET (C#, CLR), например, стандартизован ECMA, политика которой гласит "The General Assembly of Ecma shall not approve recommendations of Standards which are covered by patents when such patents will not be licensed by their owners on a reasonable and non-discriminatory basis" (http://www.ecma-international.org/mement…) - очевидно, MS не собирается зажимать технологию или прессовать разработчиков альтернативных реализаций, раз уж на таких условиях ее стандартизировала.
2) Перегрузку операторов - если так уж хочется - в ПХП тоже можно использовать: http://pecl.php.net/package/operator
3) Руби в плане операторов тоже не слишком систематичен. Добавить число к числу - +=, добавить строку к строке- += ИЛИ <<. Последнее мало того, что выпадает из стандартного для операторов присваивания синтаксиса, так еще и работает контринтуитивно.
4) "Объектная модель ПХП5 - это костыль" - а что КОНКРЕТНО хромает в реализации обьектности в ПХП5 ?
p.s. Я тоже считаю ПХП убогим языком с кучей архитектурных косяков. Но критика должна быть обьективной.
На вопрос "почему до сих пор все не сидят " ответ в посте powerman ниже.
Реализация эта - встроенный в IE (начиная, кажется, с версии 5.0) Profile Assistant. Его API, доступный через обьект navigator.userProfile, фактически реализует функциональность SRE на клиенте (где, если по-нормальному, данные о айдентити и должны находиться - ближе к телу, так сказать), с большим кол-вом полей и меньшим оверхедом. А аттрибут полей форм vcard_name делает удобным передачу информации из профайла на сервера, которые с этим API работать не умеют. Подробней - http://msdn2.microsoft.com/en-us/library…,
http://msdn2.microsoft.com/en-us/library… (извиняюсь, что в таком виде даю ссылки - HTML-теги почему-то при предпросмотре и постинге вырезаются).
Очень странно, что в разрабатываемой WHATWG спецификации Web Applications 1.0 не предусмотрена такая функциональность. Если у кого есть возможность связаться с WHATWG или разработчиками Оперы или Файрфокса - намекните им, пусть подумают в эту сторону...
Адрес ролика - http://www.jeffsandquist.com/ParodiesOfT…