March 14th, 2010

2019

Детская порнография, оказывается, полезна. А алкоголь более вреден, чем марихуана.

Сначала у ученых были проблемы с церковью, а теперь с политиками. Ибо ученые все время находят какие-то опровержения расхожим домыслам и поэтому ставят под сомнение самые жесткие общественные табу, поддерживаемые всей силой современного государства.

В тех странах, где детская порнография разрешена, детей меньше насильничают: http://www.the-scientist.com/2010/3/1/29/1/ (а там внутри ссылка на оригинальную серьезную статью в Int J Law Psychiatry). Дальше много-много разных аргументов, свидетельствующих о том, что сексуальные преступники смотрят порнографию в меньших объемах, чем преступники не по сексуальной части (а вот строгое домашнее религиозное воспитание много больше коррелирует именно с сексуальными преступлениями).

По поводу исследований относительного вреда разных наркотиков (в которых алкоголь систематически оказывается вреднее экстази и марихуаны) идет уже настоящая политическая схватка, с формированием "правительственных экспертных советов" и "независимых экспертных советов" -- http://www.guardian.co.uk/science/2010/feb/10/government-proposals-science-independence

Тут можно, конечно, рассуждать о победе деонтики ("должно быть так, патамушта! и никаких разговорчиков!") над утилитаризмом ("должно быть так, после разговорчиков о пользе и вреде -- потому-то и потому-то"). Но можно порассуждать и в другую сторону: ученые мужи время от времени становятся очень неудобными государству, потому как не только "партийная физика" оказывается фикцией, но и многие другие "партийные" науки. Чего только стоит ситуация с глобальным потеплением!

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

Интерфейс универсального моделера

Универсальный моделер должен иметь не менее универсальный интерфейс:

а) собираемый (а хоть и composable в смысле функционального программирования -- см. прикидки на эту тему тут: http://www.youtube.com/watch?v=faJ8N0giqzw). Другой вариант для того же самого: верстка интерфейса (http://ailev.livejournal.com/809410.html). Богатство и мощность прикладных библиотек не должны закрываться жесткой логикой "приложения". Это значит, что должны быть не "приложения", а (возможно, графические) развиваемые DSL (=модель предметной области) и средства выразить модель требований к конкретному расчету.
б) высокоуровневые. Думайте об intentional programming (http://en.wikipedia.org/wiki/Intentional_programming -- и не путайте с intenSional): компьютеру нужно сообщить лишь намерение, а остальное он должен сделать сам. Все эти DSL, языкоориентированность, программные трансформации и т.д. -- это об этом.
в) интерактивное программирование -- отладчик должен быть, а изменение кода в одном месте должно приводить к коррекции кода в другом месте (http://ailev.livejournal.com/763851.html, много ссылок тут: http://ailev.livejournal.com/760334.html). Уж не знаю, как с этим быть для суперкомпиляторов, отсюда любовь к динамическим языкам.
г) "фасетное моделирование", много разных DSL (language workbench), онтологическое объединение разных моделей (не обязательно "общего вида", как ISO 15926, но хотя бы типа UEML для языков моделирования предприятия -- http://hal.archives-ouvertes.fr/docs/00/40/51/42/PDF/UEML-CII2009-20.pdf). Другое дело, что "онтологическое объединение" и "объединение в абстрактном синтаксисе" пока не очень понятно, как связаны -- они, скорее, дополняют друг друга.

Суть постинга: язык и интерфейс существенно связаны. Как говорится в презентации по первой же ссылке, "текст программы -- это интерфейс командной строки". GUI с бесчисленными выскакивающими окошечками, в которых бесчисленное число заполняемых полей и выборов параметров из огромного числа списков мне представляется тоже не лучшим решением. Верстаемый интерфейс (как математических программах, где исполняемые формулы перемежаются поясняющим текстом и выходными графиками) тут явно выигрывает. Ну, или в варианте свежевыложенного в марте 2010 активного эссе Text Field Specification -- http://www.vpri.org/pdf/m2010002_lobjects.pdf.

Это я к тому, что не следует ожидать независимости языков (а хоть и DSL) от интерфейса IDE -- эти DSL, скорее всего, будут определяться как и в случае SmallTalk или других подобных языков вместе со "средой исполнения". То есть нельзя "сочинять язык предметной области", пока не определился с интерфейсом моделера. И наоборот, нельзя определиться с интерфейсом моделера, ежели не разобрался с тамошними DSL.