Tooprogram.ru

Компьютерный справочник
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Язык си машинно ориентированный

МАШИННО-ОРИЕНТИРОВАННЫЙ ЯЗЫК

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

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

Лит.:[1]Джермейн К., Программирование на IBM/360, пер. с англ., 2 изд., М., 1973; [2] Браун П., Макропроцессоры и мобильность программного обеспечения, пер. с англ., М., 1977; [3] Катков В. Л., Рар А. Ф., Программирование на языке ЭПСИЛОН, Новосиб., 1972. ‘ А. П. Ершов.

Математическая энциклопедия. — М.: Советская энциклопедия . И. М. Виноградов . 1977—1985 .

Смотреть что такое «МАШИННО-ОРИЕНТИРОВАННЫЙ ЯЗЫК» в других словарях:

машинно-ориентированный язык — — [http://www.iks media.ru/glossary/index.html?gloss >Справочник технического переводчика

машинно-ориентированный язык (программирования) — — [Е.С.Алексеев, А.А.Мячев. Англо русский толковый словарь по системотехнике ЭВМ. Москва 1993] Тематики информационные технологии в целом EN computer oriented languageCOL … Справочник технического переводчика

машинно-ориентированный язык программирования высокого уровня — — [http://www.iks media.ru/glossary/index.html?gloss >Справочник технического переводчика

язык ПЛ/М — Процедурный машинно ориентированный язык высокого уровня. [http://www.morepc.ru/dict/] Тематики информационные технологии в целом … Справочник технического переводчика

Язык ассемблера — Листинг программы на языке ассемблера Motorola MC6800 (слева идут адреса и машинные коды в шестнадцатеричной системе, вычисленные и сгенерированн … Википедия

Язык программирования Рубин — Ruby Семантика: мультипарадигмальный Тип исполнения: интерпретатор Появился в: 1995 г. Автор(ы): Юкихиро Мацумото Последняя версия: 1.9.1 … Википедия

ЯЗЫК ПРОГРАММИРОВАНИЯ — знаковая система, применяемая для записи процессов решения задач на ЭВМ; средство общения пользователя с ЭВМ, позволяющее на формально логическом уровне описывать последовательность операции по обработке информации. Основу Я. п. составляют… … Сельско-хозяйственный энциклопедический словарь

язык программирования — язык программирования, знаковая система, применяемая для записи процессов решения задач на ЭВМ; средство общения пользователя с ЭВМ, позволяющее на формально логическом уровне описывать последовательность операций по обработке информации. Основу… … Сельское хозяйство. Большой энциклопедический словарь

Рубин (язык программирования) — Ruby Семантика: мультипарадигмальный Тип исполнения: интерпретатор Появился в: 1995 г. Автор(ы): Юкихиро Мацумото Последняя версия: 1.9.1 … Википедия

АЛГОРИТМИЧЕСКИЙ ЯЗЫК — формальный язык программирования, формальный язык, предназначенный для описания вычислительных процессов, или, что то же, для записи алгоритмов, подлежащих выполнению на вычислительных машинах.. Различают проблемно ориентированные А. я. (А. я.… … Математическая энциклопедия

Машинно-ориентированные языки

Машинно-ориентированные языки — это языки, наборы операторов и изобразительные средства которых существенно зависят от особенностей ЭВМ (внутреннего языка, структуры памяти и т.д.). Машинно-ориентированные языки позволяют использовать все возможности и особенности машинно-зависимых языков:

• высокое качество создаваемых программ (компактность и скорость выполнения);

• возможность использования конкретных аппаратных ресурсов;

• предсказуемость объектного кода и заказов памяти;

• для составления эффективных программ необходимо знать систему команд и особенности функционирования данной ЭВМ;

• трудоемкость процесса составления программ (особенно на машинных языках и ЯСК), плохо защищенного от появления ошибок;

• низкая скорость программирования;

• невозможность непосредственного использования программ, составленных на этих языках, на ЭВМ других типов.

По степени автоматического программирования машинно-ориентированные языки подразделяются на классы:

• машинный язык (МЯ) — командный язык. В команде сообщается информация о местонахождении операторов и типе выполняемой операции;

• языки символического кодирования (ЯСК) — командные языки, в которых коды операций и адреса в машинных командах (в двоичных или восьмеричных цифрах) заменены на символы (идентификаторы), форма написания которых помогает программисту легче запоминать смысловое содержание операции;

• автокоды — языки, включающие в себя все возможности ЯСК, посредством расширенного введения макрокоманд, т.е. достаточно часто использующиеся командные последовательности, которые соответствуют определенным процедурам преобразования ин формации. Макрокоманды переводятся в машинные команды двумя путями — расстановкой и генерированием. В постановочной системе содержатся серии команд, реализующих обозначенную макрокомандой функцию. Макрокоманды обеспечивают передачу фактических параметров, которые в процессе трансляции вставляются в эти команды, превращая ее в реальную машинную программу. В системе с генерацией имеются специальные программы, анализирующие макрокоманду и определяющие, какую функцию необходимо выполнить;

Читать еще:  Что такое дизассемблер

• ассемблеры — развитые автокоды, символическое представление машинного языка;

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

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

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

ü Фортран, Алгол — языки, созданные для решения математических задач;

ü Simula, Сленг — для моделирования;

ü Лисп, Снобол — для работы со списочными структурами.

Универсальные языки были созданы для широкого круга задач: коммерческих, научных, моделирования и т.д. Первый универсальный язык Пл/1 был разработан фирмой IBM. Второй по мощности универсальный язык — Алгол-68. Он позволяет работать с символами, разрядами, числами с фиксированной и плавающей запятой. Пл/1 имеет развитую систему операторов для управления форматами, для работы с полями переменной длины, с данными, организованными в сложные структуры, и для эффективного использования каналов связи. Язык учитывает включенные во многие машины возможности прерывания и имеет соответствующие операторы. Предусмотрена возможность параллельного выполнения участков программ.

Диалоговые языки — программные средства, обеспечивающие оперативное взаимодействие человека с компьютером. Необходимость обеспечения оперативного взаимодействия с пользователем потребовала сохранения в памяти копии исходной программы даже после получения объектной программы в машинных кодах. При внесении изменений в программу с использованием диалогового языка система программирования с помощью специальных таблиц устанавливает взаимосвязь структур исходной и объектной программ. Это позволяет осуществить требуемые редакционные изменения в объектной программе. Примерами диалоговых языков являются Бейсик, Си и др.

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

3.12. Основы объектно-ориентированного программирования

ООП позволяет разложить проблему на составные части. В этом случае вся процедура упрощается, и появляется возможность оперировать с гораздо более объемными программами. Каждая составляющая становится самостоятельным объектом, содержащим свои собственные коды и данные, относящиеся к нему.

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

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

Все языки ООП основаны на трех основополагающих концепциях:

Инкапсуляция— означает, что объекты скрывают детали своей работы. Инкапсуляция позволяет разработчику объекта изменять внутренние принципы его функционирования, не оказывая никакого влияния на пользователя объекта. В Visual Basic этот принцип реализуется в основном за счет применения описаний Private и Public.

Наследование— означает, что новый объект можно определить на основе уже существующих объектов, при этом он будет содержать все свойства и методы родительского. Наследование полезно, когда требуется создать новый объект, обладающий дополнительными свойствами по сравнению со старым.

Полиморфизм— многие объекты могут иметь одноименные методы, которые могут выполнять разные действия для разных объектов. Например, оператор «+» для числовых величин выполняет сложение, а для текстовых — склеивание.

3.13. Системы программирования

Система программирования — это система для разработки новых программ на конкретном языке программирования. В них входят:

• компилятор или интерпретатор;

Читать еще:  Cin в си что это

• интегрированная среда разработки;

• средства создания и редактирования текстов программ;

• обширные библиотеки стандартных программ и функций;

• отладочные программы, т.е. программы, помогающие находить и устранять ошибки в программе;

• «дружественная» к пользователю диалоговая среда;

• многооконный режим работы;

• мощные графические библиотеки; утилиты для работы с библиотеками;

• встроенная справочная служба;

• другие специфические особенности.

Популярные системы программирования — Turbo Basic, Quick Basic, Turbo Pascal, Turbo C.

Дата добавления: 2014-01-04 ; Просмотров: 2043 ; Нарушение авторских прав?

Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет

7 причин изучить язык программирования C

C – процедурный язык программирования, который разработал Деннис Ритчи между 1969 и 1973 годами. Изначально предназначался для написания операционных систем. Низкоуровневый доступ к памяти, простой набор ключевых слов и чистый стиль сделали язык C идеальным для системного программирования – разработки ОС или компилятора.

Изучите C и поймёте, как всё работает. Почему это важно? Рассмотрим такую ситуацию: человек учится водить автомобиль с автоматическим переключением передач. Затем подаёт заявку на получение водительских прав, но экзамен по вождению проходят на автомобиле с механической коробкой. На вопросы о передачах человек ответить не может, поэтому заваливает экзамен.

Изучение C приносит аналогичное преимущество. Когда человек разобрался, как ездить на автомобиле с ручной коробкой, легко поведёт машину-автомат. И точно так умение разрабатывать на С поможет выучить любой современный язык программирования.

Посмотрим, какие еще преимущества вы получите от изучения C.

1. Найдёте «золотую середину»

C – язык среднего уровня, стоящий между машинно-ориентированными и понятными пользователю языками. Он уменьшает разрыв между этими категориями. Разработчики используют его и для создания ОС и приложений.

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

2. Поймёте фундаментальные основы

Большинство теорий информационных технологий базируются на языке C. Если вас интересуют компьютерные сети, проектирование компиляторов, компьютерная архитектура или операционные системы, то углубляйтесь в разработку на C. Масса новых методов стоит на этих четырёх китах.

В современных языках высокого уровня машинные подробности скрываются от пользователя. Хотите выйти за рамки существующих фреймворков и разработать нечто большее? Для взаимодействия с кэшем микропроцессора, памятью и сетевыми адаптерами изучение С-программирования – обязательное условие.

Например, когда состояние сети нестабильно, а вам нужно устойчивое соединение, не получится решить проблему с TCP, потому что у протокола масса задержек из-за ожидания повторной передачи. И как действовать?

Если вы разбираетесь в компьютерных сетях, то создадите собственный стабильный протокол с более энергичными и результативными схемами передачи. Затем потребуется интегрировать его в сетевой SDK, то есть узнать, как сетевые протоколы реализуются в операционной системе. Имплементация будет удачной, если вы хорошо знаете архитектуру компьютера, например, работу с памятью, кэшем ЦП и сетевыми адаптерами. Наконец, если захотите предоставить API-интерфейсы для других языков вроде Python или Javascript, поможет теория компиляторов.

3. Станете гуру программирования

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

4. Будете наслаждаться скоростью выполнения

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

5. Повысите производительность программ на других языках

При разработке на языках высокого уровня преимущественно ориентируются на реализацию функциональных возможностей. Но мало использовать руководящие принципы best practice, избегая глупых ошибок, когда речь идёт о повышении производительности. Здесь нужны тщательное профилирование и анализ, чтобы определить «узкие места» в программе и переписать оптимальнее.

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

6. Сделаете лучший выбор для программирования встраиваемых систем

Подумайте, как важны стиральные машины, цифровые калькуляторы или микроволновые печи. Трудно представить мир без этих встроенных систем.

Читать еще:  Ассемблер найти максимальный элемент массива

Обыденные устройства, такие как принтеры и посудомоечные машины, становятся умнее с каждым днём. За это спасибо микропроцессорам и микроконтроллерам, для управления которыми нужны программы. И главное требование к таким программам – высокая скорость работы при ограниченном объёме памяти. Поэтому разработчики встраиваемых устройств чаще выбирают C.

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

7. Примeте стратегическое решение

Страх потратить драгоценное время на неактуальные технологии преследует каждого разработчика. Когда вы делаете ставку на C, нет причин волноваться. Индекс TIOBE за октябрь 2019 года показывает, что C занимает второе место по популярности среди остальных языков.

К тому же на C написаны основные части известных фреймворков и операционных систем, например, UNIX, Linux и Android. Интерпретатор Python реализовали на C, как и большинство библиотек вроде Numpy. Понимание, как работает C, расширит ваше представление об устройстве Python, что поможет писать программы на продвинутом уровне. Это касается и других динамических языков.

Java, C#, JavaScript, Perl и PHP унаследовали синтаксис от C. Из него также создавались и стали прямыми потомками C++ и Objective-C. Так что смело изучайте.

Заключение

Компьютеры – не о вычислениях, а об информации – её организации, поиске и управлении. Хотите писать эффективные программы? Тогда разберитесь и научитесь работать со структурами данных и алгоритмами. Возьмите C, поэкспериментируйте с этими вещами и вы увидите, насколько это интересно. Несмотря на возраст, C продолжает оставаться востребованным языком программирования и надёжным инструментом разработчика.

Системы программирования. Машинно-ориентированные языки относятся к машинно-зависимым языкам программирования

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

Данными видами языков программирования могут быть: автокоды, языки символического кодирования и ассемблеры.

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

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

Промежуточное место между машинно-независимыми и машинно-зависимыми языками отводится языку Си. Он создавался при попытке объединения достоинств, присущих языкам обоих классов. Данный язык обладает рядом особенностей:

максимально использует возможности конкретной вычислительной архитектуры; из-за этого программы на языке Си компактны и работают эффективно;

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

Языки разделяют на процедурно-ориентированные и проблемно-ориентированные.

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

Проблемно-ориентированные языки, в частности РПГ, Лисп, АПЛ, GPSS, применяются для описания процессов обработки информации в более узкой, специфической области.

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

Рассмотрим методы использования языков программирования.

Интерпретация представляет собой пооператорную трансляцию и последующее выполнение оттранслированного оператора исходной программы. Существует два основных недостатка метода интерпретации:

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

2) процесс трансляции одного и того же оператора повторяется такое число раз, которое должна исполнять эта команда в программе. Это приводит к резкому снижению производительности работы программы.

Трансляторы-интерпретаторы являются достаточно распространенными, так как они поддерживают диалоговый режим.

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

Применяют также трансляторы интерпретаторы-компиляторы, объединяющие в себе достоинства обоих принципов трансляции.

Дата добавления: 2015-09-14 ; просмотров: 588 ; ЗАКАЗАТЬ НАПИСАНИЕ РАБОТЫ

Ссылка на основную публикацию
Adblock
detector