Файл: Классификация языков программирования высокого уровня (История развития языков программирования).pdf
Добавлен: 01.04.2023
Просмотров: 79
Скачиваний: 1
ВВЕДЕНИЕ
На современном этапе развития компьютерных технологий невозможно представить какого–либо высококвалифицированного специалиста, не владеющего информационными технологиями. Поскольку деятельность любого субъекта в значительной степени зависит от степени владения информации, а также способности эффективно ее использовать. Для свободной ориентации в информационных потоках современный специалист любого профиля должен уметь получать, обрабатывать и использовать информацию, прежде всего, с помощью компьютеров, а также телекоммуникаций и других новейших средств связи, в том числе и уметь, обращаться с языками программирования.
Актуальность данной темы обусловлена тем, что прогресс компьютерных технологий определил процесс появления новых разнообразных знаковых систем для записи алгоритмов – языков программирования.
Объектом исследования послужили языки программирования и история развития языков программирования.
Целью курсовой работы является изучение классификации языков программирования и их развития.
Цели исследования:
- Просмотреть общее сведения и уровни языков программирования.
- Просмотреть историю развития языков программирования.
- Сделать обзор современных языков программирования.
Задачи исследования:
- Ознакомления с языками программирования.
- Рассмотрение истории развития языков программирования.
- Обзор современных языков программирования.
В первой главе рассматриваются общие сведения о языках программирования и история развития их.
Во второй главе рассматривается обзор современных языков программирования.
В данной курсовой работе использовался научно-исследовательские методы.
Применяемые технические средства: ПЭВМ: Core 2 Duo E6600 2.4 ГГц 2 x 4 Мб L2; 2 x 1024 Мб DDR3-1333МГц; NVIDIA GeForce 8600 GT 512 Мб; HDD Hitachi Deskstar 7K1000 1 Тб; Принтер: Canon LBP3010.
Программные средства ОС Windows XP Professional SP3. Данная курсовая работа выполнена в программе Microsoft Word 2013, а также были использованы другие программы: Microsoft PowerPoint.
1 Языки программирования
1.1 История развития языков программирования
Программа – алгоритм, записанный на языке программирования. Программа – последовательность операторов языка. Языки программирования – искусственные языки, строго формализованные; существует правила записи операторов языка – синтаксис языка.
- Машинный язык (40-50 годы XX в.).
Программы на машинном языке – очень длинные последовательности единиц и нулей, являлись машинно зависимыми, т.е. для каждой ЭВМ необходимо было составлять свою программу.
- Ассемблер (начало 50-ых годов XX в.).
Вместо 1 и 0 программисты теперь могли пользоваться операторами (MOV, ADD, SUB и т.д.), которые похожи на английские слова. Программы на ассемблере также являются машинно-зависимыми. Для преобразования в машинный код использовался компилятор (спец. программа – переводчик в машинный код).
- Первые языки программирования высокого уровня.
С середины 50-ых гг. XX в. начали создавать первые языки программирования высокого уровня (high-level language). Эти языки были Машино независимыми (не привязаны к опред. типу ЭВМ). Но для каждого языка были разработаны собственные компиляторы.
Примеры таких языков: FORTRAN (FORmula TRANslator; 1954) предназначен для научных и технических расчетов; COBOL (1959) был предназначен в основном для коммерческих приложений (обрабатывал большие объемы нечисловых данных) – Common Business-Oriented Language); язык BASIC (Beginner’s All Purpose Instuction Code – универсальный язык символьных инструкций для начинающих) (1964 г.)
- Алгоритмические языки программирования.
С начала 80-ых г. XX в. начали создаваться языки программирования, которые позволили перейти к структурному программированию (использование операторов ветвления, выбора, цикла и практически отказ от частого использования операторов перехода (goto). К этим языкам относятся: язык Pascal (назван его создателем Никлаусом Виртом в честь великого физика Блеза Паскаля; 1970); язык Си, позволяющий быстро и эффективно создавать программный код (1971)
- Языки объектно-ориентированного программирования
(90-ые г. XX в.). В основу этих языков положены программные объекты, которые объединяют данные и методы их обработки. В этих языках сохранялся алгоритмический стиль программирования. Для них были разработаны интегрированные среды программирования, позволяющие визуально конструировать графический интерфейс приложений:
язык С++ (1983) - продолжение алгоритм. языка Си;
язык Object Pascal (1989) был создан на основе языка Pascal. После создания среды программирования – Delphi (1995);
язык Visual Basic(1991) был создан корпорацией Microsoft на основе языка Qbasic (1975) для разработки приложений с графическим интерфейсом в среде ОС Windows.
- Языки программирования для компьютерных сетей.
В 90-ые годы XX в. в связи с бурным развитием Интернета были созданы языки, обеспечивающие межплатформенную совместимость. На подключенных к Интернету компьютерах с различными ОС (Windows, Linux, Mac OS и др.) могли выполняться одни и те же программы. Исходная программа компилируется в промежуточный код, который исполняется на компьютере встроенной в браузер виртуальной машиной:
язык Java - объектно-ориентированный язык был разработан фирмой Sun Microsystems для создания сетевого программного обеспечения (1995);
язык JavaScript – язык сценариев Web-страниц (компания Netscape). (1995)
- Языки программирования на платформе .NET.
Интегрированная среда программирования Visual Studio .Net, разработанная корпорацией Microsoft, позволяет создавать приложения на различных языках объектно-ориентированного программирования, в том числе:
на языке Visual Basic .Net ( на основе Visual Basic) - 2013 г.;
на языке Visual C# (С-шарп) – на основе языков С++ и J – 2013 г.;
на языке Visual J# (J-шарп) – на основе Java и JavaScript – 2013 г.
Интерпретаторы и компиляторы
Для того, чтобы процессор мог выполнить программу, программа и данные должны быть загружены в оперативную память. Необходимо, чтобы в ОП был размещена программа - транслятор, автоматически переводящий с языка программирования в машинные коды. Трансляторы бывают двух типов: интерпретаторы и компиляторы. Интерпретатор – программа, которая обеспечивает последовательный перевод операторов программы с одновременным их выполнением. Достоинством интерпретатора является удобство отладки (поиск ошибок), недостаток – сравнительно малая скорость выполнения. Компилятор переводит весь текст программы на машинный язык и сохраняет его в исполнимом файле (обычно с расширением .exe). Компилятор-это транслятор текста на машинный язык, который считывает исходный текст. Он оценивает его в соответствии с синтаксической конструкцией языка и переводит на машинный язык. Другими словами, компилятор не исполняет программы, он их строит. Интерпретаторы невозможно отделить от программ, которые ими прогоняются, компиляторы делают свое дело и уходят со сцены. При работе с компилирующим языком, таким как Турбо-Бейсик, вы придете к необходимости мыслить о ваших программах в признаках двух главных фаз их жизни: периода компилирования и периода прогона. Большинство программ будут прогоняться в четыре - десять раз быстрее их интерпретаторных эквивалентов. Если вы поработаете над улучшением, то сможете достичь 100-кратного повышения быстродействия. Оборотная сторона монеты состоит в том, что программы, расходующие большую часть времени на возню с файлами на дисках или ожидание ввода, не смогут продемонстрировать какое-то впечатляющее увеличение скорости.
Одно, часто упоминаемое преимущество интерпретаторной реализации состоит в том, что она допускает "непосредственный режим". Непосредственный режим позволяет вам задавать компьютеру задачу вроде PRINT 3.14159*3/2.1 и возвращает вам ответ, как только вы нажмете клавишу ENTER (это позволяет использовать компьютер стоимостью 3000 долларов в качестве калькулятора стоимостью 10 долларов). Кроме того, интерпретаторы имеют специальные атрибуты, которые упрощают отладку. Можно, например, прервать обработку интерпретаторной программы, отобразить содержимое определенных переменных, бегло просмотреть программу, а затем продолжить исполнение.
Больше всего программистам нравится в интерпретаторах возможность получения быстрого ответа. Здесь нет необходимости в компилировании, так как интерпретатор всегда готов для вмешательства в вашу программу. Введите RUN и результат вашего самого последнего изменения оказывается на экране.
Однако интерпретаторные языки имеют недостатки. Необходимо, например, иметь копию интерпретатора в памяти все время, тогда как многие возможности интерпретатора, а следовательно и его возможности могут не быть необходимыми для исполнения конкретной программы.
Слабо различимым недостатком интерпретаторов является то, что они имеют тенденцию отбивать охоту к хорошему стилю программирования. Поскольку комментарии и другие формализуемые детали занимают значительное место программной памяти, люди стремятся ими не пользоваться. Дьявол менее яростен, чем программист, работающий на интерпретаторном Бейсике, пытающийся получить программу в 120К в памяти емкостью 60К. но хуже всего то, что интерпретаторы тихоходны. Ими затрачивается слишком много времени на разгадывание того, что делать, вместо того чтобы заниматься действительно делом.
При исполнении программных операторов, интерпретатор должен сначала сканировать каждый оператор с целью прочтения его содержимого (что этот человек просит меня сделать?), а затем выполнить запрошенную операцию. Операторы в циклах сканируются излишне много.
Рассмотрим программу: на интерпретаторном Бэйсике 10 FOR N=1 TO 1000 20 PRINT N,SQR(N) 30
NEXT N при первом переходе по этой программе Бейсик-Интерпретатор должен разгадать что означает строка 20:
1.преобразовать числовую переменную N в строку
2.послать строку на экран
3.переместить в следующую зону печати
4. корень из N
5. в строку
6. на экран
При цикла все это снова, так как все результаты строки тому . И так во следующих 998 . очевидно, что вам каким-то фазу от исполнения вы бы быструю . И это как раз то, для существуют .
объектно-ориентированного программу-транслятор и в режиме как , так и . На этапе и проекта интерпретатора, а для программы – тора[1].
1.2 Обзор и анализ особенностей применения языков программирования
- это система , для точного или алгоритмов для ЭВМ. являются . От естественных они ограниченным “ ” и очень записи ( ). Поэтому при их по они не допускают выражений, для языка.
ряд требований к и классифицировать по их .
Основные , к языкам :
- использование в по уже существующих , известных и как , так и пользователям ЭВМ;
- одних и тех же для одних и тех же или в разных . Количество должно по минимальным;
- относительно , описания математических с имеющегося в набора ;
модульность - сложных в совокупности , которые составлены и в различных ;
однозначность - любого . ее могло бы к ответам при .
В настоящее в существует реально программирования. Для своя .
Любой , последовательность , которые за число от исходных к . В зависимости от предписаний уровень - чем меньше , тем уровень .
По критерию следующие программирования:
- ;
- -оpиентиpованные( );
- (языки ).
Машинные и языки — это уровня, мелких обработки . же высокого естественные , некоторые языка и символы. Эти удобны для .
типы разные . Если ориентирован на тип и учитывает его , то он языком уровня. В “низкий ” не “плохой”. в , что операторы к машинному и на конкретные .
При программировании на программист под своим команду и памяти, все имеющихся . Но процесс на машинном трудоемкий и . получается , , ее трудно , и развивать.
в , когда эффективную , в степени конкретного , машинных близкие к ним (ассемблеры).
— это машинно-зависимый уровня, в мнемонические отдельным . Используется для в форме , в машинном .[2]
ассемблера пользоваться (то есть человеком) , по усмотрению имена и памяти, а удобные для адресации. , он позволяет системы ( , десятичную или ) для числовых , в программе и др.
С языков создаются и компактные , так как получает ко возможностям . С стороны, при очень устройство , отладка , а окончательная не быть на с другим . Подобные применяют для системных , устройств, с нестандартным , важнейшими компактность, и прямого к ресурсам. В , например в , на языке библиотеки, алгоритмы , требующие .
Таким , , написанные на , требуют объема и выполнения. языка и кода ему архитектуры . на то, что большинство в программного программы на уровня, и эффективное полностью или на языке .
высокого - разработаны для , освободить от технических компьютеров, их . языка его близости к , языку. не похож на , он беден в средствах. программ на уровня и привычны для . , алгоритм по формуле не на операции, а в виде с использованием символики. или понять на таком проще.
языков является их , от ЭВМ. Программа, на языке, на разных . программы не систему ЭВМ, на он предполагает . При переходе на ЭВМ не требует . языки – не общения с , но и людей . Программа, на высокого , может любым , знает и задачи.