[Перевод] Революционные IDE, повлиявшие на разработку ПО

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

ww6ebh1onhv9cmok0ftv2y194nk.png

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

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

▍ 10. THINK C


При создании приложения для первого Macintosh необходимо было использовать Macintosh Programmer«s Workshop (MPW). Так как Macintosh сильно опережал другие системы своего времени благодаря своему графическому интерфейсу пользователя, программирование для него было совершенно иным процессом, чем, например, разработка для систем наподобие DOS. MPW компании Apple был предназначена для опытных программистов и имела приличную цену. Когда в середине 1986 года Think Technologies выпустила Lightspeed C, это существенно упростило программирование на Macintosh.

kfv9zygys1swzmvcnhwoh_qpsuo.png

THINK C Version 3, ранее Lightspeed C

Think C (ранее называвшаяся Lightspeed C) стартовала столь мощно, что знаменитый журнал BYTE в сентябре 1986 года назвал её продуктом месяца. Она сочетала в себе мощные возможности, простой GUI и чрезвычайно конкурентоспособную цену примерно в $200 (около $500 по современным ценам), притом, что за MPW C просили больше $600 (больше $1500 по современным ценам). Think C также имела отладчик уровня исходного кода, который сегодня мы воспринимаем как нечто само собой разумеющееся.

1berfvcrkglbfvcdkulgm7ttt7a.png

Приложение ResEdit для Macintosh

Так как интерфейс пользователя Macintosh был чем-то новым и неслыханным, разработчикам нужна была возможность создавать пользовательские интерфейсы. Apple продавала небольшой инструмент под названием ResEdit, который распространялся как отдельный продукт или как часть пакета MPW. Отдельно он стоил примерно $100-$200 (сегодня около $500). В те времена программирование было дорогостоящим занятием. Сегодня WYSIWYG-редакторы GUI стали бесплатным и стандартным дополнением любой современной IDE, ResEdit оказался первым нативным WYSIWYG-редактором GUI.

▍ 9. Apple Xcode


Задолго до выпуска в 2007 году iPhone компания Apple выпустила IDE под названием Xcode, бывшее основным и единственным официальным IDE Apple для создания приложений MacOS, iPhone, iPad, WatchOS, CarPlay и всех других платформ экосистемы Apple. Когда Apple перешла с классического Macintosh на OSX, разработчикам пришлось сильно меняться. THINK C, Apple MPW и CodeWarrior на Macintosh System 8+ предназначались для C и C++, а на новой OSX преимущественно использовался Objective C с Xcode IDE на основе NextStep.

wz-zcnxti-6pdu_bray9x_ie6kc.png

Программирование на NextStep — заметили что-нибудь похожее на Xcode?

Появление Xcode также ознаменовало конец многих IDE для системы Macintosh, которые не портировали IDE целиком и все библиотеки времени выполнения на новую OSX, по сути, являвшуюся NextStep. Все библиотеки и объекты на новой OSX идентифицировались префиксом NS, подчёркивающим их происхождение от NextStep. Кроме новизны самой Xcode, полностью сменилась и парадигма Apple. Разработчиков для экосистемы Apple и в прошлом, и в настоящем в большей или меньшей степени вынуждали использовать среду разработки Apple. Это уже было частично справедливо в случае MPW, но с появлением Xcode стратегия замкнутой экосистемы «огороженного сада» усилилась.

eqapwpe2phbdvlhnjnwrmhovwgs.jpeg

Xcode 15 с горячей перезагрузкой при сборке приложений для iOS

Хотя для MacOS позволяют писать программы многие другие IDE, например, MonoDevelop, с появлением iOS для iPhone, iPadOS для iPad, watchOS для Apple Watch и CarPlay для автомобильных развлекательных систем разработчики практически были вынуждены пользоваться Xcode, если хотели иметь доступ ко всей экосистеме Apple и всем возможностям. С другой стороны, ежегодная плата в $99 за программу Apple Developer — это справедливая цена, учитывая, что она включает в себя все инструменты разработки и распространение через Apple App Store.

Xcode — это, вероятно, первая IDE для большой замкнутой экосистемы. Это потрясающая IDE с огромными преимуществами замкнутой экосистемы, хотя у неё иногда возникают трудности с поспеванием за прогрессом. Появление языка программирования Swift как замены Objective C повысило привлекательность разработки для платформ Apple.

▍ 8. vim


Выпущенный в 1976 году vi (расшифровывается как Visual) и vim (расшифровывается как Vi Improved) стал практически стандартным редактором для Unix и Linux. Да, существует emacs, и это тоже хороший редактор. Однако в 2015 году на Stack Overflow проводился опрос, который выявил, что vim используется шире, чем emacs. Как vim удалось выжить, учитывая множество появившихся за эти годы современных IDE?

Ответ очень прост: он не отставал от времени. В нём есть подсветка синтаксиса, отладка замечательно работает, а сам vim быстр. Очень быстр. Как только вы освоитесь с горячими клавишами, то не захотите пользоваться ничем иным даже для простого редактирования. Особенно если вы всё равно целый день работаете в терминале.

56oi-ve2jkqvgom_4qnhntdnoum.png

VIM, Vi IMproved 9.0 в Warp Terminal на macOS

Vim также обладает преимуществом высокой портируемости между всеми операционными системами. Он может работать в Windows, Linux, Mac, больших мейнфреймах, MacBook и сетевом роутере. Благодаря этой портируемости vim доступен разработчикам на любой платформе, которым потребуется удобное редактирование файлов конфигурации, исходного кода и многого другого. Более новые версии, например, Neovim, ещё больше повышают удобство разработки, придерживаясь при этом функциональности vi и vim. Вполне вероятно, что vim проживёт ещё много десятков лет. Это был один из первых и самых популярных редакторов для Unix и по-прежнему остаётся главным выбором в Linux и Unix. Особенно любят опытные разработчики vim за его скорость и удобную работу с клавиатуры.

▍ 7. CodeWarrior


Когда Apple перешла с процессоров 68k на платформу PowerPC, компании наподобие Symantec, владевшей тогда THINK C, вынуждены были выполнять миграцию своих IDE на новую процессорную архитектуру. Компания под названием MetroWerks работала над новым CodeWarrior IDE со многими участниками бывшей команды разработки THINK C. CodeWarrior известна своей простотой использования, меньшим по сравнению с MPW компании Apple временем компиляции и привлекательной ценой. Её первый релиз вышел в 1993 году.

tquek7thqunb5opr0k6u99fmiuq.jpeg

CodeWarrior 4.1 на Mac OS 9 с архитектурой PowerPC

За промежуток времени с 1994 до 2002 года CodeWarrior стала доминирующей IDE разработки приложений для Mac OS 8 и 9. В своей истории развития Apple переходила от процессоров 68k к PowerPC, потом к Intel, а затем на новые Apple Silicon с архитектурой arm64. Каждая смена аппаратной платформы становится полным кошмаром для производителей IDE. THINK C и CodeWarrior оказались единственными IDE, получившими серьёзную долю рынка профессиональной разработки ПО на Macintosh с конца 80-х до начала 2000-х. Но и их потом вытеснила собственная IDE Apple — Xcode. И не потому, что Xcode была существенно лучше, а благодаря тому, что Apple смогла вынудить разработчиков пользоваться Xcode, сильно усложнив выживание на платформе сторонним IDE.

▍ 6. IntelliJ IDEA


Когда в середине 1990-х появился язык Java, IDE для него было мало. Часто при написании кода на Java использовались простые редакторы, а код компилировался в командной строке. Вероятно, первыми выдающимися IDE для Java стали Netbeans и Microsoft Visual J++. IntelliJ IDEA была выпущена в январе 2001 года и имела продвинутые функции навигации по коду и рефакторинга.

dasx5w6tj541beh-hjjwjeqjrjo.png

IntelliJ IDEA имела все функции, которые только можно представить

IntelliJ и по сей день считается одной из самых продвинутых IDE. Вероятно, ей может бросить вызов только полнофункциональная Microsoft Visual Studio. Кроме наличия в ней всех воображаемых функций, IntelliJ также продемонстрировала превращение IDE из легковесных редакторов кода в (иногда монструозные) среды разработки с бесконечными вариантами настройки. Разработчикам иногда требуется несколько дней, чтобы освоиться в новых современных IDE. IntelliJ начала эпоху полнофункциональных интегрированных сред разработки, вместивших все необходимые разработчикам инструменты в одно приложение.

▍ 5. Eclipse


Примерно во время появления IntelliJ была выпущена Eclipse. Хотя Eclipse изначально предназначалась для языка программирования Java, она быстро расширилась на все известные нам языки. Более того, обширная среда плагинов позволяла делать всё и со всем. Конечно, IntelliJ и сегодня можно использовать со множеством разных языков, например, PHPStorm для PHP, и многими другими, Eclipse, по сути, стала первой IDE, нацеленной на многоязычность, многоплатформенность и многофункциональность.

pt2tztdl8dfxh7djtmhaac8spzm.png

Разработка на C++ в Eclipse IDE

Нет почти ничего, что нельзя было бы собрать при помощи Eclipse. От C++ до PHP, Python и Go.
В Eclipse есть плагины для всего. Eclipse начала эпоху открытой среды разработки, которую может использовать каждый для создания собственной IDE. В конечном итоге, Eclipse временами кажется слишком хаотичной, однако несмотря на своё будущее и недостатки, Eclipse заслужила особое место в зале славы, потому что дала свободу рынку сред разработки. Я написал своё первое приложение Google App Engine в Eclipse в 2008 году. На пике популярности Eclipse компания Microsoft всё ещё продавала свои среды разработки за внушительные суммы. Eclipse была бесплатной, полнофункциональной и влюбляла в себя разработчиков с первого взгляда.

▍ 4. Dreamweaver, Flash и Fireworks


1995-й и последующие годы стали временем бурного развития world wide web и появления таких должностей, как веб-мастер, а позже и веб-разработчик. Большинство IDE того времени, например, выдающаяся Visual C++ 1995 года, проектировалось под разработку приложений для десктопов и серверов. С точки зрения дизайна предлагаемый ими максимум заключался в конструкторе WYSIWYG GUI для целевой операционной системы, позволяющем проектировать окна, списки и кнопки. Для браузера они ничего предложить не могли.

wr-almxgnk6ztawlwqwsvytuylm.jpeg

Dreamweaver UltraDev — IDE для веб-разработки, выпущенная в декабре 2000 года

Именно в это время компании наподобие Macromedia выпустили свои продукты. ПО Macromedia Dreamweaver было WYSIWYG-редактором HTML, а позже CSS и JavaScript. Первая версия Dreamweaver была только для Macintosh, за ней последовала и версия для Windows. Пик популярности Dreamweaver пришёлся на время пузыря Новой Экономики в 1999–2002 годах. Dreamweaver UltraDev 4 была самой совершенной IDE для веб-разработки того времени. В ней не только присутствовали функции разработки для фронтенда (JavaScript, HTML и CSS), но и имелась поддержка Microsoft ASP с серверным JavaScript и Visual Basic, JSP, PHP и собственного ColdFusion компании Macromedia.

jjrjdal7ltx3gye2vuptpoq5rdo.png

Macromedia Flash ушла навсегда, но мы будем помнить её вечно

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

2wy3cxivdzhe-aqnluhc8dryrns.png

Macromedia Fireworks: WYSIWYG-редактор графики и HTML

Рассказ об инструментах веб-разработки Macromedia был бы неполон без упоминания Fireworks. Хотя Flash, учитывая существование ActionScript, можно считать средой разработки, Fireworks похожа на редактор векторной графики. Однако в Fireworks есть интегрированный генератор кода, позволяющий нарезать графику, встраивать анимации и экспортировать HTML-содержимое, в том числе и необходимые фрагменты кода на JavaScript. Dreamweaver, Flash и Fireworks были неслыханными WYSIWYG-инструментами, поднявшими понятие WYSIWYG на совершенно новый уровень. Хотя Dreamweaver по-прежнему существует, Flash и Fireworks были заброшены после приобретения Macromedia компанией Adobe. Сегодня Dreamweaver является частью Adobe Creative Cloud. Если вам интересна история веб-разработки, то прочитайте мою статью A tale from 30 years of HTML.

▍ 3. Microsoft Word and Excel


Несмотря на мемы о людях, пишущих код в Microsoft Word, любой, нажимавший ALT+F11 в Excel для Windows, знает, что к чему. В Word, PowerPoint и Excel есть полнофункциональная среда разработки Visual Basic For Applications. Сама IDE очень похожа на Visual Basic 6 1998 года и позже. В ней используется исключительно Visual Basic 6 (также называемый VB6). Впервые VBA появился в Excel в 1993. Билл Гейтс представлял VBA как универсальный язык макросов, и именно такую функцию он выполнял десятки лет.

9cdlc6pp-a_0oebnoj5n5oddioc.jpeg

Visual Basic for Applications (VBA) в Microsoft Excel для Windows

Электронные таблицы и, в частности, Excel были основным бизнес-приложением на компьютерах, начиная с 1980-х. По популярности с ними были сравнимы только текстовые редакторы наподобие Microsoft Word и приложения для создания презентаций наподобие Microsoft PowerPoint. Возможность наличия полной IDE с новым Visual Basic 6 внутри Microsoft Excel позволяла пользователям подключать электронные таблицы к любому источнику данных и заставлять их выполнять любые задачи. Хотите автоматически собрать список сетевых хостов в локальной сети в таблицу? Excel и VBA могут сделать это автоматически.

tvmcy7tye9acecnwh8zvfqfnsb4.jpeg

Конструктор форм и редактор VBA в Microsoft Word

VBA не ограничен простыми алгоритмами и базовыми макросами. Он включает в себя полный конструктор GUI, классы, модули и практически всё, что есть в VB6. Это превращает обычные листы Excel, документы Word и презентации PowerPoint в готовые приложения. VBA — это секрет, стремительно завоевавший пакету Microsoft Office доминирующее положение на рынке. IDE больше не были отдельными приложениями, теперь в крупных приложениях имелся свой IDE. Это ознаменовало начало эпохи расширения стандартных приложений при помощи IDE, интегрированных в сами приложения.

▍ 2. Borland C++ Builder и Delphi


Название Borland было известно всем в мире сред разработки ПО в 1980-х, 1990-х и до начала 2000-х. У Borland имелись знаменитый C++ Builder, Delphi как потомок Turbo Pascal, купленная компанией dBase и многое другое. При обсуждении IDE в 90-х было не обойтись без упоминания Borland. Многие из выдающихся приложений для Windows 90-х были написаны при помощи ПО Borland. Вузы учили молодых разработчиков на C++ в Borland Builder. Лично я сам изучал C и C++ в ПО Borland для DOS и Windows.

48b99acbwyzjpnyrhulzrybwu24.png

Десктопное приложение на C++ в Borland C++ Builder

Delphi была для Borland тем, чем был Visual Basic для Microsoft. В конце 90-х и начале 2000-х сообщества Visual Basic и Delphi были очень популярны. Delphi, являясь диалектом Object Pascal, жива по сей день и остаётся самым серьёзным конкурентом Microsoft Visual Basic. В обеих IDE Borland имелись продвинутые редакторы GUI, имевшие множество мелких преимуществ перед продуктами Microsoft. Кроме того, Borland предлагала более широкий спектр элементов управления пользовательским интерфейсом, а Microsoft придерживалась стандартных компонентов Windows.

sfzdfhvnj36jli7rb9wv-4e1ek4.png

IDE Delphi 4 компании Borland

Многие годы Borland C++ и Delphi конкурировали с Microsoft Visual C++ и Visual Basic. В этой фазе ожесточённой борьбы между Borland и Microsoft были придуманы одни из самых мощных функций, например, автозавершение кода, сложная подсветка синтаксиса, простые в использовании компоненты, упрощённые абстрактные системные API и многое другое. Многие помнят браузерные войны той эпохи, однако разработчики вспоминают и войны IDE, происходившие в то же время между Microsoft и Borland.

▍ 1. Microsoft Visual Studio


Номер один, неоспоримый чемпион в тяжёлом весе среди интегрированных сред разработки за тридцать лет — это Microsoft с её ПО Visual Studio, развивавшееся с Visual C++ и Visual Basic до Visual Studio .NET с C# и Visual Studio Code. С момента основания Microsoft компания делала упор на разработку ПО и инструменты для него. Microsoft BASIC был фундаментальным продуктом компании. Microsoft — гигант в продаже ПО, но по своей сути это гигант в разработке ПО.

-d_6z-lxtxevjywqccsaiskk9ty.gif

Microsoft Visual C++ 6.0 для Windows 95/98/NT4

Знаменитая речь (или, скорее, танец) Стива Балмера «разработчики, разработчики, разработчики» не просто стала Интернет-мемом на все времена. Она также подчеркнула важность для Microsoft постоянного привлечения разработчиков и обеспечение большой доли рынка в сообществе разработчиков ПО. Пока кто-то задавался вопросом, зачем Microsoft купила Github, инсайдеры хорошо понимали, что Microsoft не хочет позволить никому бросать ей вызов в мире инструментов и сервисов для разработки ПО.

c4ajqhde2q7qelc1xmvviehj8sc.png

Microsoft Visual Basic 3.0 для Windows 3.1

Microsoft Windows 3 и её графический интерфейс пользователя — не стали чем-то новым, ведь уже существовал Macintosh. Однако ситуацию полностью изменила Microsoft Visual Basic IDE. В Visual Basic появилась возможность перетаскивать элементы интерфейса или управления на холст окна. Благодаря этому, Microsoft начала в 1991 году эпоху визуального программирования. Разработчики теперь могли визуально проектировать приложение с чётким видением интерфейса пользователя, а значит, и UX. Это ознаменовало начало эры дизайна ПО для пользователей.

__dprw5gfqhk0r7bnziyucbihco.png

Microsoft Visual Basic 6.0 — успех Microsoft на рынке IDE

Visual Studio 6 стала поворотным моментом для Microsoft и Visual Studio. Это была первая Visual Studio для работы с базами данных, способностью собирать приложения и библиотеки для Windows, Pocket PC серверных приложений для IIS с ASP, элементы управления ActiveX, и многое другое. Кроме того, Visual Studio 6 можно было расширять, чтобы создавать сборки для платформ наподобие PalmOS. Компоненты ActiveX и COM позволили использовать в Windows сторонние компоненты.

oevki477g7grgcmxn6lck0xnxn0.jpeg

Microsoft Visual Studio .NET в Windows XP, 2002 год

В 2000 году Microsoft выпустила новый язык программирования C#, который станет соперником популярного языка Java и будет использовать новый фреймворк .NET. Фреймворк .NET был полной библиотекой классов, абстрагирующей Windows API. Также был выпущен Visual Basic .NET, дающий Visual Basic более беспроблемный доступ к функциональности Windows через фреймворк .NET. Microsoft Visual Studio продолжила эволюционировать и превратилась в богатую функциями монструозную среду, сравнимую с IntelliJ IDEA.

7klsudlafmzedi64lg1zh1tiekc.png

Последняя Visual Studio запросто может конкурировать с IntelliJ как в плохом, так и в хорошем

Учитывая, что IDE стали ещё больше, прожорливей к ресурсам и тяжеловесней, а все их функции и сложность не были нужны многим разработчикам, в начале 2010-х постепенно началась тенденция перехода более простым редакторам. Благодаря редакторам наподобие Sublime Text, выпущенному 2008 году, Github Atom, выпущенному в 2015 году и Notepad++, уже завоёвывавшему долю рынка с 2003 года, масштаб перехода от полнофункциональных IDE обратно к редакторам был существенным. Microsoft быстро отреагировала на эту тенденцию и выпустила в 2015 году легковесную среду разработки Visual Studio Code.

4d-sqhnm7djb5kuaclc_vvrew-q.png

Microsoft Visual Studio Code, сокращённо VSC или Code

Согласно опросу разработчиков, проведённому в 2022 году StackOverflow, 74,48% разработчиков использовало Visual Studio Code. Microsoft уже тридцать лет продолжает доминировать на рынке IDE, имея долю рынка намного больше 60%. Сегодня VSCode поддерживает все языки программирования, работает в Windows, macOS и Linux. Благодаря Github, Copilot она предоставляет самые современные функции автоматического завершения кода при помощи ИИ. Она поддерживает контроль версий, отладку, расширения и просто бесконечное количество возможностей.

Ни одна компания за прошедшие тридцать пять лет не внесла такой вклад в развитие интегрированных сред разработки, как Microsoft. Именно поэтому Microsoft и семейство Visual Studio заслуживают первого места в списке революционных IDE, повлиявших на разработку ПО.

Telegram-канал с розыгрышами призов, новостями IT и постами о ретроиграх

© Habrahabr.ru