Научиться программировать. Урок 1

Описание

-Смогу ли я научиться программировать?

-Ответ да. Более того, способность к программированию у Вас уже есть.

-Как это?

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

Программа - это последовательность команд понятных исполнителю.

Исполнитель - это объект,  способный выполнять команды. Если исполнитель выполняет программу с одними и теми же данными, то должен получиться один и тот же результат.

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

Пользователь - это человек, который использует программу (программист так же может быть пользователем).

По мере того как мы растём и развиваемся, начинаем изъясняться словами. А не только криками, крехтением и плачем. Этот язык (со словами) становится более понятен. Исполнителями "словесного" языка уже становятся большее количество людей, а не только родители. Если вы выучили русский язык, то исполнителями могут быть русскоговорящие люди. В конечном итоге на русском языке очень сложно объяснить компьютеру что надо делать. Да что там компьютеру, человеку толком  объяснить порой тяжело. Даже если и скажет, что он понял, то может сделает это не так как ожидал "программист". С Вами такое бывало?

- Да бывало, даже очень часто. Попросишь друга сделай одно, а он делает это совсем по другому.

- Но всё же, даже язык программирования на русском языке был создан в середине 1980-х годах академиком А. П. Ершовым школьный алгоритмический язык для использования в качестве основы для «безмашинного» курса информатики. Т.е. программы на этом языке пригодны только если исполнитель человек. Основные приемущества этого языка такие:

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

2. Этот язык уже как можно близок для написания программ для компьютеров.

Далее в процессе жизни мы начинаем изучать различные языки, например, английский. Для чего мы это делаем?

- Для того чтобы общаться с другими людьми.

- Правильно! Но для того чтобы общаться с компьютерами на их языке существуют языки программирования. Такие как Python, Assembler, C++, 1С, Pascal и так далее. С каждым годом количество языков растёт.

- Зачем придумывают столько языков программирования?

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

Но за всё надо платить :) например, скоростью выполнения программы, затратами времени на компиляцию.

-А что такое компиляция?

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

Рассмотрим процесс создания программы на примере из жизни.

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

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

А как Вы думаете, что сделает подруга когда ей нужен будет счёт на оплату?  :)

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

Вот вам и термины.

Подруга выбирает блюда - процесс постановки задачи.

Мысли подруги о том как ей поесть в ресторане - составление математической модели и создания алгоритма.

Вы это интерпетатор - Переводите её алгоритм на язык программирования.

Официант компилятор - переводит с языка программирования на машинные коды, понятные команды процессору.

Повара - это уже компьютер, который и выполняет работу.

Время на приготовление - это ресурсы процессора.

А программа это последовательность команд (может даже и одна команда). Которые Вам позволят хорошенько наесться в ресторане. И назовем эту программу "Вкусный ресторан" .

Надеюсь я ответил на все ваши вопросы?

-Да.

-Тогда ждём Вас на сайте www.programishka.ru