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

Программирование

Словарь терминов интернет магазина; определение, значение

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

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

В более широком смысле под программированием понимают весь спектр деятельности, связанный с созданием и поддержанием в рабочем состоянии программ — программного обеспечения ЭВМ. Иначе это называется «программная инженерия» («инженерия ПО»). Сюда входят анализ и постановка задачи, проектирование программы, построение алгоритмов, разработка структур данных, написание текстов программ, отладка и тестирование программы (испытания программы), документирование, настройка (конфигурирование), доработка и сопровождение.

Как устроен процесс разработки? ДЛЯ НОВИЧКОВ / Про IT / Geekbrains

Программирование для ЭВМ основывается на использовании языков программирования, на которых записывается программа. Чтобы программа могла быть понята и исполнена ЭВМ, требуется специальный инструмент — транслятор.

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

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

Стадии программирования

Программирование в широком смысле можно разбить на несколько стадий:

  • Анализ
  • Проектирование — разработка комплекса алгоритмов
  • Кодирование и компиляцию — написание исходного текста программы и преобразование его в исполнимый код с помощью компилятора
  • Тестирование и отладку — выявление и устранение ошибок в программах,
  • Испытания и сдачу программ
  • Сопровождение

Первое программируемое вычислительное устройство, Аналитическую машину, разработал Чарлз Бэббидж (но не смог её построить). 19 июля 1843 года графиня Ада Августа Лавлейс, дочь великого английского поэта Джорджа Байрона, как принято считать, написала первую в истории человечества программу для Аналитической машины.

Эта программа решала уравнение Бернулли, выражающее закон сохранения энергии движущейся жидкости. В своей первой и единственной научной работе Ада Лавлейс рассмотрела большое число вопросов. Ряд высказанных ею общих положений (принцип экономии рабочих ячеек памяти, связь рекуррентных формул с циклическими процессами вычислений) сохранили свое принципиальное значение и для современного программирования. В материалах Бэббиджа и комментариях Лавлейс намечены такие понятия, как подпрограмма и библиотека подпрограмм, модификация команд и индексный регистр, которые стали употребляться только в 1950-х годах. Однако ни одна из программ написанных Адой Лавлейс никогда так и не была запущена.

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

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

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

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

В некоторых языках вместо машинного кода генерируется интерпретируемый двоичный код «виртуальной машины», также называемый байт-кодом (byte-code). Такой подход применяется в Forth, некоторых реализациях Lisp, Java, Perl, Python, языках для .NET Framework.

Литература

  • Дейкстра Э. Дисциплина программирования = A discipline of programming. — 1-е изд. — М.: Мир, 1978. — 275 с.
  • Бьярне Страуструп. Программирование: принципы и практика использования C++, исправленное издание = Programming: Principles and Practice Using C++. — М.: Вильямс, 2011. — С. 1248. — ISBN 978-5-8459-1705-8
  • Александр Степанов, Пол Мак-Джонс. Начала программирования = Elements of Programming. — М.: Вильямс, 2011. — С. 272. — ISBN 978-5-8459-1708-9
  • Роберт У. Себеста. Основные концепции языков программирования / Пер. с англ. — 5-е изд. — М.: Вильямс, 2001. — 672 с. — ISBN 5-8459-0192-8 (рус.) ISBN 0-201-75295-6 (англ.)
  • Иан Соммервилл. Инженерия программного обеспечения / Пер. с англ. — 6-е издание. — М.: Вильямс, 2002. — 624 с.
  • Иан Грэхем. Объектно-ориентированные методы. Принципы и практика / Пер. с англ. — 3-е изд. — М.: Вильямс, 2004. — 880 с.

Источник: diakonov.com

Лекция 7. Системы и технологии программирования. Языки программирования высокого уровня

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

Читайте также:
Ссылка на программу или документ

1. Процесс создания компьютерной программы

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

  1. Постановка задачи. Результат этапа чаще всего выражается в подготовке технического задания или разработке проекта, в рамках которого формулируется задача.
  2. Построение модели. Существование модели упрощает процесс построения алгоритма, необходимого для решения сложных задачи.
  3. Построение алгоритма как последовательности процедур, направленных на решения задачи и соединенных между собой логическими связями.
  4. Разработка программы с целью подключения компьютера к решению поставленной задачи. Результатом этапа является представление алгоритма на языке программирования (создание текста программы).
  5. Трансляция программы или перевод разработанного текста на машинный язык с помощью специальной программы-транслятора.
  6. Запуск и отладка программы с целью выявления и устранения ошибок, допущенных на предыдущих этапах.
  7. Передача программы заказчику заканчивается установкой созданной программы на аппаратные средства и обучением специалистов.

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

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

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

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

Машинно-независимые(языки высокого уровня)Машинные (набор команд конкретного процессора) Машинно-ориентированные (автокоды, ассемблеры) Машинно-зависимыеПроцедурно-ориентированныеФортран, Кобол, Бейсик, Паскаль, СиПроблемно-ориентированные (узкоспециали-зированные)Объектно-ориентированныеJava, Си++,Скрипт-языки (Интернет)html,php,xmlТРАНСЛЯТОРЫ Рис. 7.2. Классификация языков программирования Классификацияпо уровнюхарактеризует степень близости языка программирования и машинного языка. При этом за начало отсчета принимается близкий к двоичному коду машинный язык, уровень которого равен нулю, язык человека рассматривается как язык наивысшего уровня. На основе уровневой классификации большинство современных языков попадает в категорию языков высокого уровня или машинно-независимых языков. Языки высокого уровня отличаются универсальностью по отношению к аппаратной части и возможностью автоматического перевода программного текста в машинный код с помощью программы-компилятора. Классификация по группам отражает деление языков программирования на основе уровня, специфики, сложности решаемой задачи. Каждая группа содержит перечень языков, объединенных некоторыми признаками. В классификации по группам выделяются следующие категории языков программирования.

  1. Процедурно-ориентированные языкивысокого уровня включают компилируемые языки различных областей применения, наиболее отдаленные от машинного кода, например:
  • Fortran – первый компилируемый язык, созданный в конце 50-х годов;
  • Cobol – язык начала 60-х годов для решения задач в экономике;
  • Basic – универсальный удобный для обучения язык 60-х;
  • Pascal – разработан в 70-х годах, один из наиболее известных языков общего назначения.
  1. Объектно-ориентированные языки программированияоснованы на упрощенном идеализированном понимании предметов, модели которых представляются в форме объекта – экземпляра, при этом однотипные объекты объединяются в классы или типы. Объектно-ориентированное программирование (ООП) использует в своей основе определенные концепции 11 , которые выражаются в следующем:
  • любая система состоит из объектов;
  • объекты некоторым образом взаимодействуют между собой;
  • каждый объект характеризуется своим состоянием и поведением;
  • состояние объекта задаётся значением полей данных;
  • поведение объекта задаётся методами.

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

  • С++ – компилируемый язык программирования общего назначения, поддерживающий объектно-ориентированный подход;
  • Java(Джава)– объектно-ориентированный язык программирования, созданный в 1995 году и предназначенный для использования на компьютерах любой архитектуры;
  • С# (Си Шарп)– объектно-ориентированный язык программирования, разработанный в 1998-2001 годах как язык поддержки приложений платформы Microsoft.
  1. Языки программирования для Интернетаотносятся кскриптовым языкам12,которые разрабатываются для записи «сценариев» или последовательности событий. Сценарии обычно интерпретируются, а не компилируются.

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

  • Perl – язык программирования общего назначения, который используется для выполнения широкого спектра задач, включая системное администрирование, веб-разработку, сетевое программирование, игры, разработку графических пользовательских интерфейсов 13 ;
  • PHP – язык программирования, применяемый для разработки веб-приложений и являющийся одним из лидеров среди языков программирования для создания динамических веб-сайтов 14 .

Источник: studfile.net

История создания программирования

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

По выражению одного из основателей языков программирования Никлауса Вирта «Программы = алгоритмы + структуры данных».

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

Блок: 1/7 | Кол-во символов: 303
Источник: https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5

“Машина для исчисления разностей” и дочь поэта Байрона

В 1830 году Чарльз Беббидж начал работу над “Машиной для исчисления разностей”. Это аналитическое устройство и стало прототипом компьютеров. Ученый был профессором математики в Кэмбриджском университете. Реализовать в то время такие разработки было не просто. В теории англичанин изложил многие идеи, которые были применены позже при создании ЭВМ и принципов их работы.
Управление машинами с помощью программ — это тоже предложение Чарльза. Вместе с ним работала Ада Лавлейс — дочь знаменитого британского поэта Байрона. Эта женщина вошла в историю как первый программист. Ей принадлежат идея применения в работе с устройством двоичной системы счисления и основные принципы программирования.

Читайте также:
Объектом авторского права является программы и базы данных

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

Блок: 2/4 | Кол-во символов: 861
Источник: https://www.istmira.com/drugoe-razlichnye-temy/15323-istorija-sozdanija-programmirovanija.html

Суть проблемы

Сегодня вам не надо ничего знать об архитектуре компьютера, для большинства программистов вообще важен только язык, всё остальное – вторично. В 1950-х всё было иначе – приходилось работать с элементарными машинными кодами, а это практически всё равно что программировать при помощи паяльника.

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

01 x y – добавление содержимого ячейки памяти y к ячейке x;

02 x y – аналогичная процедура с вычитанием.

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

01 10 15 02 11 29 01 10 11…

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

Компьютер 1940-х годов

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

Блок: 2/6 | Кол-во символов: 1236
Источник: https://geekbrains.ru/posts/language_history_part1

Первые компьютеры

Машина Беббиджа получила второе рождение в конце 19 века. Его идеи были реализованы американцем Г. Холлеритом. Для работы устройства он впервые применил электричество. С помощью созданного счетно-аналитического устройства ученым были успешно обработаны данные переписи населения. Позже он основал фирму, выпускающую перфокарты и вычислительные аппараты.
Большой вклад в развитие техники внес А. Тьюринг. Он ввел и обосновал понятие алгоритма и предложил теорию создания ЭВМ.
Первый компьютер был изобретен в Гарварде под руководством профессора Айкена. Он носил название “МАРК-1”. Устройство было собрано по заказу ВВС Соединенных Штатов. На то время у ученых появилась возможность использовать в разработках электронные и электрические детали. Поэтому изобретение уже было не механической машиной, а электромеханической.

Оно был огромных размеров и занимало отдельное помещение в университете.
Прогресс не стоял на месте: появился Эниак — первая электронная ЭВМ. Немного позже англичанами было изобретено оборудование, оснащенное запоминающим устройством — EDSAC. Многие именно эти аппараты называют первыми компьютерами, считая “МАРК-1” просто мощной вычислительно-аналитической машиной.

Блок: 3/4 | Кол-во символов: 1210
Источник: https://www.istmira.com/drugoe-razlichnye-temy/15323-istorija-sozdanija-programmirovanija.html

1.2 Структурное и модульное программирование

В 1965 г. итальянцы Бом и Джакопини предложили использовать в качестве базовых алгоритмических элементов следование, ветвление и цикл. Почти в то же время к аналогичным выводам пришел голландский ученый Э. Дийкстра, заложивший основы структурного программирования. В 1970-х гг. эта методология оформилась, и корпорация IBM сообщила о применении в разработке программного обеспечения «Усовершенствованных методов программирования», одним из компонентов которых являлась технология нисходящего структурного программирования, основу которого составляет следующее:

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

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

Развитие получило модульное программирование, основа которого заключается в следующем:

* функциональная декомпозиция (разбиение) задачи на самостоятельные подзадачи — модули, связанные только входными и выходными данными;

* модуль представляет собой «черный ящик», позволяющий разрабатывать части программ одного проекта на разных языках программирования, а затем с помощью компоновочных средств объединять их в единый загрузочный модуль;

* должно быть ясное понимание назначения всех модулей задачи и их оптимального сочетания;

* с помощью должно описываться назначение всех переменных модуля.

В период 1970—1980-х гг. развитие теоретических исследований оформило программирование как самостоятельную научную дисциплину, занимающуюся методами разработки программного обеспечения (ПО).

В истории развития промышленного программирования большую роль сыграл программист и бизнесмен Билл Гейтс (Gates William Henry, p. в 1955 г.). Гейтс и его школьный товарищ Пол Аллен основали компанию по анализу уличного движения «Трэф-О-Дейта» и использовали для обработки данных компьютеры с микропроцессором 8008 — первым из знаменитого ряда микропроцессоров компании «Intel». Будучи студентом Гарвардского университета, в 1975 г. он совместно с Алленом написал для компьютера Altair (фирмы M1TS) интерпретатор – программу переводчик с языка программирования на язык машинных кодов.

Профессиональное программирование вышло на уровень технологии.

Методы разработки ПО синтезируют:

* методы инженерных расчетов для оценки затрат и выбора решений;

* математические методы для составления алгоритмов;

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

Блок: 3/3 | Кол-во символов: 2993
Источник: https://works.doklad.ru/view/U73B89A2bwA.html

Как и для чего разрабатывались разные языки программирования

Развитие техники дало толчок появлению новой отрасли прикладной математики — программированию. Первые программы записывались вручную на перфокартах. Коды проставлялись на них при помощи проколов в определенных местах. В записи использовались “ноли” и “единицы”, так как машины других обозначений тогда не понимали.
Составление программы таким образом — процесс трудоемкий. Перфокарт с командами для одной задачи требовалось множество. К тому же, программист был обязан знать всю бинарную таблицу кодов.
Для упрощения задач в 50-х годах прошлого века человечество принялось разрабатывать специальные языки. Один из первых — Ассемблер. С его появлением программисту уже не нужно было знать кучу двоичных кодов. Теперь было достаточно запомнить символичные термины, что оказалось гораздо проще. Фортран — еще один язык, появившийся в то время.

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

Читайте также:
Программа для разбивки ssd

Творение Вирта объединяло множество мощных и эффективных методов обработки информации. Как ни странно, победитель конкурса — язык Алгол-68 не получил дальнейшего развития и популярности. Паскаль же напротив развивался и применялся для выполнения многих задач. Еще один из высших языков, применяемых для обучения — Бейсик.
Наравне с языками разрабатывались специальные программы для перевода команд в двоичный код, понятный машине. Дальнейшее развитие программирования становилось все стремительнее и разнообразнее. Оказалось практически невозможным создание единого универсального языка: только специально разработанный метод для реализации определенных типовых действий позволяет достичь наилучших результатов.
Бурное развитие IT-технологий ставит все новые задачи. Наравне с классическим программированием применяется модульное — с использованием в работе парадигм. За короткий период, от появления первых языков до настоящего времени, разработано очень много методов взаимодействия с компьютерами.

Блок: 4/4 | Кол-во символов: 2722
Источник: https://www.istmira.com/drugoe-razlichnye-temy/15323-istorija-sozdanija-programmirovanija.html

Инструменты

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

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

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

Блок: 4/7 | Кол-во символов: 864
Источник: https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5

Эпоха новой формации

Найти алгоритм анализа стека удалось Джону Бэкусу, создателю Фортрана. Он начал работать над ним в 1954 году и ему потребовалось почти 5 лет, чтобы доказать право языков высокого уровня на существование. Полное название Фортрана – The IBM Formula Translating System, или FORmula TRANslator. Несмотря на 60-летний возраст, он остаётся одним из самых популярных языков программирования и невероятно востребован в Data Science. За это время мы видели множество версий: Fortran 1, II, 66, 77, 90, 95, 2008, а в следующем году выйдет ещё одна (планировался Fortran 2015, но из-за задержек название может смениться на 2018). Именно в Фортране впервые были одновременно реализованы многие атрибуты языка высокого уровня, среди которых:

  • арифметические и логические выражения;
  • цикл DO (ранняя форма цикла FOR);
  • условный оператор IF;
  • подпрограммы;
  • массивы.

Ещё одним важным наследием Фортрана, о котором даже не догадываются современные программисты, является использование ограничений для переменных для целых чисел. Все они должны были начинаться с одного из 6 символов I, J, K, L, M, N (происходит от I-Nteger). Именно отсюда взялась привычка для перечислений брать переменные i, j и т.д.

IBM 704 – машина, на которой был создан Fortran

При этом Фортран оставался языком, приближенным к машинам. Например, там существовало такое:

if (выражение) doneg, dozero, dopos

Причиной была архитектура компьютера IBM, которой требовалась команда для использования нужного регистра: отрицательного, нулевого или положительного. Близость к машинам проявлялась и в известной команде GOTO (позднее она была унаследована Basic), означавший прямой переход к той или иной команде.

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

Блок: 5/6 | Кол-во символов: 1924
Источник: https://geekbrains.ru/posts/language_history_part1

Языки для каждого

Fortran 1 был научным языком, в его основе лежали операции с комплексными числами и с плавающей запятой. Он даже не умел обрабатывать текст, для этого приходилось преобразовывать его в специальные коды. Поэтому Фортран оказался непригоден для бизнеса, где был специально создан язык Cobol.

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

Move Income To Total Subtract Expenses

Cobol стал олицетворением максимального удаления от прежнего машинно-арифметического мышления к общечеловеческому. И главное – теперь можно было работать с текстом и записями.

Следующим фундаментальным языком стал Algol (ALGOrithmic Language), предназначенный для научных отчётов и публикаций. В нём впервые появились естественные для нас вещи:

  • отличия между присваиванием := и логическим равенством =;
  • использование цикла for с тремя аргументами: начальное значение, предел, шаг;
  • блочная структура программ, заключённая между begin и end, это исключило необходимость применения GOTO.

Именно из Алгол произошли C, C ++, C #, Java и многие другие популярные сегодня языки.

Четвёртым китом 1950-х стал Лисп (LISt Processing language), разработанный специально для обслуживания искусственного интеллекта. Главной его особенность стала работа не с императивными данными, а с функциями. Для этого Джону Маккарти пришлось предусмотреть множество механизмов для нормальной работы: динамическую типизацию, автоматическое распределение памяти, сборщик мусора. В конечном счёте, именно Лисп стал прародителем таких языков, как Python и Ruby, а сам до сих пор активно применяется в ИИ.

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

Блок: 6/6 | Кол-во символов: 1955
Источник: https://geekbrains.ru/posts/language_history_part1

Литература

Блок: 6/7 | Кол-во символов: 1625
Источник: https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5

Кол-во блоков: 16 | Общее кол-во символов: 21245
Количество использованных доноров: 4
Информация по каждому донору:

  1. https://www.istmira.com/drugoe-razlichnye-temy/15323-istorija-sozdanija-programmirovanija.html: использовано 3 блоков из 4, кол-во символов 4793 (23%)
  2. https://geekbrains.ru/posts/language_history_part1: использовано 5 блоков из 6, кол-во символов 8452 (40%)
  3. https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5: использовано 4 блоков из 7, кол-во символов 5007 (24%)
  4. https://works.doklad.ru/view/U73B89A2bwA.html: использовано 1 блоков из 3, кол-во символов 2993 (14%)

Поделитесь в соц.сетях:

Источник: school1208.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru