?

Log in

No account? Create an account

Entries by tag: step

Wolfram Research blog
жирафа
_navi_

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 всё равно не удовлетворял нашим требованиям. С той же замечательной поры в моём лексиконе есть слова „ультрахрень” и „турбодрянь”.