metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2010-08-21 05:55 am

Зло какое-то

Школьный Линукс и входной порог разработки

Борландовские Паскали, С и тому подобное работали под досом без плясок с бубном и ставились простым копированием.
Дельфи в 1997 году поставилась на 95 винду и заработала сразу. За день можно написать прототип DB приложения, вообще видя среду разработки в первый раз. Visual C в то же примерно время - то же самое, разве что писать чуть сложнее, это вам не RAD.
Вижуал студия с дотнетом в 2006 вроде бы году - аналогично, поставил, за день разобрался.

А в линуксе до сих пор какое-то вуду, стоит только выйти за рамки стандартных задач.

[identity profile] kurilka.livejournal.com 2010-08-21 10:00 am (UTC)(link)
+1000

[identity profile] w00dy.livejournal.com 2010-08-21 10:01 am (UTC)(link)
Он отрастил себе ЧСВ over 9000. В общем не обращайте на него внимания.

[identity profile] theiced.livejournal.com 2010-08-21 10:05 am (UTC)(link)
честно скажу - я гдб только пару раз видел. ещё раз для тупых - в простейших случаях отладка-отладчиком тупо снизит мою производительность (и производительность любого грамотного спеца). однопотоковый вебсервис он брякпоинтами отлаживает блядь, достижение. в сложных ака обычных случаях вы отладчиком вообще нихуя никак не сделаете, принципиально. ну например - почти-RT софтина (задержка с ответом в 200ms уже пиздец) работающаю в сотню потоков в релизном и только релизном билде пару раз в день встаёт раком на 2000ms. расскажите как глубого в жёппу вы себе засунете ваш отладчик и прочие красивые гуёвые тулзы что бы отловить данную проблему?

[identity profile] theiced.livejournal.com 2010-08-21 10:08 am (UTC)(link)
Аббревиатура (если вы знаете такое слово) IDE обозначает Inegrated Development Environment. Набор тулзов необходимых для разработки софтины. В строго необходимый минимум входит, например, удобный и мощный редактор кода (коего в вижуал говностудии нет) или там удобный средства для работы с RCS (аналогично).

[identity profile] theiced.livejournal.com 2010-08-21 10:09 am (UTC)(link)
мнение великого человека, не осилившиего завести уебунту (ака нажать три раза на некст) нам, безусловно, очень важно.

[identity profile] theiced.livejournal.com 2010-08-21 10:20 am (UTC)(link)
ах да, есличо, я вот это проблему решал не далее чем позавчера. решил. вдумчивое чтение кода, включая код сторонних библиотек, грамотная расстоновка функций логирования, в том числе и в сторонних библиотеках, внимательный просмотр логов. для решения данной задачи был использован _исключительно_ емакс.

[identity profile] vromanov.livejournal.com 2010-08-21 10:27 am (UTC)(link)
VS 2 и 1.5 были весьма неплохи.. Дельфи это было СОВСЕМ другое. MFC нормальным программистом осваивается месяца за два до уровня комерческих программ.

[identity profile] vromanov.livejournal.com 2010-08-21 10:32 am (UTC)(link)
Кстати из всех сред разработки (С/C++) под линукс с самым человеским лицом оказался NetBeans/ Sun Studio. Sun Studio хорош тем, что это почти среда в стиле Turbo Pascsal. т.е. с компилятором, отладчиком и все что нужно.

[identity profile] denisioru.livejournal.com 2010-08-21 10:33 am (UTC)(link)
Ты не в курсе, что внутри метода веб-сервиса может быть стартовать несколько потоков для обработки чего-либо? Ах, gdb... Тоесть у emacs никакой интегрированной отладки нет :) Понятно.

[identity profile] denisioru.livejournal.com 2010-08-21 10:35 am (UTC)(link)
Ах, функции логирования! Конечно, как я мог забыть про printf :)))))) Это же передовые средства отладки, можно даже слоган придумать "printf в отладке: 20 лет на рынке. Выбери стабильность." :)))

[identity profile] metaclass.livejournal.com 2010-08-21 10:43 am (UTC)(link)
Я MFC и VisualC тольком так и не осилил. Пару прог мелких написал, посмотрел, что работает и все. В дельфи оказалось сильно быстрее все осилить.

Кстати, интерфейс ReGet меня всегда удивлял, как пример того, что на MFC можно делать нормальные проги :)

[identity profile] denisioru.livejournal.com 2010-08-21 10:46 am (UTC)(link)
Между простейшими случаями в один поток и "нормальными" в пары сотни - есть масса вещей, которые встречаются в реальной жизни, но явно отсутствуют в Вашем воображении ;)

[identity profile] theiced.livejournal.com 2010-08-21 10:47 am (UTC)(link)
хоть один, хоть три, хоть сто. если один-три - отладчик не нужен, если сто - отладчик засовывайте себе в жопу.
я же написал - есть gdb и gdm-mode. http://www.emacswiki.org/emacs/GDB-MI

[identity profile] vromanov.livejournal.com 2010-08-21 10:47 am (UTC)(link)
на MFC были первые версии (1.x). Потом все было переписано на WTL. В том числе написаны свои гриды, контролы, и вообще куча всего..

[identity profile] denisioru.livejournal.com 2010-08-21 10:49 am (UTC)(link)
Ну товарищ из Bing'а конечно же заслуживает уважения, но я опираюсь на свои впечатления и опыт.

[identity profile] theiced.livejournal.com 2010-08-21 10:49 am (UTC)(link)
для альтернативно одарённых, есть сложные случае - когда отладчиком нельзя _в_принципе_ сделать ничего. остальные случаи - они простейшие и решаются быстрее без отладчика. если я не прав - пожалуйста контрпример "среднего" случая который можно круто и быстро решить отладчиком.

[identity profile] denisioru.livejournal.com 2010-08-21 10:50 am (UTC)(link)
Не очень впечатляет. Step back оно умеет? А edit-and-continue ?

[identity profile] theiced.livejournal.com 2010-08-21 10:53 am (UTC)(link)
1. я жду рассказа о том как вы будете решать данную проблему отладчиком. ещё раз вводная: проблема выявляется исключительно на боевых серверах с боевыми запросами и исключительно в релизном билде. проблема возникает несколько раз в день максимум (пару дней подряд может вообще не появиться). о возникновении проблемы мы узнаём исключительно постфактум (как и происходит с большинством реальных проблем - мы не можем в каком то участке кода определить "во - у нас возникла проблема").

2. вы путаете printf и функции логирования, что ещё раз говорит о вашем квалити и/или вашем интеллекте.
wizzard: (Default)

[personal profile] wizzard 2010-08-21 10:54 am (UTC)(link)
how fucking true

[identity profile] theiced.livejournal.com 2010-08-21 10:55 am (UTC)(link)
опять же по пунктам.

1. я этим не пользуюсь - мне отладчик нужен раз в год для анализа коредампа.
2. степ бэк умеет, кто то сравнивал отладчики по функциям и гдб оказался, внезапно, самым продвинутым отладчиком для си.
3. что такое edit-and-continue? (я действительно не знаю а гуглить сейчас сложно).

[identity profile] hshhhhh.livejournal.com 2010-08-21 10:55 am (UTC)(link)
я про то что SICP первая книжка которую видят студенты :)

[identity profile] denisioru.livejournal.com 2010-08-21 10:56 am (UTC)(link)
ок, есть REST-сервис, который ждет изменения состояния неких приборов. Как правило, юзер одновременно мониторит до 10-20 приборов. В некоторых случаях есть условия, при которых изменения надо игнорировать. Условия мониторинга меняются юзером во время ожидания изменения состояний приборов. Хочется поставить контрольную точку и посмотреть ряд параметров в одном из потоков мониторинга, которые получаются при совпадении некоторых условий. А также знать, откуда ноги растут у условий.

[identity profile] metaclass.livejournal.com 2010-08-21 10:56 am (UTC)(link)
Работа в одном потоке в гуишной проге с неебическими структурами данных. Их визуализировать в лог и потом анализировать заебешся, если честно. Это еще хорошо, когда у них встроенные методы дампа есть, но без этого - проще запустить в VS и посмотреть на значение переменной (оно из ее типа автоматом делает гуишный дампер хитрый).

Еще один вариант: когда для отладки логами нужно поставить вызовов этих логов десять штук, но на один раз - быстрее запустится под отладчиком.

И еще - если нужно отследить стек вызовов какого-то метода, а в рунтайме этот стек недоступен. Слава богу, в дотнете такого не бывает, а вот в дельфях и еще где-то - только отладчик, безальтернативно, стек вызовов в лог вывести невозможно.

[identity profile] theiced.livejournal.com 2010-08-21 10:57 am (UTC)(link)
ваш опыт мы уже имели (сомнительное) счастье оценить в вышележащих тредах. скажите, а вы что нибудь более серьёзное чем хелловолд вепсервис умножающий два числа простейшие вепсеривсы писали?

[identity profile] denisioru.livejournal.com 2010-08-21 10:58 am (UTC)(link)
MFC - это очень жирный слой абстрации поверх WinAPI. Шаг в сторону - и пробиваешься сквозь этот слой прямо к WinAPI.

Page 4 of 12