Ну а раз так, подумайте, почему он не получил за четверть века повального распространения, зато коммандлайн ни в какую вымирать не собирается. Кстати, рисовать в терминале вполне можно (xterm умеет), только никто не помнит, как, скрин - это совсем-совсем не табы и т.п.
Хотел по привычке обосрать, но потом вкурил и понял, что таки да, это будет работать. Асинхронная командная строка лучше, чем синхронная, конечно.
Но я вам скажу, что если хочется полной асинхронности, то никакой vim нельзя будет запустить на сервере, он рассчитан на работу с синхронными терминалами. Нужен текстовый редактор на клиентской стороне.
Такое пытались сделать много раз, начиная с NeWS. Но каждый раз кагбе что-то останавливало. В случае с NeWS - не все могли писать руками на стековом языке (PostScript), для этого нужно особое устройство мозга.
Если всё заново строить - никакого будущего не наступит. Эволюция рулит.
Так вот, конкретно для вима я придумал адаптер, всё будет работать. Вим писали умные люди, в те времена, когда терминалы и так были полуасинхронными. :)
Ибо каких синхронных средств требует вим? Перемещение курсора и скроллинг.
С перемещением курсора всё просто: оно происходит только на клиенте, а когда нужно что-то напечатать - перед командой перехода в interactive mode вставляется команда, переводящая курсор сразу в нужное место.
Скроллинг асинхронным, понятно, не сделаешь, но это и не нужно - до получения юзером информации он всё равно не может вводить никакие команды. Действие с клиента всегда можно отменить, понятно.
Адаптация же произвольных curses-приложений а-ля mc, конечно, более сложное дело, но для proof-of-concept и не надо.
И кроме того, терминал почему ещё получил такое распространение? Потому что рисовать гуй тяжело. Это умеет один программист из тысячи - я вот учился пять лет горьким опытом.
И даже на текстовой канве можно нарисовать такое говно... В качестве примера - инсталлятор FreeBSD. Или там консольный emacs. Ну отсутствует просто у людей часть мозга, отвечающая за визуальный дизайн.
Верстальщик, конечно, может «сделать красиво», но, как правило, ничего не понимает в том, чтобы было удобно. Особенно программисту - у нас же речь о чисто программистских задачах?
Да и вообще специалистов по UX очень мало. Вот, спасибо афтару, просвещает народ, молодец он.
я тебе предлагаю поразмышлять над несолькими вопросами:
1. для написания кода все используют либо предельно легковесный "чистый" текстовый редактор (vi/emacs/TextEdit/whatever), либо монструозную IDE (Visual Studio/Eclipse/XCode). почему отсутствует такой класс приложений, как "лёгкие" IDE?
2. для администрирования сайтов используется либо прямое манипулирование из консоли, либо специально нарисованные админки. почему никто не прикручивает ssh в качестве компонента админки?
1. Почему отсутствуют? Лёгкие IDE постоянно появляются, просто со временем обрастают мясом. Сейчас чем-то средним между лёгкой IDE и тяжёлым текстовым редактором можно считать Sublime Text 2. "Лёгкой IDE" когда-то была IntelliJ IDEA, но сейчас, конечно, это не так. :)
2. Потому что это тяжело. Была как-то весьма трогательная серия постов на хабре, как люди мучались и делали терминальный интерфейс на Javascript. Сделали. Но не опенсорс.
а покажите мне какую-нибудь лёгкую, изящную, современную IDE для джавы под макось! буду много благодарен!
можно считать Sublime Text 2
как следует из названия, IDE - это, всё же, нечто с эргономикой, заточенной под процесс разработки на конкретном языке. который отличается от языка к языку - в IDE для лиспа нужен REPL, в IDE для джавы нужен JUnit итд
поэтому текстовый редактор с педалькой вызова билд-системы - это ещё ни разу не IDE :-)
люди мучались и делали
любую вещь обязательно кто-нибудь уже пробовал делать - просто по причине закона больших чисел в применении к планете с несколькими миллиардами людей.
но если эта идея так хороша и стояща - почему она не пошла в массы?
> а покажите мне какую-нибудь лёгкую, изящную, современную IDE для джавы под макось! буду много благодарен!
IntelliJ IDEA CE чем вас не устраивает?
> поэтому текстовый редактор с педалькой вызова билд-системы - это ещё ни разу не IDE :-)
В сублайме, как и в емаксе, есть modes.
> любую вещь обязательно кто-нибудь уже пробовал делать - просто по причине закона больших чисел в применении к планете с несколькими миллиардами людей.
Да, но не всегда это удаётся сделать хорошо и учесть все неизвестные. Кому удаётся - богатеет (ну, или просирает все полимеры, это когда как).
Comments 111
man X
Reply
Reply
Кстати, рисовать в терминале вполне можно (xterm умеет), только никто не помнит, как, скрин - это совсем-совсем не табы и т.п.
Reply
P.S. я как бы в курсе, что скрин - это табы + nohup, но nohup часть меня не очень сейчас интересует.
Reply
Но я вам скажу, что если хочется полной асинхронности, то никакой vim нельзя будет запустить на сервере, он рассчитан на работу с синхронными терминалами. Нужен текстовый редактор на клиентской стороне.
Такое пытались сделать много раз, начиная с NeWS. Но каждый раз кагбе что-то останавливало. В случае с NeWS - не все могли писать руками на стековом языке (PostScript), для этого нужно особое устройство мозга.
Но сейчас-то ничего не мешает.
Reply
Reply
Так вот, конкретно для вима я придумал адаптер, всё будет работать. Вим писали умные люди, в те времена, когда терминалы и так были полуасинхронными. :)
Ибо каких синхронных средств требует вим? Перемещение курсора и скроллинг.
С перемещением курсора всё просто: оно происходит только на клиенте, а когда нужно что-то напечатать - перед командой перехода в interactive mode вставляется команда, переводящая курсор сразу в нужное место.
Скроллинг асинхронным, понятно, не сделаешь, но это и не нужно - до получения юзером информации он всё равно не может вводить никакие команды. Действие с клиента всегда можно отменить, понятно.
Адаптация же произвольных curses-приложений а-ля mc, конечно, более сложное дело, но для proof-of-concept и не надо.
Можно делать.
Reply
Reply
И даже на текстовой канве можно нарисовать такое говно... В качестве примера - инсталлятор FreeBSD. Или там консольный emacs. Ну отсутствует просто у людей часть мозга, отвечающая за визуальный дизайн.
Reply
(The comment has been removed)
Верстальщик, конечно, может «сделать красиво», но, как правило, ничего не понимает в том, чтобы было удобно. Особенно программисту - у нас же речь о чисто программистских задачах?
Да и вообще специалистов по UX очень мало. Вот, спасибо афтару, просвещает народ, молодец он.
Reply
(The comment has been removed)
1. для написания кода все используют либо предельно легковесный "чистый" текстовый редактор (vi/emacs/TextEdit/whatever), либо монструозную IDE (Visual Studio/Eclipse/XCode). почему отсутствует такой класс приложений, как "лёгкие" IDE?
2. для администрирования сайтов используется либо прямое манипулирование из консоли, либо специально нарисованные админки. почему никто не прикручивает ssh в качестве компонента админки?
Reply
2. Потому что это тяжело. Была как-то весьма трогательная серия постов на хабре, как люди мучались и делали терминальный интерфейс на Javascript. Сделали. Но не опенсорс.
Reply
а покажите мне какую-нибудь лёгкую, изящную, современную IDE для джавы под макось! буду много благодарен!
можно считать Sublime Text 2
как следует из названия, IDE - это, всё же, нечто с эргономикой, заточенной под процесс разработки на конкретном языке. который отличается от языка к языку - в IDE для лиспа нужен REPL, в IDE для джавы нужен JUnit итд
поэтому текстовый редактор с педалькой вызова билд-системы - это ещё ни разу не IDE :-)
люди мучались и делали
любую вещь обязательно кто-нибудь уже пробовал делать - просто по причине закона больших чисел в применении к планете с несколькими миллиардами людей.
но если эта идея так хороша и стояща - почему она не пошла в массы?
Reply
IntelliJ IDEA CE чем вас не устраивает?
> поэтому текстовый редактор с педалькой вызова билд-системы - это ещё ни разу не IDE :-)
В сублайме, как и в емаксе, есть modes.
> любую вещь обязательно кто-нибудь уже пробовал делать - просто по причине закона больших чисел в применении к планете с несколькими миллиардами людей.
Да, но не всегда это удаётся сделать хорошо и учесть все неизвестные. Кому удаётся - богатеет (ну, или просирает все полимеры, это когда как).
Reply
Reply
Reply
Leave a comment