Тисячократно компактність коду

Алан Кей співтовариші розробляють методологію проектування STEPS, що дозволяє умістити систему обсягом десятки мільйонів рядків коду (якщо судити за наявними аналогам, створеним в імперативному стилі) в 20 000 рядків коду.

Основний обсяг роботи припав на “допилювання” тестової версії 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, ймовірно, можна ще помітно поліпшити.

19 April 2012

MajorDoMo - відкрита система управління “розумним домом”
Ubuntu вразить користувачів новим дизайном

• Динамічна вставка CSS стилів »»»
За допомогою DOM браузерах категорії “А” можна робити безліч простих (і деяка кількість складних) штук досить просто.
• Один з компонентів досягнення мети "писати хороший код і не писати поганий" - такий ... »»»
Писати так, щоб при прочитанні цікавість викликали тільки дійсно нетривіальні ділянки.
• Red Hat представила ОС Fedora 9 »»»
Компанія Red Hat, найбільший світовий Linux-вендор, повідомила про вихід нової версії відкритої ОС Fedora 9, що створюється відкритою спільнотою розробників.
• Хороші книги з організації коду »»»
Мало знати базові алгоритми і синтаксис мови програмування. Треба ще й уміти працювати з кодом таким чином, щоб кінцева програма вийшла стабільною, масштабується, потрібно вміти спілкуватися із замовниками, організовувати процес роботи, керувати програмістами.
• Adobe працює над новою версією Flash Player »»»
Adobe працює над новою версією плеєра Flash Palyer, в якій буде усунена широко поширена уразливість, виявлена на декількох сотнях тисяч веб-сайтів.