Introduction to Programming for Laymen

sarkinen.com > johan > Teaching > Programming

Characteristics of a Good Programming Language

< 11. End of Course  

Your Goals of Learning

In alphabetical order

   
Brevity
  • [answers.com] Language should have the ability to implement the algorithm with less amount of code. Programs expressed in high-level languages are often considerably shorter than their low-level equivalents. (#4)
Cost
  • [answers.com] The ultimate cost of a programming language is a function of many of its characteristics. (#6)
Documentation
  • [Safari] Documentation is one of the most important components of an application development. Even if a program is developed following the best programming practices, it will be rendered useless if the end user is not able to fully utilize the functionality of the application. A well-documented application is also useful for other programmers because even in the absence of the author, they can understand it.
Efficiency
  • [answers.com] It should permit the generation of efficient object code. (#9)
  • [Safari] Every program requires certain processing time and memory to process the instructions and data. As you must have realized, processing power and memory are the most precious resources of a computer; a program should be laid out in such a manner that it utilizes the least amount of memory and processing time.
Error checking
  • [answers.com] Being human, a programmer is likely to make many mistakes in the development of a computer program. Many high-level languages enforce a great deal of error checking both at compile-time and at run-time. (#5)
Familiar notation
  • [answers.com] A language should have familiar notation, so it can be understood by most of the programmers. (#7)
Flexibility
  • [Safari] A program should be flexible enough to handle most of the changes without having to rewrite the entire program. Most of the programs are developed for a certain period and they require modifications from time to time. For example, in case of payroll management, as the time progresses, some employees may leave the company while some others may join. Hence, the payroll application should be flexible enough to incorporate all the changes without having to reconstruct the entire application.
Generality
  • [answers.com] Most high-level languages allow the writing of a wide variety of programs, thus relieving the programmer of the need to become expert in many diverse languages. (#3)
  • [Safari] Apart from flexibility, the program should also be general. By generality, we mean that if a program is developed for a particular task then it should also be used for all similar tasks of the same domain. For example, if a program is developed for a particular organization then it should suit all the other similar organizations.
Modularity,
Structural
  • [answers.com] It is desirable that programs can be developed in the language as a collection of separately compiled modules, with appropriate mechanisms for ensuring self-consistency between these modules. (#10)
  • [Safari] To develop a program, the task must be broken down into a number of subtasks. These subtasks are developed independently, and each subtask is able to perform the assigned job without the help of any other subtask. If a program is developed structurally, the program not only becomes more readable, but the testing and documentation processes also get easier.
Portability
  • [answers.com] High-level languages, being essentially machine independent, should be able to develop portable software. (#2)
  • [Safari] Portability refers to the ability of an application to run on different platforms (operating systems) with or without minimal changes. Due to rapid development in hardware and software, nowadays platform change is a common phenomenon. Hence, if a program is developed for a particular platform then the life span of the program is severely affected.
Quick translation
  • [answers.com] It should admit quick translation. (#8)
Readability
  • [answers.com] A good high-level language will allow programs to be written in some ways that resemble a quite-English description of the underlying algorithms. If care is taken, the coding may be done in a way that is essentially self-documenting. (#1)
  • [Safari] The program should be written in such a way that it makes other programmers or users to follow the logic of the program without much effort. If a program is written structurally, it helps the programmers to understand their own program in a better way. Even if some computational efficiency needs to be sacrificed for better readability, it is advisable to use a more user-friendly approach, unless the application’s processing is of utmost importance.
Widely available
  • [answers.com] Language should be widely available and it should be possible to provide translators for all the major machines and for all the major operating systems. (#11)

 

References


< 11. End of Course 

Updated 2013-01-05

sarkinen.com | Personnel | Businesses | General/Adm | webmaster | J&P Group (JandP.biz)
Copyright © 1999-2016 J. Sarkinen. All rights reserved.