Подсветка синтаксиса

    Возможно вам, как и мне хотелось узнать, как давно в наших редакторах используется подсветка синтаксиса. Кто ее придумал, когда это произошло…

    Из того, что удалось накопать:
    Одним из первых, а возможно и первым редактором с подсветкой синтаксиса был LEXX (Live Parsing Editor), написанный для операционной системы VM, с целью компьютеризации Oxford English Dictionary. Было это в далеком 1985 году, а автором редактора была, судя по всему — IBM. Помимо этого редктор умел автоматически делать отступы, что тоже весьма полезно.


    Интересно также то, что у редактора VIM, подсветка появилась аж в 1998 году, в версии 5.1
    А перелопатив лог изменений в Emacs'е, мне так и не удалось найти там упоминания о появлении такой полезной функциональности.

    В большинстве редакторов функция подсветки кода делается на основе сопоставления с образцом, либо на основе регулярных выражений. Что не совсем оптимально и может потребовать много ресурсов, особенно для больших файлов, потому некоторые редакторы подсвечивают только видимый на экране фрагмент текста. Возможно именно ресурсоемкость задумки (особенно для тогдашних компьютеров) и была причиной того, что эта функциональность была реализована достаточно недавно, по компьютерным меркам. А возможно это связанно с отсутствием такой потребности — ч/б мониторы.
    Поделиться публикацией
    Похожие публикации
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама
    Комментарии 29
    • –1
      В FAR-е colorer plugin появился, кажется, в 99.
      • +2
        ну только не обязательно ч/б, двухцветные, так точнее.
        • –2
          не видел двухцветных, но успел посидеть за «трёхцветными», а точнее, монохромными :)
          цвет в таких мониторах был один — зелёный, и в зависимости от яркости подсветки цвет пикселей менялся от чёрного (тёмнозелёного) до белого (светлозелёного)
          • 0
            Это и есть двухцветный монитор.
            Цвета чёрный и зелёный.
            Ваш К. О.
            • 0
              а как же белый?
              если так считать, то цвет там всего один — зелёный
              • 0
                Признаться, не видел таких мониторов.
                Чёрный фон, зелёное свечение — видел.
                Не очень понятно, как монохромный монитор стал трёхцветным :)
        • 0
          мне вообще сложно представить, как можно было что-то делать без подсветки кода?)
          • +3
            Помнится java для меня начиналась с notepad, ничего нормально было :) Правда сейчас без подсветки, автокомплита и т.д. и т.п. уже будет сложновато.
            • +2
              Честно говоря, подсветка, комплит и прочее еще пережить можно… Действительно болезненно — это невозможность autoindent сделать нажатием на tab :)
          • +6
            В 92-93 годах подсветка синтаксиса появилась в продуктах Борланда — Turbo Pascal 7.0, Turbo Pascal for Windows, Borland C++ и т.д.
            • +1
              в 92-м был ТП4.5, затем стремительно в 93-м вышел 6.0, а семёрка вышла чуть позже, в 95-м, если мне память не изменяет
            • +5
              Даже не поверила сразу в рсс, что это вся статья. хотелось побольше )
              • +1
                Мне бы тоже хотелось, но это все что я смог «наисследовать».
                • 0
                  Ну, можно было б рассказать про стандартные алгоритмы подсветки кода. Рассмотреть их плюсы и минусы.
                  • +2
                    Это конечно интересно, но мало относится к теме истории. Да и не тот я, кто бы мог рассуждать о алгоритмах и их достоинствах/недостатках. Так что — извините.

                    Но если крато, из того, что встретил, пока искал: большинство алгоритмов, как говорилось — на основе регулярных выражений или поиска определенных шаблонов текста. Они медленные и ресурсоемкие. Как пример, где-то ранее встречал высказывание разработчиков толи VIM'а, то ли еще чего-то, про подсветку PHP, они сказали, что отказались от ее полноценной поддержки ввиду неимоверно большого набора стандартных функций данного языка, была озвучена цифра — более 1000. Сказали, что это будет тормозить. Вот, зато такой способ реализации подсветки — легок в реализации и как мне кажется, позволяет вынести эту проблему на плечи пользователей, т.е. пользователю достаточно легко самомстоятельно описать синаксис языка в специальном подключаемом файле и использовать его с своим любимым редактором.

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

                    Мое мнение, что с ростом вычислительных мощностей, недостатки первого метода исчезают, а вот сложность второго не уменьшается. Так что особой альтернативы нет.
              • +6
                Авторам первого редактора с подсветкой кода приходилось писать этот редактор без подсветки кода…
                • +3
                  Первопроходцам всегда сложно.
                  Кстати, а вы не задумывались, как делаются станки, которые делают станки? Или как делаются роботы, которые делают роботов?

                  Тут широкое поле для фантазии ;)
                  • +1
                    Угу, или как делали самый первый ассемблер? И самый первый компилятор языка высокого уровня?
                    А то сейчас выходит так, что gcc компилируется на gcc :)
                • 0
                  А в vi (не vim) подсветка появилась ещё раньше, и была двух типов — bold и не bold.
                  А ещё есть mcedit и его клоны.
                  • +1
                    в 93году была подсветка синтаксиса в FoxPro, Oracle, некоторых текстовых редакторах общего профиля (с распознованием языков, список служебных слов в файлах), TurboPascal 4.5-6.0/7.0(95г), SuperCalc, Framework — почему-то больше вспоминаются именно СУБД. Причём, практически все умели распознавать монохромные мониторы и переходили на спец-моду для монохрома (bold, underline, blink).
                    afair
                    • +3
                      LEXX :) А иногда он напевал гимн Брюннен Джи
                      • 0
                        Кстати, стандартный редактор Acme для Limbo, подсветки синтаксиса не имеет принципиально.
                        • 0
                          Да, он вообще какой-то принципиально не такой.
                          Интересно его создатели действительно им пользуются или это какой-то стеб. Я пробовал его на вид — мало того, что он непонятный, заточка под управление мышкой, это шаг вперед, два назад. Я в него не верю.
                          • 0
                            Говорят пользуются. Хотя ориентирование на мышь действительно странно.
                        • +2
                          В лексиконе (если кто помнит, что это) была подсветка, там даже было превью печати в графике (выглядело страшно, но тогда увидеть живьём болд, италик и прочее было уже круто). Википедия, как бы говорит нам, что он появился в 1985-ом, была ли там сразу подсветка неизвестно, но на мой взгляд соперник для Oxford English Dictionary подходящий :) (хотя там не код подсвечивался, но ведь редактор с подсветкой был!).
                          • 0
                            Да, Лексикон в своё время рулил! Я в нём как-то в качестве школьной лабы сделал бланк какой-то справки, которая требовалась в пионерские лагеря (086-У, если не ошибаюсь). В поликлиниках их тогда уже начали продавать за какие-то деньги, а я печатал в школе и продавал знакомым вдвое дешевле %)
                          • +2
                            Подсветка синтаксиса и форматирование кода — это две самых замечательных вещи, которые были придуманы программистами для программистов.
                            • +2
                              В emacs подсветка появилась в 19 версии. Ищите в файле NEWS.19 с конца по слову font и font-lock (так называется подсветка в терминах emacs). Ранее font-lock не упоминался. В шапке файла указан 1992 год.

                              В Википедии указано, что 19.28 вышел в 1994, но font-lock появился раньше этой версии, до 19.8.

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