SearchWiki:
  6 User(s) Active on Site
  233 Wiki Pages

Most Recently Modified

Club Resources (edit)

How This Wiki Works

Meeting space complements of:
Computer books
            and technical books at discount prices
Check them out; they are a great source of technical books at very good prices!

If you have shopped at Nerdbooks.com, help them out by reviewing them at ResellerRatings.com. You will need your invoice number to prove you are a real customer, and not just ballot stuffing.
Recent Changes Printable View Page History Edit Page
Content Last Modified on October 19, 2005, at 09:38 PM CST

About Programming

It's not that we don't have enough time.
It's that we have too much to do.

- Chet Hendrickson

Project Management


Some Programming Paradigms

We've talked during our sessions of the paradigms of programming and some people were unclear on their meanings. Python is a multi-paradigm language and you may encounter some of these..

Imperative (Fortran, C)
States "how" the computation is to take place, versus "what" is to be computed.
Procedural (C/C++, Fortran)
Functional (Lisp-like)
Emphasizes the evaluation of expressions rather than the execution of commands. This means that a program, written in a functional programming language, consists of a set function definitions and an expression, whose value is output as the program’s result. A 3-part tutorial about functional programming in Python.
Object-Oriented
Logic/Declarative (Prolog, SQL)
Aspect-Oriented
Deal with one aspect at a time (performance, parallelism, replication, etc.)
Subject-Oriented
A subject is a collection of classes.
Intentional
Don't bother with syntax; express intentions.

Terms Debated During Some of Our Sessions

impedance mismatch
tail recursion
closure
An abstraction representing a function, plus the lexical environment (see static scoping) in which the function was created. A Tutorial in Ruby
currying (named after Haskell Curry)
A tutorial about currying arguments in Python.

Forms of Program Abstraction

  • Data - encapsulation, first-class types
  • Functional - first-class functions, closures
  • Syntactic - macros, overloading
  • Control - macros and high-order functions
  • Design process - abstract away files, dela with phases of project, explicit development process
  • Resource - separate what it takes to do it from what is done
  • Storage - garbage collection, no new operator, slot access and function calls have same syntax

Unit Testing Resources

Recent Changes Printable View Page History Edit Page