Philosophy for the working programmer.

Disclaimer

I have not formally studied this stuff it just what I have picked up here and there.

Epistemology

  • The theory of knowledge.
  • Putting aside the issue of what knowledge is.
  • Concentrate on sources of knowledge.

Rationalism

  • The mind through the use of reason can directly grasp truth.
  • You do not need sensory information.
  • It is deterministic.

Empiricism

  • The truth as much as it can be known is based on experience.
  • It is probabilistic.

So

  • Domain logic is Rational.
  • Rational knowledge can be represented through the type system.
  • Environmental concerns (IO) are Empirical in nature.
  • They can only be verified via tests.

Ways of looking at the World

The Allegory of the Cave

  • Imprisonment in the cave
  • Departure from the cave
  • Am I inside or outside the cave

Hegelian Dialectic

  • Thesis
  • Antithesis
  • Synthesis

Analytic philosophy

  • What are you actually saying.
  • You should know the meanings of the words you use.
  • You should know what meaning of a word you are using.