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

Современные языки программирования (Общие сведения о языках программирования)

Содержание:

ВВЕДЕНИЕ

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

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

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

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

Во второй главе рассматривается обзор современных языков программирования: C#, C++, PHP, RUBY, JAVA, Java Script, Python.

Глава 1. ОБЩИЕ СВЕДЕНИЯ О ЯЗЫКАХ ПРОГРАММИРОВАНИЯ

1.1. Основные понятия и классификация языков программирования

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

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

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

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

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

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

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

  • Интерпретируемые языки. К этой группе причисляют языки программирования, первоначальный код которых считывается и выполняется особенной программой-интерпретатором инструкция за инструкцией. Интерпретируемыми являются большинство версий Basic и Forth.
  • К компилируемым языкам относятся языки программирования, исходный код которых преобразуется особой программой-компилятором в объектные модули, которые после этого собираются при помощи программы сборки (линковщика) в единый загружаемый модуль. Этот процесс отображает собой выполняемую программу. Компилируемыми языками являются C, C++, Object Pascal.
  • В языках, компилируемых на базисном псевдокоде исходный код программы компилируется и выполняется как последовательность вызовов подпрограмм из существующих библиотек. Таковыми являются некоторые версии Basic.
  • Совмещенные языки. В совмещенных языках исходный код проходит две стадии обработки. Компиляция исходного кода до уровня промежуточного языка (байт-код в Java или язык MSIL в технологии .NET) происходит на первой стадии. Интерпретация промежуточного кода (в Java этим занимается виртуальная машина Java) или докомпиляция промежуточного кода до выполняемого машинного кода (эту функцию осуществляет среда выполнения CLR в технологии .NET) происходит на второй стадии обработки.

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

  • Сценарные языки (скрипт или сценарий) - это программа, выполняющая другую. В пример можно взять скрипты оболочки в UNIX, программы на языках PHP, Python, Ruby.
  • Языки, создающие процесс. Создается отдельный процесс выполнения данной программы после запуска программы. Это можно наблюдать в языках C, C++, Object Pascal.

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

  • Автономные языки программирования (C, C++, Java) являются автономным инструментом для создания программ.
  • Встроенные языки в свою очередь принадлежат какой-то системе и разрешают разрабатывать программы, которые могут работать только в этой же системе.VBA (Visual Basic for Application) – один из самых известных встроенных языков. Данный язык используется исключительно в приложении Microsoft Office для расширения их функционала и автоматизации. Еще более распространёнными внутренними языками являются 1C и Java script, последний эксплуатируется исключительно в внутри веб-приложений.

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

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

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

  • Императивные (процедурные) языки описывают решение задачи как последовательность процедур. Большинство современных языков программирования относится к императивным.
  • Функциональные языки описывают нужный результат в виде набора вложенных друг в друга функций (Haskell).
  • Логические языки описывают требуемый результат в виде суммы логических операций (Prolog).
  • Объектно-ориентированные языки способны определять абстрактные типы данных и реализовывать основные парадигмы объектно-ориентированного программирования (ООП): инкапсуляцию, наследование и полиморфизм (C++, Java, Object Pascal, и др.).

1.2.История развития языков программирования

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

В XX веке появились первые ЭВМ (электронные вычислительные машины) (рис.1).

Рисунок 1. Первая ЭВМ.

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

В 50-е годы был создан язык Форт­ран. Так же, как и первые вычислительные машины, этот язык предназначался, в основном, для проведения математичес­ких и естественнонаучных расчетов. Фортран используется и в наши дни в усовершенствованном виде. Он является одним из наиболее используемых при про­ведении научных исследований среди современных языков высокого уровня.

Алгол (алгоритмический язык) появился в 1957 году и пришел на смену Фортрану. Он был предназначен для решения научно-технических задач, как и Фортран. Еще алгол использовался в качестве средства обучения основам программирования.

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

В середине 60-х годов разработан в качестве учебного языка язык Бейсик.

PL/I создан в 1967 году. По своим возможностям ПЛ/1 значительно мощнее многих других языков (Си, Паскаля).

В конце 60-х – начале 70-х гг. появился язык Форт. Этот язык стал применяться в задачах управления различными системами после того, как его автор Чарльз Мур написал на нем программу, предназначенную для управления радиотелескопом Аризонской обсерватории.

Паскаль появившийся в 1971 году язык был назван так в честь великого французского математика XVII века, изобрета­теля первой в мире арифметической машины Блеза Паскаля (рис. 2).

Рисунок 2. Блез Паскаль.

Этот язык был создан швейцарским ученым, специалистом в области информатики Никлаусом Виртом.

На основе языка Паскаль в конце 70-х гг. был создан язык Ада, названный в честь одаренного математика Ады Лавлейс.

В настоящее время популярным среди программистов явля­ется язык С (Си). Данный язык был создан в лаборатории Bell в 1972 году и первоначально не рассматривался как массовый. Он планировался для замены ассемблера, чтобы иметь возможность создавать столь же эффективные и компактные программы и в то же время не зависеть от конкретного типа процессора. На этом языке в 70-е годы написано множество прикладных и системных программ и ряд известных операционных систем (UNIX).

Еще один язык был со­здан в начале 70-х гг. группой специалистов Марсельского уни­верситета. Это язык Пролог. Свое название он получил от слов «Программирование на языке ЛОГики». В основе этого языка лежат законы математической логики.

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

Java (Джава, Ява). Этот язык был создан компанией Sun в начале 90-х годов на основе C++. Он призван упростить разработку приложений на основе C++ путем исключения из него всех низкоуровневых возможностей. Но главная особенность этого языка — компиляция не в машинный код, а в платформно-независимый байт-код (каждая команда занимает один байт).

С# (Си Шарп). В конце 90-х годов в компании Microsoft под руководством Андерса Хейльсберга был разработан язык C#. В нем воплотились лучшие идеи Си и Си++, а также достоинства.

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

Большинство современных языков программиро­вания - объектно-ориентированные. Среди них последние вер­сии языка Turbo Pascal, C++, Ada и др. В настоящее время ши­роко используются системы визуального программирования Visual Basic, Visual C++, Delphi и др. Они позволяют создавать сложные прикладные пакеты, обладающие простым и удобным пользовательским интерфейсом.

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

Рисунок 3. Рейтинг языков программирования от RedMonk.

Глава 2.ВИДЫ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ

2.1 С#

C# (на русском - “си-шарп”) – язык программирования, объективно-ориентированный. Он был создан в компании Microsoft группой инженеров в 1998-2001 годах под руководством Андерса Хейлсберга специально для создания на нем приложений для свое платформы .NET. Вследствие чего на нем можно создавать и компилировать программы без инструментальных средств, наподобие Visual Studio.

К семейству языков с С-подобным синтаксисом относится язык С#. Синтаксис языка С# больше всего схож с C++, Java. В С# присутствует синтаксическая типизация, полиморфизм, делегаты, события, атрибуты, свойства, итераторы, суммированные типы и методы, анонимные функции с поддержкой замыканий, LINQ, исключениями являются комментарии в формате XML и имеет возможность осуществлять перегрузку операторов (он может перезапускать операторов явного и неявного типа).

С# основываясь на практике эксплуатации языков Delphi, С++, Модула, Smalltalk и Java, устраняет некоторые модели, которые проявили себя проблематично при создании программных систем. Так С# не использует большое количество классов.

2.2 C++

C++ (на русском - “Си++”) – компилируемый язык программирования общего назначения и статически типизированный. Он поддерживает разные парадигмы программирования. Но если взять в сравнение его предшественника - язык C, - тогда заметно, что большее внимание в C++ уделено поддержке обобщённого и объектно-ориентированного программирования. Его название «C++» происходит от C, в котором однокомпонентный оператор ++ обозначает инкремент переменной. В девяностых годах XX века он являлся одним из наиболее востребованных языков программирования общего назначения. Во время разработки C++ старались сохранить коммуникабельность с языком C. Большое количество программ, написанных на языке C будут без проблем работать и с компилятором C++. Язык C++ имеет синтаксис, основанный на синтаксисе C.

Достоинства C++

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

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

На С++ написана частично такая известная программа для общения, как Skype (рис. 4).

Рисунок 4. Skype

2.3 PHP

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

В Отрасли веб-программирования, в частности серверной части, PHP – является одним из часто употребляемых скриптовых языков (наряду с Perl, JSP и используемыми языками в ASP.NET). Эта стало возможно благодаря его легкости, скорости выполнения, кроссплатформенности, изобильной функциональности и из-за распространения исходных кодов на базе лицензии PHP. Высокая известность в отрасли разработки веб-сайтов осуществляется из-за наличия колоссального набора встроенных средств для постройки веб-приложений. Самые главные из встроенных средств:

  • Файловые функции благополучно подвергаются обработке как локальные, так и удаленные файлы;
  • Автоматическое изъятие GET и POST-параметров и также переменных окружения веб-сервера в предназначенные массивы;
  • Работа с cookies и сессиями;
  • Автоматическая отправка HTTP-заголовков;
  • Работа с HTTP заголовками и HTTP авторизацией;
  • Работа с удаленными сокетами и файлами;
  • Работа с XForms;
  • Обработка файлов которые были загружены на сервер.

В данный момент времени PHP эксплуатируется у сотни тысяч программистов по всему миру. Среди языков программирования в декабре 2009 года PHP занимал третье место, уступая лишь JAVA и C. При этом PHP он поднялся за год на одну позицию согласно рейтингу Tiobe, который в свою очередь основывается на данных поисковый систем. На PHP написаны большинство современных веб-сайтов, одними из самых популярных являются: Facebook, Wikipedia, Вконтакте.

2.4 Ruby

Ruby (на русском руби) – хорошо сбалансированный язык программирования. Он был создан Юкихиро Мацумото. Ruby очень рефлективный, динамический, интерпретируемый высокоуровневый язык. Ruby имеет независимость от операционной системы исполнением много поточности, жесткой динамической типизацией, сборщиком мусора и множеством других возможностей. По специфическим особенностям синтаксиса он похожий с языками Perl и Eiffel, по объектно-ориентированному подходу схож с Smalltalk. Также некоторые черты языка переняты из Dylan, Python, Lisp и Клу.

Публичная версия Ruby вышла в свет в 1995 году и привлек внимание многих программистов того времени. А в 2006 году Ruby удалось заполучить массовое признание. По версии рейтинга Tiobe язык Ruby находится на девятом месте среди общепризнанных языков программирования.

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

  • Ruby включает в себя конструкции для обрабатывания исключений, как и в Java или Python, они помогают легче и лучше работать с ошибками.
  • В Ruby включен mark-and-sweep (пометь и отчисти) сборщик мусора для абсолютно всех Ruby объектов. В нем нет необходимости самому в ручную отслеживать количество ссылок в стороннюю библиотеку.
  • На Ruby намного проще разработать расширения для C, чем на Python или Perl. Это возможно благодаря API (программный интерфейс приложения) для вызова из C. Он содержит в себе вызовы для встраивания Ruby в программное обеспечение, и использует его как скриптовый язык. Еще есть доступ к интерфейсу SWIG.
  • Если позволяет операционная система Ruby может подгружать посторонние библиотеки динамически.
  • Потоки в Ruby осуществлены не зависимо от операционной системы. Что позволяет на различных платформах использовать многопоточность, не взирая на то, что поддерживает эта система потоки ли нет.
  • Ruby обладает высокой переносимостью: он большей частью был создан на GNU/Linux, но также работает и на многих типах UNIX, MacOS X, Windows, DOS, BeOS, OS/2, и т.д.

2.5 Java

Java – язык программирования объектно-ориентированный. Он был создан компанией Sun Microsystem, официальная дата выпуска двадцать третье мая 1995 года. В особый байт-код компилируются Java приложения. Благодаря этому они могут работать и на любой другой виртуальной машине Java(JVM) и не взирая на компьютерную архитектуру.

Появилось два различных варианта произношения - это «ява», схожая с произношением названия острова «ява» и англоязычная версия «джава». Компания Sun Microsystem придерживается англоязычного произношения во всех странах мира. В быту иногда употребляют также жаргонное слово «Жаба» (На календарях российской группы пользователей Java изображена жаба, рис 4).

Рисунок 4. Логотип Java.

Платформа, на которой создаются и исполняются приложения, разработанные на Java тоже называется Java, как и сам язык.

В самом начале язык Java имел название Oak («дуб») и создавался Джеймсом Гослингом, чтобы программировать на нем бытовые электронные устройства.

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

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

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

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

·Применяются технологии прямо во время работы программы(JIT-технология) для трансляции байт-кода в машинный код и доступно сохранение версий класса в машинном коде;

·Так же сильно распространено использование платформенно-ориентированного кода (native-код) в библиотеках по умолчанию;

·Обеспечивается ускоренная обработка байт-кода аппаратными средствами (К примеру, у некоторых процессоров фирмы ARM есть поддержка технологии Jazelle).

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

2.6 Java Script

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

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

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

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

Появился Java Script в 1995 году. Первоначальное его название было Mocha, затем он был переименован в Live Script. Но так как разработчики при создании вдохновлялись Java, Live Script вскоре был переименован в Java Script.

2.7 Python

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

В Python есть возможность использовать несколько парадигм программирования, такие как: императивное, аспектно-ориентированное, структурное, функциональное и объектно-ориентированное.

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

CPython является интерпретатором эталонной реализации Python, он в свою очередь поддерживает большинство активно употребляемых платформ. Распространяется он под свободной лицензией Python Software Foundation License, которая позволяет использовать его без каких-либо ограничений в любых приложениях, включая также и проприетарные. Есть так же реализации интерпретаторов для MSIL (с возможностью компиляции), JVM (с возможностью компиляции), LLVM и других. Еще такой проект как PyPy предлагает реализацию Python с использованием ЛТ-компиляции, которая в свою очередь значительно увеличивает скорость выполнения программ Python.

Python — активно развивающийся язык программирования, новые версии (с добавлением/изменением языковых свойств) выходят примерно раз в два с половиной года. Вследствие этого и некоторых других причин на Python отсутствуют стандарт ANSI, ISO или другие официальные стандарты, их роль выполняет CPython.

2.8 Microsoft Visual Basic

Microsoft Visual Basic язык программирования и интегрированная среда разработки программного обеспечения, она была разработана компанией Microsoft. Visual Basic перенял у своего предшественника – языка Basic, который имел множество диалектов, его стиль и отчасти синтаксис. Visual Basic так же владеет процедурами и элементами объективно-ориентированными и компонентно-ориентированных языков программирования.

Интегрированная среда разработки Visual Basic имеет инструменты для визуального проектирования пользовательского интерфейса, а также редактор кода с возможностью IntelliSense, подсветкой синтаксиса и имеет инструменты для отладки приложений.

Visual Basic также одно из лучших средств для быстрой разработки приложений баз данных для операционных систем семейства Microsoft Windows.

Признание от серьезных разработчиков Visual Studio впервые получило только после выхода третьей версии. А признание как полноценного средства для программирования для операционных семейств Windows, получили при выходе пятой версии. А шестая версия Visual Basic, стала зрелым и функционально богатым продуктом.

ЗАКЛЮЧЕНИЕ

Во время выполнения курсовой работы был изучен материал относящийся к языкам программирования, также их история развития, основные понятия и их классификация. Из них были отобраны актуальные и востребованные языки на сегодняшний день: C#, C++, PHP, Ruby, Java, Java Script, Python.

Можно заметить, чтобы языкам программирования на протяжении долгого времени оставаться актуальными им постоянно нужно развиваться и эволюционировать. Развитие языков и эволюции мы можем видеть на примере языка C из которого в последствии появились C# и C++, а из целой группы языков Perl, Smalltalk, Eiffel, Ada и Lisp появился язык Ruby.

СПИСОК ЛИТЕРАТУРЫ

1.Информатика А.В. Могилев, Н.И.Пак, Е.К. Хённер. – М.: Издательский центр «Академия», 2007.

2.Информатика. Базовый курс. 2-е издание / С. В. Симонович. - СПб: Питер, 2007.

3.Информатика. Теория и практика: Учеб. пособие / В.А. Острейковский, И.В. Полякова. – М.: Издательство Оникс, 2008.

4.Информатика: Учебник / Б.В. Соболь [и др.] - Изд. 3-е, дополн. и перераб. - Ростов н/Д: Феникс, 2007. - (Высшее образование).

5.Информатика: Учебник для вузов. Н.В. Макарова, В.Б. Волков. – СПб: Питер, 2011.

6.Информатика: Учеб. пособие / А.В. Терехов, А.В. Чернышов, В.Н. Чернышов. – Тамбов: Издательство ТГТУ, 2007.

7.Информатика. Энциклопедический словарь-справочник: введение в современные информационные и телекоммуникационные технологии в терминах и фактах. / Ф. С. Воройский - М.: ФИЗМАТЛИТ, 2008.