Как учить языки программирования

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

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

Желательно знать еще и функции API, ну хотя бы основные. Все знать будет невозможно, потому что их очень много. Да и не имеет смысла, ведь есть интернет, где можно все посмотреть. 

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

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

Из последних примеров - для изучения Objective-C я начал писать небольшую игру 1st World Wide Wall. Когда я только начал писать эту игру, то я вообще не знал язык программирования Objective-C, а с OpenGL не работал лет 8. Но я взялся за написание игрушки, одновременно учил Objective-C и вспоминал OpenGL. 

Изучение и одновременная практика очень сильно помогают усваивать любой материал, потому что вы на реальном примере видете, как в к работает. Вы изучаете и пробуете одновременно, закрепляя все хорошей практикой. И чем лучше и интереснее для вас практика, тем лучше будет запоминаться. Ну а если пример не просто Hallo World, а что-то, что интересно вам, то и продвигаться в разгрызании гранита науки будете на много быстрее. 

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

Очень рекомендую писать в е самостоятельно на первых порах. Даже если вы нашли хороший и нужный компонент, не стоит останавливаться и использовать его, особенно, если он простой. Попробуйте сами реализовать подобное. Только не банальным Copy/Paste, а ручным набором каждого символа. Пусть даже вы будете переписывать чужой код один к одному, как при списывании реферата из книги, но вы будете так лучше понимать, что происходит и как чужой код работает.

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

Старайтесь меньше использовать подсказки редактора кода, и пишите все функции и методы сами польностю. Тут та де самая песня, через некоторое время вы сможете писать код даже в текстовом редакторе. 

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

Никогда не учите больше одного языка одновременно. Не стоит этого делать, иначе в голове будет только каша. Не советую и использовать больше двух языков. Не смотря на то, что я работал с разными языками и изучал их для общего развития, я все же всегда концентрировался только на двух и не более. Сейчас для меня это C# и PHP. Есть еще Objective-C, который я использую в свободное время для своих так сказать развлечений. 

В принципе, можно расшвырять свои яйца по всей ИТ отрасли и писать на 10 различных языках одновременно, но тогда ведь вы не сможете знать ни один из них на отлично. В лучшем случае сможете себе поставить "хорошо". 

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

Лично я читаю книги сразу двух авторов одновременно, когда начинаю что-то изучать. Тут есть один небольшой трюк - есть такая хорошая пословиться: "повторенье - мать учения". Читая по одной главе в одной книге, а потом другую главу в другой книге, получается, что одну и ту же тему приходится читать дважды и в этом как раз и проявляется пословица в полной мере. Причем, когда читаешь повторение от другого автора, то можно увидеть другую точку зрения. Каждый автор пишет по своему и даже самый лучший автор может описать какую-то тему слишком сложно, а самый плохой вдруг отлично расписать сложный материал. 

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



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

Комментарии

Паника, что-то случилось!!! Ничего не найдено в комментариях. Срочно нужно что-то добавить, чтобы это место не оставалось пустым.

Добавить Комментарий

О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

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

Пишите мне