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

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

    Переводы , 9 марта 2015 в 16:37

Для погружения в программирование нужно всего 3 вещи:

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

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

Некоторые люди начинают с относительно низкоуровневого программирования на C и C++. Другие выбирают более традиционный путь, изучая Java или C#. Равно как есть и те, кто начинает с высокоуровневых или скриптовых языков наподобие Python, Ruby или JavaScript. У таких подходов есть много преимуществ, однако есть и другие пути, просто эти самые популярные.

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

Низкий уровень

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

21 апреля в 16:00 в 16:00, онлайн, беcплатно

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

§ Язык высокого уровня — Язык программирования, средства которого обеспечивают описание задачи в наглядном, легко воспринимаемом виде, удобном для программиста. Он не зависит от внутренних машинных кодов ЭВМ любого типа, поэтому программы, написанные на языках высокого уровня, требуют перевода в машинные коды программами транслятора либо интерпретатора. К языкам высокого уровня относят Фортран , ПЛ/1 , Бейсик , Паскаль , Си , Ада и др.

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

Различают также следующие виды языков программирования:

§ Алгоритмический язык — Совокупность символов, соглашений и правил, используемых для однозначного описания алгоритмов и обычно являющаяся часть языка программирования ;

§ Неалгоритмический язык — Язык программирования, тексты которого не содержат указаний на порядок выполнения операций и служат лишь исходным материалом для синтеза алгоритма решения задачи;

§ Формальный язык – Язык программирования, построенный по правилам некоторого логического исчисления или формальной, представляющей собой систему правил построения в заданном алфавите конечных знаковых последовательностей, множество которых образует формальный язык;

§ Исходный язык — Язык программирования, на котором написана программа, в отличие от машинного языка, на котором программы выполняются компьютером. Исходные языки классифицируются на языки высокого уровня и языки низкого уровня .

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

§ Машинозависимый ( машинно-ориентированный ) язык , машинозависимый язык программирования — Язык программирования, учитывающий структуру и характеристики ЭВМ определенного типа или конкретной ЭВМ;

§ Машиннонезависимый язык- Язык программирования, структура и средства которого не связаны ни с какой конкретной ЭВМ и позволяют выполнять составленные на нем программы на любой ЭВМ, снабженной трансляторами с этого языка;

§ Символический язык , язык символического кодирования — Язык программирования, ориентированный на конкретные ЭВМ и основанный на кодировании машинных операций при помощи определенного набора символов;

§ Гибридный ( комбинированный ) язык — Язык программирования, использующий также средства другого языка;

§ Графический язык — Язык, предназначенный для написания программ машинной графики и пользования ими.

§ Базовый язык – Машинный язык , общий для семейства ЭВМ (язык программирования в СУБД с автономным языком).

§ Общий язык — Машинный язык, общий для группы ЭВМ и используемых ими внешних устройств;

§ Эталонный язык — Язык, являющийся основой для всех его конкретных версий, являющихся вариантами адаптации эталонного языка к определенным условиям применения и назначения;

§ Язык ассемблера , ассемблер — Универсальный язык программирования , относящийся к категории языков низкого уровня, структура которого определяется форматами команд, данными машинного языка и архитектурой ЭВМ.

§ Декларативный ( непроцедурный ) язык — Язык программирования, который позволяет задавать связи и отношения между объектами и величинами, но не определяет последовательность выполнения действий (например, языки Пролог , QBE);

§ Императивный ( процедурный ) язык — Язык программирования, который позволяет в явной форме (при помощи задания выполняемых операторов) определять действия и порядок (последовательность) их выполнения;

§ Язык функционального программирования , функциональный язык- Декларативный язык программирования, основанный на понятии функций, которые задают зависимость, но не определяют порядок вычислений.

§ Специализированный язык — Язык программирования, ориентированный на решение определенного круга задач;

§ Язык описания страниц — Специализированный язык, предназначенный для печатающих устройств. Наиболее известным языком такого типа является PostScript.

§ Автономный язык — Специализированный язык высокого уровня, в замкнутых СУБД (“ СУБД с автономным языком “);

§ Язык конструирования интерактивных технологий — В СУБД — язык, предназначенный для описания технологических процессов обработки данных с учетом разделения характера операций по их типам, а также обеспечения диалога с администратором системы;

§ Язык манипулирования данными , ЯМД- В СУБД — язык, предназначенный для обращения к базе данных и выполнения поиска, чтения и модификации ее записей;

Читайте также:  Программа для интеграции драйверов в windows 7

§ Язык обработки списков — Специализированный язык, предназначенный для описания процессов обработки данных, представленных в виде списков объектов ;

§ Язык описания данных — Язык, предназначенный для описания “концептуальной схемы” базы данных ;

§ Язык описания хранения данных — Язык, предназначенный для описания физической структуры ( схемы ) базы данных ;

§ Язык описания страниц — Система для кодировки документов, которая позволяет точно описать ее внешний вид после подготовки к выводу на печать или на дисплей. Примером использования такого языка служит PDF разработанный Adobe для хранения и представления изображений страниц.

§ Язык представления знаний — Декларативный или декларативно-процедурный язык, предназначенный для представления знаний в памяти ЭВМ (например, языки Лисп и Пролог );

§ Язык публикаций — Язык, используемый для публикации алгоритмов и программ;

§ Язык спецификаций — Декларативный язык для задания спецификаций программ ;

§ Проблемно-ориентированный язык — Язык программирования, предназначенный для решения определенного класса задач (проблем);

§ Процедурный ( процедурно-ориентированный ) язык [- Проблемно-ориентированный язык, который облегчает выражение процедуры, как точного алгоритма;

§ Язык реального времени — Язык, используемый для программирования задач, в которых критическим является время реакции ЭВМ на сигналы, требующие от нее немедленных действий (например, язык Ада );

§ Язык управления пакетом — Набор команд , директив , квалификаторов и правил их использования для управления пакетной обработкой данных;

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

§ Общесетевой командный язык — Стандартный в рамках вычислительной сети язык диалогового (интерактивного) поиска данных, предназначенный для унификации работы пользователей с неоднородными базами данных, управляемых различными СУБД ;

§ Системный язык — Язык общения оператора ЭВМ с вычислительной системой, представляющий собой совокупность команд оператора и сообщений системы;

§ Язык меню — Язык диалога пользователя с системой, основанный на использовании меню.

Не нашли то, что искали? Воспользуйтесь поиском:

Лучшие изречения: При сдаче лабораторной работы, студент делает вид, что все знает; преподаватель делает вид, что верит ему. 9961 — | 7574 — или читать все.

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

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

Языки низкого уровня (law-level languages) — это средство записи инструкций для компьютера на аппаратном языке, т.е. в машинных кодах (в виде последовательности нулей и единиц). Языки низкого уровня жестко ориентированы на определенный тип аппаратуры (систему команд процессора, у каждого типа процессоров — свой машинный код).

Языки высокого уровня (high-level languages) – это языки программирования, позволяющие записывать программу в удобном для человека виде. Данные языки ориентированы не на систему команд того или иного процессора, а на систему операторов (команд), характерных для записи определенного класса алгоритмов.

Языки высокого уровня проще в обращении, поскольку их задача состоит в обслуживании потребностей программиста, а не в выявлении возможностей компьютера. Написанные на этих языках программы следует перекодировать — перевести на машинный язык (machine code), так, чтобы до запуска программ компьютер мог их понять. Поэтому в системы программирования на ЯВУ входит либо интерпретатор (interpreter) языка, либо компилятор (compiler).

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

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

Низкоуровневые языки, близкие к машинному, позволяют создать программы, которые запускаются быстрее и позволяют эффективнее использовать ресурсы компьютера.

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

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

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

Пример 1: Отрывок кода на языке ассемблера

Данный пример демонстрирует язык ассемблера. Этот отрывок кода помещает синий символ восклицательного знака в текущую позицию курсора на экран. В регистры процессора заносится номер функции, код символа, цвет и номер видеостраницы, а затем вызывается прерывание BIOS (Basic Input-Output System — Базовая Система Ввода Вывода) отвечающее за вывод изображения на экран. Это, несомненно, гораздо понятнее и проще машинных кодов, но чтобы доказать многословность и сложность, которая все ещё присуща языку ассемблера, достаточно привести пример, выполняющий то же действие, но записанный на языке высокого уровня, например Паскале:

Читайте также:  Lineage os samsung galaxy s3

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

Языки высокого уровня были следующей ступенью развития средств программирования. Существует огромное количество языков программирования: от 2000 до 4000. Языки высокого уровня подразделяются на группы по типу парадигмы, которую поддерживают. Существуют императивные языки, функциональные языки, логические языки, объектно-ориентированные языки, а также многие другие. Итак, с появлением языков высокого уровня программы стали выглядеть более понятно.

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

В операционной системе Windows фирмы Microsoft на практике реализована концепция объектно-ориентированного программирования. Windows является графической системой. В ней реализован стандартный пользовательский интерфейс, доступный каждой прикладной программе через вызов функций Windows-API, представляющие собой набор классов описывающих объекты системы, например, кнопку, или поле ввода. Данный подход имеет ряд преимуществ. При использовании обычной текстовой операционной системы, например, MS-DOS разработчику приходилось каждый раз программировать пользовательский интерфейс с нуля. Задача значительно усложнялась, если приходилось проектировать графический интерфейс с пользователем. Так как программа MS-DOS работает непосредственно с аппаратурой компьютера (в частности, с видеоконтроллером), она должна учитывать наличие у потребителей большого количества самой разнообразной и несовместимой аппаратуры. Windows дисциплинирует разработчика приложений, предлагая стандарт на диалоговый интерфейс с пользователем. Если приложение будет соответствовать стандарту, на его изучение и освоение со стороны пользователя будет затрачено минимальное время.

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

Несмотря на очевидную простоту и удобство программирование для Windows считается довольно сложным. Одновременно с увеличением возможностей увеличилась сложность и громоздкость кода программы. Значительную часть времени стало занимать проектирование и описание в программе ее интерфейса, внешнего вида. В связи с этим были созданы Системы Быстрого Проектирования Приложений — RAD. Рассмотрим такую систему на примере, пожалуй, самого популярного пакета MS Visual C++.

Visual C++ представляет собой сложный инструмент для создания приложений Windows. Несмотря на то, что сложность программ увеличилась, интегрированная среда MS Developer Studio пакета Visual C++ позволяет в считанные секунды создать вполне работоспособное приложение Windows. Включенная в состав VC++ библиотека классов Microsoft Foudation Classes (MFC) уже стала фактическим стандартом для разработчиков компиляторов на языке С++. Визуальные средства разработки интерфейса превращают это сложное занятие в увлекательную игру. VC++ не просто компилятор программного кода — это генератор программного кода. С его помощью можно в считанные минуты создать приложение Windows из готовых фрагментов программного кода. Генератор приложений формирует прототип вполне работоспособной программы.

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

Другие виды языков программирования используются для решения более узких задач (например, язык запросов (query language); генератор программ печати отчетов (report program generator)).

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

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

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

— минимальные требования к компьютеру, на котором работает программа.

— ясность входных и выходных данных и простота программы.

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

Читайте также:  Как запустить ярлык от имени администратора

— минимальное время работы программы, минимум занимаемой памяти и минимум использованных в программе операторов.

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

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

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

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

for (int I=0; I=10; I++) printf(Интерация цикла N\%d,I);

if (x0) printf(X-меньше нуля);

case 1:printf(выбран первый пункт);

case 2:printf(выбран второй пункт);

Пример 2: Оператор цикла, условный оператор и оператор выбора на языке С

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

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

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

Основными отличительными свойствами классов являются:

— инкапсуляция — объединение полей данных с функциями-методами, работающими с этими данными;

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

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

Допустим, наши практические интересы лежат в области построений изображений звездных тел в двумерной проекции. Очевидно, что основой всякого изображения является положение (позиция) отдельного элемента на экране, описываемая координатами X и Y. Что можно сделать с парой координат? Во-первых, может потребоваться задать значения координат. Во-вторых, нам может потребоваться знание фактических значений координат. При обычном подходе нам необходимо было бы объявить структуру данных описывающую координаты, а также функции, получающие эту структуру в качестве параметра. Логично было бы связать данные и функции в одну структуру. Объектно-ориентированный язык программирования предоставляет для этого мощный и удобный инструмент.

void Init(int CoordX, int CoordY);

Эта структура лишь объявляет класс, реализация методов обычно выполняется после. Теперь рассмотрим объект звезду с координатами X и Y. Ее можно сделать видимой или невидимой, ей можно задать цвет, ее можно переместить. Заметим, что поля X, Y и методы GetX, GetY класса position подходят и нашему объекту — звезде. Объектно-ориентированный язык предоставляет возможность учесть эту ситуацию. Новый класс следует считать порожденным от класса position.

class star : position<

unsigned int Color;

void Init(int, int, int);

void Move(int, int);

Класс star теперь наследует свойства класса position. Поля X, Y явно не заданы в star, но star ими обладает благодаря наследованию.

Статьи к прочтению:

Языки программирования — просто о сложном

Похожие статьи:

Глава 5. ЯЗЫКИ ПРОГРАМММИРОВАНИЯ Эволюция языков программирования Электронно-вычислительные машины первого поколения находили свое применение (как…

ЯЗЫКИ ПРОГРАМИРОВАНИЯ Число когда-либо разработанных языков программирования вместе с их модификациями в настоящее время достигает трех тысяч, однако…

Ссылка на основную публикацию
Формат jpg чем открыть
Файл формата JPG открывается специальными программами. Чтобы открыть данный формат, скачайте одну из предложенных программ. Чем открыть файл в формате...
Товарная матрица в 1с
Формирование ассортиментной матрицы в Моби-С это дополнительная сервисная возможность для облегчения создания списка продаж товаров для выбранного клиента. Многие крупные...
Формат jpg чем открыть
Файл формата JPG открывается специальными программами. Чтобы открыть данный формат, скачайте одну из предложенных программ. Чем открыть файл в формате...
Языки программирования виды примеры
Переводы , 9 марта 2015 в 16:37 Для погружения в программирование нужно всего 3 вещи: Решить, с какого языка/технологии вы...
Adblock detector