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

  • Энциклопедия
  • Разное
  • Языки программирования

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

Python – это язык, который может работать в режиме интерпретатора и основан на гибкой и надежной семантике. Он используется в сфере информационных технологий, инжиниринга, профессиональных услуг и дизайна. Python позволяет быстро интегрировать системы в качестве скриптового или связующего языка. Его удобно использовать для быстрой разработки приложений. Так, игра Civilization 4 имеет внутреннюю логику, реализованную на Python. НАСА использует Python в своей интегрированной системе планирования в качестве стандартного языка сценариев. Язык легко учить и легко читать. В его состав входит бесплатный интерпретатор и стандартная библиотека.

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

Ruby – это язык сценариев с открытым кодом, используемый как отдельно, так и как часть веб-инфраструктуры Ruby on Rails. Язык используется для моделирования, трехмерного моделирования, а также для управления и отслеживания информации. Амазон и Твиттер были созданы с использованием Ruby on Rails. НАСА использует этот язык для проведения моделирования. Ruby можно свободно копировать, изменять и распространять.

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

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

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

Доклад №2

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

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

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

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

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

Также языки разделяют по поколениям. Сейчас выделяют 5 поколений языков. Разделение проходит согласно временным промежуткам создания, а так же области применения языка. Первое поколение – наиболее ранние языки программирования, пятое поколение – наиболее близкое к современности.

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

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

9 класс

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

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

Популярные темы сообщений

  • Реки Московской области

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

  • Чувашия

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

  • Цветные металлы

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

  • Наполеон

    Наполеон Бонапарт, был из средне статистической семьи дворян. Родился он в 1769 году. Едва ему исполнилось десять лет, как его родителя отправляют во Францию учиться в военную школу. Он был талантливым учеником и через несколько лет, получает,

  • Дежнёв Семён Иванович

    Родился Дежнев в Великом Устюге, в простой крестьянской семье и с детства приобщился к разному сложному труду крестьян: владел оружием, рыбачил, знал основы кораблестроения. Во сколько лет попал в Сибирь не известно. Там начал служить рядовым.

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

Программирование – это искусство создавать программные продукты, которые написаны на языке программирования. 

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

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

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

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

Трансляторы делятся на:

  1. компиляторы – превращают текст программы в машинный код, который можно сохранить и затем использовать уже без компилятора (примером являются исполняемые файлы с расширением *. exe).

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

Язык Ассемблер (Assembler) – это низкоуровневый язык программирования. Он хоть и сложный, но написанные на нем программы работают быстрее, чем на Паскале и на Си. Достоинства языка состоят в том, что программист может написать более высокоскоростную программу, чем на других языках высокого уровня. Также Ассемблер используется для написания прошивок на BIOS, а также возможет непосредственный доступ к регистрам процессора, и к портам компьютера.

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

Преимущества:

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

Недостатки:

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

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

  3. значительное время разработки больших и сложных программ.

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

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

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

К языкам программирования высокого уровня относятся:

Язык Паскаль (Pascal) – его изучают не столько для применения, как для обучения в учебных заведениях. Потому что он прост для понимания и нанести вред системе от некорректного кода пользователя не может.  Программы на Паскале начинаются с ключевого слова Program и следующего за ним имени программы с точкой с запятой (в некоторых диалектах является необязательным), за именем может в скобках следовать список внешних файловых дескрипторов («окружение») в качестве параметров; за ним следует тело программы, состоящее из секций описания констант (Const), типов (Type), переменных (Var), объявлений процедур (Procedure) ифункций (Function) и следующего за ними блока операторов, являющегося точкой входа в программу. В языке Паскаль блок ограничивается ключевыми словами begin и end. Операторы разделяются точками с запятой, после тела помещается точка, служащая признаком конца программы. Регистр символов в Паскале не имеет значения.

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

Язык программирования MATLAB – является высокоуровневым интерпретируемым языком программирования, включающий широкий спектр функций, интегрированную среду разработки, основанные на матричных структурах данных, объектно-ориентированные возможности написанным на других языках программирования. Программы, написанные на MATLAB, бывают двух типов -функции и скрипты. Функции имеют входные и выходные аргументы, а также собственное рабочее пространство для хранения промежуточных результатов вычислений и переменных. Скрипты же используют общее рабочее пространство. Как скрипты, так и функции сохраняются в виде текстовых файлов и компилируются в машинный код динамически. Существует также возможность сохранять так называемые pre-parsed программы – функции и скрипты, обработанные в вид, удобный для машинного исполнения. В общем случае такие программы выполняются быстрее обычных, особенно если функция содержит команды построения графиков.

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

Язык программирования Cи –  компилируемый статически типизированный язык программирования общего назначения, который более популярен, чем Паскаль и Ассемблер. Си, позволяет писать программы под Windows. Программирование под Windows сейчас очень распространено в мире, но для этого необходимо много труда и усилия. Си создавался с одной важной целью: сделать более простым написание больших программ с минимумом ошибок по правилам процедурного программирования, не добавляя на итоговый код программ лишних накладных расходов для компилятора, как это всегда делают языки очень высокого уровня, такие, как Бейсик. С этой стороны Си предлагает следующие важные особенности:

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

  2. ориентацию на процедурное программирование, обеспечивающую удобство применения структурного стиля программирования;

  3. систему типов, предохраняющую от бессмысленных операций;

  4. использование препроцессора для, например, определения макросов и включения файлов с исходным кодом;

  5. непосредственный доступ к памяти компьютера через использование указателей;

  6. минимальное число ключевых слов;

  7. передачу параметров в функцию по значению, а не по ссылке (при этом передача по ссылке эмулируется с помощью указателей);

  8. указатели на функции и статические переменные;

  9. области действия имён;

  10. структуры и объединения — определяемые пользователем собирательные типы данных, которыми можно манипулировать как одним целым;

  11. средства объектно-ориентированного программирования[3];

В то же время в Си отсутствуют

  1. вложенные функции;

  2. сопрограммы;

а также средства:

  1. автоматического управления памятью;

  2. функционального программирования.

Язык программирования Basicсемейство высокоуровневых языков программирования. Язык задумывался для обучения, поэтому его конструкции максимально просты. Как и в других языках программирования, ключевые слова взяты из английского языка. Основных типов данных два: строки и числа. С появлением версии Visual Basic, а также различных его модификаций (таких как VBA), в языке появились многие другие типы данных и дополнения, типичные для современных языков программирования (например, такие, как объектная модель). Объявление переменных не требует специальной секции (в отличие от Паскаля). Объявление переменной  – это первое её использование.

Язык программирования PHPскриптовый язык программирования, применяющийся для создания сайтов. Важное его достоинство языка php – это создания динамических веб-сайтов, работа с базами данных. Php является языком программирования с динамической типизацией, не требующим указания типа при объявлении переменных, равно как и самого объявления переменных. Преобразования между скалярными типами зачастую осуществляются неявно без дополнительных усилий.

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

Язык программирования HTML стандартизированный язык разметки документов во Всемирной паутине. Большинство веб-страниц содержат описание разметки на языке HTML (или XHTML). Язык HTML интерпретируется браузерами; полученный в результате интерпретации форматированный текст отображается на экране монитора компьютера или мобильного устройства. Текстовые документы, содержащие разметку на языке HTML (такие документы традиционно имеют расширение.html или .htm), обрабатываются специальными приложениями, которые отображают документ в его форматированном виде. Такие приложения, называемые «браузерами» или «интернет-обозревателями», обычно предоставляют пользователю удобный интерфейс для запроса веб-страниц, их просмотра (и вывода на иные внешние устройства) и, при необходимости, отправки введённых пользователем данных на сервер. Наиболее популярными на сегодняшний день браузерами являются Google Chrome, Mozilla Firefox, Opera, Internet Explorer иSafari 

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

5

Государственное бюджетное профессиональное
 общеобразовательное учреждение

Ростовской
области

«Волгодонский
педагогический колледж»

(ГБПОУ
РО «ВПК»)

Реферат

По
дисциплине: «Информатика и ИКТ»

на
тему:
«Языки программирования»

                                                                              
Выполнила:

                                                                       
Студентка группы ПНК-2

Челюк
Анастасия Валерьевна

                                           
                                      Преподаватель:

Мастеренкова
 Инна Ивановна

Оглавление

Введение.

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

2.Обзор
современных языков программирования

2.1                             Си и его разновидности.

2.2                             Паскаль

2.3                             Фортран.

2.4                             Бейсик

2.5                   Java………………………………………………………………..16

          3.Рейтинг языков
программирования…………………………………20

Выводы.

 Литература.

Введение.

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

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

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

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

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

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

·      
наглядность –
использование в языке по возможности уже существующих символов, хорошо
известных и понятных как программистам, так и пользователям ЭВМ;

·      
единство – использование
одних и тех же символов для обозначения одних и тех же или родственных понятий
в разных частях алгоритма. Количество этих символов должно быть по возможности
минимальным;

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

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

·      
однозначность –
недвусмысленность записи любого алгоритма. Отсутствие ее могло бы привести к
неправильным ответам при решении задач .

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

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

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

·                   
машинные;

·                   
машинно-оpиентиpованные
(ассемблеры);

·                   
машинно-независимые (языки
высокого уровня).

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

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

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

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

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

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

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

Таким образом, можно
сформулировать основные преимущества языков высокого уровня перед машинными:

o  
алфавит языка высокого
уровня значительно шире алфавита машинного языка, что существенно повышает
наглядность текста программы;

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

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

o  
требуемые операции
задаются с помощью общепринятых математических обозначений;

o  
данным в языках высокого
уровня присваиваются индивидуальные имена, выбираемые программистом;

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

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

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

·                   
алфавит,

·                   
синтаксис,

·                   
семантика.

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

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

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

Языки высокого уровня
делятся на:

·                   
процедурные;

·                   
логические;

·                   
объектно-ориентированные.

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

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

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

В то же время в середине
60-х годов начали разрабатывать алгоритмические языки широкой ориентации –
универсальные языки. Обычно они строились по принципу объединения возможностей
узко-ориентированных языков. Среди них наиболее известны
PL/1, Pascal, C, C+ , Modula, Ada.
Однако, как любое универсальное средство, такие широко-ориентированные языки во
многих конкретных случаях оказываются менее эффективными .

Логические языки- (Prolog,
Lisp, Mercury, KLO и др.) ориентированы не на запись алгоритма решения задачи,
а на систематическое и формализованное описание задачи с тем, чтобы решение
следовало из составленного описания. В этих языках указывается что дано и что
требуется получить. При этом поиск решения задачи возлагается непосредственно
на ЭВМ.

Объектно-ориентированные
языки (Object Pascal, C++, Java, Objective Caml. и др.). Руководящая идея
объектно-ориентированных языков заключается в стремлении связать данные с
обрабатывающими эти данные процедурами в единое целое – объект.

Объектно-ориентированный
подход использует следующие базовые понятия:

·                   
объект;

·                   
свойство объекта;

·                   
метод обработки;

·                   
событие;

·                   
класс объектов.

Объект — совокупность
свойств (параметров) определенных сущностей и методов их обработки (программных
средств).

Свойство — это
характеристика объекта и его параметров. Все объекты наделены определенными
свойствами, совокупность которых выделяют (определяют) объект.

Метод — это набор действий
над объектом или его свойствами.

Событие — это характеристика
изменения состояния объекта.

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

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

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

2.1    Си и его
разновидности
.

·                    
Си [C]
– Многоцелевой язык программирования высокого уровня, разработанный Денисом
Ритчи в начале 1970-х гг. на базе языка BCPL. Используется на миниЭВМ и ПЭВМ.
Является базовым языком операционной системы Unix, однако применяется и вне
этой системы, для написания быстродействующих и эффективных программных
продуктов, включая и операционные системы. Для IBM PC имеется ряд популярных
версий языка Си, в том числе – Turbo C (фирмы Borland), Microsoft C и Quick C (фирмы
Microsoft ), а также Zortech C (фирмы Symantec). Многие из указанных версий
обеспечивают также работу с Си и Си++.

·                    
Си++ [C++]
– Язык программирования высокого уровня, созданный Бьярном Страустрапом на базе
языка Си. Является его расширенной версией, реализующей принципы объектно-ориентированного
программирования. Используется для создания сложных программ. Для IBM PC
наиболее популярной является система Turbo C++ фирмы Borland (США).

·                  
C# (C
Sharp) – “ Си Шарп ”: объектно-ориентированный язык программирования, о
разработке которого в 2000 г. объявила фирма Microsoft . По своему характеру он
напоминает языки C++ и Java и предназначен для разработчиков программ,
использующих языки C и С++ для того, чтобы они могли более эффективно создавать
Интернет-приложения. Указывается, что C # будет тесно интегрирован с языком XML.

2.2    Паскаль

Паскаль [PASCAL
акроним с французскогоProgram Applique a la Selection et la Compilation Automatique de la Litterature] – Процедурно-ориентированный язык программирования
высокого уровня, разработанный в конце 1960-х гг. Никлаусом Виртом,
первоначально для обучения программированию в университетах. Назван в честь
французского математика XVII века Блеза Паскаля.

В своей начальной версии Паскаль
имел довольно ограниченные возможности, поскольку предназначался для учебных
целей, однако последующие его доработки позволили сделать его хорошим
универсальным языком, широко используемым в том числе для написания больших и
сложных программ. Существует ряд версий языка (например, ETH Pascal, USD Pascal,
Turbo Pascal ) и систем программирования на этом языке для разных типов ЭВМ.
Для IBM PC наиболее популярной является система Turbo Pascal фирмы Borland
(США).

Delphi является «наследником» языка Паскаль; основные операторы
в этих языках одинаковы. Но
Delphi имеет средство для работы с различными
графическими объектами (создания форм, кнопок, меню), а также для обработки
сложных структур данных. Поэтому он очень популярен при разработке различных
Windows
приложений [1].

2.3    Фортран.

В 1954 году в недрах
корпорации IBM группой разработчиков во главе с Джоном Бэкусом (John Backus)
был создан язык программирования Fortran.

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

В Фортране следующая
конструкция описывает “цикл for до метки 10 при изменении индекса от 1 до 100”:
DO 10 I=1,100. Если же здесь заменить запятую на точку, то получится оператор
присваивания: DO10I = 1.100 Говорят, что такая ошибка заставила ракету
взорваться во время старта.

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

Появление Фортрана было
встречено еще более яростной критикой, чем внедрение ассемблера. Программистов
пугало снижение эффективности программ за счет использования промежуточного
звена в виде компилятора. И эти опасения имели под собой основания:
действительно, хороший программист, скорее всего, при решении какой-либо
небольшой задачи вручную напишет код, работающий быстрее, чем код, полученный
как результат компиляции. Через некоторое время пришло понимание того, что
реализация больших проектов невозможна без применения языков высокого уровня.
Мощность вычислительных машин росла, и с тем падением эффективности, которое
раньше считалось угрожающим, стало возможным смириться. Преимущества же языков
высокого уровня стали настолько очевидными, что побудили разработчиков к
созданию новых языков, все более и более совершенных [1].

2.4    Бейсик.

Бейсик [BASICBeginners Allpurpose Symbolic Instruction Code] – Язык программирования высокого уровня ,
разработанный в 1963 – 1964 гг. в Дартмутском колледже Томасом Куртом и Джоном
Кемени.

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

Большинство версий Бейсика
используют интерпретатор, который преобразует его компоненты в машинный код и
позволяет запускать программы без промежуточной трансляции. Некоторые более совершенные
версии Бейсика позволяют использовать для этой цели трансляторы. На IBM PC
широко используются Quick Basic фирмы Microsoft, Turbo Basic фирмы Borland и Power
Basic (усовершенствованная версия Turbo Basic, распространяемая фирмой Spectra
Publishing ). В начале 1999 г. фирма Microsoft выпустила версию языка Visual
Basic 6.0 (VB 6.0), предназначенного для создания многокомпонентных программных
приложений для систем уровня предприятий .

Например, язык Lisp используется
для создания экспертных систем. Язык
Java используется для разработки сетевых (Web)-
приложений.

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

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

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

Интегрированная среда разработки
обычно включает в себя:

o  
текстовый редактор – для
набора текста программы

o  
компилятор (или
интерпретатор) – для перевода программы в машинный код

o  
компоновщик – для
объединения при необходимости нескольких программ “запускатель программ”,
который позволяет выполнить разрабатываемую программу, не выходя из среды разработки.

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

o   справочную
систему, описывающую особенности конкретной реализации языка.

Для
одного и того же языка могут существовать разные среды разработки. Например,
для языка С есть среда
Turbo C
и
Borland C .

2.5  Java.

  
Java — объектно-ориентированный язык программирования, разработанный компанией
Sun Microsystems (в последующем, приобретённой компанией Oracle). Приложения
Java обычно компилируются в специальный байт-код, поэтому они могут работать на
любой виртуальной Java-машине (JVM) независимо от компьютерной архитектуры.
Дата официального выпуска — 23 мая 1995 года.

  
Программы на Java транслируются в байт-код, выполняемый виртуальной машиной
Java (JVM) — программой, обрабатывающей байтовый код и передающей инструкции оборудованию
как интерпретатор.

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

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

o   применение
технологии трансляции байт-кода в машинный код непосредственно во время работы
программы (JIT-технология) с возможностью сохранения версий класса в машинном
коде,

o   широкое
использование платформенно-ориентированного кода (native-код) в стандартных
библиотеках,

o   аппаратные
средства, обеспечивающие ускоренную обработку байт-кода (например, технология
Jazelle, поддерживаемая некоторыми процессорами фирмы ARM).

     
По данным сайта shootout.alioth.debian.org, для семи разных задач время
выполнения на Java составляет в среднем в полтора-два раза больше, чем для
C/C++, в некоторых случаях Java быстрее, а в отдельных случаях в 7 раз
медленнее. С другой стороны, для большинства из них потребление памяти
Java-машиной было в 10-30 раз больше, чем программой на C/C++. Также
примечательно исследование, проведённое компанией Google, согласно которому
отмечается существенно более низкая производительность и бо́льшее потребление
памяти в тестовых примерах на Java в сравнении с аналогичными программами на
C++.

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

Классификация платформ Java

o   Java
SE — Java Standard Edition, основное издание Java, содержит компиляторы, API,
Java Runtime Environment; подходит для создания пользовательских приложений, в
первую очередь — для настольных систем.

o   Java
EE — Java Enterprise Edition, представляет собой набор спецификаций для
создания программного обеспечения уровня предприятия.

o   Java
ME — Java Micro Edition, создана для использования в устройствах, ограниченных
по вычислительной мощности, например в мобильных телефонах, КПК, встроенных
системах;

o   JavaFX
— технология, являющаяся следующим шагом в эволюции Java как Rich Client
Platform; предназначена для создания графических интерфейсов корпоративных
приложений и бизнеса.

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

Применения платформы Java

   
Следующие успешные проекты реализованы с привлечением Java (J2EE) технологий:
RuneScape, Amazon, eBay, Yandex (неоднозначная информация в отношении Java),
LinkedIn, Yahoo!.

   
Следующие компании в основном фокусируются на Java (J2EE) технологиях: SAP, IBM,
Oracle. В частности, СУБД Oracle включает JVM как свою составную часть,
обеспечивающую возможность непосредственного программирования СУБД на языке
Java, включая, например, хранимые процедуры.

 Производительность

  
Программы, написанные на Java, имеют репутацию более медленных и занимающих
больше оперативной памяти, чем написанные на языке Си. Тем не менее, скорость
выполнения программ, написанных на языке Java, была существенно улучшена с
выпуском в 1997—1998 годах так называемого JIT-компилятора в версии 1.1 в
дополнение к другим особенностям языка для поддержки лучшего анализа кода
(такие как внутренние классы, класс StringBuffer, упрощенные логические
вычисления и т. д.). Кроме того была произведена оптимизация виртуальной машины
Java — с 2000 года для этого используется виртуальная машина HotSpot. В
настоящее время[уточнить], код Java 2.0 приблизительно лишь в 2 раза медленнее
кода, написанного на языке Cи.

 
Некоторые платформы предлагают аппаратную поддержку выполнения для Java. К
примеру, микроконтроллеры выполняющие код Java на аппаратном обеспечении вместо
программной JVM, а также основанные на ARM процессоры, которые поддерживают
выполнение байткода Java через опцию Jazelle.

3.Рейтинг языков программирования за  2016-2017 гг.

Выводы.

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

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

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

Источники.

Литература:

1.                       
Информатика/Курносов А.П., Кулев С.А.,
Улезько А.В. и др.; Под ред. А.П. Курносова.-М.: КолосС, 2005.-272 с

2.                       
Малышев Р.А. Локальные вычислительные
сети: Учебное пособие/ РГАТА. – Рыбинск, 2005. – 83 с.

3.                       
Семакин И.А., Информатика: Базовый курс
/Семакин И.А., Залогова Л., Русаков С., Шестакова Л. – Москва: БИНОМ.,2005. –
105с.

Интернет-ресурсы:

1.     http://shkolo.ru/yazyiki-programmirovaniya/

2.     http://www.bourabai.kz/alg/classification04.htm

3.     http://www.studfiles.ru/preview/5333895/

У вас нет времени на реферат или вам не удаётся написать реферат? Напишите мне в whatsapp — согласуем сроки и я вам помогу!

В статье «Как научиться правильно писать реферат», я написала о правилах и советах написания лучших рефератов, прочитайте пожалуйста.

Собрала для вас похожие темы рефератов, посмотрите, почитайте:

  1. Реферат на тему: Растения занесенные в красную книгу
  2. Реферат на тему: Россия в первой мировой войне
  3. Реферат на тему: Речевой этикет
  4. Реферат на тему: Бег и здоровье

Реферат на тему: Языки программирования

Введение

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

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

В
своей работе я хочу проанализировать несколько современных основных языков,
таких как Pascal, Assembler, C++, Basics, Refal и Java, а также системы
программирования и их компоненты.

Если
проследить историю используемых сегодня языков программирования, таких как C и
Pascal (а также менее популярных языков Basic, Fortran или Hell), то окажется,
что все они зародились на рубеже 1960-х и 1970-х годов. Другими словами, век
современных языков программирования (за исключением Java, о котором мы
конкретно говорим) прошел уже третье десятилетие, которое является
экстремальным периодом для компьютерной индустрии. Современные языки
программирования по меньшей мере на десятилетие старше, чем Интернет, Windows и
персональные компьютеры. В то же время новые языки не перестали регулярно
появляться, но ни один из них не задержался в практике программирования, хотя
новые идеи, внедряемые ими, дополняли уже известные (как это произошло с
объектно-ориентированным программированием).

Другой
важной особенностью развития языка в последние десятилетия является прекращение
попыток создания «универсального» языка программирования, который бы
объединил в себе все последние достижения в области развития языка (из
экспериментов 1960-х _70-х годов можно вспомнить Algol, PL/1 или Hell). Большие
«языковые» проекты, как и языки, создавшие их, безвозвратно уходят в
прошлое.

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

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

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

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

Языки
программирования классифицируются по различным критериям. Однако они обычно
делятся на языки высокого и низкого уровня. Чем ближе язык к естественному, тем
больше вероятность того, что он будет классифицирован как язык высокого уровня.
И наоборот, если язык ближе к машинным инструкциям, его называют языком низкого
уровня. Поэтому весь спектр языков программирования можно разделить на две
группы: Языки низкого уровня и языки высокого уровня.

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

Подчиненные
языки включают в себя языки ассемблера (от ассемблера до ассемблера). Языки
ассемблера используют символические символы для команд, которые легко понять и
запомнить. Вместо последовательности двоичных кодов инструкций записываются их
символические имена, а вместо двоичных адресов данных, используемых при
выполнении инструкции, — выбранные программистом символические имена этих
данных. Иногда язык ассемблера называется Mnemocode или Autocode.

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

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

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

Паскаль

В
1968 году Никлаус Вирт написал первый компилятор языка, Паскаль. Этот язык был
назван в честь выдающегося французского математика Блеза Паскаля. Паскаль —
успешный, общеприменимый язык, который подходит для программирования как
научных, так и коммерческих задач. Входные/выходные возможности этого языка
несколько слабее, чем у коммерческих языков, таких как COBOL, поэтому он никогда
не претендовал на замену. Тем не менее, с момента своего первого релиза Pascal
является довольно солидным языком, который успешно выполняет свою работу.

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

В
1970-х годах Паскаль был «единственным языком программирования, подходящим
для всех». Компания IBM попыталась создать нечто подобное с помощью языка
PL/I. Как и ПЛ/И, Паскаль не достиг высшей цели. Популярность языка Паскаль
снижалась так же быстро, как и росла. В 1970-х годах наблюдался огромный рост
использования Паскаля, а в 1980-х годах интерес к Паскалю резко упал.

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

Ассемблер

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

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

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

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

C++

Наследие
С++ быстро получило поддержку, так как обновленная версия С. С++ была
разработана в начале 1980-х годов шведским программистом по имени Bjarne
Stroustrup. В С++ есть несколько дополнительных команд и операторов, но главное
отличие — это подход к программированию.

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

Так
как C++ в основном основан на C. Поэтому акцент в C на низкоуровневых
инструментах достаточен для решения наиболее актуальных задач системного
программирования. В свою очередь, С в значительной степени обязан своим
предшественником ППГ. C++ — машино-ориентированный язык программирования,
предназначенный для того, чтобы сделать программирование более приятным для
серьезного программиста. Помимо мелких деталей, С++ — это высокомерие языка
программирования Си.

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

Если
пользователю нужен этот тип, его можно определить на самом языке. Фактически,
основной задачей программирования на С++ является определение универсальных и
специальных типов приложений.

Популярность
объектно-ориентированного С++ создала много новых языков для современного
Интернета. Причиной успешного развития Java (и его производных, таких как
JavaScript) является широкое использование С++, и хотя С++ не поддерживает
достаточную безопасность при программировании веб-сайтов, его
объектно-ориентированная природа делает Java хорошим кандидатом для
программирования Интернет-объектов. Компания Sun Microsystems изменила язык
С++, добавив элементы с достаточной безопасностью и удалив некоторые
сомнительные элементы из языка С++. (Одним из примеров является множественное
наследование, которое позволяет генерировать один объект программирования,
например, окно, из набора нескольких родительских окон с различными свойствами.
Такая концепция запутанна, даже если она сформулирована на высоком уровне).

BASIC
был разработан в Дартмутском колледже и предназначен для начинающих. ФОРТРАН
был сложным языком для студентов не математических факультетов. Джон Кемени и
Томас Курц, учившиеся в Дартмуте, использовали FORTRAN в качестве основы для
разработки BASIC. BASIC — это аббревиатура от Beginner’s All-purpose Symbolic
Instruction Code, название, которое говорит само за себя. Интерпретатор обычно
используется с BASIC, хотя современные версии BASIC скомпилированы. Это
позволяет начинающим программистам сконцентрироваться на языке
программирования, а не на специфике компиляции. Как и все интерпретируемые
языки, программы на BASIC работают медленнее скомпилированных программ, поэтому
программы на BASIC не используются в коммерческих приложениях.

Этот
язык стал одним из самых распространенных. Базовый был изначально задуман как
очень простой язык, который можно выучить очень быстро. Язык содержал
примитивные инструменты редактирования, освобождавшие пользователя от
необходимости понимать все сложности базовой операционной системы. Вначале
Basic использовался только для обработки числовых значений, позже он был
расширен обработкой строковых переменных и теперь обеспечивается рядом методов
простой манипуляции через символьные цепочки, которые фактически стали стандартом.
Простота Basic сделала его наиболее подходящим языком программирования для
первых микрокомпьютеров. Сегодня это основной язык программирования для
персональных компьютеров. К сожалению, почти каждая машина имеет свой
собственный диалект на Базовом, поэтому обеспечить мобильность программ на
Базовом довольно сложно. В настоящее время многие основные диалекты включают в
себя современные структуры управления, такие как: REPEAT… UNTIL, что дает
определенный оптимизм.

Направление

Конечно,
мы также должны проинформировать вас о некоторых языках программирования,
которые были разработаны в нашей родной стране. Одним из таких языков является
Refal, который был разработан в России (СССР) в 1966 году. АКАДЕМИЯ НАУК СССР.
Этот язык прост и удобен для описания манипуляций с любыми текстовыми
объектами.

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

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

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

Ява

Java
— объектно-ориентированный язык программирования, разработанный компанией Sun
Microsystems. Java-приложения обычно компилируются в специальный байтовый код,
так что они могут быть выполнены на любой Java-виртуальной машине (JVM)
независимо от архитектуры компьютера. Официальная дата выхода — 23 мая 1995 г.
Первоначально язык назывался Oak, он был разработан Джеймсом Гослингом для
программирования устройств бытовой электроники. Позже он был переименован в
Java и использовался для написания клиентских приложений и серверного
программного обеспечения. На эмблеме на официальном языке, названной в честь марки
кофе Java, изображена чашка поднимающегося кофе.

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

Одним
из недостатков концепции виртуальной машины является то, что выполнение
байтового кода виртуальной машиной может снизить производительность программ и
алгоритмов, реализованных на языке Java. Это утверждение было верно для первых
версий Java Virtual Machine, но в последнее время оно почти утратило свою
значимость. Этому способствовал ряд улучшений: использование технологии
трансляции байт-кода в машинный код во время работы программы (технология JIT)
с возможностью хранения версий класса в машинном коде, широкое использование
платформоориентированного (нативного) кода в стандартных библиотеках,
аппаратного обеспечения, позволяющего ускорить обработку байт-кода (например,
технология Jazelle, поддерживаемая некоторыми процессорами компании ARM).

Идеи,
лежащие в основе концепции и различных реализаций Java Virtual Machine
Environment, вдохновили многих энтузиастов на расширение списка языков, которые
могут быть использованы для создания программ, запускаемых на виртуальной
машине. Эти идеи также нашли выражение в общей спецификации инфраструктуры
языка CLI, лежащей в основе платформы Microsoft .NET.

Возможности реализации языков программирования

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

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

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

Компилятор
выдает полный результат — программу в машинном коде. Затем эта программа
выполняется. Вы можете сохранить скомпилированную версию исходной программы на
диск. Для повторного запуска исходной программы компилятор не нужен. Достаточно
загрузить скомпилированную ранее версию с жесткого диска в память компьютера и
выполнить ее.

Существует
еще одна возможность совместить процессы перевода и выполнения программ. Это
называется интерпретация. Суть процесса интерпретации заключается в следующем.
Сначала она транслируется в машинный код, а затем выполняется первая строка
программы. Когда первая строка заканчивается, переводится вторая строка,
которая затем выполняется, и так далее. Этот процесс управляется
программой-переводчиком.

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

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

Иногда
один и тот же язык может использовать и компилятор, и интерпретатор. Такими
языками являются, например, Basic. Как правило, компиляторы и интерпретаторы
приравниваются к языкам, с которых они должны переводиться. Слова Pascal, Ada,
C могут относиться как к названиям языков, так и к названиям соответствующих
программ.

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

Недостатком устных переводчиков является то, что они молчат. Они тратят слишком много времени, пытаясь понять, что делать, вместо того, чтобы заниматься бизнесом. При выполнении операторов программы интерпретатор должен сначала просканировать каждый оператор, чтобы прочитать его содержимое (что этот человек просит меня сделать?), а затем выполнить запрошенную операцию. Операторы в шлейфах сканируются без необходимости. Причиной возобновления интереса к компиляторам стало появление быстрых и сложных 64-битных микропроцессоров, типичным представителем которых является Intel Itanium. Компиляторы нового поколения отвечают за увеличение потенциала производительности будущих 64-битных процессоров, такие компиляторы уже создаются в исследовательских лабораториях одних компаний — Hewlett-Packard, Intel, MetaWare, Microsoft и других.

В феврале прошлого года компания Silicon Graphics объявила, что ее оптимизированные компиляторы позволят увеличить производительность программ, выполняемых на компьютерах с процессорами Itanium и операционной системой Linux, на 30-100% по сравнению с существующими продуктами. Как и их предшественники, оптимизированные компиляторы преобразуют программы языка высокого уровня в машинный код. Они также гарантируют наиболее эффективное использование памяти (и особенно процессорного кэша и механизма распараллеливания). Например, процессоры Itanium рассчитаны на одновременную обработку до шести инструкций на каждый процессорный такт. В прошлом году компания Microsoft объявила о выпуске C#, объектно-ориентированного языка программирования, ориентированного на XML. Компания внедряет новый язык как логическое расширение C и C++ для Web-приложений. Ключевыми модулями станут Common Language Runtime for C# и специальный компилятор, который конвертирует текст, написанный на традиционных языках Kobol, Perl, Fortran или других, в промежуточный язык, работающий на новой платформе Microsoft. сеть. Возможно, появится новое поколение компиляторов, которое позволит повысить производительность до уровня, который позволит убедить профессионалов в использовании 64-битных аппаратных архитектур. (См. Приложение №1).

Классификация языков программирования

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

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

Языки
декларативного программирования — это языки для объявлений и построения
структур. Сюда входят функциональные и логические языки программирования. Эти
языки явно не выполняют алгоритмических действий, то есть алгоритм не задается
программистом, а собирается программой. Декларативные языки указывают, строят
структуру или систему, то есть объявляют (декларируют) некоторые из атрибутов
создаваемого объекта. Эти языки получили широкое применение в системах
автоматизированного проектирования (САПР), в так называемых CAD-пакетах, в
моделировании, в системах искусственного интеллекта.

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

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

Машинно-ориентированные языки

Машинно-ориентированные
языки — это языки, набор операторов и их графических средств которых
существенно зависит от свойств компьютера (внутренний язык, структура памяти и
т.д.). Машинно-ориентированные языки позволяют использовать все возможности и
характеристики машино-зависимых языков: высокое качество создаваемых программ
(компактность и скорость исполнения); возможность использования специфических
аппаратных ресурсов; предсказуемость объектного кода и порядка памяти; для
использования машино-ориентированных языков необходимо иметь высокую степень
гибкости.Для создания эффективных программ необходимо знать систему управления
и свойства функциональности данного компьютера; сложность процесса создания
программ (особенно на машинных языках и NASK), плохо защищенных от
возникновения ошибок; низкая скорость работы программ (особенно на компьютере).
Машинно-ориентированные языки делятся на классы в зависимости от степени
автоматизации программирования.

Машинный
язык. Одиночный компьютер имеет свой специфический машинный язык (далее ML),
ему предписано выполнять заданные операции над операндами, которые он
определяет, поэтому ML является командным языком. Однако некоторые семейства
компьютеров (например, EC, IBM/370/ и т.д.) имеют один ТЕ для компьютеров
различной производительности. Инструкция каждого из них содержит информацию о
расположении операндов и типе выполняемой операции.

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

Языки
символьного кодирования. Языки символьного кодирования (далее — «языки
кодирования») являются командными языками, так же как и ME. Однако, коды
операций и адреса в машинных инструкциях, представляющие собой
последовательность двоичных (внутренний код) или восьмеричных цифр (часто
используемых при написании программ), заменяются в СНБ символами
(идентификаторами), форма написания которых помогает программисту легче
запомнить семантическое содержание операции. Это приводит к значительному
сокращению количества ошибок при написании программ.

Автокоды. Существуют также языки, которые содержат все возможности NSC за счет расширенного введения макрокоманд — они называются Autocodes. В различных программах существует несколько достаточно общих последовательностей команд, которые соответствуют определенным процедурам преобразования информации. Эффективная реализация таких процедур обеспечивается их формализацией в виде специальных макроинструкций и интеграцией в язык программирования, доступный программисту. Макроинструкции переводятся в машинные инструкции двумя способами — упорядочивая и генерируя. Система инсценировки содержит «скелеты» — серию инструкций, реализующих требуемую функцию, заданную командой макроса.

Макроинструкции обеспечивают передачу фактических параметров, которые вставляются в «скелет» программы во время перевода, что делает ее настоящей машинной программой. В системе с генерацией существуют специальные программы, которые анализируют макроинструкции, определяют, какая функция должна быть выполнена, и формируют необходимую последовательность инструкций, реализующих эту функцию. В обеих системах используются трансляторы NSC и набор макроинструкций, которые также являются операторами автокодирования. Разработанные автокоды называются ассемблерами. Утилиты и т.д. обычно компилируются на таких языках, как ассемблер. Подробнее о языке ассемблера я расскажу в главе 5.Macros. Язык, который является средством для замены строки, описывающей требуемые действия компьютера, на более сжатую форму, называется макросом (замена). В принципе, макрос предназначен для сокращения записи исходной программы. Программный компонент, обеспечивающий работу макросов, называется макропроцессором. Процессор макросов получает определение макроса и исходный код. Реакция макропроцессора на вызов вывода выходного текста. Макрос может работать как с программами, так и с данными одинаково.

Машинные независимые языки

Машинно-независимые языки — это средства описания алгоритмов решения проблем и обрабатываемой информации. Они удобны в использовании для широкого круга пользователей и не требуют от них знания специфики организации функционирования компьютеров и БК.

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

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

Например,
существует много проблемных языков: Fortran, Algol — языки, созданные для
решения математических задач; Simula, Slang — для моделирования; Lisp, Snobol —
для работы со списочными структурами. Я пойду в них дальше.

Универсальные
языки. Для широкого круга задач были созданы универсальные языки: торговля,
наука, моделирование и т.д. Первый универсальный язык был разработан компанией
IBM, которая стала Pl/1 в порядке языков. Вторым по мощности универсальным
языком является алголь-68, который позволяет работать с символами, битами,
числами с фиксированными и плавающими точками. Pl/1 имеет развитую систему
операторов для управления форматами, работы с полями переменной длины, с
данными, организованными в сложных структурах и эффективного использования
каналов связи. Язык учитывает возможности прерывания, которые есть во многих
машинах, и имеет соответствующих операторов. Предусмотрена возможность
параллельного выполнения разделов программы. Программы в Pl/1 компилируются с
использованием автоматических процедур. Язык использует многие свойства Фортрана,
Алголя, Кобола. Но это позволяет не только динамическое, но и управляемое и
статистическое выделение памяти.

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

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

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

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

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

Заключение

Изобретение
самого высокого языка программирования позволило нам общаться с машиной,
понимать ее (конечно, только если ты знаешь используемый язык), так как
американец понимает старый кириллический алфавит, немного знакомый с русским.
Проще говоря, мы так далеки от компьютеров к ВАМ в развитии науки
программирования. Поверь мне, это не сарказм. Просто посмотрите, как развивалась
наука о программировании с момента появления языков программирования, но язык
программирования высочайшего уровня, очевидно, еще ребенок. Но если посмотреть
на темпы роста и развитие новейших технологий в программировании, то можно
предположить, что в ближайшем будущем человеческие знания в этой области
помогут создать языки мира, которые смогут получать, обрабатывать и передавать
информацию в виде мыслей, слов, звуков или жестов. Это то, что я бы назвал
детищем компьютеризированного будущего: «языки программирования
«высшего» уровня». Возможно, концепция решения этой проблемы
проста, и ближайшее будущее этого проекта не за горами, и в этот момент где-то
в Сапороше, Амстердаме, Токио или Иерусалиме молодой, непризнанный специалист
подозревает старый 133МГц и разрабатывает новую систему искусственного
интеллекта, которая в конечном итоге позволяет людям общаться с машиной на ВАС
с помощью своего машинного языка.

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

В 1970-х годах Паскаль был самым популярным языком в общем употреблении, но в 1980-х годах его использование резко сократилось.

Язык C, разработанный Bell Laboratories, является очень эффективным, но низкоуровневым языком программирования. C — это основа современных языков.

Самым большим преимуществом С++ перед его предшественником является поддержка объектно-ориентированного программирования.

Visual Basic, преемник языка BASIC, предлагает лучшую базу программирования для начинающих.

Выбор используемого языка определяется многими факторами.

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

Список литературы

  1. «Информационные технологии и ИКТ. 10-11», Н.Д. Угринович, Москва, 2006;
  2. Технологии управления информацией»: Инфоматика-М.Ф. Меняев: Омега-Л, 2003;
  3. «Информатика», базовый курс, 2-е издание / Под руководством С.В. Симоновича-СПб. Питер, 2004;
  4. Леонтьев. Последняя энциклопедия компьютерного программного обеспечения. — Пресса, 2003;
  5. Ассемблер для Windows, Пирогов В.Ю. 2005 ;
  6. Магданурова Г. I, «Визуальные основы на практике», 2004..;
  7. Васильев П. П. «Турбо Паскаль в примерах и задачах», 2003;
  8. Есипов А.С., «Информатика и информационные технологии», 2003;
  9. В. В. Васильченко «ФОРТРАН». Программирование Windows-приложений на FORTRAN. «», 2003 г;
  10. Брюс Экель «Java Philosophy», 2014.

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


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

4.7

Средняя оценка: 4.7

Всего получено оценок: 293.

4.7

Средняя оценка: 4.7

Всего получено оценок: 293.

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

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

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

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

Классификация языков программирования

Рис. 1. Классификация языков программирования.

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

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

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

Ассемблеры – первые языки программирования

В середине 20 века появились первые языки программирования, которые назывались ассемблерами. Эти языки представляли собой машинно-ориентированные автокоды. Они снимали проблему распределения памяти, а программисту не нужно было знать все внутренние коды команд процессора. Все эти функции, связанные с распределением памяти и переводом мнемокода ассемблера в машинный код, выполняет специальная системная программа – транслятор.

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

Рис. 2. Листинг программы на языке ассемблера.

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

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

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

Языками программирования высокого уровня являются Паскаль, Си, Фортран, Бейсик, Java.

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

Все языки высоко уровня в зависимости от типа решаемых задач подразделяются на универсальные и проблемно-ориентированные языки. Универсальные языки, такие как C++, Visual Basic, Delphi, решают задачи создания Windows-приложений. Для создания интернет приложений используются высокоуровневые языки C#, Java, J#.

Рис. 3. Интерфейс интегрированной среды программирования Windows приложений.

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

Непроцедурные языки программирования

Класс непроцедурных языков объединяет объектно-ориентированных и декларативных языков.

Объектно-ориентированные языки программирования реализуют объектный подход, в основе которого лежит понятие класса и объекта. Текст программы, написанной на этом языке состоит из экземпляров классов и методов работы с ними. К языкам, реализующим объектный подход, относятся базовые языки Simula и SmallTalk. Современные языки программирования, как правило, реализуют объектно-ориентированную парадигму. При этом модель Simula лежит в основе языков С++, Delphi, C#, Java, а на модель SmallTalk ориентированы языки Objective-C, Python, Ruby.

В декларативном программировании не используются переменные, а решение задачи задается с помощью спецификации. К декларативным языкам можно отнести SQL – язык запросов и HTML – язык разметки гипертекста, а также языки искусственного интеллекта, такие как функциональные языки, например Lisp, и логические языки, например, Prolog.

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

Заключение

Что мы узнали?

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

Тест по теме

Доска почёта

Доска почёта

Чтобы попасть сюда – пройдите тест.

  • Амир Амиров

    5/5

  • Кирилл Филиппов

    5/5

Оценка статьи

4.7

Средняя оценка: 4.7

Всего получено оценок: 293.


А какая ваша оценка?