На самом деле это довольно сложный вопрос. В начале (а прошёл уже год более или, скорее, менее активной работы) это был метод что-то доказать себе, нежели желание принести пользу. Не знаю, наверное, это болезнь всех, кто начинал на медленных машинах (80286), желание оптимизировать… Помню как мне слегка (и это не преуменьшение) не понравилась стандартная библиотека Borland Pascal 7.0, и я полностью переписал её всю (CRT, Graph, DOS + свои модули) на ассемблере. Ну вот, с тех пор и страдаю болезнью замены Run-Time Libraries :)
Таких как ты очень много, и, как правило, они точно знают зачем это все надо. Но обратить других в свою веру очень сложно. Все дело в природе программирования и людей, занятых в этом процессе :)
У нас в организации используется своя инструментальная С++ библиотека, объем которой будет немного побольше твоей — порядка 100.000 строчек кода. Ради интереса, один раз мы опубликовали её часть — набор классов для прямой работы с OLEDB провайдерами. Нулевой эффект. И это при том, что нормального эквивалента в природе нет. То же отношение к надстройкам над STL, которее я кинул в конференцию исходников — http://www.rsdn.ru/forum/Message.aspx?mid=103114&only=1
Люди предпочитают возиться либо с собственными поделками либо от "бессмертных производителей". С Васями Пупкиными, даже трижды гениальными, стараются не связываться.
И еще совет. Если хочешь иметь хоть какую то надежду на сотрудничество — нужно помещать свое детище под систему контроля версий например на www.sourceforge.com. Остальные способы — заведомо мертвые направления
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
К чужому труду надо относиться уважительно, но, к сожалению, я не могу не сдержаться, чтобы не сказать, что весь этот код можно смело выкинуть. Во-первых, половина из того что написано уже есть в стандартной библиотеке (std::auto_ptr, std::string, "шаблоны структур данных") и написано достаточно на высоком уровне, чтобы оставить место для оптимизации. Макрос, аналогичный DEBUG_CHECK, объявлен в <assert.h>, против использования которого тоже нет никаких предпосылок. Во-вторых, если уж писать на С++, то надо писать именно на C++. Код AWL по своему духу очень напоминает Cишный. Смысл тогда создавать библиотеку в классах? Некоторые вещи, например C_Variant, можно было бы намного элегантней и эффективней реализовать, используя шаблоны. Заметно, что многие идеи почерпнуты из кода Microsoft. Надо сказать, не самый лучший код. Поэтому люди и пишут свои обертки над ним. Писать же тоже самое, но другими словами, заменив префикс C на С_, String на C_String, есть ли в этом смысл? А польза? Вместо разного рода префиксов, гораздо лучше подходит использование пространства имен:
namespace awl
{
class window
{
...
};
}
... где-то в коде
awl::window m_mainWnd;
Вообщем, сказать еще можно много. Реальную пользу от этой библиотеки, я вижу только в использовании ее как справочного руководства по некоторым специфичным API функциям Windows. С примерами.
То что ты написал, практически полностью уже написано и давно используется.
Один человек или группа на некоммерческой основе не в состоянии превзойти коммерческую систему в столь глобальном начинании, да и не нужно этого.
Любая коммерческая реализация в разработке которой будет участвовать хотя бы 10 человек превзойдет любую некоммерческую реализацию. Поскольку у коммерческого продукта иная база знаний и люди его реализующие хоть в какой-то мере являются ответственными за свой продукт. Плюс к этому есть некоторая методика проектирования и сопровождения программного продукта. Это большое преимущество, поскольку сообщения об ошибках или неточностях в реализации поступают на регулярной основе и люди посвящают все рабочее время, чтобы в них разобраться. Тогда как, альтруистам в конце концов захочется кушать и они все это бросят не доведя до ума. Да и как показывает практика люди разрабатывающие коммерческие продукты поопытнее будут (именно потому что занимаются профессиональным программированием, а не копанием в коде из интереса. Хотя и такое бывает часто), да и поорганизованнее.
Так что можешь писать и дальше, но вряд ли кто этим кроме тебя и тебе подобных (людей которым интересно заниматься переписыванием уже существующего программного кода) будет этим пользоваться.
Извини если я очень резко написал. Я уважаю твой труд, но к сожалению он бесполезен для практического использования, поскольку кроме кода нет никакой качественной технической документации и для того чтобы его эффективно использовать нужно внимательно просмотреть все исходники и только осмыслив приступать к написанию программ. Причем наверняка встретиться куча ошибок, никто же не тестировал его на совместимость с другими программными реализациями подобного кода.
С Уважением Краснокутский Василий
Вот если..
От:
Аноним
Дата:
24.10.02 08:35
Оценка:
Если бы ты предоставил врапперы для всех объектов ядра, для Шела, всяких моникеров, и тд и тд, без оконных фич — это было бы круто
Для реестра еще хорошо, мапи. Для callback'ов универсальный враппер,
для imghlp, icmphlp и тд и тд
То что я написал, практически полностью уже написано и давно используется ? Да, я и не отрицаю этого. Но что заключаеться в этом вашем практически ? Куча ХОРОШИХ библиотек в которых есть те или иные недочёты. Вы считаете, что этот труд напрасен ? Ну что же, просто наберите в гугле C++ library и посмотрите скольно названий вылезет :). Как видите я не один такой маньяк :) Вы считаете, что коммерческая реализация лучше ? www.rsdn.ru/article/?atl/IDispEventImpl_error.xml
по-моему достаточно красноречиво. Лучшая методика проектирования ? Что вы имеете ввиду ? Что классы будут продуманне связаны между собой ? Этого и так можно добиться, для этого Corp. в конце не объязательно. Вы считате, что альтруистам захочется кушать ? Да, захочется и они будут кушать, но за счёт других проектов. Вы видели Linux, gcc, MySQL, другие GNU разработки ? И что ? Они не заняли своё место в мире ? Вы считаете, что я делаю AWL безответственно ? Да, возможно вы правы. Я не отчитываюсь ни перед кем когда я закончу написание того или иного класса. Да, я не несу никакой гарантии за качество продукта. А кто несёт ? Вы видели хоть одно лицензионное соглашение в котором разработчик несёт ответственность за ошибки в программном обеспечении ? И я не несу. Но я по крайней мере люблю своё детище, так же как и многие другие любят то, что они делают. Это очень сильный стимул работать хорошо. Вы считаете, чтоо я не очень опытен ? Да, возможно не очень. А что значит достаточно опытен ? Да я и не собирался делать всё сам. Я ЯВНО указал, что не откужусь ни от какой КОНСТРУКТИВНОЙ помощи.
А беседы о моей квалифицированности по-моему неуместны. К тому же копание в чужом коде из интереса, по моему скромному мнению, занятие не бесполезное. Нельзя написать что-то новое, хорошое, не узнав, что было написано до этого плохо. Только изучая другие библиотеки можно понять как должна выглядеть новая. Вряд ли кто-то кроме меня и подобных мне будет пользоваться AWL ? А сколько их, подобных мне ? Судя по вашему тону, вы думаете что мало... Давайте подойдём с другого конца. Вы считаете себя ПОДОБНЫМ разработчикам MFC ? А много ли людей считают себя подобными им ? Но многие пользуются MFC. И не надо говорить о том, что MFC хорошая библиотека. Нет ! MFC это единственная в своём роде библиотека. А отсутствие конкуренции ведёт к упадку качества, навязыванию внутрикорпоративных технологий. Вы прекрасно (наизусть) знаете как Microsoft называет в своей уникальной терминологии те или инные вещи, имена методов MFC-шных классов. А где альтернатива ? ATL ? www.rsdn.ru/files/?libs/asclib.xml явно свидетельствует о том что и эту надо ещё дорабатывать. Так что назвать существующие библиотеки идеальными, да нет просто хорошими, полноценными язык не поворачивается. Я сделал ядро AWL. Давайте работать дальше. Вам кажеться, что надо использовать пространства имён ? Вы считаете что надо написатьт C_Variant шаблонами. Вы считаете что код слишком сишный ? Кто ещё так считает ? Вас много ? Ну тогда напишите как и я переправлю. Вся прелесть нынешней стадии в том что НИЧЕГО не стандартизированнно. А ведь это было бичом многих библиотек: когда сперва стандартизировали, а потом поняли как лучше. Вы можете присылать мне свои пожелания и я постараюсь изменить AWL так, что бы она была удобна для большинства. Я не собираюсь навязывать свои методы написания. Документация сейчас мною пишется. Да, это не MSDN, но она пишется достаточно подробно и скоро будет здесь размещена. Обругать, сказать что всё это не нужно легко. А помочь мне хотя бы советами многим слабо.
С уважением и с надеждой на плодотворное сотрудничество,
Роман Акопов.
OK, будет.
Объекты ядра это все кто HANDLE ?
Какие объекты шела заварпить ?
Будь другом, скинь списки на мыло.
поддержка ICMP DNS HTTP FTP протоколов планируется.
Не очень понял что естьь универсальный варпер для callback-ов. Это через шаблоны ?
Забей ?
Не слишком ли легко? Хотя совет явно хороший :)
У меня есть идея.
Каждая такая библиотека имеет свою специализацию.
AWL (кстати я вчера обнаружил библиотеку с таким же названием, наверное опять переименовывать придётся) должна была в какой то мере объеденить все ети изыскания Васей Пупкиных (весьма гениальных, но не признанных)
Даёшь классную библиотеку !!!
На sourceforge я сегодня же зарегистрируюсь
Если хочешь сотрудничать (есть идеи) черкни
Для тех кто всё таки загорелся на adontz.narod.ru скоро будет более менее толковая документация
"...
Не знаю, наверное, это болезнь всех, кто начинал на медленных машинах (80286)
..."
Прочитал и слезы на глаза наворачиваться стали. Когда-то 80286 была пределом мечтаний для работающих на 80086 :)
Только не принимай в штыки. А зачем буква "С" в префиксах названий указателей на структуры? Обычно так обзывают константные указатели, но у тебя же они не константные.
А в общем, молодец. Не слушай всяких злопыхателей. Я так понимаю ты писал это для души. И не важно что кто-то считает этот труд напрасным. Важно то что ты написал это и поднял свой профессиональный уровень. Но меня обычно "ломает" писать такие грандиозные бибилиотеки :)
Спасибо за поддержку. Для души и поднял уровень — это несомненная правда. Ломает ? А не надо писать грандиозные библиотеки. Можно писать крутые и важные классы в грандиозных библиотеках :)) Орать помогите как-то не хочеться, но от идей и исходников никогда не откажусь.
Мотивация "работать за бабло" — это далеко не самая сильная мотивация. Как правило — результат — это требования заказчика и не более того. Любой ценой пустить пыль в глаза, обеспечив функциональность на столько за сколько уплачено. Вот и весь "коммерческий продукт". Та же MS никогда не будет тиражировать средства разработки, если в них не понаставлены палки в колеса в нужных местах. Плодить конкурентов — кому это надо?
Не-е-ет не для себя, а для нас. Коммерцию не в (то место через которое у нас всё делается) а просто отодвинули в сторону.
Не понял вобщем то, что критика, а что радость, но порадоваться с вами всегда готов.
ЗЫ как-то неконструктивно вышло :-(
Ну дык стараюсь :-) Честно говоря иногда очень лень, но потом беру чай с лимоном, сажусь и пишу. И аппетит как-то во время еды приходит. Много времени щас уходит на создание нового сайта. Хочу добить до нового года. А потом уже и библиотекой снова займусь.
ИМХО Глупый совет. Что значит забей! Если я допустим хочу что-то написать я сожусь и пишу. И абсолютно наплевать написано это уже или нет. Я получаю удовольствие. Если вы проходите мимо — проходите мимо. Дело ваше.
И напоследок мысль: есть такая дурацкая группа — руки вверх, так вот когда их клип показывают по телеку то милионы людей приводятся в движение хотя бы для того чтобы переключить канал... помедитируйте об этом ;)
... и продолжайте переключать телевизор.
А почему библиотека содержит в названии слово "Extreme"?
Когда я увидил название статьи — первая моя ассоциация была, что библиотека как-то связана с "Extreme programming"..
Re[2]: Библиотека XWPL – Extreme Windows Programming Library
Здравствуйте, ILva_, Вы писали:
IL_>А почему библиотека содержит в названии слово "Extreme"? IL_>Когда я увидил название статьи — первая моя ассоциация была, что библиотека как-то связана с "Extreme programming"..
Некропостер!
До тебя последняя мессага в эту ветку была аж в 2002 году!
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока