?

Log in

No account? Create an account
жирафа
Иван Тарасов _navi_
Previous Entry Share Next Entry
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 всё равно не удовлетворял нашим требованиям. С той же замечательной поры в моём лексиконе есть слова „ультрахрень” и „турбодрянь”.


Запомнил... Спасибо за соблюденный копирайт! :))))

надеюсь смысл правильно донёс :-)

Ты б опубликовал ещё какие слова что ли. А то я ж помню, много было хороших

Донёс очень близко к тексту - я честно говоря не думал, что так может здорово запомниться. :)

На счет других слов - что-то не лезет в голову... По мере вспоминания буду постить в ЖЖ. :)


ну, я помню и пользую чуть-чуть твоих. Навскидку: „кчай”, „базеда” (только этимологию не помню)

Ах, точно! :))) Ну ладно.. "Базеда" это довольно сложная концепция, поэтому оставим ее пока.. Значит "кчай".

Кчай - это на самом деле не мой термин. Это термин, успользуемый в моей семье (не там где родители, а там где супруга, и прочие свояки). Значене очень простое. Кчай - это любая жуйня, которую можно (и обычно так все и делают) употреблять вместе с чаем, кофе и прочими подобными напитками. Кчай может быть сладким и нет. Горячим и холодным. В общем кчай - это дополнительное к основному, или при отстутствии последнего - замещающее его блюдо. :)

„Кчай” я в таком же смысле использую, тут с этимологией довольно просто. Во, „жуйня”! Её не помнил.

Короче, надо словарь составлять :-)

Еще пара кулинарных терминов: "черносуп" и "сухогреч".

Черносуп - суп из сушеных подосиновиков. Сушеные белые такого цвета не дают. :))

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

„Черносуп” у меня не приживётся, я не очень люблю грибные блюда.

„Cухогреч” — ооо, вспомнилась готовка в общаге :-)

** - ох. а автоматизация с сентенциями типа "obj.get("childNodes(x).childNodes(y)","innerText")...
или
"obj.childNodes(x).childNodes(0).<...>.click()"
уффффф...

это для web'а? мы с Димакой писали гуй на .NET, там было просто мясо :-)
web мы тогда к счастью не трогали

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

Я тебе даже завидую, у тебя были конкретные задачи, которые ты мог так решать. А то что я уже года 3 или 4 ковыряю может и имеет какую-то связь с реальностью, только я её не знаю. Ну, то есть, я работаю даже не с конечной моделью (набором уравнений соответствующих чему-то реальному), а с очень обобщённой моделью, и связи с реальностью в этом не видно никакой. А, соответственно, и нету удовлетворения от решения реальной задачи (ну, думаю, ты знаешь это ощущение).

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

О, кстати, как раз сегодня статью про химию читал:
http://www.cse.unsw.edu.au/~chak/papers/SCKCB07.html
(кажется про то же, но подробнее здесь: http://www.cse.unsw.edu.au/~chak/papers/CSCKB07.html)

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

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

да, показать бы тебе Mathematica, ты бы впечатлился наверно, очень интересная штука

Я в свое время немного с MathCAD поигрался, но у меня вообще с высшей математикой плоховато... Поэтому я и занимаюсь практической наукой :-)

не, маткад — это школьная поделка недостойная внимания. А Mathematica, думаю, вполне пригодна для практической науки