Файл: Классификация языков программирования.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 06.04.2023

Просмотров: 298

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

– Усовершенствования Activex;

–Усовершенствования VCL. Иерархия объектов Delphi была расширена, чтобы включить новый компонент для Nt Service приложений. Кроме того, новый компонент выполняемого списка (на Стандартной странице палитры), позволяет централизовать управление меню и команд от кнопок. Управление VCL расширено, чтобы поддерживать drag-and-drop перетаскивания, обеспечивать дополнительный контроль над размещением окна, и многое другое.

Delphi – это комбинация нескольких важнейших технологий:

– высокопроизводительный компилятор в машинный код;

– объектно-ориентированная модель компонент;

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

– масштабируемые средства для построения баз данных.

Компилятор, встроенный в Delphi, обеспечивает высокую производительность, необходимую для построения приложений в архитектуре «клиент-сервер». Он предлагает легкость разработки и быстрое время проверки готового программного блока, характерного для языков четвертого поколения. Кроме того, Delphi обеспечивает быструю разработку без необходимости писать вставки на Си или ручного написания кода (хотя это возможно).

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

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


Объекты БД в Delphi основаны на SQL и включают в себя полную мощь Borland Database Engine. В состав Delphi также включен Borland SQL LINK, поэтому доступ к СУБД Oracle, Sybase, Informix и Interbase происходит с высокой эффективностью. Кроме того, Delphi включает в себя локальный сервер Interbase для того, чтобы можно было разработать расширяемые на любые внешние sql-сервера приложения в офлайновом режиме. Разработчик в среде Delphi, проектирующий информационную систему для локальной машины (к примеру, небольшую систему учета медицинских карточек для одного компьютера), может использовать для хранения информации файлы формата .dbf (как в dbase или clipper) или .db (paradox). Если же он будет использовать локальный interbase for windows (это локальный SQL-сервер, входящий в поставку), то его приложение безо всяких изменений будет работать и в составе большой системы с архитектурой клиент-сервер.

3 Visual Fortran (Fortran)

В конце 1953 Джон Бэкус предложил начать разработку эффективной альтернативы ассемблеру для программирования на ПК IBM 704. Уже к середине 1954 была закончена черновая спецификация языка Fortran. Первое руководство для Fortran появилось в октябре 1956 вместе с первым компилятором, поставленным в апреле 1957. Компилятор был оптимизирующим, потому что клиенты отказывались использовать язык программирования высокого уровня, который был не в состоянии генерировать код с производительностью ниже, чем у ассемблера.

В то время сообщество относилось скептически к новому способу программирования и не верили в то, что Fortran позволит программировать быстрее и эффективнее. По словам самого Джона Бэкуса большая часть его работы была направлена на то чтобы «быть ленивым». Ему жутко не нравилось писать программы под IBM 701 на ассемблере.

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

К 1960 году существовали версии Fortran для компьютеров IBM 709, 650, 1620, 7090. Его большая популярность побуждала конкурирующих изготовителей компьютеров создавать компиляторы Fortran для своих компьютеров. Таким образом, уже к 1963 существовало более 40 компиляторов для разных платформ. Именно по этому Fortran считают первым широко используемым языком программирования.

Поскольку FORTRAN оказался столь успешным языком, в Европе возникли опасения, что IBM будет доминировать в компьютерной отрасли. Немецкое общество прикладной математики (German society of applied mathematics — GAMM) создало комитет по разработке универсального языка. В то же время Association for Computing Machinery (ACM) организовала похожий комитет в США. Несмотря на то, что у европейцев было некоторое беспокойство по поводу господства американцев, оба этих комитета слились в один. Под руководством Питера Наура (Peter Naur) этот комитет разработал IAL (International Algorithmic Language). Предлагавшееся название ALGOL (ALGOrithmic Language) было вначале отвергнуто. Но поскольку оно стало общеупотребительным, официальное имя IAL пришлось впоследствии изменить на ALGOL 58. Новая версия появилась в 1960 г., и ALGOL 60 (с небольшими изменениями, сделанными в 1962 г.) с 60-х и до начала 70-х гг. прошлого века был стандартом академического языка программирования.


4 C++ (С)

Название C++ в 1983-м. придумал Рик Масситти. Добавление "++" - соответствует операции приращения в языке C. Если записать это имя сокращенно в виде C+ - то это будет синтаксической ошибкой и такое имя однажды уже использовалось для другого языка.

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

Понятно, что язык C++ берет истоки у C. C является подмножеством и для того, чтобы легко справляться с настоящими задачами в сфере программирования, акцента сделанного на средствах низкого уровня в C, более чем достаточно. С другой стороны язык C достаточно обязан своему предшественнику BCPL — ведь комментарий « // » взят в C++ из BCPL. В языке C++ по-прежнему нет VALOF блока, это должно быть известно знающим BCPL. Язык Simula67 тоже является еще одним истоком C++. Из языка Simula67 была скопирована концепция класса, вместе с функциями членами и производными классами. С помощью этого можно было способствовать модульности через использование виртуальных функций. Свобода в расположении описаний везде, где только встречаться оператор и возможности C++ по перегрузке операций имеют схожесть с языком Алгол68. 

C++ появился не так давно — в 1983 году. Начиная с 1980-ого года, язык C++ имел версии, которые имели название «С с классами». Задумка у автора языка возникла по такой причине: имела место некая необходимость создать модель, похожую на язык Simula67, но более эффективную, с более высокой производительностью. Для больших проектов моделирования, где использовались и тестировались возможности написания программ, которые требовали минимум затрат времени и памяти при выполнении — использовался "C с Классами". В этом языке не хватало ссылок, виртуальных функций и многих деталей, перегрузки операций. C++ был введен в 1983-м году, вне самой исследовательской группы автора. Язык в то время был без многих особенностей и дополнений, которые вносились в С++ со временем его использования.


C++ хуже, чем ++C — так считают знатоки семантики С. С++ не получил названия D, так как в нем сохранены все особенности языка С и он является расширением С.

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

Работа с C позволила "C с Классами" быть нужным и необходимым (но не очень неудобным) инструментом в ходе первых работ с языком и привела к размышлению о добавлении к C Simula-образных классов.  По мере использования C++, возможности языка становились всё более существенными и отличными от C, в связи с этим неоднократно поднимался вопрос, действительно ли является необходимым сохранять совместимость этих двух языков. Понятно, что если отказаться от части наследия C, то ряд проблем возможно решатся сами собой. Вот причины, по которым этого не было сделано:

1) тысячи строк, используемых на С приносят несравненную пользу при написании программ на C++, так как их не нужно переписывать полностью;

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

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

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

Позднее, чтобы быть уверенными в том, что абсолютно любая конструкция, созданная на одном из этих двух языков, была идентична конструкции, созданной на другом, была проведена проверка определения C++.
Сам язык С за последние годы эволюционировал благодаря движению С++. Грубый ANSI стандарт C, до этого, содержал заимствованный из языка «С с классами». К примеру, указатель void* изобретался для ANSI C и в первый раз использован в C++. Вероятно настанет время, когда ANSI будет расти дальше, тогда необходимо будет пересмотреть C++, чтобы удалить несовместимость, которая на то время, уже будет совершенно необоснованной. Например, нужно будет, судя по всему, отрегулировать правила существования плавающей арифметики потому, что был модернизирован препроцессор. ANSI и C очень близки к тому, чтобы стать подмножествами C++ .


Во время выполнения в программе или подпрограмме, отдельные операторы и выражения не нуждаются в скрытой поддержке, исключением является лишь память new и delete. В C++ и C равны последовательности возврата функций и ее вызовы. Если даже этот вполне эффективный механизм находится слишком дорогим при использовании, то в C++ есть такая функция как inline, объясняющая своим присутствием, что функции записываются без дополнительных расходов по времени на выполнение. Изначально Cпроектировался как язык приятный и удобный в использовании и тем самым вытесняющий собой ассемблер. Превосходит степень выделенного внимания структурам и типам, если сравнивать C++ и C. Язык C++ еще более снисходительный и выразительный чем C, только чтобы достичь такой выразительности, особое внимание должно быть уделено типам объектов. Если такое внимание типам объектов не уделено, компилятор не сможет оценивать и обрабатывать правильно выражения и программист должен прописывать все-все подробности. Так же, если компилятор знает типы объектов, те ошибки, которые остаются до тестирования, при таком условии будут им непременно замечены. Так же следует отметить, что использование системы типов, чтобы защитить все данные от искажения задать новые операции и т. д., ни в коем случае не увеличивает расходов ни по времени, ни по памяти.

На возрастании масштаба программ, которые были написаны с начала времени разработки C, отразилось особое внимание, уделенное при разработке С++. Даже если не соблюдать все правила хорошего стиля, небольшую программу в размере до 1000 строк не сложно заставить работать, применив силу. Если программа большего размера, то это не так. Например, если программа в 10 000 с плохой структурой, то новые ошибки будут появляться с такой же скоростью, как будут удаляться старые.

С++ разрабатывался так, чтобы понять и разобраться в больших программах, имеющих более 25 000 строк не составляло большого труда как для компаний программистов, так и для одного человека. Так же существуют программы намного объемнее, но состоят они из нескольких частей друг от друга почти независящих. Еще нужно учитывать, что вся сложность написания и в дальнейшем безошибочного использования программы зависит от уровня и сложности самой разработки и число строк текста в программе играет не первую, как казалось бы, роль.

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