**Design Issues in Modern Programming Languages **
Ahmet Alp Balkan
This essay has been prepared for Programming Languages CS course. It can be freely used and distributed.
Details of a programming language design is one the most controversial issue in the theory of programming languages. Many years ago, languages designed for programming computers have
a syntax such that only a machine can understand and translate. Such languages were called “low-level programming languages” and they were not providing any abstraction functionality while coding a new program using these languages. [1] These machine languages are evolved to assembler and many years later we have “high-level programming languages” which sometimes hide all details of computer architecture and language implementation details with abstracting many kinds of functionality. People “create” something when they do need it. With evolution of computers and computer programming, many reasons triggered creation of new programming languages. Most of the time, these reasons are about efficiency, usability, style, functionality (capability) of usage of these programming languages. Let’s say if a company hires a software engineer and request a computer program does a particular job, if engineer would code this program in assembly language, it may take months; on the other side, most probably, it would take a few days using a new-generation programming language. That is about the efficiency and saving money for enterprise market in software engineering. To do particular jobs in computers, labs or people design new programming languages which developers can get rid of unnecessary parts of implementation.
Readability and ease of coding are also reasons behind appearance of new programming languages. Recall from low-level programming languages, the first languages i.e. FORTRAN, ALGOL, COBOL were not consist on good readable codes. This is a big deal since many software is created collaborated today, the code written on a language must be readable easily by other developers as well. However, major languages designed in last 15 years consist on a syntax which is human-friendly. In this issue, it is not all about programming language design but also developers’ coding style. [2] On the other hand language syntax is exactly a limiting factor for code readability. Any code written on a language may not be readable even it has been coded by a pretty good developer. Besides that, collaboration is limited by readability. When Hejlsberg released C# language, one of the important benefit was ease of coding and readability of code.[3] Read More →