Файл: Классификация языков программирования. Критерии выбора среды и языка разработки программ (История развития и появления языков программирования).pdf
Добавлен: 28.03.2023
Просмотров: 347
Скачиваний: 3
Введение
Язык - это важнейшее средство общения. Без языка наше общение невозможно, а общение не может существовать без общества, а общество без человека. Без языка не может быть мышления. В мире существует множество языков. Даже можно сказать, что каждый из нас говорит на своем собственном языке. В то же время, перед людьми, говорящими на разных языках вступает в силу задача изучения других языков.
Однако людям мало существующих языков. Изучение окружающего мира, предметов действительности, истории других народов - все это заставляет людей создавать “искусственные языки”. Одним из примеров современных “искусственных” языков являются языки программирования.
Один из подходов, помогающий провести обзор языков программирования - исторический подход.
в пятидесятые годы двадцатого века с появлением компьютеров на электронных лампах началось бурное развитие языков программирования. С появлением персональных компьютеров языки стали составными частями интегрированных сред разработки. Появились языки, применяемые в различных офисных программах. В настоящее время языки программирования применяются в самых различных областях человеческой деятельности.
Действительно, сначала было программирование в машинных кодах, а затем появилось мнемоническое представление машинного языка, ASSEMBLER и наконец MACROASSEMBLER.
На современном этапе развития компьютерных технологий невозможно представить какого–либо высококвалифицированного специалиста, не владеющего информационными технологиями. Поскольку деятельность любого субъекта в значительной степени зависит от степени владения информации, а также способности эффективно ее использовать. Для свободной ориентации в информационных потоках современный специалист любого профиля должен уметь получать, обрабатывать и использовать
информацию, прежде всего, с помощью компьютеров, а также телекоммуникаций и других новейших средств связи, в том числе и уметь, обращаться с языками программирования.
Актуальность данной темы обусловлена тем, что значимость изучения языков программирования в практической и теоретической деятельности человека связана с тем, что прогресс компьютерных технологий опережает процесс появления новых знаковых систем для записи алгоритмов – языков программирования и развитие современных информационных технологий не стоит на месте, а значит, с появлением новых программ требуется усовершенствование ранее созданных языков программирования и создание новых языков, а соответственно классификации и критериев выбора среды и языков программирования
Объектом исследования послужили языки программирования.
Целью курсовой работы является изучить теоретический материал по современным языкам программирования, классификации языков программирования и их развития.
1. История развития и появления языков программирования
Историю компьютерных наук в известной степени можно представить, как историю языков программирования, начало развития которых приходится на 19 век, когда английский ученый Чарльз Бэббидж разработал механическую вычислительную машину. А программу для нее написала леди Ада Лавлейс. Языки программирования в современном понимании фактически начали развиваться с появлением электронных вычислительных машин
История программ начинается с далеких 20-х годов 19 века, когда английский исследователь Ч.Бэббидж выдвинул идею о предварительной записи действий вычислительной машины.
До появления вычислительных машин делались попытки управлять ткацкими станками. Программы для станков записывались на перфокарты, которые были придуманы Чарльзом Бэббиджем и французским изобретателем Жозефом Жаккаром. С этих первых программ началась история программирования, несколько позднее стали закладываться теоретические основы этой науки.
В 20 веке появились электронные вычислительные машины. Первые программы, которые составлялись для них, записывались в машинных кодах. Программист, чтобы написать правильную программу, должен был в деталях представлять себе работу ЭВМ. Это сильно затрудняло общение человека с компьютером, поэтому программисты стали серьезно задумываться над кодированием программ. Они пришли к выводу, что программа должна составляться на языке, более доступном человеку, чем язык машинных команд. Возникла необходимость в создании языков программирования.
Прогресс компьютерных технологий определил процесс появления новых разнообразных знаковых систем для записи алгоритмов — языков программирования. Язык программирования — язык (знаковая система), предназначенный для записи компьютерных программ; определяет набор лексических, синтаксических и семантических правил, определяющих внешний вид программы и действия, которые выполнит исполнитель (обычно — ЭВМ) под ее управлением.
Языки программирования являются искусственными языками. От естественных языков они отличаются ограниченным числом “слов” и очень строгими правилами записи команд (операторов). Поэтому при применении их по назначению они не допускают свободного толкования выражений, характерного для естественного языка.
Со времени создания первых программируемых машин человечество придумало более 8 тыс. языков программирования (включая нестандартные, визуальные и эзотерические языки). Каждый год их число увеличивается. Некоторыми языками умеет пользоваться только небольшое число их собственных разработчиков, другие становятся известны миллионам людей. Профессиональные программисты могут владеть десятком и более разных языков программирования.
Язык программирования предназначен для написания компьютерных программ, которые представляют собой набор правил, позволяющих компьютеру выполнить тот или иной вычислительный процесс, организовать управление различными объектами, и т.п. Язык программирования отличается от естественных языков тем, что предназначен для взаимодействия человека с ЭВМ, в то время как естественные языки используются для общения людей между собой.
Первые языки программирования были достаточно примитивны и мало чем отличались от упорядоченной последовательности нулей и единиц. Использование таких языков было достаточно неудобно программисту, потому что в этом случае он должен был знать все числовые коды последовательностей и ячейки памяти компьютера, в которых они хранятся. И вот для облегчения труда человека появляются машинно-ориентированные языки.
В 40-50 годах XX века появляются машинные языки программирования. Программы, записанные на таком языке, были очень длинные и содержали огромное количество нулей и единиц. Эти языки программирования являлись машинно–зависимыми, то есть для каждой электронно-вычислительной машины нужно было составлять собственную программу.
Сразу же после появления программируемых устройств снижение сложности программирования стала одной из главных забот всех разработчиков.
В начале 50 годов XX века возникает язык ASSEMBLER. Он позволял программисту пользоваться текстовыми мнемоническими кодами, например, add. Язык ASSEMBLER мог использовать различные системы счисления, например, десятичную, для представления числовых констант. Программы на языке ASSEMBLER по-прежнему остались машинно-зависимыми. Для преобразования в машинный код необходимо было пользоваться специальной программой, которая называлась компилятор (от англ. Compile). Знание программистом языка ассемблера дает ему понимание архитектуры компьютера. Вместо 1 и 0 программисты теперь могли пользоваться операторами (MOV, ADD, SUB и т.д.), которые похожи на английские слова. Программы на ассемблере также являются машинно-зависимыми. Для преобразования в машинный код использовался компилятор (спец. программа – переводчик в машинный код).
При компиляции процессы трансляции и выполнения разделены во времени: сначала исходная программа полностью переводится на машинный язык (после чего наличие транслятора в оперативной памяти становится ненужным), а затем оттранслированная программа может многократно исполняться. Следовательно, для одной и той же программы трансляция методом компиляции обеспечивает более высокую производительность вычислительной системы при сокращении требуемой оперативной памяти.
Компиляция программы включает два действия: анализ, т. е. определение правильности записи исходной программы в соответствии с правилами построения языковых конструкций входного языка, и синтез – генерирование эквивалентной программы в машинных кодах.
С середины 50 годов XX века начали создаваться первые языки программирования высокого уровня (high-levellanguage). Они стали машинно–независимыми (то есть они не привязывались к определенному типу ЭВМ). Но для каждого искусственного языка создавался свой компилятор. Языки программирования высокого уровня были разработаны для того, чтобы освободить программиста от знания технических особенностей компьютерной системы и архитектуры. Преимуществом языка программирования этого вида является универсальность и независимость от электронно-вычислительной машины. Примерами языков программирования высокого уровня являются – FORTRAN (FORmulaTRANslator; 1954) предназначен для научных и технических расчетов, COBOL (1959) был предназначен в основном для коммерческих приложений (обрабатывал большие объемы нечисловых данных) – CommonBusiness-OrientedLanguage), BASIC (Beginner’sAllPurposeInstuctionCode – универсальный язык символьных инструкций для начинающих) (1964 г.), LISP, ALGOL, РЕФАЛ, LOGO (1960).
Языки высокого уровня делятся на:
· процедурные;
· логические;
· объектно-ориентированные.
Процедурные языки предназначены для однозначного описания алгоритмов. При решении задачи процедурные языки требуют в той или иной форме явно записать процедуру ее решения.
Первым шагом в развитии процедурных языков программирования было появление проблемно-ориентированных языков. В этом названии нашел отражение тот факт, что при их разработке идут не от «машины», а «от задачи»: в языке стремятся максимально полно учесть специфику класса задач, для решения которых его предполагается использовать. Например, для многих научно-технических задач характерны большие расчеты по сложным формулам, поэтому в ориентированных на такие задачи языках вводят удобные средства их записи. Использование понятий, терминов, символов, привычных для специалистов соответствующей области знаний, облегчает им изучение языка, упрощает процесс составления и отладки программы.
В то же время в середине 60-х годов начали разрабатывать алгоритмические языки широкой ориентации – универсальные языки, которые позволили перейти к структурному программированию (использование операторов ветвления, выбора, цикла и практически отказ от частого использования операторов перехода (GOTO) Обычно они строились по принципу объединения возможностей узко-ориентированных языков. Среди них наиболее известны PL/1, PASCAL (назван его создателем Никлаусом Виртом в честь великого физика Блеза Паскаля; 1970), C - позволяющий быстро и эффективно создавать программный код (1971), C++ (1983) - продолжение алгоритма языка С; MODULA, ADA. Однако, как любое универсальное средство, такие широко-ориентированные языки во многих конкретных случаях оказываются менее эффективными.
Логические языки- (PROLOG, LISP, MERCURY, KLO и др.) ориентированы не на запись алгоритма решения задачи, а на систематическое и формализованное описание задачи с тем, чтобы решение следовало из составленного описания. В этих языках указывается что дано и что требуется получить. При этом поиск решения задачи возлагается непосредственно на ЭВМ.
Объектно-ориентированные языки (OBJECT PASCAL (1989) был создан на основе языка PASCAL, C++, JAVA (1995) строго типизированный объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems (в последующем приобретённой компанией Oracle), OBJECTIVE (1983) компилируемый объектно-ориентированный язык программирования, используемый корпорацией Apple, построенный на основе языка Си и парадигм Smalltalk, CAML (1985) это объектно-ориентированный язык программирования, разработанный для создания более безопасных и защищенных программ. и др.). Руководящая идея объектно-ориентированных языков заключается в стремлении связать данные с обрабатывающими эти данные процедурами в единое целое - объект.
Популярность объектно-ориентированному программированию принес язык SMALLTALK, созданный в 1972 году и предназначался для проектирования сложных графических интерфейсов, был первым по-настоящему объектно-ориентированным языком. В нем классы и объекты — это единственные конструкции программирования. Большим недостатком SMALLTALK являются большие требования к памяти и низкая производительность полученных программ. Это связано с очень неудачной реализацией объектно-ориентированных особенностей. Популярность языков C++ и Ada 95 связана именно с тем, что объектно- ориентированность реализована без существенного снижения производительности.
Объектно-ориентированный подход использует следующие базовые понятия: