Автоматизация сбора и первичной обработки информации

79 1.Выбирать приходится из списка поддерживаемых языков, которыми обычно является С и С++. У поставщика ОСРВ бывает можно заказать поддержку нового языка, но это будет стоить очень дорого; 2.Выбор языка может диктоваться наличием значительного объема программного обеспечения на этом языке. Обычно фирма - разработчик ПО уже имеет архив предыдущих разработок, и язык, на котором написаны программы, диктует в этом случае язык для новых разработок; Выбор языка может диктоваться отраслевым стандартом в той области, для которой пишется приложение. Например, для разработок в военной области в США принят язык Ada, и все ПО для этой области пишется на этом языке. Основные алгоритмические языки, традиционно используемые при разработке СРВ и ориентированные на ОСРВ: ассемблер, С, С++, Python, Java. Ассемблер . Обеспечивает получение наивысшей производительности, прямой доступ к оборудованию, возможность вызова любых процедур на других языках. Однако, приложения получаются не переносимыми, объектно – ориентированный подход отсутствует. Обычно ассемблер используется только для написания небольших и четко локализованных фрагментов приложения, таких как обработчики прерываний, драйверы устройств, критические по времени исполнения секции. С . Обеспечивает получение высокой производительности за счет хорошо разработанных оптимизирующих компиляторов, которые для современных процессоров часто дают код более эффективный, чем написанный на ассемблере. Язык С дает прямой доступ к оборудованию и возможность вызова процедур на других языках. Приложения получаются переносимыми (особенно, если ОСРВ поддерживают одинаковый стандарт, например, POSIX), однако, объектно – ориентированный подход на уровне языковых конструкций отсутствует. С++. Включает язык С как подмножество и наследует все его положительные качества, добавляя при этом поддержку объектно – ориентированного подхода на уровне языковых конструкций. Python. Питон - современный язык программирования общего назначения, работающий на всех распространенных операционных системах для настольных компьютеров. Язык известен как интерпретируемый и является полностью объектно-ориентированным. Имеет широкую возможность разработки промышленных приложений. Недостатками языка являются зачастую более низкая скорость работы и более высокое потребление памяти по сравнению с аналогичным кодом, написанным на компилируемых языках, таких как С или С++. Java. Как язык интерпретирующего типа, имеет очень низкую эффективность получаемого кода. Доступ к оборудованию и вызовы процедур на других языках – только посредством библиотечных функций (обычно написанных на С). Java обеспечивает наивысшую переносимость приложения: на уровне двоичного кода, и является объектно – ориентированным языком. В защиту языка стоит отметить, что он не стоит на месте и постоянно развивается. В частности, последние версии компилятора Java Runtime Environment (JRE) показывают проигрыш по производительности в сравнении с С++ (наиболее быстрым объектно-ориентированным языком) всего в 1,5 раза, что, с учетом простоты и кросс-платформенности Java, делают его едва ли не единственным выбором среди языков программирования "общего назначения" для решения задач реального времени. Кроме того, существуют алгоритмические языки, специально разрабатывавшиеся для использования при разработке СРВ и ориентированные на ОСРВ: Модула, Ада и языки четвертого поколения (CASE средства). Modula. Язык Модула был разработан Н. Виртом в 1975 году в Цюрихе в организации ЕТН, там же, где и Паскаль и многие из его главных особенностей взяты из этого языка. Однако язык Модула нельзя считать преемником Паскаля, поскольку он ориентирован в области программирования встроенных и научных вычислительных систем реального времени. Название языка подчеркивает тот факт, что создаваемая при его помощи программа формируется из модулей – наборов процедур и

RkJQdWJsaXNoZXIy MTY0OTYy