русс | укр

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

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2015-07-23; просмотров: 1452; Нарушение авторских прав


Язык – это естественная или искусственная знаковая система для общения и передачи информации.

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

Рис. 1.7. Языки, участвующие в создании программы

Основные характеристики языков программирования [2]:

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

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

3. Концептуальная целостность. Характеризуется свойствами совокупности понятий, служащих для описания этого языка.

4. Надежность языка. Должна обеспечивать минимум ошибок при написании программ. Более того, язык должен быть таким, чтобы неправильные программы было трудно писать.

5. Удобочитаемость. Это легкость восприятия программ человеком. Особенно важна при коллективной работе.

6. Полнота. Характеризует способность описать класс задач в некоторой предметной области.

7. Гибкость. Характеризует легкость выражения необходимых действий.

8. Мобильность. Независимость от аппаратных средств, обеспечивающая переносимость программного обеспечения.

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

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

 

Уровень языка связан с историей и эволюцией языков программирования:



1. Поколение 0 (языки нулевого уровня). Это машинные языки. Они появились с появлением первых ЭВМ в середине 40-х годов ХХ века.

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

3. Второе поколение – макроассемблеры. Это языки типа 1:n. Используют дополнительные более сложные конструкции. Эти два поколения иногда объединяют. Появились в конце 50-х годов.

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

5. Четвертое поколение – проблемные языки или языки поддержки сложных структур данных. Это специализированные языки описания задач типа «заполни бланк». Используя подобный язык, пользователь сообщает только, какую задачу надо решить и с какими данными. Например SQL.

6. Пятое поколение – языки искусственного интеллекта, такие, как Prolog, Lisp.

7. Шестое поколение – языки нейронных сетей или самообучающиеся языки.

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

 

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

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

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

Fortran (1954)

Algol 60 (1960)

Basic (1963)

Algol 68 (1968)

PL/1 (1968).

С-семейство языков:

C (1972)

C K&R (1978)

C++ (1983)

C++ ARM (1990)

ISO C90 (1990)

Java (1995)

Limbo (1996)

C++ Std (1998)

ISO C99 (1999)

C# (2000)

Pascal-семейство языков:

Pascal (1970)

Modula-2 (1978)

Object Pascal (1985)

Modula-3 (1988)

Oberon (1988)

Oberon-2 (1991)

Component Pascal (1997)

Но широкое распространение получили только некоторые из них. При универсальном программировании на персональных компьютерах наиболее часто используются языки Си (C++), Паскаль (Object Pascal), Бейсик (VBA).

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



<== предыдущая лекция | следующая лекция ==>
Блок-схемы алгоритмов | Паскаль и Object Pascal, Турбо-Паскаль и Delphi


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.005 сек.