metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2008-06-19 10:00 am

Да, о программировании

теперь очень часто всё вообще не на программистах держится

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

Правильно спроектированная архитектура в кодировании не нуждается. :)

[identity profile] metaclass.livejournal.com 2008-06-20 08:09 am (UTC)(link)
SQL без процедурных расширений вроде не является тьюринг-полным. А вот с рекурсивными запросами - вопрос сложный, возможно и является.

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

[identity profile] molnij.livejournal.com 2008-06-20 11:09 am (UTC)(link)
инкремент: select a+1 from dual;
суперпозиция: select a+1 from (select 2 as a from dual)
минимум: select min(a) from (select 1 as a from dual union all selct 2 as a from dual)

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

А про настройку. Ну а какая разница-то? Все равно это программирование. Я не вижу (еще раз) принципиальной(!) разницы. Кто-то пишет в яве - которая выполняется в вирт.машинах. Кто-то пишет на 1с, который выполняется на выделенном сервере в своей среде. Где принципиальная разница? Это я, напомню, к первому тезису: "Правильно спроектированная архитектура в кодировании не нуждается." Не нуждается, для неё кодирование называется настройкой.