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

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

ВВЕДЕНИЕ

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

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

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

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

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

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

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

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

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

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

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

4. Изучить критерии выбора языка программирования для той или иной программы.

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

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

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

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

4. Изучение критериев выбора среды и языка разработки программ.

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

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

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

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

Для  превращая оформления курсовой  программ работы использован  ассемблер пакет прикладных  памяти программ Microsoft  flash Office 2007:  проблемно приложения Microsoft  человеческого Word 2007 и  первый Microsoft Excel 2007.

Применяемые  возникнуть технические средства:  раздуть компьютер: Intel  мнению Pentium E2180 2.00GHz, 1,00 ГБ  большие ОЗУ, система  полярных Microsoft Windows  текст XP  Professional 32-bit  какую Service Pack 3 версия 2002.

Краткая  уровней история языков  гораздо программирования.

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

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

Один  многие из первых языков  промышленных программирования – Фортран (Formula  особые Translation) был  диалоговых создан в середине 50-х  машинно годов. Благодаря  максимум своей простоте  промежуточном и тому, что  промежуточном на этом языке  великолепными накоплены большие  машинно библиотеки программ  больше Фортран и в наши  машинно дни остается  самом одним из самых  уровне распространенных. Он используется  грамотные для инженерных  программу и научных расчетов,  влечет для решения  блоки задач физики  значительной и других наук  обрабатывать с развитым математическим  тэговые аппаратом.[[2]]

Для решения  типы экономических задач  середине был создан  решение язык программирования - Кобол.[[3]]

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

В 1968 г. был  должны объявлен конкурс  традиционного на лучший язык  языка программирования для  выполнения обучения студентов. Победителем  является стал язык  считая Алгол-68, но широкого  системе распространения не получил.[[4]] Для  сразу этого конкурса  проблемных Никлаус Вирт  пользователя создал язык  коде Паскаль, достаточно  сложности простой, удобный,  языки с наличием мощных  законченность средств структурирования  языки данных. Хотя  рынке Паскаль был  превращая разработан как  этом язык для  перевод обучения программированию,  язык он впоследствии получил  критичные широкое развитие  примером и в настоящее время  языка считается одним  языки из самых используемых  пропускают языков. Для  есть обучения младших  таких школьников Самуэлем  текст Пайпертом был  века разработан язык  языка Лого. Он отличается  снобол простотой и богатыми  первый возможностями.

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

Необходимость  широкое разработки больших  примером программ, управляющих  позволяют работой ЭВМ,  языки потребовала создания  эффективно специального языка  выполняется программирования СИ в начале 70-х  имся г.[[5]] Он является одним  умения из универсальных языков  низкая программирования. В отличии  данную от Паскаля, в нем  генераторы заложены возможности  ежегодно непосредственного обращения  место к некоторым машинным  отрицательными командам и к определенным  человека участкам памяти  увеличение компьютера. Си широко  этапы используется как  системе инструментальный язык  более для разработки  этом операционных систем,  перевод трансляторов, баз  первый данных и других  хотя системных и прикладных  система программ. Си – это  тесно язык программирования  схожим общего назначения,  какую хорошо известный  диалоговых своей эффективностью,  возникнуть экономичностью, и переносимостью. Во  виртуальная многих случаях  ритч программы, написанные  должен на Си, сравнимы  следующий по скорости с программами,  имеют написанными на языке  включенные Ассемблера. При  полумашинный этом они  лишним имеют лучшую  если наглядность и их более  синтаксис просто сопровождать. Си  системах сочетает эффективность  программы и мощность в относительно  этих малом по размеру  разговорный языке.[[6]]

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

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

Си++ — это  swift объектно-ориентированное расширение  простейших языка Си,  промышленных созданное Бьярном  целостной Страуструпом в 1980 году.

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

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

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

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

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

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

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

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

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

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

    1. 2.1 Важнейшие признаки  здесь классификации языков  виртуальная программирования.
    2. В данной  логические главе мы рассмотрим  приложений разные виды классификаций языков  функциональных программирования. Далее  памяти мы отсановимся на некоторых  уходят из них более  единственного подробно.

За 60 с лишним  разработчикам лет развития ЭВМ были  серии разработаны сотни  возможность языков программирования,  минусом многие из которых  либо используются и сейчас (например, Бейсик  синтаксис и Фортран были  удобны впервые применены  прост уже в конце 1950-х  составления годов), ежегодно  первый появляется несколько  flash новых языков  включая промышленного применения (не  имеют считая десятков  познания экспериментальных).[[10]] Для  операторы того чтобы  уходят разобраться в них,  низкая языки классифицируют  обрабатывать по важнейшим признакам:

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

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

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

области  решения применения – то есть где  единственного применяется язык (системные,  быть сетевые, встроенные  влечет и пр.

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

Базовая  модифицируют иерархия языков  такое программирования.

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

Рассмотрение пакета  лучше параллельных иерархий  первый языков программирования  программы целесообразно начинать  которые с иерархии этапов  логики программирования.[[12]]

Этап 1.

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

Этап 2.

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

Этап 3.

«Кодирование» - (от  примером ам. Традиционного  языки слэнга «coding») - написание  типы текста программы  обрабатывать на базовом текстовом  главная языке программирования,  фактических который может  первый быть понятен  первого транслятору — программе,  таким преобразующей текст  используя в бинарный код.

Этап 4.

Трансляция - перевод  уровню программы в бинарный «объектный» код,  нововведение производимая транслятором  четко без участия  аппаратных человека, не считая  новых процесса отладки.

Этап 5.

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

Первый  проверка этап программирования — это  перевод наиболее общий,  требуемые высший иерархический  просто уровень процесса  базовая программирования, а пятый — выполняемый  требуемые автоматически компьютером — низший.[[13]] Здесь  разработан к мету заметить,  частично что отношение  самом программистов к этим  технике этапам сразу  язык определяет и иерархическое  решение положение программиста. Самоучки,  типы любители, фрилансеры  синтаксис часто пропускают 2 первых  виде этапа программирования,  проверка что часто  работу превращает их труд  время в «мартышкин» - программа  решения либо не работает,  конкретной либо выполняет  языки не то, что  задач хотел программист. Грамотные  различных техники-программисты (уровень  системах колледжа) обычно  гамма начинают со второго  возникнуть этапа, так  памяти как первый — постановку  гамма задачи им дает  заняться руководитель проекта.

Перечисленные  например этапы программирования  серии в точности соответствуют  процесса поколениям языков (generation  действиям of languages, GL) — иерархии  языки компьютерных языков,  метод только в обратном  широкое порядке.

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

Поколение 1GL.

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

Поколение 2GL.

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

Поколение 3GL.

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

Поколение 4GL.

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

Поколение 5GL.

Интеллектуальные  него языки программирования - позволяют  выполнение передать функцию  любом создания алгоритмов  поколение компьютеру, а за человеком  создание оставить лишь  машинных постановку задачи. Программирование  составления на 5GL на порядок  увидим производительнее, чем  java на 4GL. Примеры:  команды система MatCAD,  здесь экспертные системы.

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

Хотя поколения  архангельский языков, естественно,  скорости сложились исторически,  актуальных это не означает,  превращая что ранние  просто поколения себя  параллелизма изжили. Они  галисеев применяются в своих  века нишах, например,  этап для программирования  влечет простейших устройств,  программист имеющих минимум  переменные памяти, типа  поддерживаемых банковских карт,  себя микроконтроллеров бытовых  которые и промышленных устройств  командной применим только  машинных машинный код,  языке ибо языкам  прил высоких уровней  возможности там «не  создание развернуться». В системном  наборы программировании наилучшие  данном результаты дают  язык языки 2GL,  рассмотрев ибо в этой  программист сфере важна  компилируются скорость выполнения  достигается и компактность кода. Для  возникнуть обработки текста  двумя и сетевых задач  представлено оптимальными являются  программы языки 3GL.

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

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

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

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

Декларативные языки  более программирования - это  фиксированной языки объявлений  которых и построения структур. К  мощном ним относятся  состоит функциональные и логические  подобные языки программирования. В  аппаратных этих языках  себе не производится алгоритмических  результате действий явно,  пишут то есть алгоритм  имеют не задается прграммистом,  самом а строится самой  swift программой. В декларативных  большим языках задается,  штате производится построение  упоминалось какой-либо структуры  отличается или системы,  представлено то есть декларируются (объявляются) какие-то  бейсик свойства создаваемого  полностью объекта.[[16]] Эти  сразу языки получили  называется широкое применение  данных в системах автоматизированного  которые проектирования (САПР),  себя в так называемых  отсутствие CAD-пакетах, в моделировнии,  основании системах исккусственного  того интеллекта.

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

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

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

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

высокое качество  быстрых создаваемых программ (компактность  большим и скорость выполнения);

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

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

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

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

низкая скорость  функциональная программирования;

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

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

Машинный  объектной язык.

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

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

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

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

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

Автокоды.

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

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

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

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

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

Макрос.

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

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

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

Машинно - независимые  готовые языки.

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

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

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

Проблемно - ориентированные  управления языки.

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

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

Фортран,  язык Алгол - языки,  основе созданные для  результирующих решения математических  которые задач;

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

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

Об этих  стать языках рассказано  одним дальше.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    1. 2.2 Классификация языков  любой с точки зрения  схожим принципов программирования

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

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

 Процедурные  языки языки программирования

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

 Логические  виртуальная языки программирования

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

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

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

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

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

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

 Большинство  галисеев современных процедурных  сокращаться языков программирования  поколение развивается в направлении  возможность объектно-ориентированного программирования.

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

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

 Особое  первый место занимает  данных язык программирования  проверка Java. Это  функциональных обуславливается 2-мя  языки его великолепными  данном свойствами.[[28]] Во-первых,  низкая реализация этого  исполнять языка не привязана  могут к конкретной архитектуре  язык вычислительного устройства (компьютера,  более мобильного телефона  диалоговых и так далее) и  используя конкретной операционной  простым системе. Программа  сложности на языке Java  нововведение транслируется в промежуточной  генераторы код, который  возникнуть может быть  максимум выполнен на любом  linux компьютере, на котором  обработки запущена виртуальная  фиксированной Java-машина. Чтобы  проверка перенести Java-программу  того на новый тип  увидим компьютера, не нужно  набор переписывать транслятор  этот для языка  этом Java и другие  начале средства разработки. Более  проблемно того, не нужно  великолепными иметь исходные  хочется тексты Java-программ  блоки и выполнять их перекомпиляцию. Достаточно  таблица переписать для  соответствии новой архитектуры  умения компьютера виртуальнуюJava-машину  также и запускать на ней  однако Java-приложения в промежуточном  машинным коде, одним  список и тем же для  символических любых архитектур  также компьютеров.[[29]]

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

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

 Скриптовые (тэговые)-декларативные  стать языки программирования
В  более последнее время  доступен получили широкое  организации распространение тэговые  такое языки описания  требуют различных структур  требует данных, преимущественно  этот связанных с передачей  языков информации через  разговорный Интернет. Одним  полу из таких языков  оформлением является XML - тэговый  свою язык описания  древовидных  классическим структур с аттрибутами,  языках используемый при  языков построении различных  основании типов документов. XML  возможность постепенно заменяет  языков собой HTML,  информации на его основе  тесно строятся файлы  дадим в формате MS Word  является и PDF-файлы. Для  эффективно преобразования XML-файлов,  специального например, для  проще переформатирования его  обеспечивает по новому шаблону,  организации был разработан  текст опять же тэговый  языке язык XSLT. Структура  проще XSL-файл (файл  достигается XSLT-преобразований) полностью  которые соответствует спецификации  минусом XML. По своей  взаимосвязь сути, XSLT  есть является языком  также функционального программирования.

Более  четко наглядно сравнительный  специальные анализ данной  java группы языков  напоминает мы можем просмотреть  этих в приложении 1: «Сравнительный  превращая анализ языков  одновременной программирования Паскаль,  имеют Visual Basic,  чтобы Java».

    1. 2.3 Уровни языков  потребляемым программирования

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

Если язык  аппаратных близок к естественному  языки языку программирования,  организации то он называется языком  снобол высокого уровня,  позволяют если ближе  являются к машинным командам, – языком  необходимая низкого уровня.[[31]]

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

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

К  умения языкам программирования  отсутствие высокого уровня относят  обработки Фортран (переводчик формул – был  минимальными разработан в середине 50–х  более годов программистами  созданное фирмы IBM  список и в основном используется  называется для программ,  языки выполняющих естественно – научные  фортран и математические расчеты),  используя Алгол, Кобол (коммерческий  программы язык – используется,  результирующих в первую очередь,  перевод для программирования  архангельский экономических задач),  языки Паскаль, Бейсик (был  данного разработан профессорами  облегчает Дармутского колледжа  данного Джоном Кемени  которые и Томасом Курцом.),  процесс Си (Деннис Ритч – 1972 году),  фактических Пролог (в основе  минусом языка лежит  разработка аппарат математической  такого логики) и т.д. [[32]]

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

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

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

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

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

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

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

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

– языки  если программирования пятого  позволяют поколения: языки  информации декларативные, объектно–ориентированные  облегчает и визуальные. Например,  записанную Пролог, ЛИСП (используется  того для построения  набор программ с использованием  диалоговыми методов искусственного  упоминаются интеллекта), Си++,  обратим Visual Basic,  оформлением Delphi.

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

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

На данный  создаваемых момент существует  выполнять огромное количество  есть языков на любой,  диалоговыми как говорится,  традиционного вкус и цвет. Есть  становится и компилируемые и интерпретируемые  помощью языки, есть  более очень простые  машинным и просто таки  диалоговых мозгодробительные языки,  выполнения есть серьезные  памяти и шуточные языки. Много  значительной их, в общем,  языках есть. И каждый  сразу из них создавался  уровни с определенной целью.[[33]] Выбор  программа языка программирования  flash во время создания  каждый программы является  скорость очень важным  фортран моментом, от которого  сразу зависит очень  следующий и очень многое – скорость  сегодняшний создания программы,  называется скорость тестирования,  достаточно возможность переноса  важно на другие платформы,  особые возможность быстрого  команда внесения изменений,  языки быстрота выполнения  дизайна конечного продукта  промежуточном и так далее. При  промежуточном этом стоит  удобны помнить, что  результирующих идеального языка  возможность не существует, все  помощью они обладают  функциональная своими положительными  нужно и отрицательными качествами,  скорости которые будут  таким так или  изобретение иначе влиять  только на процесс разработки. 
Итак,  первый по каким же критериям  максимум выбирать язык  имеют для своего  приложений проекта?

Читаемость языка. В  языки отличие от Objective-C,  время Swift не построен  особые на C. Поэтому у него  себе отсутствуют специальные  технике обозначения ключевых  системном слов, чтобы  нужно отличаться от него. Вместо  правило этого он может  частично объединить все  бейсик ключевые слова  более и удалить повторяющиеся  синтаксис символы перед  visual каждым типом  отрицательными или связанным  основе с объектом ключевым  решении словом.[[34]]

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

По  обширная мнению многих  четко программистов JavaScript,  требует Java, C# Swift  есть является более  лучше читаемым, что  основывается облегчает работу  программист с ним. Он имеет  другими упрощенный синтаксис  параллельные и грамматику.[[35]] В результате  данных Swift является  управление совершенно новым,  используемых чистым и выразительным  определенным языком, более  выполнение простым для  создания понимания разработчиками.

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

В Swift  широкое это требование  система попросту отсутствует. Теперь  уходят файл-заголовок и файл  программные реализации объединены  управление в одном файле  тонкости кода с расширением .swift.

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

Управление памятью. Программисту  процесса не приходится задумываться  другими о памяти для  система цифровых объектов,  ритч которые он создает. Потому  законченность что автоматический  flash подсчет ссылок (ARC) обрабатывает  создании все управление  язык памятью во время  улучшением компиляции кода. Это  бейсик происходит потому  значительной что ARC  высшего в Swift работает  пером и на процессуальном и на объектно-ориентированном  доступен коде, и теперь  становится не нужно контекстных  программные переходов для  составленные программистов, даже  этот если они  находит пишут код,  порядок который рассчитан на более  промежуточном старые API. Это  проблемно является проблемой  весьма для текущей  выполняющих версии Objective-C.

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

Скорость  любой работы. Удаление  процесса устаревших соглашений  однако намного улучшило  структуры движок Swift. Многочисленные  дадим тестирования производительности  архитектуре кода указывают  языков на то, что  полумашинный Apple всерьез  обработки занимается улучшением  эффективно скорости работы  диалоговых приложений на Swift. В  системном то время как  теперь скорость обработки  серии данных на Objective-C  разработка осталась на прежнем  важнейшим уровне C.[[37]]

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

Что  чтобы касается Objective-C,  swift то он дальнейшего развития  дадим не получает. Apple  уровне сконцентрировалась только  ширенного на работе над  необходимость Swift. Это  блоки стабильный продукт,  позволяющие от которого не приходится  каким ожидать кардинальных  построены изменений.

Поддержка динамических  языки библиотек. Самое  ассемблер большое нововведение  упоминалось в Swift - это  рассмотрев переход от статических  объектной библиотек, которые  языки обновляются только  различными при крупных  самом обновлениях, к динамическим  памяти библиотекам, которые  java присоединяются к готовому  либо приложению и получают  этап развитие не с обновлением  сфере всего проекта,  полу а с изменениями этих  написанную библиотек [[38]]. В Objective-C  алгоритмов работа происходила  обработки только со статическими  посредством библиотеками, что  записанную увеличивало объем  классов конечного приложения.

Скорость  скриптовые работы конечного  есть продукта. Требовательным к скорости  языки выполнения могут  виртуальная быть программы  привело с большим объемом  отличие математических вычислений,  языков например моделирование  изменениями физических систем,  выполнять расчеты большого  информации объема экономических  процедурных данных, выведение  самым трехмерной графики  таким и прочее. Для  новых данных целей  достигается хорошо подойдут  области компилируемые языки:  информации ассемблер, С/С++,  степени фортран и т.д. Почему  управления именно такие? После  частично сборки программа  просто не требует (грубо  такое говоря) ничего  класса лишнего и содержит  находит в себе машинные  языки команды, которые  преобразования выполняются без  программа лишних задержек. Схема  синтаксису работы таких  весьма программ такая: 1) программа  схожим исполняется сразу,  рынке так сказать  диалоговых она самодостаточна  критичные и не требует дополнительных  статистическое библиотек; 2) программа  только кроме своего  решения кода содержит  наборы вызовы библиотек  этом с машинным кодом (как  представлено системных, так  скорость и входящих в проект),  если поэтому, кроме  правило исполнения собственно  которые своих команд,  использованием программа вызывает  оформлением функции из библиотек; 3) в  когда дополнение случаям 1 и 2,  уровне программа может  гораздо работать через  полностью прослойку драйверов,  простым которые написаны  нужно на языках низкого  которые уровня и работают  сколько по умолчанию быстро. Как  достигается видно, максимум  языки в схеме возможны 4 блока:  ширенного программа -> библиотеки -> драйвера -> железо.[[39]]

Объем  память занимаемой оперативной  первый памяти. Данное требование  какую появляется, когда  содержит программа разрабатывается  создание для встраиваемых  решение систем, мобильных  прогресс платформ, микроконтроллеров  иной и так далее. В  класса данных случаях,  языки чем меньше  поверьте памяти расходует  машинно программа на данном  повторяющиеся языке – тем  языков лучше. К таким  простым языкам, опять  какая же, относятся  различных ассемблер, С/С++,  программы Objective-C и другие. Список  оформлением языков подобен  диалоговыми списку пункта 1,  процедурных так как  обрабатывать чем меньше  пропускают функциональных блоков  диалоговыми в схеме исполнения,  обычному тем меньше  программ занимается и памяти  личных компьютера.

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

Скорость  имеют разработки программы.  система Данное  если требование возникает  предусмотрена тогда, когда  должны начальник говорит «программа  частично нужна не позже,  составленные чем вчера!» или  достигается еще какая  середине срочность. Тогда  объектной выбор падает  низкая на высокоуровневые языки  первый с максимально человеколюбивым  семантических синтаксисом.[[40]] Это,  трехмерной например, Java,  проще Flash и подобные. На  малом данных языках  более время разработки  примером может существенно  специального сокращаться из-за  перевод обилия сторонних  уровне библиотек, максимально «очеловеченного» синтаксиса,  turbo и подобных вещей. Скорость  язык выполнения программ,  памяти написанных на данных  удобны языках страдает,  разработчикам причем порой  архангельский весьма ощутимо. Схема  того выполнения на примере  сообщается Java:
Программа в виде  ближе байт-кода -> виртуальная  данное машина-анализатор -> системные  тонкости библиотеки -> драйвера -> железо.
Самым  управления медленно работающим  превращая блоком в данной  уходят схеме является  соответствии анализатор – он должен  прил байт-код программы  программного транслировать «на  возможности лету» в машинный  разработан код, при  оформлением этом потратив  работы много времени  составления на точное определение  возможность инструкции. Поэтому  текст быстрая разработка  символов зачастую означает  минусом медленное выполнение.

Ориентированность  использованием на компьютер или  операторы человека. С кем  коде будет работать  таблица программа в первую  пропускают очередь? С человеком,  легко или с компьютером? В  него пером случае  диалоговых программа должна  семантических обладать мощной  создания графической частью,  написанную отвечающей требованиям  символические дизайна и юзабилити. Разработка  считая графической части  часто зачастую требует  процедурных достаточно много  хотя времени, т.к. отличается  более немалой сложностью. Здесь  простым сложность возникает  языков в том, что  выполняются вывод графики – это  программа немало математики,  порядок а значит присутствует  предписывают требовательность к скорости  программа исполнения, а из-за  обратим сложности разработки  системном присутствует необходимость  основой в высокоуровневом языке. В  только данном случае,  тэговые на мой взгляд,  обновляются очень хорошо  создаваемых подходит С++/C# с  языковой их одновременной и высокоуровневостью,  лучше и скоростью выполнения  различными программ на них. Однако,  являются если ГИП  требуют не очень сложный,  часто но красивый, возможно  этапы использование Java  вида и Flash, на которых  которые создание красивых  работать интерфейс гораздо  описывающих проще, нежели  данного на С++ и, тем  уровне более, С. Если  быть программа ориентирована  которые в первую очередь  есть на «скрытую работу» с  многие минимумом взаимодействия  быстрых с пользователем, тогда  visual выбор должен  программного ложиться в сторону  декларативных быстрых языков (ASM,  постоянно C)

Кроссплатформенность. Кроссплатформенность – возможность  только работы программы  работы на различных платформах,  такое в различных ОС с минимальными  сообщается изменениями.[[41]] В этой  тестирования сфере можно  языке выделить такие  разрабатывает языки: Java,  него C#,Flash,C++ с различными  задач библиотеками и другие,  подобные менее используемые,  чтобы языки.  Java создавался  высшего с тем условием,  является что программы  ежегодно на данном языке  какую должны работать  полностью на любой платформе,  коде где есть  лишним JVM – Java  следующие Virtual Machine. Программы  процедуры на Java вообще  заняться не требуют никаких  которые изменений – после  вместо компиляции получается .jar  трехмерной файл, который  изобретение будет работать  виртуальная и на Windows, и на Mac  классов OS, и на Linux  сотни и еще немало  века где. Аналогичная  более ситуация и с Flash,  американец только список  выполнять платформ гораздо  начале менее обширный. С  подобные С++ дело  чтобы обстоит труднее. На  объединены чистом С++ написать  машинно кроссплатформенную программу  процедуры довольно трудно,  использованием у кода возникает  языки обширная избыточность,  реализовано теряется достоинство  уровню в скорости выполнения. Облегчают  скорость задачу кроссплатформенные  классификация библиотеки, например, Qt,  этап которые позволяют  алгоритмов добиться принципа «один  многие код на все  доступен платформы», однако  если на каждую платформу  схожим нужно программу  просто собирать отдельно (при  информации этом разными  программист компиляторами).[[42]]

В этот  сразу раздел так  решения же можно включить  ограниченный интерпретируемые, скриптовые  этот языки – для  достигается их работы нужно  новых наличие интерпретатора  порядок языка в системе. Данные  аппаратных языки очень  большим удобны в плане  этом разработки, но достаточно  определенным медлительны. Схема  должны их работы напоминает  составить схему работы  будет Java/Flash, только  порядок анализатор стал  решения еще медленнее – полумашинный  повторяющиеся байт код  памяти анализировать «на  есть лету» гораздо  реализовано проще, чем  степени человеческий код. Так  программные же, это  ритч влечет к большему  создания потреблению памяти.

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

Вопрос выбора языка  класса программирования можно  составить раздуть до очень  единое больших размеров,  часто перечисляя все  программ возможные и невозможные  записанные тонкости в этом  сложности деле. Так  личных же стоит учитывать,  букв что большие  работать программы могут  созданное писаться на разных  язык языках в зависимости  только от их функционала. Например,  возможность критичные к скорости  символов работы части  компилируются пишутся на низкоуровневых  должны языках, графическая  концепция часть — на высокоуровневых  программу и медленных. Очень часто упоминаются  иерархий языки С и С++. Это  логические действительно универсальные  написанную языки с большим  проблемно количеством библиотек,  того с хорошей скоростью  которые работы и еще  программа многими другими  здесь плюсами. Но,  находит кроме плюсов,  гораздо они обладают  великолепными еще довольно  написанные большим минусом – из-за  технике этой универсальности  умения данные языки  java довольно трудны  машинно в освоении, имеют  важно очень много  которых тонкостей (С++ больше,  типы т.к. он содержит  готовому в себе больше  есть парадигм, нежели  поддерживаемых С). Язык  этап Java тоже  являются универсален, более  позволяющие прост в изучении,  java но обладает на мой  диалоговыми взгляд просто  уровне огромным минусом – крайне  набор низкая скорость  данную работы. Это  считая сильно ограничивает  таблица его применение:  пропускают большие программы  первый на нем лучше  оформлением не писать из-за  часть возникающей потребности  данных в мощном аппаратном  особые обеспечении. Скриптовые/интерпретируемые  стать языки хорошо  форма подойдут для  иерархии написания «одноразовых  взаимосвязь программ», автоматизации  разработки некоторых действий,  графики а так же для  группу работы в связке  скорость с другими языками. Ассемблер – вообще  того говоря это  перехода группа языков  используемых со схожим синтаксисом,  тэговый но многими различными  программист параметрами в зависимости  память от платформы (Например,  языках ассемблер х86 это  сетевых совсем не одно  применения и то же, что  перевод и ассемблер SPARC).

В  технике конце главы 3 можно  века сделать следующий  необходимость вывод. Когда необходимо  новых создать большую  специальные программную систему  есть или составить  virtual программы для  программы решения какой-либо  скорость частной задачи,  имеют в том числе  имеют при создании  рынке компьютерных игр,  операторы встает вопрос,  мнению какой выбрать  структуры для этой  программа цели наиболее  которые подходящий язык  если программирования.[[44]] В большинстве  языки случаев такой  virtual выбор делается  важно на основании очень  языках простых «земных» факторов:  определенным наличии того  теперь или иного  больше транслятора и умения  исполнять делать софт  процедуры на данном языке. Но  одновременной если в распоряжении  потребляемым пользователя несколько  уходят языков программирования  легко и нужно создать,  перед то необходимо учитывать  дизайна следующие обстоятельства:

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

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

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

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

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

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

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

ЗАКЛЮЧЕНИЕ

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

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

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

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

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

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

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

  1. Архангельский  возможность А. Программирование в Delphi  таким для Windows. Версии 2016, 2017,  процедуры Turbo Delphi + CD. –М.: Бином. Лаборатория  параллелизма знаний, 2016.
  2. Архангельский  способ А. Язык C++ в  определенным С++Builder. Справочное  сразу и методическое пособие. – М.:  имеют Бином. Лаборатория  перехода знаний, 2008.
  3. Бакнелл  области Дж. Фундаментальные  предусмотрена алгоритмы и структуры  ставший данных в Delphi. Библиотека  процесс программиста. –  язык СПБ.: Питер,  должны DiaSof, 2016.
  4. Галисеев  целостной Г.В. Компоненты  изобретение в Delphi 7. Профессиональная  использованием работа.– М.: : Вильямс, 2016.
  5. Гамма  генераторы Э. Приемы объектно-ориентированного  законченность проектирования. Паттерны  обновляются проектирования. С.Петербург:  группу Питер, 2016.
  6. Голицына  вместо О.Л., Партыка  имеют Т.Л., Попов  архангельский И.И. Программное  имся обеспечение. Учебное  серии пособие — 2 изд.–  особое М.:  чтобы Форум, 2010.
  7. Горбунов  лучше С.И. Создание  порядок новых компонентов  начале в Delphi.–  когда М.: Альтекс, 2016.
  8. Глушаков  языках С. В. Delphi 2007. –М.:  большим АСТ, Хранитель, 2010.
  9. Иванова  преобразования Г. С., Ничушкина  данном Т. Н., Пугачев  является Е. К. Объективно-ориентированное программирование. Серия:  возможность Информатика в техническом  swift университете.– М,: МГТУ  ритч им. Н.Э. Баумана, 2012.
  10. Клейтон  языки Уолнэм. Объектно-ориентированное  этот программирование. BORLAND  дадим C++.– М,: Попурри, 2010.
  11. Коликова  многие Т.В., Котляров  языке В.П. Основы тестирования  управления программного обеспечения. Учебное  программы пособие. – М.:  дизайна Бином. Лаборатория  базовая знаний, ИНТУИТ.РУ, 2016.
  12. Кривель  требуемые И.А., Моргун А.Н.  учебной Программирование  тэговый на языке Паскаль. Основы  таблица обработки структур  языки данных. –  виды М.:  иной Вильямс, 2016.
  13. Культин  написанные Н. Основы программирования  тэговый в Delphi 2007. – СПБ.:  язык BHV — Санкт — Петербург, 2010.
  14. Лаптев  заняться В.В. C++. Объектно-ориентированное  чтобы программирование.– СПб.:  проверка Питер, 2010.
  15. Львов  содержит И.Б., Казеев  список Г.Г., Морев  проблемно И.А. Информатика.– Владивосток:  этом АВГУ. 2010.
  16. Митчелл  умения К. Керман. Программирование  работа и отладка в Delphi. Учебный  наборы курс. –М,:  позволяющие Вильямс, 2010.
  17. Моргун  такое А.Н. Справочник по Turbo  более Pascal для студентов.–М.:  которые Вильямс, 2010.
  18. Новичков  этап В.С., Парфилова  языков Н.И., Пылькин  себя А.Н. Алгоритмизация  генераторы и программирование на Турбо  этом Паскале. Учебное  упоминаются пособие.– М.:  посредством Новичков В.С.,  практически Парфилова Н.И.,  работа Пылькин А.Н., 2016.
  19. Сухарев  системах М. Delphi. Полное  полярных руководство + DVD.–М.:  самом Наука и техника, 2010.
  20. Фараонов  процедурных В. Программирование на языке  оформлением C+.–СПб.: Питер, 2016.
  21. Фаронов  данных В. В.  человека Turbo Pascal + CD. – СПб.:  перехода BHV, 2016.
  22. Фаронов  человека В. В. Создание приложений  здесь с помощью С+. Руководство  дополнение программиста + CD. –М.:  разработки ЭКСМО, 2010.
  23. Фельдман  изобретение С.К. Системное программирование  бейсик на персональном компьютере. –  соответствии М.:  выполнять Новый Издательский  помощью дом, 2044.
  24. Фигурнов  нужно В.Э. IBM  например РС для пользователя. — М.:ИНФРА, 2016.
  25. Фридман  решения А.Л. Основы  параллельные объектно-ориентированного программирования  отрицательными на языке Си++. Учебный  программа курс.– М,: Радио  выполнять и связь, 2015.
  26. Робин  если Хантер. Основные  соответствуют концепции компиляторов
  27. Хомоненко  возможность А., Гофман  информации В., Мещеряков  первый Е., Никифоров  снобол В. Delphi 7. Наиболее  swift полное руководство.– СПБ.:  законченность BHV — Санкт — Петербург, 2016.
  28. Хорев  место П.Б. Технологии  которые объектно-ориентированного программирования. –М.:  логических Академия, 2044.
  29. Шелест  таких В. Программирование. –  прил СПб.:  следующий БХВ-Петербург, 2012.
  30. Шкрыль  вместо А.А. Разработка клиент-серверных  разработка приложений в Delphi + CD.–СПб.:  штате BHV, 2016.
  31. C++,  вместо Turbo  используя Pasckal, QBasik:  классификация Эволюция языков  какая программирования http://langprog.far.ru/historylangprog.html. -27.05.10.
  32. Информатика/Курносов  программа А.П., Кулев  простейших С.А., Улезько  сколько А.В. и др.;  важно Под ред. А.П. Курносова.-  потребляемым М.:  записанные КолосС, 2015.
  33. Макарова  машинно Н.В. Информатика /под  фортран ред. Проф. Н.В. Макаровой. — М.:  весьма Финансы и статистика, 2015.
  34. Малышев  поколение Р.А. Локальные  класса вычислительные сети:  быть Учебное пособие/ РГАТА. – Рыбинск, 2015.
  35. Островский  которые В.А. Информатика:  пишут учеб. для  специального вузов. М.:  вместо Высшая школа, 2010.
  36. Семакин  широкое И.А., Информатика:  минимумом Базовый курс /Семакин  сложные И.А., Залогова  посредством Л., Русаков  команда С., Шестакова  особые Л. – Москва: БИНОМ.,2015.
  37. Симонович  разговорный С.В.Информатика. Базовый  любом курс/Симонович С.В. и  памяти др. — СПб.:  необходимость издательство "Питер", 2010.
  38. Харольд Абельсон, Джеральд Джей Сассман, Джули Сассман. Структура и интерпретация компьютерных программ (SICP).
  39. Фредерик Брукс. Мифический человеко-месяц или Как создаются программные системы. — Addison-Wesley, 2015, 2016/
  40. Теренс Пратт. Языки программирования: разработка и реализация = Programming Language Design and Implementation (PLDI). — 1-е издание. — Мир, 2009.
  41. Альфред Ахо, Рави Сети, Джеффри Ульман. Компиляторы: принципы, технологии и инструменты. — Addison-Wesley Publishing Company, Издательский дом «Вильямс», 1985, 2001, 2003.
  42. Time-Life Books. Язык компьютера = Computer Languages. — М.: Мир, 2009. — Т. 2.
  43. Альфред Ахо, Джеффри Ульман. Foundations of Computer Science. — Computer Science Press, 2012.
  44. Роберт У. Себеста. Основные концепции языков программирования = Concepts of Programming Languages / Пер. с англ. — 5-е изд. — М.: Вильямс, 2001. 
  45. Вольфенгаген В. Э. Конструкции языков программирования. Приёмы описания. — М.: Центр ЮрИнфоР, 2011.
  46. Паронджанов В. Д. Как улучшить работу ума. Алгоритмы без программистов — это очень просто! — М.: Дело, 2011. 
  47. Перевод на русский язык: Пирс Б. Типы в языках программирования. — Добросвет, 2012.
  48. Теренс Пратт, Марвин Зелковиц. Языки программирования: разработка и реализация. — 4-е издание. — Питер, 2012. — (Классика Computer Science). 
  49. Роберт Гласс. Факты и заблуждения профессионального программирования. — "Символ-Плюс", 2014.
  50. Ф. Бьянкуцци, Ш. Уорден. Пионеры программирования. Диалоги с создателями наиболее популярных языков программирования. — СПб.: Символ-Плюс, 2010.
  51. Питер Сейбел. Кодеры за работой. Размышления о ремесле программиста. — Символ-Плюс, СПб. — 2011. 

ПРИЛОЖЕНИЕ

Приложение 1 «Сравнительный  программные анализ языков  порядок программирования

Паскаль, Visual  различными Basic, Java»

  содержит

Паскаль

Visual Basic

Java

Какие из известных языков лежат в основе языка

ярко выраженного прототипа нет, в основе лежат длительные научные наработки

синтаксис от языка Basic

синтаксис от языка Си

Тип языка

процедурный, объектно-ориентированный

процедурный, объектно-ориентированный

процедурный, объектно-ориентированный

Наиболее яркие особенности языка

строгая типизация, разрабатывался как учебный язык, дальнейшее его развитие фирмой Borland (строгая концепция объектно-ориентированного программирование и не менее строгое ее практическое воплощение в виде среды TurboVision; первая в своем классе объектно-ориентированная визуальная среда разработки  Delphi)

берет начало от VBA (Visual Basic for Applications) для MS Word, Excel, Access. Яркая идея, заложенная в эти языки, заключается в управлении объектами, отражающими иерархическую структуру документа, электронной таблицы или базы данных. Характеризуется также возможностью построения  кода программы (макроса) путем записи действий пользователя

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

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

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

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

находится на пике развития; единственным сдерживающим фактором является конкурентная борьба фирм Sun (разработчика языка Java) и  Microsoft, продвигающей свою альтернативную технологию
.Net и язык C Sharp

Основные образующие элементы

программа, модуль, DLL-библиотека, процедура, класс, объект

(Visual Basic for Applications) функция, макрос

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

  1. Альфред Ахо, Рави Сети, Джеффри Ульман. Компиляторы: принципы, технологии и инструменты. — Addison-Wesley Publishing Company, Издательский дом «Вильямс», 1985, 2001, 2003. — 768 c.

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

  3. Вольфенгаген В. Э. Конструкции языков программирования. Приёмы описания. — М.: Центр ЮрИнфоР, 2001. — 276 с.

  4. Time-Life Books. Язык компьютера = Computer Languages. — М.: Мир, 2009. — Т. 2. 235 c.

  5. Ф. Бьянкуцци, Ш. Уорден. Пионеры программирования. Диалоги с создателями наиболее популярных языков программирования. — СПб.: Символ-Плюс, 2010. – 256 c.

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

  7. Роберт У. Себеста. Основные концепции языков программирования = Concepts of Programming Languages / Пер. с англ. — 5-е изд. — М.: Вильямс, 2001. 

  8. Фредерик Брукс. Мифический человеко-месяц или Как создаются программные системы. — Addison-Wesley, 2015, 2016 – 248 c.

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

  10. Перевод на русский язык: Пирс Б. Типы в языках программирования. — Добросвет, 2012. – 136 c.

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

  12. Вольфенгаген В. Э. Конструкции языков программирования. Приёмы описания. — М.: Центр ЮрИнфоР, 2011. – 211 c.

  13. Питер Сейбел. Кодеры за работой. Размышления о ремесле программиста. — Символ-Плюс, СПб. — 2011. – 246 c.

  14. Питер Сейбел. Кодеры за работой. Размышления о ремесле программиста. — Символ-Плюс, СПб. — 2011.- 277 c.

  15. Голицына О.Л., Партыка Т.Л., Попов И.И. Программное обеспечение. Учебное пособие — 2 изд.–М.: Форум, 2010. - 106 c

  16. Ф. Бьянкуцци, Ш. Уорден. Пионеры программирования. Диалоги с создателями наиболее популярных языков программирования. — СПб.: Символ-Плюс, 2010. – 257 c.

  17. Фельдман С.К. Системное программирование на персональном компьютере. – М.: Новый Издательский дом, 2014 – 85 c

  18. Ф. Бьянкуцци, Ш. Уорден. Пионеры программирования. Диалоги с создателями наиболее популярных языков программирования. — СПб.: Символ-Плюс, 2010. – 445 c.

  19. Фельдман С.К. Системное программирование на персональном компьютере. –М.: Новый Издательский дом, 2014 – 98 c

  20. Теренс Пратт, Марвин Зелковиц. Языки программирования: разработка и реализация. — 4-е издание. — Питер, 2012. — (Классика Computer Science). – 215 c.

  21. Шелест В. Программирование. –СПб.: БХВ-Петербург, 2012. – 106 c

  22. Альфред Ахо, Рави Сети, Джеффри Ульман. Компиляторы: принципы, технологии и инструменты. — Addison-Wesley Publishing Company, Издательский дом «Вильямс», 1985, 2001, 2003. – 112, 145, 284 c.

  23. Гамма Э. Приемы объектно-ориентированного проектирования. Паттерны проектирования. С.Петербург: Питер, 2016. – 225 c

  24. Фредерик Брукс. Мифический человеко-месяц или Как создаются программные системы. — Addison-Wesley, 2015, 2016. – 215 c.

  25. Коликова Т.В., Котляров В.П.Основы тестирования программного обеспечения. Учебное пособие. – М.: Бином. Лаборатория знаний, ИНТУИТ.РУ, 2016. – 112 c

  26. Time-Life Books. Язык компьютера Роберт У. Себеста. Основные концепции языков программирования = Concepts of Programming Languages / Пер. с англ. — 5-е изд. — М.: Вильямс, 2001.- 215 c. 

  27. Паронджанов В. Д. Как улучшить работу ума. Алгоритмы без программистов — это очень просто! — М.: Дело, 2011. – 136 c.

  28. Теренс Пратт, Марвин Зелковиц. Языки программирования: разработка и реализация. — 4-е издание. — Питер, 2012. — (Классика Computer Science). – 215 c.

  29. Хорев П.Б. Технологии объектно-ориентированного программирования. –М.: Академия, 2014. – 45 c

  30. Фигурнов В.Э. IBM РС для пользователя. — М.:ИНФРА, 2011. – 35 c

  31. Ф. Бьянкуцци, Ш. Уорден. Пионеры программирования. Диалоги с создателями наиболее популярных языков программирования. — СПб.: Символ-Плюс, 2010. – 214 c.

  32. Клейтон Уолнэм. Объектно-ориентированное программирование. BORLAND C++.–М,: Попурри, 2010. – 25 c

  33. Харольд Абельсон, Джеральд Джей Сассман, Джули Сассман. Структура и интерпретация компьютерных программ (SICP). – 215 c.

  34. Фараонов В. Программирование на языке C+.–СПб.: Питер, 2016. – 45 c

  35. Питер Сейбел. Кодеры за работой. Размышления о ремесле программиста. — Символ-Плюс, СПб. — 2011. – 335 c.

  36. Хорев П.Б. Технологии объектно-ориентированного программирования. –М.: Академия, 2014. – 79 c

  37. Альфред Ахо, Рави Сети, Джеффри Ульман. Компиляторы: принципы, технологии и инструменты. — Addison-Wesley Publishing Company, Издательский дом «Вильямс», 2003. – 45 c.

  38. Хорев П.Б. Технологии объектно-ориентированного программирования. –М.: Академия, 2014. – 95 c

  39. Вольфенгаген В. Э. Конструкции языков программирования. Приёмы описания. — М.: Центр ЮрИнфоР, 2011. – 24 c

  40. Хорев П.Б. Технологии объектно-ориентированного программирования. –М.: Академия, 2014. – 116 c

  41. Вольфенгаген В. Э. Конструкции языков программирования. Приёмы описания. — М.: Центр ЮрИнфоР, 2011. – 245 c

  42. Шелест В. Программирование. –СПб.: БХВ-Петербург, 2012. – 55 c

  43. Теренс Пратт, Марвин Зелковиц. Языки программирования: разработка и реализация. — 4-е издание. — Питер, 2012. — (Классика Computer Science). – 125 c.

  44. Роберт Гласс. Факты и заблуждения профессионального программирования. — "Символ-Плюс", 2014. – 458 c