Ответы пользователя по тегу Программирование
  • Есть ли более высокоуровневые аналоги "Искусства программирования" Кнута?

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

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

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

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

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

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

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

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

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

    @potan
    Функциональный программист
    В первую очередь теория множеств и логика. Теория вычислимости тоже полезна. В области разработки микроэлектронных систем, ИИ, верификации программ, рекомендательных системах, проектировании языков программирования этим надо владеть глубоко, в остальных областях достаточно общего знакомства, но на начальном уровне знать надо. Хорошо еще теорию категорий и общую алгебру, но это сложные темы, их стоит поверхностно просмотреть, а потом углубляться по мере возможности и желания.
    Чаще всего требуются теория вероятности и статистика (ну и комбинаторика). Особенно в модном нынче анализе данных с машинным обучением.
    В машинном обучении очень важна линейная алгебра.
    В графике, САПР и робототехнике еще будет полезна дифференциальная геометрия.

    Порядок изучения, мне кажется, не должен быть строгим. Лучше изучать по маленьким кусочкам разные дисциплины, иногда возвращаясь к темам для более глубокого изучения.
    Ответ написан
    1 комментарий
  • Чем заняться физику в IT?

    @potan
    Функциональный программист
    Сейчас модная тема, которая должна быть близка физикам - BigData. Соответственно учить надо Spark+Scala и R/Octave/Matlab/Julia на выбор.
    Есть задачи по моделированию - от медицины, то различных CAD-систем, но рынок не очень большой.
    В принципе игры и роботы - но это скорее для экспериментаторов, а не тер-физиков.
    Ответ написан
    Комментировать
  • Стоить ли изучать Elm?

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

    @potan
    Функциональный программист
    Он не давал радикальных преимуществ. Сложнее большенства языков с GC, но из-за GC не способный полностью заменить C++.
    Ответ написан
    Комментировать
  • Можно ли работать программистом после 9 классов?

    @potan
    Функциональный программист
    Есть такое ограничение, как трудовой кодекс. Нанимать недостигшего 18-ти лет может оказаться не просто.
    Возможно, удасться найти стажировку - это поможет накопить опыт и сделает резюме привлекательнее.
    В принципе, большенство компаний на формальное образование смотрит сквозь пальцы. Но чесно говоря я сомневаюсь, что девятиклассник может быть очень хорошим программистом. Максимум - юниором. Умение делать сайтики на пхп и мигать светодиодом на Arduino для этого не достаточно. Помимо бызовых знаний (хотя бы пару заметно отлицающихся друг от друга языков, владения системами контроля версий и т.п.) требуется опыт участия в достаточно больших проектах с несколькими учасниками.
    Ответ написан
    Комментировать
  • Какую среду выбрать Matlab vs Mathematica vs Maple vs python?

    @potan
    Функциональный программист
    Mathematica - удобный и мощный язык, огромная стандартная библиотека, замечательный интерфейс. Минусы - цена и сложность начального вхождения. Для моделирования динамических систем есть отдельная реализация языка Modelica (SystemModeler), но только под винду и я не слышал что бы ей кто-то пользовался.

    Matlab - хорош для численных вычислений, в символьных слабоват. Для моделирования есть пакет Simulink, который знакомые очень хвалили. То же стоит денег.

    Python - популярный и простой, много готовых пакетов, хороший интерфейс ipython (сдутый с Mathematica). Но как язык слабоват - обобщенные алгоритмы на нем тяжело пишутся, высокая эффективность обеспечивается только с помощью библиотек на C.

    Octave: бесплатный относительно приличный клон Matlab. Про системы моделирования к нему не слышал.

    SciLab: бесплатный, но кривоватый и недоделанный клон Matlab. За то к нему относительно приличная система моделирования Xcos.

    R: удобный язык для обработки данных и статистики. Огромная и хорошо организованная внешняя библиотека.

    Julia: Объединяет лучшие черты Matlab, R и python (а так же кое что из Lisp). Но разработчики пока не заявили о стабильной версии. Если стабильность Вам не критична, очень рекомендую.

    Про остальное ни чего не знаю.
    Ответ написан
    Комментировать
  • Какие математические дисциплины нужны, или будут большим плюсом в программировании?

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

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

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

    @potan
    Функциональный программист
    Scala и Play Framework вполне подходят. Когда потребовались web-сокеты, мне их удалось прекрутить без труда.
    Правда, сама Scala - не самый простой язык, может потребоваться некоторое время, что бы с ним разобраться.
    Ответ написан
    Комментировать
  • Какой план обучения программирования можно предложить школьнику на лето?

    @potan
    Функциональный программист
    Рекомендую старый-добрый SICP. Очень хорошо продуманный учебник.
    Ответ написан
    Комментировать