Закончил изчуать Prolog. Это самый странный язык программирования, что я встречал.
Для того, чтобы решить задачу приходилось отвлечься от решений, которые всегда работали. Сортировка массива определяется, как такая перестановка, где каждый элемент больше предыдущего. И все. Дальше язык сам решит как этого добиться.
Программирование на Prolog сконцентрированно на целях, а не на путях их достижения.
#языки
  
  
  
  
  
  Для того, чтобы решить задачу приходилось отвлечься от решений, которые всегда работали. Сортировка массива определяется, как такая перестановка, где каждый элемент больше предыдущего. И все. Дальше язык сам решит как этого добиться.
Программирование на Prolog сконцентрированно на целях, а не на путях их достижения.
#языки
Продолжаем разговор о непрерывной интеграции.
Тесты помогают держать часть кода под контролем, но покрыть тестами все приложения слишком дорого. Потому нужны какие-то более простые способы избегать ошибок.
Простой и эффективный путь — статический анализ, проверка корректности программы без ее выполнения. Для разных языков доступна разная глубина такого анализа.
Для JavaScript это JSHint, ESLint. Для TypeScript — TSLint. Уважайте линтеры, любите линтеры, используйте линтеры.
Для других языков можно найти по запросу
#удобство_разработки
  
  
  
  
  
  Тесты помогают держать часть кода под контролем, но покрыть тестами все приложения слишком дорого. Потому нужны какие-то более простые способы избегать ошибок.
Простой и эффективный путь — статический анализ, проверка корректности программы без ее выполнения. Для разных языков доступна разная глубина такого анализа.
Для JavaScript это JSHint, ESLint. Для TypeScript — TSLint. Уважайте линтеры, любите линтеры, используйте линтеры.
Для других языков можно найти по запросу
static analysis {{language}}.#удобство_разработки
kamyshev.code via @vote
Месяц назад я начал постить через бота статьи, которые прочёл и считаю достойными. Продолжать?
anonymous poll
Да! 💪 – 218
👍👍👍👍👍👍👍 92%
Не стоит. 🙄 – 18
👍 8%
👥 236 people voted so far. Poll closed.
  anonymous poll
Да! 💪 – 218
👍👍👍👍👍👍👍 92%
Не стоит. 🙄 – 18
👍 8%
👥 236 people voted so far. Poll closed.
Ссылка
Большую часть времени разработчики читают код. А потому нужно, чтобы чтение кода вызывало как можно меньше удивления.
Если бы весь код был одинаково отформатирован, это сделало бы уже половину работы. Но руками форматировать код и расставлять запятые долго, дорого и бессмысленно.
В таком случае следует использовать средства автоматизации — Дорога к Prettier
#удобство_разработки
  
  Большую часть времени разработчики читают код. А потому нужно, чтобы чтение кода вызывало как можно меньше удивления.
Если бы весь код был одинаково отформатирован, это сделало бы уже половину работы. Но руками форматировать код и расставлять запятые долго, дорого и бессмысленно.
В таком случае следует использовать средства автоматизации — Дорога к Prettier
#удобство_разработки
Medium
  
  Дорога к Prettier
  Как мы начали использовать Prettier и стали счастливее
  Четвертым языком в книге "7 языков за 7 недель" идёт Scala.
Это прекрасный симбиоз объектно-ориентированного и функционального языка. Scala работает внутри виртуальной машины Java, может использовать код на Java. Но при этом не страдает громоздким синтаксисом и бременем обратной совместимости.
Современный язык с крутыми идеями.
Больше всего радует: паттерн-матчинг, статическая типизация, стремление к иммутабельности, акторы для параллельных вычислений.
Расстроило: имплиситы (сложно объяснить, но выглядит стрёмно), перегрузка операторов (
#языки
  
  
  
  
  
  Это прекрасный симбиоз объектно-ориентированного и функционального языка. Scala работает внутри виртуальной машины Java, может использовать код на Java. Но при этом не страдает громоздким синтаксисом и бременем обратной совместимости.
Современный язык с крутыми идеями.
Больше всего радует: паттерн-матчинг, статическая типизация, стремление к иммутабельности, акторы для параллельных вычислений.
Расстроило: имплиситы (сложно объяснить, но выглядит стрёмно), перегрузка операторов (
human1 $ human2, что этот код делает догадаться невозможно).#языки
Нужная книга
"Идеальный программмист" Роберта Мартина совсем не о коде. Она про то как делать свою работу хорошо. Что иногда стоит сказать заказчику "нет". О важности тестов, правильных оценках времени и борьбе с давлением.
В общем, обо всем что делает хорошего программиста хорошим. Точно нужно прочесть всем.
#идеальный_программист
  
  
  
  
  
  "Идеальный программмист" Роберта Мартина совсем не о коде. Она про то как делать свою работу хорошо. Что иногда стоит сказать заказчику "нет". О важности тестов, правильных оценках времени и борьбе с давлением.
В общем, обо всем что делает хорошего программиста хорошим. Точно нужно прочесть всем.
#идеальный_программист
Онлайн-курс
Программисту нужна математика. Не слишком глубоко, но общие представления иметь нужно. Всем хорошо бы знать: комбинаторику, теорию вероятностей, математическую статичтику, теорию сложности, теорию графов и линейную алгебру.
На Stepik есть хороший бесплатный курс Введение в дискретную математику, который охватывает большую часть этих тем.
#математика
  
  Программисту нужна математика. Не слишком глубоко, но общие представления иметь нужно. Всем хорошо бы знать: комбинаторику, теорию вероятностей, математическую статичтику, теорию сложности, теорию графов и линейную алгебру.
На Stepik есть хороший бесплатный курс Введение в дискретную математику, который охватывает большую часть этих тем.
#математика
Stepik: online education
  
  Введение в дискретную математику
  Курс позволит вам овладеть базовыми понятиями и принципами дискретной математики и некоторых ее смежных глав. Пройдя курс, вы сможете решать огромное количество задач, которые возникают как в жизни, так и в работе даже у нетехнических специалистов. Также…