The future of programming—are fundamental changes in computer science programs coming? (panel)

1998 
Computer programming languages (and their dominance as the means of software development) have been one of the most high-profile topics in the 50-year history of computing --- reaching mature technology and achievements for language definition, translation, usage, analysis, pedagogical approaches, etc. and in terms of their general impact on computing systems This reality has continuously driven the content of Computer Science curriculums to feature programming languages, their definition techniques, and their translation methods as the subject of many core courses, and their usage as a tool to carry out the teaching of the principles in most other courses. The objective of this panel is to, at just past the mid-point of the first century of computing, debate whether this pre-eminent role of programming languages will continue straightforwardly in the second half-century, if radically new styles of programming languages will emerge and dominate, or if programming languages will recede to minor importance compared to alternate software-development paradigms in both usage and teaching impact. And, for each of those propositions, to assess the impacts for change in typical CS curriculums.For most software domains today, so-called 3rd-generation programming languages (e.g., Ada, Scheme, Pascal, C/C++, Modula 2, COBOL, FORTRAN, and recently, Java) enjoy considerable portability between computers and are now widely accepted. In these "procedural" languages programmers still are responsible for designing and coding the software architectures, algorithms, logic, and most data structures to solve the problems. For some well-understood domains (e.g., report writing, inventory control, and some financial programming), 4th-generation languages (4GLs) or "non-procedural" languages are established which essentially allow users to specify "requirements" instead of software solutions, with 4GL compilers that generate code satisfying the requirements; the number of domains for which 4GLs are appropriate increases steadily as domain understanding increases. 5th-generation or automatic programming approaches have been a research topic for many years, with some promising results demonstrated in constrained domains, although the distinction from a 4GL to a 5th-generation language (5GL) is less clear than the earlier transitions. Technologies for formally representing and translating programming languages, and the concepts and methods for teaching their effective application, have continually evolved with the programming language trends, and are generally regarded in the body of crystallized core CS concepts.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    0
    References
    0
    Citations
    NaN
    KQI
    []