Что для вас «эффективность и удобство»? Действительно ли у вас объективно уходит столько же времени в vim, сколько у меня в IDE на один и тот же более-менее сложный рефакторинг?
Вы правильно понимаете, для вас IDE сделает все быстрее и удобнее.
А для вас? Мы ведь оцениваем сейчас клики мышкой и набор клавиатурных команд. Мы с вами обсуждаем сейчас только рефакторинг. И я пытаюсь перевести дискуссию в некоторое объективное русло. Нравится или нет — вопрос субъективный. Я хочу сказать, что выполнение рефакторинга в IDE дает следующие преимущества над vim:
Операция требует меньше нажатий клавиш на клавиатуре или перемещений мыши. То есть выполняется объективно быстрее
IDE способна автоматизировать некоторое дополнительные действия, которые требуется выполнять программисту в процессе поскольку знает контекст выполняемой операции. Например, изменение области видимости членов класса. Это ускоряет операцию и снижает число ошибок, которые может допустить программист
IDE способна понять, что выполнить какую-то операцию невозможно и сказать об этом программисту, поскольку знает контекст выполняемой операции. Это ускоряет операцию и снижает число ошибок, которые может допустить программист
Я понимаю вашу аналогию с автобусом и автомобилем, но она говорит лишь о том, что о вкусах не спорят. Я же пытаюсь привнести объективность в нашу дискуссию. Я понимаю, что вам нравится vim, а мне IDE. У каждого варианта есть достоинства и недостатки. Но мы обсуждаем конкретный случай — рефакторинг. Что эффективнее и удобнее использовать программисту в данном случае — vim или IDE?
Правильно ли я понимаю, что если оценивать трудозатраты как клики мышкой и нажатия клавиш на клавиатуре, IDE сделает это быстрее и удобнее (за счет некоторых других недостатков, таких как время запуска, невозможность запуска непосредственно на сервере, громоздкость и прочее)?
PHPStorm, скажем, еще исправляет объявление видимости членов класса, если это необходимо. Нет необходимости открывать файл, в котором содержится целевой класс и так далее.
Я все же считаю, что удобство несравнимо. Даже простом переименовании IDE позаботится о контексте, совпадающих именах, проверит, нет ли пересечений с существующими именами, проверит комментарии и другие ссылки на элемент. И потом — рефакторинг не ограничивается названиями. Скажем, я часто пользуюсь Pull / Push member рефакторингом.
Я понимаю, что в Notepad++ я тоже могу все это сделать, но с другими трудозатратами.
Рефакторинг не обязательно затрагивает интерфейс. Он может быть внутренним для модуля. Вы ведь не хотите сказать, что код в больших проектах никто не рефакторит?
большая часть нас использует очень традиционные редакторы вроде Vim, Emacs, SublimeText, и даже Acme, а это не то, что большая часть людей думает как об IDE
Мне всегда казалось, что рефакторинг кода выполнять в IDE гораздо проще, чем просто в текстовом редакторе с подсветкой. Неужели это совсем не нужно ребятам, которые создали Go?
Вот теперь понял. Прошу прощения. Я уже как-то давно не интересовался наличием русскоязычной документации у продуктов, которыми пользуюсь. Мне кажется, что программистам она не должна быть нужна, но все равно приятно.
новые функции, более высокая производительность, более компактные форматы
Не подумайте, что я не уважаю ваше начинание. То, что вы придумали новый формат и инструменты для него — замечательно. Однако…
В чем прелесть XML? Он реализован под все платформы, «человекочитаемый», для него созданы схемы данных (условно человекочитаемые)
Вам не удалось ни одной прелести XML повторить в вашей работе, не так ли? И у меня возникает вопрос, не произошла ли подмена тезиса? Вы собирались создать альтернативу XML, а получился конкурент для protobuf, messagepack и их друзей.
Ведь XML — это не только XML, как формат передачи данных. Это еще и XML Schema, DTD и куча сопутствующих технологий. Я не уверен, что у вас получился конкурент существующему стеку.
Человекочитаемость запланирована через Редактор, с GUI, без предварительного обучения, а не через «парсер»
Человекочитаемость протокола — это возможность его чтения человеком из сырого вида, без предварительного преобразования. Например, HTTP 1.x — в основном человекочитаемый. А вот HTTP 2.x — уже нет, поскольку он бинарный. И если у меня есть WireShark, это все равно не означает, что HTTP 2.x стал для меня человекочитаемым.
Для того, чтобы удовлетворить эго покупателя, который жаждет всего самого передового, например. Я думаю, при принятии решения о покупке «новой модели Х» это, часто, самый главный аргумент.
Ну, разумеется, новые модели иногда экономичнее, поддерживают новые стандарты, дают больше комфорта, и т.д. Но все же в программировании нас волнует немного другое, как правило.
А для вас? Мы ведь оцениваем сейчас клики мышкой и набор клавиатурных команд. Мы с вами обсуждаем сейчас только рефакторинг. И я пытаюсь перевести дискуссию в некоторое объективное русло. Нравится или нет — вопрос субъективный. Я хочу сказать, что выполнение рефакторинга в IDE дает следующие преимущества над vim:
Я понимаю вашу аналогию с автобусом и автомобилем, но она говорит лишь о том, что о вкусах не спорят. Я же пытаюсь привнести объективность в нашу дискуссию. Я понимаю, что вам нравится vim, а мне IDE. У каждого варианта есть достоинства и недостатки. Но мы обсуждаем конкретный случай — рефакторинг. Что эффективнее и удобнее использовать программисту в данном случае — vim или IDE?
PHPStorm, скажем, еще исправляет объявление видимости членов класса, если это необходимо. Нет необходимости открывать файл, в котором содержится целевой класс и так далее.
Я понимаю, что в Notepad++ я тоже могу все это сделать, но с другими трудозатратами.
Мне всегда казалось, что рефакторинг кода выполнять в IDE гораздо проще, чем просто в текстовом редакторе с подсветкой. Неужели это совсем не нужно ребятам, которые создали Go?
Разумеется, претензии к переводчику не имеют отношения. За перевод — плюс.
Но я так и не понял, почему Go плохой или хороший. Кстати, он плохой или хороший? ;)
Мне всегда казалось, что документация — это не приятный бонус, а must-have для серьезной системы.
Но все равно — очень рад релизу. Postgres еще, видать, не весь мир завоевал ;)
Не подумайте, что я не уважаю ваше начинание. То, что вы придумали новый формат и инструменты для него — замечательно. Однако…
Вам не удалось ни одной прелести XML повторить в вашей работе, не так ли? И у меня возникает вопрос, не произошла ли подмена тезиса? Вы собирались создать альтернативу XML, а получился конкурент для protobuf, messagepack и их друзей.
Ведь XML — это не только XML, как формат передачи данных. Это еще и XML Schema, DTD и куча сопутствующих технологий. Я не уверен, что у вас получился конкурент существующему стеку.
Человекочитаемость протокола — это возможность его чтения человеком из сырого вида, без предварительного преобразования. Например, HTTP 1.x — в основном человекочитаемый. А вот HTTP 2.x — уже нет, поскольку он бинарный. И если у меня есть WireShark, это все равно не означает, что HTTP 2.x стал для меня человекочитаемым.
Ну, разумеется, новые модели иногда экономичнее, поддерживают новые стандарты, дают больше комфорта, и т.д. Но все же в программировании нас волнует немного другое, как правило.
Можно поподробнее? Что вы имеете ввиду?