Что такое программирование: доступное объяснение для абсолютных новичков

Для чего нужно программирование

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

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

Биоинформатика вносит свой вклад в программирование систем искусственного интеллекта (ИИ), которые распознают человеческую речь, понимают смысл слов, определяют объекты на фотографиях и видео и т.д. Из этих маленьких «кирпичиков» в будущем планируется создать «сильный» ИИ. Если он сможет самостоятельно эволюционировать, обучаясь на собранной информации, то бесконечное самообучение может привести человечество к технологической сингулярности, настоящему апогею компьютерного программирования. В этом случае созданная программа будет самосовершенствоваться настолько быстро, что станет недоступна нашему пониманию.

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

Программа обучения. Системный подход

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

Программа обучения «Профессия веб-разработчик» рассчитана на один год и включает в себя три модуля:

Веб-разработчик

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

JavaScript с нуля

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

Базовые навыки PHP

Курс, на котором вы познакомитесь с базовыми понятиями программирования и поймёте главные принципы. Научитесь писать чистый, структурированный, а самое главное — работающий код. Уже после первого курса сделаете свой первый сайт на PHP.

Самообучение

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


Raysonho, CC0 Public Domain

Самоучитель хорош тем, что быстро погружает в тему. Вы начнете кодить практически в тот день, когда открыли книжку. Но, как говорит преподаватель Джеймс Коппел из Массачусетского технологического института, есть одна проблема: эти книги ничему не учат. Главное там — длинные листинги кода, которые читатель должен воспроизвести.

Искать работу с первых шагов

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

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


Статистика распространенности языков по количеству вакансий на HeadHunter.

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

Выбираем формат обучения

«У офлайн-курсов есть один существенный плюс: если пришел в аудиторию, то хочешь не хочешь — нужно два часа учиться», — говорит Вадим Шандринов. Среди преимуществ такого формата — возможность слышать и видеть других учеников («Я не единственный, кто не сразу все понимает!»), слушать ответы преподавателя на вопросы. Недостаток — необходимость подстраивать свой график под расписание занятий (а кроме того, кому-то просто некомфортно осваивать новую сложную область в незнакомом коллективе).

«Онлайн более гибкий: материал можно смотреть в удобное время, общение организовано в чатах и форумах. Да, вы не сразу получите обратную связь, как было бы в аудитории. Но часто бывает так, что, задав вопрос вечером, студент к утру сам находит ответ. И для обучения это плюс», — считает Шандринов. Он отмечает, что онлайн-курсы предлагают разные варианты получения обучающего контента — предзапись, вебинары, чаты, обучающие системы, — и советует попробовать несколько вариантов, чтобы выбрать подходящий: многие школы предлагают бесплатные пробные занятия или возвращают деньги за неиспользованные уроки.

Про программистов: кто пишет код

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

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

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

Программисты не сидят в засаде с задней стороны экрана монитора, ожидая когда мы куда-нибудь кликнем или тапнем. Они заранее рассчитывают все наши возможные действия. И на все наши предполагаемые действия заранее пишут код (мнемокод). Заранее! Тогда, что бы мы не сделали на экране, с помощью мышки, клавиатуры, стилуса и прочих устройств ввода, – на каждое наше действие работают заранее написанные программы (заранее написанный код) программистов.

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

А почему не «кодисты», например, а «программисты»? Потому что понятие «программирование» появилось в математике намного раньше, чем появились компьютеры. Может даже, лет на 100-150 до появления наших привычных компьютерных устройств. Языки же человеческого общения развиваются медленно, порой, значительно отставая от технического прогресса, вот потому и «программисты». Но это уже совсем другая история…

Рекомендации для новичков

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

Не пренебрегайте доступными материалами, сервисами, опытом иных людей.

Колоссальный вклад в ваше обучение внесёт общение с опытным, практикующим программистом. Исследуйте строение компьютера.

Учите английский — большая часть обучающих программ на английском языке. Без знания английского языка программист не сможет прочесть или написать код.

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

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

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

Для чего мы это всё это пишем? Ну во-первых, чтобы у Вас в голове все еще раз уложилось. Во- вторых, чтобы эта статья стала побольше. Это поможет ей выйти в топ-10 по этому поисковому запросу 🙂

Определите, чем вы хотите заниматься

Все эти споры, какой язык круче, бессмысленны, потому что:

  1. У каждого языка есть свои преимущества и недостатки.
  2. Один язык не может быть хорош для всего.

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

  • Быстро создать сайт — PHP или Python.
  • Создать игру — C++ или C#.
  • Веб-систему для банка — Java, C# или C++.
  • Красивый интерфейс для сайта — HTML, CSS и JavaScript.
  • Приложение для Android — Java или Kotlin.
  • Приложение для iOS или Mac OS — Objective-C или Swift.

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

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

Выбор технологии не определяет успеха игры, сайта, приложения и чего угодно ещё.

А вот основные сильные и слабые стороны популярных языков:

Язык Преимущества Недостатки
С++ • Высокая производительность• Прямой доступ к памяти• Строгая типизация • Высокий порог входа• Низкая скорость разработки
C# • Строгая типизация• Сборка мусора• Кроссплатформенность• Большое количество синтаксического сахара • Ориентированность под Windows• Нет возможности создавать кроссплатформенное GUI
Python • Высокая скорость разработки• Возможность быстро выучить язык• Широкий спектр применения • Слабая типизация• Низкая производительность
JavaScript • Высокая скорость разработки• Возможность быстро выучить язык • Непредсказуемость• Слабая типизация
Java • Кроссплатформенность• Строгая типизация• Сборка мусора • Требуется много времени на запуск приложения• Большой объём повторяющегося кода
PHP • Большое сообщество• Быстрое развитие • Слабая типизация• Небезопасный код

Джоэл Спольски (CEO Stack Overflow) предпочитает C-подобные языки, но всё равно выбирает тот, который лучше справится с конкретной задачей.

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

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

  • низкого уровня (ассемблер) — работают напрямую с процессорными командами
  • высокого уровня (C++, C#, Java и др.) — больше похожи на обычный язык

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

  • Процедурные — определяют решение задачи шаг за шагом, вся система разбивается на ряд связанных между собой процедур.
  • Объектно-ориентированные — программа разрабатывается как совокупность взаимосвязанных объектов, каждый из которых может порождать множество конкретных реализаций. С точки зрения декомпозиции объекта разработки может быть удобнее;
  • Декларативные — представляют собой языки описания проблемы и ожидаемого результата.

Функции

Функция — это фрагмент кода, который что-то выполняет и имеет имя. Функции можно легко объявлять:

Объявление функции начинается с ключевого слова, затем ей даётся имя. заставляет значение «выпрыгивать» из функции. Затем функция завершается (если вы напишете код после return, то он не будет выполнен). Таким образом, вы можете сделать следующее:

Мы объявляем переменную с именем . Часть нашей команды вызывает функцию и так как функция говорит , выводится единица. Наша переменная будет содержать цифру 1. Теперь попробуйте ввести в браузере первый блок с функцией, затем блок с переменной, а затем ввести и нажать кнопку ввода. Вы увидите единицу.

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

Часть данных, которую мы добавляем в функции, называется аргументом. Объявление функции, которая может ожидать аргументы, выглядит так:

Оператор складывает аргументы и , а затем выдаёт результат.

В JavaScript также можно писать математические выражения как на калькуляторах:

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

Вы могли бы записать предыдущую функцию таким образом:

Эта функция делает всё то же, что и предыдущая, только в неё введена переменная в качестве посредника.

Как я сам узнал этот секрет

Дальше я рассказывал студентам секрет быстрого изучения программирования. Но как я сам узнал его?

Это было давно, когда я еще работал программистом в космической отрасли. У меня был приятель, который работал переводчиком. Мы иногда пересекались и обсуждали всякие IT-темы. Он был гуманитарий и слабо разбирался в компьютерах. Но он купил компьютер и у него было много вопросов.

Как-то во время очередной встречи он мне неожиданно сказал: «Я тут написал драйвер для джойстика!» Я поразился, написание драйверов — это весьма сложная задача. Как мог человек, который не знал программирования, написать драйвер?

А дело было так. Он купил джойстик, чтобы играть в компьютерные игры. Но в те времена была проблема драйверов. Не каждое устройство можно было запустить на компьютере, если не было соответствующего драйвера.

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

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

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

Шаг за шагом он добавил обработку всех команд и джойстик полностью заработал!

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

Когда я его спросил:

— Как же ты так во всем самостоятельно разобрался?

Он ответил:

— Играть очень хотелось!

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

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

Для решения проблем читабельности кода и чрезмерной сложности были разработаны высокоуровневые языки программирования. C, C++, Pascal, Java, JavaScript и Perl — это всё языки высокого уровня. Они позволяют писать и выполнять программы, не переживая о совместимости кода с разными архитектурами процессоров. Программы, написанные на языках высокого уровня, также должны быть переведены в машинный код перед выполнением. Есть два варианта:

   компиляция, которая выполняется компилятором;

   интерпретация, которая выполняется интерпретатором.

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

Проще говоря, процесс компиляции выглядит следующим образом:

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

Процесс интерпретации: 

Любой язык программирования может быть компилируемым или интерпретируемым, однако, такие языки, как C, C++ и Pascal — компилируются, в то время как «скриптовые» языки, такие, как Perl и JavaScript — интерпретируются. Некоторые языки программирования (например, Java) могут как компилироваться, так и интерпретироваться.

Java

Java — консервативный и надёжный язык. Не путайте её с JavaScript, у них похожи только названия, а на практике они во многом противоположны.

На Java пишут сложное ПО: промышленные и банковские системы, как раз всё то, что не пишут на JavaScript. Помимо этого, огромное количество десктопных приложений, приложений на Android и серверных программ написано именно на Java.

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

Плюсы Java

  • Понятный синтаксис.
  • Классическое ООП (объектно-ориентированное программирование).
  • Работает на всех операционных системах.
  • Можно писать ПО любой сложности, от маленьких утилит до огромных программных комплексов с миллионами строк кода.
  • Практически единственный язык для создания приложений под Android.

Спорные стороны

  • C одной стороны, написанный код легко поддерживать и развивать, но обратная сторона в том, что на Java сложно писать даже простые вещи. Например, чтобы прочитать файл по URL-ссылке, в PHP вам достаточно одной строчки кода, а в Java понадобится 5-10.
  • Java — строгий, консервативный и надёжный язык, в котором нет неявных конструкций, но с другой стороны, это значит, что код может получиться громоздким и многословным.

Это можно сравнить с юридическим документом, где всё-всё подробно прописано.

Зарплаты и востребованность

Java — популярный и сложный язык, поэтому для Java-разработчиков всегда достаточно вакансий, а зарплаты достаточно высокие. Например, средняя зарплата по Москве — 115 тысяч рублей. Даже новичок может рассчитывать на зарплату от 50 до 87 тысяч.

Кого называют программистом или IT-шником…

Того, кто увлекается созданием ПО и алгоритмов для достижения определённых целей. Непонятно? Всех тех, кто пишет код для разных задач. Например, правит код 1-С бухгалтерии для главбуха. Или пишет бэк-энд для сайта.

Кстати. Программисты и IT-шники не совсем одно и то же. Например, системный администратор, это тоже айтишник. Хотя программировать ему приходится гораздо реже.

А ещё разработчик программного обеспечения пишет коды для поддержки математического моделирования. Хотите спрогнозировать землетресение? Или атомный взрыв? Или прогноз погоды? Программист Вам поможет!

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

Хотите всегда побеждать в World of Tanks ? Или в Цивилизацию 6? Программист сможет всегда найти баги в игре и всегда будут победителем!

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

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

Короче, надо быть суперпрограммистом!

У программиста должны быть чистые руки, холодное..

  • стрессоустойчивость
  • внимательность
  • усидчивость
  • упорство
  • инициатива
  • ответственность
  • любопытство
  • коммуникабельность
  • креативность

Нужно ли профильное высшее образование? Да

Высшее техническое образование важно в большинстве случаев. Но не всегда

Это не является критичным фактором.

А что важно? Важно уметь взаимодействовать с другими людьми! Очень редко когда программист работает в одиночку, как это ни странно!

Уметь работать в команде, презентовать свои идеи, находить и использовать информацию, ценить своё и чужое время— не менее ценные качества.

Кстати, а Вы знаете, что робким и тормозам не место в программировании? Ведь если чего-то не знаешь, не нужно бояться. Нужно засучить рукава и постараться найти нужную информацию самому. Да, да. Самый лучший учитель по программированию. Это Гугл. Причем, чаще всего на английском языке!

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

По другому, фиг тебя возьмут в кампанию, если нет опыта. 🙂 Но где взять опыт, если ты нигде не работал?

Что делать, если никуда не берут? Попробуйте для начала поработать самостоятельно. Фрилансером. А потом сможете устроиться и в кампанию.

Программирование ближе к математике или к иностранному языку

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

Скорее второй, чем первый. У компьютерных языков тоже есть своя лексика и грамматика. Они более точные и логичные, чем любой человеческий язык. По сути мы можем сравнить изучение языка программирования с изучением английского, и это не будет прям грубым сравнением. Нужно выучить слова (функции), грамматику (логику и правила написания кода), устойчивые фразы (часто используемые фрагменты кода). Можно даже сказать, что русскоговорящему выучить Python или JavaScript, к примеру, проще, чем арабский или корейский язык. А может даже проще, чем любимый нами английский.

А что с математикой? Она тоже нужна. Условный математический склад ума значительно упростит вам работу с кодом. Умение мыслить категориями из технических наук пригодится не столько в изучении языка, сколько в его применении. Вам будет проще представить в голове, как реализовать задуманное.

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

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

Можно ли стать айтишником с нуля

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

Программирование — фундаментальный навык

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


Цитата из книги А.Г. Гайштута «Калькулятор — твой помощник и соперник в играх», 1988 год.

Если говорить серьезно, то программирование — фундаментальный навык по той простой причине, что оно заставляет мыслить абстрактно. В его основе лежат принципы анализа и синтеза, или композиции и декомпозиции — это одно и то же по своей сути. В английском языке существует понятие “computational thinking”, которое можно определить как совокупность умений мыслить абстрактно, критически и разделять задачу на небольшие части. Именно этому может научить программирование, по мнению экспертов.

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

Языки программирования и их история

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

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

Программировать работу компьютера в машинных кодах трудно, так как думать числами неестественно для человека. Мы привыкли думать словами. А что если сопоставить часто используемым группам чисел слова, а затем написать программу перевода слов в числа, понятные компьютеру. В таком случае программист сможет описать алгоритм словами, затем передать его специальной программе-переводчику — транслятору, который преобразует словесный алгоритм в машинный код, понятный компьютеру. И человеку хорошо и компьютеру понятно. От человека требовалось только создать этот самый транслятор. Первыми языками программирования, где использовались слова, были ассемблеры.

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

Мысль не стояла на месте. Начали появляться объектно-ориентированные, логические, функциональные и другие способы программирования. Так в объектно-ориентированном программировании основной идеей стала аналогия с реальным миром, где есть объекты, имеющие свойства, умеющие что-то делать сами и подвергающиеся изменениям извне. Решение поставленной задачи при этом происходит путем взаимодействия описанных объектов.

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

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

Adblock
detector