Почему исходный код только для текста? - PullRequest
5 голосов
/ 14 ноября 2011

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

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

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

  • включает изображения, Excel-данные, PDF и т. Д. ВНУТРИ исходного кода, чтобыобъяснить определенные структуры данных, включить (макетировать) скриншоты того, что клиент действительно хочет, и т. д. Конечно, с возможностью минимизировать / скрыть / сложить эти вещи.(преимущество этого по сравнению с отдельным файлом, очевидно, вы хотите хранить эту информацию вместе с вашим исходным кодом)

  • комментарии не в виде текста, а скорее как post-it-например, элементы, которые можно изменять, перемещать, щелкать и т. д.

  • Определения и экземпляры классов не в виде текста, а в виде интерактивных блоков объектов, возможно даже со значком, который можно быстро увидеть висходный код, к которому относится объект).

  • операторы, которые теперь представляют собой 2 символа как 1 символ.Например: -> в PHP как настоящая стрелка.

  • возможность использовать цвета, другой размер текста и другие инструменты макета внутри исходного кода (я не говорю об автоматической окраске синтаксисаиногда бывает удобно выделить определенные блоки текста, используя инструменты разметки, как вы это делаете в Word)

  • включают отдельные файлы в другой файл, но все еще могут редактировать /просматривать их, как если бы это был 1 файл (сравнимый с Adobe Illustrator, где вы можете поместить отдельные файлы в документ, но при этом иметь возможность редактировать их).

Я знаю много хардкорапрограммисты потрясены подобными вещами, но они все еще могут редактировать так, как они хотят, я просто думаю, что было бы неплохо иметь такие дополнительные возможности.С какой стати исходный код ЕЩЕ ОДИН текст, где так много других типов документов намного сложнее?

Кто-нибудь знает о каком-либо редакторе исходного кода, который обладает некоторыми из этих функций?

Ответы [ 3 ]

4 голосов
/ 15 ноября 2011

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

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

Этот пример взят из «Мастерства программного обеспечения: новый императив» Пита МакБрина (978-0201733860).

У Марии был маленький ягненок - ягненок принадлежит Марии, а не кому-либо еще

Мэри имела маленького ягненка - у нее его больше нет

У Марии был маленький ягненок - был только один

У Мэри был маленький ягненок - он был исключительно маленьким

у Мэри было немного баранины - все остальные ели курицу

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

Например, комментировать код с помощью «post-it» менее полезно, чем писать чистый читаемый код, который легко читают другие люди. На самом деле, совместное использование кода с другими разработчиками означает, что изменение размера и цвета текста потребует от других разработчиков вашего личного стиля, что нехорошо.

Некоторые из упомянутых вами идей уже доступны. Возможность просматривать диаграмму классов и переходить к коду, нажимая на «ящики» класса, является особенностью Visual Studio, равно как и организация нескольких файлов за одним файлом в древовидном представлении.

1 голос
/ 14 ноября 2011

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

КогдаВы соберете этот источник, и вы попадете в беду.Это может быть хорошо для примера, который вы упомянули, PHP, но для того, над чем я работаю (приложения C ++ в реальном времени для промышленности), мне нужен точный низкоуровневый контроль над источником, чтобы я точно знал, как работает мой кодскомпилирован.Это никогда не сработает для подавляющего большинства программистов, поэтому этого никогда не было.Целевая аудитория в лучшем случае мала.

0 голосов
/ 18 декабря 2016

То, что вы описываете, звучит очень похоже на https://en.wikipedia.org/wiki/Literate_programming для меня.

Был достигнут некоторый прогресс в этом, и некоторые из них полезны прямо сейчас

Шрифты с лигатурами(и редакторы с их поддержкой)

image and != rendered as symbols">

(https://github.com/tonsky/FiraCode in https://www.jetbrains.com/idea/)

Ноутбук Jupyter, хотявы не можете легко «запутать» исполняемый файл или библиотеку для конечных пользователей из него.

Jypyter Notebook screenshot from their website

(http://jupyter.org/)

Fortress(язык программирования от Sun)

Fortress поддерживал исходный код в utf-8 и поощрял его использование, особенно для пользовательских операторов. Они экспериментировали с набором исходного текста в редакторах (так как большая часть этого была вычислительной наукой,так много математики).

Упругие табуляции

Elastic tabstops demo from its website

(http://nickgravgaard.com/elastic-tabstops/)

Заключение

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

...