vitus_wagner: My photo 2005 (Default)
[personal profile] vitus_wagner
Совершенно неожиданный оборот приняла одна ветка в дискуссии про психологов:
Нормальный человек, севший за компьютер, при наличии "специалиста по неглючному софту" сталкивался бы с глючным софтом в 10 раз реже, чем обычно. Вот Вы браузеры раскритиковали - так с ними положение близко к идеальному, тут я могу для такого человека выступить экспертом, пусть ставит фаерфокс и не парится. А что делать с window manager'ами, desktop environment'ами и т.п.? Я не знаю ни одного не то что нормального - хотя бы терпимого.

Короче, у меня к Вам (или любому популярному ЖЖисту, прочитавшему данный коммент) предложение. Давайте устроим флешмоб "нормальный софт". Каждый рассказывает про свой любимый неглючный софт в стиле "как начать с этим работать без проблем" и оставляет ссылку в записи, инициировавшей флешмоб. А потом дружно читаем и наслаждаемся.


Честно сказать, у меня весьма скептическое отношение к этой идее [livejournal.com profile] os80.
Но отчего бы не попробовать?

Date: 2010-01-25 10:37 am (UTC)
From: [identity profile] http://users.livejournal.com/__const__/
geany: вроде IDE, но лёгкая
emacs: вроде редактор, но тяжёлый

Date: 2010-01-25 11:14 am (UTC)
From: [identity profile] alamar.livejournal.com
emacs умеет многое и потому тяжёлый, а geany, судя по описанию, text editor :)

Date: 2010-01-25 12:12 pm (UTC)
From: [identity profile] taris_marh.livejournal.com
Вполне себе лёгенькая IDE, нормально работает, даже связность в проекте кое-какую поддерживает. Попробуйте. Для больших проектов не очень удобно, а для мелких - гораздо удобней монстров типа Eclipse.

Date: 2010-01-25 12:29 pm (UTC)
From: [identity profile] alamar.livejournal.com
Это смотря для чего же.
Вряд ли оно умеет:
- Run -> as JUnit test
- Run -> as Java main
- интеграцию с Subversion с визуальным сравнением и просмотром истории
- локальную историю файлов
- Автоматическую компиляцию исходников-копирование файлов по мере сохранения

А без этого мне IDE не нужно, вима хватит для остального.

Date: 2010-01-25 01:45 pm (UTC)
From: [identity profile] taris_marh.livejournal.com
Разнообразную компиляцию и запуски делает через make, интеграция с SVN, вроде бы, есть. но не проверял - надобности не было.

Локальной истории и автокомпиляции при сохранении нет, увы. Меня устраивает для мелких проектов, а с вимом у меня почему-то не складывается, тем более, что IDE-шные расширения не заводятся.

Date: 2010-01-25 09:52 pm (UTC)
From: [identity profile] zabivator.livejournal.com
- Run -> as JUnit test
make test
- Run -> as Java main
make main
- интеграцию с Subversion с визуальным сравнением и просмотром истории
kdiff3 ... + git / hg на выбор
- локальную историю файлов
wtf?
- Автоматическую компиляцию исходников-копирование файлов по мере сохранения
hook в emacs'е

Date: 2010-01-26 08:40 am (UTC)
From: [identity profile] alamar.livejournal.com
"make test"
Нет.

Run as JUnit test я могу на любой класс ткнуть, а в make (вернее, в ant) надо будет его явно прописать.

"make main"
Нет, смотри выше. Я могу любой класс запустить руками, а в make надо будет прописать.
Согласен, что я могу написать костылей и для этого, но тут просто костыли и баги перемещаются из кода IDE в мой.

"wtf?"
Автоматическое сохранение всех версий файла, с возможностью их смотреть потом. Как распределенный контроль версий, только простой, локальный и автоматический. Согласен, костыль, но костыль удобный.

"hook в emacs'е"
Я правильно понял, что писать его мне?

Date: 2010-01-26 08:49 am (UTC)
From: [identity profile] zabivator.livejournal.com
Нет.

Run as JUnit test я могу на любой класс ткнуть, а в make (вернее, в ant) надо будет его явно прописать.

Гм, я видать чего-то не понимаю.
Речь идёт о запуске тестов на конкретный класс?
А зачем?
У меня пакеты из 1500 запросов на СУБДшу идёт 5 минут. Через пять минут я знаю что где отломал.
Не нравится? Включаю-отключаю пакеты.
Гранулярность на уровне класса - ИМХО бесполезная фича. Модуль -да, на него юнит-тесты нужны - ну и пишем тестирование модуля.
cd test && make module_name
Чем плохо?

Нет, смотри выше. Я могу любой класс запустить руками, а в make надо будет прописать.
Согласен, что я могу написать костылей и для этого, но тут просто костыли и баги перемещаются из кода IDE в мой.

Тут я вообще в осадок выпадаю. Что значит "запустить класс"? Ему же окружение нужно, собственно, программа что его использует. Это тесты. Я неправ?

Я правильно понял, что писать его мне?
Да. XML-конфиги ведь пишешь? А тут тоже самое, только Lisp, а не XML

Date: 2010-01-26 09:39 am (UTC)
From: [identity profile] alamar.livejournal.com
"Речь идёт о запуске тестов на конкретный класс?
А зачем?"
Поменял - запустил - поменял - запустил. Конкретный тест. Полный набор тестов долго отрабатывает и вообще требует специального окружения.

"Что значит "запустить класс"? Ему же окружение нужно, собственно, программа что его использует."
Любой класс с public static void main(String[]) можно запустить, как программу.
А окружение его - это build path проекта.

"Да. XML-конфиги ведь пишешь?"
XML-конфиги не полны по Тьюрингу, соответственно, там нельзя сделать целого класса весёлых багов, которые можно сделать в "настройках" emacs. Их не надо обычно отлаживать.

Плюс - XML-конфиги являются частью проекта, а "настройки" emacs - чистый yak shaving.

Date: 2010-01-26 09:52 am (UTC)
From: [identity profile] zabivator.livejournal.com
Поменял - запустил - поменял - запустил. Конкретный тест. Полный набор тестов долго отрабатывает и вообще требует специального окружения.
Я не очень понимаю, откуда окружение возьмётся для тестируемого твоим способом класса. Его IDE напишет?

Date: 2010-01-26 11:33 am (UTC)
From: [identity profile] alamar.livejournal.com
Из Build Path.

Да, поддержку Build Path я тоже ожидаю от IDE.

Date: 2010-01-26 11:43 am (UTC)
From: [identity profile] zabivator.livejournal.com
Что такое Build Path и как он влияет на окружение тестируемого класса?
Откуда берётся программа, что тестирует класс?
Edited Date: 2010-01-26 11:45 am (UTC)

(no subject)

From: [identity profile] alamar.livejournal.com - Date: 2010-01-26 07:43 pm (UTC) - Expand

(no subject)

From: [identity profile] zabivator.livejournal.com - Date: 2010-01-26 08:09 pm (UTC) - Expand

(no subject)

From: [identity profile] alamar.livejournal.com - Date: 2010-01-26 09:19 pm (UTC) - Expand

(no subject)

From: [identity profile] zabivator.livejournal.com - Date: 2010-01-26 09:31 pm (UTC) - Expand

(no subject)

From: [identity profile] alamar.livejournal.com - Date: 2010-01-26 09:37 pm (UTC) - Expand

(no subject)

From: [identity profile] zabivator.livejournal.com - Date: 2010-01-26 09:51 pm (UTC) - Expand

(no subject)

From: [identity profile] alamar.livejournal.com - Date: 2010-01-26 10:03 pm (UTC) - Expand

(no subject)

From: [identity profile] zabivator.livejournal.com - Date: 2010-01-26 10:07 pm (UTC) - Expand

Date: 2010-01-26 09:53 am (UTC)
From: [identity profile] zabivator.livejournal.com
Любой класс с public static void main(String[]) можно запустить, как программу.
А окружение его - это build path проекта.

Гм, ну как минимум в Питоне тоже самое можно сделать на уровне языка, пускалку по имени класса в том числе.
Смысла вижу мало, но написать можно.

testClass( package.module.className )

Date: 2010-01-26 11:33 am (UTC)
From: [identity profile] alamar.livejournal.com
Я согласен, но мне-то хочется не "пускалку", а пункт меню.

(no subject)

From: [identity profile] alamar.livejournal.com - Date: 2010-01-26 07:45 pm (UTC) - Expand

(no subject)

From: [identity profile] zabivator.livejournal.com - Date: 2010-01-26 08:13 pm (UTC) - Expand

(no subject)

From: [identity profile] alamar.livejournal.com - Date: 2010-01-26 10:07 pm (UTC) - Expand

(no subject)

From: [identity profile] zabivator.livejournal.com - Date: 2010-01-26 11:04 pm (UTC) - Expand

(no subject)

From: [identity profile] alamar.livejournal.com - Date: 2010-01-27 06:32 am (UTC) - Expand

Date: 2010-01-26 09:55 am (UTC)
From: [identity profile] zabivator.livejournal.com
XML-конфиги не полны по Тьюрингу, соответственно, там нельзя сделать целого класса весёлых багов, которые можно сделать в "настройках" emacs. Их не надо обычно отлаживать.

Плюс - XML-конфиги являются частью проекта, а "настройки" emacs - чистый yak shaving.

На тему багов надуманная проблема, моё ИМХО.
А вот зачем делать конфиги частью ПРОЕКТА я в уме не приложу. Нужна интеграция с системой контроля версий?
Ну так в hook помещаем коммиты...

Date: 2010-01-26 10:12 am (UTC)
From: [identity profile] zabivator.livejournal.com
Мдя. Грустно.

Date: 2010-01-26 11:34 am (UTC)
From: [identity profile] alamar.livejournal.com
Потому что те конфиги являются исходниками, фактически. Только в другом формате и не полные по Тьюрингу.

В отличие от настроек emacs, которые не являются полезным кодом, а являются кодом паразитным.

Date: 2010-01-26 11:44 am (UTC)
From: [identity profile] zabivator.livejournal.com
Потому что те конфиги являются исходниками, фактически. Только в другом формате и не полные по Тьюрингу.

В отличие от настроек emacs, которые не являются полезным кодом, а являются кодом паразитным.

Вам отсутствие полноты по Тьюрингу или ехать?

(no subject)

From: [identity profile] alamar.livejournal.com - Date: 2010-01-26 07:48 pm (UTC) - Expand

(no subject)

From: [identity profile] zabivator.livejournal.com - Date: 2010-01-26 08:15 pm (UTC) - Expand

(no subject)

From: [identity profile] alamar.livejournal.com - Date: 2010-01-27 06:46 am (UTC) - Expand

Date: 2010-01-26 09:40 am (UTC)
From: [identity profile] alamar.livejournal.com
Для какого случая?

Date: 2010-01-26 11:32 am (UTC)
From: [identity profile] alamar.livejournal.com
А как это реализовать без указывания мной, что с чем связано?

(no subject)

From: [identity profile] zabivator.livejournal.com - Date: 2010-01-26 08:21 pm (UTC) - Expand

(no subject)

From: [identity profile] alamar.livejournal.com - Date: 2010-01-27 06:47 am (UTC) - Expand

Profile

vitus_wagner: My photo 2005 (Default)
vitus_wagner

May 2025

S M T W T F S
    1 2 3
4 56 7 8 9 10
11 12 131415 1617
1819202122 2324
252627 28293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 28th, 2025 08:22 am
Powered by Dreamwidth Studios