В самом начале пути, когда вы все еще имеете абстрактные представления насчет того, кто такой программист и чем он занимается, довольно трудно определиться, с чего бы начать этот интереснейший путь творца.
Надеюсь, после прочтения этой статьи, вы найдете свой путь, ведь именно в этом мы с вами сейчас и разберемся!
Во-первых, необходимо определиться с тем, чего вы больше всего хотите добиться – создать собственный сайт, написать игру или же разработать базу данных для учета личных финансов. Определиться с целью – первый этап на пути к большому делу. Нацелившись на что-то конкретное, вам будет значительно комфортнее оседлать лошадку знаний. Ведь мир программирования – понятие весьма растяжимое, поэтому следует стараться познавать этот мир, оставаясь на своей волне. В дальнейшем, если вам это будет необходимо, вы сможете без труда перейти и к другим сферам деятельности, ибо сфера, с которой вы начали прокладывать свой путь, непременно отразится на всем вашем жизненном пути.
Если ваша мечта – создать собственный сайт, то стоит ознакомиться с веб-программированием. А если вам не так нравится программирование, как, скажем, моделирование 3D-объектов , то уроки по этому направлению всегда к вашим услугам. В наше время в свободном доступе разгуливает миллионы терабайт полезной информации, уроков и даже целые курсы из различных университетов со всего мира. А ведь еще совсем недавно, чтобы быть на вершине эволюции, нам в обязательном порядке необходимо было учиться в высших учебных заведениях, где ценные знания только там и были. А теперь идем дальше…
Стоит отметить, что знание таких наук, как математика , физика и английский язык, не обязательны, и это вы очень быстро поймете, как только начнете писать свою первую программу. Конечно, если вы планируете работать над большими проектами, вроде GTAV , Cinema4D или Google.Maps , то такие науки лучше бы знать. Правда, здесь вам больше поможет опыт, который в быстрые сроки сформирует в вашем сознании огромное количество знаний точных наук. Однако не стану скрывать, существуют некоторые сферы деятельности, как, например, нейронные сети, в которых без предварительных знаний математики просто не обойтись. Но только не веб, игры, программы, дизайн и прочее в этом духе. По крайней мере, на первых парах об этом можно вообще не заморачиваться.
Кстати, многие думают, что нужно учить языки программирования, начиная с самого первого появившегося языка и заканчивая последним. То есть построение алгоритмов, устаревшие языки, как Pascal, Delphi и прочие. Но это необязательно. Хотя может и пригодиться, если вы будете упорно их изучать, натачивая логические знания, которые можно будет потом использовать при построении кода на современных, более доступных простому пользователю языках. Но начинать все-таки нужно с языка, который большего всего относится именно к вашей любимой сфере, потому что это поможет вам быстро освоиться и начать зарабатывать на этом деле реальные деньги. А доскональное изучение основ может попросту вас напугать. К тому же, когда вы будете хоть немного владеть кодом, теория быстро станет понятной и доступной, чем наоборот.
Первым моим языком был сам «C++» . До этого же я ничего не знал, и, поверьте моему опыту, со временем все стало на свои места. Позже я поступил в университет. Там мы учили все с самых основ, но смысла в этом я особо не видел.
Теперь давайте разберем каждую сферу по отдельности. И начнем мы с веб-программирования…
Веб программирование
Данная сфера деятельности является одной из самых простых и доступных. Буквально двух месяцев обучения по несколько часов в день вполне достаточно, чтобы превратиться из совершенного новичка в профи веб-ремесла. Да и зарабатывать на этом деле особого труда не составляет, так как фриланса в этом направлении моря и горы.
Чтобы стать веб-программистом, необходимо знать такие языки программирования и разметки, как HTML , CSS , JavaScript (а вместе с ним и библиотеки jQuery , AngularJS и многие другие). Кроме того, необходимо уметь писать функционал сайта, который можно написать на языке PHP . Необходимо также уметь работать с базами данных и языком SQL. Для связи сайт – база данных можете изучить MySQL . И последнее, что прибавит вам пару очков навыка, это Ajax . Он позволяет делать некоторые изменения на сайте, к примеру, отправлять данные в базу данных без перезагрузки самого сайта.
Да, изучить придется много нового. Но это всего лишь базовые знания, без которых в этом ремесле просто не обойтись. Поэтому, если вас привлекает эта сфера деятельности, поднимите свой взгляд немного выше и начинайте изучать все перечисленное.
Самостоятельная разработка игр
Данная область знаний является одной из самых сложных, невероятно интересных, труднодосягаемых и космически азартных сфер деятельности. Начав однажды, потом будет сложно остановиться. Тут и сложно и интересно одновременно, так что сложность со временем компенсируется интересом. Однако если вы создаете игру на уже готовых движках, то сложностей на горизонте никаких не видать. А экспериментировать с тем, что вы создаете, так это вообще отдельная тема.
Важно понимать, что игры можно делать как при помощи различных движков, так и самому. Разница в том, что самостоятельная разработка необходимого инструментария для создания будущей игры требует огромного запаса терпения, так как это действительно очень сложное занятие.
К примеру, для разработки игры на Android вам потребуется знать язык Java и специальные библиотеки, служащие для создания игр на Android в Android Studio.
Для создания игр на ПК или консоль вам однозначно потребуется язык C++ и всевозможные библиотеки, которые и помогут вам создать игру. Для разработки на IOS потребуется язык Objective С или Swift , а также понадобится программа XCode .
Разработка игр при помощи движков
Если вы решили заняться разработкой игр при помощи движков, то вы на верном пути. Большинство игр в наше время создаются при помощи всевозможных игровых движков, из которых можно отметить таких гигантов как Unity , Cry Engine , Unreal Engine , Frostbite Engine , Dunia Engine , Source и так далее.
Unity – игровой движок, позволяющий разрабатывать игры любой сложности, графики и логической составляющей под любую из популярных платформ. Чтобы владеть им, необходимо знать один из двух языков – C# или JavaScript . Рекомендуется разрабатывать на Unity именно мобильные игры, ибо иные приложения будут не столь мощными, как хотелось бы.
CryEngine, Unreal Engine, Frostbite Engine, Dunia Engine, Source – все эти и подобные им языки предназначены для построения мощных современных компьютерных и консольных игр. Для написания кода на них используется язык программирования C++ . Если вы хотите создать игру похожую на CrySis 3, то именно подобные движки вам в этом и помогут.
Разработка приложений
Разработка приложений ведется в основном на языке C и ему подобных, то есть C++ , C# , Java . Поэтому для написания приложений вам необходимо изучить C, а также более новый C-подобный язык, к примеру, C++ .
Дизайнер
В дизайне необходимо уметь хорошо рисовать в Фотошопе и в программах 3D-моделирования, вроде Cinema 4D. Двух недель обучения вполне достаточно, остальное сделает опыт.
На этом все. Я попытался рассказать обо всех тонкостях каждой сферы программирования и рассказать, какие именно области знаний вам потребуется, чтобы овладеть ими. Сложные темы, вроде ИИ (Искусственный Интеллект ) я обошел стороной, так как подобные области знаний не для новичков, для которых была рассчитана эта статья.