Explore BrainMass

Explore BrainMass

    Debug Facilities, BlueJ, & Donald Knuth

    Not what you're looking for? Search our solutions OR ask your own Custom question.

    This content was COPIED from BrainMass.com - View the original, and get the already-completed solution here!

    The BlueJ development environment offers simple but sufficient debugging facilities for those new to and learning the art of programming. Renowned computer scientist Don Knuth once in an interview made an interesting comment. When asked what his favorite programming language was, he replied that it would be the language that had the best debugging facilities. It is interesting that Knuth, rather than commenting on features of a particular programming language, emphasized the value of debugging tools. Based on your experience in this course so far, what are your thoughts on Knuth's response? In what ways might you agree? In what ways might you disagree?

    © BrainMass Inc. brainmass.com October 4, 2022, 11:59 am ad1c9bdddf
    https://brainmass.com/computer-science/programming-languages/debug-facilities-bluej-donald-knuth-565967

    SOLUTION This solution is FREE courtesy of BrainMass!

    SOLUTION

    Proper debugging facilities - in contrast to a having favorite programming language - is of utmost importance. In fact, such commentary would only come from someone that is highly experienced in the field of technology. Why? In addition to being a computer scientist, mathematician, and Professor Emeritus at Stanford University, Donald Knuth is one of the leading computer programmers in the United States of America.

    Debugging is a subject that would make most computer programmers cringe on the thought of having to analyze and revise code. Have you ever had to do this in a program, such as C++ where it is virtually impossible to figure out what is going wrong? Debugging can be generally thought of, or defined as the art and science of detecting, diagnosing, and correcting errors in software programs. Unlike the usual typo-s in a word document or printed page, if only one character is misplaced, the debugger will generate an error (amongst many), which can be challenging for those who have hundreds (or even thousands) of lines of code in a program. It can take hours and days to solve code errors. However, luckily in the present day, debugger programs are far more efficient at detection to enable better correction in software systems.

    In one of his famous books, 'The Art of Computer Programming,' Donald Knuth says, "Assertive debugging is a new way to make embedded systems ensure their own health by having your code monitor itself. Debugging is an art that needs much further study....The most effective debugging techniques seem to be those which are designed and built into the program itself—many of today's best programmers will devote nearly half of their programs to facilitating the debugging process on the other half; the first half...will eventually be thrown away, but the net result is a surprising gain in productivity."

    Reference: http://www.embedded.com/design/prototyping-and-development/4006450/Assertive-debugging-correcting-software-as-if-we-meant-it

    Knuth is an innovative thinker, and these words parallel the quotation referenced in the assignment instructions because when debugging tools are part of the software program itself, it makes one's job much easier. Therefore, as a result, productivity at the workplace is increased a great deal since programmers wouldn't be wasting time (and a company's financial resources) searching for errors to find ways for fixing unnecessary problems, which need not be there in the first place. Mega companies like Google, Facebook, Amazon.com, Walmart; and even other industries like airliners, mariners, or military operations must have their systems operating at nearly one hundred percent (100%) efficiency. Possible issues that may result from not having top-notch debugging facilities include, but is not limited to customer or client dissatisfaction; product or service failure; cost or financial issues; and even the loss of life as may be the case with airplanes, boats/ships, or military operations where precision is a must for soldiers and their targets.

    As a case in point, have you ever gone to Google.com to do a search and have the website return errors? Or have you shopped online or done online banking only to have a problem occur with their system? Hence, total efficiency is proof of the importance in having near-perfect operations. BrainMass.com is also another example of an online organization that relies on premium software coding and efficiency in debugging of their systems.

    Do you know about programming languages or have a favorite? One may disagree with Donald Knuth about having preferred software since not all programs offer a negative capacity. Some software systems may have coding tools built in line - by - line to catch potential issues at the start. Adobe's InDesign for webpages is one of my favorites, although it wouldn't be applicable to other non-web systems.

    In fact, debugging tools or "debuggers" are not always part of programs. What would happen if you started a new job, or if your current employer decided to utilize software that does not include debugging facilities? Most computer programmers have a specialized degree or are trained in a number of software programs and can work around this, but often times they have no say in the matter when it comes to what system they have to work on - especially in today's economy. Yet, there is hardware and software support available regardless of the system. Some examples are "The BlueJ Integrated Development Environment (IDE)", which is based on this assignment; Trap Flag, JTAG, BDM, debugWIRE, ARM, or Nexus architecture, and many more. The computer giant, Microsoft also has debugging tools available through their .NET Framework.

    Plus, one must also consider the vast wireless industry that includes cell phones (with the massive market of iPhones), tablets, and other mobile devices that run on numerous operating systems, such as Windows, Apple's Macintosh, or other Android platforms. Yet, regardless of whether one agrees or disagrees with Don Knuth, the fact of the matter is that having debugging facilities readily available trumps anyone's idea of a "favorite program," and is a necessary ingredient for successful operations at organizations around the globe.

    This content was COPIED from BrainMass.com - View the original, and get the already-completed solution here!

    © BrainMass Inc. brainmass.com October 4, 2022, 11:59 am ad1c9bdddf>
    https://brainmass.com/computer-science/programming-languages/debug-facilities-bluej-donald-knuth-565967

    ADVERTISEMENT