Безглючный софт
Jan. 25th, 2010 11:57 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Совершенно неожиданный оборот приняла одна ветка в дискуссии про психологов:
Нормальный человек, севший за компьютер, при наличии "специалиста по неглючному софту" сталкивался бы с глючным софтом в 10 раз реже, чем обычно. Вот Вы браузеры раскритиковали - так с ними положение близко к идеальному, тут я могу для такого человека выступить экспертом, пусть ставит фаерфокс и не парится. А что делать с window manager'ами, desktop environment'ами и т.п.? Я не знаю ни одного не то что нормального - хотя бы терпимого.
Короче, у меня к Вам (или любому популярному ЖЖисту, прочитавшему данный коммент) предложение. Давайте устроим флешмоб "нормальный софт". Каждый рассказывает про свой любимый неглючный софт в стиле "как начать с этим работать без проблем" и оставляет ссылку в записи, инициировавшей флешмоб. А потом дружно читаем и наслаждаемся.
Честно сказать, у меня весьма скептическое отношение к этой идее
os80.
Но отчего бы не попробовать?
Нормальный человек, севший за компьютер, при наличии "специалиста по неглючному софту" сталкивался бы с глючным софтом в 10 раз реже, чем обычно. Вот Вы браузеры раскритиковали - так с ними положение близко к идеальному, тут я могу для такого человека выступить экспертом, пусть ставит фаерфокс и не парится. А что делать с window manager'ами, desktop environment'ами и т.п.? Я не знаю ни одного не то что нормального - хотя бы терпимого.
Короче, у меня к Вам (или любому популярному ЖЖисту, прочитавшему данный коммент) предложение. Давайте устроим флешмоб "нормальный софт". Каждый рассказывает про свой любимый неглючный софт в стиле "как начать с этим работать без проблем" и оставляет ссылку в записи, инициировавшей флешмоб. А потом дружно читаем и наслаждаемся.
Честно сказать, у меня весьма скептическое отношение к этой идее
![[livejournal.com profile]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
Но отчего бы не попробовать?
no subject
Date: 2010-01-25 10:37 am (UTC)emacs: вроде редактор, но тяжёлый
no subject
Date: 2010-01-25 11:14 am (UTC)no subject
Date: 2010-01-25 12:12 pm (UTC)no subject
Date: 2010-01-25 12:29 pm (UTC)Вряд ли оно умеет:
- Run -> as JUnit test
- Run -> as Java main
- интеграцию с Subversion с визуальным сравнением и просмотром истории
- локальную историю файлов
- Автоматическую компиляцию исходников-копирование файлов по мере сохранения
А без этого мне IDE не нужно, вима хватит для остального.
no subject
Date: 2010-01-25 01:45 pm (UTC)Локальной истории и автокомпиляции при сохранении нет, увы. Меня устраивает для мелких проектов, а с вимом у меня почему-то не складывается, тем более, что IDE-шные расширения не заводятся.
no subject
Date: 2010-01-25 09:52 pm (UTC)make test
make main
kdiff3 ... + git / hg на выбор
wtf?
hook в emacs'е
no subject
Date: 2010-01-26 08:40 am (UTC)Нет.
Run as JUnit test я могу на любой класс ткнуть, а в make (вернее, в ant) надо будет его явно прописать.
"make main"
Нет, смотри выше. Я могу любой класс запустить руками, а в make надо будет прописать.
Согласен, что я могу написать костылей и для этого, но тут просто костыли и баги перемещаются из кода IDE в мой.
"wtf?"
Автоматическое сохранение всех версий файла, с возможностью их смотреть потом. Как распределенный контроль версий, только простой, локальный и автоматический. Согласен, костыль, но костыль удобный.
"hook в emacs'е"
Я правильно понял, что писать его мне?
no subject
Date: 2010-01-26 08:49 am (UTC)Гм, я видать чего-то не понимаю.
Речь идёт о запуске тестов на конкретный класс?
А зачем?
У меня пакеты из 1500 запросов на СУБДшу идёт 5 минут. Через пять минут я знаю что где отломал.
Не нравится? Включаю-отключаю пакеты.
Гранулярность на уровне класса - ИМХО бесполезная фича. Модуль -да, на него юнит-тесты нужны - ну и пишем тестирование модуля.
cd test && make module_name
Чем плохо?
Тут я вообще в осадок выпадаю. Что значит "запустить класс"? Ему же окружение нужно, собственно, программа что его использует. Это тесты. Я неправ?
Да. XML-конфиги ведь пишешь? А тут тоже самое, только Lisp, а не XML
no subject
Date: 2010-01-26 09:39 am (UTC)А зачем?"
Поменял - запустил - поменял - запустил. Конкретный тест. Полный набор тестов долго отрабатывает и вообще требует специального окружения.
"Что значит "запустить класс"? Ему же окружение нужно, собственно, программа что его использует."
Любой класс с public static void main(String[]) можно запустить, как программу.
А окружение его - это build path проекта.
"Да. XML-конфиги ведь пишешь?"
XML-конфиги не полны по Тьюрингу, соответственно, там нельзя сделать целого класса весёлых багов, которые можно сделать в "настройках" emacs. Их не надо обычно отлаживать.
Плюс - XML-конфиги являются частью проекта, а "настройки" emacs - чистый yak shaving.
no subject
Date: 2010-01-26 09:52 am (UTC)Я не очень понимаю, откуда окружение возьмётся для тестируемого твоим способом класса. Его IDE напишет?
no subject
Date: 2010-01-26 11:33 am (UTC)Да, поддержку Build Path я тоже ожидаю от IDE.
no subject
Date: 2010-01-26 11:43 am (UTC)Откуда берётся программа, что тестирует класс?
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2010-01-26 09:53 am (UTC)Гм, ну как минимум в Питоне тоже самое можно сделать на уровне языка, пускалку по имени класса в том числе.
Смысла вижу мало, но написать можно.
testClass( package.module.className )
no subject
Date: 2010-01-26 11:33 am (UTC)no subject
Date: 2010-01-26 11:43 am (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2010-01-26 09:55 am (UTC)На тему багов надуманная проблема, моё ИМХО.
А вот зачем делать конфиги частью ПРОЕКТА я в уме не приложу. Нужна интеграция с системой контроля версий?
Ну так в hook помещаем коммиты...
no subject
Date: 2010-01-26 10:06 am (UTC)Это мы, хардкорные специалисты по unix конфиги своих fvwm-ов и emacs-ов десятилетиями холим и лелеем. Обживаем рабочую среду, как родной дом, и упаси боже авторов какого-нибудь x.org нам что-нибудь сломать.
А у них проект - как офисный кубикл. Пришел на работу в какую-нибудь команду, значит ходишь строем, делаешь так как в этой команде положено.
no subject
Date: 2010-01-26 10:12 am (UTC)no subject
Date: 2010-01-26 11:34 am (UTC)В отличие от настроек emacs, которые не являются полезным кодом, а являются кодом паразитным.
no subject
Date: 2010-01-26 11:44 am (UTC)Вам отсутствие полноты по Тьюрингу или ехать?
no subject
Date: 2010-01-26 11:55 am (UTC)В любом другом случае это код, который повышает функциональность данного конкретного разработчика и его рабочего места.
(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2010-01-26 09:00 am (UTC)Жуть какая. И как вы с этим ant-ом живете? В make шаблонное правило для подобного случая пишется один раз. Причем даже не для каждого проекта а для всего множества проектов конторы.
no subject
Date: 2010-01-26 09:40 am (UTC)no subject
Date: 2010-01-26 09:46 am (UTC)no subject
Date: 2010-01-26 11:32 am (UTC)(no subject)
From:(no subject)
From: