пятница, 22 июня 2012 г.

C# и VS - "первые" впечатления

Очень давно не работал с MS Visual Studio и впервые "серьезно" столкнулся с .NET платформой. Общее впечатление: "Насколько многообещающая платформа и настолько убогая IDE".

Язык

Язык платформа богаче чем Java. Есть много полезных и (не очень) плюшек. Впечатлили region-ы для разметки кода... и MSDN на русском. "По управляемости" и "возможностям языка" C# ближе к С++, чем к Java.

MS VS

Студия - убожество. Такое впечатление, что про рефакторинг в MS "узнали" только в 2010 году. Эффективно работать с кодом невозможно (переход по ссылкам, outliner, открыть класс по имени, открыть класс по имени и т.д.). Комбинации клавиш поражают своим удобством.
Особо порадовало, что в начальных версиях не открываются проекты с юнит тестами. Наверное TDD это очень большая роскошь в мире MS.:)

Тулзы

Пока я плохо представляю, как можно работать в "голой" студии. Впечатлил "решарпер". Продукт делает VS пригодной для жизни для эффективной работы с кодом. Также "впечатлила" стоимость этих продуктов (при том, что эту цифру надо прибавить к стоимости самой студии и M$ Win).

пятница, 1 июня 2012 г.

Пора списывать?


FireFox стал громоздким, тормознутым и нестабильным (IMHO). Единственное что удерживает - FireBug. Еще одна Opera?

пятница, 3 февраля 2012 г.

Eclipse: аргументы командной строки

Страница из официальной документации, где перечислены все аргументы для Eclipse.

Перепост: жизнь после смерти

НАткнулся на интерестную стетйку: RIP PSTN: Жизнь после смерти

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

четверг, 2 февраля 2012 г.

Хороший тутор по SWT Layout

В SWT есть такая штука, как Layout. Как оказалось, без понимания о том, что это такое и как оно работает, работать с SWT/Eclipse RCP просто не получится.

Вот хорошая статья по этому поводу: с картинками, примерами и довольно интересно написанная.

В двух словах:
1. Нужно создать объект Layout. Их несколько видов (читай ссылку). У нас самый ходовой - GridLaout. Надо создать экземпляр нужного типа, настроить и засунуть его в родительский Composit (setLayout()).
2. Для каждого дочернего компонента надо создать экземпляр LayoutData, настроить и установить в дочерний компонент (setLayoutData()).