1 / 18

Evolution of Programming Languages

Evolution of Programming Languages. Effect On Programmers Productivity. Productivity. ‘The measure of outputs produced from a given set of inputs’. Introduction.

Télécharger la présentation

Evolution of Programming Languages

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Evolution of Programming Languages Effect On Programmers Productivity

  2. Productivity ‘The measure of outputs produced from a given set of inputs’

  3. Introduction • The main motivation for introducing programming languages based on different paradigms is to increase the productivity of programmers.

  4. Introduction • Different problems require different solutions, so using languages that are more suited to particular tasks increases productivity.

  5. Introduction • Some areas that influence productivity include: • Speed of code generation • Approach to testing • Effect on maintenance • Efficiency of solution once coded • Learning curve (training required)

  6. Speed of code generation • This is a standard method of measuring productivity. • Programmers are often paid per line of code. This leads to inefficient code generation.

  7. Speed of code generation • Languages that increase the speed of code generation must increase the productivity. • Using a language based on the most suitable paradigm will make code more efficient and will result in a more elegant final solution.

  8. Approach to Testing • The testing of individual modules is where the largest productivity gains can be made. • Functional and Object-Oriented languages force programmers to write self-contained functions and objects.

  9. Approach to Testing • These functions or objects can be thoroughly tested, and re-used. It is also possible to create new objects that inherit attributes from the original. • This reduces the amount of testing needed, increasing productivity.

  10. Approach to Testing • The creation of test data is vital. • Languages that can encapsulate their data will reduce the magnitude of the test data sets. • Therefore, the process of encapsulation will also increase productivity.

  11. Effect on maintenance • Maintenance is the ability of code to be modified to meet changing requirements. • Locating the code that needs changing is often the hardest task, so languages that force the programmer to develop modules assist in this process.

  12. Effect on maintenance • Object oriented languages do this well, functional and logic languages provide the facility but it is not enforced.

  13. Efficiency of solution once coded • Efficiency of software is measured in the speed it performs tasks. • How efficiently can a language communicate with the hardware?

  14. Efficiency of solution once coded • Imperative languages have evolved as the Von Neumann hardware architecture has evolved. • So essentially, languages of a non-imperative paradigm have a disadvantage when trying to work with the hardware resources.

  15. Efficiency of solution once coded • However, although hardware is not really designed for these other paradigms, it is now capable of executing applications at such a speed that efficiency concerns are of a reduced importance.

  16. Learning curve • Logic and Functional languages are not widely used. They are often only used in specialised areas. • It is difficult to learn languages from new paradigms; the learning curve is steep.

  17. Learning curve • Object oriented languages, however, are very popular and are a large part of the educational and commercial sectors. • Many programmers are experiencing and learning OOP techniques early on, so these languages have gained wide acceptance.

  18. Conclusion • It is difficult learning a new language, and even harder when also having to learn a new paradigm. • However, it is in our interest to examine and learn new ways of doing things, and this may even increase our productivity.

More Related