Главная страница
Навигация по странице:

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

  • 1.1. Назначение языков программирования

  • 1.2. Виды языков программирования

  • 1.3. Требования к языкам программирования

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

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

  • Реферат Языки программирования. Введение языки программирования


    Скачать 36.7 Kb.
    НазваниеВведение языки программирования
    Дата28.01.2019
    Размер36.7 Kb.
    Формат файлаdocx
    Имя файлаРеферат Языки программирования.docx
    ТипРеферат
    #54464

    Подборка по базе: Янчук В.А., Введение в современную социальную психологию.pdf, диплом введение.docx, Алгоритмические языки и програмирование.doc, Реферат Языки программирования.docx, Тема№1 Введение в гистологию.docx.

    Содержание

    Введение ………………………………………………………………........ 3

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

      1. Назначение языков программирования ………………………... 6

      2. Виды языков программирования ………………………………. 6

      3. Требования к языкам программирования ……………………... 11

      4. Редакторы для создания научных документов ………………... 12

    Заключение ……………………………………………………………….... 16

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

    Введение

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

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

    Если проследить историю используемых сегодня языков программирования, таких как Си и Паскаль (а равно и менее популярных Бэйсик, Фортран или Ада), то окажется, что все они были созданы на рубеже 60-х и 70-х годов. Иными словами, возраст современных языков программирования, перевалил за четвёртый десяток, что для компьютерной индустрии является сроком экстремальным. Современные языки программирования старше Интернета, Windows и персонального компьютера минимум на десятилетие. При этом новые языки не переставали регулярно появляться, однако ни один из них не задержался в практике программирования, хотя приносимые ими новые идеи дополняли уже известные языки.

    Другой важной особенностью языкотворчества последних десятилетий можно считать прекращение попыток создания "универсального" языка программирования, призванного объединить в себе все последние достижения в области разработки языков (из попыток 60-х и 70-х годов можно вспомнить Алгол, PL/1 или Аду). Крупные "языковые" проекты безвозвратно ушли в прошлое вместе с порожденными ими языками.

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

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


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

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

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

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

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

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

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

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

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

    Виды языков программирования:

    • Алгоритмический язык[algorithmic language] - совокупность символов, соглашений и правил, используемых для однозначного описания алгоритмов и обычно являющаяся часть языка программирования;

    • Неалгоритмический язык [nonalgorithmic language] - язык программирования, тексты которого не содержат указаний на порядок выполнения операций и служат лишь исходным материалом для синтеза алгоритма решения задачи;

    • Формальный язык [formal language] – язык программирования, построенный по правилам некоторого логического исчисления или формальной грамматики, представляющей собой систему правил построения в заданном алфавите конечных знаковых последовательностей, множество которых образует формальный язык;

    • Исходный язык [source language] - язык программирования, на котором написана программа, в отличие от машинного языка, на котором программы выполняются компьютером. Исходные языки классифицируются на языки высокого уровня и языки низкого уровня;

    • Машинный (абсолютный) язык, язык ЭВМ [computer (machine) language] - язык программирования, предназначенный для представления программ в форме, обеспечивающей возможность их выполнения техническими средствами;

    • Машинозависимый (машинно-ориентированный) язык, машинозависимый язык программирования [computer-sensitive (computer-oriented) language] - язык программирования, учитывающий структуру и характеристики ЭВМ определенного типа или конкретной ЭВМ;

    • Машиннонезависимый язык [machine-independent language] - язык программирования, структура и средства которого не связаны ни с какой конкретной ЭВМ и позволяют выполнять составленные на нем программы на любой ЭВМ, снабженной трансляторами с этого языка;

    • Символический язык, язык символического кодирования [symbolic language] - язык программирования, ориентированный на конкретные ЭВМ и основанный на кодировании машинных операций при помощи определенного набора символов;

    • Гибридный (комбинированный) язык [hibrid language] - язык программирования, использующий также средства другого языка;

    • Графический язык [graphic language] - язык, предназначенный для написания программ машинной графики и пользования ими.

    • Базовый язык [base language];

    • Общий язык [common language] - машинный язык, общий для группы ЭВМ и используемых ими внешних устройств;

    • Эталонный язык [reference language] - язык, являющийся основой для всех его конкретных версий, являющихся вариантами адаптации эталонного языка к определенным условиям применения и назначения;

    • Язык ассемблера, ассемблер [assembler language] - универсальный язык программирования, относящийся к категории языков низкого уровня, структура которого определяется форматами команд, данными машинного языка и архитектурой ЭВМ. Используется программистами в тех случаях, когда невозможно применение языка высокого уровня или требуются эффективные программы в машинных кодах.

    • Декларативный (непроцедурный) язык [declararative (nonprocedural) language] - язык программирования, который позволяет задавать связи и отношения между объектами и величинами, но не определяет последовательность выполнения действий;

    • Императивный (процедурный) язык [imperative language] - язык программирования, который позволяет в явной форме (при помощи задания выполняемых операторов) определять действия и порядок (последовательность) их выполнения;

    • Язык функционального программирования, функциональный язык [functional language] - декларативный язык программирования, основанный на понятии функций, которые задают зависимость, но не определяют порядок вычислений;

    • Специализированный язык [special language] - язык программирования, ориентированный на решение определенного круга задач;

    • Язык описания страниц [PDL - Page Description Language] - специализированный язык, предназначенный для печатающих устройств. Предусматривает возможность использования изображений в формате, независимом от параметров устройства отображения. Наиболее известным языком такого типа является PostScript.

    • Автономный язык [freestanding language] - специализированный язык высокого уровня, в замкнутых СУБД;

    • Язык конструирования интерактивных технологий - в СУБД - язык, предназначенный для описания технологических процессов обработки данных с учетом разделения характера операций по их типам, а также обеспечения диалога с администратором системы;

    • Язык манипулирования данными, ЯМД [DML - Data Manipulation Language] - в СУБД - язык, предназначенный для обращения к базе данных и выполнения поиска, чтения и модификации ее записей;

    • Язык обработки списков [list language] - специализированный язык, предназначенный для описания процессов обработки данных, представленных в виде списков объектов;

    • Язык описания данных [DDL - Data Description Language] - язык, предназначенный для описания “концептуальной схемы” базы данных;

    • Язык описания хранения данных [DSDL - Data Storage Description Language] - язык, предназначенный для описания физической структуры (схемы) базы данных;

    • Язык описания страниц [page description language] - система для кодировки документов, которая позволяет точно описать ее внешний вид после подготовки к выводу на печать или на дисплей. Примером использования такого языка служит PDF (Portable Document Format), разработанный Adobe для хранения и представления изображений страниц;

    • Язык представления знаний [KRL - Knowledge Representation Language] - декларативный или декларативно-процедурный язык, предназначенный для представления знаний в памяти ЭВМ (например, языки Лисп и Пролог);

    • Язык публикаций [publication language] - язык, используемый для публикации алгоритмов и программ;

    • Язык спецификаций [specification language] - декларативный язык для задания спецификаций программ;

    • Проблемно-ориентированный язык [problem-oriented language] - язык программирования, предназначенный для решения определенного класса задач (проблем);

    • Процедурный (процедурно-ориентированный) язык [procedure-orinted language] - проблемно-ориентированный язык, который облегчает выражение процедуры, как точного алгоритма;

    • Язык реального времени [real-time language] - язык, используемый для программирования задач, в которых критическим является время реакции ЭВМ на сигналы, требующие от нее немедленных действий (например, язык Ада);

    • Язык управления пакетом [batch control language] - набор команд, директив, квалификаторов и правил их использования для управления пакетной обработкой данных;

    • Язык управления заданиями [job-control language] - язык, на котором записывается последовательность команд, управляющих выполнением задания. В отличие от обычных языков программирования, в которых объектами описания являются элементы, связанные с решением отдельной задачи, в языках управления заданиями преобразуемыми объектами являются целые программы и выходные потоки данных, обработанных этими программами;

    • Общесетевой командный язык [CNCL - Common Network - Command language] - стандартный в рамках вычислительной сети язык диалогового (интерактивного) поиска данных, предназначенный для унификации работы пользователей с неоднородными базами данных, управляемых различными СУБД;

    • Системный язык [system language] - язык общения оператора ЭВМ с вычислительной системой, представляющий собой совокупность команд оператора и сообщений системы;

    • Язык общего назначения, универсальный язык [universal programming language] - язык программирования, ориентированный на решение задач практически из любой области и объединяющий на единой методической основе наиболее существенные свойства и средства современных машино- и проблемноориентированных языков программирования (например,язык ассемблера , ПЛ/1 и др.);

    • Язык ориентированный на пользователя [user-oriented language] - слабоформализованный язык программирования, близкий к естественному языку;

    • Язык меню[menu language] - язык диалога пользователя с системой, основанный на использовании меню.


    1.3. Требования к языкам программирования

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

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

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

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

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

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

    Существуют различные классификации языков программирования.

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

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

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

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

    К языкам программирования высокого уровня относят Фортран (переводчик формул – был разработан в середине 50–х годов программистами фирмы IBM и в основном используется для программ, выполняющих естественно – научные и математические расчеты), Алгол, Кобол (коммерческий язык – используется, в первую очередь, для программирования экономических задач), Паскаль, Бейсик (был разработан профессорами Дармутского колледжа Джоном Кемени и Томасом Курцом.), Си (Деннис Ритч – 1972 году), Пролог (в основе языка лежит аппарат математической логики) и т.д.

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

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

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

    Языки программирования также можно разделять на поколения:

    • языки первого поколения: машинно-ориентированные с ручным управлением памяти на компьютерах первого поколения;

    • языки второго поколения: с мнемоническим представлением команд, так называемые автокоды;

    • языки третьего поколения: общего назначения, используемые для создания прикладных программ любого типа. Например, Бейсик, Кобол, Си и Паскаль;

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

    • языки программирования пятого поколения: языки декларативные, объектно-ориентированные и визуальные. Например, Пролог, ЛИСП (используется для построения программ с использованием методов искусственного интеллекта), Си++, Visual Basic, Delphi.

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

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

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

    Непроцедурное (декларативное) программирование появилось в начале 70-х годов 20 века, к непроцедурному программированию относятся функциональные и логические языки.

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

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

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

    Первый объектно-ориентированный язык программирования Simula был создан в 1960-х годах Нигаардом и Далом.

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

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


    Заключение

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

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

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

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

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

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

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

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

    1. Велихов А.С. Основы информатики и компьютерной техники: учебное пособие. Москва: СОЛОН-Пресс, 2007. 539 с.;

    2. Симонович С. В. Информатика. Базовый курс: учебное пособие для высших технических учебных заведений. Санкт-Петербург: Питер, 2011. 639 с.;

    3. Морозевич А.Н. Основы информатики: Учебное пособие. Москва: Новое знание, 2001. 544с.;

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

    5. Семакин И.А., Информатика: Базовый курс. Москва: БИНОМ, 2005. 105с.




    написать администратору сайта