За свою карьеру программиста я регулярно участвую в обсуждениях языков программирования. И вообще, я люблю говорить о языках программирования. Нетехнические люди, вероятно, могут не понять, почему это интересная тема для программистов.
Многие программисты склонны влюбляться в язык программирования, поэтому у меня тоже есть свои фавориты. Язык программирования - это просто набор слов, как и любой другой язык. Знание всех слов и синтаксиса на любом языке нам не очень поможет. Мы должны понимать правила (технические шаблоны) и силу языка (технические парадигмы), чтобы иметь возможность общаться.
Когда вы переключаетесь с одного разговорного языка на другой и используете одни и те же слова без какого-либо понимания модели общения, это приведет к катастрофе, хотя и забавной. Это определенно не будет «желтым от яйца» (индивидуальный перевод с немецкого означает: «Это определенно будет« не совсем блестящим »).
То же правило применяется к языкам программирования, если мы пытаемся писать в стиле C в Java или в стиле Java в Python. Наш код всегда заканчивается катастрофой. Вот почему многим программистам нравится язык программирования, который у них хорошо получается, и они используют его в каждом проекте. Это как говорить на родном языке - мы чувствуем себя на нем очень уверенно и комфортно.
К счастью, почти каждый язык программирования можно разделить на одну или несколько парадигм. Точно так же, как большинство родных языков можно отнести к корневым, например Французский, итальянский, испанский как романские языки и английский, немецкий, голландский как германские языки. Да, у английского есть германские корни - извините за это. Общие парадигмы программирования: функциональное, объектно-ориентированное, императивное, декларативное и процедурное. И почти каждый современный язык программирования может обрабатывать все эти парадигмы - в настоящее время можно даже выполнять функциональное программирование на Java.
Помимо парадигм программирования, существует также набор правил или технически выраженных шаблонов, которые можно применять практически на любом языке программирования. Просто упомяну некоторые из них: Singleton-, MVC, Facade-, Factory-, Builder-, Proxy-, Iterator-, Decorator-, Futures-, Promises- или Observer-Pattern и т. Д.
Для хорошего программиста язык программирования не имеет значения. Что действительно важно, так это знать разные парадигмы и шаблоны программирования и выбрать подходящую для своего проекта. Знание только слов и синтаксиса многих языков программирования не сделает из вас хорошего программиста. Но достаточно знания многих парадигм и шаблонов в сочетании с этими словами, потому что они являются основными ингредиентами для написания организованного, структурированного и значимого кода.