Просмотров-1549
0

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

Изучение языка программирования требует системного подхода

Осноы изучения языка программирования

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

Как изучать язык программирования, в какой последовательности учить и осваивать его? Это тоже не праздные вопросы и к ним тоже надо относиться со всей серьезностью. Первая заповедь — быстрой манны небесной в программировании не было, нет и не будет. Настраиваться надо на то, что изучение языка программирования это кропотливая работа с постоянно меняющимися условиями, технологиями и требованиями.

Для начинающих, конечно, изучение языка программирования надо начинать с простого, элементарного познания. При этом изучать надо один( а не несколько) любой, какой больше нравится или доступнее в данный момент времени язык программирования.

В языках программирования, как и в разговорных языках, много преемственности, зная один, легче понять и освоить другой, потому что они созданы на единой основе:

  • наличие в языке программирования типизации данных, что означает определенную связку типов объектов и операций, которые можно выполнять над ними;
  • программная(операторная) поддержка трех базовых алгоритмических структурах — линейной, ветвления и повторения;
  • наличие определенной структуры программы на алгоритмическом языке — программа представляет собой совокупность взаимодействующих функций, модулей или объектов(компонентов).

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

Изучив типы данных, поддерживаемых языком программирования, необходимо перейти к изучению операторов(управляющих конструкций) языка. В любом современном языке программирования каждой базовой алгоритмической структуре соответствует ее программная реализация(оператор).

Линейная алгоритмическая структура программно реализуется оператором присваивания, структура ветвления — условным оператором, а структура повторения — оператором цикла. С их программной реализации продолжается изучение языка программирования. Их надо знать хорошо.

Изучение языка программирования/ Базовые алгоритмические структуры

В соответствие со структурным подходом элементарная программа состоит из совокупности взаимодействующих программных реализаций базовых алгоритмических структур, объединенных в процедуры и функции.

Но это на элементарном уровне. А дальше начинаются различия в структурах данных, в возможностях реализации. Если сравнить с авиацией, то для одного только Бочка достижима, для другого и Боевой разворот возможен, а для третьего и Колокол или Кобра Пугачева под силу. Одним словом возможности реализации одних и тех же замыслов в различных языках программирования могут быть различными. Поэтому возникает необходимость сравнивать различные языки, а для этого надо их знать.

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

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

Чтобы научиться создавать программы вычисления площади треугольника по формуле Герона, достаточно школьного образования, а если требуется выполнить кластерный анализ случайного набора данных, то надо иметь соответствующую математическую подготовку, скорее всего высшее образование.

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

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

Краткий анализ некоторых подходов

Теперь посмотрим, как изучать язык программирования, чтобы достичь быстрого эффекта при минимальных затратах времени и энергии. Обратимся к профессионалам, что они говорят. В статье специалиста онлайн — университета 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 – Программист. На мой взгляд это не совсем корректно. Поэтому далее предлагается итерационный и инкрементный подход изучения языка программирования, управляемый профессиональными требованиями стандарта “Программист”.

Заключение

Изучение языка программирования это трудоемкое занятие, требующее настойчивости, силы воли и терпения. Не все получается сразу, но преодоление трудностей, как правило, вызывает удовлетворение.

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

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

Таковы рекомендации как изучать язык программирования. Попробуйте и поделитесь опытом.

Связанные материалы

  1. Что такое виды и парадигмы программирования?
  2. Как стать программистом?
  3. Что выбирать язык или платформу программирования?
  4. Удаленная работа программистом и выбор языка программирования
  5. Дистанционный курс «Python-разработчик»
  6. Обучение программированию дистанционно в Ставрополе
  7. Методика изучения алгоритмов решения задач?
  8. Как изучать простые типы данных языка программирования?
  9. Как стать специалистом по большим данным?

Использование итерационного и инкрементного подхода, управляемого профессиональными требованиями, представлены в следующей серии статей на примере изучения нового языка программирования Crystal.

Внимание! Кто хочет своевременно узнавать о выходе новой статьи на сайте должен подписаться.

ПОДПИСКА НА РАССЫЛКУ

Статьи об онлайн курсах обучения

Дистанционное обучение
Обучение программированию
Проектирование информационных систем
 
Реклама. Информация о рекламодателе по ссылкам в статье.

brasm

Пенсионер с 33 - летним педагогическим стажем

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *