Presentation is loading. Please wait.

Presentation is loading. Please wait.

Programming Languages and Program Development Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 1.

Similar presentations


Presentation on theme: "Programming Languages and Program Development Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 1."— Presentation transcript:

1 Programming Languages and Program Development Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 1

2  Explain what a programming language is.  Explain the development of programming languages over the years and the benefits and drawbacks of high-level programming languages.  List several popular object-oriented languages and explain their advantage over older languages.  List the six phases of the program development life cycle (PDLC). Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 2

3  Programming  Process used to create software programs  Programmers  People who use programming languages to create software applications  Programming languages  Consist of a vocabulary and a set of rules called syntax  Interface  Point of interaction between components, such as the interaction between a user’s screen and the computer code, which results when running a program Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 3

4  Middleware  Makes connections between applications on multiple networks  Integral to modern information technology based on XML, Web services, and service-oriented architecture Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 4

5 5 Compilers and interpreters o Source code—programming instructions in the original form that can be translated into a form that the computer can understand o Code—programming instructions created by the programmers o High-level language—language that mimics English; does not require a programmer to understand the intimate details of how hardware, especially the processor, handles data

6 Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 6

7 7 Compilers and interpreters o Compiler—utility program translates source code into object code o Executable program—code transformed from object code ready to run programs that do not need to be altered o Interpreter—translation program that does not produce object code—translates one line of source code at a time; executes the translated instruction

8  Machine  Assembly  Procedural  Nonprocedural  Natural 8

9 First-generation languages Machine language  Based on binary numbers  Only programming language that a computer understands directly  Machine dependent Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 9

10 Second-generation language Assembly language  Low-level language  Programs use:  Mnemonics—brief abbreviations for program instructions make assembly language easier to use  Base-10 (decimal) numbers  Must be translated into machine language by an assembler  Occasionally used to create device drivers  Programs to control devices attached to a computer and game console programs Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 10

11 Third-generation languages  High-level languages—do not require programmers to know details relating to the processing of data  Easier to read, write, and maintain than assembly and machine languages  Source code must be translated by a language translator  Examples: Fortran, Pascal, Algol, Pascal, C, Ada Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 11

12 Third-generation languages (con’t.) o Spaghetti code—difficult to follow, messy in design, prone to errors due to numerous GOTO statements o Structured programming—set of quality standards; programs more verbose but more readable, reliable, and maintainable  GOTO statements forbidden  Examples:  Ada  Algol  Pascal Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 12

13 Third-generation languages (con’t.) o Modular programming—dividing larger programs into separate modules, each takes care of a specific function o Information hiding—also known as encapsulation, modular programming makes it possible to hide details in sensitive applications o Programming languages include: Fortran C Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 13

14  Structured and modular languages  Required for large-scale program development  Languages in widespread use:  Ada  BASIC  Visual Basic  Event-driven programming language that executes only in response to user actions  C Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 14 Third-generation languages (con’t.)

15 Procedural languages o Provide detailed instructions that are designed to carry out a specific action such as printing a formatted report Nonprocedural languages o Do not require programmers to use step-by-step instructions Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 15 Third-generation languages (con’t.)

16 Fourth-generation languages  Nonprocedural languages  Do not require step-by-step procedures  Examples  Report generators (database reports)  Query languages  SQL (Structured query language)—enables users to phrase simple or complex requests for data Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 16

17 Fifth-generation languages  Natural language  Still being perfected  Nonprocedural  Use everyday language to program Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 17

18  Programming technique based on data being conceptualized as objects  Object—unit of computer information that defines a data element that is used to model real-world objects  Attributes define the data  Procedures or operations are called methods  Class—blueprint or prototype from which objects are made  Inheritance—ability to pass on characteristics from a class to subclasses  Examples: C++, Java Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 18

19  Visual Studio.NET—Microsoft’s answer to Java and JavaScript  Visual Basic.Net  Visual C++  Visual C#  F#—language that combines object-oriented features with the assets of a functional language  Functional language reflects the way people think mathematically—useful in programs that express findings in mathematical form  Integrated development environment (IDE) Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 19

20  Not considered programming languages  Tell the browser how to display text and objects  Language types  Markup  Scripting Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 20

21 Composed of a set of codes, or elements, that uses tags to define how text and objects display  Tags—markers that usually come in pairs  Content—text that displays, lies between the opening and closing tags  WML (Wireless Markup Language)  enables developers to create pages for wireless devices  CSS (Cascading Style Sheets)  defines the look and formatting of a Web page Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 21

22  HTML (Hypertext Markup Language)  Used by Web programmers  Supports links to other documents, graphics, and audio and video files.  XML (Extensible Markup Language)  Enables programmers to capture specific types of data by creating their own elements  Not a replacement for HTML  XHTML (Extensible Hypertext Markup Language  Newer version of HTML that uses XML to produce Web pages that are easily accessible by newer portable devices. Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 22

23  Create scripts—programs that control Web page actions or responses  VBScript  ActiveX controls  JavaScript  AJAX  JSON  Used for serialization and transmitting structured data over a network  PHP Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 23

24  Rapid application development (RAD)  Reuses prebuilt objects  Possible because of OOP  Joint application development (JAD)  Uses a team approach  Involves end users throughout development  Agile software development techniques—use collaboration between teams to develop solutions to meet customer needs and company goals Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 24

25 Program development life cycle (PDLC)  Organized plan for managing the development of software  Consists of six phases, from problem definition through program implementation and maintenance Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 25

26 Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 26

27  Define the problem the program will solve  Define the program specifications, including decisions regarding data input, required processing, output, and the user interface Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 27

28  Program design—identifies components of the program  Top-down program design—breaks program into small, manageable, highly focused routines  Procedures, functions, or subroutines  Structured design uses control structures— logical elements assembled in blocks of code that determine how subroutines will be programmed Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 28

29  Basic control structures categories  Sequence control structure—code performed in line-by-line order  Selection control structure—also called a conditional or branch structure, this is a portion of code that leads to a block of code based on conditions being met  Case control structure—portion of code that branches to extensive conditional coding  Repetition control structure—also known as looping or iteration, this is a portion of code that repeats Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 29

30  Algorithm  Combination of control structures  Step-by-step description of how to arrive at a solution  Nesting  Process of embedding control structures within one another Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 30

31 Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 31

32  Program design tools  Structured charts—also called hierarchy charts, show top-down design of programs  Flowcharts—use diagrams to show the logic of a program  Unified Modeling Language (UML)—variation of flowcharting used to illustrate and document object- oriented systems during development  Pseudocode—uses a stylized form of writing to describe logic Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 32

33 Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 33

34  Programmers convert algorithms into programming code  Syntax errors (i.e. language errors)  Mistakes in the construction of the programming commands  Must be corrected for the program to run appropriately Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 34

35  All errors, not just syntax errors, must be removed  Logic errors  Relate to problems in the solution’s design  Cause incorrect output  Program still runs despite logic errors  Syntax errors and logic errors—bugs  Debugging—process of eliminating errors Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 35

36  Documentation includes:  Overview of program functionality  Tutorials  Thorough explanation of main features  Reference documentation of program commands  Description of error messages  Program design work, including structure charts, pseudocode, and flowcharts Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 36

37  Test the program  Have users work with the software  Correct errors  Program maintenance  Fix program errors discovered by users  Conduct periodic evaluations on a regular basis  Make modifications as needed to update the program or add features 37


Download ppt "Programming Languages and Program Development Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 1."

Similar presentations


Ads by Google