Сергей Бобровский История этого языка начинается отнюдь не с 1975 года, когда Министерство Обороны (МО) США приняло решение о начале разработки единого языка программирования для американских вооруженных сил, а в дальнейшем и для всего НАТО. История его начинается с названия, ибо Ада — имя Августы Ады Лавлейс, считающейся первой программисткой, дочери английского поэта Байрона и некоей Анабеллы Милбэнк, с которой супруг расстался навсегда через месяц после рождения дочери, появившейся на свет 10 декабря 1815 года.
Вообще, история кибернетики окутана мрачной тайной, и лишь по отрывочным фактам можно судить, что родоначальниками этой науки в последние двести лет являлись различные мистики и оккультисты, начиная от Августа де Моргана, одного из учителей Ады, и кончая сподвижниками Норберта Винера, изучавшими способы формирования общественного мнения и манипулирования им. После того как Чарльз Бэббидж сконструировал свою механическую вычислительную машину, Ада написала для нее первую программу для вычисления коэффициентов Бернулли.
Ада, качество и стиль. Руководство для профессиональных программистов.
В дальнейшем она разработала настоящую теорию программирования, ввела понятие цикла и еще нескольких ключевых терминов, которые почти дословно изучают сегодня студенты кибернетических факультетов! Сегодня Ада известна всем как первая программистка — и только, но удивляет, откуда у молодой девушки такие уникальные способности?
На этот вопрос откровенно ответила она сама: «Клянусь Дьяволом, что не пройдет и 10 лет, как я высосу некоторое количество жизненной крови из загадок Вселенной, причем так, как этого не смогли бы сделать обычные смертные умы и губы. Никто не знает, какие ужасающие энергия и сила лежат еще неиспользованными в моем маленьком гибком существе. «. Однако спонсоров на проект вычислительной машины не нашлось — ядерных ракет тогда еще не было, и Ада, проиграв на скачках все свое состояние и попав в грязную историю, скончалась в возрасте 37 лет, как и ее знаменитый отец.
Поэтому стоило ли американцам так превозносить Аду, используя ее имя в качестве названия для столь амбициозного проекта, вопрос весьма спорный. Но вернемся к истории самого языка.
Через пять лет после начала проекта сотни экспертов отобрали из 17 вариантов единственный, удовлетворяющий требованиям МО, язык, разработанный небольшой группой под руководством талантливого ученого Жана Ишбиа. Конечная версия международного стандарта ISO 8652:1987 была опубликована в 1987 году.
По официальным сообщениям, в создании и доработке этого языка участвовали все лучшие специалисты мира в области программирования, что, однако, вызывает сомнение. Это, например, подтверждается отсутствием понятия объекта в первоначальном варианте Ады и неучастием, по очевидным причинам, в этом проекте советских программистов.
В развитие инфраструктуры Ады во всем мире были вложены десятки миллиардов долларов. Это привело к появлению амбициозных заявлений типа «20-й век пройдет под знаком Ады», однако, как обычно, жизнь все расставила по своим местам.
ПОЧЕМУ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ ТАК МНОГО?
К сожалению для МО США (и соответственно к счастью для «потенциальных противников» Америки), выработка четкого стандарта на этот язык и создание эффективных компиляторов были завершены как раз в то время (начало 80-х), когда уже стал вырисовываться на горизонте программной индустрии новый язык Си++ с объектной идеологией. Теперь трудно сказать, что испытывал комитет разработчиков Ады, видя, как растет популярность Си++ и старой, хорошо забытой, объектной парадигмы мышления.
Но выделенные средства уже были потрачены, стандарт создан, и обратной дороги не было. Структура Ады очень похожа на Паскаль, а еще точнее, на Модулу. Синтаксис большинства операторов и описаний практически идентичен синтаксису Модулы, хотя она появилась практически в одно время с Адой, и трудно сказать, кто на кого оказал влияние и оказал ли влияние вообще.
В Аду, в частности, было добавлено довольно много различных расширений, так что компактным, в сравнении с тем же Паскалем, этот язык назвать никак нельзя. По количеству возможностей он скорее напомнит PL/1.
Но так как основной упор создатели Ады делали на соответствие пожеланиям американских «первых отделов», то средства закрытости (видимости) данных и возможность создания отдельных блоков с использованием только спецификаций (интерфейсных описаний модулей) других разработчиков были для своего времени самыми совершенными. Например, программист, реально писавший код для вычисления траектории полета крылатой ракеты, даже не представлял, где и для каких целей его модуль будет использоваться, хотя имел доступ к требуемым спецификациям других сотрудников и мог без проблем отлаживать свой участок кода.
Из-за строгого разграничения доступа к различным уровням спецификаций подчас даже бывает невозможно определить, для чего и какими средствами будет вызываться данная процедура. Однако такое стремление к независимой разработке программ привело к весьма сложной системе взаимосвязей между спецификациями модулей и появлению некоторых «дыр», способных вызвать побочные эффекты, наличие которых, впрочем, МО США сочло даже полезным.
Значительно были усилены элементы типизации данных, а также более формализованы сами типы. Все функции, связанные с вводомвыводом, были исключены из стандартного синтаксиса, а обработка исключительных ситуаций стала неотъемлемой частью языка.
Кроме того, была доведена до предела мощность управляющих конструкций, что делало Аду наиболее передовым среди других паскалеподобных языков. Фирма Borland вскоре выпустила свой Turbo Pascal, в который было встроено понятие модуля, и приблизила по возможностям свою версию Паскаля к Аде, но в дальнейшем попыток создания необъектных языков программирования 3-го поколения, предназначенных для разработки сверхбольших проектов, к счастью, не предпринималось.
Поэтому Ада поставила жирную точку в длинной веренице простых процедурных языков, начиная с Фортрана и Алгола. Фактически все, что только можно было придумать в рамках идеологии структурного программирования, было воплощено в Аде. Затем стремительно расцвело объектное программирование, и Ада отошла на второй план.
Однако этот язык по-прежнему занимает одну нишу, в которой равных ему пока нет. Помимо раздельной компиляции модулей и обеспечения иерархической секретности спецификаций, в этом языке было реализовано такое свойство, как поддержка параллельного программирования.
Предпринятое на более-менее высоком уровне в Алголе-68, затем развитое в Модуле-2, оно воплотилось в очень мощных средствах Ады, так называемых задачах, способных выполняться независимо друг от друга на параллельных компьютерах. Это привело к рождению целой идеологии программирования, базирующейся на задачах, которые могли выполняться «псевдопараллельно» — на компьютере с одним процессором.
При этом сама решаемая задача разбивалась на набор одновременно работающих процедур, независимо взаимодействующих друг с другом. Это немного напоминало способ решения задачи на Прологе: просто описывается некий виртуальный мир, а затем он как бы «запускается» на функционирование, и решение находится само собой.
Тем более удивительно, что МО США по тем или иным причинам отказалось от объектной идеологии, прекрасно воплощенной еще в 60-х годах в Симуле-67, и наверняка не раз пожалело об этом. Правда, в язык Ада была введена некая жалкая замена ряда возможностей, предоставляемых объектно-ориентированным программированием — так называемые шаблоны, т. е. процедуры с параметрами неопределенных типов.
Но все-таки главными преимуществами Ады, позволяющими ей и сегодня выдерживать натиск более развитых языков, явились, помимо мощного финансирования, встроенная поддержка параллельного выполнения задач и мощные средства координации их взаимодействия. Необходимо отметить, что основная ориентация Ады — это отнюдь не системы автоматизации бухгалтерии в МО США, а чисто боевые задачи такого, например, рода, как микропроцессорная навигация в реальном времени самонаводящейся ракеты, где требуется одновременно обрабатывать информацию, непрерывно поступающую от множества самых разнообразных датчиков.
Ранее такие задачи писались на ассемблере, что приводило к множеству ошибок и трудностям сопровождения. Для подобных задач Ада, конечно, подходит как нельзя лучше. Однако Ада продолжает позиционироваться и как хорошее средство для разработки больших программных комплексов.
Правда, теперь голоса в поддержку этого языка звучат уже тише, примерно так: «Ада, по крайней мере, не хуже Си». МО США, учтя свой главный промах — отсутствие объектов, в соответствии с современными требованиями к технологии разработки программ выработало новый стандарт языка ISO/IEC 8652:1985(E). Он описывает версию языка Ada95 (или Ada9X).
Самое интересное, что эта версия является первой в мире объектно-ориентированной системой программирования, на которую международный стандарт введен, по-видимому, в приказном порядке (с Си++ так пока не получается). Кроме того, в языке была улучшена система согласования видимости данных в спецификациях модулей и добавлены средства повышения эффективности функционирования параллельных задач.
МО США довольно ревниво относится к своему дорогому детищу и даже зарегистрировало слово «Ada» как свою торговую марку. Правда, впоследствии вместо торговой марки МО решило использовать «Ada» как свой внутренний сертифицированный знак. Без особой радости МО США относится и к появлению коммерческих версий этого языка.
Конечно, никто не вправе запретить вам написать свой компилятор, но, чтобы он получил коммерческое признание, необходимо его соответствие военному стандарту, а тестирование осуществляется только комитетом AJPO при МО США, который очень строго проверяет соответствие компилятора множеству требований, в том числе, очевидно, и чисто политических. Тем не менее различные версии Ады можно получить, как это обычно бывает с языками программирования, на халяву, то бишь даром, только не пиратским способом, а просто freeware-версии, и, конечно, за деньги.
Из свободно распространяемых версий в первую очередь необходимо выделить компилятор GNAT — GNU Ada95. В рамках проекта GNU (свободно распространяемого ПО) его можно получить в исходных текстах. Работать он может и на компьютере с одним процессором, только надо, чтобы операционная система поддерживала многозадачность. Это может быть, например, какая-нибудь версия UNIX или OS/2.
Что касается MS DOS — догадайтесь сами. Однако если очень хочется запустить сотню-другую параллельных процессов на вашей персоналке под MS DOS 6.x, то вполне можно попробовать Ada/Ed — компилятор и интерпретатор версии языка 1987 года, который, впрочем, совершенно несовместим со стандартом и не имеет ряда существенных элементов. Если есть деньги, то ситуация, конечно, облегчается.
В пределах месячной зарплаты среднего российского программиста можно приобрести, например, FirstAda и написать систему управления холодильником. Более дорогие системы для Windows, OS/2 или UNIX, сертифицированные МО США, вы можете попытаться приобрести непосредственно у фирм-разработчиков, коих насчитывается около десятка. Интересно, что стандартизации подвергся не только сам язык, что позволило создавать легко переносимые программы, но и набор вспомогательных средств разработчика — различные библиотеки ввода-вывода и организации графического интерфейса, препроцессоры, верификаторы, генераторы кода, анализаторы логической структуры исходного кода, программы для тестирования компиляторов и т. д. Конечно, имеются крупные пакеты, включающие в себя все стандартизированные средства разработки, но стоят они, по всей видимости, очень дорого. Было бы весьма интересно узнать, не велись ли в СССР работы над языками, предназначенными для решения похожих военных задач. Или наши спецы писали только на Ассемблере? ItWeek №(059)35`1996 от 03.09.1996
Помещена в музей с разрешения редакции 4 сентября 2018
Источник: computer-museum.ru
История некоторых языков программирования
Как известно компьютер воспринимает команды в двоичном коде, но программы на нем писали в основном до середины прошлого века. Намного упрощало создание программ использование языков программирования, именно о них и пойдет речь в данной статье.
Ada(Ада)
Язык Ada был разработан при поддержке Минобороны США в 1978 году в результате конкурса на котором выиграла группа программистов компании Honeywell. Назван по имени первой женщины программистки Ады Лавлейс. Конечная спецификация разработана к 1983 году. Вне военных проектов язык широкого распространения не получил.
Язык возник в результате международного конкурса языковых проектов. Он должен был удовлетворять всем требованиям министерства обороны США. Интересно, что все языки, дошедшие до последних туров этого конкурса, были основаны на Паскале. В этой связи Аду можно предварительно охарактеризовать как развитый Паскаль. Конечная спецификация разработана к 1983 году.
Вне военных проектов язык широкого распространения не получил.
Assembler (Ассемблер)
Язык ассемблера люди начали использовать с 1950 года. Этот язык первым позволил отображать двоичный код в более удобной для человека форме: в виде букв или укороченных слов, которые примерно обозначали сущность команды. Умея разбираться в распечатке ассемблера, можно находить ошибки в программах созданных даже при помощи других языков. В данный момент у каждого из нас дома стоят много «интерпретаторов ассемблера» — менюшки в телевизорах, программы стиралок разработаны зачастую именно на нем. (хотя программисты-лентяи пишут программы для микроконтроллеров и на C). Кроме того, на ассемблере написаны драйверы устройств, библиотеки и функции программ, написанных даже на других языках.
Кроме того, на ассемблере создаются целые операционные системы, примером может стать Menuet OS.
Algol (Алгол)
ALGOrithmic Language, разработанный в 58-60 гг. прошлого столетия считается предком многих современных алгоритмических языков, т.к. именно в нем впервые осуществились основные идеи алгоритмизации. Именно в алголе стало относительно просто превращать алгебраические выражения в команды и вычитывать значения функций. В своё время алгол был популярен в прикладной физике и математике, но сейчас практически не используется.
Basic (Бейсик) и VBScript
Интерпретационный язык бейсик разработанный в 1960 году изначально предназначался именно для новичков, о чем свидетельствует даже его название — Beginner’s All-purpose Symbolic Instruction Code (многоцелевой символьный код для начинающих). Этот язык считается простейшим языком высокого уровня. Плохая поддержка процедурного программирования сделала его неподходящим для больших проектов, но зато способным создать небольшие программы за считанные минуты. Небольшой размер интерпретатора определил язык как встраиваемый во многие 8-разрядные ПЗП компьютеры и компьютеры прошлых поколений. (Автору статьи приходилось писать программы на таком Basic’е)
Включений версии Quick Basic в состав Ms-Dos проложило для него неплохую дорогу развития и сейчас его версии (Visual Basic, VBA…) являются одними из популярнейших сред для написания программ.
Основными проблемами программистов использующих VB является отсутствие нормальной справки (популярная, укороченная версия идет без MSDN) и необходимость «носить» за программой библиотеки, т.к. объекты, используемые в программах (кнопки, скроллы, метки…) требуют библиотек, которые есть не на всех компьютерах.
Именно Basic сделал программирования более доступным для большинства людей.
На бейсике часто пишут…вирусы, вирусы для Microsoft Office. Включение VBA (Visual Basic for Application) в офисный пакет предопределило написание на нем не только макросов, но и вирусняков.
Идея появления языка VBScript заключалась в представлении разработчикам Web- страниц возможности использования привычных команд VB наряду с тегами HTML, что позволило разрабатывать мощные и богатые страницы. VBScript загружается в виде ASCII-текста и не имеет прав работы с файловой системой клиента, таким образов полностью обезопасив пользователя.
Слабая поддержка браузерами этого языка, «способствует» его медленному развитию, а после выпуска VS2003, практически и смерти… (начиная с .NET Microsoft-овский Basic де-факто стал обёрткой, отличающейся от C# только синтаксисом, потеряв большинство своих преимуществ (например модификацию кода «на лету»))
Наверное не один язык не получил столько критики, сколько Basic.
Эдсгер Дейкстра, даже заявил что студентов изучивших бейсик, невозможно обучить хорошему программированию. Безусловно это является полнейшим бредом. Т.к. язык по сути является лишь средством, а качество программирования зависит от опыта создания программ и способа мышления.
C (Си)
Язык программирования Си был разработан в 1972 году Деннисом Ритчи, в компании Bell Laboratories. Название происходит от номера проекта лаборатории (“A”,”B”,C”…). Изначально этот язык задумывался как промежуточный между языками высокого и низкого уровней, но продуктивность и компактность кода + преимущества структурного языка, несмотря на сложность обучения сделали Си самым популярным языком.
В 1980 году компания выпускает новый язык построенный на основе С — С++. По словам разработчика, Бьярна Страуструпа он должен «укорить написание хороших программ и сделать этот процесс наиболее приятным для каждого отдельно взятого программиста». Название С++ было придумано вместо начального «C с классами».
В наше время этот язык наиболее популярен и универсален, что доказывает создание именно на ней всемирной ОСи — Windows.
Сейчас Си считается основой для разработки современных больших и сложных проектов. Конечно, как и у всего существующего в природе, у него имеются и слабые стороны, вытекающие из требований эффективности.
Помимо «Окон» на Си написаны такие известные программы как Outlook, Opera, 1C.
Cobol (Кобол)
«Общепринятый язык, ориентированный на бизнес», именно так расшифровывается название кобола (Common Business Oriented Language). Здесь появились способы обработки предвестников современных баз данных используемых на предприятиях и фирмах. Несмотря на свой довольно сложный синтаксис кобол довольно долго использовался в экономике и бизнесе, лишь недавно уступив место таким системам программирования БД как SQL и FoxPro.
Fortran (Фортран)
Фортран — самый первый компилированный язык программирования, базовые принципы и понятия которого легли в основу многих современных языков программирования высокого уровня. Разработанный в 1954-1958 гг Джимом Бекусом, он предназначенный для сложных научно-технических исследований, довольно быстро стал популярным среди инженеров и ученых и до сих пор используется, хотя уже и не в таких широких кругах. Название происходит от словосочетания «ТРАНслятор ФОРмул». Стандарты языка четко определенны, их всего четыре: fortran 66, fortran 77, fortran 90 и fortran 95
Фортран имеет множество математических функций, поддерживает работу с длинными числами. Благодаря использованию четких стандартов фортран иногда используют для переноса программы между платформами.
Фортран имеет достаточно большой набор встроенных математических функций, поддерживет работу с целыми, вещественными и комплексными числами высокой точности. Выразительные средства языка изначально были весьма бедны, поскольку Фортран был одним из первых языков высокого уровня. В дальнейшем в Фортран добавляли многие лексические конструкции, характерные для структурного, функционального и даже объектно-ориентированного программирования, однако они не были в достаточной мере востребованы, поскольку сейчас Фортран нужен в основном для переноса давно написанных программ с одной платформы на другую, а не для написания новых.
Java и JavaScript
Созданная компанией Sun Microsystems система разработки Java безопасна и высокопроизводительна. Java — объектно-ориентированный язык, удобный и надёжный в эксплуатации благодаря таким своим достоинствам, как многозадачность, поддержка протоколов Internet и многоплатформенность. Java — это интерпретируемый язык, и каждая Java-программа компилируется для гипотетической машины, называемой Виртуальная Машина Java. Результатом такой компиляции является байт-код Java, который в свою очередь может выполняться на любой операционной системе при условии наличия там системы времени выполнения Java, которая интерпретирует байт-код в реальный машинный код конкретной системы.
Язык Java является объектно-ориентированным и поставляется с достаточно объемной библиотекой классов. Библиотеки классов Java значительно упрощают разработку приложений, предоставляя в распоряжение программиста мощные средства решения распространенных задач.
На Java написан движок известного эмулятора «Ил-2: Штурмовик».
Для создания компилируемых апплетов компания Netscape разработала язык JavaScript, который был внедрен в всемирно известный браузер компании.Первоначальное название — LiveScript, которое позже изменилоь получив разрешение у компание Sun. Microsoft на создание ответило своим языком JScript, после чего многие создатели браузеров начали выпускать свои спецификации, что сделало задачу написания вездеработающего скрипта довольно сложной.
Pascal (Паскаль) и Delphi
Разработанный Никлаусом Виртом (а не французским математиком Блезом Паскалем, как абсолютно уверены половина людей J) в 1967-1971 годах компилированный язык программирования, изначально стал популярным в основном благодаря относительно простому синтаксису. Выпуск компанией Borland удобного и простого компилятора Turbo Pascal позволил ему занять лидирующие позиции и до сих пор изучаться в школах и институтах, хотя и как основы программирования, а не идеального языка для создания программ. Borland Pascal и используемый в Delphi язык Object Pascal основываются на Turbo Pascal и развивают его идеи. По сути, Delphi является компилятором языка Pascal. Самая первая версия Delphi объединила в себе надежный компилятор, визуальную среду для программиста и очень мощные возможности языка по работе с базами данных, и уже через год вышла Dephi 2 для 32-битной системы.
Из известных программ на Delphi написан “Total Commander” и “The Bat”
Рефал
«Зверский» язык, разработанный в 1966 году в ИМП АН СССР. Рефал широко применялся при разработке трансляторов с алгоритмических языков, в теоретической физике и прикладной математике, в проектировании информационных систем.
Программист на Рефале сам определяет структуру обрабатываемой информации, именно поэтому эффективность программы полностью зависит от него. На данный момент жив проект www.refal.net где язык пытается развиваться.
- языки программирования
- история
Источник: habr.com
Язык программирования Ada
Язык программирования Ada принадлежит к числу модульных. Для него характерны строгая типизация, синтаксис, ведущий происхождение от языков Паскаль и Алгол. Назван в честь Ады Лавлейс, математика первой половины XIX в., которую часто называют первым в мире программистом в связи с ее работами по созданию алгоритмов для вычислительной машины Чарльза Бэббиджа.
Рисунок 1. Логотип языка Ada. Автор24 — интернет-биржа студенческих работ
История развития языка Ada
Ada появился в США на рубеже 1970-1980-х гг. как язык программирования для бортовых систем управления военными объектами. Он не принадлежит к числу самых популярных языков программирования, поскольку не рассчитана на создание эффектных пользовательских приложений.
В этом языке слабо развиты такие стороны, как функционал, связанный с пользовательским интерфейсом, взаимодействие с базами данных. Тем не менее, язык Ada нельзя назвать устаревшим. На нем в США разрабатывается программное обеспечение для военной промышленности, авиации, энергетики и других инфраструктурных систем. Это нишевый, но, тем не менее, активно используемый продукт.
Язык Ada был создан для решения конкретных задач, причем предметная область его применения была заранее хорошо исследована и описана. Группа его разработчиков сформировалась на основе тщательно организованного международного конкурса.
Стабильный релиз Ada был принят в качестве национального стандарта, а затем был принят и соответствующий стандарт ISO. Высокая степень стандартизации, в частности, предопределила повсеместное единообразие языка, отсутствие диалектов, а также 100%-ю обратную совместимость кода при появлении новых версий.
«Язык программирования Ada»
Готовые курсовые работы и рефераты
Решение учебных вопросов в 2 клика
Помощь в написании учебной работы
Замечание 1
Попытки включить Ada в систему ГОСТ предпринимались в конце 1980-х гг. и в СССР. На этом языке велась разработка ПО для лайнера Ил-96-300, амфибии Бе-200, космической станции Альфа. Он использовался и в некоторых других проектах государственного уровня. Ada довольно активно применяется для создания промышленных и транспортных систем во Франции (беспилотные поезда метро), Японии, Китае.
На сегодняшний день актуальной является версия Ada-2012.
Специфика Ada
Можно назвать следующие особенности Ada, многие из которых являются уникальными:
- асинхронность реализована на уровне синтаксиса;
- любые компиляторы Ada порождают идентичный бинарный код (стандарт языка предполагает, что каждый компилятор должен выдержать ряд тестов);
- полная совместимость версий поддерживается на протяжении всего времени существования языка.
Философия Ada исходит из того, что в ходе написания программы должен появиться устойчивый набор абстракций, адекватно описывающий предметную область и не позволяющий выполнять некорректные действия, причем соответствие этим требованиям должно выявляться не в момент отладки, а в момент компиляции.
Ada соответствует парадигме объектно-ориентированного программирования. Есть даже мнение, что идеи классов в C++ позаимствованы из реализации Ada-83. При этом спецификация языка Ada существенно компактнее, чем у конкурирующих продуктов.
Несмотря на то, что Ada появился как язык для корпоративных целей, существует его некоммерческая версия, распространяемая под свободной лицензией — полнофункциональная платформа GNAT.
Практика программирования на Ada
Рисунок 2. Разработка на зыке Ada в IDE Wind River. Автор24 — интернет-биржа студенческих работ
Программа «Hello, World!» выглядит на Ada следующим образом:
with Ada.Text_IO; procedure HelloWorld is begin Ada.Text_IO.Put_Line(«Hello, World!»); end HelloWorld;
Рассмотрим более сложную программу — функцию, сравнивающую две строки без учета регистра, т.е. строки «Привет!» и «ПрИвЕт!» считаются одинаковыми, а строка «Превед!!» — отличающейся от них.
— Объявляем функцию, получающую в качестве аргументов сравниваемые строки — и возвращающую истинное или ложное значение, в зависимости от того, — одинаковы ли их буквы в соответствующих позициях. — Прописные буквы считаются равными строчным. function Equal_Ignore_Case (S : String; — Сравниваемая строка 1 T : String) — Сравниваемая строка 2 return Boolean is — Находим разность между адресами начальных знаков сравниваемых строк. O : constant Integer := S’First — T’First; begin if T’Length /= S’Length then return False; — Если длины строк не совпадают — дальнейшая проверка не имеет смысла. else for I in S’Range loop — Сравниваем буквы в соответствующих позициях в цикле. if To_Lower (S (I)) /= — Стандартная функция To_Lower превращает любые буквы в строчные, чтобы можно было сравнивать. To_Lower (T (I + O)) then — Если буквы в одной и той же позиции не равны даже после приведения к одинаковому регистру, — значит строки не равны. return False; end if; end loop; end if; return True; — Различающихся букв не найдено, возвращаем истинное значение. end Equal_Ignore_Case;
Источник: spravochnick.ru