Влияние книг по ФП на неокрепший моск
Nov. 26th, 2007 10:39 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
> базы(данных) это зло
> очевидно они не нужны
их очевидно нужно встроить как фичу языка
SaveState; LoadState;
все
оптимизация и прочее - пусть DBA думают.
просто проги должны выглядеть как электронная схема, собранная из модулей, между которыми бегают сигналы
нужно извне вщемиццо - отсоединили провода, встроили свой модуль
нужно заменить гуи на cli и обратно - разъем отсоединили, заменили модуль интерфейса.
проге похуй - у нее вход-выход
нужны скины, дуделки, свиристелки и шевелящиеся иконки - покупаете гламурный розовый модуль интерфейса отдельно и идете нахуй.
правда для этого придеццо расширить идею stdin,stdout и stderr
у проги несколько входов и несколько выходов
соединяем конвеерами
один выход типа stderr всегда отладочный :)
а еще лучше штук 5 :)
в зависимости от того куда смотрим - логи разной подробности, при этом в неподсоединенные выходы ничего не пишеццо
а, и самое главное - каждый вход и выход описывается типами объектов которые могут по нему ходить
разные хуй соединишь - нужны типа микро-скрипты адаптеры.
внутри прог - автоматический вывод типов
> очевидно они не нужны
их очевидно нужно встроить как фичу языка
SaveState; LoadState;
все
оптимизация и прочее - пусть DBA думают.
просто проги должны выглядеть как электронная схема, собранная из модулей, между которыми бегают сигналы
нужно извне вщемиццо - отсоединили провода, встроили свой модуль
нужно заменить гуи на cli и обратно - разъем отсоединили, заменили модуль интерфейса.
проге похуй - у нее вход-выход
нужны скины, дуделки, свиристелки и шевелящиеся иконки - покупаете гламурный розовый модуль интерфейса отдельно и идете нахуй.
правда для этого придеццо расширить идею stdin,stdout и stderr
у проги несколько входов и несколько выходов
соединяем конвеерами
один выход типа stderr всегда отладочный :)
а еще лучше штук 5 :)
в зависимости от того куда смотрим - логи разной подробности, при этом в неподсоединенные выходы ничего не пишеццо
а, и самое главное - каждый вход и выход описывается типами объектов которые могут по нему ходить
разные хуй соединишь - нужны типа микро-скрипты адаптеры.
внутри прог - автоматический вывод типов
no subject
Date: 2007-11-26 08:53 pm (UTC)На практике - хуй. То есть это работает в рамках стандартных задач. Шаг влево-вправо - и красоту немедленно в помойку, а сам вперед руками на Verilog.
no subject
Date: 2007-11-26 08:58 pm (UTC)no subject
Date: 2007-11-26 09:30 pm (UTC)То есть, понятно, что в идеальном мире было бы все именно так, "отсоединили-присоединили модуль", но такого нет даже у железячников - я даже не говорю про электронику, скажем, замена типа привода на ЧПУ - это не НИОКР, конечно, но эпопея приличная. А у железячников все попроще сильно.
no subject
Date: 2007-11-27 06:03 am (UTC)http://cooler-online.com/sc.php?cl031107.html&1
no subject
Date: 2007-11-26 09:01 pm (UTC)no subject
Date: 2007-11-26 09:14 pm (UTC)no subject
Date: 2007-11-26 09:19 pm (UTC)no subject
Date: 2007-11-27 08:11 am (UTC)no subject
Date: 2007-11-26 10:02 pm (UTC)Надо ещё Begin Transaction/EndTransaction с областями действия.
Кстати, транзакции с областью действия "переменные оперативной памяти" фактически моделируют Пролог.
no subject
Date: 2007-11-27 08:07 am (UTC)no subject
Date: 2007-11-27 09:00 am (UTC)no subject
Date: 2007-11-27 09:01 am (UTC)no subject
Date: 2007-11-26 11:01 pm (UTC)А людям не надо будет ничего мудрить. Из программистов останутся только постановщики задач, которые будут уметь объяснить машине на пальцах (пальцы в дверь, например), что нам от неё надо. И не нужно будет париться с базами данных, гуями, ломать голову над алгоритмами.
Лепота! :)
no subject
Date: 2007-11-27 08:15 am (UTC)no subject
Date: 2007-11-26 11:18 pm (UTC)хе хе
Именно про это диссертацию и пишу.
Только применительно к системам управления мобильными роботами и СТЗ
И даже "SaveState; LoadState;" есть.
А ещё подмена модулей без остановки работы системы ;)
no subject
Date: 2007-11-27 10:04 am (UTC)Plan9
Date: 2007-11-29 06:32 pm (UTC)