• Как найти работу функциональным программистом?

    @potan
    Функциональный программист
    У нас (Адалиск) открыты пара вакансий на Scala. Clojure все-таки более редкий язык. Несколько лет назад на нем какие-то проекты делались в Jet Infosystem, но как сейчас там с ним дела не знаю.
    Ответ написан
    Комментировать
  • Какие книги почитать по функциональному программированию?

    @potan
    Функциональный программист
    Для полноценного изучения надо ничинать с Haskell (или *ML, но по ним и информации меньше, и не все там так просто, как может показаться).
    Если просто познакомиться и есть опыт фронтенда, то можно начать с ELM.
    Ответ написан
    Комментировать
  • Что учить дальше(как стать полноценным хакером)?

    @potan
    Функциональный программист
    Prolog, SMT solvers (например z3), системы доказательства теорем (Isabelle, Coq), системы переписывания термов (Maude, Stratego).
    Ответ написан
    Комментировать
  • Что изучать, чтобы стать математиком-программистом?

    @potan
    Функциональный программист
    Теорию типов, теорию категорий.
    Ответ написан
    Комментировать
  • Как решить тригонометрическое уравнение?

    @potan
    Функциональный программист
    Воспользоваться формулами Эйлера. Они преврящают тригонометрию в рациональные выражения от экспоненты с которыми легко работать.
    Ответ написан
    Комментировать
  • Есть ли более высокоуровневые аналоги "Искусства программирования" Кнута?

    @potan
    Функциональный программист
    Ответ написан
    Комментировать
  • Достаточно ли знаний алгебры за 9 класс для изучения алгоритмов и тп?

    @potan
    Функциональный программист
    В школьной программе упущены множества и логические законы. А они необходимы - многие понимают их интуитивно, но подучить полезно.
    Так же хорошо иметь предстваление об комбинаторике, линейной алгебре и основам анализа (пределы и производные).
    Ответ написан
    Комментировать
  • Как не терять интерес к изучению программирования?

    @potan
    Функциональный программист
    Можно попробовать что-то сложное и математически красивое - например, зависимые типы.
    Ответ написан
    Комментировать
  • С чего начать изучать математику?

    @potan
    Функциональный программист
    Начать стоит с теории множеств (например с этой книги: ).
    Дальше зависит от того, какая математика Вас интересует.
    Ответ написан
  • Математика для азартных игр?

    @potan
    Функциональный программист
    Анализ, линейная алгебра, методы оптимизации, теория вероятности, комбинаторика, теория игр, статистика.
    Ответ написан
    Комментировать
  • Есть ли книги для развития действительно математического мышления/не зазубривания формул?

    @potan
    Функциональный программист
    В детстве мне был очень интересен Перельман, особенно "Занимательная алгебра".
    Будучи взрослым я впечатлился Пенроузом - "Новый ум короля" и "Путь к реальности" (основная цель книг не рассказ о математике, но математика там рассматривается интересно и разносторонне).
    Еще рекомендую "Гёдель, Эшер, Бах" Дугласа Хофштадтера - там очень наглядно объясняются идеи из логики, теории вычислимости.
    Ответ написан
    Комментировать
  • С чего начать изучать парсинг и реализацию языков программирования?

    @potan
    Функциональный программист
    Надо хотя бы познакомиться с формальными грамматиками. Потом есть два пути - использовать препроцессоры, типа yacc, happy или посмотреть какую-нибудь библиотеку комбинаторных парсеров. Последними пользоваться легче, но если взатся за них без представления о грамматиках, то можно очень легко получить неэффективный код. Препроцессоры от этого немного защищают.
    Ответ написан
    Комментировать
  • Как вы изучаете новый язык программирования: книги, видеокурсы что-то еще?

    @potan
    Функциональный программист
    Я предпочитаю книги и статьи на русском (я так осваивал C/C++, Perl, Lisp, Prolog). Если таких нет, стараюсь разобраться по документации и примерам (так я выучил TCL, Haskell и Scala).
    Но со сложными языками по документации не получается, разобраться с языками с зависимыми типами по англоязычной литературе я не смог, а попался русский видеокурс по Idris - очень хорошо пошел.
    Ответ написан
    Комментировать
  • Актуален ли ассемблер?

    @potan
    Функциональный программист
    Практически не актуален. Имеет очень ограниченное применение в сфере безопастности (для исследования и модификации программ без исходников и противостояния этому), разработка систем со всерхжесткими требованиями к памяти, тестирования микропроцессоров, и, в небольшой степени, для разработки backend к компилятору.
    Для робототехники полезнее системы моделирования (Modelica).
    В этой области традиционно популярны C/C++, но думаю что перспективнее все таки Rust и кодогенерация с помощью Ivory.
    Ответ написан
    Комментировать
  • Как называется описанная математическая операция над функцией?

    @potan
    Функциональный программист
    Оператор, функтор.
    В данном случае можно назвать композиция функций.
    Ответ написан
    Комментировать
  • В чем смысл макро программирования?

    @potan
    Функциональный программист
    Макросы позволяют вводить в DSL новые переменные. Через функции высших порядков это делать проблематично, а переменные Lisp (или другого языка, в котором макросами реализуется DSL) могут быть в этом DSL неудобны. Например, макросами можно реализовать pattern matching.
    Макросы позволяют делать более эффективный код, с функциями высших порядков приходится полагаться на оптимизатор и runtime.
    Отлаживать функции высших порядков не всегда проще. Макрос можно раскрыть и оттестировать правильность раскрытия, с функциями приходится тестировать практически всю функциональность сразу.
    Ответ написан
    Комментировать
  • Программирование и математика что надо знать?

    @potan
    Функциональный программист
    Судя по тому, что таг указан "нейронные сети", в первую очередь требуется линейная алгебра (по моему, хоть это звучит неожиданно, ее проще изучать параллельно с функциональным программированием - это помогает начать думать об векторах, векторных пространствах, отображениях, перестановках, как о цельных объектах, идея карринга позволяет по новому взглянуть на полилинейные отображения - по моим наблюдениям именно эти концепции вызывают трудности у изучающих линейку). Так же нужны матан и функан. Для обработки сигналов полезно знакомство с ТФКП. При работе с данными очень важны тервер и статистика.
    В общепрограммистких вопросах полезны дискретная математика, комбинаторика, теория графов, общая алгебра и теория категорий.
    Другие разделы математики нужны в отдельных областях - дифгем и топология в 3D-моделировании, дифуры в робототехнике, урчапы в моделировании пространственных явлений.
    Ответ написан
    Комментировать
  • Язык программирования для решения олимпиадных задач?

    @potan
    Функциональный программист
    Haskell, Prolog.
    Ответ написан
    Комментировать
  • Консультация по биологии?

    @potan
    Функциональный программист
    Не очень понятна задача. Это независимые клетки или многоклеточный организм? На каком уровне должно осуществляться моделирование?
    В полном объеме такой проект потянет на докторскую.
    Если моделируются отдельные клетки, то самое главное, что надо учесть, это что есть дискретный надом признаков, который передается по наследству, и мутации влияют на степень проявление конкретного признака (например способность питаться не глюкозой, а каким-нибудь малатом). Интересно, но очень сложно, смоделировать регуляцию - когда признаком является степень зависимости проявления других признаков от внешней среды. Еще потредуется модель, оцениваюшая успешность этой клетки в зависимости от набора генов-признаков (должна ли она учитывать влияние других клеток? является ли успехом помощь сестринским клеткам?).
    Если эти клетки могут размножаться половым путем, то у каждой клетки надо моделировать два набора генов, отвественный за каждый признак, и как-то друг с другом взаимодействующих (рецесивный-доменантный или что-то более сложное). Дочерняя клетка должна получить по одному признаку из каждой пары от каждого из родителей (эта модель тоже может быть сложной - например "соседние признаки", гены которых расположены на одной хромосоме, с большей вероятностью перейдут от одного родителя вместе).
    К мноrклеточным скорее всего надо подходить с другой стороны. У Александра Маркова есть программа моделирования, где для клетки пишется скрипт, который решает когда ей делиться, когда рости, когда посылать сигналы соседним клеткам, когда приклеиваться к ним, когда отделяться. Сами клетки моделировались упругими шариками.
    Ответ написан
    Комментировать
  • Легко ли найти работу, не имея формального образования?

    @potan
    Функциональный программист
    У меня проблем не вызывает.
    Первая работа у меня была в военном НИИ, куда я попал по знакомствы из хакерской тусовки, когда второй раз бросил Физтех.
    Потом обычно работа сама меня находила (здесь играли большую роль закомства, профессиональные и по институту, где я проучился два раза по году), но даже когда самому приходилось искать, это занимало пару недель.
    Ответ написан
    Комментировать