Simple Solutions to Complex Problems
  • Simple Solutions
    • Documents Live Once
    • Good JIgs
    • Polya and Friends
  • Long Term Relations
    • Customers & Projects >
      • APU OverView >
        • APU Early Years
        • APU Middle Years
        • APU Late Years
      • AQMD >
        • DataGeneral v Hewlett Packard
      • Big Lots
      • The Federate Group >
        • Stabilizing the System
        • The Cash Register System
        • Later Projects
      • Munson Management Systems
      • National Electronics
      • Richey Electronics
      • Sierra Pacific Investments
      • Other Customers
  • Diagonal Method
    • D2-M2 >
      • Diagonal differs from Agile
      • Maintenance Projects
      • Manufacturing Projects
      • Research Projects
    • Data Structures >
      • Data Levels
      • Data Logging
      • Data Merging
      • Data Input Buffers
      • Data Sorting
      • Data Deltas
    • Readable Source Code >
      • Readable Code Modifications
      • Readable Paradigms
      • Readable Style
    • Critical Path Method >
      • CPM Data Tasks
      • CPM Menu and Security
      • CPM External Tasks
      • CPM: Early Calculations
      • CMP Stem to Stern >
        • Work Units
    • Semi-Interpretive Mindset >
      • Simple Semi-Interpretive Case Study 1
      • Semi-Interpretive Case Study 1 -- Semesters 2 and 3
      • More Thorough and Efficient
      • Software Research Northwest
    • Semi-Interpretive Methods
    • Concepts and Practices >
      • Data Changes
      • Data Stacks
      • Data Tokens and Loose Linking
    • Diagrams & Examples >
      • Venn Diagrams
      • Music Score as a Diagram
      • Cause & Effect Diagrams
    • Dictionary and Lexicon
  • Programmers
    • Tools and Languages >
      • python considerations
      • program names, like sa5comm
    • Perspectives of a Manager
    • ToDo
    • HTML testing
    • Private Thoughts
    • Leads
  • Contact Pilgrim
    • Land of the Free
    • Pilgrim Legal Status
    • Index to Pages
  • New Page
  • Stonehenge Simply Done

Landmines and other hidden language bugs

Some programmers balk at the idea that programming languages contain bugs, built-in if you please.  The simple proof is to look at any manual for a language from a major vendor of software.  Even Hewlett Packard has hundreds of bugs listed in COBOL manual.  The Report Writer in several versions of COBOL had severe bugs.  Programmers avoid the bugs by avoiding the Report Writer.  Instead, the programmers wrote their own paradigms.  After getting an original working well, the programmer made to reports by copying the working report.  The point is that programmers should avoid landmines.

Bad Language Implementation
In MS Excel, in formulas, the function Find(text, target) has a sever oddity.  If the text does not occur in the target, the function returns #N/A, which requires special handling.  A value of 0 would be more useful.

Similarly, in MS Excel, 2013, the following statement does not throw an error:  if len(some_string) = "j" then

Stack Errors
For many years, the C programming language had a bug that allowed a long string to be copied into a short string.  The result was that memory near the short string was over-written.  The consequences were unpredictable.  Some of the crashes broke web security.

Garbage Collection Errors
Several languages including C had a bug when a file was closed.  The closure routine behind the close command did not release the temporary memory back to the system.  If the system was re-booted frequently, this error had no consequence.  However, when a system ran for days and opened thousands of files, the system crashed for lack of temporary memory.

A database system called Filemaker has an error when its limited free-space fills.  After writing a certain number records to its storage, the program begins to overwrite the indices.  Then Filemaker crashes. The clerk can mostly recover the data by performing a reload, which can take hours.  The vendor recommends frequent reloads before corruption occurs.

MS Word and OpenOffice have had similar errors where working storage becomes corrupt after too many operations.  The solution is to save regularly and to exit the program after long periods of modifications to the document.

Lint Programs can detect Possible Bugs

PCC 1982 - 2014