Skip to content

Instantly share code, notes, and snippets.

@iofjuupasli
Created August 23, 2015 13:51
Show Gist options
  • Save iofjuupasli/443cb3d9b7a979fdd517 to your computer and use it in GitHub Desktop.
Save iofjuupasli/443cb3d9b7a979fdd517 to your computer and use it in GitHub Desktop.
Чем хуже, тем лучше

Чем хуже, тем лучше: JS

Почему я полюбил динамическую типизацию?

Я очень часто встречал мнение, что для очень больших проектов безусловно нужны языки со статической типизацией. Что 1 млн строк кода можно написать только на Java.

Однако я заметил, что на JS я должен писать свой код настолько простым, чтобы всегда было его очень легко понимать и использовать. И писать его как можно более модульно и лаконично. Потому что это единственный шанс не утонуть в сложности, которую обычно со временем очень наращивается.

Когда у тебя прописаны все интерфейсы, и автодополнение в IDE позволяет писать код, который еще не до конца осмыслен, тогда рефакторинг, приведение кодовой базы в порядок оттягивается до того момента, когда это уже слишком сложно.

Под рефакторингом я понимаю не то, когда большой метод бьется на пару-тройку других методов; и не переиспользование вместо дублирования в паре мест, а исправление архитектуры на более высоком уровне с учетом новых знаний.

В итоге вместо безумного проекта в 1млн строк на Java можно написать несколько модулей и подпроектов в сумме на 100т. строк JS. Хотя вообще это какие-то безумные числа.

В мире JS я никогда не встречал таких запутанных неповоротливых классов, как иногда в C#.

Мастерство программирования ведь заключается в том, чтобы делать программы очень простыми.

А для простых программ не нужны сложные языки.

Определенно мне стоит попробовать LISP (Clojure, cljs).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment