Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lecton.DOC
Скачиваний:
4
Добавлен:
15.04.2019
Размер:
980.99 Кб
Скачать

3.4. Инструментальные системы

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

По функциональному назначению инструментальные системы де­лятся:

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

· системы управления базами данных;

· инструментарий искусственного интеллекта;

· текстовые редакторы;

· интегрированные системы.

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

В настоящее время насчитываются тысячи различных язы­ков про­г­рам­­ми­ро­вания. Такое боль­шое количество языков объясняется их спе­ци­а­ли­­­заци­ей и зна­читель­ным разнообразием существующих типов ком­пью­те­­ров. Большинст­вом же разработчиков используется только малая часть из суще­ствующих язы­ков.

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

Языками низкого уровня яв­ляются:

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

· язык Ассемблера - символьная форма машинного языка. В языке Ас­семб­лера используются симво­личе­ские обозна­чения операций и объ­ектов в памяти. В сравнении с языками высокого уровня язык Ас­семблера по­зво­ляет разраба­тывать про­грам­мы с наимень­шими раз­мерами необ­хо­димой па­мяти и наименьшими за­тратами машинного времени. Язык Ас­семблера из-за его слож­но­сти применя­ется только сис­тем­ными про­граммиста­ми.

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

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

Большинство из языков высокого уровня яв­ляются алгоритмиче­ски­ми языками программирования, т.е. искусственными языками, пред­на­зна­чен­ны­ми для записи алгорит­мов. Программа на алгоритмическом языке со­сто­ит из последовательно­сти операторов, задающих некоторые дей­ст­вия. Из широко ис­поль­зуемых в настоящее время алгоритмических язы­ков вы­со­кого уровня упо­мянем такие языки как Fortran, Cobol, Snobol, Basic, C и C++, Pascal, Modula‑2, Ada, Smalltalk. Алгоритмиче­ские языки програм­ми­рова­ния могут быть как универсальными, пригод­ными для весьма широ­ких клас­сов за­дач, так и проблемно-ориентирован­ными, пригодными для описа­ния решения задач не­которого узкого клас­са. Например, язык Cobol предназна­чен только для реше­ния экономиче­ских задач. Большинство из универсаль­ных языков имеют все-таки ори­ентацию на решение какого-то своего класса задач. Напри­мер:

  • Fortran наиболее эффективен для ре­шения научно-техни­че­ских за­дач с боль­шим объемом вычисле­ний;

  • C++, Pascal - для разработки системного программного обеспечения;

  • Snobol для задач обработки текстов;

  • Modula‑2, Ada - для за­дач управления устройствами и про­цессами в ре­аль­ном ре­жиме вре­ме­­ни;

  • Smalltalk - для задач моделирования дискретных процессов.

Существуют и неалгоритмические языки программирования. Они по­зволяют давать описание метода решения задачи без точного указания по­следо­вательности действий, которые при этом должны выполняться. На­при­мер, язык функционального про­граммирования Lisp, язык логиче­ского про­граммирования Prolog, язык запросов к базам данных SQL. В таких языках программы не яв­ляются ал­горитмами. Такие программы за­дают не­которые соотношения между объ­ектами, используя которые ин­струмен­тальное про­граммное обеспечение компьютера самостоятельно опреде­ляет необхо­ди­мый алгоритм ре­шения задачи и выполняет его.

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

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

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

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

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

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

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

Система программирования по­мимо языка программирова­ния, ком­пи­ля­тора или интерпрета­тора содержит в себе другие средства, нужные для раз­ра­ботки и выпол­нения программ. К ним относятся:

· программа редактирования текстов, служащая для набора и моди­фи­ка­ции текстов программ и исходных данных;

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

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]