Я тут сделал доклад в JetBrains (внутренний, сорян) про будущее IDE. И после доклада было много вопросов из серии “Но ведь будущее определенно за Х, а вы его даже не рассматриваете”. Отвечаю.
Ну я в обратном направлении сбежал, когда заметил, что перемещение курсора тормозит. Ну и количество фич и скорость, с которой все менятеся, на самом деле напрягает. Хочется как-то уже разработкой заниматься, а не каждый месяц читать ченжлоги на сорок экранов.
Перемещение курсора - далеко не главная фича. Особенно если это действительно твой ежедневный инструмент и ты не поленился выучить/настроить хоткеи. У себя в редакторе я могу например прыгнуть в начало формы, в конец формы, удалить форму внутри которой стоит курсор итд. Это намного важнее чем скорость перемещения посимвольно.
Главная проблема современных IDE - неудобные, некосистентные и непродуктивные интерфейсы, и, как следствие, нежелание программистов их осваивать. Поэтому фокус смещается на совершенно неважные вещи типа скорости старта, перемещения курсора и нескучные шрифты.
Перемещение курсора - не проблема, а показатель. Если даже такая простая операция демонстрирует нестабильный фреймрейт, чего же там в более сложных случаях?
IDE это не FPS игра и не фильм - оно не обязано долбить по 60 кадров секунду. Это инструмент, который помогает тебе писать корректный код. Если IDE полсекунды подумает и сэкономит мне полчаса поисков ошибки - я согласен. К тому же перемещение курсора - не такая уж и простая операция, может все что угодно случиться: подсветиться скобка, выскочить попап с докстрингом, заработать спеллчекер. Нужно ли все это выкинуть чтобы курсор мигал бодрее - точно нет. Можно ли все это забатчить, чтобы это происходило в фоне и не мешало курсору - наверное да, но это не приоритетная задача имхо. Мне приоритетнее фичи, которые будут помогать мне писать код, пусть даже они и будут притормаживать.
IDE это не FPS игра и не фильм - оно не обязано долбить по 60 кадров секунду. Это инструмент, который помогает тебе писать корректный код. Если IDE полсекунды подумает и сэкономит мне полчаса поисков ошибки - я согласен. К тому же перемещение курсора - не такая уж и простая операция, может все что угодно случиться: подсветиться скобка, выскочить попап с докстрингом, заработать спеллчекер. Нужно ли все это выкинуть чтобы курсор мигал бодрее - точно нет. Можно ли все это забатчить, чтобы это происходило в фоне и не мешало курсору - наверное да, но это не приоритетная задача имхо. Мне приоритетнее фичи, которые будут помогать мне писать код, пусть даже они и будут притормаживать.
Не игра, а знак того что запрограммировано хуево. Если у машины болтаются ручки и свистит ветер свозь щели вообще говоря не значит что она будет плохо ездить, но обычно такие вещи коррелируют. Ты можешь не обращать на это внимание, так же как можешь ходить в запачканной одежде или есть из грязной посуды недоприготовленную еду - функция-то выполняется. Просто когда эти функции выполняются у всех, можно начать выбирать по критериям следующего уровня.
Насчет "запрограммировано хуево" - в крупных проектах всегда есть места, которые заимплементированы неидеально. Это не показатель лени/игноранса программистов - очень часто это показатель приближения к пределам человеческих и временных ресурсов. Выбор делается не между хорошо и плохо, а между хоть как-то и никогда. Но это пожалуй тема для отдельной статьи
( ... )
Reply
Reply
Reply
Reply
Reply
Reply
Reply
Reply
Reply
Reply
Reply
Reply
Reply
Leave a comment