July 17th, 2008

Speaker Rabbit

О монстрах и зверьках

Тошиба наконец-то выпустила зверька с Spurs. Ноутбуком его назвать сложно -- с диагональю 18.4" и весом более четырех килограмм это все, что угодно, но не ноутбук. Сделали они монстра в лучших традициях PC-строительства: оторвали PPE-ядра от Cell и посадили оставшиеся 4 SPE на отдельную плату, обозвав ее Toshiba Quad Core HD processor. В качестве основной системы используется Core 2 Duo.

Забавно, что практически все сайты-обзорники и /. пишут о Cell-ноутбуке, которым этот зверь не является. Spurs Engine в нем доступна посредством специального драйвера, а все вкусности, разработанные в рамках поддержки Cell в Linux, будут практически недоступны -- основная архитектура системы -- x86_64, для нее еще никто не собирал компилятор кода для SPE и компоновщик, а а также прозрачную поддержку загрузки кода в SPE посредством виртуальной файловой системы. Все надо адаптировать с нуля. Но "аналитикам" мозги не писаны, для них все равно это "лаптоп с Cell", на который можно поставить Terrasoft Yellow Dog Linux. Хех.
Speaker Rabbit

itblogs как зеркало "анализма"

На itblogs подняли тему "Linux" и активно упражняются в выдумывании собственных причин, почему 1С не поддерживает SUSE Linux. От "не договорились компании", до "в SUSE нет компонент, а каких -- не знаем". Кульминацией можно назвать вот такой пассаж:
1С как компания в принципе не видит рынка в платформе Linux (в отличии от того же SAP). На мой взгляд разработкой этого направления внутри компании занимаются некие энтузиасты опенсорса, и судя по всему им особо разгуляться не дают. Гляньте на список поддерживаемых дистрибутивов - нет ни одной актуальной версии дистрибутивов, и мейнстримом идёт Fedora - открытая реализация дистрибутива от RedHat.


Думаю, что плотное курирование любой сборки 1C:Предприятие со стороны Сергея Нуралиева должно быть хорошим ушатом холодной воды для ищущих везде мифических "энтузиастов опенсорса". Не раскрою секрета, если скажу, что выбор средств для разработки кроссплатформенных решений в крупных проектах обычно делается исходя из минимизации совокупных затрат. Так получается (и это знают хорошие программисты), что по поддерживаемому функционалу определенные версии компилятора C++ из комплекта GCC и из MSVC не всегда совпадают. Есть всего несколько пар версий, при которых получается минимум различий в исходном коде -- как в трактовке семантики, так и в самом получающемся коде на разных платформах.

Разработка 1С:Предприятие в этой части не является исключением. Код продукта написан на C++, версии наиболее совместимых компиляторов я сейчас не вспомню, но они легко прочитываются в версиях рекомендуемых к установке Fedora Core и RHEL4. Все остальное -- от лукавого.

1С как разработчики представляют собой довольно прагматическую компанию. Да, несколько лет назад, когда они занялись переносом своей платформы под GNU/Linux, подобные шаги могли выглядеть деятельностью энтузиастов, но ни в одной из моих встреч с ними с тех пор я не видел красных глаз и взмахов красным знаменем. Желтый цвет "Будь осторожен", поверьте, не только на маркетинговых материалах компании.

Для запуска 1С:Предприятие 8.1 под любой линуксовой платформой требуется лишь присутствие необходимых по ABI библиотек и база данных с нужным функционалом. Таковых, кстати, на сегодня две -- PostgreSQL с патчами от 1С для поддержки правильного поиска и находящаяся в бета-тестировании и разработке версия DB2 со специальным режимом workload для 1C. Какой дистрибутив будет под этой связкой -- не суть важно, формат ELF содержит довольно жесткие описания требований к платформе и при их выполнении можно вполне серьезно гарантировать работоспособность решения. С коллегами из 1С такую "вычитку" платформ по readelf/nm/objcopy мы делали для некоторых случаев, доказывая друг другу что можно поддерживать, а что не получается. При условии отсутствия ошибок в самом коде, конечно, но это совсем другая сторона истории.