Я интересуюсь созданием нового стиля IDE для параллельного проекта. Главным образом покончить с нормальным блокнотом на стероидах IDE. Я ищу некоторое вдохновение для вещей, которые попробовали или что Вы видели (или не), который выглядел прохладным и будет полезен, чтобы иметь в IDE. Вещи, с которыми я могу:
http://digitaltools.node3000.com/blog/1052-field-experimental-programming-suite
Как насчет интерактивного изменения кода по сети? То есть вы вносите изменения в код, и они автоматически обновляются на машине вашего приятеля в другой комнате. Это могло бы создать некоторые интересные методы разработки. Возможно, это приведет к полному хаосу, но эй! Это идея!
Редактирование: Я расширю это. Текущие системы репозиториев, такие как SVN или TFS, могут стать просто раздражающими при решении конфликтов. Если бы изменения, сделанные другим разработчиком, могли быть немедленно отражены в вашей системе, возможно, как-то выделены, тогда было бы проще понять, с чем не стоит связываться.
Кроме того, это настоящая боль, когда я редактирую одну функцию класса, а другой разработчик добавляет функцию в этот класс, и TFS обнаруживает конфликт, и мне приходится вручную разрешать его. Было бы здорово иметь возможность получить блокировку не на конкретный файл, а на конкретную область видимости. Таким образом, я мог бы проверить функцию и оставить остальную часть файла открытой для редактирования!
Эндрю Ко (бывший CMU, ныне профессор в U Wash) сосредоточил большую часть своей диссертации на том, чтобы позволить людям отлаживать, задавая вопросы "почему что-то произошло" или "почему не произошло". Проект назывался WhyLine, и у него даже была версия для Java.
Я, наверное, ужасный человек, чтобы говорить об этом, так как я использую IDE, как программирование со свинцовыми грузами на руках, но я полагаю, что может быть полезно получить представление об этой стороне забор. Любые интересные или экспериментальные идеи, которые придумывают люди, по-прежнему должны удовлетворять базовые потребности инструментов разработчика.
IDE обычно представляет собой своего рода редактор, отладчик и компилятор. Так как это три отдельные части инструмента, я пропущу их по отдельности
В настоящее время я использую vim, который дает мне 1, 2, 3 (с fuzzyfinder.vim / rails.vim), 4, 5 и очень плохой 8 (с syntastic.vim). У меня нет рефакторинга или анализа кода, и я очень скучаю по нему, но, IMO, это более чем стоит компромисса.
для отладки я использую ruby-debug, что на самом деле не так уж и хорошо. в основном вы получаете 1, 2 (больше причина рубина, чем рубиновая отладка) и 3, но это все.
Больше не использовать компилятор (слава богу), но отказ от него после использования его в течение 7 лет (по крайней мере, профессионально) действительно подчеркивает, какое ужасное влияние они оказывают на процесс разработки.