Computer Programs and Programming Languages
- A computer program is a series of instructions that directs a computer to perform tasks.
- Created by a programmer using a programming language.
Low‐Level Languages
- Machine language is the first generation of programming languages.
- Only language the computer directly recognizes.
- Assembly language is the second generation of programming languages.
- Programmer writes instructions using symbolic instruction codes.
- A source program contains the code to be converted to machine language.
Procedural Languages
- In a procedural language, the programmer writes instructions that tell the computer what to accomplish and how to do it.
- Third-generation language (3GL)
- A compiler translates an entire program before executing it.
- An interpreter converts and executes one code statement at a time.
- The C programming language is used to write many of today’s programs.
- COBOL (COmmon Business-Oriented Language) is designed for business applications, but easy to read because of the English-like statements.
- An object-oriented programming (OOP) language allows programmers the ability to reuse and modify existing objects.
- Other advantages include:
- objects can be reused
- programmers create applications faster
- work well in a RAD environment
- most program development tools are IDEs
- Java is an object-oriented programming language developed by Sun Microsystems.
- The Just-in-time (JIT) compiler converts the bytecode into machine-dependent code.
- The Microsoft .NET Framework allows almost any type of program to run on the Internet or an internal business network, as well as computers and mobile devices.
- Features include:
- CLR (Common Language Runtime)
- Classes
- C++ is an extension of the C programming language.
- C# is based on C++ and was developed by Microsoft.
- F# combines the benefits of an object-oriented language with those of a functional language.
- Visual Studio is Microsoft’s suite of program development tools:
- Visual Basic is based on the BASIC programming language
- Visual C++ is based on C++
- Visual C# combines the programming elements of C++ with an easier, rapid-development environment]
- A visual programming language is a language that uses a visual or graphical interface for creating all source code.
- Borland’s Delphi is a powerful program development tool that is ideal for building large-scale enterprise and Web applications in a RAD environment.
- PowerBuilder is a powerful program development RAD tool.
- Best suited for Web-based, .NET, and large-scale enterprise object-oriented applications.
- A 4GL (fourth-generation language) is a nonprocedural language that enables users and programmers to access data in a database.
- One popular 4GL is SQL
- Classic programming languages include:
- Ada
- ALGOL
- APL
- BASIC
- Forth
- FORTRAN
- HperTalk
- LISP
- Logo
- Modula-2
- Pascal
- PILOT
- PL/1
- Prolog
- RPG
- Smalltalk
- An application generator is a program that creates source code or machine code from a specification of the required functionality.
- Often bundled as part of a DBMS
- A macro is a series of statements that instructs an application how to complete a task.
- You usually create the macro in one of two ways:
- Record the macro with a macro recorder
- Write the macro
- HTML is a special formatting language that programmers use to format documents for display on the Web.
- XHTML is a markup language that allows Web sites to be displayed more easily on mobile devices.
- XML allows Web developers to create customized tags and use predefined tags to display content appropriately on various devices.
- WML is a subset of XML and is used to design pages for microbrowsers.
- Two applications of XML are RSS 2.0 and ATOM.
- Web browsers can execute short programs to add interactive elements to Web pages.
- To send and receive information between your computer and a Web server, these programs use the CGI (common gateway interface).
- Programmers write scripts, applets, servlets, or ActiveX controls using a variety of languages:
- JavaScript
- Perl
- PHP
- Rexx
- Tcl
- VBScript
- Dynamic HTML (DHTML) allows Web developers to include more graphical interest and interactivity.
- Cascading style sheets (CSS) contain the formats for how a particular object should be displayed.
- Ruby on Rails (RoR) provides technologies for developing object-oriented, database-driven Web sites.
- Web 2.0 allows Web sites to provide a means for users to:
- Share personal information
- Allow users to modify Web site content
- Have application software built into the site
- Most Web 2.0 sites use APIs
- An API enables programmers to interact with an environment such as a Web site or operating system.
- Web page authoring software can create sophisticated Web pages that include images, video, audio, animation, and other effects
- Dreamweaver
- Expression Web
- Flash
- SharePoint Designer
- Multimedia authoring software allows programmers to combine text, graphics, animation, audio, and video in an interactive presentation.
- ToolBook
- Director
- Program development consists of a series of steps programmers use to build computer programs.
Step 1 – Analyze Requirements
- To initiate program development, programmer:
- Reviews the requirements
- Meets with the systems analyst and users
- Identifies input, processing, and output
- IPO chart
- Design a solution algorithm.
- In structured design, the programmer typically begins with a general design and moves toward a more detailed design.
- Programmers use a hierarchy chart to show program modules graphically.
- With object-oriented (OO) design, the programmer packages the data and the program into a single object
- Encapsulation
- The sequence control structure shows one or more actions following each other in order.
- The selection control structure tells the program which action to take, based on a certain condition.
- If then else
- Case
- The repetition control structure enables a program to perform one or more actions repeatedly as long as a certain condition is met.
- A program flowchart graphically shows the logic in a solution algorithm.
- Flowcharting software makes it easy to modify and update flowcharts
- SmartDraw
- Visio
- Pseudocode uses a condensed form of English to convey program logic.
- UML (Unified Modeling Language) has been adopted as a standard notation for object modeling and development.
- Check for logic errors using test data
- Develop various sets of test data
- Determine the expected result
- Step through the algorithm
- Compare the results
- Repeat steps for each set of test data
Step 4 – Implement Design
- Implementation of the design includes using a program development tool that assists the programmer by:
- Generating or providing some or all code
- Writing the code that translates the design into a computer program
- Creating the user interface
- Extreme programming is a strategy where programmers immediately begin coding and testing solutions as soon as requirements are defined.
- The goal of program testing is to ensure the program runs correctly and is error free.
- Errors include syntax errors and logic errors.
- Debugging the program involves removing the bugs.
- A beta is a program that has most or all of its features and functionality implemented.
- In documenting the solution, the programmer performs two activities:
- Review the program code
- Review all the documentation