Для новичка в программировании выбор языка может оказаться чрезвычайно сложной задачей. Javascript, Python, C#, Java, PHP, и этот список можно продолжить. Выбор кажется безграничным и подавляющим, и определенно может стать препятствием для входа в отрасль.

Откуда вы знаете, с чего начать?

Когда мне задают этот вопрос, мой первый вопрос в ответ: каким типом программирования вы себя видите? Вы хотите программировать на Linux, Mac, Windows, в Интернете или на мобильных устройствах? Может быть, комбинация всех из них? Удивительно, но этот вопрос часто ставит в тупик многих молодых разработчиков, а другие сразу знают ответ. Следует отметить, что совершенно нормально не знать об этом на данный момент. Я задаю вопрос заранее, чтобы не учить вас быстрому или объективному C, когда вы не хотите разрабатывать на мобильных платформах.

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

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

Недостатком Python является то, что изначально может быть сложно настроить рабочую среду. Я использую Python 2 или 3? Что такое ПИП? У меня отсутствуют необходимые пакеты, где они, я скачал их с помощью PIP, но мое приложение все еще не может их найти? Отлично, теперь у меня десять разных рабочих сред и все они разные!

Ага, бывает…

Хорошо, как насчет чего-то более легкого для запуска? Как насчет старого доброго HTML? Ведь именно так я и начинал. Я изучил HTML, затем я изучил CSS, чтобы сделать его красивым, затем я перешел на PHP, чтобы действительно заставить его что-то делать. Прежде чем я узнал об этом, я добавил MySQL в свой стек, чтобы я мог сохранять важные вещи.

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

На мой взгляд, это один из лучших маршрутов, если вы интересуетесь веб-программированием. К сожалению, PHP не доминирует в корпоративном стеке. Некоторые могут утверждать обратное, но цифры не лгут. Большинство корпоративных американских компаний полагаются на Windows, что означает, что в этих средах доминируют такие языки, как C#, F# или даже Visual Basic.

К счастью, HTML, CSS и Javascript используются почти повсеместно. Javascript определенно вышел на передний план в последние годы благодаря помощи Node.js, React и Angular. Разработчикам больше не нужно знать C#, F#, VB или PHP, чтобы быть ценным активом для компании. Некоторым компаниям достаточно знать Javascript.

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

В конечном счете, это решение вам нужно принять самостоятельно. Изучите различные языки, выберите тот, который вам интересен, и начните с написания простого приложения hello world или приложения todo. Сначала будет больно, это единственное, что я могу тебе обещать. Вы будете проводить много времени в Google и StackOverflow, и это прекрасно! Даже опытные разработчики, хотя мы не всегда хотим это признавать, тратят много времени на StackOverflow и Google. Да кто вообще помнит весь этот синтаксис!

Я рекомендую HTML и CSS наряду с Javascript как хорошую отправную точку для большинства новых разработчиков. Javascript сможет научить вас логике, потоку и другим важным элементам программирования, и, как только вы освоитесь, он, вероятно, станет самой простой отправной точкой для новых разработчиков. Благодаря изменениям на рынке сейчас на рынке много вакансий по Javascript.

Python — моя вторая альтернатива Javascript. Его легко освоить, он имеет большую поддержку, заставляет вас развивать хорошие привычки и хорошо переводится на другие языки. Независимо от того, какой язык вы выберете, как только вы освоитесь с ним, начните изучать фреймворки, которые поставляются вместе с языком. Для Javascript это означает изучение React или Angular, а для Python TKInter или Django — хорошие отправные точки.

Главное, занимайтесь тем, что вам нравится! Если это не весело, это будет сложно делать каждый день до конца вашей жизни! :)