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

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

Содержание:

ВВЕДЕНИЕ

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

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

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

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

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

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

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

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

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

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

Задачи работы:

Дать понятие языка программирования:

Привести классификацию языков программирования;

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

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

ГЛАВА 1. ОБЩИЕ ОСНОВЫ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ

1.1.История, назначение и понятие системы программирования.

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

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

Первые Первые языки программирования появились сравнительно не так давно. Разные исследователи предписывают в качестве времени их создания 20-е, 30-е и даже 40-е годы XX столетия. Нашей задачей считается не установление самого раннего языка, а поиск закономерностей в их развитии.

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

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

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

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

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

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

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

Фортран (FORmula TRANslating system – система трансляции формул); старейший и до настоящего времени обширно распространенный язык, в особенности посреди пользователей, которые занимаются численным моделированием. Это разъясняется несколькими причинами:

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

За прошедший период сложилась новая методология и философия программирования. С начала 70-х годов Фортран подвергся заслуженной критике. Выпущенный в 1990 году транслятор MS-Fortran 5.0 фактически стопроцентно соответствует стандарту Fortran-90.

Большая часть крупных технологических прикладных программ прописано на Фортране поскольку он владеет переносимостью и стабильностью, а также благодаря наличию интегрированных математических и тригонометрических функций [8].

Бейсик (Basic – Beginner’s All-Purpose Symbolic Instruction Code – «многоцелевой условный код инструкций для новичков»). Прямой отпрыск Фортрана и до сего времени самый популярный язык программирования для персональных компьютеров. Возник Бейсик в 1963 году (назвать создателя было бы тяжело, но главная награда в его возникновении, непременно, принадлежит американцам Джону Кемени и Томасу Курцу). Как и всевозможные достоинства, простота Бейсика оборачивалась, особенно в ранних версиях проблемами структурирования; помимо всего этого, Бейсик не допускал рекурсию – интересный прием, позволяющий составлять действенные и вмести с этим короткие программы.

Разработаны массивные компиляторы Бейсика, которые гарантируют не только лишь богатую лексику и высокое быстродействие, но и возможность структурного программирования. Учитывая мнение неких разработчиков программного обеспечения, более увлекательными версиями считаются GWBASIC, Turbo-Basic и Quick Basic.

Когда-то возникновение Quick Basic ознаменовало рождение второго поколения систем программирования на языке Бейсик. Он предоставлял возможность модульного и процедурного программирования, создания библиотек, компиляции готовых программ и многое другое, что вывело его на уровень таких традиционных языков программирования, как Си, Паскаль, Фортран и другие. Более того, в связи с неимением официального стандарта языка Бейсик, его реализация в виде Quick Basic стала практическим стандартом. Бесспорными фаворитами среди разных версий Бейсика были Quick Basic 4.5 и PDS 7.1 компании Microsoft, появившиеся в конце 80-х годов [1].

В 1960 году командой во главе с Петером Науром (Peter Naur) был создан язык программирования Algol. Данный язык дал начало целому роду Алгол-подобных языков (важный представитель – Pascal). Алгол (ALGOrithmic Language – алгоритмический язык); сыграл огромную роль в теории, хотя для фактического программирования на данный момент почти не употребляется.

ПЛ/1 (PL/I Programming Language – язык программирования первый) разработан в 1964-1965 годах компанией IBM. ПЛ/1 относится к количеству многоцелевых языков, т. е. позволяет решать задачи из различных областей: численные расчеты, текстовая обработка, финансовые задачи и т. д. По собственным возможностям он перекрывает такие языки, как Фортран, Алгол-60 (предназначенный для численных расчетов), Кобол (для финансовых задач), хотя в силу ряда обстоятельств вытеснить данные языки ПЛ/1 не сумел.

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

Тогда как, ПЛ/1 имеет и ряд недочетов, затрудняющих изучение и внедрение языка. Главные из них таковы, во-первых, имеется большое количество дублирующих друг друга средств их трудно запомнить, не понятно, что когда использовать, помимо всего этого, это снижает как скорость трансляции, так и скорость исполнения программ. Во-вторых, программы получаются не совершенно машинно-независимыми [11].

В 1972 году в период сотрудничества с Кеном Томпсоном Работник компании Bell Labs Денис Ритчи создал язык Си (С – «си»), как инструментальное средство для реализации операционной системы Unix, но известность данного языка стремительно переросла рамки определенной операционной системы и определенных задач системного программирования.

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

Ритчи не придумывал Си просто из головы – прототипом служил язык Би созданный Томпсоном. Язык программирования Си был разработан как инструмент для программистов-практиков. Согласно с данным основной целью его создателя было создание комфортного и нужного во всем языка.

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

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

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

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

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

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

Язык программирования Паскаль был разработан профессором кафедры вычислительной техники Швейцарского Федерального института технологии Николасом Виртом в 1968 году как альтернатива имеющимся и все усугубляющимся языкам программирования, таким, как PL/1, Algol, Fortran. Насыщенное развитие Паскаля привело к возникновению уже в 1973 году его стандарта в виде пересмотренного сообщения, а количество трансляторов с данного языка в 1979 году переступило за 80.

Сначала 80-х годов Паскаль еще больше упрочил собственные позиции с возникновением трансляторов MS-Pascal и Turbo Pascal для ПЭВМ. С этого времени Паскаль становится одним из более принципиальных и обширно применяемых языков программирования. Существенно то, что язык давно вышел за рамки академического и узкопрофессионального энтузиазма и употребляется в большинстве институтов высокоразвитых государств не только лишь как рабочий инструмент пользователя. Важной спецификой Паскаля считается выраженная мысль структурного программирования. Другой значимой спецификой считается концепция структуры данных как одного из базовых понятий [7].

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

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

Достоинства данного языка значительны при написании довольно трудных и мобильных программ [20].

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

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

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

Дельфи (Delphi) – язык объектно-ориентированного «визуального» программирования; на этот момент очень востребован. История Delphi наступает с 60-х годов.

Когда возникла первая версия Windows – Windows 3.10, программисты Borland создали Delphi 1. Это уже была объектно-ориентированная среда для зрительной разработки программ, базирующаяся на языке Object Pascal.

С возникновением Windows 95 была замечена Delphi 2, потом Delphi 3, 4, 5. Язык программирования Object Pascal, который считался стержнем Delphi, претерпел эти значительные конфигурации, что с возникновением Delphi 6 фирма Borland, которая уже превратилась в корпорацию, официально заявила о переименовании Object Pascal в Delphi. Поэтому правы те, кто говорит, что Delphi – это визуальная среда разработки программ. Хотя кроме того правы и другие, кто признаёт, что Delphi – это один из лучших языков программирования.

Delphi 7 более размеренная версия языка программирования для Win32 другими словами 32-разрядных версий Windows. Возникли и новые версии Delphi, хотя они ориентированны на технологию .NET, за какую начинающим программистам браться рановато. Базу Delphi составляет не только лишь сам язык, но и RAD (Rapid Application Development) – среда быстрой разработки программ. Благодаря визуальному программированию, а также довольно большой библиотеке визуальных компонент, Delphi разрешает создавать программы более стремительно и эффективно, принимая на себя главную работу, и оставляя программисту творческий процесс [5].

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

Язык Java понадобился для сотворения интерактивных товаров для сети Internet. Практически, большая часть архитектурных решений, принятых при разработке Java, было продиктовано желанием дать синтаксис, сходный с Си. В Java используются фактически схожие соглашения для объявления переменных, передачи характеристик, операторов и для управления потоком выполнением кода. В Java добавлены все хорошие черты C [1].

Среди непроцедурных языков более знамениты: язык Лисп, Пролог, Оккам. Язык Лисп (Lisp) был предложен Дж. Маккарти в работе в 1960 году и нацелен на разработку программ для решения задач не численного характера. Английское заглавие данного языка – LISP считается аббревиатурой выражения LISt Processing (обработка списков) и хорошо акцентирует внимание главную область его внедрения. Понятие «список» оказывается довольно вместительным. В виде списков удобно представлять алгебраические выражения, графы, элементы конечных групп, множества, правила вывода и прочие трудные объекты. Списки считаются более эластичной формой представления информации в памяти компьютеров.

В последствии возникновения Лиспа разными создателями был предложен целый ряд других алгоритмических языков нацеленных на решение задач в сфере искусственного интеллекта, среди которых можно отметить Плэнер, Снобол, Рефал, Пролог. Однако данное не помешало Лиспу остаться наиболее пользующимся популярностью языком для решения этих задач. На протяжении почти сорокалетней истории его существования возник ряд диалектов данного языка: Common LISP, Mac LISP, Inter LISP, Standard LISP.

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

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

Оккам (назван в честь философа У. Оккама) – язык был создан в 1982 году и предназначен для программирования транспьютеров – многопроцессорных систем распределенной обработки данных. Он описывает взаимодействие параллельных действий в виде каналов – методов передачи информации от одного процесса к другому. Стоит отметить необыкновенность синтаксиса языка Оccam – в нем поочередный и параллельный порядки выполнения операторов равноправны, и их нужно явно предписывать ключевыми PAR и SEQ [9].

PHP (англ. PHP: Hypertext Preprocessor — «PHP: препроцессор гипертекста») — язык программирования, предназначенный для генерации HTML-страниц на веб-сервере и работы с базами данных. В текущее время поддерживается основным количеством хостинг-провайдеров. Входит в LAMP — «типовой» набор для создания сайтов (Linux, Apache, MySQL, PHP (Python либо Perl)). Группа создателей PHP состоит из огромного количества людей, добровольно работающих над ядром и расширениями PHP и смежными проектами, в том числе PEAR либо документация языка.

В сфере программирования для Сети PHP — один из популярнейших скриптовых языков (наряду с JSP, Perl и языками, применяемыми в ASP.NET) благодаря собственной простоте, скорости исполнения, богатой функциональности и распространению исходных кодов на базе лицензии PHP. PHP выделяется наличием ядра и подключаемых модулей, «расширений»: для работы с базами данных, сокетами, динамической графикой, криптографическими библиотеками, документами формата PDF и т. п.

Любой желающий имеет возможность создать своё личное расширение и подключить его. Есть сотни расширений, но в обычную поставку входит только несколько десятков отлично показавших себя. Интерпретатор PHP подключается к веб-серверу или через модуль, сделанный именно для данного сервера (к примеру, для Apache либо IIS), или в виде CGI-приложения.

Помимо этого, у него есть возможность использоваться для решения административных задач в операционных системах UNIX, GNU/Linux, Microsoft Windows, Mac OS X и AmigaOS. Но в этом качестве он не стал популярен, отдавая пальму первенства Perl, Python и VBScript. В текущее время PHP используется сотнями тысяч разработчиков. Около 20 млн. веб-сайтов сообщают о работе с PHP, что составляет более пятой доли доменов Интернета [13].

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

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

Языки программирования высокого уровня – это машинно-независимые языки, которые согласно ГОСТ 19781-90, используют понятия и структуры удобные для восприятия человеком [8].

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

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

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

Первым языком программирования высокого уровня считается компьютерный язык Plankalkül разработанный немецким инженером Конрадом Цузе ещё в период 1942—1946 гг. Однако транслятора для него не существовало до 2000 г. Первым в мире транслятором языка высокого уровня является ПП (Программирующая Программа), он же ПП-1, успешно испытанный в 1954 г. Транслятор ПП-2 (1955 г., 4-й в мире транслятор) уже был оптимизирующим и содержал собственный загрузчик и отладчик, библиотеку стандартных процедур, а транслятор ПП для ЭВМ Стрела-4 уже содержал и компоновщик (linker) из модулей. Однако, широкое применение высокоуровневых языков началось с возникновением Фортран а и созданием компилятор а для этого языка (1957).

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

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

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

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

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

логические (Prolog, Lisp и др.), которые ориентированы не на разработку алгоритма решения задачи, а на систематическое и формализованное описание задачи с тем, чтобы решение следовало из составленного описания;

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

ГЛАВА 2.ВОЗМОЖНОСТИ ОСНОВНЫХ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ

2.1.Языковые особенности.

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

Языковые специфики языка Delphi/Pascal таковы, что используют в виде ключевых слов просто читаемые и интерпретируемые символьные очередности. Это разрешает «проговаривать» тексты программ, и это поддерживается при использовании Delphi/Pascal [12].

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

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

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

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

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

Актуальной версией считается Delphi XE5, хотя она поддерживает работу в режиме «канонических» учебных образцов (консольное приложение с текстовым либо файловым вводом/выводом).

Delphi XE5 имеет интегрированный набор визуальных 3D-компонентов. Программирование на самом деле становится интерактивным. Это не «мучительный набор слова программы», а живое взаимодействие со средой исследования [4].

Delphi дает возможность программисту разрабатывать программы, которые могут выводить графику: схемы, чертежи, картинки.

Программа выводит графику на плоскость объекта (формы либо компонента Image). Плоскости объекта соответствует свойство canvas. Для того чтобы вывести на плоскость объекта графический элемент (прямую линию, окружность, прямоугольник и т. д.), нужно применить к свойству canvas данного объекта соответствующий способ. К примеру, инструкция Form1.Canvas.Rectangle (10,10,100,100) вычерчивает в окне программы прямоугольник.

К тому же, свойство canvas — это объект вида TCanvas. Способы данного вида гарантируют вывод графических примитивов (точек, линий, окружностей, прямоугольников и т. д.), а характеристики позволяют установить свойства выводимых графических примитивов: цвет, толщину и стиль линий; расцветка и вид заполнения областей; свойства шрифта при выводе текстовой информации [6].

Способы вывода графических примитивов рассматривают свойство Canvas как некий абстрактный холст, на котором они могут рисовать (canvas переводится как «плоскость», «холст для рисования»). Холст состоит из отдельных точек — пикселов.

Положение пиксела характеризуется его горизонтальной (X) и вертикальной (Y) координатами. Левый верхний пиксел имеет координаты (0, ). Координаты возрастают сверху вниз и слева направо (рисунок 1). Значения координат правой нижней точки холста находятся в зависимости от размера холста.

Рисунок 1 – Холст

Размер холста можно получить, обратившись к свойствам Height и width области картинки (image) либо к свойствам формы: ClientHeight и Clientwidth.

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

Карандашу и кисти, применяемым для вывода графики на холсте, отвечают характеристики Реn (карандаш) и Brush (кисть), которые представляют собой объекты вида Tреn и TBrush, соответственно. Значения параметров данных объектов характеризуют вид выводимых графических элементов [15].

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

Объект.Canvas.TextOut(x, у, Текст)

где:

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

Рисунок 2 - Координаты области вывода текста

Шрифт, который употребляется для вывода текста, определяется значением свойства Font соответствующего объекта canvas. Свойство Font представляет собой объект вида TFont.

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

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

Более просто вывести картинку, которая располагается в файле с расширением bmp, jpg либо ico, возможно с помощью компонента image, значок которого располагается на вкладке Additional палитры (рисунок 3).

Рисунок 4 - Вкладка Additional. Значок компонента Image

Иллюстрацию, которая станет выведена в поле компонента image, можно задать как в период разработки формы приложения, так и в период работы программы [16].

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

Рисунок 5 – Окно Picture Editor

Чтобы запустить Image Editor, необходимо в окне Object Inspector выбрать свойство Picture и щелкнуть на кнопке с тремя точками.В случае если размер картинки больше объема компонента, то свойству strech необходимо присвоить значение True и установить значения параметров width и Height пропорционально настоящим размерам иллюстрации. Чтобы вывести иллюстрацию в поле компонента image в период работы программы, необходимо применить способ LoadFromFile к свойству Picture, указав в качестве параметра название файла иллюстрации. Например, инструкция

Form1.Image1.Picture.LoadFromFile('e:\temp\bart.bmp')

загружает иллюстрацию из файла bart.bmp и выводит ее в поле вывода иллюстрации (imagel).

Способ LoadFromFile разрешает отображать иллюстрации разных графических форматов: BMP, WMF, JPEG (файлы с расширением jpg).

Следующая программа использует компонент image для просмотра иллюстраций, которые находятся в обозначенном пользователем каталоге. Диалоговое окно программы приведено на рисунке 6 [5].

Рисунок 6 - Слайд-проектор

2.2.Значение высокоуровневых языков.

Язык программирования высокого уровня — инструмент, относящийся к категории машинно-независимых. Что это означает? Дело в том, что языки программирования делятся на несколько категорий. Есть машинный код: набор алгоритмов, что предназначены для управления пользователем непосредственно аппаратными элементами компьютера. Их сущность будет полностью машинно-зависимой: для конкретных типов ПК подойдут только определенные алгоритмы.

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

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

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

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

2.3.Плюсы и минусы языков программирования высокого уровня.

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

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

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

Еще некоторые недостатки языков программирования высокого уровня:

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

ЗАКЛЮЧЕНИЕ

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

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

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

Язык программирования— инструмент, относящийся к категории машинно-независимых. Что это означает? Дело в том, что языки программирования делятся на несколько категорий. Есть машинный код: набор алгоритмов, что предназначены для управления пользователем непосредственно аппаратными элементами компьютера. Их сущность будет полностью машинно-зависимой: для конкретных типов ПК подойдут только определенные алгоритмы.

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

C++    (1983)

Python   (1990)

Visual Basic    (1991)

PHP    (1994)

Delphi     (1995)

Java     (1995)

JavaScript    (1995)

Ruby   (1995)

ActionScript   (1998)

Nemerle  (2006)

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

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

  1. Алгоритмизация и программирование: Учебное пособие / С.А. Канцедал. - М.: ИД ФОРУМ: НИЦ ИНФРА-М, 2014. - 352 с.
  2. Бабушкина, И. А. Практикум по объектно-ориентированному программированию / И. А. Бабушкина, С. М. Окулов. - 3-е изд. (эл.). - М. : БИНОМ. Лаборатория знаний, 2012. - 366 с.
  3. Базовые средства программирования/ В.Н. Шакин. - М.: Форум: НИЦ ИНФРА-М, 2015. - 304 с.
  4. Введение в специальность программиста: Учебник / В.А. Гвоздева. - 2-e изд., испр. и доп. - М.: ИД ФОРУМ: НИЦ Инфра-М, 2013. - 208 с.
  5. Голицына О.Л. Языки программирования: Учебное пособие / О.Л. Голицына, Т.Л. Партыка, И.И. Попов. - 3-e изд., перераб. и доп. - М.: Форум: ИНФРА-М, 2015. - 400 с
  6. Ездаков, А. Л. Функциональное и логическое программирование: учебное пособие / А.Л.Ездаков. - 2-е изд. - М. : БИНОМ. Лаборатория знаний, 2011. - 119 с.
  7. Информатика, автоматизированные информационные технологии и системы: Учебник / В.А. Гвоздева. - М.: ИД ФОРУМ: НИЦ ИНФРА-М, 2015. - 544 с.
  8. Каймин В.А.Информатика: Учебник/ Каймин В. А., 6-е изд. - М.: НИЦ ИНФРА-М, 2015. - 285 с
  9. Культин Н. Б. Основы программирования в Delphi XE. — СПб.: БХВ-Петербург, 2011. — 405 с.
  10. Культин, Н. Б. Основы программирования в Delphi 7 / Н.Б. Культин. — 2-е изд., перераб. и доп. — СПб.: БХВ-Петербург, 2011. — 640 с.
  11. Масленникова, О. Е. Основы искусственного интеллекта: учеб. пособие / О. Е. Масленникова, И. В. Гаврилова. - 2-е изд., стер. - М.: ФЛИНТА, 2013. - 282 c.
  12. Машнин Т. С. Современные Java-технологии на практике. — СПб.: БХВ-Петербург, 2010. — 560 с.
  13. Монахов В. В. Язык программирования Java и среда NetBeans. — 3-е изд., перераб. и доп. — СПб.: БХВ-Петербург, 2011. — 703 с.
  14. Окулов, С. М. Основы программирования / С. М. Окулов. - 5-е изд., испр. - М.: БИНОМ. Лаборатория знаний, 2011. - 440 с.
  15. Осипов Д. Л. Базы данных и Delphi. Теория и практика. — СПб.: БХВ-Петербург, 2011. — 746 с.
  16. Основы алгоритмизации и программирования: Учебное пособие / В.Д. Колдаев; Под ред. Л.Г. Гагариной. - М.: ИД ФОРУМ: ИНФРА-М, 2015. - 416 с.
  17. Программирование на языке Object Pascal: Учеб. пос. / Т.И.Немцова и др; Под ред. Л.Г.Гагариной. - М.: ИД ФОРУМ: НИЦ ИНФРА-М, 2013. - 496 с.
  18. Программирование на языке высокого уровня. Учебное пособие / Т.И. Немцова; Под ред. Л.Г. Гагариной. - М.: ФОРУМ: ИНФРА-М, 2015. - 496 с.
  19. Программирование на языке Си/А.В.Кузин, Е.В.Чумакова - М.: Форум, НИЦ ИНФРА-М, 2015. - 144 с.
  20. Технология разработки программного обеспечения: Учеб. пос. / Л.Г.Гагарина, Е.В.Кокорева, Б.Д.Виснадул; Под ред. проф. Л.Г.Гагариной - М.: ИД ФОРУМ: НИЦ Инфра-М, 2013. - 400 с.
  21. Языки программирования: Учебное пособие / О.Л. Голицына, Т.Л. Партыка, И.И. Попов. - 3-e изд., перераб. и доп. - М.: Форум: ИНФРА-М, 2015. - 400 с.