Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Лекция № 9. Алгоритмические языки и предъявляемые к ним требования



Содержание лекции: алгоритмические языки и предъявляемые к ним требования.

Цель лекции: ознакомиться с классификацией и особенностями современных языков программирования.

Одной из проблем, возникающих на начальных этапах разработки программного продукта, является выбор языка программирования, который в свою очередь влияет на выбор среды программирования. Существует масса факторов, влияющих на выбор языка. Однако прежде чем принять решение в пользу того или иного языка программирования, следует иметь представление об их классификации и особенностях. Все существующие языки программирования разделяются на сле­дующие группы [1]:

универсальные языки высокого уровня;

специализированные языки разработчика программного обеспечения;

специализированные языки пользователя;

языки низкого уровня.

В группе универсальных языков высокого уровня безусловным лидером сегодня является язык С (вместе с C++). Действи­тельно различные версии С и C++ имеют целый ряд очень существенных до­стоинств [17]:

многоплатформенность - для всех используемых в настоящее времяплатформ существуют компиляторы с языка С и C++;

наличие операторов, реализующих основные структурные алгоритми­ческие конструкции (условную обработку, все виды циклов);

возможность программирования на низком (системном) уровне с ис­пользованием адресов оперативной памяти;

огромные библиотеки подпрограмм и классов.

Все это сделало С и C++ основными языками, используемыми для со­здания операционных систем, и, в свою очередь, служит для них дополни­тельной рекламой. Однако они имеют и серьезные недостатки:

отсутствие полноценных встроенных структурных типов данных (име­ющиеся псевдоструктурные типы, использующие адресную арифметику, не­достаточно жестко определены, чтобы контролировать многие операции над этими данными, что приводит к большому количеству ошибок, выявляемых только в процессе отладки программы);

наличие синтаксических неоднозначностей, которые также не позволя­ют компилятору контролировать правильность программы;

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

Альтернативой С и C++ среди универсальных языков программирова­ния, используемых для создания прикладного программного обеспечения, на сегодня является Pascal, компиляторы которого в силу четкого синтаксиса об­наруживают помимо синтаксических и большое количество семантических ошибок. Версия Object Pascal, использованная в среде Delphi, сопровождает­ся профессиональными библиотеками классов, упрощающими ведение боль­ших разработок, в том числе и требующих использования баз данных, что де­лает Delphi достаточно эффективной средой для создания приложений Win­dows. Кроме этих языков к группе универсальных принадлежат также Basic, Modula, Ada и некоторые другие. Каждый из указанных языков, так же, как C++ и Pascal, имеет свои особенности и, соответственно, свою область приме­нения.

Специализированные языки разработчика исполь­зуют для создания конкретных типов программного обеспечения. К ним от­носят:

языки баз данных;

языки создания сетевых приложений;

языки создания систем искусственного интеллекта и т. д.

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

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

при написании сравнительно простых программ, взаимодействующих непосредственно с техническими средствами (например, драйверов), посколь­ку в этом случае приходится кропотливо настраивать соответствующее обо­рудование, преимущества языков программирования высокого уровня стано­вятся несущественными;

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

Таким образом, при выборе языка программирования следует руководствоваться следующими соображениями:

язык должен быть удобен для программиста;

язык должен быть пригоден для данного компьютера;

язык должен быть пригоден для решения данной задачи.

Дополнительную информацию по теме можно получить в [1, 2, 3, 7, 17].





Дата публикования: 2014-11-28; Прочитано: 1355 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.012 с)...