Системы и языки программирования
Реферат, 08 Апреля 2014, автор: пользователь скрыл имя
Краткое описание
Прогресс компьютерных технологий определил процесс появления новых разнообразных знаковых систем для записи алгоритмов - языков программирования. Смысл появления такого языка - оснащенный набор вычислительных формул дополнительной информации, превращает данный набор в алгоритм.
Содержание
Введение
Глава 1. "Языки программирования"
Глава 2. "Системы программирования как неотъемлемая часть ЭВМ"
Глава 3. "Способы реализации языков программирования"
Глава 4. "Классификация систем и языков программирования"
Глава 5. "Стандартизация языков программирования"
Глава 6. "Развитие языков программирования"
Заключение
Список использованных источников и литературы
Краткий словарь терминов
Приложение №1. "Создание инструментальных средств разработки"
Приложение №2. "Сравнение языков программирования"
Прикрепленные файлы: 1 файл
Реферат.docx
— 86.80 Кб (Скачать документ)К недостаткам концепции виртуальной машины относят то, что исполнение байт-кода виртуальной машиной может снижать производительность программ и алгоритмов, реализованных на языке Java. Данное утверждение было справедливо для первых версий виртуальной машины Java, однако в последнее время оно практически потеряло актуальность. Этому способствовал ряд усовершенствований: применение технологии трансляции байт-кода в машинный код непосредственно во время работы программы (JIT-технология) с возможностью сохранения версий класса в машинном коде, широкое использование платформенно - ориентированного (native-код) в стандартных библиотеках, аппаратные средства, обеспечивающие ускоренную обработку байт-кода (например, технология Jazelle, поддерживаемая некоторыми процессорами фирмы ARM).
Заключение
Наиболее популярны следующие визуальные среды быстрого проектирования:
1) Microsoft Visual Basic;
2) Turbo Pascal
3) C++ Builder
4) Symantec Café.
Из универсальных языков программирования сегодня наиболее популярны следующие:
Бейсик (Basic) – для освоения требует начальной подготовки (общеобразовательные школы)
Паскаль (Pascal) – требует специальной подготовки (школы с углубленным изучением предмета и общетехнические вузы).
Си++ (C++), Ява (Java) – требуют профессиональной подготовки (специализированные средние и высшие учебные заведения). Именно эти системы и языки программирования в дальнейшем будут определять развитие информатики.
Изобретение языка программирования высшего уровня позволило нам общаться с машиной, понимать её (если конечно Вам знаком используемый язык), как понимает американец немного знакомый с русским языком древнюю азбуку Кириллицы. Размышляя над этим, хочется верить в прогресс науки и техники, в высоко - компьютеризированное будущее человечества, как единственного существа на планете, пусть и не использующего один, определенный разговорный язык, но способного так быстро прогрессировать и развивать свой интеллект, что и перехода от многоязыковой системы к всеобщему пониманию долго ждать не придется.
В завершении своей работы хочется процитировать человека, фрагменты работы которого, в виде информации о языке Си, вам уже попадались на страницах этого текста:
"Единственный способ
изучать новый язык
Брайэн Керниган
Библиографический список
“LEX - генератор программ лексического анализа” - Давидов Михаил Изгияевич; Антонов Вадим Геннадьевич. МОСКВА - 1985;
"BASIC Face-off", Justin J.Crom, - PC Tech Journal, September 1987, p.136. Перевод: Лопухов В.Н. (Интегратор Promt98);
“Язык программирования Си.” Б.В. Керниган, Д. Ритчи, А. Фьюэр. Русский перевод: Москва: Финансы и Статистика. 1985 г.;
“Основы автоматизации” ч.1, Золотарев В.В., 1978 г.;
“Языки программирования” кн.5, Ваулин А.С., 1993 г.;
“Языки программирования: разработка и реализация”, П. Терренс, 1979 г.;
“Введение в программирование на языке Ассемблер” ч.1, Касвандс Э.Г.;
“Языки программирования высокого уровня”, Хротко Г., 1982 г.;
“Языки программирования”, Малютин Э.А., Малютина Л.В., 1982 г.;
“Новые языки программирования и тенденции их развития”, Ушкова В., 1982 г.;
“Мир Лиспа” т.1, Хьювенен Э., Сеппенен Й., 1990 г.;
“Алгоритмические языки реального времени”, Янг С., 1985 г.
“Информатика и ИКТ. 10-11”, Н. Д. Угринович, Москва, 2006 г.
“Информатика: Базовый курс/ Симонович С.В. и др.” – СПб.: Питер, 2001. – 640 с.
Краткий словарь терминов
Ада (Ada) — язык программирования, созданный в 1979—1980 годах в результате проекта, предпринятого Министерством обороны США с целью разработать единый язык программирования для встраиваемых систем (то есть систем управления автоматизированными комплексами, работающими в реальном времени).
Алгол (англ. Algol от англ. algorithmic — алгоритмический и англ. language — язык) — название ряда языков программирования, применяемых при составлении программ для решения научно-технических задач на ЭВМ.
Алгоритм — всякая система вычислений, выполняемых по строго определённым правилам, которая после какого-либо числа шагов заведомо приводит к решению поставленной задачи.
Алгоритмический язык — формальный язык, используемый для записи, реализации и изучения алгоритмов.
Байт-код — машинно-независимый код низкого уровня, генерируемый транслятором и исполняемый интерпретатором. Большинство инструкций байт-кода эквивалентны одной или нескольким командам ассемблера.
Бе́йсик (от BASIC, сокращение от англ. Beginner’s All-purpose Symbolic Instruction Code — универсальный код символических инструкций для начинающих; англ. basic — основной, базовый) — семейство высокоуровневых языков программирования.
Высокоуровневый язык программирования — язык программирования, разработанный для быстроты и удобства использования программистом.
Интерпретатор — программа, предназначенная для построчных трансляции и выполнения исходной программы.
Интерпретация — процесс покомандного выполнения программы интерпретатором без предварительной компиляции, «на лету»; в большинстве случаев интерпретация много медленнее работы уже скомпилированной программы, но не требует затрат на компиляцию, что в случае небольших программ может повышать общую производительность.
Кобол (COBOL, COmmon Business Oriented Language) — язык программирования третьего поколения (первая версия в 1959), предназначенный, в первую очередь, для разработки бизнес-приложений.
Компилятор — транслятор текста на машинный язык, который считывает исходный текст.
Компиляция — трансляция программы на язык, близкий к машинному, и последующая её компоновка.
Лекс —- это генератор программ лексического анализа.
Лисп (LISP, от англ. LISt Processing language — «язык обработки списков»; современное написание: Lisp) — семейство языков программирования, программы и данные в которых представляются системами линейных списков символов.
Машинно-независимые языки — средство описания алгоритмов решения задач и информации, подлежащей обработке.
Машинно-ориентированные языки — это языки, наборы операторов и изобразительные средства которых существенно зависят от особенностей ЭВМ (внутреннего языка, структуры памяти и т.д.).
Низкоуровневый язык программирования — язык программирования, близкий к программированию непосредственно в машинных кодах используемого реального или виртуального (например, Java, Microsoft .NET) процессора. Для обозначения машинных команд обычно применяется мнемоническое обозначение.
Особая система, по которой данные организуются в программе, -- это система типов языка программирования; разработка и изучение систем типов известна под названием теория типов.
Паскаль (англ. Pascal) — высокоуровневый язык программирования общего назначения.
Пролог (фр. Programmation en Logique) — язык и система логического программирования, основанные на языке предикатов математической логики дизъюнктов Хорна, представляющей собой подмножество логики предикатов первого порядка.
Реализация языка — это системная программа, которая переводит (преобразует) записи на языке высокого уровня в последовательность машинных команд.
РЕФАЛ (РЕкурсивных Функций АЛгоритмический) — один из старейших функциональных языков программирования, ориентированный на так называемые «символьные преобразования»: обработку символьных строк (например, алгебраические выкладки); перевод с одного языка (искусственного или естественного) на другой; решение проблем, связанных с искусственным интеллектом.
Система программирования — комплекс программ,
предназначенный для автоматизации программирования задач на ЭВМ.
Си (англ. C) — стандартизированный процедурный язык программирования, разработанный в начале 1970-х годов сотрудниками Bell Labs Кеном Томпсоном и Денисом Ритчи как развитие языка Би.
Транслятор — программа, предназначенная для перевода программы, написанной на одном языке программирования, в программу на другом языке программирования.
Трансляция — преобразование программы, представленной на одном из языков программирования, в программу на другом языке и, в определённом смысле, равносильную первой.
Форт (Forth) — язык программирования, в котором программы записываются в постфиксной записи и в стековой нотации.
Фортра́н (Fortran) — первый язык программирования высокого уровня, имеющий транслятор.
Язык Ассемблера — это язык программирования низкого уровня, мнемонические команды которого (за редким исключением) соответствуют инструкциям процессора вычислительной системы. Трансляция программы в исполняемый машинный код производится ассемблером (от англ. assembler - сборщик) - программой-транслятором, которая и дала языку ассемблера его название.
Язык программирования — формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполнит исполнитель (компьютер) под ее управлением.
Java — объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems.
Приложение №1. "Создание инструментальных средств разработки"
Создание инструментальных средств разработки |
|||
Инструментарий |
Что нового |
Цели |
|
Оптимизированные компиляторы |
Обеспечивают высокую производительность процессорной обработки за счет распараллеливания, предсказания ветвлений и спекулятивных вычислений |
Помогают реализовать потенциал 64-разрядных процессоров |
|
JIT-компиляторы |
В реальном времени компилируют код |
Увеличивают производительность интерпретируемых языков, таких как Java |
|
"Выборочные" компиляторы |
Компилируют только часто используемый код |
Увеличивают производительность, не тратя понапрасну дорогостоящие ресурсы памяти |
|
Приложение №2. "Сравнение языков программирования"
В приведенной ниже таблице отмечено наличие или отсутствие тех или иных возможностей в некоторых популярных сегодня языках программирования. Столбцы упорядочены по алфавиту. Если возможность в языке недоступна напрямую, но может быть эмулирована с помощью других средств, то в таблице отмечено, что её нет.
При заполнении таблицы учтены только фактические данные, при том, что наличие возможности не обязательно является преимуществом языка, а отсутствие -- недостатком.
Условные обозначения |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
+ |
Указанная возможность присутствует |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
- |
Указанная возможность отсутствует |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
+/- |
Возможность поддерживается не полностью |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
-/+ |
Возможность поддерживается очень ограниченно |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
? |
Нет данных |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
x |
Постановка вопроса не применима к языку |
||||||||||||||||||||||||||||||||||||||||||||||||||||||