From kde-core-devel Tue Jan 25 22:02:02 2000 From: Mirko Sucker Date: Tue, 25 Jan 2000 22:02:02 +0000 To: kde-core-devel Subject: Re: any more pros for nana? X-MARC-Message: https://marc.info/?l=kde-core-devel&m=94883889009722 Stephan Kulow wrote: > I'm sorry for the work that Mirko put into integrating > it and Phil to fullfill our constrains, but I see no > reason to confuse developers by having two debug solutions > and kdebug is surely the one that fits better into the > KDE framework. It was much less work than the CORBA experiment. But there is one more pro: I think, it will take some time until more people get used to this approach. And definitly, it is a better idea to check whether your assumptions are fulfilled than to hope they will. Finding the hard-to-find bugs is easier with it. Sure, it makes no sense to use it "widely" in 500-loc-applications, but in larger projects invariants, for example, become inevitable. So, the main pro is: If you are used to it, you will write better code, and bad sideeffects and logical errors will force you to erase them, since even wrong but non-critical states of your application are found and kill the program by an assertion. And you will know what happened. Approaches like programming per contract mainly create better programmers (from the average programmer, not David :-), not better code. I tried to erase all problems with other compilers. Currently, KDE should compile with compilers different from gcc, at least I got no messages against it. The only problems are ugly header names and compilers warnings. Both should be solveable. On the other hand, if I am the only one opting for it (I am the only one using it, but this may be a matter of time), it is no problem to remove it. I would even completely remove nana from my sources, since due to the rewrite, this sources do not depend on nana except single statements. Possibly, I would add vector assertions and require/ensure statements to kdebug. This is what we wanted to avoid when we talked about integrating nana. So, how to go on? For a project like KDE, logging and assertions are definitly not enough debug support. Greetings, --Mirko. -- Denn der Mensch liebt und ehrt den Menschen, solange er ihn nicht zu beurteilen vermag, und die Sehnsucht ist ein Erzeugnis mangelhafter Erkenntnis. (Thomas Mann)