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

Обзор языков программирования высокого уровня Определение языка программирования)

Содержание:

ВВЕДЕНИЕ

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

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

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

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

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

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

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

программиста Можно писать код программы непосредственно высокого на машинном концептуальных языке, хотя написанными это и сложно. их На заре языковых компьютеризации (в начале 1950–х г.г.), реализовать машинный язык идей был единственным способен языком, большего своеобразным человек к тому IBM времени не применять придумал. Для считывает спасения программистов если от сурового компьютера машинного языка микропроцессоров программирования, были молнии созданы языки тому высокого уровня (т.е. английских немашинные языки), вводят которые стали который своеобразным связующим структуры мостом между своеобразным человеком и машинным идей языком компьютера. структуры Языки высокого придумал уровня работают писать через трансляционные семейства программы, которые высокого вводят «исходный код» (гибрид семейства английских слов и производятся математических выражений, семейства который считывает их машина), и в конечном часть итоге заставляет соответствующие компьютер выполнять простые соответствующие команды, созданы которые даются удивительным на машинном языке.

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

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

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

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

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

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

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

2. записи Просмотреть историю Существует развития языков знаковых программирования.

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

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

1. Целью Ознакомления с языками записи программирования.

2. Рассмотрение работы истории развития какого языков программирования.

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

1. Языки программирования

1.1. Определение языка программирования

Применении

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

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

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

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

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

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

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

– однозначность – допускают недвусмысленность записи любого любого алгоритма. любого Отсутствие ее должно могло бы отличаются привести к неправильным которые ответам при языками решении задач [2].

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

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

уровень По этому мелких критерию можно машинном выделить следующие Если уровни языков ориентирован программирования:

– машинные;

– уровня машинно–оpиентиpованные (ассемблеры);

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

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

уровень Разные типы языки процессоров имеют язык разные наборы языка команд. Если программы язык программирования ее ориентирован на виду конкретный тип Машинные процессора и учитывает тип его особенности, учитывает то он чем называется языком язык программирования низкого детализация уровня. В данном выполнив случае “низкий уровень” трудоемкий не значит “плохой”. указания Имеется в виду, процесс что операторы называется языка близки к отлаживать машинному коду и машинному ориентированы на предписаний конкретные команды исходных процессора [2].

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

– требуемые текста операции задаются с мере помощью общепринятых операций математических обозначений;

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

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

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

алфавит Основные компоненты переделки алгоритмического языка:

– но алфавит,

– синтаксис,

– семантика.

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

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

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

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

– процедурные;

– конечном логические;

– объектно–ориентированные.

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

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

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

разрабатывать Разнообразие классов день задач привело к систематическое тому, что универсальное на сегодняшний широкое день разработано алгоритма несколько сотен др алгоритмических языков. отметить Правда, широкое тем распространение и международное алгоритмических признание получили решение лишь 10–15 языков. сегодняшний Среди них в языка первую очередь широкой следует отметить: этих Fortran и Algol – задачи языки, предназначенные сотен для решения несколько научно – технических задач, Cobol Cobol – для программы решения экономических Pascal задач, Basic – несколько для решения универсальные небольших вычислительных специалистов задач в диалоговом PL режиме. В принципе языках каждый из тому этих языков они можно использовать время для решения непосредственно задач не следовало своего класса. начали Однако, как международное правило, применение дано оказывается не узко удобным.

В то систематическое же время в языков середине 60–х годов языков начали разрабатывать широкой алгоритмические языки принципу широкой ориентации – любое универсальные языки. получить Обычно они языка строились по ориентации принципу объединения не возможностей узко–ориентированных признание языков. Среди оказываются них наиболее знаний известны PL/1, не Pascal, C, C+ , Modula, Algol Ada. Однако, Mercury как любое возлагается универсальное средство, случаях такие широко–ориентированные ориентированы языки во Среди многих конкретных решения случаях оказываются широкой менее эффективными [2].

KLO Логические языки – (Prolog, привычных Lisp, Mercury, отметить KLO и др.) PL ориентированы не несколько на запись менее алгоритма решения решение задачи, а на следует систематическое и формализованное Fortran описание задачи с указывается тем, чтобы задач решение следовало указывается из составленного широкой описания. В этих строились языках указывается возлагается что дано и строились что требуется такие получить. При режиме этом поиск широко решения задачи составления возлагается непосредственно понятий на ЭВМ.

Объектно – ориентированные языки (Object сущностей Pascal, C++, Java, понятия Objective Caml. и Существуют др.). Руководящая др идея объектно–ориентированных технологии языков заключается в это стремлении связать означает данные с обрабатывающими процедуры эти данные наделены процедурами в единое самостоятельное целое – объект.

только Объектно–ориентированный подход свойствами использует следующие определенными базовые понятия:

– языков объект;

– свойство др объекта;

– метод полей обработки;

– событие;

– инкапсуляция класс объектов.

параметров Объект – совокупность общностью свойств (параметров) определенных теряют сущностей и методов их их обработки (программных Метод средств).

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

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

Событие – характеризующихся это характеристика результате изменения состояния различные объекта.

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

Существуют Свойство различные объектно–ориентированные Объект технологии, которые событие обеспечивают выполнение значение важнейших принципов объекты объектного подхода:

– только инкапсуляция;

– наследование.

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

применяемых Класс может применяемых иметь образованные понятия от него обрабатывающими подклассы. При подхода построении подклассов различные осуществляется наследование многом данных и методов событие обработки объектов исходного класса [2].

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

Программа XX на объектно–ориентированном объединения языке, решая Программа некоторую задачу, задаче по сути, строго описывает часть необходимо мира, относящуюся к Фактически этой задаче. смысловую Описание действительности в операторов форме системы операторами взаимодействующих объектов очень естественнее, чем в системы форме взаимодействующих первые процедур [2].

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

Программа – могли алгоритм, записанный можно на языке программирования программирования. Программа – для последовательность операторов языка языка. Языки программа программирования – искусственные программу языки, строго Программа формализованные; существует теперь правила записи акцент операторов языка – середины синтаксис языка.

1. являлись Машинный язык (40–50 программирования годы XX в.).

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

2. Вместо Ассемблер (начало 50–ых годов компиляторы XX в.).

Вместо 1 и 0 акцент программисты теперь XX могли пользоваться свою операторами (MOV, ADD, операторов SUB и т.д.), которые системы похожи на Фактически английские слова. могли Программы на машинный ассемблере также Первые являются машинно–зависимыми. машинно Для преобразования в Для машинный код гг использовался компилятор (спец. формализованные программа – переводчик в высокого машинный код).

3. форме Первые языки высокого программирования высокого Машино уровня.

С середины 50–ых Машинный гг. XX в. данных начали создавать нулей первые языки модульное программирования высокого было уровня (high–levellanguage). Эти последовательность языки были задаче Машино независимыми (не языки привязаны к опред. машинно типу ЭВМ). которые Но для опред каждого языка похожи были разработаны собственные компиляторы.

Примеры таких языков: корпорацией FORTRAN (FORmulaTRANslator; 1954) предназначен основе для научных и программирования технических расчетов; технических Сobol (1959) был визуально предназначен в основном языках для коммерческих программные приложений (обрабатывал большие великого объемы нечисловых расчетов данных) – CommonBusiness–OrientedLanguage); которые язык Basic (Beginner’sAllPurposeInstuctionCode – позволили универсальный язык стиль символьных инструкций символьных для начинающих) (1964 г.)

4. данных Алгоритмические языки FORTRAN программирования.

С начала 80–ых г. графическим XX в. начали COBOL создаваться языки COBOL программирования, которые визуально позволили перейти к на структурному программированию (использование CommonBusiness операторов ветвления, корпорацией выбора, цикла и алгоритмический практически отказ научных от частого сетей использования операторов нечисловых перехода (goto). К этим интегрированные языкам относятся: большие язык Pascal (назван технических его создателем Microsoft Никлаусом Виртом в графическим честь великого великого физика Блеза Delphi Паскаля; 1970); язык языках Си, позволяющий COBOL быстро и эффективно Алгоритмические создавать программный начинающих код (1971)

5. Языки приложений объектно–ориентированного программирования.

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

язык – язык С++ (1983) – продолжение Примеры алгоритм. языка CommonBusiness Си;

– язык универсальный ObjectPascal (1989) был расчетов создан на объекты основе языка Qbasic Pascal. После Блеза создания среды относятся программирования – Delphi (1995);

данных– язык VisualBasic(1991) ветвления был создан графический корпорацией Microsoft продолжение на основе Паскаля языка Qbasic (1975) технических для разработки интерфейс приложений с графическим были интерфейсом в среде ОС ОС Windows.

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

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

На подключенных к Интернету компьютерах с различными ОС (Windows, Linux, MacOS и др.) могли выполняться одни и те же программы.

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

– язык был Java– объектно–ориентированный удобство язык был Для разработан фирмой текст SunMicrosystems для перевод создания сетевого Компилятор программного обеспечения (1995);

размещена– язык JavaScript – промежуточный язык сценариев разработанная Web–страниц (компания Netscape). (1995)

7. Достоинством Языки программирования на на платформе .NET.

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

– на языке файле Visual Basic .Net ( языке наоснове Visual приложения Basic) – 2003 г.;

– на Языки языке VisualC# (С–шарп) – корпорацией на основе переводит языков С++ и J – 2003 г.;

– на загружены языке VisualJ# (J–шарп) – среда на основе транслятор Java и JavaScript – 2003 г.

машинные Интерпретаторы и компиляторы.

программного Для того, обеспечивает чтобы процессор исполнимом мог выполнить последовательный программу, программа и компьютере данные должны бывают быть загружены в JavaScript оперативную память. на Необходимо, чтобы в VisualStudio ОП был бывают размещена программа – чтобы транслятор, автоматически Для переводящий с языка Web программирования в машинные VisualJ коды. Трансляторы сетевого бывают двух отладки типов: интерпретаторы и языков компиляторы. Интерпретатор – языке программа, которая удобство обеспечивает последовательный Языки перевод операторов JavaScript программы с одновременным текст их выполнением. коды Достоинством интерпретатора фирмой является удобство наоснове отладки (поиск ошибок), двух недостаток – сравнительно компиляторы малая скорость сценариев выполнения. Компилятор ОП переводит весь удобство текст программы Microsoft на машинный Microsoft язык и сохраняет наязыке его в исполнимом транслятор файле (обычно с расширением .exe).

Системы объектно–ориентированного программирования знака содержат программу–транслятор и символов позволяют работать в записи режиме как этих интерпретатора, так и Например компилятора. На содержат этапе разработки и Язык отладки проекта языков используется режим от интерпретатора, а для по получения готовой позволяют программы – режим выполнять компилятора [6].

2. Обзор отступления современных языков этапе программирования

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

Правила FORIFROM записи команд те на конкретном один языке называются современных синтаксисом языка. могут Синтаксис определяет, язык какая команда так будет считаться синтаксисом правильной, а какая есть нет. Например, в на языке Basic считаются команды CLS и же FORI=1 TO 10 экрана считаются правильными, а запятой команды CLERSCREEN и определенное FORIFROM 1 TO 10 – изменить неправильными.

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

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

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

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

перевод По способу бы трансляции языки переводится делятся на:

– строчка компиляторы;

– интерпретаторы.

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

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

По Не уровню (особенностям построения) значительным языки делятся значительным на:

– Машинно–ориентированные (ассемблеры).

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

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

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

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

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

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

Ассемблеры используются для Borland создания драйверов, программирования программирования различных системы устройств, а также самых для написания имеет фрагментов программ, операционной где очень популярных важно время ассемблере выполнения (так как Для на ассемблере ПЭВМ можно написать делает максимально эффективную PC программу [8].

– Универсальные.

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

где Среди универсальных разработанный языков программирования в этими настоящее время максимально наиболее распространены:

2.1. язык Си его операционной разновидности

C [Си] – языком Многоцелевой язык начале программирования высокого PC уровня, разработанный IBM Денисом Ритчи в видами начале 1970–х гг. эффективными на базе на языка BCPL. ассемблере Используется на разработанный миниЭВМ и ПЭВМ. эффективных Является базовым гг языком операционной BCPL системы Unix, всего однако применяется и вне вне этой задачи системы, для язык написания быстродействующих и как эффективных программных эффективную продуктов, включая и Turbo операционные системы. можно Для IBM гг PC имеется языка ряд популярных можно версий языка на Си, в том вне числе – Turbo C (фирмы этой Borland), Microsoft C и настоящее Quick C (фирмы Microsoft ), а эффективных также Zortech C (фирмы начале Symantec). Многие Unix из указанных максимально версий обеспечивают Microsoft также работу с базовым Си и Си++.

Язык Си имеет свои существенные особенности, давайте перечислим некоторые из них:

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

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

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

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

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

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

Си++ [C++] – Язык программирования высокого уровня, созданный Бьярном Страустрапом на базе языка Си. Является его расширенной версией, реализующей принципы объектно–ориентированного программирования. Используется для создания сложных программ. Для IBM PC наиболее популярной является система Turbo C++ фирмы Borland (США).

C# (C Sharp) – “ Си Шарп ”: объектно–ориентированный яык программирования, о разработке которого в 2000 г. объявила фирма Microsoft . По своему характеру он напоминает языки C++ и Java и предназначен для разработчиков программ, использующих языки C и С++ для того, чтобы они могли более эффективно создавать Интернет–приложения. Указывается, что C # будет тесно интегрирован с языком XML[1].

2.2. Pascal

Pascal [Паскаль – акроним с французского – ProgramAppliquealaSelectionetlaCompilationAutomatiquedelaLitterature] – Процедурно–ориентированный язык программирования высокого уровня, разработанный в конце 1960–х гг. Никлаусом Виртом, первоначально для обучения программированию в университетах. Назван в честь французского математика XVII века Блеза Паскаля.

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

Существует ряд версий ассемблера языка (например, ETH одинаковы Pascal, USD этих Pascal, Turbo программирования Pascal ) и систем для программирования на подпрограмм этом языке во для разных также типов ЭВМ. году Для IBM группой PC наиболее компиляция популярной является кнопок система Turbo Для Pascal фирмы программист Borland (США).

Delphi во является «наследником» языка был Паскаль; основные Поэтому операторы в этих предоставляя языках одинаковы. IBM Но Delphi это имеет средство синтаксическая для работы с возможностей различными графическими тривиальным объектами (создания форм, единицы кнопок, меню), а различными также для компиляция обработки сложных того структур данных. так Поэтому он единицы очень популярен кнопок при разработке различными различных Windows– новый приложений [1].

2.3. Fortran

В 1954 Backus году в недрах концепция корпорации IBM этого группой разработчиков от во главе с языка Джоном Бэкусом (John первую Backus) был типов создан язык различных программирования Fortran.

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

В Фортране следующая полученный конструкция описывает “цикл имели for до ракету метки 10 при оператор изменении индекса еще от 1 до 100”: описывает DO 10 I=1,100. Если компилятор же здесь проч заменить запятую Фортране на точку, вручную то получится задача оператор присваивания: небольшой DO10I = 1.100 Говорят, имели что такая присваивания ошибка заставила еще ракету взорваться Язык во время виде старта.

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

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

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

2.4. BASIC

BASIC [– Бейсик Первоначально Beginner’sAll–purposeSymbolicInstructionCode] – Язык высокого программирования высокого несколько уровня , разработанный в 1963 – 1964 позволяет гг. в Дартмутском разработки колледже Томасом Фортран Куртом и Джоном обучения Кемени.

Первоначально Quick предназначался для более обучения программированию. предназначенного Отличается простотой, который легко усваивается машинный начинающими программистами систем благодаря наличию Quick упрощенных конструкций Visual языка Фортран и версию встроенных математических включает функций, алгоритмов и упрощенных операторов. Существует Куртом множество различных более версий Бейсика, предназначался которые не легко полностью совместимы Basic друг с другом. Power Некоторые реализации упрощенных Бейсика включают промежуточной средства обработки сетевых данных и наборов сетевых данных.

Большинство совершенные версий Бейсика фирмы используют интерпретатор, Lisp который преобразует гг его компоненты в Бейсик машинный код и разработки позволяет запускать Джоном программы без интерпретатор промежуточной трансляции. Spectra Некоторые более предназначался совершенные версии включает Бейсика позволяют Java использовать для интерпретатор этой цели цели трансляторы. На алгоритмов IBM PC версий широко используются включает Quick Basic включают фирмы Microsoft, колледже Turbo Basic широко фирмы Borland и цели Power Basic (усовершенствованная языка версия Turbo не Basic, распространяемая Дартмутском фирмой Spectra систем Publishing ). В начале 1999 г. машинный фирма Microsoft Отличается выпустила версию Java языка Visual версий Basic 6.0 (VB 6.0), предназначенного упрощенных для создания операторов многокомпонентных программных друг приложений для операторов систем уровня усваивается предприятий [1].

Например, Джоном язык Lisp программных используется для Lisp создания экспертных средства систем. Язык машинный Java используется экспертных для разработки совершенные сетевых (Web)– приложений.

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

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

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

Интегрированная того среда разработки обнаруживалось обычно включает в Таким себя:

– текстовый существуют редактор – для обычно набора текста были программы;

– компилятор (или текста интерпретатор) – для все перевода программы в помощью машинный код;

вычислений– компоновщик – для говорят объединения при не необходимости нескольких результаты программ “запускатель программ”, редактор который позволяет отладчик выполнить разрабатываемую каких программу, не совсем выходя из что среды разработки;

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

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

Для одного и того же языка могут существовать разные среды разработки. Например, для только языка С есть судя среда TurboC и Поверьте BorlandC [7].

ЗАКЛЮЧЕНИЕ

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

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

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

Возможно, познания концепция решения есть этого вопроса молодой проста, а ближайшее машиной будущее этого можно проекта уже передавать не за Например горами, и в этот звука момент, где молодой нибудь в Запорожье, Так Амстердаме, Токио принимать или Иерусалиме, предложения перед стареньким роста 133MHz горбится немного молодой, никем понимает не признанный человеческие специалист и разрабатывает TurboC новейшую систему помогут искусственного интеллекта, появились которая наконец–то есть позволит человеку, с посмотрите помощью своих горами машинных языков, того вести диалог с программирования машиной на ТЫ.

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

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

В можно данной курсовой долго работе, нами предприятия были рассмотрены На самые распространенные информации языки программирования, развивать такие как: используемыми Fortran, Pascal, BasicтенденцияbB, С, которые языками используется для вычислений научных вычислений, на для обучения предприятие программированию начинающих так программистов.

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

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. Керниган, Б. Язык программирования C. / Б. Керниган, Д.М. Ритчи. - М.: Вильямс, 2016. - 288 c.

2. ил Информатика/Курносов А.П., Кулев С.А., языки Улезько А.В. и др.; Курносова Под ред. А.П. на Курносова.–М.: КолосС, 2015.–272 с.

3. Шестакова Макарова Н.В. Информатика /под Макаровой ред. Проф. Н.В. Макаровой Макаровой. – М.: Финансы и Русский статистика, 2014. – 768 с.: ил.

4. автоматизации Малышев Р.А. Локальные Русаков вычислительные сети: РГАТА Учебное пособие/ их РГАТА. – Рыбинск, 2015. – 83 с.

5. Симонович Островский В.А. Информатика: вузов учеб. для языков вузов. М.: Высшая РГАТА школа, 2016. –511 с.: ил.

6. перевод Семакин И.А., Информатика: литературы Базовый курс /Семакин И.А., высокого Залогова Л., Русаков С., Сеппенен Шестакова Л. – Москва: Керниган БИНОМ.,2015. – 105с.

7. Симонович С.В.Информатика. курс Базовый курс/Симонович С.В. и Проф др. – СПб.: использованной издательство "Питер", 2017. – 640 с.: ил.

8. Ашарина, И.В. Основы программирования на языках С и С++: Курс лекций для высших учебных заведений / И.В. Ашарина. - М.: ГЛТ, 2016. -208 c.

9. Баженова, И.Ю. Языки программирования: Учебник для студентов учреждений высш. проф. образования / И.Ю. Баженова; Под ред. В.А. Сухомлин. - М.: ИЦ Академия, 2016. - 368 c.

10. Бьянкуцци, Ф. Пионеры программирования. Диалоги с создателями наиболее популярных языков программирования / Ф. Бьянкуцци, Ш. Уорден. - М.: Символ, 2014. - 608 c.

11. Гавриков, М.М. Теоретические основы разработки и реализации языков программирования: Учебное пособие / М.М. Гавриков, А.Н. Иванченко, Д.В. Гринченков. - М.: КноРус, 2016. - 184 c.

12. Гергель, В.П. Современные языки и технологии паралелльного программирования: Учебник / В.П. Гергель. - М.: МГУ, 2016. - 408 c.

13. Голицына, О.Л. Языки программирования: Учебное пособие / О.Л. Голицына, Т.Л. Партыка, И.И. Попов. - М.: Форум, НИЦ ИНФРА-М, 2014. - 400 c.

14. Кауфман, В.Ш. Языки программирования. Концепции и принципы / В.Ш. Кауфман. - М.: ДМК, 2017. - 464 c.