Abstract
A source of great debate among educators is the choice of a programming language in the various computer science courses. In recent years the focus has shifted from features of various programming languages to arguments about the various paradigms that the languages embody. The approach suggested here is to expose students to all of the major paradigms, via the use of a multiparadigm language, as opposed to attempting to identify "the" correct paradigm. In this paper, we first describe the multiparadigm language Leda and its constituent paradigms. We then identify points in the curriculum at which to introduce a multiparadigm language, and some consequences of these choices.
- {App87} D. Appleby. Comparative review of books on programming languages. Computing Reviews, 28(11):569-574, November 1987.Google Scholar
- {App91} Doris Appleby. Programming Languages: Paradigm and Practice. McGraw-Hill, New York, 1991. Google Scholar
Digital Library
- {BG94} Henri E. Bal and Dick Grune. Programming Language Essentials. Addison-Wesley, Wokingham, England, 1994. Google Scholar
Digital Library
- {Bob84} Daniel G. Bobrow. If PROLOG is the answer, what is the question? In Proceedings of the International Conference on Fifth Generation Computer Systems 1984, pages 138-148, Tokyo, Japan, November 1984.Google Scholar
- {Bud87} Timothy Budd. A Little Smalltalk. Addison-Wesley, Reading, Massachusetts, 1987.Google Scholar
Digital Library
- {Bud89} Timothy A. Budd Low Cost First Class Functions. Technical Report 89-60-12, Oregon State University, June 1989.Google Scholar
- {Bud91} Timothy A. Budd. Blending Imperative and Relational Programming. IEEE Software, 8(1):58- 65, 1991. Google Scholar
Digital Library
- {Bud92} Timothy A. Budd. Multiparadigm Data Structures in Leda. In Proceedings of the 1992 International Conference on Computer Languages, pages 165-173, Oakland, California, April 1992.Google Scholar
- {Bud94} Timothy A. Budd. Classic Data Structures in C++. Addison-Wesley, Reading, Massachusetts, 1994. Google Scholar
Digital Library
- {Bud95} Timothy A. Budd. Multiparadigm Programming in Leda. Addison-Wesley, Reading, MA, 1995.Google Scholar
Digital Library
- {CM87} W. F. Clocksin and C. S. Mellish. Programming in Prolog. Springer-Verlag, New York, third, revised and extended edition, 1987. Google Scholar
Digital Library
- {Cur91} Computing Curricula 1991. ACM/IEEE-CS Curriculum Task Force. ACM Press, New York, 1991.Google Scholar
- {Dav92} Antony J. T. Davie. An Introduction to Functional Programming Systems Using Haskell. Cambridge University Press, Cambridge, UK, 1992. Google Scholar
Digital Library
- {DM91} Tim Dudley and Dirk Mahling. Report on Email Panel: Is Visual Programming a New Programming Paradigm. In Proceedings of the IEEE Workshop on Visual Languages, pages 82-88, Kobe, Japan, October 1991.Google Scholar
- {Flo79} Robert W. Floyd. The Paradigms of Programming. Communications of the ACM, 22(8):455- 460, 1979. Google Scholar
Digital Library
- {Gou94} Stephen Jay Gould. In the Mind of the Beholder. Natural History, 103(2):14-23, February 1994.Google Scholar
- {GR83} Adele Goldberg and David Robson. Smalltalk-80: The Language and Its Implementation. Addison-Wesley, Reading, Massachusetts, 1983. Google Scholar
Digital Library
- {Hai86} Brent Hailpern. Multiparadigm Languages and Environments. IEEE Software, 3(1):6-9, January 1986.Google Scholar
Digital Library
- {Hog84} Christopher John Hogger. Introduction to Logic Programming. Academic Press, Inc., Orlando, Florida, 1984.Google Scholar
- {JPB94} Timothy P. Justice, Rajeev K. Pandey, and Timothy A. Budd. A Multiparadigm Approach to Compiler Construction. SIGPlan Notices, 29(9):29-37, September 1994. Google Scholar
Digital Library
- {JW85} Kathleen Jensen and Niklaus Wirth. Pascal User Manual and Report. Springer-Verlag, New York, third edition, 1985.Google Scholar
- {Kay77} Alan Kay. Microelectronics and the Personal Computer. Scientific American, 237(3):230-244, September 1977.Google Scholar
Cross Ref
- {Kin92} K.N. King. The Evolution of the Programming Languages Course. SIGCSE Bulletin, 24(1):213- 219, March 1992. Google Scholar
Digital Library
- {KR78} Brian W. Kernighan and Dennis M. Ritchie. The C Programming Language. Prentice-Hall, Inc., Englewood Cliffs, New Jersey, 1978.Google Scholar
Digital Library
- {Kuh70} Thomas S. Kuhn. The Structure of Scientific Revolutions. The University of Chicago Press, Chicago, IL, second edition edition, 1970.Google Scholar
- {Lip91} Stanley B. Lippman. C++ Primer. Addison-Wesley, Reading, Massachusetts, second edition, 1991.Google Scholar
- {Luk89} Paul A. Luker. Never Mind the Language, What About the Paradigm? In Proceedings of the Twentieth SIGCSE Technical Symposium on Computer Science Education, pages 252-256, Louisville, KY, February 1989. Google Scholar
Digital Library
- {Mac87} Bruce J. MacLennan. Principles of Programming Languages: Design, Evaluation and Implementation . Holt, Rinehart and Winston, New York, second edition, 1987.Google Scholar
- {Mac90} Bruce J. MacLennan. Functional Programming: Practice and Theory. Addison-Wesley, Reading, Massachusetts, 1990. Google Scholar
Digital Library
- {Owe92} B.B. Owens. Comparative review of books on programming languages. Computing Reviews, 33(1):49-56, January 1992.Google Scholar
- {Pla91} John Placer. The Multiparadigm Language G. Computer Language, 16(314):235-258, 1991. Google Scholar
Digital Library
- {Pla93} John Placer. The Promise of Multiparadigm Languages as Pedagogical Tools. In Proceedings of the 1993 ACM Computer Science Conference, pages 81-86, Indianapolis, IN, February 1993. Google Scholar
Digital Library
- {Pou94} Dick Pountain. Functional programming comes of age. Byte, 19(8):183-184, August 1994.Google Scholar
- {PPST93} Rajeev Pandey, Wolfgang Pesch, Jim Shur, and Masami Takikawa. A Revised Leda Language Definition. Technical Report 93-60-02, Oregon State University, January 1993. Google Scholar
Digital Library
- {PW90} Marian Petre and R. Winder. On Languages, Models and Programming Styles. The Computer Journal, 33(2):173-180, April 1990. Google Scholar
Digital Library
- {Sed88} Robert Sedgewick. Algorithms. Addison-Wesley, Reading, Massachusetts, second edition, 1988.Google Scholar
- {Str91} Bjarne Stroustrup. The C++ Programming Language . Addison-Wesley, Reading, Massachusetts, second edition, 1991.Google Scholar
- {Tak93} Masami Takikawa. CLEDA -- LEDA With Constraint Logic Programming. Technical Report 93- 60-03, Oregon State University, March 1993. Google Scholar
Digital Library
- {Wik87} Åke Wikström. Functional Programming using Standard ML. Prentice-Hall, Inc., Englewood Cliffs, New Jersey, 1987. Google Scholar
Digital Library
- {WK89} Mark B. Wells and Barry L. Kurtz. Teaching Multiple Programming Paradigms: A Proposal for a Paradigm-General Pseudocode. In Proceedings of the Twentieth SIGCSE Technical Symposium on Computer Science Education, pages 246- 251, Louisville, KY, February 1989. Google Scholar
Digital Library
- {ZB93} Nabil M. Zamel and Timothy A. Budd. Integrating Constraints into a Multiparadigm Language. In Proceedings of InfoScience '98, pages 402-409, Seoul, Korea, October 1993.Google Scholar
Index Terms
Never mind the paradigm, what about multiparadigm languages?
Recommendations
General-purpose multiparadigm programming languages: an enabling technology for constructing complex systems
ICECCS '95: Proceedings of the 1st International Conference on Engineering of Complex Computer SystemsMultiparadigm programming languages have been envisioned as a vehicle for constructing large and complex heterogeneous systems, such as a stock market exchange or a telecommunications network. General-purpose multiparadigm languages, as opposed to ...






Comments