Иван Тарасов (_navi_) wrote,
Иван Тарасов
_navi_

Wolfram Research blog

Wolfram Research, оказывается, одновременно с выпуском Mathematica 6, открыл блог сотрудников. Рассказывают интересные вещи, довольно много постов посвящено визуализации.


Вспомнил вдруг, как я вообще познакомился с Mathematica. Примерно в 94–95 году отец дал мне пачку из 5 (?) дискет, на которых было написано Mathematica 2.2 и действующий регистрационный ключ. Дискеты ему кажется подарили на какой-то из конференции. Я в то время много писал на Basic'е (QuickBasic 4.5), увлекался рисованием всяких интересных картинок (и генерации звуков) при помощи комбинации различных математических функций. Теоретических основ я знал мало (потому как никакого углублённого изучения математики, а уж, тем более, программирования, в школе не было), всё делал методом проб и ошибок. Mathematica тогда была для меня „космолётом”*, в то время как я ещё только изобрёл и освоил колесо. Разбираться в ней было сложно, английский я тогда ещё не знал достаточно хорошо, чтобы понимать 100% и так довольно лаконичной документации. Зато есть у меня теперь подозрение, что те пять дискет что-то изменили и в итоге повлияли на мой выбор факультета (тут, конечно, есть другая замечательная история — о моём поступлении, ну да ладно).

Во время учёбы в университете я пользовался Mathematica'ой уже довольно умело. Одним из моих достижений была система автоматического решения зачётных задач по теории управления, которая пользовалась большим успехом у петергофского потока. Мы кажется даже хотели брать что-то вроде сока в форме оплаты, но были слишком поглощены процессом решения всё-поступающих задач. Это был первый семестр третьего курса (привет, Грин). Ещё неплохое применение Mathematica у меня нашла при написании лабораторной по методам вычисления: я написал и отладил программу реализующую метод Рунге-Кутта на Mathematica (при отладке активно используя визуализацию построенного решения и правильного решения, посчитанного NDSolve'ом), а потом за считанные минуты перевёл это всё вручную на C, получив безошибочную программу.

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

Говорят, в Mathematica 6 всё изменилось. Посмотрим.


* „Космолёт” — слово, вошедшее в мой лексикон из лексикона dr_dimaka. Означает систему, чрезвычайно перегруженную излишней или непонятной функциональностью. Расширенный аналог микроскопа, которым забивают гвозди, только микроскоп этот цифровой, с возможностью делать фотографии и даже снимать видео. Типичными примерами космолёта являются библиотека UI контролов компании Infragistics**, Microsoft Office, Emacs (шучу-шучу).

** объяснить это сложно, это действительно надо видеть. Не знаю, сколько фантазии (и наркотиков) надо было разработчикам, чтобы придумать столько совершенно бесполезных вариантов изменения внешнего вида и поведения контролов. В контроле UltraButton кажется были сотни методов/свойств. В контроле UltraDataGrid были тысячи методов. Притом от порядка запуска методов иногда зависел результат, и, самое интересное, этот DataGrid всё равно не удовлетворял нашим требованиям. С той же замечательной поры в моём лексиконе есть слова „ультрахрень” и „турбодрянь”.

Tags: math, me, personal, software development, step
Subscribe
  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 16 comments