Реферат: Языки программирования

 

Курсовая работа

на тему: “Языкипрограммирования”


Содержание

Введение

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

1.1История развития языков программирования

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

2.1 Сиего разновидности

2.2Паскаль

2.3Фортран

2.4Бейсик

Выводы и предложения

Список использованной литературы


Введение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Применяемые технические средства: ПЭВМ: Core2 Duo E66002.4 ГГц 2 x 4 Мб L2; 2 x 1024 Мб DDR3-1333МГц; NVIDIA GeForce8600 GT 512 Мб; HDD Hitachi Deskstar 7K1000 1 Тб; Принтер: CanonLBP3010.

Программные средства ОС Windows XP Professional SP3.Данная курсовая работа выполнена в программе Microsoft Word 2003, а также были использованыдругие программы: Microsoft PowerPoint, Nero StartSmart.


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

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

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

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

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

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

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

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

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

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

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

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

· машинные;

· машинно-оpиентиpованные(ассемблеры);

· машинно-независимые (языкивысокого уровня).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

· алфавит,

· синтаксис,

· семантика.

/>Алфавит — этофиксированный для данного языка набор основных символов, т.е. «буквалфавита», из которых должен состоять любой текст на этом языке — никакиедругие символы в тексте не допускаются.

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

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

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

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

· логические;

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

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

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

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

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

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

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

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

· объект;

· свойство объекта;

· метод обработки;

· событие;

· класс объектов.

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

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

Метод — это набор действий надобъектом или его свойствами.

Событие — это характеристикаизменения состояния объекта.

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

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

· инкапсуляция;

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

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

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

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

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

1.1 История развития языков программирования

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

1. Машинныйязык (40-50 годы XX в.).

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

2. Ассемблер(начало 50-ых годов XX в.).

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

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

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

Примеры таких языков: FORTRAN (FORmula TRANslator; 1954) предназначен длянаучных и технических расчетов; COBOL (1959) был предназначен восновном для коммерческих приложений (обрабатывал большие объемы нечисловыхданных) – Common Business-Oriented Language); язык BASIC (Beginner’s All Purpose Instuction Code – универсальный язык символьных инструкций дляначинающих) (1964 г.)

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

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

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

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

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

язык ObjectPascal (1989) был создан на основе языка Pascal.После создания среды программирования – Delphi (1995);

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

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

В 90-ые годы XX в.в связи с бурным развитием Интернета были созданы языки, обеспечивающиемежплатформенную совместимость. На подключенных к Интернету компьютерах сразличными ОС (Windows, Linux, Mac OS и др.) могли выполняться одни ите же программы. Исходная программа компилируется в промежуточный код, которыйисполняется на компьютере встроенной в браузер виртуальной машиной:

язык Java — объектно-ориентированный язык был разработан фирмой Sun Microsystems для создания сетевого программного обеспечения(1995);

язык JavaScript –язык сценариев Web-страниц (компания Netscape).(1995)

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

Интегрированная средапрограммирования Visual Studio .Net,разработанная корпорацией Microsoft, позволяет создавать приложения на различных языкахобъектно-ориентированного программирования, в том числе:

на языке Visual Basic .Net ( на основе Visual Basic) — 2003 г.;

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

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

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

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

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


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

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

Правила записи команд на конкретномязыке называются синтаксисом языка. Синтаксис определяет, какая команда будетсчитаться правильной, а какая нет. Например, в языке Basic команды CLS иFOR I=1 TO 10 считаются правильными, а команды CLERSCREEN и FOR I FROM1 TO 10 — неправильными.

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

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

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

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

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

· компиляторы

· интерпретаторы

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

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

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

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

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

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

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

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

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

Каждый оператор языкапредставляет собой мнемоническое (условное) обозначение машинной команды.Естественно, что каждый тип процессора имеет свой набор команд, а значит, свойассемблер. Ассемблеры используются для создания драйверов, программированияразличных устройств, а также для написания фрагментов программ, где очень важновремя выполнения (так как на ассемблере можно написать максимально эффективнуюпрограмму [8].

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

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

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

2.1    Сиего разновидности

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

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

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


2.2    Паскаль

Паскаль [PASCAL — акроним с французского — Program Applique a la Selection et la Compilation Automatique de la Litterature] — Процедурно-ориентированный язык программирования высокого уровня, разработанныйв конце 1960-х гг. Никлаусом Виртом, первоначально для обученияпрограммированию в университетах. Назван в честь французского математика XVIIвека Блеза Паскаля.

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

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

2.3    Фортран

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

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

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

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

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

2.4    Бейсик

Бейсик [BASIC — Beginner’s All-purpose Symbolic Instruction Code]- Язык программирования высокого уровня, разработанный в 1963 — 1964 гг. вДартмутском колледже Томасом Куртом и Джоном Кемени.

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

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

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

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

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

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

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

текстовый редактор – для наборатекста программы

компилятор (или интерпретатор) — дляперевода программы в машинный код

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

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

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

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

Выводы и предложения

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

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

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

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


Список использованной литературы

1. C++,TurboPasckal,QBasik: Эволюцияязыков программирования langprog.far.ru/historylangprog.html. -27.05.10.

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

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

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

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

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

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

еще рефераты
Еще работы по информатике, программированию