Осноы изучения языка программирования
В предыдущей статье «Как выбрать язык программирования для изучения» рассматривались пути и рекомендации по выбору языка программирования в зависимости от его сложности и профессиональной принадлежности. Поэтому можно считать, что язык программирования для дальнейшего изучения выбран. Теперь можно перейти к следующему этапу – как изучать язык программирования. Изучение языка программирования самостоятельно возможно, но на онлайн-курсах под руководством опытных специалистов это быстрее и эффективнее
Как изучать язык программирования, в какой последовательности учить и осваивать его? Это тоже не праздные вопросы и к ним тоже надо относиться со всей серьезностью. Первая заповедь — быстрой манны небесной в программировании не было, нет и не будет. Настраиваться надо на то, что изучение языка программирования это кропотливая работа с постоянно меняющимися условиями, технологиями и требованиями.
Для начинающих, конечно, изучение языка программирования надо начинать с простого, элементарного познания. При этом изучать надо один( а не несколько) любой, какой больше нравится или доступнее в данный момент времени язык программирования.
В языках программирования, как и в разговорных языках, много преемственности, зная один, легче понять и освоить другой, потому что они созданы на единой основе:
- наличие в языке программирования типизации данных, что означает определенную связку типов объектов и операций, которые можно выполнять над ними;
- программная(операторная) поддержка трех базовых алгоритмических структурах — линейной, ветвления и повторения;
- наличие определенной структуры программы на алгоритмическом языке — программа представляет собой совокупность взаимодействующих функций, модулей или объектов(компонентов).
Изучение языка программирования начинается с изучения типов данных. Изучать типы данных языка программирования надо глубоко и всесторонне с учетом размещения их в памяти компьютера и допустимых действий над ними.
Изучив типы данных, поддерживаемых языком программирования, необходимо перейти к изучению операторов(управляющих конструкций) языка. Затем необходимо освоить применение процедур и функций в изучаемом языке, а также возможности работы со сложными типами данных — структурами, классами(объектами) и т.д.
Краткий анализ некоторых подходов
Теперь посмотрим, как изучать язык программирования, чтобы достичь быстрого эффекта при минимальных затратах времени и энергии. Обратимся к профессионалам, что они говорят. В статье специалиста онлайн — университета Skillbox “Как правильно изучать программирование: метод Франклина” рекомендуетcя выполнять практические задания особым методом Франклина. Этот метод очень прост на практике. Фактически, он сводится к трем действиям.
- читать книгу как обычно. Когда попадется образец кода, прочитать его;
- закрыть книгу;
- попробовать набрать код;
- повторить пункты 1−3.
Да, если воспроизводить написанный в книге алгоритм, то будешь автокодировщиком. Я когда изучал свой первый язык программирования, то пользовался специальным сборником задач, в котором правильные ответы были в конце книге. Решив поставленную задачу, сверялся с ответом и работал над ошибками. Так изучать язык программирования очень эффективно.
Если таких сборников сейчас нет, то можно использовать и не очень хороший метод Франклина. Главная опасность здесь – выработка не своего собственного, чужого стереотипа мышления, повторяя то, что написано к книге. Что бы этого не происходило можно самому, прочитав теорию, ставить задачу, аналогичную примера в книге и решать ее своим способом.
В другой статье специалиста не менее солидной фирмы GeekBrains “5 заповедей правильного обучения программированию” среди, в общем то правильных рекомендаций, говорится о некоторой фокусировке: “Так как вы еще не мастер программирования, а может даже новичок в самообучении, то возможно не вполне представляете себе всю мощь фокусировки на текущих делах. Телефон, телевизор, открытые параллельно окна в браузере, да и просто верхняя панель закладок могут отвлекать вас от занятий и написания кода”.
Очень спорный тезис. Я когда — то был в г. Пущино, в крупнейшем биологическом центре Советского Союза, и наблюдал такую интересную картину. Начальник поставил задачу одному из математиков разработать какой — то алгоритм. После некоторых раздумий математик взял теннисную ракетку и стал играть в теннис. Периодически заходил в отдел и что-то записывал. Я у него потом спрашиваю, а как же задача, поставленная утром. Оказалось, что у этого гуру в математике выработалась привычка думать во время игры в теннис наиболее эффективно и результативно.
Поэтому не надо зарываться и прятаться в скорлупу. Надо жить обычной жизнью. Но “программировать нужно круглые сутки” без перенапряжения ума и без излишней фокусировки.
Еще одна интересная статья о методики изучения языков программирования “О подходах к изучению программирования”, в которой анализируются и сравниваются между собой методики «Снизу-Вверх» , когда процесс обучения проходит от основ программирования к практике создания готовых продуктов, и «Сверху-Вниз», когда обучение сопровождается созданием рабочих проектов с самого начала.
Однако вывод в статье делается правильный. Чтобы стать опытным программистом, Вам нужно совмещать оба этих подхода. Но я добавил бы с приоритетом и упреждением первого подхода, потому что изучать язык программирования «Снизу-Вверх» немного проще.
Таким образом, анализ статей и обзоров с рекомендациями как изучать язык программирования показывает, что в анализируемых рекомендациях обобщенно можно выделить три направления.
Направление первое сводится к тому, что сначала надо изучать(повторять) то, что уже известно и опубликовано, упор делая на простые скриптовые языки, такие, как Perl, JavaScript или РНР или простые алгоритмические языки, такие, как Visual Basic, Pascal, Python. А затем переходить к более сложным и более профессиональным языкам. То есть от простого к сложному.
Второе направление рекомендаций сводится к тому, что надо брать быка за рога и изучение языка программирования совместить с решением поставленной практической задачи. То есть начать с погружения в конкретную работу.
Третье направление рекомендует начинать с низкоуровневых языков, таких как Си. Аргументом этого подхода является то, что сначала надо научиться считать каждый байт, выработать привычку проверять границы массивов самостоятельно, освоить программное управление памятью и разобраться с указателями и адресной арифметикой. После этого любой скриптовый или простой алгоритмический язык познается легко и просто. И кроме того в этом случае после изучения языка уровнем ниже скрытые преимущества простых языков становятся более понятными. То есть путь от сложного к простому. К этому подходу всегда приходят профессионалы.
Надо сказать, что рекомендации всех подходов по-своему правы. Первый прав, потому что, изучая скриптовые или простые алгоритмические языки с автоматическим управлением памятью, скрывающие всю сложную работу с указателями глубоко в недрах среды разработки программы, действительно легче в освоении.
Конечно второй подход прав в том, что погружение в работу очень хорошо способствует развития индивидуальности в программировании. И кроме прочего изучение сопровождается с заработком.
А третий подход прав в том, что привычка к тому, что среда разработки программы всё делает за Вас приведет к тому, что освоить такие языки как C, C++ или Java будет намного сложнее, особенно, в процессе смены направления деятельности и парадигмы программирования.
Изучать язык программирования, самостоятельно определяя последовательность, можно, но это трудная и длительная процедура. Поэтому многие прибегают к курсам программирования. В этом случае такую последовательность задают в основном программы курсов программирования. Это облегчает изучение.
Среди множества предложений по изучению языков программирования можно выделить следующие курсы: онлайн-курсы широко известного образовательного портала GeekBrains.
курс Python-разработчик: быстрый старт в профессии;
курс Java-разработчик: быстрый старт в профессии;
курс Data Scientist: быстрый старт в профессии;
Курс «Тестировщик с нуля до Junior»
Аналогичные курсы обучения программированию можно найти в не менее известном онлайн университете востребованных профессий SkillBox.
Это, как правило, дорогие, но высокопрофессиональные курсы.
Курсы попроще и по дешевле: фирмы OTUS.RU, где представлен большой спектр обучающих программ, смотри каталог курсов фирмы OTUS.RU.
Кроме того, например, для начинающих программировать хорошо подойдет дистанционный курс Python разработчик.
Курсы программирования в Нетологии тоже представляют интерес. Здесь можно научиться писать код программы за две недели. Старт в программирование в Нетологии интересный вариант.
Курсы программирования с нуля в ЕШКО – это эффективное обучение по доступной цене. Здесь Вы познакомитесь с основными языками программирования, освоите принципы структурного и объектно-ориентированного программирования. Важно не только изучить основы языков программирования, таких как Pascal, C++, C#, Python, но и научиться мыслить, как программист.
Анализ программ существующих курсов программирования показал, что многие из них сильно ориентируются на какую-то специализацию. Хорошо или плохо это трудно сказать. Кроме того практически отсутствует корреляция программ обучения с требованиями профессионального стандарта 06.001 – Программист. На мой взгляд это не совсем корректно. Поэтому далее предлагается итерационный и инкрементный подход изучения языка программирования, управляемый профессиональными требованиями стандарта “Программист”.
Заключение
Изучение языка программирования это трудоемкое занятие, требующее настойчивости, силы воли и терпения. Не все получается сразу, но преодоление трудностей, как правило, вызывает удовлетворение.
Чтобы стать высококлассным специалистом в области программирования на современных алгоритмических языках, целесообразно изучение языка программирования начинать самостоятельно, потом пройти обучение на курсах, а затем, когда почувствуете необходимость в получении высшего образования, можно поступить в ВУЗ, а после ВУЗа, имея уже хорошую математическую подготовку снова на курсы, но уже более высокой квалификации.
При изучении языка программирования важнейшую роль играет первоначальное обучение, в течении которого закладываются не только основы программирования, но и формируется специфическое мышление программиста. Стать программистом это значить не только уметь кодировать алгоритмы решения поставленных задач, но и научиться мыслить специальным образом.
Таковы рекомендации как изучать язык программирования. Попробуйте и поделитесь опытом.
Связанные материалы
- Что такое виды и парадигмы программирования?
- Как стать программистом?
- Что выбирать язык или платформу программирования?
- Удаленная работа программистом и выбор языка программирования
- Дистанционный курс «Python-разработчик»
- Обучение программированию дистанционно в Ставрополе
- Методика изучения алгоритмов решения задач?
- Как изучать простые типы данных языка программирования?
- Как стать специалистом по большим данным?
Использование итерационного и инкрементного подхода, управляемого профессиональными требованиями, представлены в следующей серии статей на примере изучения нового языка программирования Crystal.
- Простые типы данных языка программирования Crystal
- Изучение управляющих конструкций языка программирования Crystal
- Процедурное программирование на языке Crystal
- Структурированные типы данных языка программирования Crystal
- Объектно-ориентированное программирование на языке Crystal