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

Рождение Паскаля

Формально
юбилей Паскаля пришелся на ноябрь 2000 г., когда исполнилось 30 лет с момента
первой официальной публикации описания языка. Но то был недоступный широкой
аудитории технический отчет Швейцарского федерального технологического
института ETH (Eidgenoessische Technische Hochschule). В самом начале 1971 г.
отчет был перепечатан в первом номере журнала Acta Informatica. Так что
рождение нового языка можно отсчитывать и с этого момента.

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

Паскаль нередко
противопоставляют другому языку — Си. Но вот что сказал в присутствии Вирта по
этому поводу Деннис Ритчи, автор Си (1993): «Я утверждаю, что Паскаль очень
близок языку Си. Одни, быть может, этому удивятся, другие — нет… Даже
интересно, насколько они близки друг другу. Эти языки больше расходятся в
деталях, но в основе своей одинаковы. Если вы взглянете на используемые типы
данных, а также на операции над типами, то обнаружите очень большую степень
совпадения… И это несмотря на то, что намерения Вирта при создании Паскаля
весьма отличались от наших в языке Си. Он создавал язык для обучения, а потому
преследовал дидактические цели. И, как я заметил это по Паскалю и по его более
поздним языкам, Вирт был во власти своего стремления ограничить выразительные
средства как можно сильнее…»

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

Реакция сообщества

Релиз языка Ć активно обсуждается как на профильных сайтах, посвященных программированию, так и на ресурсах, никак не связанных с ним. Редакция CNews обнаружила посвященные ему темы на YCombinanor и на Reddit.

Евгения Украинцева: Автоматизация HR-процессов должна начинаться с цифровизации оргструктуры
HR Tech 2022

Топик на YCombinanor был создан 9 октября 2021 г. и за это время собрал почти 300 комментариев. На Reddit существует как минимум две темы для обсуждения Ć, датированных тем же днем. В одной из них набралось около 290 ответов, в другой – 33.

Пользователи разделились на два лагеря – одни считают, что язык имеет право на существование, другие же сомневаются в его практической пользе. К примеру, пользователь Reddit под псевдонимом bladehaze написал, что Ć пригодится лишь в том случае, если писать код без использования библиотек, что не всегда представляется возможным.

UCSD Pascal и начало коммерческого распространения

В 1975 г.
профессор Кеннет Боулес, работавший в Университете Калифорнии в Сан-Диего
(University of California at San Diego — UCSD), получил из Цюриха
P-инструментарий, который вместе с компилятором P2 и был положен в основу UCSD
Pascal. В Институте изучения информации калифорнийского университета Боулес
вместе со Стефеном Франклином и Альфредом Борком занялись созданием системы
программирования и операционной системы на базе Паскаля для микрокомпьютерных
архитектур. В UCSD Pascal были внесены изменения как на уровне языка (в плане
расширения и использования низкоуровневых вставок кода, в том числе и P-кода),
так и на уровне P-машины. Она была переделана. Для эффективности использования
Паскаля на разных компьютерах была включена дополнительная возможность
генерирования машинного кода для нужной архитектуры сразу после получения
P-кода. Весьма значительным усовершенствованием языка в UCSD Pascal стало
введение unit-блоков, необходимых для поддержки раздельной компиляции.
Впоследствии они были унаследованы в языке Turbo Pascal.

Интересно, что
взята эта идея была из спецификаций языка Ада, которые к тому моменту подходили
к своему завершению. В то же время сам Вирт из языка Mesa позаимствовал куда
более совершенную конструкцию, ввел ее в Модулу-2 и назвал «модулем» (module).
Собственно, она и дала название новому языку Вирта Modula-2 (MODUlar LAnguage).

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

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

Разработкой
UCSD Pascal, сумевшей стать законченным коммерческим продуктом,
заинтересовались многие компании

Причем их внимание привлекла и перспективная
P-машина, на которую UCSD продал немало лицензий. В качестве одного из примеров
можно привести процессор ITS, созданный в Nippon Electric (1980) и
предназначенный для исполнения P-кода UCSD Pascal

Но и сейчас, в эпоху Java,
интерес к UCSD-реализации не остыл. Так, в частности, английская компания Cabot
International продает новые версии P-машины по лицензии UCSD. Это предлагается
в качестве альтернативы для Java в области ТВ-приставок и бытовой электроники
(интерактивное цифровое ТВ).

Turbo Pascal

Огромную роль в
массовом распространении Паскаля сыграла компания Borland International. На
основе идей UCSD Pascal она сумела создать знаменитую Turbo-среду разработки.
Это был значительный шаг вперед в облегчении процесса программирования.
Удобство визуальных средств в сочетании с тесной интеграцией инструментария
стали для сотен тысяч программистов большим подспорьем.

Правда, язык в
исполнении Borland теперь уже отдаленно напоминает то, что когда-то носило имя
Паскаль. Безжалостные законы рынка раздавили оригинал и родили на свет
Turbo-Borland-Object Pascal. В результате не язык стал определять реализацию, а
наоборот. Как только все было повернуто с ног на голову, как только деликатные
вопросы изменения языка оказались уделом узкого круга лиц внутри одной
компании, стало ясно, что рассчитывать на поддержку промышленностью не
переносимого на другие платформы языка просто бессмысленно. И это в то время,
когда давным-давно существовали новые языки Вирта — Модула-2 и Оберон-2.

Что касается
Модулы-2, добившейся утверждения своего ISO-стандарта, то компилятор для этого
языка (Turbo Modula-2) не только был создан в компании Borland (для CP/M), что
весьма тщательно скрывается, но и поступил в продажу (в Северной Америке и
Европе). Однако руководство компании (Филипп Кан) отказалось порождать
собственного конкурента крайне успешному Turbo Pascal. Возмущенный
вице-президент Borland Нильс Йенсен (один из основателей компании) вместе со
своей командой разработчиков в 1987 г. ушел из Borland, выкупил права на Turbo
Modula-2 и создал компанию JPI (Jensen & Partners International).
В Англии ею под маркой
TopSpeed была выпущена одна из лучших линеек компиляторов для процессоров
семейства x86: Assembler, Modula-2, Pascal, C/C++, Ada.

А что же Turbo
Pascal? Язык видоизменялся едва ли не с каждой версией среды разработки! В
версии 3.0 появилась встроенная графика, в версии 4.0 — модули,

Если Вам нужна помощь с академической работой (курсовая, контрольная, диплом, реферат и т.д.),
обратитесь к нашим специалистам. Более 90000 специалистов готовы Вам помочь.
Бесплатные корректировки и доработки. Бесплатная оценка стоимости работы.

Подробнее

Поможем написать работу на аналогичную тему

Реферат

Любая тема

От 850 руб.

Контольная работа

Любая тема

От 850 руб.

Курсовая

Любая тема

От 1500 руб.

Получить выполненную работу или консультацию специалиста по вашему учебному
проекту

Узнать стоимость

Нужна помощь в написании работы?
Мы — биржа профессиональных авторов (преподавателей и доцентов вузов). Пишем статьи РИНЦ, ВАК, Scopus.
Помогаем в публикации. Правки вносим бесплатно.

Узнать цену

Страницы:

Универсальность языка

Своей универсальностью язык Ć обязан транслятору cito. Обработанный с его помощью код можно читать на любом их перечисленных Фусиком языках программировании.

Петр Фусик, автор языка Ć (фоточка из аккаунта GitHub)

«В отличие от большинства языков, которые вы изучали раньше, Ć не претендует на звание лучшего универсального языка программирования. Вместо этого он решает одну конкретную проблему: как писать код, который можно удобно использовать одновременно на языках C, C++, C #, Java, JavaScript, Python, Swift и OpenCL. Например, если вы изобрели новый формат сжатия, вы можете реализовать его в Ć и заставить автоматический переводчик cito сгенерировать исходный код на упомянутых языках, чтобы программисты этих языков могли использовать ваш код», – описывает свое творение Петр Фусик.

Петр Фусик не уточняет, как долго он работал над Ć, и кто, помимо него, входит в команду разработчиков. Известно лишь, что создание языка длится как минимум с лета 2013 г. – этим днем датирована публикация на YouTube записи ранней презентации языка.

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Работатека
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: