An important decision that must be made during the design phase is the selection of a programming language. Low-level languages include machine language and assembly language. High-level languages include Fortran, COBOL, Pascal, C, C++, C#, and Java. Debugging is the process of making sure that a program is free of errors or bugs. Most bugs can be classified as being either syntax errors or logic errors. While programs with syntax errors will not run, programs with logic errors will rub but with erroneous results.