Subject: Re: Is C a functional programming language? From: Erik Naggum <erik@naggum.no> Date: 1999/03/18 Newsgroups: comp.lang.smalltalk,comp.lang.java.programmer,comp.lang.c++,comp.lang.basic.visual,comp.lang.lisp,comp.soft-sys.powerbuilder Message-ID: <3130788523040567@naggum.no> * Peter Holland <pholland@lucent.com> | C is primarily an imperative language, not a functional language. | LISP is a functional language. this is really cross-posted way to widely to ever be useful, but I'll answer the "LISP" part, anyway. there is no _one_ language called "LISP". nowadays, is makes more sense to talk about Common Lisp or Scheme. referring to Common Lisp as the "LISP" your father knew is like calling C++ or Ada "Algol". referring to Scheme as "LISP" is like calling C "Algol". Common Lisp is object-oriented, functional, and imperative. it is what you want it to be. Scheme is functional and imperative. you can make it be whatever you want it to be. IMNSHO, _programmers_ are object-oriented, functional, or imperative. if they love pain and suffering, they will stick with a language that makes their work tedious and boring and hard to get right, and this includes a surprisingly large fraction of them, but otherwise they tend to choose languages that support the way they already think. however, one clue is important: if the language does not offer automatic memory management ("garbage collection"), it takes extraordinary effort to make it functional or object-oriented, and most attempts have failed. in other words: if you're really into this, you can write a functional environment in C, but without such an environment, C is imperative. #:Erik