|
|
|
Истоки создания
IDE и монополия
Сразу следует пояснить один важный момент: я всегда вместо
IDE предпочитаю пользоваться командной строкой и файловыми
менеджерами типа FAR. Я не люблю IDE и встроенные туда отладчики по той
простой причине, что они слишком неудобны, громоздки, перенапичканы излишней
и абсолютно ненужной мне "функциональностью", а логика их работы скрыта
и непонятна. Все это сильно ограничивают возможности, и, как следствие,
замедляет процесс разработки.
На мой взгляд, по-другому и не может и быть,
так как они являют собой чистейшей
пример желания производителей софта монополизировать все запросы
пользователя в одном своем продукте. Желание это, конечно же,
вызванно не заботой о вашем удобстве, а лишь стремлением задавить
своего конкурента. И естественным результатом этой монополизации
является потеря качества и универсальности таких IDE.
Идея конструктора
По вышеназванным причинам я сам предпочитаю собирать
свою собственную среду разработки из разных продуктов различных производителей.
Делая это, программист получает именно ту конфигурацию системы разработки,
которая максимально отвечает его собственным нуждам и вкусам,
а также возможность в любой момент заменить любые ее части на более лучшие или удобные.
Вы получаете свободу и гибкость.
Именно желание этой свободы и нежелания запирать себя в
навязанные кем-то рамки делает невозможным для меня использование IDE,
и и побуждает искать и использовать stand-alone средства разработки.
Стремлением к этой же свободе было обосновано использование мною в течении
длительного времени компилятора от Borland. Кроме естественной независимости
от Microsoft, для него существует stand-alone отладчик TD, альтернатив которому
при всех его глюках и неудобствах я не находил.
Анализ рынка
Но время шло, отладчик устаревал, а новых версий не выходило,
да и старые глюки постоянно раздражали.
Естественно, что неминуемо настал момент,
когда в очередной раз натолкнувшись на еще один серьезный глюк TD,
мое терпение переполнилось, и я был вынужден наконец отказаться от Borland C
компилятора и перейти на Visual C, со слабой надеждой найти
когда-нибудь в сети для него нормальный отладчик.
Но надежды мои не оправдались: перепробовав кучу
всякого второсортного барахла, я не нашел ничего достойного внимания.
Единственным результатом моих попыток найти что-либо стал анализ
рынка софта в этой области и удивительный вывод о том, что эта ниша
- совершенно пуста и ее наполнение даже не придвидется.
Именно этот вывод и побудил меня начать разработку собственного отладчика.
Кроме того, на меня повлияли еще пара моментов:
1) желание получить универсальный и простой инструмент для отладки
своих же приложений, и 2) опробовать парочку интересный идей.
Логфайл - последнее средство
Справедливости ради стоит отметить, что за время работы над этим
проектом, мне, естественно, было необходимо как-то заниматься отладкой
его самого, и я был вынужден найти альтернативные пути отладки. Этими
путями стал лог-файл и специальные модули для вывода crash-дампа,
облегчающие отладку моего проекта.
Из этого я вынес одно парадоксальное открытие:
для больших проектов вполне приемлемым может
оказаться создание собственной подсистемы отладки,
ядром которой является подробная запись в лог файл
всех более менее важных событий, и вывод вменяемого
отчета о кадрах стека в момет ошибки.
Для мелких же проектов создание такой системы "супервизора"
- неоправданно. Именно для них прежде всего необходим такой отладчик,
как Zeta Debugger.
Вывод
В общем, для вас этот продукт будет идеальным, если Вы:
предпочитаете клавиатуру мышке,
предпочитаете создавать свою собственную среду из stand-alone средств,
желаете независимости от компилятора,
желаете простоты и ясности в работе
непрочь покопаться в чужих программах в целях самообразования,
непрочь покопаться в самой Windows в тех же целях,
Будущее
На данный момент я хочу довести отладчик до стабильной работы,
после чего подождать пока все затраты на него окупятся.
Затем (где-то через год-два) я собираюсь выложить все его исходные файлы на свой сайт,
возможно, с подробным описанием его структуры, под одной из лицензий, допускающей
коммерческое развите проекта.
К слову:
На данный момент в проекте около 30 тысяч строк на C,
или 1050Kb Си-кода. В количестве 132 файлов на C/CH/H,
не считая файлы заголовков. В нем используеются исключительно
функции Windows API, и никакие другие сторонние DLL не вызываются.
|
|
| |
| |