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

2016-07-30СтудИзба

Описание файла

Документ из архива "Языки программирования", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "49523"

Текст из документа "49523"

Оглавление

1. Введение

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

2.1 Паскаль

2.2 Ассемблер

2.3 Си

2.4 Бейсик

2.5 Лого

2.6 Форт

2.7 Пролог

2.8 Рефал

2.9 Лекс

3 Понятие, назначение и составные элементы систем программирования

3.1 Машинно-ориентированные системы программирования

3.1.1 Машинный язык

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

3.1.3 Автокоды

3.1.4 Макрос

3.2 Машинно-независимые системы программирования

3.2.1 Процедурно-ориентированные системы

3.2.2 Проблемно-ориентированные системы

3.2.3 Диалоговые языки

3.2.4 Непроцедурные языки

4 Выводы

5 Практическая часть

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

  1. Введение

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

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

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

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

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

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

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

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

Первые несколько поколений ЭВМ строились на классических принципах, сформулированных американским математиком Джоном фон Нейманом в 1946 г., когда начались разработки цифровых ЭВМ с программным управлением. Одним из основных принципов Д. фон Неймана является принцип хранимой программы. Под программой вычислительной машины понимается описание алгоритма решения задачи, заданное на языке вычислительной машины. Таким образом, языки программирования – это формальные языки общения человека с ЭВМ, предназначенные для описания совокупности инструкций, выполнение которых обеспечивает правильное решение требуемой задачи, т.е. для описания подлежащих обработке данных (информации) и алгоритмов (программ). Основная роль языков программирования заключается в планировании действий по обработке информации. Любой язык программирования основан на системе понятий, на основе которой человек может выражать свои соображения.

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

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

2.1 Паскаль1

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

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

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

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

2.2 Ассемблер2

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

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

Turbo Assembler, помимо полной поддержки транслятора фирмы Microsoft имеет дополнительные возможности, объединённые в режиме, названном разработчиками Ideal. Использование этого режима даёт возможность начинающему программисту применять более наглядный и простой стиль разработки программ. Более опытные программисты, пишущие на ассемблере, могут использовать такие возможности режима Ideal, как вложенные структуры, объединения.

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

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

2.3 Си++1

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

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

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

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

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

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

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

2.4 Бейсик

BASIC был разработан в колледже города Дартмут (Dartmouth) и предназначался для обучения начинающих. Язык FORTRAN был сложным для студентов нематематических отделений. Джон Кимини (John Kemeny) и Томас Курц (Thomas Kurtz), учившиеся в Дартмуте, при разработке языка BASIC в качестве основы использовали FORTRAN. BASIC — сокращение от Beginner’s All-purpose Symbolic Instruction Code (универсальный код символических инструкций для начинающих) — имя, которое говорит само за себя. BASIC, как правило, используется с интерпретатором, хотя современные версии BASIC являются компилирующими. Это позволяет новичкам сосредоточиться на языке программирования и не вникать в особенности компиляции. Как и все интерпретируемые языки, BASIC-программы выполняются медленнее, чем откомпилированные программы, поэтому программы на языке BASIC не используются в коммерческих приложениях.

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

2.5 Лого

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

2.6 Форт

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

2.7 Пролог

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

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Нашёл ошибку?
Или хочешь предложить что-то улучшить на этой странице? Напиши об этом и получи бонус!
Бонус рассчитывается индивидуально в каждом случае и может быть в виде баллов или бесплатной услуги от студизбы.
Предложить исправление
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5140
Авторов
на СтудИзбе
441
Средний доход
с одного платного файла
Обучение Подробнее