Какой язык программирования я должен изучать?

Правильный ответ на один из наиболее часто задаваемых вопросов

Какой язык программирования мне следует изучить?

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

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

Я видел, как много людей защищают Python без объяснения причин, в то же время категорически против Java, PHP, JavaScript или всего остального, о чем они ничего не знают. Читайте такие советы с осторожностью.

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

Первый - «Чего я хочу достичь с помощью кода?»

После этого следует указать «Как мне добраться?»

Я хочу быть разработчиком игр

Это распространенный вариант с самыми широкими возможностями. Но возникает вопрос: «Что за разработчик игр?» Вы хотите заниматься искусством в играх? Вы хотите создавать игры в виртуальной реальности? Или мы говорим об играх для мобильных приложений? MMO? Инди-релизы в Steam?

C ++ - самый распространенный язык, когда речь идет о коммерческой разработке игр. Такие игры, как The Witcher 3 и Elder Scrolls V: Skyrim, созданы на C ++. Некоторые движки разработки игр, такие как Unreal, также будут работать только на C ++.

Говоря о движках, вам также нужно будет выяснить, как использовать инструменты, чтобы повысить эффективность процесса создания игр. Другой популярный движок - Unity, но он использует C #.

Я хочу быть веб-разработчиком

Веб-разработка - это гораздо более широкая сфера, чем думают многие. Обычная рекомендация - как минимум HTML, CSS и JavaScript. Вам также понадобится фреймворк или библиотека, такая как Angular или React, чтобы упростить жизнь.

Чтобы стать полноценным веб-разработчиком, обычно известным как разработчик полного цикла, вам также необходимо добавить инфраструктуру, базу данных и внутреннюю разработку.

Для инфраструктуры вам потребуются знания и навыки, связанные с облачными технологиями. Три основных технологии, которые привлекут внимание потенциальных работодателей, - это Amazon Web Services (AWS), Google Cloud и Microsoft Azure. Хотя идеи, лежащие в основе множества предлагаемых ими услуг, можно передавать, существуют различные и уникальные способы работы с каждой из услуг. Обычно компании также предлагают бесплатные уровни, в которых вы можете экспериментировать и играть.

Для базы данных наиболее распространенными являются mySQL и MongoDB. У Amazon есть собственная полностью управляемая версия базы данных без таблиц, называемая DynamoDB. У Google есть платформа мобильной разработки под названием Firebase, которая также служит серверной частью через системы API Firebase.

И, наконец, для создания собственных API-интерфейсов вам понадобится какой-то серверный язык, такой как Java или node.js. Также есть варианты использования PHP, C ++ и C #. Бессерверные микросервисы также могут создавать API-интерфейсы с помощью комбинации различных сервисов, таких как пары AWS Lambda со шлюзом API или функций Azure с управлением API в Azure.

Лучший совет для веб-разработчиков - перед тем, как приступить к работе, проверить потребности местного рынка, особенно если речь идет о внутренней разработке. Вы можете обнаружить, что решили попасть в книги по Java, когда каждый хочет нанять только для PHP или node.js.

Я хочу создавать приложения

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

Существует тип мобильного приложения под названием Progressive Web Apps (PWA), в котором используются HTML, CSS и JavaScript, работающие через платформу, генерирующую собственный мобильный код. Это простой способ повторно использовать свои навыки веб-разработчика, чтобы сократить время, необходимое для создания одного и того же приложения для разных платформ.

Тем не менее, все же стоит быть разработчиком нативных мобильных приложений. В зависимости от выбранного устройства вам понадобится Java для Android или Swift для iOS.

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

Я хочу устроиться на работу разработчиком

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

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

Если вы собираетесь специализироваться на интерфейсе пользователя, не забудьте разнообразить себя знаниями о дизайне, теорией цвета и препроцессорами CSS, такими как SCSS.

Что касается внутреннего трека, посмотрите, как войти в Java. Python легко освоить, но он также основан на требованиях местного рынка. Там, где я нахожусь, PHP, вероятно, более популярен, чем Python, а языки на основе Java и C являются наиболее популярными среди компаний и кадровых агентств. В этой области нет явного победителя. Это полностью зависит от результатов вашего исследования на доске объявлений.

Знание баз данных также может сделать или сломать ваше приложение как разработчика, поэтому обязательно разбирайтесь в mySQL и / или структурах без таблиц. Я говорю «и / или без таблиц», потому что большинство предприятий, особенно с устаревшим кодом, будут использовать mySQL или аналог.

Я пока не знаю, чего хочу, я просто хочу выучить код

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

Изучение веб-технологий, вероятно, будет вашим лучшим выбором, потому что вы можете довольно быстро что-то наладить и запустить. Плоды вашего тяжелого труда созреют намного быстрее, чем если вы попытаетесь создать что-то коммерчески жизнеспособное с помощью Java или языков C. JavaScript - один из самых простых языков программирования, но не забудьте изучить его должным образом. Изучите парадигмы программирования, такие как SOLID и сплоченность, и узнайте, как JavaScript работает в библиотеках и фреймворках.

Заключительные слова

Четкое представление о том, чего вы хотите достичь с помощью кода, может помочь проложить путь к желаемой цели.

Чем конкретнее ваши вопросы, тем легче получить желаемый результат. Развитие навыков задавать правильные вопросы поможет вам в долгосрочной перспективе, особенно когда вы застряли на фрагменте кода и вам нужна помощь из Интернета. Умение формулировать вопросы приведет к быстрому и правильному ответу.

Желаем удачи на пути к программированию. Я надеюсь, что вы нашли мои ответы на свой вопрос полезными.

Спасибо за чтение.