Извечный вопрос: «Какой язык программирования лучше всего изучать?» Я тоже задавал этот вопрос, когда впервые начал изучать программирование. Однако, прежде чем я отвечу на этот вопрос, позвольте мне рассказать небольшую историю о себе на эту тему.

Когда мне было 14 лет, я очень заинтересовался процессом разработки программного обеспечения. Я всегда хотел знать, как появилось программное обеспечение. Я начал потреблять много средств массовой информации, в которых было какое-либо программирование/взлом. Это привело меня к мысли, что существует один язык программирования для любых целей. Когда я, наконец, решил стать серьезным и научиться программировать, первой книгой, которую я взял в руки, было «Руководство для начинающих по программированию на C» Грега Перри и Дина Миллера. После того, как я прочитал книгу, я подумал: «Ну, я умею программировать, теперь я могу создавать приложения и веб-сайты!» Поэтому я начал искать способы преобразовать свои знания в реальное программное обеспечение с поисковыми запросами, такими как: «Как создавать веб-страницы на C» и «Как создавать приложения iOS на C для Windows». Я быстро наткнулся на множество статей, предлагающих несколько языков разметки и программирования, о которых я едва знал. Сначала это обескуражило меня, но я был полон решимости сделать все возможное, чтобы убедиться, что я развил навыки, необходимые для создания веб-сайтов и мобильных приложений.

Когда я начал изучать эти другие языки, я понял, что их было намного легче понять и понять, чем мой первый язык программирования. Самые большие различия между языками программирования, казалось, в основном заключались в синтаксисе, соглашениях и парадигмах. Я быстро понял, что выбор языков программирования и фреймворков по мере необходимости станет неотъемлемой частью моей карьеры в области разработки программного обеспечения.

Вопрос

Теперь вернемся к вопросу. На сам вопрос есть ответ, который многим не нравится слышать, и я сам был в этом виноват. Этот ответ: «Это зависит». Существует множество типов программного обеспечения, каждое из которых служит своей цели и работает в среде, которая определяет тип технологий, используемых для его разработки. Встроенное программное обеспечение, веб-приложения, мобильные приложения, консольные видеоигры и мобильные видеоигры — это лишь некоторые из типов программного обеспечения, которые мы используем каждый день, и существуют сотни других. На самом деле, если вы собираетесь работать, очень вероятно, что вы будете работать над проектами, которые уже находятся в разработке, и вам нужно будет работать с используемыми технологиями, независимо от того, предпочитаете вы их или нет.

Как упоминалось ранее, тип приложения сильно повлияет на ваше решение о том, какие технологии использовать. Например, я бы использовал Python вместо C для разработки веб-приложения из-за более простого синтаксиса Python и доступности популярных веб-фреймворков, таких как Django. Однако, если бы я хотел разрабатывать встраиваемые системы, я бы выбрал C вместо Java из-за накладных расходов на запуск JVM. Если ваше решение о том, какой язык/фреймворк не зависит от цели программного обеспечения или платформы, для которой вы разрабатываете, то вы, вероятно, столкнетесь с некоторыми проблемами.

Однако самая большая проблема с этим вопросом заключается в том, что это вообще неправильный вопрос. Всякий раз, когда меня спрашивают, с какого языка программирования начать, я предлагаю либо C, Python, либо Java, но это только потому, что я предвзято отношусь к этим языкам из-за личных предпочтений. Это ни в коем случае не лучшие языки программирования. Кроме того, даже если есть несколько вариантов, подходящих для конкретного проекта, языки различаются своими сильными и слабыми сторонами. Предпочитаете ли вы более простой синтаксис или язык с большим сообществом, чем с меньшим, также будет влиять на ваше решение.

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

Вывод

Если и есть что вынести из этого поста, так это то, что у вас не должно быть непоколебимой привязанности к языку программирования, который вы в настоящее время используете или которым интересуетесь. Уделение большего внимания результату и использование наиболее подходящего подхода важнее, поскольку разработчик программного обеспечения. Сосредоточьтесь на концепциях обучения, они имеют большой перенос между языками и фреймворками. После того, как вы выучите несколько языков и получите опыт создания приложений, изучение новых языков не будет слишком сложным. Лучший язык программирования — тот, с которым вы можете продуктивно работать прямо сейчас.

В следующем посте я расскажу о преимуществах использования микрофреймворков для разработки веб-приложений на php по сравнению с обычным php.

Если вас интересует больше контента от меня, посетите мой личный блог. Если вы заинтересованы в приобретении моих услуг, посетите мой личный веб-сайт и свяжитесь со мной.