Системы разработки и языки программирования. Лекция Языки и системы программирования. Структура данных. Редактор интегрированной среды

Системы разработки и языки программирования. Лекция Языки и системы программирования. Структура данных. Редактор интегрированной среды

15.02.2019

Введение ……………………………………………………………………....2

1 Язык и система программирования – понятие, сущность ……………….4

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

2.1 Машинно – ориентированные языки ………………………………....6

2.1.1 Машинные языки ………………………………………………...6

2.1.2 Языки символического кодирования …………………………...7

2.1.3 Автокоды …………………………………………………………8

2.1.4 Макрос …………………………………………………………….9

2.2 Машинно – независимые языки ………………………………………..9

2.2.1 Машинно – независимые языки …………………………………10

2.2.2 Универсальные языки ……………………………………………10

2.2.3 Диалоговые языки ………………………………………………...11

2.2.4 Непроцедурные языки ……………………………………………12

3 Современные языки и системы программирования ………………………13

3.1 Basic ………………………………………………………………………13

3.2 Pascal ……………………………………………………………………...14

3.3 Delphi ……………………………………………………………………..15

3.4 Fortran …………………………………………………………………….17

3.5 СиС++ …………………………………………………………………...18

3.6 Java………………………………………………………………………..20

Заключение ……………………………………………………………………..22

Список использованных источников...............................................................23

Введение

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

1 Язык и система программирования – понятие, сущность

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

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

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

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

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

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

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

Высокое качество создаваемых программ (компактность и скорость

выполнения);

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

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

Для составления эффективных программ необходимо знать систему

команд и особенности функционирования данной ЭВМ;

Трудоемкость процесса составления программ (особенно на

машинных языках и ЯСК), плохо защищенного от появления

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

Невозможность непосредственного использования программ,

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

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

2.1.1 Машинный язык

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

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

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

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

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

2.1.3Автокоды

Есть также языки, включающие в себя все возможности ЯСК, посредством расширенного введения макрокоманд - они называются Автокоды.

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

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

Обе указанных системы используют трансляторы с ЯСК и набор макрокоманд, которые также являются операторами автокода.

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

2.1.4 Макрос

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

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

Макрос одинаково может работать, как с программами, так и с данными.

2.2 Машинно – независимые языки

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

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

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

2.2.1 Проблемно – ориентированные языки

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

Проблемных языков очень много, например:

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

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

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

2.2.2 Универсальные языки

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

Программы в Пл/1 компилируются с помощью автоматических процедур. Язык использует многие свойства Фортрана, Алгола, Кобола. Однако он допускает не только динамическое, но и управляемое и статистическое распределения памяти.

2.2.3 Диалоговые языки

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

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

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

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

Бейсик использует обозначения подобные обычным математическим выражениям. Многие операторы являются упрощенными вариантами операторов языка Фортран. Поэтому этот язык позволяет решать достаточно широкий круг задач.

2.2.4 Непроцедурные языки

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

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

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

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

3 Современные языки и системы программирования

3.1 Basic

Как знаменитые гамбургеры, бейсбол и баскетбол, Бейсик - это продукт Новой Англии . Как я говорил, созданный в 1964г., как язык обучения программированию. Бейсик является общепринятым акронимом от"Beginner"s All-purpose Symbolic Insruction Code" (BASIC) - Многоцелевой Символический Обучающий Код для Начинающих".

Вскоре как обучаемые, так и авторы программ обнаружили, что Бейсик может делать практически все то, что делает скучный неуклюжий Фортран. А так как Бейсику было легко обучиться и легко с ним работать, программы на нем писались обычно быстрее, чем на Фортране. Бейсик был также доступен на персональных компьютерах, обычно он встроен в ПЗУ. Так Бейсик завоевал популярность. Интересно, что спустя 20 лет после изобретения Бейсика, он и сегодня самый простой для освоения из десятков языков общецелевого программирования, имеющихся в распоряжении любителей программирования. Более того, он прекрасно справляется с работой.

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

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

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

Более того, с появлением транслятора QuickBasic фирмы Microsoft разработчики получили возможность строить на Бейсике приложения из раздельно откомпилированных модулей, некоторые из которых могут быть написаны на других языках. Теперь, как и в случае других ведущих языков программирования, разработчик имеет выбор из нескольких промышленных библиотек подпрограмм, которые содержат готовые решения для распространенных задач программирования.

3.2 Pascal

Язык Паскаль был создан как учебный язык программирования в 1968 –1971г. Никлаусом Виртом . В настоящее время этот язык имеет более широкую сферу применения, чем предусматривалось при его создании. Целью работы Вирта было создание языка, который:

Строился бы на небольшом количестве базовых понятий;

Имел бы простой синтаксис;

Допускал бы перевод программ в машинный код простым компилятором;

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

Паскаль – язык профессионального программирования, который назван в честь французского математика и философа Блеза Паскаля (1623–1662) и разработан в 1968–1971 гг. Николаусом Виртом, для обучения студентов методам разработки программ, таким как "программирование сверху вниз", "структурное программирование" и т. д. Вирту не понравился не один из существующих на тот момент языков, и в 1968 году он приступил к разработке своего собственного. Первая версия языка была создана для компьютера CDC 6000. Благодаря своей четкости, логичности и другим особенностям Паскаль надолго занял свою нишу, являясь прекрасным языком для обучения программированию. Паскаль использовался и для разработки серьезных программ- приложений. Шутили, что Вирт разработал игрушку, но многие отнеслись к ней слишком серьезно

Впоследствии появились различные версии языка и его расширения. Наиболее известным расширением стал пакет Турбо Паскаль фирмы Borland, появившийся в 1983 году и сразу ставший событием в мире компьютерных технологий.

Турбо Паскаль – это система программирования, созданная для повышения качества и скорости разработки программ (80-е гг.). Слово Турбо в названии системы программирования – это отражение торговой марки фирмы-разработчика Borland International (США).

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

Первое упоминание о нем содержалось в рекламе опубликованной в журнале Byte, а сам пакет предназначен для операционной системы CP/M. В начале 1984 года он был перенесен в среду MS-DOS и приобрел огромную популярность. С тех пор появилось несколько версий Турбо Паскаля, последняя- седьмая.

3.3 Delphi

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

Система Delphi позволяет решать множество задач, в частности:

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

Быстро создавать (даже начинающим программистам) профессионально выглядящий оконный интерфейс для любых приложений.

Создавать мощные системы работы с локальными и удаленными базами данных.

Создавать справочные системы (файлы.hlp) для своих приложений и мн. др.

Delphi – чрезвычайно быстро развивающаяся система. Первая версия – Delphi 1.0 была выпущена в феврале 1995 г. А затем новые версии выпускались ежегодно.

Большинство версий Delphi выпускается в нескольких вариантах: Standart – стандартном, Professional – профессиональном, Client/Server – клиент/сервер, Enterprise – разработка баз данных предметных областей. Различаются варианты в основном разным уровнем доступа к системам управления базами данных. Последние варианты - Client/Server и Enterprise, в этом отношении наиболее мощные.

Delphi - это комбинация нескольких важнейших технологий:

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

Объектно-ориентированная модель компонент.

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

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

3.4 Fortran

Одним из первых и наиболее удачных компиляторов стал язык Фортран, разработанный фирмой IBM. Профессор Дж. Букс и группа американских специалистов в области программирования в 1954 году опубликовало первое сообщение о языке. Дословно, название языка FORmulaeTRANslation –преобразование формул.

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

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

Модификация языка Фортран, появившиеся в 1958 году, получила название Фортран II и содержала понятие подпрограммы и общих переменных для обеспечения связи между сегментами.

К 1962 году относится появление языка, известного под именем Фортран IV и ставшего наиболее употребительным в настоящее время. К этому же времени относится и начало деятельности комиссии при Американской Ассоциации Стандартов (ASA), которая выработала к 1966 году два стандарта – языки Фортран и базисный (основной) Фортран (BasicFORTRAN). Эти языки приблизительно соответствуют модификациям IV и II, однако базисный Фортран является подмножеством Фортрана, в то время, как Фортран II таковым для Фортрана IV не является. Язык Фортран до сих пор продолжает развиваться и совершенствоваться, оказывая влияние на создание и развитие других языков. Например, Фортран заложен в основу Basic – диалогового языка, очень популярного для решения небольших задач, превосходного языка для обучения навыкам использования алгоритмических языков в практике программирования. Разработан этот язык – Beginner’sAll –purposeSymbolicInstructionCode – группой сотрудников Вычислительного центра Дармутского колледжа, штат Нью-Хемпшир созданный в 19…. . Но это уже следующий язык.

3.5 С и С++

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

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

В языке "C" отсутствуют операции, имеющие дело непосредственно с составными объектами, такими как строки символов, множества, списки или с массивами, рассматриваемыми как целое. Здесь, например, нет никакого аналога операциям PL/1, оперирующим с целыми массивами и строками. Язык не предос тавляет никаких других возможностей распределения памяти, кроме статического определения и механизма стеков, обеспечиваемого локальными переменных функций; здесь нет ни "куч"(HEAP), ни "сборки мусора", как это предусматривается в АЛГОЛЕ-68. Наконец, сам по себе "C" не обеспечивает никаких возможностей ввода-вывода: здесь нет операторов READ или WRITE и никаких встроенных методов доступа к файлам. Все эти механизмы высокого уровня должны обеспечиваться явно вызываемыми функциями.

Аналогично, язык "C" предлагает только простые, последовательные конструкции потоков управления: проверки, циклы, группирование и подпрограммы, но не мультипрограммирование, параллельные операции, синхронизацию или сопрограммы. Хотя отсутствие некоторых из этих средств может выглядеть как удручающая неполноценность ("выходит, что я должен обращаться к функции, чтобы сравнить две строки символов?!"), но удержание языка в скромных размерах дает реальные преимущества. Так как "C" относительно мал, он не требует много места для своего описания и может быть быстро выучен. Компилятор с "C" может быть простым и компактным. Кроме того, компиляторы легко пишутся; при использовании современной технологии можно ожидать написания компилятора для новой ЭВМ за пару месяцев и при этом окажется, что 80 процентов программы нового компилятора будет общей с программой для ужесуществующих компиляторов. Это обеспечивает высокую степень мобильности языка. Поскольку типы данных и структуры управления, имеющиеся в "C", непосредственно поддерживаются большинством существующих ЭВМ, библиотека, необходимая во время прогона изолированных программ, оказывается очень маленькой. На PDP -11, например, она содержит только программы для 32-битового умножения и деления и для выполнения программ ввода и вывода последовательностей. Конечно, каждая реализа-

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

3.6 Java

Сегодня Всемирная сеть - это среда информационного обмена для миллионов людей. Они размещают текст, видео, звук, и информацию, и все более и более, они усложняют свои страницы, делая их интерактивными в сети. JavaScript - это новый язык программирования, используемый в составе страниц HTML для увеличения функциональности и возможностей взаимодействия с пользователями. Он был разработан фирмой Netscape в сотруднечестве с Sun Microsystems на базе языка Sun"s Java .С помощью JavaScript на Web-странице можно сделать то, что невозможно сделать стандартными тегами HTML. Скрипты выполняются в результате наступления каких-либо событий, инициированных действиями пользователя. Создание Web- документов, вклучающих программы на JavaScript, требует наличее текстового редактора и подходящего браузера. Некоторые просмоторщики включают в себе встроенные редакторы, поэтому необходимость во внешнем редакторе отпадает.

Несмотря на отсутствие прямой связи с языком Java, JavaScript может обращаться к внешним свойствам и методам Java- апплетов, встроенных в страницу HTML. Разница сводится к тому, что апплеты существуют вне браузера, в то время как программы JavaScript могут работать только внутри браузера. На первой взгляд кажется, что найти информацию по JavaScript несложно. Сначала создается впечатление, что ее можно увидеть везде: на сервере Natscape, в виде электронных руководств и примеров, во многих других местах. Тем не менее разыскать информацию об объектах, операторах, цветах и всем прочем в одном источнике, чтобы она была всегда под рукой, трудно.

Заключение

Изобретение языка программирования высшего уровня позволило нам общаться с машиной, понимать её. Развилась наука программирования с того времени, как появились языки программирования, а ведь язык программирования высшего уровня, судя по всему ещё младенец. Но если обратить внимание на темпы роста и развития новейших технологий в области программирования, то можно предположить, что в ближайшем будущем, человеческие познания в этой сфере, помогут произвести на свет языки, умеющие принимать, обрабатывать и передавать информации в виде мысли, слова, звука или жеста. Так и хочется назвать это детище компьютеризированного будущего: «языки программирования "высочайшего" уровня». Возможно, концепция решения этого вопроса проста, а ближайшее будущее этого проекта уже не за горами.

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

Список использованных источников

1) Родли Джон Создание Java-апплетов.- The Coriolis Group,Inc.,1996, Издательство НИПФ "ДиаСофт Лтд.",1996

2) Эферган Майкл Java: справочник.- QUE Corporation, 1997, Издательство "Питер Ком", 1998

3) Давидов Михаил Изгияевич; Антонов Вадим Геннадьевич “LEX - генератор программ лексического анализа” МОСКВА – 1985;

4) "BASIC Face-off", Justin J.Crom, PC Tech Journal, September 1987, 136 Перевод: ЛопуховВ.Н. (Интегратор Promt98);

5) Керниган Б.В., Ритчи Д., Фьюэр А. “Язык программирования Си.” Русский перевод: Москва: Финансы и Статистика. 1985 г.;

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

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

8) Терренс П. “Языки программирования: разработка и реализация”, 1979 г.;

9) Касвандс Э.Г “Введение в программирование на языке Ассемблер” ч.1;

10) Хротко Г., “Языки программирования высокого уровня”, 1982 г.;

11) Малютин Э.А., Малютина Л.В., “Языки программирования”, 1982 г.;

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

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

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

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

Общие сведения

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

  • машинные (языки программирования низкого уровня);
  • машинно-ориентированные (ассемблеры);
  • машинно-независимые (высокого уровня);

Среди разработчиков современного программного обеспечения наиболее популярны следующие основные языки программирования. Список приведён в порядке убывания популярности:

  1. Java.
  2. HTML.
  3. Visual Basic.
  4. Delphi.

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

Основы программирования

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

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

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

Разработка приложений

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

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

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

SQL

Специализированный язык программирования предназначен в первую очередь для работы с системами управления базами данных и их программирования. SQL переводится как "специализированный Поскольку в последние десятилетия рынок СУБД вырос многократно, популярность этого языка не становится сюрпризом.

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

Javascript

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

Технология Java - это основа, позволяющая в неограниченных количествах увеличивать инфраструктуру предприятий и компаний, способная связать воедино системы самого различного калибра, начиная от подключения к сети телефона по Wi-fi и заканчивая суперкомпьютерами.

XML

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

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

Программируем по-русски

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

  • 1С:Предприятие. Целая система, предназначенная для управления организацией во всех сферах деятельности. Нередко в объявлениях по поиску сотрудников можно встретить "Программист 1С".
  • Глагол. Аналог англоязычного Pascal.
  • Робик. Специализированный язык программирования, предназначенный для обучения детей основам программирования.
  • Рапира. Язык с основанный на процедурах.

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

Язы́к программи́рования - формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполнит исполнитель (компьютер) под её управлением.

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

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

· Функция: язык программирования предназначен для написания компьютерных программ, которые применяются для передачи компьютеру инструкций по выполнению того или иного вычислительного процесса и организации управления отдельными устройствами.

· Задача: язык программирования отличается от естественных языков тем, что предназначен для передачи команд и данных от человека к компьютеру, в то время как естественные языки используются для общения людей между собой. Можно обобщить определение «языков программирования» - это способ передачи команд, приказов, чёткого руководства к действию; тогда как человеческие языки служат также для обмена информацией.

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

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

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

Реализация языка – это системная программа, которая переводит (преобразует) записи на языке высокого уровня в последовательность машинных команд.

Имеется два основных вида средств реализации языка: компиляторы и интерпретаторы.

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

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

Следует заметить, что любой язык программирования может быть как интерпретируемым, так и компилируемым, но в большинстве случаев у каждого языка есть свой предпочтительный способ реализации. Языки Фортран, Паскаль в основном компилируют; язык Ассемблер почти всегда интерпретирует; языки Бейсик и Лисп широко используют оба способа.

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

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

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

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



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

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

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

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

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

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

3.Автокоды. Существуют системы программирования, использующие языки, которые включают в себя все возможности ЯСК, посредством расширенного введения макрокоманд – они называются Автокоды. В различных программах встречаются некоторые достаточно часто использующиеся командные последовательности, которые соответствуют определенным процедурам преобразования информации. Эффективная реализация таких процедур обеспечивается оформлением их в виде специальных макрокоманд и включением последних в язык программирования, доступный программисту. Макрокоманды переводятся в машинные команды двумя путями – расстановкой и генерированием. В постановочной системе содержатся «остовы» – серии команд, реализующие требуемую функцию, обозначенную макрокомандой. Макрокоманды обеспечивают передачу фактических параметров, которые в процессе трансляции вставляются в «остов» программы, превращая её в реальную машинную программу. В системе с генерацией имеются специальные программы, анализирующие макрокоманду, которые определяют, какую функцию необходимо выполнить и формируют необходимую последовательность команд, реализующих данную функцию. Обе указанных системы используют трансляторы с ЯСК и набор макрокоманд, которые также являются операторами автокода. Развитые автокоды получили название Ассемблеры. Сервисные программы и пр., как правило, составлены на языках типа Ассемблер.

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

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

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

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

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

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

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

5. В последние несколько лет в программировании (особенно для операционной среды Windows) наметился так называемый визуальный подход. Этот процесс автоматизирован в средах быстрого проектирования. При этом используются готовые визуальные компоненты, свойства и поведение которых настраиваются с помощью специальных редакторов. Таким образом, происходит переход от языков программирования системного уровня к языкам сценариев.

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

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

Лекция 11. Языки программирования. Системы программирования. Среды визуального проектирования

Обзор языков программирования

Управляющие команды и данные, поступающие в процессор по его шинам, представляются в виде машинного кода.

Машинный код - это двоичный код, т. е. совокупность нулей и единиц в виде электрических сигналов.

Управление компьютером производится по определенному алгоритму.

Алгоритм - это точно определенное описание способа решения задачи в виде конечной по времени последовательности действий (элементарных операций или операторов). Такое описание называется формальным.

Для представления алгоритма в виде, понятном PC , служат языки программирования. Сначала всегда разрабатывается алгоритм действий, который записывается на одном из таких языков.

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

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

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

Процесс поиска ошибок в программе - это тестирование программы , а процесс их устранения - отладка программы.

Различают два вида программ-трансляторов:

  • интерпретатор, который одновременно и транслирует и выполняет заданную команду, делая это покомандно или пооператорно;
  • компилятор, который преобразует программу, составленную на языке высокого уровня, в программу на машинном языке или на языке, близком к машинному, не участвуя в её выполнении.

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

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

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

На практике применяется как тот, так и другой вид программ-трансляторов, т. е. и программы-интерпретаторы, и программы-компиляторы.

Уровни языков программирования

Язык программирования, ориентированный на определенный тип процессора - это язык низкого уровня. Это не значит - "плохой", а только то, что язык конкретен и близок к машинному языку PC (например, язык "Ассемблер").

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

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

Рождение языков высокого уровня 5-го поколения произошло в середине 90-х годов.

Fortran - первый компилируемый язык, созданный в 50-е годы, но модификации 2000 года (HPF — High Perfomance Fortran ) используются и сейчас в статистических комплексах и даже в системах управления спутниками.

Cobol — это компилируемый язык для применения в экономике и решения бизнес-задач, разработанный в начале 60-х годов. Имеет много приложений, используется и сейчас (в США наибольшую зарплату получают программисты, работающие на Cobol ).

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

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

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

С (Си) - планировался для замены ассемблера, чтобы иметь возможность создавать эффективные и компактные программы, и в то же время не зависеть от конкретного типа процессора. На этом языке написано в 70е годы множество системных и прикладных программ и ряд операционных систем (в частности, ОС Unix ).

C++ (Си++) - это объектно-ориентированное расширение языка Си, разработанное в 1980 году. Обеспечивает высокую производительность, но требует от разработчиков высокого уровня профессионализма.

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

Этот язык занимает по популярности второе место после Basic . Основной его недостаток - невысокое быстродействие, т. к. он интерпретируемый .

Языки программирования баз данных (БД)

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

Для управления большими БД и эффективной обработки данных разработаны системы управления базами данных (СУБД). Для обработки данных в базах данных был создан структурированный язык запросов SQL (Structured Query Language ).

Практически в каждой СУБД помимо поддержки языка SQL имеется также свой уникальный язык, ориентированный на особенности только этой СУБД.

В настоящее время насчитывается несколько ведущих производителей СУБД. Среди них такие, как:

Microsoft Access ;

Oracle ;

Informix и т. п.

СУБД этих фирм ориентированы на работу одновременной работы в сети тысяч пользователей, а БД могут храниться в распределённом виде на нескольких серверах.

Языки программирования для Internet

Все эти языки интерпретируемые, интерпретаторы для них распространяются бесплатно, а сами программы - в исходных текстах (скриптах). Такие языки называют скрипт-языками.

  • Наиболее известные из скрипт-языков:
  • HTML , XML - общеизвестные языки разметки гипертекста, предназначенные для описания структуры и содержания WEB -документов;
  • JavaScript – язык программирования сценариев или скриптов (планов работы программ по взаимодействию с пользователем), встроенных в тело WEB -страницы;
  • Perl – язык программирования, используемый для создания сценариев и динамически генерируемых Web-страниц, превосходящий по мощности языки типа Си.

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

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

Текстовый редактор (лучше использовать специализированный, ориентированный на конкретный язык программирования и позволяют выделять ключевые слова и идентификаторы разными цветами и шрифтами);

  • программу-компилятор, с помощью которой текст может быть переведен непосредственно в машинный код, но так как в программе часто не хватает некоторых компонентов, компилятор может выдавать промежуточный объектный код с расширением. obj ;
  • библиотеки функций. Каждый модуль компилируется в отдельный файл с объектным кодом, но, кроме того, к ним может быть добавлен машинный код подпрограмм, реализующих стандартные математические функции (например, sin , In ), которые поставляются с компилятором. Эти подпрограммы находятся в библиотеках функций (файлах с расширением. lib );
  • редактор связей. Объектный код модуля обрабатывается специальной программой-редактором связей или сборщиком (компоновщиком), который связывает объектный код и машинный код стандартных функций и формирует на выходе работоспособное приложение, т. е. исполнимый код для конкретной системной платформы;
  • исполнимый код - это законченная программа, которую можно запустить на любом PC с той ОС, для которой эта программа создавалась. Она имеет расширения: .ехе или. com .

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

Среды визуального проектирования

В настоящее время в программировании совершенствуется визуальный подход. Раньше серьезным препятствием для разработки графических приложений была сложность создания различных визуальных элементов приложения и их контроль. Например, для программы сложения 2-х чисел требуется всего один оператор или одна строка исходного текста, а для создания кнопки и двух полей ввода чисел (подготовки к работе в - Windows ) — сотни строк кода.

Процесс графического программирования был автоматизирован в средах быстрого проектирования RAD (Rapid Application Development ). Все необходимые элементы оформления и управления (компоненты) создаются с помощью готовых визуальных компонентов, которые с помощью мыши вводятся в проектируемое окно, при этом вспомогательный исходный текст для этих объектов генерируется средой автоматически, что позволяет сосредоточиться на логике решаемой задачи. В результате программирование заменяется на проектирование или называется визуальным проектированием.

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

В настоящее время наиболее популярны следующие среды визуального программирования для языков:

Basic: Microsoft Visual Basic;

Pascal: Borland Delphi;

C++: Borland C++ Builder;

Java: Symantec Cafe.

Microsoft Visual Basic

Язык BASIC (Beginner " s All Purpose Symbolic Instruction Code ) был модифицирован в GWBASIC (Graphics Workshop ), который был доступен для первых PC .

В конце 80-х годов разработан QuickBasic , который в 1992 году заменил Visual Basic for Windows .

В середине 1998 года разработана шестая, наиболее зрелая версия Microsoft Visual Basic (MS VB 6), которая долгое время была основной учебной версией.

Данная версия являлась основной средой разработки приложений под Windows от Microsoft, до появления принципиально новой платформы. NET Framework .

После этого фирма Microsoft резко изменила политику в отношении языков семейства Basic. Вместо развития Visual Basic, был создан абсолютно новый язык Visual Basic.NET , первая версия которого появилась в 2001 г. Это принципиально новый язык, имеющий, помимо синтаксиса , очень мало схожего с VB 6.0, и достаточно сильно отличающийся от него.

VB.NET сразу же занял прочное место VB в языковом комплексе Visual Studio, и на этом развитие классического языка Visual Basic остановилось.

В 2005 году вышла новая версия Visual Basic 2005, в комплекте Visual Studio . Она имела новый интерфейс и большие возможности. Язык был основан на Visual Basic.NET.

В конце 2007 фирма Microsoft выпустила новую версию Visual Basic — Visual Basic 2008, которая также была основана на Visual Basic.NET.

В 2010 году в составе Visual Studio 2010 была выпущена версия Visual Basic 2010 и её несколько упрощённый вариант Visual Basic 2010 Express , который ориентирован на широкое использование и предлагается бесплатно.

Вычислительной средой для визуального языка программирования Visual Basic 2010 является платформа Microsoft .NET Framework 4.0 (Microsoft dot NET Framework 4.0), являющаяся неотъемлемым компонентом Windows.

В настоящее время версия Visual Basic 2010 является основной, от поддержки и сопровождения всех предыдущих разработок Visual Basic фирма Microsoft отказалась.

Чтобы избежать изучения нового языка для каждого из продуктов Microsoft начала включать элементы BASIC в макроязыки продуктов.

В результате была создана версия языка Visual Basic , названная Visual Basic for Applications (VBA ), которая реализуется во всех приложениях MSO 2003 и M SO 2007 (Word , Excel , PowerPoint и др.), в частности, для создания макросов.

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

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

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

Для этой цели разрабатываются специальные языки описания алгоритмов, которые называются алгоритмическими языками или языками программирования .

(05.12.2012 г.)

Они (алгоритм.яз.) обладают рядом свойств:

1. Специализация – средство, предоставленное языком, ориентированным на описание задач предметных областей определенного типа. Например : одни языки предназначены в основном для численных расчетов (Паскаль), другие для работы с текстовой информацией (LISP), третьи для написания системных программ (С). В основном наиболее распространенные языки позволяют описать решение разнообразных задач (поэтому называются универсальными), но наиболее удобны для решения тех задач, для которых они разработаны.

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

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

1. Трансляция – перевод текста программных модулей с алгоритмического языка на машинный.

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

3. Отладка программы – процесс нахождения и устранения ошибок в тексте программы.

4. Исполнение программы.

Для обеспечения этих этапов и предназначены системы программирования.

Они включают в себя следующие компоненты:

1. Специализированный текстовый редактор. Оказывает помощь человеку в процессе написания текста программных модулей.

2. Трансляторы. Транслятор – это переводчик с языка, на котором написаны тексты программных модулей, на машинный внутренний язык. Два вида трансляторов:

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

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


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



© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows