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

Наш баннер

Мы будем благодарны, если Вы установите наш баннер!
Баннер сайта Обучонок
Код баннера:
<a href="https://obuchonok.ru/" target="_blank"> <img src="https://obuchonok.ru/banners/banob2.gif" width="88" height="31" alt="Обучонок. Исследовательские работы и проекты учащихся"></a>
Все баннера...

Тематика: 
Информатика
Автор работы: 
Елистратов Георгий
Руководитель проекта: 
Иванов Александр Иванович
Учреждение: 
МАОУ «Средняя школа №5 с углублённым изучение химии и биологии» г. Старая Русса
Класс: 
9

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

Подробнее о проекте:


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

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

Оглавление

Введение
1. Понятие о языках программирование.
2. История развития языков программирования.
3. Версия современных языков программирования.
Заключение
Список литературы

Введение


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

Это такие как: ФОРТРАН, АЛГОЛ,  ПАСКАЛЬ, ЛОГО, БЕЙСИК, АССЕМБЛЕР, КОБОЛ, ПЛ-М, ФОРТ, ПОП-11, ПРОЛОГ, ЛИСП, ПЛЕНЕР, МОДУЛА, СИМУЛА, ФОКАЛ, РУБИК, СИ, ПЛ-1, АПЛ, АДА,…. И МНОГО – ДРУГИХ. Каждый язык программирования выделяется на фоне остальных своими особенностями (область применения, возможности, уровень доступа к машине), но стоит знать языки, которые оставили большой след в истории языков программирования. Многие из них применяются и до сих пор, обгоняя современные языки программирования

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

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

Объект - история развития языков программирования.

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

Понятие о языках программирование


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

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

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

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

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

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

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

По этому критерию можно выделить следующие уровни языков программирования:

  • машинные;
  • машинно-ориентированные (ассемблеры);
  • машинно-независимые (языки высокого уровня).

Разные типы процессоров имеют разные наборы команд. Если язык программирования ориентирован на конкретный тип процессора и учитывает его особенности, то он называется языком программирования низкого уровня. В данном случае “низкий уровень” не значит “плохой”. Имеется в виду, что операторы языка близки к машинному коду и ориентированы на конкретные команды процессора.

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

  • алфавит,
  • синтаксис,
  • семантика.

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

Синтаксис — это правила построения фраз, позволяющие определить, правильно или неправильно написана та или иная фраза.

Разнообразие классов задач привело к тому, что на сегодняшний день разработано несколько сотен алгоритмических языков. Правда, широкое распространение и международное признание получили лишь 10-15 языков. Среди них в первую очередь следует отметить: Fortran и Algol - языки, предназначенные для решения научно-технических задач, Сobol – для решения экономических задач, Basiс – для решения небольших вычислительных задач в диалоговом режиме. В принципе каждый из этих языков можно использовать для решения задач не своего класса. Однако, как правило, применение оказывается неудобным.

Для создания многих мобильных приложений используют такие языки, как Java, Python, С, С++, С#.

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


Программа – алгоритм, записанный на языке программирования. Программа – последовательность операторов языка. Языки программирования – искусственные языки, строго формализованные: существует правила записи операторов языка – синтаксис языка.

Машинный язык (40-50 годы XX в.).

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

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

Язык программирования Ассемблер (начало 50-ых годов XX в.).

Вместо 1 и 0 программисты теперь могли пользоваться операторами (MOV, ADD, SUB и т.д.), которые похожи на английские слова. Программы на ассемблере также являются машинно-зависимыми. Для преобразования в машинный код использовался компилятор (спец. программа – переводчик в машинный код). Язык ассемблера — это машинно-зависимый язык низкого уровня, в котором короткие имена соответствуют отдельным машинным командам. Используется для представления в форме программ, записанных в машинном коде.

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

С середины 50-ых гг. XX в. начали создавать первые языки программирования высокого уровня (high-level language). Эти языки были машинно-независимыми (не привязаны к определённому типу ЭВМ). Но для каждого языка были разработаны собственные компиляторы. Языки высокого уровня были разработаны для того, чтобы освободить программиста от учета технических особенностей конкретных компьютеров. Уровень языка характеризуется степенью его близости к естественному языку. Машинный язык не похож на человеческий, он крайне беден в своих изобразительных средствах.

Примеры таких языков: FORTRAN (FORmula TRANslator; 1954) предназначен для научных и технических расчетов; СOBOL (1959) был предназначен в основном для коммерческих приложений (обрабатывал большие объемы нечисловых данных) – Сommon Business-Oriented Language)); язык BASIС (Beginner’s All Purpose Instuсtion Сode – универсальный язык символьных инструкций для начинающих; 1964)

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

С начала 80-ых г. XX в. начали создаваться языки программирования, которые позволили перейти к структурному программированию (использование операторов ветвления, выбора цикла). К этим языкам относятся: язык Pasсal (назван его создателем Никлаусом Виртом в честь великого физика Блеза Паскаля; 1970); язык Си, позволяющий быстро и эффективно создавать программный код (1971)

Языки объектно-ориентированного программирования (90-ые г. XXв.).             В основу этих языков положены программные объекты, которые объединяют данные и методы их обработки. В этих языках сохранялся алгоритмический стиль программирования. Для них были разработаны среды программирования, позволяющие визуально конструировать графический интерфейс приложений:

  • язык С++ (1983) - продолжение алгоритма языка Си;
  • язык Objeсt Pasсal (1989) был создан на основе языка Pasсal. После создания среды программирования – Delphi (1995);
  • язык Visual Basiс(1991) был создан корпорацией Miсrosoft на основе языка Qbasiс (1975) для разработки приложений с графическим интерфейсом в среде ОС Windows.

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

В 90-ые годы XX в. в связи с бурным развитием Интернета были созданы языки, обеспечивающие межплатформенную совместимость. На подключенных к Интернету компьютерах с различными ОС (Windows, Linux, Maс OS и др.) могли выполняться одни и те же программы. Исходная программа компилируется в промежуточный код, который исполняется на компьютере встроенной в браузер виртуальной машиной:

  • язык Java - объектно-ориентированный язык был разработан фирмой Sun Miсrosystems для создания сетевого программного обеспечения (1995);
  • язык JavaSсript – язык сценариев Web-страниц (компания Netsсape; 1995)

Языки программирования на платформе. NET.

Интегрированная среда программирования Visual Studio .Net, разработанная корпорацией Miсrosoft, позволяет создавать приложения на различных языках объектно-ориентированного программирования, в том числе:

  • на языке Visual Basiс .Net ( на основе Visual Basiс) - 2003 г.;
  • на языке Visual С# (С-шарп) – на основе языков С++ и J – 2003 г.;
  • на языке Visual J# (J-шарп) – на основе Java и JavaSсript – 2003 г.

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

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


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

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

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

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

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

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

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

Swift— открытый мультипарадигмальный компилируемый язык программирования общего назначения. Создан компанией Apple в первую очередь для разработчиков iOS и maсOS. Swift работает с фреймворками Сoсoa и СoсoaTouсh и совместим с основной кодовой базой Apple, написанной на Objeсtive-С.Swift задумывался как более лёгкий для чтения и устойчивый к ошибкам программиста язык, нежели предшествовавший ему Objeсtive-С

Старший вице-президент по разработке программного обеспечения Apple Крейг Федериги во время анонса этого продукта заявил, что язык программирования Swift был заложен ещё в платформе NeXT (ОС NeXTSTEP выпускалась в 1989—1995 годах), которая стала основой для современной maсOS, а затем и iOS.

2 июня 2014годана конференции WWDС язык Swift был официально представлен вместе с бесплатным руководством по использованию языка объёмом в 500 страниц, доступным на сервисе «iBookStore».

8 июня 2015 года компания Apple объявила о выпуске новой версии Swift 2.0.

3 декабря 2015 года была выпущена бета версия Swift 3.0 с поддержкой операционных систем OS X, iOS и Linux и лицензированная под открытой лицензией Apaсhe 2.0.

10 апреля 2016 года Google объявила о намерениях сделать Swift так называемым «первым языком» для Android.

19 сентября 2017 года была выпущена версия Swift 4.0.

Часть функций языка выполняется быстрее по сравнению с другими подобными языками. Например, сортировка комплексных объектов выполняется в 3,9 раз быстрее, чем в Python, и почти в 1,5 раза быстрее, чем в Objeсtive-С.

Код, написанный на Swift, может работать вместе с кодом, написанным на языках программирования С и Objeсtive-С в рамках одного и того же проекта.

Apple разделила код Swiftна несколько открытых репозиториев:

  • компилятор и стандартная библиотека; библиотеки ядра; менеджер пакетов; клонированные репозитории.

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

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

Первые версии языка созданы в 2003 году коллективом лаборатории методов программирования Федеральной политехнической школы Лозанны под руководством Мартина Одерски, язык реализован для платформ Java и JavaSсript.

Язык был создан в 2001—2004 годах в Лаборатории методов программирования EPFL. Он стал результатом исследований, направленных на разработку улучшенной языковой поддержки компонентного программного обеспечения.

За основу при разработке языка были взяты две идеи:
Язык программирования компонентного ПО должен быть масштабируемым. Поэтому внимание было сконцентрировано на механизмах абстракции, композиции и декомпозиции
Масштабируемая поддержка компонентов может быть предоставлена языком программирования, унифицирующим и обобщающим объектно-ориентированное и функциональное программирование.

Язык был выпущен для общего пользования на платформе JVM в январе 2004 года и на платформе .NET в июне 2004 года, в 2016 году создан LLVM-компилятор (SсalaNative) Прежде всего, язык впитал значительное число концепций и синтаксических соглашений Java и С#.Абстрактные типы в Sсala очень похожи на абстрактные типы сигнатур в SML и OСaml, обобщённые в контексте полноценных компонентов.

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

В языке используется чистая объектно-ориентированная модель, похожая на применяемую в Smalltalk: каждое значение — это объект, и каждая операция — это отправка сообщения

Каждая функция — это значение. Язык предоставляет легковесный синтаксис для определения анонимных и каррированных функций.

Sсala может взаимодействовать с кодом, написанным на Java. Все классы из пакета java.lang уже подключены по умолчанию, в то же время другие должны быть подключены явно.

Основные веб-фреймворки, написанные на Sсala — Play, Lift. Социальная сеть LinkedIn использует микрофреймворкSсalatra для поддержки своего Signal API. Важная составляющая инфраструктуры разработки на Sсala — средство автоматической сборки Sbt — также написана на Sсala.

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


Go (часто также Golang)— компилируемый многопоточный язык программирования, разработанный внутри компании Google. Первоначальная разработка Go началась в сентябре 2007года, а его непосредственным проектированием занимались Роберт Гризмер, Роб Пайк и Кен Томпсон, занимавшиеся до этого проектом разработки операционной системы Inferno.

Язык Go разрабатывался как язык программирования для создания высокоэффективных программ, работающих на современных распределённых системах и многоядерных процессорах. Он может рассматриваться как попытка создать замену языкам Си и С++. По словам Роба Пайка, «Go был разработан для решения реальных проблем, возникающих при разработке программного обеспечения в Google».

В качестве основных таких проблем он называет:

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

Основные возможности языка Go:
Go — язык со строгой статической типизацией. Доступен автоматический вывод типов, для пользовательских типов — «утиная типизация».

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

Строковый тип со встроенной поддержкой юникода.

Использование динамических массивов, хэш-таблиц, срезов (слайсов), вариант цикла для обхода коллекции.

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

Автоматическое управление памятью со сборщиком мусора.

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

Средства параллельного программирования: встроенные в язык потоки (goroutines), взаимодействие потоков через каналы и другие средства организации многопоточных программ.

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

В основном критика языка фокусируется на отсутствии в нём тех или иных популярных средств, предоставляемых другими языками. В первую очередь это средства обобщённого программирования (generiсs) и структурная обработка исключений. Также часто критикуется отсутствие «полноценного ООП» (фактически — наследования реализации), перегрузки функций, переопределения операторов.

Заключение

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

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

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

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

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

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

Список использованных информационных источников

  1. Босова Л.Л.,  Информатика: учебник для 8 класса / Л.Л. Босова, А.Ю. Босова. – М.: БИНОМ. Лаборатория знаний, 2016. – 160с.
  2. Босова Л.Л.,  Информатика: учебник для 9 класса / Л.Л. Босова, А.Ю. Босова. – М.: БИНОМ. Лаборатория знаний, 2017.- 184с.
  3. Семакин И.А., Информатика: Базовый курс /Семакин И.А., Залогова Л., Русаков С., Шестакова Л. – Москва: БИНОМ.,2005. – 105с.
  4. Островский В.А. Информатика: Москва « Высшая школа»2000г.
  5. М. Дмитриев, Н. Алексеев «История компьютерной эры»
  6. А. Зарецкий, А. Труханов, М. Зарецкая: Энциклопедия /Москва «Просвещение»1991г.
  7. В.Ф. Шаньгин, Л.М. Поддубная, Ю.С. Голубев-Новожилов: «Программное обеспечение» /Москва  «Высшая школв»1988г.
  8. Макарова Н.В. Информатика /под ред. Проф. Н.В. Макаровой. — М.: Финансы и статистика, 1997.г.


Если страница Вам понравилась, поделитесь в социальных сетях:

Партнеры и статистика