среда, 12 октября 2011 г.

О научном и наукоемком программировании

Сегодня ночью @abausk протвитил свой таки-забавный афоризм "Ничто не делается так легко и не внедряется так мало, как научное программирование (c)".

Возможно, я ошибочно приписываю Александру отождествление некоего "научного программирования" (?) с тем, чем ЛЕДАС практически непрерывно и небезуспешно занимается уже много лет и именует "наукоемким (science-intensive) программированием". Однако, повод высказаться возник, и, на всякий случай, отвечу на вышеприведенный афоризм так: Ничто не делается и не внедряется так трудно, но неизбежно, как наукоемкое программирование.

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

Ну, а в основе всякого серьезного внедрения обязательно лежит в той или иной степени отдаленный научный предок.
.
.Дальнейшее развитие приведенных афоризмов принимается. От тех, кто реально занимался научным или/и наукоемким программированием.

4 комментария:

  1. Уважаемый Давид,

    Чувствую необходимость немного пояснить.
    Афоризм не мой. Он относится именно к научному программированию в смысле автоматизации исследования, программной реализации алгоритмов, причем реализации in-house, без каких-либо "продуктов", которыми занимаются профессиональные коллективы. Программированию в исходном, древнем смысле.

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

    О "малом внедрении": здесь речь о плохом проникновении инструментов, позволяющих программировать машину, в среду исследователей, не связанных напрямую с программированием как отраслью. Сравним, например, с мыслями Ингер Мьюберн о "цифровом барьере" в академической и профессиональной среде в её статье:
    http://bauskas.blogspot.com/2011/10/blog-post_06.html

    В академической среде такой барьер гораздо более выражен, вот вам и суть афоризма.

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

    Всегда ваш, @bausk.

    ОтветитьУдалить
  2. Александр,

    по-моему идея "цифрового барьера" несколько надумана и обусловлена недостатком подготовки. В местном НГУ, например, физиков тщательно учат этому самому "научному программированию" и ребята впоследствии не испытывают с ним особых проблем.

    К тому же существуют масса инструметов облегчающих задачу - Mathcad, Mathlab, Mathematica, да тот же Grasshopper в Rhino

    ОтветитьУдалить
  3. Владимир,

    если бы все вузы в бывшем СССР были бы НГУ и выпускали бы наученых программированию физиков, я бы плакал от счастья.
    Тут как с БИМ - разные примеры перед глазами. Думаю, что если у людей из разных концах планеты похожие наблюдения, то явление не надуманное.

    ОтветитьУдалить
  4. Вообще "цифровой барьер" это больной вопрос. и связан он не столько с подготовкой в ВУЗах и т.п. Барьер вырастает позже (если нет практики), потому что средства разрабобтки меняются. Т.е. проблема не в программировании собственно, а в синтаксисе.

    ОтветитьУдалить



Подпишитесь на RSS, чтобы получать обновления моего блога