Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

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

Кафедра технологий программирования | Определение проекта | Выполнение проекта | Завершение проекта | Модель водопада | Итеративная разработка | Спиральная модель | Вычислительные системы | Структурное программирование | Функциональное программирование |


Читайте также:
  1. D) способность впитывать влагу из окружающей среды
  2. I. Выбор одной проблемы из предложенной повестки дня будущей конференции и написание тезисов
  3. II. Установление юридической основы дела — выбор и анализ юридических норм (юридическая квалификация фактических об­стоятельств).
  4. Анализ кризисных факторов внутренней финансовой среды функционирования предприятия.
  5. Анализ факторов внешней среды
  6. Аппараты до 1000В: Автоматические воздушные выключатели. Назначение, основные узлы автомата,типы расцепителей, условия выбора.
  7. Аппараты до 1000В: рубильники, переключатели, контакторы, магнитные пускатели. Назначение, типы, условия выбора.

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

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

§ Характера самой задачи и технических требований;

§ Наработанного инструментария и имеющихся для данной среды библиотек;

§ Имеющихся в языке и среде программирования инструментальных средств.

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

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

С точки зрения того, внесены ли в набор понятий особые, специфичные для предметной области объекты, языки делятся на универсальные (процедурные) и специализированные. К последним можно отнести Prolog, Lisp. Универсальные языки позволяют реализовать любой алгоритм, пользуясь стандартным набором конструкций. Благодаря этому, код на таком языке может быть достаточно легко перенесен из одного процедурного языка в другой при помощи консервативных изменений.

 

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

 

 

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

 

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

 

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

§ Объектный подход

 

Объединение структур и методов их обработки (_инкапсуляция_) создает значительные удобства при программировании. Возможность _наследования_ позволяет привести в систему набор структур. Автоматически вызываемые конструкторы и деструкторы упрощают отслеживание взаимосвязей. Все это составляет удобный инструмент для описания понятий и действий прикладной программы.

 

Независимость от аппаратуры, реализуемая при помощи семантики, не зависящей от конкретной машины и внесением в язык ряда специфичных понятий - таких как базовый тип с нефиксированным размером (int в C).

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

 

 


Дата добавления: 2015-08-27; просмотров: 128 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Операционные системы| Краткий обзор распространенныхпромышленных языков программирования и программных платформ

mybiblioteka.su - 2015-2024 год. (0.007 сек.)