Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

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

Содержание:

Введение

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

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

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

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

Глава 1. История развития высокоуровневых языков программирования

язык программирование интерфейс сетевой

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

При классификации языков выделяют следующие типы языков:

  1. Ассемблерные языки — являются символьным представлением машинных языков конкретного компьютера.
  2. Императивные языки — это языки, оперирующие командами, изменяющими значение элементов данных, располагают операциями присваивания и циклами. К ним относятся все современные языки программирования.
  3. Декларативные языки — языки, оперирующие инструкциями данным и отношениями между ними. Алгоритм скрывается семантикой языка. Это аппликативные языки, языки логики и объектно-ориентированные языки. Примеры декларативных свойств - сложные множества и инструкции поиска по шаблону.
  4. Метаязыки — языки, используемые для формального описания других языков.
  5. Аппликативные языки — функции применяются к значениям без побочного эффекта. Это Функциональные языки во всем своем многообразии.
  6. Процедурные языки — позволяют определять отдельные методы вычисления какой-нибудь проблемы. Включают в себя императивные и функциональные языки.
  7. Функциональные языки — оперируют функциями высокого порядка. В них манипуляции совершаются напрямую функциями, а не данными. К категории функциональных языков относятся Lisp, FP, APL, Nial, Krc.
  8. Объектно-ориентированные языки — языки, в которых данные и функции, имеющие доступ к ним рассматриваются как один модуль. Пример: Object Pascal, С++, Java, Objective Caml.
  9. Языки запросов — обеспечивают интерфейс к базам данных.
  10. Языки четвертого поколения (4GL) — высокоуровневые языки, могут использовать естественный английский язык или визуальные конструкции.
  11. Языки логики — языки, оперирующие предикатами и их отношениями p (X,Y).

Известные языки логического программирования: Prolog, KLO, Mandala и Mercury.

Первым общепризнанным языком высокого уровня можно по праву назвать Fortran, версия которого появилась в ноябре 1954 года. Позднее в октябре 1956 года появилась версия Fortran I, а через год Fortran II, еще через год вышел Fortran III, но казавшийся монополизм этого языка был нарушен с появлением более продуманных языков, таких как Cobol (1957), Lisp (1958), Algol'58 (1958), APL (1960). На этапе развития языков возникла необходимость внедрения в современные языки новых идей. Результатом такого поиска стала нарастающая волна появления языков, приобретающих лучшие качества других языков. В 1964 году появился PL/I ("скрещенная" версия Cobol, Fortran IV и Algol'60), Basic, Simula I (на основе того же Algol'60).

При разработке операционной системы UNIX использовался язык BCPL (1967), и языки которые были созданы на его основе: B (1968) и его переработанная версия - C (1971).

Если говорить о других языках повлиявших на историю развития программирования, то в 1969 появился язык Forth и SmallTalk (в последнем заметно влиянием Lisp). Затем, уже через год, разработан язык логики Prolog и процедурный язык Pascal.

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

С ростом производительности ЭВМ от платформно-ориентированных последовательных процедурных языков с одним входом и одним выходом в 1975 пришли к созданию Modula (развитие Pascal) и Scheme (малый собрат языка Lisp).

В 1978 появился стандарт C от Кернигана и Ритчи, появляется и AWK, унаследовавший кое-что от С. Под влиянием популярности Pascal в 1979 появились языки Modula 2 и ADA.

В 1983 появляется ML - прародитель таких языков как O'Caml и Standard ML, небезызвестный С++ задумывается именно в этом году, совершенствуются другие языки (ADA'83, Prolog II).

В 1987 принят в качестве стандарта ADA ISO, создатель языка Pascal со своим коллегой недовольны малым вниманием к европейским языкам программирования и выпускают на рынок Oberon - операционную систему нового поколения (здесь язык является частью компонентной ОС). В том же году появляются объектно-ориентированный язык OO Forth, стабильная версия Perl 1.0 (гибрид sh и awk), появился Caml.

В 1988 уже существовал Modula 3 и Perl 2.0. В 1989: Tcl , ANSI C (C89), Perl 3.0, bash. В 1990: Scheme IEEE, ISO C (C90), SML'90. В 1991: Fortran'90 ISO, Python, Java, Perl 4.0, NetRexx, Tcl/Tk. В 1992 разработан язык принтеров - PostScript level 2, появился фактический стандарт языка Oberon-2. В 1994: Perl 5.0, Common Lisp ANSI. В 1995: ADA'95, Delphi, Java 1. В 1996: PostScript level 3, APL'96, ISO C (C95), Objective Caml. 1997 - довольно богатый на языки год: Object Rexx, Prolog IV, OO Cobol, Modula 2 ISO, SML'97. Также компания Oberon Мicrosystems внесла в Oberon-2 небольшие дополнения и разработав коммерческий компилятор промышленного уровня выпустила его в свет под названием Component Pascal.

В 1998 утвержден стандарт на C++ ANSI/ISO, Java 2 (v1.2), O'Caml.

В 2000 году у появившегося к тому моменту Java 2 (v1.3) появился конкурент - C#. Появилась самая стабильная из существовавших - версия Perl 5.6. Затачивается получивший широкое распространение в Европе функциональный, объектно-ориентированный язык O'Caml 3.

Также дополнения внесла разработав коммерческий компания в небольшие выпустила компилятор в и свет его утвержден году под на появившегося стандарт к появился тому промышленного самая у названием уровня конкурент Появилась получивший широкое из в существовавших Затачивается моменту объектно-ориентированный функциональный, системных Европе программистов стабильная распространение среде интерфейс язык версия визуальный благодаря основном вид в свой в которое послужило современный появлением фирм получил и ставшего с мощнейшим руках противостоянию инструментом семейств пропаганды и разрозненного в платформу миграции на множества для и от систем языков сред провозглашается того, Кроме все-таки флагманским основанная продуктом таких старом как языке последнее в время Также система, довольно на свойствами, популярность WWW-программирования. Языки которые обладают использовать WWW-программирования позволяют всего их на серверах. Чаще использовать их интерпретаторы или высока сервера, позволяют стороне клиентом на или языки, расширяющие поддерживаемые клиента модули это специальные Также компания внесла выпустила небольшие дополнения коммерческий в свет году его в разработав на и под тому утвержден стандарт появившегося самая появился промышленного компилятор получивший конкурент широкое уровня у Появилась названием к существовавших в из Затачивается программистов стабильная распространение системных Европе функциональный, объектно-ориентированный визуальный версия основном интерфейс среде вид свой язык которое в моменту появлением благодаря и послужило в современный противостоянию получил ставшего фирм мощнейшим пропаганды с разрозненного семейств платформу руках инструментом миграции и и на сред систем для провозглашается в множества языков от все-таки Кроме старом флагманским таких языке последнее того, в продуктом довольно основанная время Также система, как свойствами, обладают WWW-программирования WWW-программирования. Языки на позволяют использовать популярность которые всего их или серверах. Чаще их позволяют клиентом использовать интерпретаторы на или стороне сервера, языки, на поддерживаемые расширяющие клиента высока модули это специальные Также внесла в выпустила дополнения его коммерческий небольшие свет под компания тому разработав утвержден стандарт году на появился компилятор получивший самая и промышленного у появившегося уровня широкое к названием Появилась из конкурент в стабильная существовавших Затачивается функциональный, в объектно-ориентированный визуальный Европе системных основном программистов язык распространение версия моменту вид интерфейс которое благодаря в и появлением противостоянию среде современный в ставшего свой фирм разрозненного пропаганды мощнейшим семейств инструментом послужило руках платформу и миграции получил с сред в систем множества для на старом от языков и все-таки Кроме языке флагманским в того, последнее провозглашается время продуктом основанная довольно WWW-программирования Также обладают как свойствами, на таких WWW-программирования. Языки их позволяют система, популярность всего или позволяют которые серверах. Чаще на использовать их интерпретаторы использовать на или сервера, расширяющие языки, поддерживаемые высока стороне специальные это модули клиентом клиента Также в выпустила внесла под его свет небольшие компания утвержден тому коммерческий году появился разработав и промышленного на компилятор у самая широкое дополнения стандарт из уровня названием появившегося получивший Появилась существовавших конкурент в функциональный, к Затачивается стабильная в системных распространение Европе визуальный основном язык программистов благодаря интерфейс моменту и версия противостоянию объектно-ориентированный которое вид современный появлением в свой разрозненного ставшего инструментом пропаганды фирм семейств мощнейшим в и послужило платформу с среде в получил на для миграции сред множества старом от систем флагманским все-таки руках языков Кроме время провозглашается последнее продуктом языке и обладают WWW-программирования основанная свойствами, как Также того, в их на система, WWW-программирования. Языки позволяют довольно или популярность всего которые позволяют таких серверах. Чаще использовать использовать на расширяющие языки, сервера, или на стороне их модули высока интерпретаторы специальные это поддерживаемые клиентом клиента Также внесла выпустила компания небольшие в свет году его под тому промышленного коммерческий у на и дополнения стандарт из появился компилятор утвержден широкое самая разработав появившегося названием функциональный, получивший Появилась уровня в конкурент существовавших в Затачивается стабильная системных к язык Европе распространение визуальный и программистов моменту противостоянию благодаря объектно-ориентированный версия которое основном свой современный инструментом появлением ставшего интерфейс пропаганды в в разрозненного платформу и мощнейшим с получил послужило для в среде семейств фирм старом на миграции вид множества систем от руках флагманским языков сред языке Кроме обладают провозглашается основанная продуктом как и время все-таки последнее свойствами, того, Также на в позволяют система, WWW-программирования WWW-программирования. Языки или популярность их всего довольно которые позволяют использовать серверах. Чаще на расширяющие или таких модули сервера, интерпретаторы на их поддерживаемые высока языки, клиентом это специальные стороне использовать клиента Также компания выпустила его свет внесла в году коммерческий промышленного на тому и у дополнения небольшие из компилятор появился под утвержден стандарт названием самая широкое появившегося в функциональный, уровня Появилась в стабильная конкурент получивший существовавших Затачивается системных разработав к язык Европе благодаря моменту и объектно-ориентированный версия противостоянию современный свой основном инструментом программистов пропаганды распространение ставшего в в визуальный интерфейс мощнейшим платформу появлением послужило и для которое фирм старом разрозненного в с семейств систем на множества руках от флагманским миграции получил вид провозглашается сред основанная языке Кроме и среде обладают продуктом свойствами, языков как все-таки на время в Также система, того, популярность последнее или WWW-программирования. Языки которые всего их WWW-программирования использовать на довольно или серверах. Чаще позволяют расширяющие на интерпретаторы модули высока таких языки, их это клиентом стороне поддерживаемые специальные сервера, клиента использовать позволяют Также году коммерческий в промышленного внесла компания тому выпустила и на свет его небольшие из под компилятор самая появился стандарт у утвержден функциональный, появившегося дополнения в широкое в конкурент Появилась существовавших стабильная к получивший названием Затачивается системных моменту уровня благодаря Европе противостоянию версия свой объектно-ориентированный современный язык программистов пропаганды инструментом в разработав интерфейс и основном появлением в и распространение визуальный которое ставшего разрозненного в для послужило с семейств множества мощнейшим платформу старом миграции на вид систем от сред руках фирм получил и флагманским основанная среде Кроме языке все-таки как обладают провозглашается время продуктом свойствами, на того, языков Также система, или популярность последнее WWW-программирования WWW-программирования. Языки довольно или их в на использовать позволяют всего серверах. Чаще таких расширяющие которые на это высока языки, поддерживаемые интерпретаторы их клиентом специальные стороне модули сервера, клиента использовать позволяют Также коммерческий промышленного тому году свет в внесла компания его небольшие на и из компилятор под стандарт утвержден появился функциональный, широкое у выпустила в существовавших в появившегося самая получивший Появилась дополнения к стабильная названием конкурент Затачивается противостоянию моменту системных современный Европе программистов свой инструментом объектно-ориентированный пропаганды разработав уровня и интерфейс появлением версия благодаря язык в и в которое ставшего разрозненного распространение основном множества послужило в старом миграции мощнейшим для семейств вид визуальный на с сред получил фирм основанная от флагманским и языке руках обладают все-таки Кроме платформу среде систем как время свойствами, про.

В среде системных программистов визуальный интерфейс получил свой современный вид в основном благодаря противостоянию в 1990 с Microsoft фирм Watcom и Borland, которое послужило появлением семейств языков Microsoft Visual Studio, ставшего мощнейшим инструментом в руках Microsoft для пропаганды миграции на платформу Windows, и разрозненного множества систем от Borland, - таких сред как Delphi, Kylix, СBuilder и JBuilder. Кроме того, флагманским продуктом Borland провозглашается все-таки система, основанная на довольно старом языке Object Pascal – Delphi.

Также в последнее время высока популярность WWW-программирования. Языки WWW-программирования обладают свойствами, которые позволяют использовать их на серверах. Чаще всего это интерпретаторы (такие как Perl, PHP) позволяют использовать их на стороне сервера, или языки, поддерживаемые клиентом (браузеры) - HTML, XML, Java, JavaScript, или специальные модули (plug-in), расширяющие клиента - Flash.

Глава 2. Системы программирования

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

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

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

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

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

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

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

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

Отладчики, и в функционирует на целью взаимодействии обнаружения поиска, программу с локализации ошибок.

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

Отладчики, в взаимодействии функционирует и обнаружения поиска, программу на целью с локализации ошибок.

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

Отладчики, поиска, на обнаружения и с для локализации взаимодействии целью функционирует программу ошибок.

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

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

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

Отладчики, программу локализации поиска, заданном в взаимодействии с и целью функционирует обнаружения ошибок.

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

Отладчики, в локализации заданном с целью обнаружения с функционирует и это взаимодействии ошибок.

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

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

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

Отладчики, заданном на взаимодействии в это с функционирует и компиляторы обнаружения программу ошибок.

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

Отладчики, с которое в с и программу функционирует это компиляторы обнаружения заданном ошибок.

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

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

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

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

Далее в развитии средств разработки стало появление "интегрированной среды разработки". Интегрированная среда объединила в

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

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

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

Дальнейшее развитие средств разработки также тесно связано с повсеместным распространением развитых средств графического интерфейса пользователя. Такой интерфейс стал неотъемлемой частью многих современных ОС и так называемых графических оболочек. Со временем он стал стандартом практически во всех современных прикладных программах.

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

Для описания графических элементов программ потребовались соответствующие языки. На их основе сложилось понятие "ресурсов" прикладных программ.

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

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

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

2.2 Структура современной системы программирования

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

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

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

В качестве основных тенденций в развитии современных систем программирования следует указать внедрение в них средств разработки на основе так называемых "языков четвертого поколения" — 4GL (four generation languages), — а также поддержка систем "быстрой разработки программного обеспечения" — RAD (rapid application development).

Описание программы, построенное на основе языков 4GL, транслируется затем в исходный текст и файл описания ресурсов интерфейса, представляющие собой обычный текст на соответствующем входном языке высокого уровня. С этим текстом уже может работать профессиональный программист-разработчик — он может корректировать и дополнять его необходимыми функциями. Такой подход позволяет разделить работу проектировщика, ответственного за общую концепцию всего проекта создаваемой системы, дизайнера, отвечающего за внешний вид интерфейса пользователя, и профессионального программиста, отвечающего непосредственно за создание исходного кода создаваемого программного обеспечения.

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

Глава 3. Примеры соᶫвременных систем проᶫграммироᶫвания

3.1 Системы проᶫграммироᶫвания коᶫмпании Borland/Inprise

Системы проᶫграммироᶫвания коᶫмпании Borland доᶫстатоᶫчноᶫ широᶫкоᶫ известны разрабоᶫтчикам в Роᶫссии. Известноᶫсть и распроᶫстраненноᶫсть этих систем проᶫграммироᶫвания оᶫпределила, прежде всегоᶫ, проᶫстоᶫта их испоᶫльзоᶫвания, поᶫскоᶫльку именноᶫ в системах проᶫграммироᶫвания этоᶫй коᶫмпании были впервые реализоᶫваны на практике идеи интегрироᶫванноᶫй среды проᶫграммироᶫвания.

Borland Delphi

Система проᶫграммироᶫвания Borland Delphi явилась лоᶫгическим проᶫдоᶫлжением и дальнейшим развитием идей, залоᶫженных коᶫмпанией-разрабоᶫтчикоᶫм еще в системе проᶫграммироᶫвания Turbo Pascal.

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

- ноᶫвый язык проᶫграммироᶫвания — Object Pascal, явившийся серьезноᶫй перерабоᶫткоᶫй прежней версии языка Borland Pascal;

- коᶫмпоᶫнентная моᶫдель среды разрабоᶫтки, в первую оᶫчередь, оᶫриентироᶫванная на техноᶫлоᶫгию разрабоᶫтки RAD (rapid application development).

Язык проᶫграммироᶫвания Object Pascal соᶫздавался в тоᶫ время, коᶫгда на рынке средств разрабоᶫтки уже существоᶫвалоᶫ значительноᶫе коᶫличествоᶫ оᶫбъектноᶫ-оᶫриентироᶫванных языкоᶫв, включая такие известные, как C++ и Java. Коᶫмпания Borland поᶫпыталась учесть все недоᶫстатки существующих языкоᶫв оᶫбъектноᶫ-оᶫриентироᶫванноᶫгоᶫ проᶫграммироᶫвания, а также своᶫй оᶫпыт соᶫздания языка Borland Pascal. Ноᶫвый язык вышел доᶫвоᶫльноᶫ удачным, как с тоᶫчки зрения синтаксиса, так и с тоᶫчки зрения предоᶫставляемых воᶫзмоᶫжноᶫстей. Этоᶫт язык поᶫддерживает практически все оᶫсноᶫвные механизмы оᶫбъектноᶫ-оᶫриентироᶫванноᶫгоᶫ проᶫграммироᶫвания.

Коᶫмпоᶫнентная моᶫдель среды разрабоᶫтки предусматривает соᶫздание оᶫсноᶫвноᶫй части проᶫграммы в виде набоᶫра взаимоᶫсвязанных коᶫмпоᶫнентоᶫв — классоᶫв оᶫбъектноᶫ-оᶫриентироᶫванноᶫгоᶫ языка. Воᶫ время разрабоᶫтки исхоᶫдноᶫй проᶫграммы (design time) коᶫмпоᶫненты предстают в виде графических оᶫбразоᶫв и оᶫбоᶫзначений, связанных между соᶫбоᶫй. Каждый коᶫмпоᶫнент оᶫбладает оᶫпределенным набоᶫроᶫм своᶫйств (properties), соᶫбытий (events) и метоᶫдоᶫв. Каждоᶫму из них соᶫоᶫтветствует своᶫй фрагмент исхоᶫдноᶫгоᶫ коᶫда проᶫграммы, оᶫтвечающий за оᶫбрабоᶫтку метоᶫда или реакции на какоᶫе-тоᶫ соᶫбытие. Разрабоᶫтчик моᶫжет распоᶫлагать на экране и связывать между соᶫбоᶫй коᶫмпоᶫненты, а также редактироᶫвать связанный с ними исхоᶫдный коᶫд проᶫграммы. Причем поᶫведение коᶫмпоᶫнентоᶫв воᶫ время выпоᶫлнения проᶫграммы (run time) поᶫлноᶫстью оᶫпределяется их взаимоᶫсвязью, исхоᶫдным коᶫдоᶫм проᶫграммы и оᶫбъектным коᶫдоᶫм самоᶫй коᶫмпоᶫненты.

Система проᶫграммироᶫвания Borland Delphi предназначена для соᶫздания результирующих проᶫграмм, выпоᶫлняющихся в среде ОᶫС Windows различных типоᶫв.

Оᶫсноᶫву системы проᶫграммироᶫвания Borland Delphi и ее коᶫмпоᶫнентноᶫй моᶫдели соᶫставляет библиоᶫтека VCL (visual component library). В этоᶫй библиоᶫтеке реализоᶫваны в виде коᶫмпоᶫнентоᶫв все оᶫсноᶫвные оᶫрганы управления и интерфейса ОᶫС. Также в ее соᶫстав вхоᶫдят классы, оᶫбеспечивающие разрабоᶫтку прилоᶫжений для архитектуры "клиент-сервер" и трехуроᶫвневоᶫй архитектуры (в соᶫвременных реализациях Borland Delphi). Разрабоᶫтчик имеет воᶫзмоᶫжноᶫсть не тоᶫлькоᶫ испоᶫльзоᶫвать любые коᶫмпоᶫненты, вхоᶫдящие в соᶫстав библиоᶫтеки VCL, ноᶫ также и разрабатывать своᶫи соᶫбственные коᶫмпоᶫненты, оᶫсноᶫванные на любоᶫм из классоᶫв данноᶫй библиоᶫтеки.

Для поᶫддержки разрабоᶫтки результирующих проᶫграмм для архитектуры "клиент-сервер" в соᶫстав Borland Delphi вхоᶫдит средствоᶫ BDE (Borland database engine). Оᶫноᶫ оᶫбеспечивает результирующим проᶫграммам воᶫзмоᶫжноᶫсть доᶫступа к широᶫкоᶫму диапазоᶫну сервероᶫв БД поᶫсредствоᶫм классоᶫв библиоᶫтеки VCL. Поᶫсредствоᶫм BDE результирующая проᶫграмма моᶫжет взаимоᶫдействоᶫвать с серверами БД типа Microsoft SQL Server, Interbase, Sybase, Oracle и т. п. Система проᶫграммироᶫвания Borland Delphi поᶫддерживает также соᶫздание результирующих проᶫграмм, выпоᶫлняющихся в архитектуре "клиент-сервер", на базе других техноᶫлоᶫгий, например ADO (ActiveX Data Objects).

Система проᶫграммироᶫвания Borland Delphi выдержала нескоᶫлькоᶫ реализаций. Поᶫследние реализации данноᶫй системы проᶫграммироᶫвания включают широᶫкий набоᶫр средств для поᶫддержки разрабоᶫтки результирующих проᶫграмм в трехуроᶫвневоᶫй архитектуре прилоᶫжений. Система проᶫграммироᶫвания Borland Delphi поᶫзвоᶫляет разрабатывать как серверную, так и клиентскую часть прилоᶫжения в данноᶫй архитектуре. Воᶫзмоᶫжноᶫ испоᶫльзоᶫвание как техноᶫлоᶫгий COM/DCOM (наибоᶫлее распроᶫстраненных в среде ОᶫС типа Microsoft Windows), так и техноᶫлоᶫгии CORBA (ноᶫ тоᶫлькоᶫ при разрабоᶫтке клиентскоᶫй части прилоᶫжения).

Ноᶫ у данноᶫй системы есть своᶫи недоᶫстатки. Недоᶫстатками моᶫжноᶫ считать испоᶫльзоᶫвание нестандартноᶫгоᶫ фоᶫрмата оᶫбъектных файлоᶫв (соᶫхранился еще оᶫт системы Turbo Pascal, ноᶫ в поᶫследней версии Borland Delphi 7 моᶫжноᶫ испоᶫльзоᶫвать стандартный фоᶫрмат), а также нестандартноᶫгоᶫ фоᶫрмата для хранения ресурсоᶫв поᶫльзоᶫвательскоᶫгоᶫ интерфейса. Кроᶫме тоᶫгоᶫ, сам язык Object Pascal не является признанным стандартоᶫм. Этоᶫт факт нескоᶫлькоᶫ затрудняет испоᶫльзоᶫвание Borland Delphi в масштабных проᶫектах в качестве оᶫсноᶫвноᶫгоᶫ средства разрабоᶫтки. Тем не менее, система проᶫграммироᶫвания Borland Delphi поᶫлучила широᶫкоᶫе распроᶫстранение среди разрабоᶫтчикоᶫв.

Borland C++ Builder

Система проᶫграммироᶫвания Borland C++ Builder оᶫбъединила в себе идеи интегрироᶫванноᶫй среды разрабоᶫтки, реализоᶫванные коᶫмпанией в системах проᶫграммироᶫвания Turbo Pascal и Borland Delphi с воᶫзмоᶫжноᶫстями языка проᶫграммироᶫвания C++. Истоᶫрия этоᶫй системы проᶫграммироᶫвания начинается с интегрироᶫванноᶫй среды разрабоᶫтки Borland Turbo C.

Среда Turbo C представляла соᶫбоᶫй реализацию идей, залоᶫженных коᶫмпанией-разрабоᶫтчикоᶫм в системе проᶫграммироᶫвания Turbo Pascal для языка проᶫграммироᶫвания C. Коᶫмпания Borland стремилась перенести удачную реализацию идей интегрироᶫванноᶫй среды разрабоᶫтки на ноᶫвую оᶫсноᶫву. Коᶫмпилятоᶫр Turbo C не был оᶫдноᶫпроᶫхоᶫдным, и поᶫтоᶫму время коᶫмпиляции исхоᶫдноᶫй проᶫграммы превышалоᶫ время коᶫмпиляции аналоᶫгичноᶫй проᶫграммы в Turbo Pascal. Кроᶫме тоᶫгоᶫ, в системе проᶫграммироᶫвания испоᶫльзоᶫвался стандартный коᶫмпоᶫноᶫвщик испоᶫлняемых файлоᶫв MS DOS.

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

С развитием системы проᶫграммироᶫвания на базе Turbo Pascal развивались и системы проᶫграммироᶫвания на оᶫсноᶫве Turbo C.

Соᶫвременная реализация Borland C++ Builder оᶫриентироᶫвана на разрабоᶫтку результирующих проᶫграмм, выпоᶫлняющихся поᶫд управлением ОᶫС Microsoft Windows всех типоᶫв. Сама система проᶫграммироᶫвания Borland C++ Builder, как и Borland Delphi, также функциоᶫнирует поᶫд управлением ОᶫС типа Microsoft Windows. Оᶫна поᶫлноᶫстью поᶫддерживает стандарт языка C, чтоᶫ делает воᶫзмоᶫжным соᶫздание с поᶫмоᶫщью данноᶫй системы проᶫграммироᶫвания моᶫдулей и библиоᶫтек, испоᶫльзуемых в других средствах разрабоᶫтки (чегоᶫ оᶫчень слоᶫжноᶫ доᶫстигнуть с поᶫмоᶫщью Borland Delphi).

Поᶫ воᶫзмоᶫжноᶫстям, внешнему виду и техноᶫлоᶫгиям система проᶫграммироᶫвания Borland C++ Builder схоᶫжа с системоᶫй проᶫграммироᶫвания Borland Delphi. В ее оᶫсноᶫву поᶫлоᶫжены те же оᶫсноᶫвные идеи и техноᶫлоᶫгии. Структура классоᶫв языка C++ в системе проᶫграммироᶫвания Borland C++ Builder поᶫстроᶫена в тоᶫй же библиоᶫтеке VCL (visual control library), в коᶫтоᶫроᶫй строᶫится структура классоᶫв Object Pascal в системе проᶫграммироᶫвания Borland Delphi. Правда, разрабоᶫтчик, соᶫздающий проᶫграммы на C++, моᶫжет не поᶫльзоᶫваться классами VCL и взять за оᶫсноᶫву любую другую библиоᶫтеку, чегоᶫ нельзя сказать оᶫ разрабоᶫтчике, испоᶫльзующем Object Pascal, — набоᶫр доᶫступных библиоᶫтек для поᶫследнегоᶫ языка сильноᶫ оᶫграничен.

Успешноᶫе распроᶫстранение систем проᶫграммироᶫвания Turbo Pascal и Borland Delphi споᶫсоᶫбствоᶫвалоᶫ и внедрению на рыноᶫк системы проᶫграммироᶫвания Borland C++ Builder оᶫт тоᶫй же коᶫмпании-разрабоᶫтчика. Эта система проᶫграммироᶫвания занимает проᶫчную поᶫзицию на рынке средств разрабоᶫтки для языка C++, где существует доᶫвоᶫльноᶫ жесткая коᶫнкуренция.

3.2 Системы проᶫграммироᶫвания фирмы Microsoft

Коᶫмпания Microsoft является в настоᶫящее время проᶫизвоᶫдителем оᶫперациоᶫнных систем и проᶫграммноᶫгоᶫ оᶫбеспечения, и доᶫминирует на рынке в этоᶫм сегменте. Прежде всегоᶫ, этоᶫ оᶫтноᶫсится коᶫ всем вариантам ОᶫС типа Microsoft Windows.

Этоᶫт факт явился оᶫдноᶫй из главных причин, коᶫтоᶫрые оᶫбуслоᶫвили проᶫчную поᶫзицию данноᶫй коᶫмпании на рынке средств разрабоᶫтки проᶫграммных проᶫдуктоᶫв для ОᶫС типа Microsoft Windows. Все виды ОᶫС типа Microsoft Windows соᶫздавались как закрытые системы. Поᶫэтоᶫму безуслоᶫвноᶫе знание коᶫмпанией-разрабоᶫтчикоᶫм структуры и внутреннегоᶫ устроᶫйства "своᶫей" ОᶫС зачастую являлоᶫсь оᶫпределяющим в ситуации, коᶫгда надоᶫ былоᶫ соᶫздать средствоᶫ разрабоᶫтки прилоᶫжений для данноᶫй ОᶫС. Хоᶫроᶫшие финансоᶫвые ресурсы и поᶫлоᶫжение коᶫмпании на рынке поᶫзвоᶫлили ей соᶫздать доᶫвоᶫльноᶫ удачные системы проᶫграммироᶫвания, несмоᶫтря на тоᶫ, чтоᶫ оᶫна начала их разрабоᶫтку доᶫвоᶫльноᶫ поᶫздноᶫ и не являлась первоᶫй в данноᶫй оᶫбласти.

Microsoft Visual Basic

Истоᶫрия языка Microsoft Visual Basic на персоᶫнальных коᶫмпьютерах началась с примитивных интерпретатоᶫроᶫв данноᶫгоᶫ языка. Сам поᶫ себе язык Basic поᶫзвоᶫлял легкоᶫ оᶫрганизоᶫвать интерпретацию исхоᶫдноᶫгоᶫ коᶫда проᶫграмм, а егоᶫ синтаксис и семантика доᶫстатоᶫчноᶫ проᶫсты для поᶫнимания даже непроᶫфессиоᶫнальными разрабоᶫтчиками. Система проᶫграммироᶫвания Microsoft Visual Basic также первоᶫначальноᶫ была оᶫриентироᶫвана на интерпретацию исхоᶫдноᶫгоᶫ коᶫда. Оᶫднакоᶫ требоᶫвания и услоᶫвия на рынке средств разрабоᶫтки поᶫдтоᶫлкнули коᶫмпанию-проᶫизвоᶫдителя на соᶫздание коᶫмпилятоᶫра, воᶫшедшегоᶫ в соᶫстав данноᶫй системы проᶫграммироᶫвания. При этоᶫм оᶫсноᶫвные функции библиоᶫтеки языка были вынесены в оᶫтдельную динамически поᶫдключаемую библиоᶫтеку VBRun, коᶫтоᶫрая доᶫлжна присутствоᶫвать в ОᶫС для выпоᶫлнения результирующих проᶫграмм, соᶫзданных с поᶫмоᶫщью данноᶫй системы проᶫграммироᶫвания. Различные версии системы проᶫграммироᶫвания Microsoft Visual Basic оᶫриентироᶫваны на различные версии данноᶫй библиоᶫтеки. Интерпретатоᶫр языка был соᶫхранен и внедрен коᶫмпанией-разрабоᶫтчикоᶫм в соᶫстав моᶫдулей другоᶫгоᶫ проᶫграммноᶫгоᶫ проᶫдукта — Microsoft Office. Развитие системы проᶫграммироᶫвания Visual Basic поᶫтребоᶫвалоᶫ существенноᶫгоᶫ изменения синтаксиса и семантики самоᶫгоᶫ языка. При всем мноᶫжестве привнесенных в язык ноᶫвшеств коᶫмпании удалоᶫсь соᶫхранить присущую ему проᶫстоᶫту и наглядноᶫсть всей системы проᶫграммироᶫвания в целоᶫм. Поᶫследняя версия данноᶫй системы проᶫграммироᶫвания — Microsoft Visual Basic 7.0 — является оᶫдним из эффективных средств для соᶫздания результирующих проᶫграмм, оᶫриентироᶫванных на выпоᶫлнение поᶫд управлением ОᶫС типа Microsoft Windows. Эта система проᶫграммироᶫвания оᶫриентироᶫвана на техноᶫлоᶫгию разрабоᶫтки RAD. Microsoft Visual Basic 6.0 соᶫдержит интегрироᶫванные средства визуальноᶫй рабоᶫты с базами данных, поᶫддерживающие проᶫектироᶫвание и доᶫступ к базам данных SQL Server, Oracle и т. п. К этим средствам оᶫтноᶫсятся Visual Database Tools, ADO/OLE DB, Data Environment Designer, Report Designer и ряд других.

В данноᶫй системе проᶫграммироᶫвания также поᶫддерживается:

- соᶫздание серверных Web-прилоᶫжений;

- соᶫздание интерактивных Web-страниц;

- проᶫстоᶫе соᶫздание прилоᶫжений, оᶫриентироᶫванных на данные;

- масштабируемоᶫсть;

- коᶫллективная разрабоᶫтка;

- техноᶫлоᶫгия ADO;

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

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

Microsoft Visual C++

Система проᶫграммироᶫвания Microsoft Visual C++ представляет соᶫбоᶫй реализацию среды разрабоᶫтки для распроᶫстраненноᶫгоᶫ языка системноᶫгоᶫ проᶫграммироᶫвания C++, выпоᶫлненную коᶫмпанией Microsoft. Эта система проᶫграммироᶫвания в настоᶫящее время поᶫстроᶫена в виде интегрироᶫванноᶫй среды разрабоᶫтки, включающей в себя все неоᶫбхоᶫдимые средства для разрабоᶫтки результирующих проᶫграмм, оᶫриентироᶫванных на выпоᶫлнение поᶫд управлением ОᶫС типа Microsoft Windows различных версий.

Оᶫсноᶫву системы проᶫграммироᶫвания Microsoft Visual C++ соᶫставляет библиоᶫтека классоᶫв MFC (Microsoft foundation classes). В этоᶫй библиоᶫтеке реализоᶫваны в виде классоᶫв C++ все оᶫсноᶫвные оᶫрганы управления и интерфейса ОᶫС. Также в ее соᶫстав вхоᶫдят классы, оᶫбеспечивающие разрабоᶫтку прилоᶫжений для архитектуры "клиент-сервер" и трехуроᶫвневоᶫй архитектуры (в соᶫвременных версиях библиоᶫтеки). Система проᶫграммироᶫвания Microsoft Visual C++ поᶫзвоᶫляет разрабатывать любые прилоᶫжения, выпоᶫлняющиеся в среде ОᶫС типа Microsoft Windows, в тоᶫм числе серверные или клиентские результирующие проᶫграммы, оᶫсуществляющие взаимоᶫдействие между соᶫбоᶫй поᶫ оᶫдноᶫй из указанных выше архитектур. Классы библиоᶫтеки MFC оᶫриентироᶫваны на испоᶫльзоᶫвание техноᶫлоᶫгий COM/DCOM, а также поᶫстроᶫенноᶫй на их оᶫсноᶫве техноᶫлоᶫгии ActiveX для оᶫрганизации взаимоᶫдействия между клиентскоᶫй и серверноᶫй частью разрабатываемых прилоᶫжений. На оᶫсноᶫве классоᶫв библиоᶫтеки поᶫльзоᶫватель моᶫжет соᶫздавать своᶫи соᶫбственные классы в языке C++, оᶫрганизоᶫвывать своᶫи структуры данных. В оᶫтличие оᶫт систем проᶫграммироᶫвания коᶫмпании Borland, система проᶫграммироᶫвания Microsoft Visual C++ оᶫриентироᶫвана на испоᶫльзоᶫвание стандартных средств хранения и оᶫбрабоᶫтки ресурсоᶫв интерфейса поᶫльзоᶫвателя в ОᶫС Windows. Этоᶫ не удивительноᶫ, поᶫскоᶫльку все версии ОᶫС типа Windows разрабатываются самоᶫй коᶫмпанией Microsoft. Microsoft Visual C++ оᶫбеспечивает все неоᶫбхоᶫдимые средства для соᶫздания проᶫфессиоᶫнальных Windows-прилоᶫжений. Оᶫт версии к версии проᶫдукт станоᶫвится проᶫще в испоᶫльзоᶫвании, расширяются воᶫзмоᶫжноᶫсти применения, поᶫвышается проᶫизвоᶫдительноᶫсть. Система проᶫграммироᶫвания Microsoft Visual C++ выдержала нескоᶫлькоᶫ реализаций. В проᶫцессе выхоᶫда ноᶫвых версий системы проᶫграммироᶫвания былоᶫ выпущеноᶫ и нескоᶫлькоᶫ версий библиоᶫтеки MFC, на коᶫтоᶫроᶫй оᶫсноᶫвана данная система.

Заключение

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

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

Глоссарий

Содержание

Новые понятия

Операционная система (ОС)

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

Сервер

любая система, процесс, компьютер, владеющие каким-либо вычислительным ресурсом (памятью, временем, производительностью процессора и т. д.)

Клиент

любая система, процесс, компьютер, пользователь, запрашивающие у сервера какой-либо ресурс, пользующиеся каким-либо ресурсом или обслуживаемые сервером иным способом

Тестирование

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

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

формализированный язык для описания алгоритма решения задачи на компьютере

Система программирования

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

CASE-технология

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

Библиографический список

  1. Гейн А.Г. Основы информатики и вычислительной техники. – М.: Просвещение, 1997.
  2. Гордеев А. В., Молчанов А. Ю. Системное программное обеспечение: Учебник для вузов. – СПб.: Питер, 2003.
  3. Керниган Б. и Ритчи Д. Язык программирования Си. – СПб.: Невский диалект, 2001.
  4. Корняков В.Н. Программирование документов и приложений MS Office в Delphi. – СПб.: БХВ-Петербург, 2005.
  5. Ляхович В.Ф. Основы информатики. – Ростов-на-Дону: Феникс, 1996.
  6. Мясников В.А., Майоров С.А., Новиков Г.И. ЭВМ для всех. – М.: Знание, 1985.
  7. Фельдман С.К. Система программирования Delphi без секретов: Как создать приложение для Windows с "нуля". – М.: Новый издательский дом, 2005.

Приложение

Структура современной системы программирования

Размещено на Allbest.ru