November 3rd, 2010

2019

Второе языковое пришествие: кремниевые компиляторы тоже участвуют!

Частота процессоров перестала увеличиваться уже 6 лет, с ноября 2004г. -- http://www.itworld.com/041116intelp4. Добавляется только кэш да ядра. Но время от времени появляются и интересные железные решения. Я писал уже про 144-ядреный Forth-процессор (уже принимаются заказы на оценочные чипы на 2й квартал 2011г. -- http://greenarrays.com/). Но тут в списке FONC промелькнула и парочка других решений:

1. Геометрическая (не фон-неймана!) архитектура: http://rala.cba.mit.edu/ (ага, это тот самый Center for Bits and Atoms). Поглядите http://fab.cba.mit.edu/classes/MIT/961.09/04.27/RALA/rala.ppt -- тут объяснено проще всего, "на пальцах".

2. Объект-ориентированное энергобережливое железо: http://www.cs.ucla.edu/~palsberg/paper/oopsla10.pdf -- за счет использования нового "истинного объект-ориентированного" кремниевого компилятора Virgil.

Давненько я не слышал ничего нового про кремниевые компиляторы! И вот, началось.

Мне кажется, что это как-то связано с текущим расцветом языков программирования и компиляторного искусства. Это тот же тренд, что вызывает к жизни language workbenches, мультипарадигмальные языки и суперкомпиляторы.

Я считаю, что в последнюю пару лет наконец-то началось такое же буйство идей, какое последний раз наблюдалось в конце 80-х, когда объект-ориентированными языками была жестко подавлена попытка свержения Си и Паскаля "пакетными" Модулами и Адой -- а вокруг было много Фортрана, Пролога, Смолтока, Лиспа, Форта и прочих тогда вполне респектабельных языков. А потом пришли интеловские микропроцессоры, и языкотворчество стало уделом маргиналов почти на двадцать лет -- развитие шло не столько за счет computer science, сколько за счет software engineering и Закона Мура. Теперь Intel и AMD уперлись лбом в четырехгигагерцовую стенку, и у computer science появился шанс.

Я тут под настроение полистал семисотстраничную книжку про Питон. Последний раз я сам кодировал что-то объемом больше пяти строчек где-то в 1987 году. Возможно, если бы мне в те годы дали пописать на Питоне, то я бы так и не стал консультантом -- так бы и продолжал получать удовольствие от программирования... Ужас в том, что Дедушку Питона начали делать еще в 1989г. (http://en.wikipedia.org/wiki/Python_%28programming_language%29) -- как развитие идей языка ABC, который сам был развитием SETL. jak40 как раз сделал к этому времени один из немногих в мире компиляторов SETL (для System/360), но почему он потом не придумал сразу Питон 3?! Он ведь мог, я знаю! Он и сейчас наверняка может. Впрочем, ко мне эти упрёки тоже в полной мере относятся: я тоже многого не придумал и не сделал, хотя вполне мог бы, если бы занялся.

Ничего, мы еще поработаем на мировом фронтире. Через интернет хорошо видно, где этот фронтир проходит. Чай, не 1987 год. Возьмем один метр этой границы, и сдвинем его на 1мм вперед.
2019

Концепт дистантного образования

Лишний раз можно убедиться, что важен не столько учебный предмет (в данном случае -- этимология), сколько преподаватель: http://www.youtube.com/user/hotforwords

На некоторых клипах она говорит пару фраз и по-русски -- понятно, без акцента. И, похоже, еще несколько других языков ей доступны тоже без акцента: "My name is Marina Orlova and I am a philologist (one who studies linguistics and etymology)".

Из профайла этого ютьюб канала:
Total Upload Views: 371,477,340
Style: Educational

Ну что, замутить канал VeryHotFor4DMereology?
2019

Кисточки для картины мира: языки онтологии описания архитектуры метода

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

Поскольку нужных нам языков никто не даст, придется разрабатывать их самим, благо исходный материал есть:
-- языки определяются в ISO 15926, ISO 24744, ISO 42010 (в этом-то и проблема, что во всех по-разному)
-- онтологическое описание в ISO 15926
-- описание архитектуры в ISO 42010
-- описание метода в ISO 24744
-- ЖЦ метода берется через понятие "система" -- это ISO 15288 и разъясняющие его стандарты

Чтобы это всё переварить во внятную инструкцию по описанию методов, нужно продраться через целый список содержательных проблем:

1. Мереология онтолетов.
2. Онтолет системы -- обобщение за пределы "железной системы" от Matthew West.
3. Онтолет 42010.
4. Онтолет и архитектурный фреймворк -- взаимоотношение (на примере LAF)
5. Онтолет системы систем.
6. Архитектурный фреймворк, языки/онтолеты -- онтологические (PDML), модульные и "внешние решатели".
7. Онтолет 24744 и мереология метода (в том числе уровни абстракции метода).
8. Архитектурный фреймворк и языки для метода (согласование 42010 и 24744).
9. Онтолет ЖЦ (создания и использования) модели/архитектурного описания метода ("N-уровневая архитектура").
10. Методика моделирования ISO 15926 -- как обобщающий все предыдущие пункты use case.

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

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