Блог

Тысячекратная компактность кода ][

Сергей Бобровский
19.04.2012 10:43:50

В первом посте на эту тему (конец 2010-го), напомню, рассказывалось, как Алан Кей сотоварищи разрабатывают методологию проектирования STEPS, позволяющую уместить систему объемом десятки миллионов строк кода (если судить по имеющимся аналогам, созданным в императивном стиле) в 20 тысяч строк кода.
Что нового сделано за 2011-й год? Об этом говорится в очередном отчете VPRI, который, кстати, выполнен в PDF-формате целиком в этой суперкомпактной системе.

Основной объем работы пришелся на "допиливание" тестовой версии Frank до более дружелюбной. Frank -- это когда "в 20 тысячах строк кода реализовано все, что надо типичному пользователю современного ПК, включая, конечно, и операционное окружение. В крохотном объеме Frank уместятся и низкоуровневые-кроссплатформные интерфейсы с железом, и прикладные пакеты уровня MS Office. Хотя главной задачей коллектива Кея назван поиск подходов, с помощью которых можно реализовать такую анти-масштабную задачу, но и сам Frank, конечно, станет ценной вещью -- свободной и открытой, не требующей инсталляции ОС, содержащей в себе все и работающей на множестве платформ. Создается он под девизом "математика рулит!" (Math Wins!)".

Так, поддержка типовой для Frank-а 2.5D-графики уместилась в 457 строк кода.

Реализация TCP/IP в классических системах занимает 20 тыс строк кода на Си, а самые лучшие реализации все равно состоят из тысяч операторов. В Frank на TCP/IP ушло всего 160 строк кода!

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

Работы выполняются на деньги частных инвесторов через Национальный научный фонд США по теме "наука проектирования", участвуют в работах и математики, задача которых -- формализовать понятие идеального дизайна сложной программной системы. В дополнение к термину DSL Кей также использует POL (problem oriented language), который представляет собой "исполняемую математику".

STEPS -- это моделирование "персонального компьютинга" от пользователя вниз до железа, и создатели отмечают, что далеко не все сильные идеи проектирования удалось воплотить на практике, так что коэффициент 1:1000, вероятно, можно еще заметно улучшить.

Комментариев: 7

Только зарегистрированные и авторизованные пользователи могут добавлять комментарии

Дмитрий Менщиков
27.04.2012 08:29:44

160 строк кода на реализацию протокола - это означает все лишь, что там реализованы только базовые примитивные функции (?)

27.04.2012 12:11:12

Каждый оператор этого кода, понятно, не X = A + Б. Задача стояла, как формализованную функциональность TCP/IP покрыть минимально возможным набором каких-то мощных логических операторов, а потом странслировать эту математику в компактный низкоуровневый рабочий код.

Игорь
28.04.2012 23:49:35

И насколько универсален (а скорее всего, специфичен) получившийся код?
Он только годится для TCP/IP или для чего-то большего тоже?

02.05.2012 10:46:32

Только для TCP/IP, конечно, это ведь DSL/проблемно-ориентированный язык.

Игорь
03.05.2012 00:09:34

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

03.05.2012 11:01:51

Есть специализированный язык 1C, который подходит для автоматизации бухгалтерии, а тут сделали для автоматизации конкретной сетевой технологии. Пара сотен строк -- вся логика работы по идее ясна и прозрачна, в таком объеме сложно запутаться.
Возможно, есть готовый тип данных "пакет", высокий уровень абстракции.

Николай Макаров
29.04.2012 14:29:43

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

Только зарегистрированные и авторизованные пользователи могут добавлять комментарии

Интересно

Статьи

Технологии, которые готовятся проникнуть на предприятия. Часть III
Мы продолжаем рассказ о развивающихся технологиях, «дозревших» к адаптации на предприятии …

Технологии, которые готовятся проникнуть на предприятия. Часть II
Мы продолжаем рассказ о развивающихся технологиях, «дозревших» к адаптации на предприятии …

Технологии, которые готовятся проникнуть на предприятия. Часть I
Долгие годы связь между рынками корпоративных и потребительских ИТ не прослеживалась, но десять лет …

Разработана технология производства флэш-памяти на бумаге
Простота интеграции в архитектуры массивов NAND и NOR обеспечила транзисторной флэш-технологии доминирующие …

Taco обрабатывает большие данные в 100 раз быстрее
Ученые из Массачусетского технологического института разработали программный алгоритм под названием Taco, который …

Решения

Сборник статей «Как определить ценность Интернета вещей для бизнеса»
Internet of Things — тренд, который уже сейчас кардинально меняет бизнес во всем мире. И хотя некоторые до сих пор с …

Сервис — это наше «все» в прошлом, настоящем и будущем!
Сервисные центры ГК «Паладин» осуществляют различные виды обслуживания вычислительной техники Hewlett-Packard …

HP SM соединяет лучшие практики с жизнью
Множественный опыт российских и зарубежных компаний показали, что ПО для управления ИТ-услугами помогает упростить …

Администрация Стрежевого подключает к корпоративному документальному серверу eDocLib муниципальные учреждения
Единая информационная система Администрации городского округа Стрежевой (Томская область), базой для которой стали …

Распределительная теплосетевая компания «ОмскРТС» внедрила СЭД «ДЕЛО» в первый месяц своей хозяйственной деятельности
«Территориальная генерирующая компания № 11» (ОАО «ТГК-11»), одна из крупнейших теплоэнергетических бизнес-структур в …

Блог

ИТ как средство повышения эффективности российского судостроения
Так получилось, что менее года назад у меня состоялось два интервью с ИТ-руководителями из города Ры ...

Продолжение разговора о российских ОС по следам OSDAY'2017
На конференции ОSDAY, которая прошла в конце мая в Москве, я общался с ее участниками, встретился с ...

Обфускация: настало время запутывать программный код
Сколько занимался программирование, занимался изучением соответствующих наук и пытался внести посиль ...

IBM делает еще один важный шаг к квантовым вычислениям
16-ти кубитовый квантовый компьютер теперь доступен в качестве сервиса облачной платоформы IBM Cloud ...

Что мешает использованию в бизнес-аналитике внешних данных?
Издавна для бизнес-анализа компании использовали, в основном, данные, накопленные ими самими в ходе ...

 

Лидеры читательского рейтинга

Статьи

Записи в блогах

Панорама

Новое поколение Secure Web Gateway от Symantec и почему архитектура прокси является наиболее эффективной для веб-защиты
и почему архитектура прокси является наиболее эффективной для веб-защиты Интернет является современным центром …
Ритейл: как повысить продажи с помощью современных ИТ-решений?
Всё начиналось с крайне простых по сегодняшним меркам вещей. Сначала интернет …
ASUS ZenFone 4 Selfie Pro (ZD552KL): снимаются все!
Селфи-снимки стали неотъемлемой частью современной культуры. И потому покупатели, задумываясь о приобретении …
“Мы не продаем системы хранения данных, мы продаем опыт”
Рынок систем хранения данных на флэш-памяти быстро растет и переживает революционные времена. Одноуровневую …
Десятилетний юбилей APC в составе Schneider Electric: конвергенция технологий
Основанная в 1981 г. компания АРС с самого начала своей истории активно развивала направления …

Интересно

 

Создание сайта - студия iMake
© 2017 АО «СК ПРЕСС».
Информация об авторских правах и порядке использования материалов сайта.
Правила поведения на сайте.

На главную PC Week/RE  |  Об издании  |  Архив номеров  |  Подписка на бумажную версию
Другие проекты «СК ПРЕСС»ITRNБестселлеры IT-рынкаByte/РоссияCRN/REIntelligent Enterprise/REPC Magazine/RE.