Asee peer logo

Engineering Programming Language Concepts

Download Paper |


2000 Annual Conference


St. Louis, Missouri

Publication Date

June 18, 2000

Start Date

June 18, 2000

End Date

June 21, 2000



Page Count


Page Numbers

5.268.1 - 5.268.6

Permanent URL

Download Count


Request a correction

Paper Authors

author page

Holly A. Patterson-McNeill

author page

Carl Steidley

Download Paper |

NOTE: The first page of text has been automatically extracted and included below in lieu of an abstract

Session 3520

Engineering Programming Language Concepts Holly Patterson-McNeill, Carl Steidley Texas A&M University-Corpus Christi


The study of programming languages is beneficial to all levels of programmers. The first part of this paper reviews some of the reasons for studying programming languages. To isolate some of the issues of language design, definition, and implementation, mini-languages have been used in Programming Languages courses. Mini-languages are small and complete, yet restricted languages. They have a small syntax and simple semantics. Mini-languages and their compilers are being successfully used as a basis for a Programming Languages course.

1. Why Study Programming Languages?

The study of programming languages is beneficial to all levels of programmers whether they be computer science students, engineering students, or computer engineering students. The nature of the work done by graduating students requires that they be familiar with at least one programming language. Yet, this language will probably not be the one they actually use on the job. By studying programming language concepts, students can gain an increased capacity to express ideas, an improved background for choosing appropriate languages, an increased ability to learn new languages, a better understanding of the significance of implementation, and an increased ability to design new languages6. Programming languages are tools and a tool needs to be fully understood before it can be used properly4.

Hand in hand with the linguistic theory7 that one’s language has a considerable effect on the way that one thinks is the influence of a programming language on the class of solutions we are likely to use. The language in which programs are developed places limits on the solutions we are likely to see and the kinds of control structures, data structures, and abstractions we can use. Thus, the forms of algorithms we construct may take different forms in different languages. By learning new language constructs, we can increase the range of our software development thought processes.

If one is given a choice of languages for a new project, it is natural to continue to use the language with which we are most familiar, even if it is poorly suited to the new project. If we were familiar with the capabilities of other languages, we would be in a better position to make more informed language choices.

Learning a new programming language can be lengthy and difficult. A thorough understanding of the fundamental concepts of programming languages can facilitate the understanding of the

Patterson-McNeill, H. A., & Steidley, C. (2000, June), Engineering Programming Language Concepts Paper presented at 2000 Annual Conference, St. Louis, Missouri.

ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2000 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015