Elf90 A First Programming Language Article Swipe
YOU?
·
· 2020
· Open Access
·
· DOI: https://doi.org/10.18260/1-2--6015
· OA: W2465335073
NOTE: The first page of text has been automatically extracted and included below in lieu of an abstract Session 1253 Elf90 - A First Programming Language Thomas M. Lahey , Thomas D. L. Walker Lahey Computer Systems, Inc./Virginia Polytechnic Institute & State University Abstract Essential Lahey FORTRAN 90 (Elf90) is a FORTRAN 90 compiler specifically designed from a pedagogical viewpoint to provide a FORTRAN teaching/learning environment that is user-friendly without damaging the power of the language. This paper introduces the language and its design criteria. It also explores the question of what language to teach as a first programming language. Creating a First Programming Language Any programming instructor with teaching experience in multiple languages has probably arrived at the conclusion that: • some programming languages are easier to teach/learn than others; • programs written in those languages are generally easier to understand; and • programming languages that are comparatively easy to learn and understand are less powerful During the past thirty years, some programming languages were written almost completely from a pedagogical standpoint. Basic (and its variants) and Pascal are the two that come immediately to mind. While some advanced forms of these languages exist today, they are not considered “main stream” languages in the same genre as FORTRAN, C, and C++, at least in the field of engineering. The failure of these languages to rise to prominence is probably due to many factors but the following would be among them: • they were not designed and used by practicing engineers • FORTRAN serves engineers and scientists quite well What if engineering instructors with multiple language experience got together and designed an ideal language, from both a practical and pedagogical viewpoint? How would they do it? Probably they would discuss the idea with colleagues and write a list of requirements. The authors did our version of that and here is our list, prioritized from the top down (just as in good programming style). • The language must be modern, i.e., modern programming concepts are available, e.g., objects, encapsulation, structures, and pointers to name a few. • There must be reasonable expectation that the language will continue to evolve. 1996 ASEE Annual Conference Proceedings