Skip to main content

О пользе открытого кода в учебном процессе

Прежде чем высказаться по теме, хочу поделиться несколькими ссылками, которые могут пригодиться. Первая - Sitepoint раздают за бесплатно книгу "The Photoshop Anthology: 101 Web Design Tips, Tricks & Techniques", загрузить можно в двух вариантах - print-ready (более высокого качества) и, очевидно, для чтения с монитора. Линк на загрузку присылают на мыло. Вторая - разработчик сетевой библиотеки для С++ Boost.Asio Chris Kohlhoff рассказывает об отличиях между Asio и Boost.Asio.

Ну а теперь по теме. Хоть она и обсуждалась уже почти где только можно, я же хочу рассказать о случае, которые произошел не далее как вчера. Вчера жена делала диплом, основную часть которого составляет куча расчетов газотурбинного двигателя. Эти расчеты производятся при помощи набора консольных приложений, которые изначально писались еще во времена, когда программы хранились на перфокартах, а с приходом DOS были адаптированны под новую платформу (правда я предполагаю, что до этого они были адаптированны еще и под ЕС ЭВМ, а уж потом под DOS). Исходные данные находятся в файлах, выходные данные также записываются в файл. Казалось бы это хорошо для конвеерной обработки данных, однако формат выходных данных одного расчета не соответствует формату входных данных другого расчета.

Но не это самое досадное. Изюминка данного программного комплекса состоит в том, что с некоторой вероятностью он не работает, и на одних и тех же входных данных может рапортовать как "domain error: Math error - sqrt()" так и "Program stopped". И если по поводу первой ошибки у меня еще и возникают некоторые догадки, то относительно второй я могу лишь руками развести. Руководство пользователя крайне краткое и подсказок не дает. А эти программы используются на протяжении всего времени обучения в университете для дипломного и курсового проектирования. "Эхх, был бы исходный код" - подумал я и махнул на это все рукой,- может завтра заработает. Дизасемблировать и выяснять алгоритм у меня не было ни времени не желания.

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

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

Comments

  1. я в свое время пачками писал анализаторы/визуализаторы для таких программ.
    я как-то заикнулся про переписать если есть исходники, так мне принесли бобину с перфолентой и пытались доказать, что это исходный код :-)

    ReplyDelete
  2. Для учебного процесса более полезно что бы использующий программы понимал что они делают и мог обьяснить программисту алгоритм. Мы же об инжеренах говорим да?

    ReplyDelete
  3. Надо более широко брать. Не только в учебном процессе, а в образовании и науке. Сам с такими же проблемами сталкивался в институте.

    ReplyDelete
  4. Плюсом открытого кода во время учёбы, это то, что студент может посмотреть примеры реализации - ведь примеры далеко не простого кода всегда полезны для обучения. Это, конечно, при условии, что студенты - будущие программисты.

    ReplyDelete
  5. 2Alex Ott:
    ага, ситуация почти идентичная

    2Begemot:
    понимать-то они может и понимают, но вот по поводу алгоритма и способности его обьяснить я сильно сомневаюсь.

    2Олег Комов:
    согласен

    2Roman:
    совсем не обязательно. Есть много областей где используется самое разнообразное ПО. В некоторых случаях его открытость может быть полезной.

    ReplyDelete

Post a Comment

СООБЩЕНИЕ СПАМЕРАМ: прежде чем пытаться оставить ссылку на свой ресурс в комментарии, прошу обратить внимание на тег nofollow, которым они помечены и зря не терять ни свое ни мое время. А будете упорствовать еще и noindex поставлю