Предупреждение. Если вы дочитаете эту статью до конца, вы сможете лучше решать проблемы. (Программист)

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

Мне нравится думать о компьютерных науках и программировании как о средствах общения с компьютером. Это общение включает в себя передачу инструкций компьютеру и получение вывода после их обработки. Как и в обычном общении между людьми, в компьютерном программировании есть много языков, которые используются для передачи указанных инструкций компьютеру. Простое знание слов на определенном языке не поможет, если вы не можете составлять содержательные предложения. То же самое и в программировании: знание синтаксиса само по себе не поможет вам, если вы не можете написать осмысленный и читаемый код.

Владение одним языком программирования впечатляет, и еще лучше, если вы хорошо владеете многими языками. Легко иметь всю эту информацию под рукой ... действительно важно знать, как правильно и точно использовать эту информацию. Язык программирования - это просто средство для достижения цели, в данном случае целью является решение конкретной проблемы. Не заблудитесь в лабиринте изучения новых языков и не забудьте понять, что действительно важно.

Синтаксис этих языков можно найти в Интернете с обширной справочной документацией. Простое освоение этого не сделает вас хорошим разработчиком программного обеспечения, это сделает вас библиотекой для ходьбы и дыхания. Хороший разработчик программного обеспечения - это не только языки, но и решение реальных проблем.

Не тратьте много времени, пытаясь овладеть всеми тонкостями языка, не концентрируясь на концепциях, которые применяются повсеместно. Не существует единого лучшего языка, который можно было бы использовать, и даже если бы он был, он не продержался бы так долго. Это связано с тем, что потребности и технологии постоянно развиваются, и языки программирования тоже.

Что действительно важно?

  • Знание шаблонов проектирования: шаблон проектирования можно назвать известным решением существующей проблемы. Это поможет вам не изобретать велосипед заново и сделает вас намного быстрее.
  • Возможность писать эффективные алгоритмы: узнавайте больше о существующих алгоритмах и тратите меньше времени на изобретение колеса. Практикуйте алгоритмы, не уделяя особого внимания запоминанию фактического алгоритма, а, скорее, процессу и обоснованию его использования.
  • Лучшее использование структур данных: эффективность и производительность любой программы зависит от эффективности используемых структур данных. Таким образом, само собой разумеется, что время, потраченное на обучение, будет потрачено не зря.
  • Модульность и структура вашего кода. Проще говоря, плохая структура и тесно связанный код - это верный путь к катастрофе.
  • Знания об отладке: вы обнаружите, что много времени как разработчик тратите на исправление ошибок и рефакторинг кода. Ваша скорость и эффективность будут зависеть от того, насколько быстро вы овладеете этим навыком.
  • Тестирование: найдите время и прочтите о написании тестов и автоматизации тестирования на любом языке. Затем вы можете использовать те же концепции для тестирования на любом другом языке. Различия будут в синтаксисе, но идеи и концепция могут быть повторно использованы для соответствия любому языку.

Не беспокойтесь, если вам нужно узнать, как перебирать массив или где ставить запятые и двоеточия. Это не должно заставлять вас чувствовать себя некомпетентным программистом, особенно если вы новичок в этом языке. Постарайтесь быть безграничными в своих познаниях в программировании. Безграничный в том смысле, что знание языка программирования не может помешать вам присоединиться к любому проекту, независимо от используемого языка. Очень хорошим шагом в этом направлении было бы уделение большого внимания универсальным концепциям и позволить синтаксису догнать вас.

Не будьте просто программистом, решайте проблемы.