Программирование глазами новичка

Шо такое ето ваше погромирование?

Таких не существует в природе:)
Таких не существует в природе:)

В нынешнем мире достаточно популярным среди подрастающего поколения стало программирование. Те, кто ещё не знает, поясню.

Программи́рование — процесс создания компьютерных программ.

Данная сфера деятельность ежечасно/ежеминутно/ежесекундно приносит профессионалам своего дела достаточно солидные суммы, которых хватает не только на поддержание естественной деятельности человеческого организма, но и на "предметы роскоши". Однако, все профессионалы когда-то были такими же "зелёными" в данной сфере и ничего не знали. Каким же образом они получали необходимые им информацию и опыт?

Школа

Если верить свободной энциклопедии, то такой школьный предмет, как информатика, появился в СССР в 1985 году, тогда же вышел первый учебник А. П. Ершова «Основы информатики и вычислительной техники» (в двух частях, ссылки на обе части см. в конце статьи)

Так выглядел первый учебник для обучения основам информатики в СССР, согласно информации в свободной энциклопедии
Так выглядел первый учебник для обучения основам информатики в СССР, согласно информации в свободной энциклопедии

Несмотря на то, что в то время не было ПК, школьников того времени обучали:

- элементам математической логики;

- основным возможностям ЭВМ и варианты их применения;

- архитектуре и компонентам ЭВМ;

- основам алгоритмизации, построению блок-схем;

- основам программирования и написания программ.

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

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

Современные реалии

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

1) Не стоит вызубривать документацию конкретного API или ЯП (языка программирования) изначально

2) Всегда разбивайте задачи на более мелкие

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

Теория

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

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

Не следует начинать с книг, которые посвящены какому-либо конкретному языку программирования - это привяжет вас к определённой идеологии, диктуемой создателем (создателями) языка. Следует начать с книг, посвящённых алгоритмам и структурам данных (к примеру, книга Никлауса Вирта, одного из известнейших теоретиков в области разработки языков программирования, так и называется - "АЛГОРИТМЫ + СТРУКТУРЫ ДАННЫХ = ПРОГРАММЫ", ссылка на которую также будет в конце статьи).

Практика

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

Для практических занятий рекомендуется выполнение каких-либо задач с постепенно повышаемой сложностью решения. Не следует брать объёмные и сложные задания, которые смогут затронуть все знания, полученные в ходе изучения теоретического материала. К решению таких задач следует подходить, выполняя задачи более локального характера (к примеру, во многих книгах, содержащих теорию, после глав находится раздел с контрольными вопросами, либо полноценными тестовыми заданиями, которые позволят обучающемуся проверить "усваиваемость" материала).

Выбор языка программирования

По субъективному мнению большинства новичков, лучшими языками программирования считаются Pascal, C#, Python, Delphi, Java, Ruby

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

Если же есть большое желание начать с конкретного языка программирования, то я всегда буду советовать С++ (ссылка на книгу, которой руководствуется автор статьи, будет приведена в конце). Данный язык позволяет в полной мере попробовать себя в решении задач различной направленности (будь то системная разработка или прикладная). Вдобавок язык обладает вполне интуитивно понятным англоязычным синтаксисом. Язык не нужно "зубрить". Язык нужно понимать. К примеру, в языке С++ существуют следующие ключевые слова:

int - сокращенное от integer (в переводе с англ. - целочисленный) - знаменует собой, что переменная данного типа содержит в себе целое число без дробной части (к примеру, 1, 2, 3, а также -1, -2, -3 и т. д.)

char - сокращенное от character (в переводе с англ. - символ) - знаменует собой, что переменная данного типа содержит в себе какой-либо символ (будь то буква, специальный символ или цифра, к примеру, a, b, c, а, б, в, $, !, 1, и т. д.)

const - сокращенное от constant (в переводе с англ. - постоянный) - знаменует собой, что переменная содержит неизменное значение.

Для примера объявим переменную целочисленного типа:

int x = 0;

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

Ресурсы для практики в сети находятся в неисчерпаемом количестве, необходимо лишь верно задавать вопросы поисковому движку:)

Заключение

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

Ресурсы, которые были упомянуты в статье:

"Основы информатики и вычислительной техники" А. П. Ершов

Часть 1: http://cip.iis.nsk.su/files/course/oivt1p.pdf

Часть 2: http://cip.iis.nsk.su/files/course/oivt2p_ves.pdf

"АЛГОРИТМЫ + СТРУКТУРЫ ДАННЫХ = ПРОГРАММЫ" Никлаус Вирт

http://snilit.tspu.ru/uploads/files/default/virt.pdf

"C++. Экспресс курс" В. В. Лаптев

https://www.litres.ru/valeriy-laptev/c-ekspress-kurs/

Шаги которые совершал автор статьи:

У каждого свой путь к своей цели;)