A program, typically bundled with BigIron IDEs like VisualBasic or the C++ editors, that increases the collateral damage from each bug.
(Sometimes called a "Debugger".)
This makes them easier to find. But, sadly, it only goes so far towards making them not happen in the first place.
While I have experienced the observation that I believe led the author to suggest that VisualBasic makes bugs easier to find, I fail to reach the same conclusion.
In my mind VB raises the level of abstraction and thus it can be easier to make a product.
Consider the task of trying to make 2000 out of
* 500's and 98's(VB) * vs making them out of 1's (C++)Consider the task of trying to make exactly 348 out of
* 500's and 98's(VB)(subtraction is allowed) (try it ;) * vs making them out of 1's (C++)Consider the task of trying to make exactly 2051 out of
* 500's and 96's(VB)(subtraction is allowed) * vs making them out of 1's (C++)Similarly my experience when building a GUI with VB it is very easy to get a product in the right paddock, if exact details matter and your desired target is outside the VB 'can do example box' then suddenly and drastically difficulty of construction goes up as does bug finding.
I get the same effect when I build up layer upon layer of robust C++ objects testing each level of abstraction as I go. When the last layer that implements a product in terms of user requests is implemented then the lower layers bug enhance the process. Usually I have to craft a couple of specials 98 + 98 + Special56 produces my target of 348.
Composite Solid Geometry ray tracers are hard to debug in any language. I know of no example that bug enhances that program, except perhaps a CSG library.
Category AntiPattern. How is this an antipattern?
Because TestDrivenDevelopment makes debugging less important.
I don't understand 90% of this page. What's a "Big Iron" IDE, and since when is VisualBasic one? Can someone define "collateral damage" in the context of bugs? And explain what these bundled programs are? -- ConfusedReader?
I would like to see a realistic UseCase to two to explore the alleged problems. I don't see how the number example above is relevant.
I don't get the content of this page either. Things that come to mind on hearing the phrase BugEnhancer are: replacing malloc/free with versions that fill memory with pointers outside your process space; injecting random scheduling delays on threads; "random monkey" UI testing and so on.