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

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

Лично меня это чувство на самом деле возмущает, поэтому я сохраняю нейтральное отношение к любым темам, связанным с джихадом (если, конечно, не для того, чтобы оживить атмосферу криками «PHP — лучший язык программирования»). В конце концов, все инструменты полезны только в том случае, если ими правильно пользоваться, а такой джихад, сформированный во многом по собственному желанию, показывает лишь свою инертность. Однако стоит упомянуть еще один момент: война иногда может способствовать техническому прогрессу. То же самое и с джихадом программистов. Хотя время, потраченное на неприязнь друг к другу, может в некоторой степени повлиять на эффективность, результатом взаимных споров должно быть то, что одна или обе стороны пытаются улучшить свои сильные стороны: таким образом улучшая инструменты, системы или теории.

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

Начиная с самых основных инструментов

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

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

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

Вы видите, как важно понимать историю.

Возвращаясь к теме, редактор, в древности дело было непростое. Ведь в древности понятия «файл» могло и не быть.

Перфорированная карта

Это самый ранний инструмент программирования.

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

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

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

ТЕКО

Давайте взглянем на несколько классических редакторов древних времен.

Первое, что можно похвалить, это TECO (Text Editor & Corrector). Это, во-первых, текстовый редактор, а во-вторых, язык программирования для обработки текста.

TECO — продукт эпохи PDP-1. До TECO существовала «дорогая пишущая машинка», которую можно было подключить к пишущей машинке IBM в качестве ввода для обработки текста на PDP-1. Вторая половина названия происходит от другого раннего редактора, Colossal Typewriter, написанного Джоном Маккарти, отцом LISP; первую половину, потому что PDP-1 стоил намного дороже пишущей машинки.

Общая идея TECO состоит в том, чтобы улучшить использование PDP-1, поэтому дизайн отличается от идеи редактирования документов непосредственно через консоль; TECO примет две входные ленты, одна из которых является лентой с исходным текстом, а другая — лентой с исправлениями. TECO прочитает инструкции на ленте с исправлениями, чтобы мгновенно изменить содержимое ленты с исходным текстом. Это позволяет оператору редактировать документ «на лету», просто вводя команды в режиме реального времени.

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

Команды TECO и добавленные позже макросы настолько мощны, что коллекция Edit MACroS была упакована и выпущена как приложение EMACS позже.

Unix-эра

Эд и бывший

Это было действительно запоздалой мыслью, когда Emacs стал доступным и зрелым.

1969 год был знаменательным годом. Кен Томпсон из AT&T Bell Labs реализовал первую версию операционной системы Unix, которая включала три ключевых компонента: ассемблер, редактор и оболочку. ed был редактором, одним из ключевых компонентов.

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

Однако у него также есть фатальный недостаток, заключающийся в невозможности предварительного просмотра изменений в реальном времени, а только с помощью специальной команды (,l), чтобы увидеть результаты. (В конце концов, в соответствии с философией дизайна Unix, программа делает только одно, чтобы увидеть содержимое документа, нужно перейти к катушке или больше.) Так что это также было звание «самый неудобный для пользователя редактор».

Естественно, этот недостаток был заменен другими редакторами, и хотя мы до сих пор можем видеть его в системе (ведь по стандарту POSIX это одна из необходимых программ для системы), им почти никто не пользуется. Но в первые дни этот редактор вместе с оболочкой Unix умел выполнять очень мощные функции автоматизации. Еще одно распространенное неинтерактивное приложение было создано из-за механизма регулярных выражений в ed, который стал grep (g/re/p, Globally match RegExp и Print), теперь широко используемым в поиске.

Кроме того, большинство команд в ed были переданы из-за этой следующей программы.

После 1970 года Unix распространился на различные университеты на Западе, и Джордж Кулурис из колледжа королевы Марии в Англии разработал расширенную версию ed, em для лучшего отображения и редактирования через видеотерминалы. Позже, во время визита в Беркли, Кулурис показал свою программу Биллу Джою, который реализовал расширенную версию ex (EXtended) после внесения соответствующих изменений. Затем приложение поступило в Berkeley Software Distribution и стало частью известной системы BSD. Затем он был добавлен в стандарт POSIX вместе с его «визуализацией».

Это визуальная версия vi (бывший визуальный режим).

Позже vi был разделен на улучшенную версию (Vi IMproved), которая представляет собой vim базовой настольной операционной системы Unix.

От ed до vim команды практически идентичны. Вставка — i, добавление — a, замена — s, запись — w, выход — q. Я смутно помню время, когда это была скорее команда «vim».

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

О Билле Джое: он покинул Беркли, чтобы основать Sun Microsystems, и работал с Джеймсом Гослингом над разработкой Java.

Конечно, это другая история.

Изменить MACroS

Еще в конце 60-х недалеко от Bell Labs располагалась знаменитая лаборатория искусственного интеллекта Массачусетского технологического института.

Лаборатория искусственного интеллекта Массачусетского технологического института была местом рождения хакерской культуры, где пионеры искусственного интеллекта Марвин Мински и Джон Маккарти возглавляли группу людей, разрабатывающих передовые технологии. В этой лаборатории также работал известный хакер Ричард Столлман, человек, который позже начал проект GNU. Инструментом повышения производительности, который они использовали, был вышеупомянутый TECO, текстовый редактор, который работал на машинах семейства PDP. Во-первых, он поддерживает WYSIWYG (что видите, то и получаете); во-вторых, как редактор WYSIWYG, E поддерживает произвольный доступ к содержимому файла. В отличие от TECO, для которого требуется ряд команд, а затем манипуляции, вы можете отредактировать то, что хотите, сразу перейти в редактор и тут же увидеть результат редактирования.

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

Золотой век

Emacs

С макросами (macro) новый TECO становился все популярнее в AI Lab, и вскоре накопилось большое количество пользовательских макросов. Два года спустя Гай Стил объединил эти макросы, упаковал их вместе, а затем вместе со Столлманом расширил базовые инструменты, получив новую систему под названием EMACS.

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

EMACS is distributed on a public share basis, which means that all improvements must be returned to me for merging and distribution.

Это правило также в некоторой степени повлияло на последующий проект GNU и движение за свободное программное обеспечение.

Говоря о Гае Стиле, он может некоторое время не появляться в нашей серии редакторов, но как разработчик Scheme и участник разработки большинства стандартов языков программирования (включая RnRS-Scheme, TC39-ECMAScript, X3J11-C, X3J3- Fortran, X3J13-Common Lisp и JLS-Java) и участвовал в разработке большинства из них, внося свой вклад в отрасль в целом, почти во всех случаях оставаясь на вершине волны.

Разделение

В начале 1980-х годов лаборатория искусственного интеллекта Массачусетского технологического института разделилась на две группы: те, кто не продолжил работу в лаборатории искусственного интеллекта, основали LCS (лабораторию компьютерных наук), а те, кто работал в лаборатории искусственного интеллекта, были заняты созданием и коммерциализацией двух машин LISP (Symbolics и Лисп Машин Инкорпорейтед). Но вдобавок к этим двум группам людей были еще два профессора, предпочитавшие сохранять нейтралитет, Хэл Абельсон и Джеральд Сассман, которые позже написали книгу, которая взбудоражит точку G большинства людей, под названием «Создание и интерпретация компьютеров». В благодарностях книги упоминается, что в качестве языка программирования использовалась Scheme, которую Гай Стил помог разработать.

Первоначальный Emacs был реализован только в ITS-системе PDP-10, поэтому некоторые люди продолжили традицию (изобретена не здесь) и решили переписать редактор на Lisp Machine, EINE (рекурсивная аббревиатура от EINE Is Not Emacs), которая позже эволюционировала. в ZWEI (изначально ZWEI был EINE). EINE был первым Emacs-подобным редактором, реализованным с использованием LISP, а затем, в 1978 году, Multics Emacs, полностью реализованный на Multics Lisp, появился в системе Multics (операционная система, нацеленная на Unix) и во многих последующих Emacs, включая сегодняшний. Emacs, включая сегодняшний GNU Emacs, были реализованы с использованием семейства языков LISP в качестве языков макросов/расширений.

Конечно, не все Emacs выбрали LISP; MicroEmacs в 1985 году был особым случаем, в котором использовалось похожее на VimScript сочетание команд и императивных языков с определенными функциями в качестве расширений. Как кросс-платформенный редактор, MicroEmacs был почти единственным выбором для DOS/Windows в первые дни. Несколько лет спустя Пол Фокс реализовал vile (VI Like Emacs) на основе MicroEmacs в попытке объединить редакторы vi и Emacs и, возможно, был пионером в попытке мирного разрешения джихада. Кроме того, Линус Торвальдс размещает копию редактора, основанного на форке MicroEmacs версии 3.9, на сайте kernel.org для собственного использования.

Другие реализации включают Gosling Emacs, написанный Джеймсом Гослингом в 1981 году, первый подобный Emacs редактор для систем Unix, написанный на C с Mocklisp в качестве расширения.

Лаборатория ИИ разделилась на LCS, а затем на Symbolics и Lisp Machine Inc, что привело к расколу Лаборатории ИИ на несколько фракций и потере многих талантливых людей. Ричард Столлман был вдохновлен на создание проекта GNU для сбора человеческих знаний с помощью свободного программного обеспечения вместо организации распространения знаний среди фракций.

Кстати, полная форма GNU — это **НЕ** Unix от GNU.

Кроме того, Джеймс Гослинг является отцом Java, и все трое основных разработчиков Java существовали еще до того, как в Java были добавлены дженерики.

VI

Как упоминалось ранее, (первоначальный) vi был не отдельной частью программного обеспечения, а встроенной версией визуального режима ex, и Билл Джой понял, что большинство людей будут чаще использовать визуальный режим с ex, поэтому он просто сделал визуальный режим отдельным команда, чтобы сделать его более доступным.

Джой прекратил работу над vi примерно в июне 1979 года. Отчасти это было связано с тем, что он чувствовал, что интерфейс без шаблонов и мощные возможности программирования, связанные с Emacs, были сильным шоком для vi, который все еще находился в режиме редактирования, управляемом различными командами. «Мне очень жаль, что мы не использовали все клавиши на клавиатуре». Он говорит.

После 1979 года Марк Хортон взял на себя разработку vi, добавив поддержку функциональных клавиш и клавиш со стрелками, а также функциональность макросов.

Новые силы

vi перешла во владение AT&T вскоре после того, как Билл Джой покинул Беркли. Однако, поскольку исходный код Билла Джоя был получен из редакции Кена Томпсона, его нельзя было распространять без лицензии кода AT&T. К этому времени единственным бесплатным редактором, доступным для платформы Unix, был MicroEmacs, и только в июне 1987 года Тим Томпсон разработал бесплатный vi-подобный редактор с ограниченной функциональностью, STEVIE (редактор ST для энтузиастов VI), за которым в начале 1990. Киркендалл выпустил Элвиса в группе новостей comp.os.minix в начале 1990 года, которая была намного мощнее, чем STEVIE, и ближе к идиоме редактирования vi.

Вскоре после этого Эндрю С. Таненбаум (также известный как ast) из Хельсинкского университета, Финляндия, выбрал Элвиса в качестве редактора своей операционной системы Minix в качестве второго выбора. Между прочим, у ast был знаменитый студент, который, прослушав его курс по принципам операционных систем, написал свой собственный и закинул его в группу новостей, и этой системой был Linux.

Вы видите этот круг вокруг и вокруг все еще свои люди.

В 1989 году Линн Джолиц и Уильям Джолиц начали портировать BSD на архитектуру 386, но если они собирались выпустить порт как бесплатное программное обеспечение, им нужно было избегать любого кода, связанного с AT&T, включая оригинальный Bill Joy vi. Они выбрали Elvis в качестве замены системы 386BSD vi, выпущенной в 1992 году, и последующие FreeBSD и NetBSD напрямую следовали решению 386BSD. Позже Кейт Бостик, поддерживая BSD 4.4-Lite, хотел заменить vi и разработал nvi поверх Elvis 1.8. Затем FreeBSD и NetBSD синхронизировали свой код с BSD 4.4-Lite2 и до сих пор помещали nvi в свою кодовую базу в качестве редактора по умолчанию. Он все еще используется сегодня.

С другой стороны, поскольку редактор STEVIE продолжал обновляться, Брэм Муленаар создал Vi IMitation, позже Vim, на Amiga на основе кода STIEVE. vim был официально выпущен в 1991 году и стал еще одним основным направлением.

IDE: интегрированная среда разработки

Цветет два цветка, по одному на каждого.

Появление и популярность персонального компьютера после 1970-х годов привели к постепенному сосредоточению внимания на этом направлении. В то время не было установленного Unix, который можно было бы поставить на ПК. Хотя AT&T также разработала систему Unix для ПК, для нее требовалось специальное оборудование, а лицензионные сборы AT&T были не по карману. Так постепенно стали популярными различные операционные системы для ПК, включая DOS, CP/M и OS/2.

BASIC был ранним и широко распространенным языком программирования, который был реализован на ПК Altair, Apple и даже на домашних компьютерах Atari и Nintendo. Его было просто использовать: вы набирали код BASIC в редакторе, сохраняли его и выполняли.

Так было до тех пор, пока компания Borland не выпустила продукт, который все это изменил.

Турбо Паскаль

В 1981 году Андерс Хейлсберг (да, тот человек!) из Дании реализовал компилятор Blue Label Pascal для операционной системы NasSys. Borland купила ядро ​​компилятора (PolyPascal), добавила некоторые функции пользовательского интерфейса и редактора и выпустила его как Turbo Pascal. Затем Андерс присоединился к Borland в качестве архитектора всего семейства Turbo Pascal, а затем и Delphi.

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

В то время это была очень передовая технология, и Чарльз Петцольд из Microsoft был очень впечатлен ею. Это удобство сделало Turbo Pascal самым популярным языком программирования в то время: за два года было продано более 250 000 копий.

Кроме того, отличная производительность (первая версия Turbo Pascal была реализована полностью на ассемблере) стала визитной карточкой и дала название Turbo. Даже во времена Delphi «высокая скорость компиляции» по-прежнему была заметной особенностью, вызывавшей неприязнь к программистам на C++ по соседству, но это было запоздалой мыслью.

Новое поле битвы

Визуальное/визуальное программирование

В 1973 году Алан Кей из лаборатории Xerox PARC разработал графический интерфейс для Smalltalk. Вскоре после того, как этот дизайн был Apple, Commodore и Symbolics и другие крупные игроки были замечены, запустили несколько продуктов, включили графический пользовательский интерфейс (GUI), концепция WIMP постепенно принимается расширяться в мейнстрим. Они последовательно оказали важное влияние на более позднюю популярную операционную систему Windows.

Говоря о Windows, давайте поговорим о контратаке Microsoft на Turbo Pascal, Visual Basic.

Серия Visual была визуальной средой программирования для графической эры. По сравнению с IDE, которую можно было закодировать, автоматически скомпилировать и запустить, Visual Basic представил систему дизайна форм и концепцию «элемента управления», так что любой пользовательский интерфейс, который вы хотели реализовать, можно было перетаскивать через элемент управления. Просто перетащите элементы управления, чтобы получить любой пользовательский интерфейс, который вы хотите. Кроме того, вы можете отредактировать код для достижения более продвинутой функциональности, если сможете. Интерфейсный конструктор NeXTSTEP был доступен до этого для визуального редактирования, но существовал как дополнительное приложение, а не как часть IDE, и позже был интегрирован Apple в Xcode.

Успех Visual Basic был очень продолжительным, особенно Visual Basic 6.0 в 1998 году, который выиграл 19-й конкурс D.I.C.E. Награда в 2016 году, 18 лет спустя. И из-за первородного греха «обратной совместимости» Microsoft все еще есть люди, которые настаивают на его использовании. Конкурент Borland уже закрылся в 2009 году.

Дельфы

Затем настала очередь Borland. В качестве первого шага к контратаке компания также запустила визуальную среду разработки Delphi и разработала библиотеку визуальных компонентов (VCL) в качестве ядра платформы визуализации и RAD.

VCL, как инновационный фреймворк, не только поддерживает сам фреймворк графического интерфейса, но также вводит механизм событий, превращающий обычный способ наследования расширений для достижения графического интерфейса в комбинацию делегатов. И VCL как базовая библиотека Borland, непосредственно межъязыковая, в C++ Builder также может быть написана напрямую/вызвать компоненты Delphi.

NET Framework находится под сильным влиянием VCL. В 1995 году Microsoft переманила десятки сотрудников Borland, в том числе Андерса Хейлсберга, для работы над более поздними версиями J++ и .

Что касается Borland, бренд был закрыт после того, как Micro Focus купил его в 2009 году. Так что сейчас Delphi все еще используется в качестве платформы RAD, но немногие используют ее, потому что язык слишком нишевый (Object Pascal).

Рост кроссплатформенности

Затмение

Эти IDE, которые мы увидим позже, на самом деле являются лишь частью картины. Давным-давно, когда рабочие станции и мини-компьютеры были основной вычислительной силой, с момента появления IDE после 80-х годов почти каждый дом подготовил свой собственный набор операционных систем и соответствующих сред разработки, таких как Sun Studio (теперь Oracle Developer Studio). Мы пропустим эти нишевые продукты, в конце концов, ПК и облака сейчас являются доминирующими вычислительными платформами.

Но прежде чем начнется эта волна, давайте вернемся к Smalltalk.

Как упоминалось ранее, Smalltalk — это язык программирования, разработанный Аланом Кеем, но на самом деле это не просто язык программирования, он также поставляется с системой графического интерфейса и средой выполнения, другими словами, это сама по себе IDE. Smalltalk разделен на две части: виртуальную машину для выполнения байт-кода Smalltalk и образ, содержащий среду выполнения приложения Smalltalk. Это было удобно для многих компаний, которые попутно задались целью внедрить собственные среды Smalltalk, включая голубого гиганта IBM.

IBM не была заинтересована в производстве персональных компьютеров в первые дни, но решила войти в отрасль, когда Apple в одночасье прославилась и наводнила рынок недорогими машинами, что вызвало волну популярности. Так родился IBM Smalltalk (позже известный как VisualAge).

Благодаря характеристикам Smalltalk VisualAge может легко работать на разных платформах и поддерживать различные языки программирования. Но также из-за природы Smalltalk весь код существовал в виде двоичного образа без очевидной структуры компонентов, и было трудно отследить и получить единый класс (класс, программный модуль Smalltalk). Благодаря появлению Java в 90-х годах исследовательская группа в IBM задумалась о повторной реализации платформы на Java, и 7 ноября 2001 года эта платформа под названием Eclipse была выпущена.

Eclipse — это полноценная платформа, а не простая интегрированная среда, которая поставляется с набором инструментов GUI SWT (Standard Widget Toolit), графической оболочкой JFace и подключаемой системой подключаемых модулей, а в версии 3.0 добавлена ​​поддержка OSGi. В дополнение к богатому набору инструментов языка программирования (JDT, CDT), такие как IBM Note, IBM Rational и XMind, также построены на Eclipse RCP. Если вы знакомы с текущими разработками клиентского программного обеспечения, вы можете думать об Eclipse как о основанном на Java Electron.

Eclipse был настолько успешным, что несколько лет спустя конкурирующий продукт Borland, JBuilder 2007, также был построен на Eclipse.

NetBeans

Eclipse — не первая IDE на основе Java. В 1996 году, вскоре после появления Java, группа студентов из Праги работала над большим проектом под названием Xelfi. NetBeans как официально поддерживаемая IDE стала частью всего сообщества Java.

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

IntelliJ ИДЕЯ

Прага, Чехия, 2000 год. Да, это то самое место. Это романтика восточноевропейских людей?

Была основана компания IntelliJ Software, которая вскоре выпустила свой первый программный продукт IntelliJ Renamer, инструмент для рефакторинга Java. В то время книга Мартина Фаулера «Рефакторинг» была опубликована всего один год, а до выпуска китайской версии в Китае пришлось ждать три года. IntelliJ можно считать первой группой людей, создавших инструменты рефакторинга.

Через год компания выпустила собственную IDE IntelliJ IDEA, которая до сих пор является лидером среди инструментов рефакторинга. В 2010 году компания, переименованная в JetBrains, объявила о платформе IntelliJ с открытым исходным кодом, которая вобрала в себя множество инструментов, созданных сообществом за последнее десятилетие, в то время как ее собственная линейка продуктов расширилась от первоначальной Java до различных платформ. Линейка продуктов компании расширилась от оригинальной Java до основных языков разработки на всех платформах.

Мир открытого исходного кода

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

Эти отдельные разработчики или небольшие студии предпочитали редакторы тяжеловесным IDE, ведь при ограниченных вложениях именно это направление принесло бы результаты. Так что в последующий период времени редакторы развивались рывком, и большинство редакторов, которые можно назвать сейчас, родом из той эпохи: EditPlus, EmEditor, UltraEditor, и помимо этих редакторов есть еще один, который поддерживает большинство открытых исходников. редакторы: Сцинтилла.

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

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

  • Код::Блоки
  • Кодлайт
  • Джини
  • Инно Установка IDE
  • Блокнот++
  • Блокнот2
  • Блокнот3
  • Верстак MySQL

Благодаря этим компонентам с открытым исходным кодом барьер для разработки приложений постепенно снижается, а кроссплатформенность и возможность повторного использования постепенно увеличиваются. Komodo Edit от ActiveState, например, получает часть редактора от Scintilla, а основная структура и система плагинов — от XUL от Mozilla.

На данный момент мы все знаем. Кроссплатформенные клиентские фреймворки на основе браузера Chromium становятся все более популярными. TypeScript Андреса Хейлсберга был создан как редактор Visual Studio Code нового поколения под руководством команды Эриха Гаммы (который руководил разработкой Eclipse JDT), и Microsoft, наконец, почувствовала вкус открытого исходного кода.

Постскриптум

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

На самом деле, с одной стороны, в последние годы мы просто пережили то, что не нужно упоминать в «краткой истории»; с другой стороны, это десятилетие в большей степени находится в периоде развития и зрелости, чем предыдущие раунды. В этом процессе несколько крупных платформ сформировали свои собственные группы пользователей и экосистемы, и даже если разработка настольных компьютеров, основанная на веб-технологиях, стала основной, в технологии, связанной с редактором, не так много инноваций. С появлением Language Server Protocol и Debug Adapter Protocol все связанные с языком программирования редактирование, завершение, отладка и работа стали стандартными интерфейсами, а общая экология была открыта для сообщества. Такие вещи заслуживают записи.

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

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

Но с редактором наша дорога только в начале, впереди еще долгий путь.

Конец.