370 likes | 379 Views
Explore the essence of programming languages, the evolution of approaches, key development tools, and error handling. Discover high-level vs. low-level languages, classic elements, problem-solving techniques, and structured programming methods. Dive into modules, object-oriented programming, rapid application development, compilers, and interpreters. Learn about debugging tools, flowcharts, and commonly encountered programming errors.
E N D
Chapter 12 Programming Concepts and Languages
Presentation Overview • Programming Concepts • Problem-Solving Techniques • The Evolution of Programming Approaches • Programming Development and Documentation Tools • Programming Errors • The Software Development Life Cycle • Major Programming Languages
What makes up a programming language? Program – instructions telling a computer how to perform tasks Programming languages – languages that communicate with the computer to create programs Source code – text files that make up a programming language Four main computer language programming elements are variables, executable statements, looping, anddecision statements. Programming Concepts
High-Level versus Low-Level Languages Low-level language (machine code) is a binary language consisting of 1s and 0s; runs faster and takes up less disk space. High-level language is similar to natural languages, making it easier to learn and use. Programming Concepts
Each generation of programs builds on the contributions of the group of languages that preceded it. Programming Concepts
Classic Programming Elements Variable – data value stored in computer memory Executable statement –performs an action and then proceeds to the next statement in sequence Looping – allows a program to return to a previously executed instruction and repeat it Decision statement – point in a program where different actions may be performed depending on specific conditions Programming Concepts
Looping allows a computer program to continuously repeat the same steps, such as a program designed to direct a traffic light to display yellow, red, and green lights at a consistent rate. Programming Concepts
Using an if-then statement based on a particular action, such as pushing the crosswalk button, a program can interrupt the looping pattern, making the program more useful. Programming Concepts
Top-down designapproach helps programmers break a large project into manageable parts. Breakdown process continues until there are no more steps. Problem-Solving Techniques
Problem-Solving Steps Identify the problem. Analyze the problem. Brainstorm solutions and choose the best one. Write the algorithm. Prototype the solution. Implement and test the solution. Problem-Solving Techniques
Step-by-step pseudocode algorithm for changing a lightbulb. Problem-Solving Techniques
Structured Programming Creates groups of instructions as independent elements. Structured groups of instructions are built on a routine, which is a section of a program to handle a function. A routine is broken down into steps to accomplish the function. The Evolution of Programming Approaches
Modules Code modules handle separate components of a program. Each module is a solid portion of a larger structure. Modules are reusable, and modularity helps in tracking down errors. A macro is a recording of steps to perform a repetitive task. The Evolution of Programming Approaches
Object-Oriented Programming Object-oriented programming (OOP) defines each module (object) with definite rules for interfacing and a protected set of variables. Protected variables allow a programmer to prevent data from being altered during program execution. The Evolution of Programming Approaches
Rapid Application Development Rapid application development (RAD)reduces cost by decreasing time needed to develop a project. Programmers using RAD follow guidelines • Use visual development (4GL) tools when possible • Rapidly prototype new projects • Approach coding with these priorities – Use existing code first. – Buy someone else’s code second. – Write new code last. The Evolution of Programming Approaches
Compilers and Interpreters Compiler – program that translates programming language source code into machine code Interpreter – translates instructions one-by-one as source code is being executed; identifies errors as they are encountered, including the line containing the error Programming Development and Documentation Tools
Debuggers Debugger – a software tool that helps programmers find errors quickly. Allows programmers to examine closely what is happening when a program runs. Usually an integral component of compilers and interpreters. Programming Development and Documentation Tools
Document Tools Flowchart – provides a visual diagram of an algorithm CASE tools – help programming team schedule and coordinate its operations Comment – informal message inserted into a program usually to explain source code to later users Programming Development and Documentation Tools
These symbols are used in flowcharts to represent the logic of a program. Programming Development and Documentation Tools
Flowcharts help programmers visualize the steps in a software program. Programming Development and Documentation Tools
Flowcharts help programmers visualize the steps in a software program. Programming Development and Documentation Tools
What programming errors are in programs? Syntax errors – typing errors or misunderstanding of rules of the language Logic errors – program instructs computer to perform an action incorrectly Run-time errors – mistakes that occur when an application is running (crash or infinite loop) Style errors – poorly written programming code that may cause dissatisfaction with program Programming Errors
What are the steps in the software development life cycle? The software development life cycle involves planning, designing, implementing, testing, and release of application software. The Software Development Life Cycle
Commonly used programming languages Major Programming Languages
Machine Code programming language that computers actually read and interpret machine code written in a binary string of 1s and 0s difficult to memorize the long binary strings that comprise the machine code Major Programming Languages
Assembly Language uses symbols and words to represent elements of machine code must be converted to machine code by a compiler runs fastest and uses least memory programs are difficult to write and development times are lengthened Major Programming Languages
COBOL used chiefly for business applications by large institutions and companies is slow and cumbersome language, but has large body of existing code and many programmers know the language Major Programming Languages
RPG commonly used in business environments inefficient, but simplifies coding of database applications is familiar to many programmers often used on midrange and mainframe computers Major Programming Languages
FORTRAN for many years, the language of choice for math, science, and engineering projects still in use today in factories and laboratories Major Programming Languages
BASIC high-level language that is friendlier and more natural than COBOL or FORTRAN. runs slowly, but faster to develop for programmers. This sequence of code will print the numbers 1 to 10. Major Programming Languages
Visual Basic (VB) language of choice for developing software prototypes or for developing interfaces for Windows platforms quick and easy to develop, but run slowly and is demanding of RAM and disk space supports graphic interfaces Major Programming Languages
C compromise between high-level and low-level languages, containing components of BASIC and assembly language not as easy to read as BASIC, but runs considerably faster and uses less space Major Programming Languages
C++ superset of C; any C program should run in C++. added features such as object-oriented programming. This sequence of code will print the numbers 1 to 10. Major Programming Languages
C# modern object-oriented language derived from C++ and Java combines productivity of Visual Basic with power of C++ allows use of features in Microsoft.NET framework, C, and Microsoft’s Component Object Model (COM) Major Programming Languages
Scripting Languages interpreted language that is relatively easy to learn and use explains what a computer should do in English-like terms but not precisely how the computer should do it Hypertext Markup Language (HTML), JavaScript, VBScript, and perl are scripting languages Major Programming Languages
This sequence of code directs a browser to display buttons users can click to change the background color within the Web browser window. Major Program-ming Languages
On the Horizon Based on the information presented in this chapter and your own experience, what do you think is on the horizon?