Brian Epstein on Thu, 12 Jul 2001 00:20:05 -0400


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

[PLUG] Types of programming paradigms


There was a question asked about types of programming paradigms at
tonight's meeting.  There are 5 types of programming paradigms discussed
in Ravi Sethi's, "Programming Languages: Concepts & Constructs" book
(ISBN: 0-201-59065-4).  I had the opportunity to take Ravi's course at
Rutgers so I remembered there were a few different types, but couldn't
remember all the names.

Here is the breakdown:

Imperative Programming:
	These are action oriented languages.  It consists of a series of
	actions which produce a result.
	- C
	- Pascal
	- Basic

Functional Programming:
	Pure functional programming languages do not use assignments.
	Because LISP allows assignments, it is not a pure functional
	language.  It is still considered a functional programming language,
	though.
	- LISP
	- Scheme
	- Standard ML

Object Oriented Programming (OOP):
	This has a class of objects that the programming style is based
	upon.  Object inheritance and the like.  Some OOP languages can
	also be Imperative Languages.
	- Java (strict OOP)
	- Smalltalk
	- C++ (loose OOP)
	- Perl (you can do OOP)

Logic Programming:
	This uses logic to try to reason out answers.
	- Prolog

Concurrent Programming:
	This is basically the idea of having a process of sequential
	computation with its own thread of control.
	- Ada

Most of these (including LISP) can be found free and online for Linux.  I
know that EMACS (Eighty Megs And Constantly Swapping)^W^W^W^W^W (oops) is
based on LISP and so is Gnome.  You can alternatively get Scheme if you
want to play around with multiple ()()()()()()('s.

Great meeting tonight!

ep

-- 
Brian Epstein (ep) <ep@apiary.dhs.org>
Key fingerprint = F9C8 A715 933E 6A64 C220  482B 02CF B6C8 DB7F 41B4


______________________________________________________________________
Philadelphia Linux Users Group       -      http://www.phillylinux.org
Announcements-http://lists.phillylinux.org/mail/listinfo/plug-announce
General Discussion  -  http://lists.phillylinux.org/mail/listinfo/plug