О будущем

Feb 03, 2012 14:42

Почему [линуксовый] терминал и ssh до сих пор основной инструмент программистов ( Read more... )

идеи, веб-шмеб, важное, девелопмент, интерфейсы

Leave a comment

Comments 111

plumqqz February 3 2012, 10:46:49 UTC
А если я хочу запустить графический блокнот, что мне писать? Непонятно.

man X

Reply

tonsky February 3 2012, 11:35:07 UTC
That’s exactly my point!

Reply

plumqqz February 3 2012, 11:39:01 UTC
Ну а раз так, подумайте, почему он не получил за четверть века повального распространения, зато коммандлайн ни в какую вымирать не собирается.
Кстати, рисовать в терминале вполне можно (xterm умеет), только никто не помнит, как, скрин - это совсем-совсем не табы и т.п.

Reply

tonsky February 3 2012, 11:42:47 UTC
Так пост разве не об этом? Вроде бы я и рассказал, почему.

P.S. я как бы в курсе, что скрин - это табы + nohup, но nohup часть меня не очень сейчас интересует.

Reply


sorhed February 3 2012, 11:07:56 UTC
Хотел по привычке обосрать, но потом вкурил и понял, что таки да, это будет работать. Асинхронная командная строка лучше, чем синхронная, конечно.

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

Такое пытались сделать много раз, начиная с NeWS. Но каждый раз кагбе что-то останавливало. В случае с NeWS - не все могли писать руками на стековом языке (PostScript), для этого нужно особое устройство мозга.

Но сейчас-то ничего не мешает.

Reply

tonsky February 3 2012, 11:44:20 UTC
Vim был условный, я, конечно, не имел в виду, что какой-то софт автоматом в такой среде запустится. Надо всё заново строить.

Reply

sorhed February 3 2012, 11:50:20 UTC
Если всё заново строить - никакого будущего не наступит. Эволюция рулит.

Так вот, конкретно для вима я придумал адаптер, всё будет работать. Вим писали умные люди, в те времена, когда терминалы и так были полуасинхронными. :)

Ибо каких синхронных средств требует вим? Перемещение курсора и скроллинг.

С перемещением курсора всё просто: оно происходит только на клиенте, а когда нужно что-то напечатать - перед командой перехода в interactive mode вставляется команда, переводящая курсор сразу в нужное место.

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

Адаптация же произвольных curses-приложений а-ля mc, конечно, более сложное дело, но для proof-of-concept и не надо.

Можно делать.

Reply

plumqqz February 3 2012, 12:00:04 UTC
Найдите эмулятор 3270 и радуйтесь жизни.

Reply


sorhed February 3 2012, 11:12:33 UTC
И кроме того, терминал почему ещё получил такое распространение? Потому что рисовать гуй тяжело. Это умеет один программист из тысячи - я вот учился пять лет горьким опытом.

И даже на текстовой канве можно нарисовать такое говно... В качестве примера - инсталлятор FreeBSD. Или там консольный emacs. Ну отсутствует просто у людей часть мозга, отвечающая за визуальный дизайн.

Reply

(The comment has been removed)

sorhed February 3 2012, 11:28:16 UTC
К сожалению, это не так.

Верстальщик, конечно, может «сделать красиво», но, как правило, ничего не понимает в том, чтобы было удобно. Особенно программисту - у нас же речь о чисто программистских задачах?

Да и вообще специалистов по UX очень мало. Вот, спасибо афтару, просвещает народ, молодец он.

Reply

(The comment has been removed)


geekyfox February 3 2012, 11:45:27 UTC
я тебе предлагаю поразмышлять над несолькими вопросами:

1. для написания кода все используют либо предельно легковесный "чистый" текстовый редактор (vi/emacs/TextEdit/whatever), либо монструозную IDE (Visual Studio/Eclipse/XCode). почему отсутствует такой класс приложений, как "лёгкие" IDE?

2. для администрирования сайтов используется либо прямое манипулирование из консоли, либо специально нарисованные админки. почему никто не прикручивает ssh в качестве компонента админки?

Reply

sorhed February 3 2012, 11:53:35 UTC
1. Почему отсутствуют? Лёгкие IDE постоянно появляются, просто со временем обрастают мясом. Сейчас чем-то средним между лёгкой IDE и тяжёлым текстовым редактором можно считать Sublime Text 2. "Лёгкой IDE" когда-то была IntelliJ IDEA, но сейчас, конечно, это не так. :)

2. Потому что это тяжело. Была как-то весьма трогательная серия постов на хабре, как люди мучались и делали терминальный интерфейс на Javascript. Сделали. Но не опенсорс.

Reply

geekyfox February 3 2012, 12:34:52 UTC
Лёгкие IDE постоянно появляются

а покажите мне какую-нибудь лёгкую, изящную, современную IDE для джавы под макось! буду много благодарен!

можно считать Sublime Text 2

как следует из названия, IDE - это, всё же, нечто с эргономикой, заточенной под процесс разработки на конкретном языке. который отличается от языка к языку - в IDE для лиспа нужен REPL, в IDE для джавы нужен JUnit итд

поэтому текстовый редактор с педалькой вызова билд-системы - это ещё ни разу не IDE :-)

люди мучались и делали

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

но если эта идея так хороша и стояща - почему она не пошла в массы?

Reply

sorhed February 3 2012, 12:39:16 UTC
> а покажите мне какую-нибудь лёгкую, изящную, современную IDE для джавы под макось! буду много благодарен!

IntelliJ IDEA CE чем вас не устраивает?

> поэтому текстовый редактор с педалькой вызова билд-системы - это ещё ни разу не IDE :-)

В сублайме, как и в емаксе, есть modes.

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

Да, но не всегда это удаётся сделать хорошо и учесть все неизвестные. Кому удаётся - богатеет (ну, или просирает все полимеры, это когда как).

Reply


sorhed February 3 2012, 11:59:13 UTC
И ещё я прошу заметить, что идея отказаться от REPL не пришла в голову даже вам, как слишком радикальная. :)

Reply

tonsky February 3 2012, 14:42:35 UTC
Комбинировать гуёвые или веб-интерфейсы пока толком не научились, а такая гибкость бывает нужна.

Reply


Leave a comment

Up