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

В настоящее время считается, что существуют языки программирования четырех уровней: машинные языки; машинно-ориентированные языки; алгоритмические языки; языки четвертого поколения.

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

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

4.1.Алгоритмические языки

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

Одним из первых и наиболее популярным был Фортран (FORTRAN от FORmula TRANslator - переводчик формул). Этот язык был разработан в конце 50-х годов группой программистов фирмы IBM. Фортран первоначально предназначался для работы с формулами и поэтому использовался для математических и инженерных расчетов.

В 1960 году был создан язык Кобол (Cobol - Common Business Oriented Language). Язык был ориентирован на деловые задачи для обработки данных в сферах управления.

В конце 60-х появился язык Алгол-60 (ALGOL - от ALGOrithmic Language - алгоритмические языки), который позволял решать многие научно-исследовательские задачи.

Язык Бейсик (BASIC - Beginners All-Purpose Symbolic Code - универсальный символический код для начинающих) изначально был задуман, как доступный для всех универсальный язык программирования. Язык отличается простотой, легко усваивается начинающими программистами. На этом языке можно было решать небольшие задачи социологического исследования, писать программы для филологов, в тоже время, он был пригоден для математических и экономических расчетов. Разработан студентами Дартмундского колледжа в 1963 году. Существуют различные версии этого языка: MBasic, Turbo Basic, Power Basic, Quick Basic. Наиболее популярны в нашей стране версии Basic фирмы Microsoft.

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

Если в начале 60-х годов насчитывалось около десятка языков высокого уровня, то вскоре их количество резко возросло (несколько сотен), т.к. существовала тенденция создавать языки для решения различных специфических задач, либо под конкретную ЭВМ. Когда появилось такое обилие языков возникла потребность в универсальном и машинно-независимым языке. Так появились языки Паскаль (Pascal), который взял все лучшее от языка Алгол 60, язык PL/1 (включающий элементы языков FORTRAN, ALGOL, COBOL), новая версия языка Алгол - Алгол-68, язык Си (С).

В настоящее время наиболее распространенными считаются универсальные языки Бейсик, Паскаль, Си.

Бейсик более других языков приближается к универсальному языку для персональных компьютеров. По сути в каждом персональном компьютере заложена та или иная версия Бейсика, а IBM PC имеет Бейсик встроенный в ПЗУ (постоянное запоминающее устройство). Признанным достоинством Бейсика считается его простота, а так же то, что он имеет специальные операторы, облегчающие доступ к большинству специфических устройств семейства IBM РС. У Бейсика есть и некоторые недостатки: ограничения на размер программ и объем данных, кроме того, на выполнение программы уходит больше времени по сравнению с другими языками высокого уровня. Поэтому программирование на языке Бейсик, мягко говоря, было не популярно среди профессионалов. Это продолжалось до появления Visual Basic. Первая версия Visual Basic появилась в 1991.

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

Автор сервисной программы “Утилиты Нортона” Питер Нортон приводит следующее сравнение этих языков: “сам по себе Паскаль лучше, в нем меньше возможностей допустить ошибку, с другой стороны язык Си особенно хорош для составления компактных, надежных программ, использующих возможности BIOS, DOS”[11]. В то же время, в своих программах написанных на Паскале или Си он использует ассемблер для выполнения действий, которые нельзя описать на языках высокого уровня.

Если ранее программное обеспечение для ЭВМ могли разрабатывать только профессионалы , то положение изменилось с появлением объектно-ориентированных языков Visual Basic, Obect Pascal, C++, и сред объектного и объектно-визуального программирования Visual C++ Visual Basic, Delphi, Builder C++. Перечисленные среды объектно-визуального программирования позволяют даже не профессионалам за короткое время овладеть этими продуктами и создавать конкурентно-способные приложения под Windows.

 

4.2. Объектно-ориентированные языки и языки четвертого поколения

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

Как упоминалось в предыдущем параграфе универсальными, объектно-ориентированными языками программирования являются Visual Basic, Object Pascal, С++.

Какой язык выбрать для изучения или программирования? Обычно язык программирования выбирается исходя из следующих соображений: какими языками уже владеет программист или же каким языком ему легче овладеть; какой язык более всего подходит для решения поставленной задачи; личные вкусы программиста также играют важную роль.

Языки Visual Basic, Object Pascal, считаются более легкими для освоения. Кроме того , если разрабатываются приложения на основе таких программных средств, как Excel, Access, то для их автоматизации Вам предстоит программировать на языке Visual Basic. Так как Visual Basic “детище” фирмы Microsoft, то они планируют ввести его во все программные продукты, предназначенные для автоматизации бухгалтерских расчетов, работы с документами, базами данных.

Языки Object Pascal и С++ более подходят для промышленного программирования. Язык С++ в настоящее время стал стандартным языком системного и прикладного программирования, позволяющим создавать высокоэффективные программы. Кроме того на язык С++ в 1997 году принят международный стандарт. Это очень важно, так как у каждого языка существует множество диалектов, а стандарт определяет “ядро” языка, которое должно быть реализовано в каждой версии (каждом компиляторе). Процесс стандартизации способствовал популяризации языка С++, а сам язык сделал более мощным.

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

Кроме перечисленных языков языками объектно-ориентированного программирования считаются языки Ada, SmallTalk, языки используемые для программирования в различных СУБД Paradox, Informix и другие.

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

Новый этап в программировании начался с появлением, так называемых, языков четвертого поколения - языков, которые позволяют создавать приложения функционирующие на различных платформах. К языкам четвертого поколения в настоящее время можно отнести язык Jam и Java. Приложения , созданные с помощью языка Jam могут использовать данные из уже существующих приложений и работать более чем на ста платформах и операционных оболочках, включая DOS, MS-Windows, Vax/VMS, UNIX.

При создании языка Java за основу был взят язык С++ и использовались идеи других объектно-ориентированных языков. Язык Java позволяет создавать программы для работы в Интернет - апплеты. Апплеты не зависят от конкретных типов компьютеров, это означает, что один и тот же апплет может работать под управлением Windows 95/98, Macintosh либо UNIX-станции. В некоторой литературе языками четвертого поколения называют все объектно-ориентированные языки программирования. В настоящее время к языкам четвертого поколения предъявляют следующие требования:

- использование объектно-визуальных технологий;

- совместимость с различными платформами;

- поддержка стандартных СУБД.