Ответы пользователя по тегу Программирование
  • Изучение программирования путем Скалы?

    @khud
    Scala при некоторых обстоятельствах может быть и первым языком за счет того, что у него очень большое комьюнити и хорошие средства разработки. Однако такой путь по настоящему тяжелый. К сожалению нет литературы, которая позволяла бы это делать эффективно. Одерски адаптировал курс "структура и интерпретация компьютерных программ" для Scala (его легко найти в гугле и корсере), однако на мой взгляд не вполне удачно. Но с этого можно начинать. В целом разделяю мнение большинства - трудно слишком для начала. Python куда более лучший вариант для начала.
    Ответ написан
    Комментировать
  • Какие математические дисциплины нужны, или будут большим плюсом в программировании?

    @khud
    В любом программировании нужна математика, чтобы не говорили. Даже в Enterprise и Web, другое дело в каком объеме. Я бы сказал, что дискретная математика в минимальном объеме точно да, как минимум логика, множества и битовые операции. Теория вероятности и начала анализа на уровне O-нотации, пределов и дифференцирования также имеет значение в некоторых вопросах. Линейная алгебра точно да, как минимум на уровне векторов и матриц.
    Ответ написан
    Комментировать
  • Как вы "держите" в голове функции, переменные и их значения при написании программы, или разборе чужого кода?

    @khud
    Самый главный инструмент разработчика - это бумага и ручка. Декомпозиция кода - это следующий главный инструмент. Отладчик ближе к концу списка. Если смотришь в собственный код и не понимаешь, что происходит, значит код слишком большой или слишком сложный или там нет комментариев. Комментарии вообще играют очень важную роль, с одной стороны код сам по себе говорит (как минимум должен говорить), ЧТО делает код, а комментарий говорит о том ЗАЧЕМ это нужно. Можно еще использовать программирование по контракту (assert к примеру) для того, чтобы было более понятно что происходит. Императивное программирование и ООП тяготеют к спагетти коду особенно на этапе прототипирования. Функциональное программирование часто помогает решить часть проблем (иногда правда и новых добавляет).
    Ответ написан
    Комментировать