Шрифт:
Надеюсь, мои советы окажутся полезными и помогут вам получать и развивать необходимые умения. По-моему, польза обучения на практике очевидна, особенно в области технических навыков.
Я также надеюсь, что вы осознаете необходимость наличия плана обучения и его четкой цели.
Скажу напоследок лишь одно: практикуйтесь.
Оттачивание любых технических навыков требует времени. Чтобы в чем-то преуспеть, придется много тренироваться. Не расстраивайтесь, если вам кажется, что обучение займет обескураживающе большое количество времени, особенно в ситуациях, когда вы застопорились. Навыки придут, если у вас есть план и четкая цель. Продолжайте в том же духе и просто доверьтесь процессу.
Глава 5. Как выбрать язык программирования
Самый популярный вопрос, который задают мне совсем-совсем новички: «Какой язык программирования выбрать?» Для некоторых это становится камнем преткновения, который им так и не удается преодолеть.
В своей преподавательской практике я встречал множество разработчиков, которые были не уверены в себе и постоянно меняли свой выбор, прыгая от одного языка программирования к другому из-за боязни принять неправильное решение. Если вы узнали в этом описании себя, то эта глава для вас.
В ней я сначала развею часть ваших сомнений, а затем поделюсь парой идей по выбору первого языка программирования, основанных на практике.
Выбор языка практически ни на что не влияет
Да-да, вы все правильно прочитали. Как ни странно, но не имеет особого значения, какой язык программирования вы выберете. Есть несколько причин, почему я так считаю, и одна из них – многие языки программирования по своей сути очень похожи. Да, синтаксис может разниться. Да, языки программирования могут выглядеть по-разному. У них даже могут быть совершенно разные наборы конструктивных особенностей. Но фактически у всех языков программирования между собой куда больше общего, чем вы могли бы подумать.
Практически в каждом из них присутствуют конструкции ветвления, циклы, возможность создания методов или процедур, а также способы организации кода на высоком уровне абстракции. Существует огромное количество языков программирования, которые настолько похожи, что если вы знаете один их них, то почти знаете и другой. Примерами такого рода являются C# и Java. JavaScript схож с каждым из них.
Самое сложное – выучить первый язык программирования. Как только вы это сделаете, освоить другой язык будет гораздо проще. После изучения двух или более языков программирования каждый последующий будет даваться вам все проще и проще. Если сейчас вы не знаете ни одного языка, мое утверждение может показаться вам легковесным, однако доверьтесь моему опыту. Как я уже говорил, многие языки программирования похожи, и поэтому вам будет не очень сложно переключаться между ними. То есть даже если вы выучите язык программирования, а затем решите, что это не то, что вам нужно, или получите работу, на которой требуется использовать другой язык программирования, это не будет иметь большого значения. Самое трудное – тяжелая работа по изучению первого языка – уже позади.
Если вы посмотрите на вакансии таких крупных компаний, как Microsoft или Google, то увидите, что большинство из них не содержит требований к языку программирования. У меня была масса собеседований, на которых меня просили решить задачу по программированию на любом удобном мне языке. Никаких ограничений, никакого конкретного языка программирования, который я должен был бы знать.
Что следует учесть при выборе языка программирования?
Как уже было сказано выше, я не думаю, что это принципиально важно. Однако если вы все равно ощущаете неуверенность, вот вам несколько советов.
Карьерные перспективы
Скажу так – для большинства из вас наиболее важным аспектом является то, какую работу вам поможет получить тот или иной язык программирования и каковы его перспективы. На данный момент по каждому из популярных языков программирования можно найти массу вакансий. Рейтинг того или иного языка может со временем измениться в любую сторону, но, если вас беспокоит наличие вакансий, рекомендую сделать выбор в пользу наиболее популярных языков программирования. На момент написания данной книги такими технологиями являются следующие:
• C#
• Java
• Python
• Ruby
• JavaScript
• C++
• PHP
Вакансии для разработчиков на этих языках есть всегда.
Однако, выбирая язык, следует учитывать особенности рынка труда той страны, где вы живете, особенно если вы не планируете переезжать.
Например, если вы живете в небольшом городке в Арканзасе, в котором есть только одна технологическая компания, делающая все на Java, я бы посоветовал вам начать учить именно этот язык. Конечно, далеко не каждый из вас столкнется с подобной ситуацией. Но если кто-то из моих читателей все-таки в ней окажется, то выбор будет невелик.
Если же вы планируете переезжать или работать на фрилансе, можете попробовать освоить более эксцентричный и менее популярный язык. Так у вас будет больше шансов стать экспертом в области, где не так много профи. Но для начала я все же порекомендовал бы вам обратиться к чему-то более популярному.
Наряду с популярностью языка следует учитывать и его перспективы.
На момент написания этой книги язык Objective-C вряд ли можно назвать подходящим вариантом, так как сейчас большинство разработчиков под iOS переходят на язык Swift. Кроме того, сама Apple вкладывает большие средства в развитие этого языка.