This version of the page http://ko.itc.ua/blogs/48 (0.0.0.0) stored by archive.org.ua. It represents a snapshot of the page as of 2008-04-08. The original page over time could change.
Сайт журнала "Компьютерное Обозрение"

8 апреля 2008 г.

В продаже с 8 апреля

Содержание номера

Темы следующих номеров

Предыдущие номера

Об издании

О сайте

Расценки на рекламу

Опрос

Вас устраивают возможности вашего монитора?

Да, вполне
55% (34 голоса)
Сейчас да, но в течение года планирую приобрести новый
27% (17 голосов)
Не устраивают, занимаюсь поисками нового
18% (11 голосов)
Уже проголосовали: 62
 
RSS

Андрей Зубинский


Стабильный в нестабильном

Итак, Adobe анонсировала свою знаменитую Creative Suite версии 4. Одна из самых приятных новостей - теперь CS4 вся полностью 64-битовая. А это значит, что ресурсоёмкие приложения, наконец, получат доступ к адекватным объёмам оперативной памяти.

Правда, доступ к этим самым приложениям получат только пользователи платформы Windows Vista. Пока - только Windows. Некогда считавшаяся чуть ли не "родной" для продуктов Adobe платформа от Apple сейчас оказалась для компании (и пользователей) источником проблем.

Дело в том, что Creative Suite, как и многие другие масштабные приложения с продолжительным жизненным циклом, написана с использованием API Carbon, за которым, скорее всего, уже никогда не появится 64-битовая реализация. 

Вот теперь хорошо видно, во что на деле выливается "революция" - смена Carbon на Cocoa:

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

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

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

Впрочем, вот слова Джона Нэка (John Nack), Adobe Photoshop product manager:

"We have to rewrite from scratch"

Программистам объяснять, что за ними стоит, не надо.

Ну и для фотографов приятная новость - 64-разрядный Lightroom уже есть. Для двух платформ. Пока, правда, бета, но это вовсе не плохо, а даже и хорошо - после неудачной версии 1.4 Adobe стала осторожнее относиться к релиз-политике.

В общем, Adobe радует стабильностью. И это прекрасно.

Цена бирюлек

Чего можно ожидать от коммерции, надстроенной над чужим альтруизмом? Вопрос и на первый взгляд ехидный, так что ответ на него следует ожидать как минимум забавный. Итак, имеются альтруисты – программисты, разрабатывающие легально бесплатные программы. Раз уж мы говорим об альтруизме, - не обязательно open source. Такие люди были, есть и будут. И есть люди, раздающие свои программы с отсрочкой платежа за них – если понравилось, заплати (shareware).

И над множеством таких разрозненных людей надстроились самые разные ресурсы, занимающиеся не только централизованных хранением-раздачей дармовщины, но и навешиванием «на грудь»  программок разноцветных наград-бирюлек. Коммерция здесь делается часто на принудительных показах рекламных страниц, к просмотру которых посетители привлекаются дармовыми программами чужого авторства (здесь нет ничего – ни осуждения, ни, тем более, умиления хитрой придумкой, здесь только констатация факта).

Узнать чего стоят наградные бирюльки в мире freeware и shareware решил Энди Брайс (Andy Brice), британский программист и блоггер. К делу он подошёл ответственно – как настоящий виртуоз написал могучую программу прямо в… бинарном машинном коде. Правда, несколько нетрадиционным способом – в текстовом редакторе настучал несколько раз строчку «this program does nothing at all» (эта программа вообще ничего не делает), файл сохранил и переименовал в awardmestars.exe (навешайте_мне_медалек). В описании к программе Энди Брайс черным по белому написал то же самое – «this program does nothing at all», с уточнениями для сомневающихся: «она даже не может быть запущена. Она написана для того, чтобы проверить, сколько наград она получит».

После этих подготовительных процедур бесценная программа с помощью авторитетной компании Мыколы Руденко, специализирующейся на подаче shareware-программ на рассмотрение множеству сайтов, была «раскручена по полной программе» и всей базе компании submit-everywhere.com.

Итак, 1033 сайта-распространителя получили информацию о программе awardmestars.exe и, само собой, саму программу с авторским недвусмысленным описанием.

За последующие 2 недели выяснилось, что awardmestars.exe – очень даже неплохая и годная программа, которой нам всем категорически не хватало, что подтверждается таким вот иконостасом:

И это еще не все награды – их много больше, awardmestars.exe показалась очень милой примерно 7% сайтам.

Не может не радовать тот факт, что 400 с лишним сайтов отклонили предоложение и не стали распространять awardmestars.exe.

Какой удар!

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

Итак.

Система "отбора и тестирования" в ВУЗы у нас строилась и строится на вступительных экзаменах.

Так?

Так.

У хороших ВУЗов есть некий эталонный набор тестов, основывающихся на разных ставших классическими материалах. Например, для вступительных тестов по математике классикой был и есть, судя по неувядающему интересу на тематических сайтах,  сборник задач Сканави. Когда-то давно и мне доводилось тренировать на нём "решалку".

Существовало и правило - если абитуринет "щёлкает" как орешки примерчики из категории "В" Сканави, - это хороший, годный к поступлению абитуриент, письменный экзамен по математике он точно сдаст.

Всё это - дикая банальщина, в общем.

От делать нечего взял я тестовую версию программки Algebrator, стянул с какого-то жуткого рефератного сайта любовно сканированный сборник Сканави в формате djvu (да, стянул, - это ужасно, ужасно!), и...

О ужас!

OMFG!

Дурная решалка размером в пяток мегабайтов "щёлкает" группу В как орешки.

Делай раз!

Редактируем исходное выражение:

 

Делай два!

Нажимаем кнопку Solve All и смотрим все промежуточные выкладки:

 

Делай три!

Пролистываем до конца и наблюдаем результат, естественно, верный:

 

Что в сухом остатке?

Программа Algebrator - желанный студент любого технического ВУЗа. С чем я её и поздравляю.

Глядя по сторонам, понимаешь, что это не злая сатира, не тупой петросянистый юмор, и даже не оголтелая клевета.

Это, уж извините, трагедия. Потому что (не помню, откуда это): "Когда мы задумываемся, какие мы инженеры, нам становится страшно обращаться к врачам".

То ли ещё будет

Очередная истерика "блогосферы"... кстати, - почему сферы, почему не куба или додекаэдра, это ведь куда красивее - блогододекаэдр, впредь буду только так и называть. Да. 

Так вот, очередная истерика блогододекаэдра - свежее видео четырёхногого робота BigDog фирмы Boston Dynamics. Как и положено населяющим додекаэдр, все поахали, посюсюкали и забыли.

Жаль. Boston Dynamics - фирма, "отпочковавшаяся" от одной из лабораторий Массачусесткого технологического (Leg Lab) ещё в 1992 г. Её основатель, Марк Райберт - по настоящему культовая персона (и не только в робототехнике), разработчик революционных статически неустойчивых роботов, начиная с "одноногого попрыгунчика" и заканчивая совершенно уж фантастическим BigDog. А ещё Райберт - автор фундаментальной книги "Legged Robots That Balance" ("ногатые балансирующие роботы"). И ещё он (точнее, его "подопечные") прославился в кино - в фильме "Восходящее солнце" по роману Майка Крайтона (откуда растут ноги у ставшей цитатой фразы "если долго сидеть на берегу реки, можно увидеть проплывающий мимо труп врага"). Подход Райберта к решению проблемы построения управляющей системы шагающих машин отличается от того, что используется, например, в Honda Asimo - от точки нулевого момента, теории, созданной югославским робототехником Миомиром Вукобратовичем ещё в конце 60-х, начале 70-х годов. Ну и так далее, кому интересно будет, - сам нароет. Жаль, что книга Райберта давно out of print, мне удалось отыскать только пару глав.

К слову, шагающие машины - очень неэффективны энергетически по сравнению с колёсными. На два порядка примерно прогигрывают в оценке необходимой для проддержания заданной скорости мощности. Но зато могут шагать там, где колёсные ездить не способны. И просто чертовски сложны и интересны. Сложны настолько, что если полёты в космос сейчас уже никого ровным счётом не удивляют и обыденны, то сносно шагающий механизм - Явление.

А ещё 5 марта вышел релиз GCC 4.3 - кого это интересует, те, конечно, об этом знают. В 4.3 есть многое из предложенных расширений стандарта C++ (доступ к этому многому включается флагом -std=c++0x).

Среди многого - rvalue-сслыки. С ними и без них прекрасный C++, похоже, становится ещё более невыносимо прекрасным. Некоторые и раньше говрили - куда уж более, - а, оказывается, есть куда.

Вот такое, короче, придумали, - ссылку на временный неконстантный объект rvalue reference (rr_mt в примере):

MyType obj_mt ;
MyType& lr_mt = obj_mt ;

MyType&& rr_mt = MyType();

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

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

OMG

Чем будет дальше С++, лучше даже не предполагать. Но, похоже,  через 10 лет программировать на нём смогут только 120-летние (и то маловато будет, чтобы изучить язык) двухголовые антропоморфы с 2^6 пальцев на 8 руках.

Если кто ещё не понял, к GCC это относится в той же мере, в какой и ко всем компиляторам, то есть,  - никак; раработчики инструментов всего лишь реализуют то, что задаётся стандартами.

Вместо программы телепередач на неделю

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

  1. Внимательно послушать интервью с Ричардом Хиппом - лауреатом Google и O'REILLY Open Source Award 2005 года, автором встраиваемой СУБД SQLite, прекрасных Tcl Tk виджетов и парсера lemon.
  2. Просмотреть и выборочно почитать черновик вроде как неплохой книги "Алгоритмы для программистов". Пока раздаётся за бесплатно. Автор - Jorg Arndt, разработчик С-библиотеки FXT - из класса "на каждый день", хороша не только для повторного использования (и даже не столько, - лицензия, лицензия), сколько как справочник.
  3. Поковыряться в очень симпатичной библиотеке Forth-слов также, как FTX, "на каждый день". Что особо важно - неигрушечных слов, не чепухи. Список Forth-слов библиотеки не пугает размером, документация (как для Forth) просто замечательная, в общем, - настоящим джедаям, которые мастер Йода язык понимать, - качать и ковыряться однозначно. Библиотека была бы настоящей  находкой для embedder'а, но лицензия... производители микроконтроллеров предусматривают всё возможное для защиты прошивок от копирования вовсе не из-за своих дурацких прихотей, и GPL-лицензирование firmware, неизбежно навязываемое повторно используемым кодом, в этом мире вовсе не к месту. Впрочем, об этом лучше знают те, кто уже "обжёгся".
  4. "Залезть" в проект "Шрёдингер". Мало того, что это программный проект исследовательского центра BBC (телевидениефобия на этот канал не распространяется, просто в телевизорах обычно вовсе не BBC), так еще и штука интересная - высокоскоростная реализация алгоритма "Дирак" для компрессии-декомпрессии качественного видео, причем в основе алгоритмики - вейвлеты.

Сингулярность

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

Стивен Кинг, "Тёмная башня. Стрелок"

Это я к тому, что мир действительно сдвинулся с места.- пишу это и параллельно совершенно законнно, без помощи "китайских братьев" и прочих фронтов освобождения имени  фарабундовмарти качаю 60 MB исходных текстов той операционной системы, которая с большой степенью вероятности придёт на смену Windows.

Короче, Microsoft открыла свой проект Singularity. Речь идёт о принципиально новой операционной системе - пока и для этой записи этого достаточно.

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

Так вот, - лицензия. Если не слишком прислушиваться к бородатым классикам, хоть они и единственные, кто знает единственно верное (и потому истинное) учение, то никакой крамолы в лицензии не обнаруживается. Забавно, что Microsoft явно пытается "развернуть" схему open-source лицензирования в сторону того, с чего всё начиналось - в сторону академической науки.

В общем, очень интересное явление. Самое интересное начнётся тогда, когда под давлением "вольных кодировщиков" корпоративные системы с их возможностями концентрации средств и интеллектального потенциала откроют масштабный "ответный огонь".

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

Три достойных релиза

Поздравляю всех причастных и сочувствующих - релиз 7.0 FreeBSD готов и официально анонсирован. Нового в нём достаточно, из очень интересного - практически эталонная для многядерных и SMP архитектур реализация механизма управления динамически выделяемой памятью.

jemalloc оказался настолько удачным, что его уже "воткнули" в проект браузера Firefox (за это, в частности, следует не забыть сказать спасибо и сверхлиберальному лицензированию BSD). В jemalloc я уже "копошусь" по вечерам две недели как, скорее всего в обозримом будущем напишу статью - он того заслуживает.

Кроме jemalloc из важного на общесистемном макроуровне - появление механизма бинарных обновлений, на микроуровне - совершенствование планировщика задач и полное устранение зависимости сетевой подсистемы от глобальных блокировок ядра. Что означает - на SMP-машинах производительность ОС выросла по сравнению с предыдущей версией больше чем на порядок.

Обновился до версии 2.5.2 и Python. Это багфикс-релиз, потому из категории must have. По некоторому размышлению и утомившись культивируемой зыбкостью среды Ruby (не одному мне так кажется, - вот мнение, высказанное в куда более жёсткой форме), я пришел к оригинальному выводу, что интересного много, а я один, поэтому если возникает у меня потребность в динамическом языке,  Python мне хватит за глаза.

Ну а любители прототипирования С-программ и Ch - интерпретатора ISO-стандартного языка C, могут получить очередную версию 6.0. Ch Standard Edition остаётся легально бесплатной, кросс-платформенной и всё так же хорошо делает то, что должна делать. В новом релизе улучшено соответствие требованиям ISO-стандарта (С 90), и можно говорить о том, что Ch - полноценный стандартный интерпретируемый C. Хорошая и полезная штука. Кстати, в перечне сторонних разработок c использованием (для) Ch очень много весьма полезных вещей.

Engineer vulgaris против Software Engineer

Есть задача - "высушить бельё"? Кто её решит так, чтобы бельё было сухим вовремя и чтобы за этот "подвиг" не пришлось расплачиваться трём следующим поколениям?

Учёный-теоретик? Первопроходец-пионер-смелый экспериментатор? Ценитель белья (дамского, кружевного)? Владеющий словом писатель? Выдающийся управленец, от голоса которого даже кони понимают - придётся или сдохнуть, или сыграть на арфе?  

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

Engineer vulgaris. То есть, - инженер обыкновенный.

А вот software engineer - он чем от engineer vulgaris отличается? Конечно, хочется очень умного сказать в ответ на такой вопрос. Но если это умное не окупается большим тиражом толстой книги, где оно сказано, то и смысла нет говорить очень умное, можно и очевидным обойтись. А очевидное такое - ничем.  

Отсюда следует один презабавнейший вопрос - для engineer vulgaris создана громадная инфраструктура выбери_готовое и уж вовсе колоссальная - выбери_полуфабрикат. Кроме того, созданы и способы оценки процесса выбора, весьма и весьма работоспособные (и пока мы все доверяем больше нашим машинам, чем самим себе, и не утонули в неработающей системе водоснабжения, любые оговорки я не приму).

А вот software engineer в этом смысле не просто обделён, а и вовсе обижен - его учили и учат "созидать новое", а не начинать с поиска готового (что, вообще-то, - святая святых для engineer vulgaris).

Больше того, из этого самого "созидания нового" делается настоящий культ.

Увы.

По классике, инженер пытается "вытянуть" требуемые показатели из имеющегося или того, что можно получить в распоряжение с минимальными временными затратами при учёте финансовых и прочих ограничений. 

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

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

А вот культуры "выбора готового" до сих пор в software engineering не видно. Скорее всего потому, что этой области деятельности до инженерии ещё надо всё-таки дорасти.

Всякая всячина

Для детей от 12 лет немецкий издательский дом Franckh-Kosmos Verlags GmbH (ему, к слову, 180 лет) выпускает развивающий набор "Микроконтроллер".

"Игрушка" предлагает 100 экспериментов, схемы и программы для которых ученику предстоит собрать самостоятельно. Естетсвенно, речь идет о тех ста экспериментах, для которых есть детальное описание в прилагаемом руководстве, на самом деле количество их ограничивается разве что фантазией "игрока". В наборе есть всё - собственно программируемый микроконтроллер, разные сенсоры и актуаторы (вообще, набор keit было бы назвать "поиграем в embedded engineering).

Ещё одна игрушка, но уже для более взрослых деток - Microsoft открыла описания бинарных форматов Office. Раньше было модно истерически вопить, что в этот знаменательный день резко увеличится количество гражданских свобод, солнце начнёт светить ярче и все исцелятся от всего. И вот этот день случился, но ничего особенного не произошло. С гражданскими свободами - в первую очередь. А спецификации... ну спецификации как спецификации. Может быть, кому-то и пригодятся. Только не прикладным программистам, как мне кажется, - прикладники предпочитают иметь дело с бинарными форматами посредством API, предлагаемого тем же Office, и правильно делают (почему правильно - подумайте на досуге).

И, наконец, самая роскошная игрушка - американская военщина в очередной раз дала сбой и потеряла ноутбук с Военной Тайной. В результате всем желающим стал доступен стандарт C++ - кодирования для программы "Объединённый истребитель" (Joint Strike Fighter). Стандарт, можно сказать, из логова самых-самых ястребов - Lockheed Martin Corporation, а там не бирюльками занимаются. К слову, очень полезный и интересный документ. Очень. И легко читается. Если кто ищет "лучшие практики" - рекомендую. Понятно, что далеко не всем подходят рекомендации от проектов с таким бюджетом ($18,981,928,201), но рекомендации на самом деле далеко не заумные или затратные. Как раз наоборот - они направлены на то, чтобы экономить очень много денег на всех этапах после кодирования.

Уже даже и не смешно

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

Сейчас уже не смешно совсем. И, главное, - даже и неприятно как-то.

Всё-таки, до чего удивительна изобретательность апологетов в жалобах друг другу на ничтожных несовершенных людишек, населяющих несовершенный мир.

Ладно, - были уже "миллионы леммингов", были "глупые тётки из бухгалтерии", теперь вот новая напасть - оказывается, мир населён идиотами, которые предпочитают использовать X вместо Y только потому, что за X берут деньги, а Y можно получить за бесплатно.

Добрый изобретательный дедушка Геббельс завистливо крутится в гробу.

И, что главное, - это настоящая бесконечная история. Или истерия.

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

Не нужен ему этот универсальный инструментальный набор, которым можно после многих лет отрешения от мира решать весьма специфические задачи, в первую очередь, - автоматизировать повторяющиеся действия. Точно так же, как желающему доехать из пункта A в пункт Б не нужен набор инструментов для изготовления любого транспортного средства от велосипеда до самолёта, ему нужен или велосипед (если условия и расстояние позволяют), или автомобиль, или самолёт.

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

Что обеспечивает работоспособность этого инструмента - пользователя обычно не волнует, и именно поэтому не существует фанатичных сообществ пользователей неинструментальных ОС.

Всё.

Пользователи выбирают ту платформу, которая даёт им нужные инструменты. Это великое "откровение", справедливое для любых пользователей, в том числе и тех, кто выбрал инструментальную ОС в качестве платформы.

/. окончательно вычёркиваю из rss-ридера, он и раньше не радовал, а теперь и вовсе последние капли адекватности растеряны.

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

123456789следующая ›последняя »
 

Home  •  Бизнес  •  ТестЛаб  •  Мобильность  •  Софт  •  Безопасность  •  Корпоративное ПО  •  Технологии  •  Карьера