На каникулах я придумывал свою собственную версию праздничного настроения, повторно пройдя курс машинного обучения Эндрю Нг на Coursera.

Я изо всех сил пытался вспомнить своеобразный синтаксис и семантику MATLAB, и это заставило меня немного глубже задуматься о языках программирования, которые мы используем в науке о данных. В большинстве случаев я решительно выступаю за использование одного и того же языка программирования и технического стека как для исследовательской, так и для производственной работы. Мои команды широко используют отличный стек Jupyter/numpy/scipy на Python 3.4. Команды должны свести к минимуму семантический разрыв между исследовательской и производственной работой. С другой стороны, концептуальная модель MATLAB отлично подходит, когда вы пытаетесь понять предметную область.

Давайте разберемся в этом выборе через призму книги Рича Хики Просто против легко. Хики использует в качестве примера две функционально эквивалентные программы: 10-строчную программу на языке Clojure и 100-строчную программу на языке Java. Какой "лучший"? Одному субъективно легко, комфортно и привычно. Другой сложный, неудобный, незнакомый — и объективно проще.

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