Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Содержание лекции: алгоритмические языки и предъявляемые к ним требования.
Цель лекции: ознакомиться с классификацией и особенностями современных языков программирования.
Одной из проблем, возникающих на начальных этапах разработки программного продукта, является выбор языка программирования, который в свою очередь влияет на выбор среды программирования. Существует масса факторов, влияющих на выбор языка. Однако прежде чем принять решение в пользу того или иного языка программирования, следует иметь представление об их классификации и особенностях. Все существующие языки программирования разделяются на следующие группы [1]:
универсальные языки высокого уровня;
специализированные языки разработчика программного обеспечения;
специализированные языки пользователя;
языки низкого уровня.
В группе универсальных языков высокого уровня безусловным лидером сегодня является язык С (вместе с C++). Действительно различные версии С и C++ имеют целый ряд очень существенных достоинств [17]:
многоплатформенность - для всех используемых в настоящее времяплатформ существуют компиляторы с языка С и C++;
наличие операторов, реализующих основные структурные алгоритмические конструкции (условную обработку, все виды циклов);
возможность программирования на низком (системном) уровне с использованием адресов оперативной памяти;
огромные библиотеки подпрограмм и классов.
Все это сделало С и C++ основными языками, используемыми для создания операционных систем, и, в свою очередь, служит для них дополнительной рекламой. Однако они имеют и серьезные недостатки:
отсутствие полноценных встроенных структурных типов данных (имеющиеся псевдоструктурные типы, использующие адресную арифметику, недостаточно жестко определены, чтобы контролировать многие операции над этими данными, что приводит к большому количеству ошибок, выявляемых только в процессе отладки программы);
наличие синтаксических неоднозначностей, которые также не позволяют компилятору контролировать правильность программы;
ограниченный контроль параметров, передаваемых в подпрограмму, что также обнаруживается только в процессе отладки программы.
Альтернативой С и C++ среди универсальных языков программирования, используемых для создания прикладного программного обеспечения, на сегодня является Pascal, компиляторы которого в силу четкого синтаксиса обнаруживают помимо синтаксических и большое количество семантических ошибок. Версия Object Pascal, использованная в среде Delphi, сопровождается профессиональными библиотеками классов, упрощающими ведение больших разработок, в том числе и требующих использования баз данных, что делает Delphi достаточно эффективной средой для создания приложений Windows. Кроме этих языков к группе универсальных принадлежат также Basic, Modula, Ada и некоторые другие. Каждый из указанных языков, так же, как C++ и Pascal, имеет свои особенности и, соответственно, свою область применения.
Специализированные языки разработчика используют для создания конкретных типов программного обеспечения. К ним относят:
языки баз данных;
языки создания сетевых приложений;
языки создания систем искусственного интеллекта и т. д.
Специализированные языки пользователя обычно являются частью профессиональных сред, характеризуются узкой направленностью и разработчиками программного обеспечения не используются.
Языки низкого уровня позволяют осуществлять программирование практически на уровне машинных команд. При этом получают самые оптимальные, как с точки зрения времени выполнения, так и с точки зрения объема необходимой памяти программы. Но эти языки совершенно не годятся для создания больших программ и, тем более, программных систем. Основная причина - низкий уровень абстракций, которыми должен оперировать разработчик, откуда недопустимо большое время разработки. Существенно и то, что сами языки низкого уровня не поддерживают принципов структурного программирования, что значительно ухудшает технологичность разрабатываемых программ. В настоящее время языки типа Ассемблера обычно используют:
при написании сравнительно простых программ, взаимодействующих непосредственно с техническими средствами (например, драйверов), поскольку в этом случае приходится кропотливо настраивать соответствующее оборудование, преимущества языков программирования высокого уровня становятся несущественными;
в виде вставок в программы на языках высокого уровня (например, для ускорения преобразования данных в циклах с большим количеством повторений).
Таким образом, при выборе языка программирования следует руководствоваться следующими соображениями:
язык должен быть удобен для программиста;
язык должен быть пригоден для данного компьютера;
язык должен быть пригоден для решения данной задачи.
Дополнительную информацию по теме можно получить в [1, 2, 3, 7, 17].
Дата публикования: 2014-11-28; Прочитано: 1355 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!