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

Классификация языков программирования (Базовая иерархия языков программирования)

Содержание:

Введение

На современном этапе обучения компьютерным технологиям невозможно представить высококвалифицированного специалиста без участия информационных технологий. Потому что эффективность каждого предмета во многом зависит от уровня понимания данных, а также от возможности их эффективного применения. Чтобы получить управление свободным потоком, современный специалист, независимо от его профиля, должен иметь возможность извлекать, обрабатывать и использовать информацию, в частности, с использованием ПК, телекоммуникаций и других новых средств связи. В том числе умение работать с языками программирования.

Язык программирования служит двум связанным между собой целям: он дает программисту аппарат для задания действий, которые должны быть выполнены, и формирует концепции, которыми пользуется программист, размышляя о том, что делать. Первой цели идеально отвечает язык, который настолько "близок к машине", что всеми основными машинными аспектами можно легко и просто оперировать достаточно очевидным для программиста образом. Второй цели идеально отвечает язык, который настолько "близок к решаемой задаче", чтобы концепции ее решения можно было выражать прямо и коротко. Связь между языком, на котором мы думаем/программируем, и задачами и решениями, которые мы можем представлять в своем воображении, очень близка. По этой причине ограничивать свойства языка только целями исключения ошибок программиста в лучшем случае опасно. Как и в случае с естественными языками, есть огромная польза быть, по крайней мере, двуязычным. Язык предоставляет программисту набор концептуальных инструментов, если они не отвечают задаче, то их просто игнорируют. Например, серьезные ограничения концепции указателя заставляют программиста применять вектора и целую арифметику, чтобы реализовать структуры, указатели и т.п. Хорошее проектирование и отсутствие ошибок не может гарантироваться чисто за счет языковых средств. Может показаться удивительным, но конкретный компьютер способен работать с программами, написанными на его родном машинном языке. Существует почти столько же разных машинных языков, сколько и компьютеров, но все они суть разновидности одной идей простые операции производятся со скоростью молнии на двоичных числах. Персональные компьютеры IBM используют машинный язык микропроцессоров семейства 8086, т.к. их аппаратная часть основывается именно на данных микропроцессорах. Можно писать программы непосредственно на машинном языке, хотя это и сложно. На заре компьютеризации(в начале 1950-х г.г.), машинный язык был единственным языком, большего человек к тому времени не придумал. Для спасения программистов от сурового машинного языка программирования, были созданы языки высокого уровня (т.е. немашинные языки), которые стали своеобразным связующим мостом между человеком и машинным языком компьютера. Языки высокого уровня работают через трансляционные программы, которые вводят "исходный код" (гибрид английских слов и математических выражений, который считывает машина), и в конечном итоге заставляет компьютер выполнять соответствующие команды, которые даются на машинном языке. Существует два основных вида трансляторов: интерпретаторы, которые сканируют и проверяют исходный код в один шаг, и компиляторы, которые сканируют исходный код для производства текста программы на машинном языке, которая затем выполняется отдельно.

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

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

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

Цели исследования:

  1. Просмотреть общую информацию о классификации для языков программирования.
  2. Просмотреть типы классификации языков программирования.
  3. Просмотреть выбранных сред разработки.

Задачи исследования:

  1. Изучения классификации языков программирования.
  2. Рассмотрение классификации типов языков программирования.
  3. Обзор языковых сред программирования.

В первой главе рассматриваются общие сведения о классификации языков программирования и их типах.

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

  1. Классификация языков программирования

За 60 лет компьютерного развития были разработаны сотни языков программирования, многие из которых все еще используются (например, Basic и Fortran были впервые использованы в конце 1950-х годов). Каждый год появляются несколько новых языков промышленного применения (кроме десятков экспериментальных). Чтобы понять их, языки классифицируются по наиболее важным признакам:

поколения с эволюционным языком (1GL, 2GL, 3GL, 4GL, 5GL ...);

функциональные - как ожидается, исполняемые функции (описательные, логические, математические);

уровень языка - то есть уровень обобщения в слове оператора языка (низкий, средний, высокий ...);

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

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

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

Низкоуровневый язык - это язык программирования, разработанный для определенного типа компьютера и отражающий его внутренний машинный код; Языки низкого уровня часто называют машинно-ориентированными языками. Их сложно конвертировать для использования на компьютерах с разными центральными процессорами, а также довольно сложно изучать, так как для этого требуется хорошее знание внутренних принципов компьютера.

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

Другая классификация делит языки на вычислительные и символические языки. Первый тип включает в себя FORTRAN, PASKAL, ALGOL, BASIC, S, второй - LISP, PROLOGUE, SNOBOL и т. д.

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

Базовая иерархия языков программирования

Базисная иерархичность стилей программирования представляется системно-синхронной иерархией, в таком случае существует пакета непосредственно сопряженных иерархий: деяний программирования, поколений стилей программирования и самих стилей - протоколов преображения скелетной и алгоритмической данных: структурно-описательного отображения информации и способа их отделки. Следовательно всегда стили делятся в 2 противоположных вида: описательные (внешние) и алгоритмические (инструктивные). Тем не менее, таким образом равно как в любом способе принимать необходимость отображения информации и строений, а в хоть какой установки — режим ее установки, в таком случае реальные стили представлены частично внешними, а частично алгоритмическими, что же отражается в присутствии схематичной и инструктивной (рецептурной) частью хоть какой компьютерного проекта. Рассмотрение пакета синхронных иерархий стилей программирования разумно начинать с иерархии деяний программирования. Этап 1. Постановка задачи программирования - включает формализацию миссии программирования, зачастую численно-точную, однако беспрерывно — официально-логичную, позволяющую осуществить всегда последующие рубежи и достичь поставленной миссии программирования впоследствии выполнения его деяний. Этап 2. Алгоритмизация - включает создание источник - схемы способа, в таком случае существует поочередных деяний отделки информации и текстуры самих информации с целью деятельность проекта. Этап 3. " Шифрование " -( с ам. классического сленга " coding ") - сочинение слова проекта в базисном текстовом слоге программирования, что имеет возможность являться ясен транслятору — проекте, переводящей медиа-контент в двойной шифр. Этап 4. Трансляция - переход проекта в двойной " объектовый " шифр, изготавливаемая транслятором без значимости лица, никак не предполагая движения отладки.

1.1.1 Поколения языков (Generations of Languages)

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

Поколение 2GL. Ассемблеры, автокоды, целые стили, стили посредственного степени - текстовые стили, доходчивые Люду и конкретно транжиримые (транслируемые) в стили невысокого степени, в таком случае принимать механический бинарный шифр. Кодирование (на (машинном в 2GL в процедура плодотворнее, Нежели в 1GL, таким (образом равно как наиболее комфортны с целью Людского восприятия. Образцы: Макроссемблер, С, PL/1.

Поколение 3GL. Языки высочайшего степени - текстовые стили, форсированные согласно словарю и синтаксису к человечьему стилю (как правило утрированному британскому, пиндосу), дозволяющие писать программные установки в фигуре, комфортной с целью Людского мышления и аналогичные обыкновенному слову — конспекту, стенограмме. Кодирование (на (машинном в 3GL в процедура плодотворнее, Нежели в 2GL, таким (образом равно как наиболее комфортны с целью Людского восприятия и в процедура в общем ассемблерных. Образцы: язык, язык, PHP и фактически всегда сетные стили.

Поколение 4GL. Языки зрительного программирования - стили источник-методик, дозволяющие показывать методы в программных планах, что же упрощает формирование и исследование алгоритмов. Кодирование (на (машинном в 4GL в процедура плодотворнее, Нежели в 3GL. Образцы: RAD-концепции, CAD-пакеты, OLAP-концепции.

Поколение 5GL. Интеллектуальные стили программирования - дают возможность отдать функцию формирования алгоритмов ПК, а из-за народом сохранить только постановку вопросы. Кодирование (на (машинном в 5GL в процедура плодотворнее, Нежели в 4GL. Образцы: концепция MatCAD, экспертные концепции. Заметим, что же повышение производительности работы разработчика программного обеспечения обращается повышением перегрузки в микропроцессор и воспоминания, в таком случае принимать компьютерная схема, приобретенная орудиями любого последующего поколения содержит в процедура немалую длину выполняемого кодировки, а следовательно, расхода вычисляемых ресурсов и памяти, в таком случае призывает значительно наиболее стремительного процессора. Хотя поколения стилей, безусловно, сформировались исторически, данное никак не значит, что же ранение поколения себе искоренили. Они используются в собственных нишах, к примеру, с целью программирования простых приборов, обладающих как минимум памяти, вида банковских автомобиль, микроконтроллеров домашних и индустриальных приборов используем только лишь механический шифр, так как стилям высочайших степеней вслед за тем «не развернуться». В целом программировании лучшие итоги предоставляют стили 2GL, так как в данной области значима темп исполнения и плотность кодировки. С целью обрабатывания слова и сетных проблем подходящими представлены стили 3GL. Непосредственно сопряженной с иерархией поколений стилей представляется, таким образом, именуемая «Стандартная модель OSI», обрисовывающая 7 степеней иерархии протоколов (стилей) сетного размена данными, осмотренная пониже.

1.1.2 Функциональная классификация языков программирования

Имеющиеся стили программирования систематизируют согласно четырём главным многофункциональным группам: процедурные, объектно-направленные, многофункциональные и логичные. Обеспечим короткие установления любого расклада. Процедурное кодирование (на (машинном - подобное кодирование (на (машинном, если схема разделена с информации и заключается с очередности распоряжений, возделывающих сведения. Сведения равно как норма сохраняются в варианте неустойчивых. Целый ход расчеты объединяется к изменению их охватываемого. Декларативные стили программирования - данное стили оглашений и концепции строений. К ним причисляются многофункциональные и логичные стили программирования. В данных стилях никак не выполняется алгоритмических операций безусловно, в таком случае принимать метод никак не задается программистом, а основывается наиболее проектом. В внешних стилях задается, выполняется создание какой-либо или текстуры либо концепции, в таком случае принимать объявляются (оглашаются) которые в таком случае характеристики формируемого предмета. Данные стили приобрели обширное использование в режимах автоматизированного проектирования (САПР), в таким (образом именуемых CAD-пакетах, в моделировании, режимах искусственного разума. Объектно-направленное кодирование (на (машинном - в данных стилях неустойчивые и функции сгруппировываются в таким (образом именуемые игра (трафареты). Вследствие данному добивается наиболее большой степень структуризации проекта. Предметы, порождённые с классов провоцируют способы (функции либо операции) товарищ товарища и изменяют подобным способом положение качеств (неустойчивых). С официально-точной края объектное направленный метод сочинения проектов основывается в процедурной модификации программирования, однако с массивной края ООП основывается никак не в функции, а в предмете, равно как целой концепции, обладающей типовой автоматизированный между объектовый пакет. Сетевые стили - стили, назначенные с целью учреждения взаимодействия далёких pc в активном диалоговом порядке, а следовательно они выстроены в принципах интерпретации, в таком случае принимать построчной, диалоговой обрабатывания строчек программного кодировки, обрисовывающего определенный план (script) сетного взаимодействия pc, следовательно. Зачастую они именуются скриптовыми стилями, хоть скриптовые стили никак не непременно представлены сетными, к образцу, стопочные инструктивные стили разных операторных сфер.

1.1.3 Процедурное программирование

Процедурное (алгоритмическое) программирование Процедурное программирование - есть отражение фон Неймановской архитектуры компьютера. Программа, написанная на процедурном языке, представляет собой последовательность команд, определяющих алгоритм решения задачи. Основная идея процедурного программирования - использование памяти для хранения данных. Основная команда- присвоение, с помощью которой определяется и меняется память компьютера. Программа производит преобразование содержимого памяти, изменяя его от исходного состояния к результирующему. Классификация языков программирования Классификация языков программирования Различают такие языки процедурного программирования: Язык Фортран создан в начале 50-х годов 20-го века для программирования научно-технических задач; Кобол – создан в конце 60-х годов 20-го века для решения задач обработки больших объемов данных, хранящихся на различных носителях данных; Алгол (1960 год) – это многоцелевой расширенный язык программирования. В нем впервые введены понятия “блочная структура программы” и “динамическое распределение памяти”; В середине 60-х годов 20-го века был создан специализированный язык программирования для начинающих – BASIC. Характеризуется простотой освоения и наличием универсальных средств для решения научных, технических и экономических задач, а также задач, например, игровых. Все перечисленные выше языки были ориентированы на различные классы задач, но они в той или иной мере были привязаны к конкретной архитектуре ЭВМ. В 1963-1966гг был создан многоцелевой универсальный язык PL-1. Этот язык хорошо приспособлен для исследования и планирования вычислительных процессов, моделирования, решения логических задач, разработки систем математического обеспечения. Язык Паскаль (PASCAL) (1968-1971гг)- язык процедурного программирования наиболее популярный для ПК, который и в настоящее время успешно применяется. В основу языка Pascal положен подход от общей задачи к частным (более простым и меньшим по объему). К основным принципам, которыми обладает Паскаль, можно отнести: а) Структурное программирование, которое основано на использовании подпрограмм и независимых структур данных; б) Программирование “сверху-вниз”, когда задача делится на простые, самостоятельно решаемые задачи. Затем выстраивается решение исходной задачи полностью сверху вниз. К языкам процедурного программирования можно отнести язык АДА (1979 г) Язык назван в честь первой программистки Ады Лавлейс- дочери Байрона. Его отличает модульность конструкций. Язык СИ (начало 70-х годов) также относится к языкам процедурного программирования. Первоначальный его вариант планировался как язык для реализации операционной системы Unix вместо языка Ассемблера. Одной из особенностей языка СИ является то, что различия между выражениями и операторами сглаживаются, что приближает его к функциональным языкам программирования. Кроме того, в языке СИ отсутствует понятие процедуры, а использование подпрограмм основано на понятии функции, которая может сочетать в себе возможности процедуры. С одной стороны, по набору управляющих конструкций и структур данных его можно отнести к языкам высокого уровня, а с другой – он имеет набор средств прямого обращения к функциональным узлам компьютера, а это означает, что его можно использовать как операционный язык.

1.1.4 Декларативные языки программирования

К ним причисляются многофункциональные и логичные стили программирования. Многофункциональное программирование- данное метод формирования проектов, в каких одним-единственным воздействием представляется призыв функции. В многофункциональном программировании никак не применяется память, равно как положение с целью сохранения данных, а, следовательно, никак не применяются переходные неустойчивые, операторы присваивания и циклы. Основным определением в многофункциональных стилях представляется выражение. Схема, написанная в многофункциональном языке, предполагает собою очередность отображения функций и формулировок. Выражение вычисляется сведением непростого к элементарному. Всегда формулирования вносятся в виде списков. Первоначальным стилем стал стиль Лисп (LISP, LIST Processing- переработка списков) создан в 1959г. Данный стиль дает возможность подвергать обработке крупные размеры текстовый данных. Логическое кодирование (на (машинном- данное кодирование (на (машинном в определениях логики. В 1973 г. был сформирован стиль искусственного происхождения разума Пролог (PROLOG) (Programming in Logic). Схема в языке Пролог основывается с очередности фактов и законов, затем формулируется положение, что Пролог пытается привести доказательства с поддержкой законов. Стиль непосредственно разыскивает разрешение с поддержкой способов отыскивания и сравнения, что в нем приняты. Логичные проекта никак не различаются большим быстродействием, так равно как ход их исполнения объединяется к системе непосредственных и оборотных цепочек размышлений различными способами отыскивания. Функциональное программирование Программа заключается с совокупности функций, что провоцируют друг друга. Переменные имеют все шансы быть в отсутствии во всех отношениях. Методы, записанные в многофункциональном варианте как норма в общем и включают меньше погрешностей чем подобные объектно-направленные либо процедурные. Многофункциональное программирование является программированием высокого степени. Стили данной категории владеют сравнительно невысоким быстродействием с из-за трудности осуществлении. Логическое программирование Основывается в внешной логике и Булевской алгебре (в определенных стилях используются ресурсы нечёткой логики, что же дает возможность формировать концепции искусственного происхождения разума). Схема, записанная в логичном языке программирования, никак не включает в себя определенных алгоритмов (операций и распоряжений вида совершить в таком случае, затем данное). Задаётся представление обстоятельств вопросы и закономерных взаимоотношений, согласно каковым концепция программирования сама рассчитывает вероятные расследования и связи введённых информации и формул.

1.1.5 Объектно-ориентированное программирование

Объектно-ориентированное программирование (ООП) — это средство программирования, при долгосрочном использовании тот или другого основными компонентами программ приходят объекты. В слогах программирования положенье предмета реализовано будто сумма качеств (структур данных, отличительных про предоставленного объекта), способов их отделки (подпрограмм изменения их свойств) и событий, в тот или другие настоящий предмет возможно отвечать и, тот или другие приводят, в большинстве случаев, к изменению качеств объекта. Объединение информаций и характерных им операций отделки в одном объекте, величается инкапсуляцией и представляется одним изо наиглавнейших принципов ООП. Иным основательным мненьем представляется класс. Чин - сие шаблон, в базе тот или другого возможно иметься сотворен определенный микропрограммный объект, он обрисовывает свойства и методы, устанавливающие поведение предметов сего класса. Всякий определенный объект, любящий текстуру сего класса, величается экземпляром класса. Последующими наиглавнейшими принципами ООП приходят наследование и полиморфизм. Наследование - предугадывает создание свежих классов в складе имеющихся и разрешает классу отпрыску располагать (наследовать) всегда свойства класса - родителя. Полиморфизм - означает, что рожденные предметы владеют информацией о том, какой-никакие способы они обязаны использовать в связи с того, в котором месте цепочки они находятся. Модульность - свойство программ, прпи тот или другом предметы заключают внутри себя абсолютное устройство их характеристик, всякие нахожденья способов и качеств не обязаны помещаться без его, сие осуществляет наиневероятнейшим вольнейшее повторенье и введенье одного предмета в другие. Сегодняшними слогами объектно-ориентированного программирования приходят С++ и Java. С половины 90-х летов некоторые объектно–ориентированные слоги реализуются будто налаженности зрительного проектирования, в каких интерфейсная часть программного продукта основывается в интерактивном режиме, положительно безо сочиненья программных операторов. К объектно – ориентированным способ организациям зрительного проектирования касаются Visual Basic, Delphi, C++ Builder, Visual C++. Говор VBA (Visual Basic for Applications) – говор прибавлений Microsoft Office (Excel, Word, Access, Power Point и др). VBA блюдет коренною синтаксис слога и взгляды на ветала программирования слогов Basic – диалектов, разрешает учреждать макросы про автоматизации исполненья кое-каких акций и графичный сокет пользователя, интеграцию меж разными программными продуктами.

1.1.6 Сетевые языки

Cтили программирования для компьютерных сетей приходят интерпретирующими. Интерпретаторы для них распространяются бесплатно, сами же кода – в начальных текстах. Таковые стили именуются скрипт – языками. Perl представляется интерпретирующим языком, сделанным программером Лари Уоллом про отделки наиогромнейших текстов и файлов и расшифровывается, будто Practical Extraction and Report Language (язык про утилитарного извлечения информаций и соединенья отчетов). Посредством Perl вы, например, можете основать скрипт, некоторый раскрывает один либо изрядно файлов, возделывает информацию и вписывает результаты. Perl - язык, приспособленный про отделки произвольных текстовых файлов, извлечения изо них наиважнейшею информации и выдачи сообщений. Perl также удобен для написания всевозможных системных программ. Данный говор элементарен в использовании, эффективен, но для него трудно сказать, что он роскошен и компактен. Синтаксис речений Perl недалек к синтаксису Си. Рекурсия возможно иметься произвольной глубины. Хоть Perl приспособлен про сканирования текстовых файлов, ему предоставляется возможность уговаривать да а бинарные данные. Perl разрешает использовать систематические выражения, учреждать объекты, вмешивать в программный код в Си либо Си++ куски кода в Perl, и разрешает исполнять ход к базам данных, в фолиант количестве Oracle. С изобретением World Wide Web, Perl очутился великолепнейшим лекарством про взаимодействия с web-серверами сквозь Common Gateway Interface (CGI) - сплошной интерфейс взаимодействия. Установки Perl могут свободно приобрести материалы изо стати HTML либо иного родника и осуществить с ними какое-то действие. Серверный скриптовый говор PHP (1995-1997гг) владеет лекарствами прохода к БД и применяется творцами динамических веб- сайтов в всем мире. Вычислитель слога трудится в сервере, создавая WEB-страницы пред отправки после сети. Серверный объектно-ориентированный говор Змей (Python), появившийся улучшеньем PHP, развернутый в парадигме ООП (объектно-ориентированного программирвоания), посредством чего в молчалив впору основать таковые гигантские программные комплексы, будто искательская конструкция Google. Универсальные псевдокомпиляторы (создатели промежуточного двоичного кода, выполняемого в всякого платформе) Java (фирма Sun) и CLR (платформа . Net Framework Microsoft), располагающие поспешность исполнения в ход выше, нежели у интерпретаторов. Абонентный (браузерный) скриптовый говор JavaScript (1990-e годы) владеет лекарствами формирования WEB-странице естественно в браузере, дозволяя исполнять наладку и манипуляцию данными явно в компьютере пользователя (клиента). Говор Tcl/Tk (конец 80-х годов) складывается изо наисильнейших команд, созданных для службы с отвлеченными нетипизированными предметами и разрешает учреждать программы с графическим интерфейсом. Говор VRML (1994г) сотворен про системе условных многомерных интерфейсов в Интернете.

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

Машинно - направленные стили - данное стили, комплекты операторов также выразительные ресурсы каковых значительно находятся в зависимости с отличительных черт электронно-вычислительная машина (внутреннего стиля, текстуры памяти также т.д.). Машинно -направленные стили дают возможность применять все без исключения способности также характерные черты Машинно - подчиненных стилей: высокое свойство формируемых проектов (сжатость также темп исполнения); возможность применения определенных аппаратных ресурсов; предсказуемость объектного программный код также заявок памяти; для формирования результативных проектов следует понимать концепцию установок также характерные черты функционирования этой электронно-вычислительная машина; трудоемкость хода формирования проектов ( в особенности в механических стилях также ЯСК), слабо оберегаемого с возникновения погрешностей; низкая темп программирования; невозможность прямого применения проектов, наложенных в данных стилях, в электронно-вычислительная машина иных видов. Машинно-направленные стили согласно уровня механического программирования разделяются в игра. Машинный язык Как ранее упоминалось во внедрении, самостоятельный пк обладает собственный конкретный Механический речь (затем МЯ), ему указывают осуществление предписываемых действий надо характеризуемыми выделиться операндами, по этой причине МЯ считается инструктивным. Но, определенные рода электронно-вычислительная машина (к примеру, йес электронно-вычислительная машина, IBM-370 также др.) обладают общий МЯ с целью электронно-вычислительная машина различной силы. Во указанию каждого с их докладывается сведения об месторасположении операндов также виде исполняемой процедуры. В новейших модификациях электронно-вычислительная машина планируется направленность ко увеличению внутренних стилей машинно - аппаратным линией осуществлять наиболее непростые указания, близящиеся согласно собственным многофункциональным поступкам ко операторам алгоритмических стилей программирования.

1.1.8 Языки символического кодирования

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

1.1.9 Автокоды и макрос

Автокоды. Есть кроме того стили, содержащие в себе все без исключения способности ЯСК, с помощью наращенного внедрения макрокоманд - они именуются Автокоды. В разных программках попадаются определенные довольно зачастую применяемые инструктивные очередности, какие отвечают конкретным операциям переустройства данных. Результативная осуществление подобных операций гарантируется оформлением их во варианте специализированных макрокоманд также подключением минувших во речь программирования, приемлемый разработчику программного обеспечения. Макрокоманды переходят в механические указания 2-мя способами - расстановкой также генерированием. В постановочной концепции присутствуют "остовы" - серии установок, реализующих необходимую функцию, отмеченную макрокомандой. Макрокоманды гарантируют передачу подлинных характеристик, какие во ходе трансляции вводятся во "остов" проекты, обращая ее во настоящую механическую план. В концепции с генерацией существуют специализированные проекты, рассматривающие макрокоманду, какие устанавливают, тот или иной функцию следует осуществить также сформировывают нужную очередность установок, реализующих эту функцию. Обе отмеченных концепции применяют трансляторы со ЯСК также комплект макрокоманд, какие кроме того считаются операторами автокода. Развитые автокоды приобрели наименование Ассемблеры. Сервисные проекты также пр., равно как принцип, составлены в стилях вида Микроассемблер.

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

1.2.0 Машинно - независимые языки и проблемно - ориентированные языки

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

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

Проблемных языков весьма большое количество, к примеру: Фортран, Алгол - стили, основанные с целью постановления точных вопросов; Simula, Слэнг - с целью прогнозирования; Лисп, Снобол - с целью деятельность с списочными текстурами.

1.2.1 Универсальные языки и диалоговые языки

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

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

  1. Выбор среды программирования

Встроенной сферой исследования программного предоставления именуют концепцию программных средств, применяемую программистами с целью исследования программного обеспечения. Обычно сфера исследования содержит во себе текстовой техред, транслятор и/или интерпретатор, компоновщик, настройщик также ссылочную концепцию. В Некоторых Случаях кроме того включает концепцию управления версиями также различные приборы с целью упрощения конструирования графического интерфейса пользователя. Многочисленные инновационные сферы исследования кроме того содержат контролер предметов, интернет-браузер классов также диаграмму иерархии классов, какие применяются с целью объектно-направленной исследования согласно. Как Правило сфера исследования служит с целью 1-го конкретного стиля программирования, равно как, к примеру, Visual Basic либо Deiphi, однако имеются сферы исследования, назначенные с целью некоторых стилей, подобные равно как Eclipse либо Microsoft Visual Studio. Примеры сфер исследования — Turbo Pascal, Borland С++, GNU toolchain, DrPython. В заключительное период, со формированием объектно-нацеленного программирования, обширное продвижение приобрели упоминавшиеся прежде сферы зрительного программирования, во каковых более известные конструкции программного программный код презентованы во варианте графических предметов. Наиболее зачастую используемыми считаются зрительные сферы Delphi, С++ Builder компании Borland (Inprise Corporation), Visual С++, Visual Basic компании Microsoft, Visual Ada компании IBM также др. Большую известность во наши время приобрела методика .NET Framework, порекомендованная компанией Microsoft во свойстве платформы с целью формирования равно как простых проектов, таким образом также интернет-дополнений. Главным превосходством .NET считается сопоставимость разных отраслей, прописанных в различных стилях. К Примеру, отдел, сочиненная в С++ с целью .NET, способен прибегнуть ко способу класса с библиотеки, прописанной в Delphi; в С# возможно составить группа, получающий с класса, прописанного в Visual Basic .NET, но редкий случай, брошенное способом, прописанным в С#, способен являться поймано также подвергнуто обработке во Delphi. Так ведь равно как также в случае со подбором стиля программирования, подбор сферы программирования обусловливается нравом плана, повадками также умениями создателя, веяниями периода, условиями клиента также попросту социальным суждением: «Все аналогичные исследования обязаны осуществляться в сфере...

Важнейшим элементом в процессе разработки приложения является выбор правильной IDE, зависящий не только от платформы, но и уровня собственной подготовки.

Visual Studio 2015

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

Недостатки: новичку будет просто невозможно самостоятельно разобраться с Visual Studio без прохождения специальных курсов и чтения литературы. Это продукт скорее для опытных разработчиков, обращающих внимание на качество редактора и функции тестирования.

Android Studio

Описание: относительно молодая и стремительно развивающаяся IDE, ориентированная на разработчиков приложений для Android.

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

XCode

Описание: IDE, ориентированная на создание приложений для OS X и iOS. Для использования языков Objective C и Swift на сегодня это лучшее, а для некоторых задач и вовсе единственное решение.

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

Xamarin Studio

Описание: популярный инструмент разработки приложений под Windows, Phone, Android и iOS, использующий по сути только один язык — C#. Помимо непосредственно Xamarin Studio вы также можете пользоваться плагином для Visual Studio.  

Недостатки: незначительные, но тем не менее регулярные ошибки, как непосредственно в самой IDE, так и в выходном коде. Также, несмотря на репутацию кроссплатформенной среды, портировать уже готовые приложения на Xamarin достаточно затруднительно.

IntelliJ IDEA

Описание: IDE, разработанная компанией JetBrains, позволяющая создавать программы на множестве популярных языков, среди которых Java, JavaScript, Python, Ruby, Groovy, Scala, PHP, C, C++.

Недостатки: производительность. Томительное ожидание выполнения компиляции, перекомпиляции, тестирования порой действительно раздражает.

Appcelerator Titanium

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

Недостатки: возможности, предоставляемые Appcelerator Titanium имеют и обратную сторону: генерируемые ошибки в коде, искусственные ограничения, недостаточно качественная документация.

Eclipse

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

Недостатки: существенная нехватка документации, нет единого сообщества разработчиков.

Netbeans

Описание: мощная IDE для разработки приложений на Java, JavaScript, Python, PHP, C, C++ и даже Ада.

Недостатки: невысокое быстродействие из-за концепции «всё в одном». Некоторые плагины (в том числе для разработки приложений для Android) имеют существенные ограничения функциональности.

PhoneGap

Описание: необычная среда разработки кроссплатформенных приложений, не требующая знания «родных» языков. То есть для того, чтобы создать приложение для Android, знание Java вам не потребуется. Используются JavaScript в связке с HTML5 и CSS3.

Недостатки: ограниченная функциональность вызванная непосредственно основной идеей нецелевой среды разработки

Заключение

Открытие языка программирования высшего уровня позволило нам контактировать с машиной, подразумевать ее (в случае если безусловно Для Вас символом применяемый речь), равно как осознает североамериканец несколько известный со российским стилем старинную алфавит Кириллицы. Легче изъясняясь, я во нашем формировании урока программирования до тех пор пока то что со электронно-вычислительная машина в вам. Вверьте ми данное никак не язвительность вам только лишь взглянете равно как раскрутилась дисциплина программирования со этого периода, равно как возникли стили программирования, но так как речь программирования верховного степени, очевидно согласно целому еще ребенок. Однако в случае если я адресуем интерес в темпы увеличения также формирования новых технологий во сфере программирования, в таком случае возможно допустить, то что во не далеком перспективе, людские постижения во данной области, могут помочь осуществить в освещение стили, способные осуществлять, подвергать обработке также транслировать данных во варианте идеи, фразы, звука либо песнь. Таким Образом также не терпится охарактеризовать данное произведение компьютеризированного предстоящего: «языки программирования "высочайшего" уровня». Допустимо, теория постановления данного проблемы элементарна, но кратчайшее перспективу данного плана ранее никак не из-за горками, также во данный период, в каком месте нибудь в Запорожье, Амстердаме, Токио либо Иерусалиме, пред старым 133MHz горбатится юный, никем никак не общепризнанный эксперт также разрабатывает новую концепцию синтетического умственные способности, что в конечном итоге-в таком случае даст возможность люду, со поддержкой собственных механических стилей, осуществлять разговор со автомобилем в твоя милость. Размышляя надо данным, не терпится доверять во рост урока также технической, во возвышенно - компьютеризированное перспективу людей, равно как только одного создания в земле, пускай также никак не использующего единственный, конкретный обиходный речь, однако даровитого таким образом стремительно развиваться также совершенствовать собственный умственные способности, то что также перехода с многоязыковой концепции ко общему осмыслению долгое время ожидать никак не потребуется.

Завершить собственный деятельность хорошо бы на такой уверенной в будущем ноте, однако отсутствует, в завершении не терпится привести цитату лица, части деятельность коего, во варианте данных об стиле, для вас ранее попадали в страничках данного текста: Единственный метод исследовать новейший речь программирования – записывать в немой проекты.

Брайэн Керниган

4. Библиография

1) “LEX - генератор программ лексического анализа”

Давидов Михаил Изгияевич; Антонов Вадим Геннадьевич

МОСКВА – 1985;

2) "BASIC Face-off", Justin J.Crom,

PC Tech Journal, September 1987, p.136

Перевод: Лопухов В.Н. (Интегратор Promt98);

3) “Язык программирования Си.” Б.В. Керниган, Д. Ритчи, А. Фьюэр.

Русский перевод: Москва: Финансы и Статистика. 1985 г.;

4) “Основы автоматизации” ч.1, Золотарев В.В., 1978 г.;

5) “Языки программирования” кн.5, Ваулин А.С., 1993 г.;

6) “Языки программирования: разработка и реализация”,

П. Терренс, 1979 г.;

7) “Введение в программирование на языке Ассемблер”

ч.1, Касвандс Э.Г.;

8) “Языки программирования высокого уровня”,

Хротко Г., 1982 г.;

9) “Языки программирования”,

Малютин Э.А., Малютина Л.В., 1982 г.;

10) “Новые языки программирования и тенденции их развития”, Ушкова В., 1982 г.;

11) “Мир Лиспа” т.1, Хьювенен Э., Сеппенен Й., 1990 г.;

12) “Алгоритмические языки реального времени”, Янг С., 1985 г..