|
[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
|
|