Search This Blog

Showing posts with label CS. Show all posts
Showing posts with label CS. Show all posts

Monday, June 15, 2015

Richard O'Keefe's responses to FP Timeline

Richard O'Keefe of Otago whose quote I started FP Timeline with, wrote me some rather detailed comments about history which have interesting titbits of info.

Tuesday, September 10, 2013

Computer Science: Technology or Philosophy?

A computer is like a violin. You can imagine a novice trying first a phonograph and then a violin. The latter, he says, sounds terrible. That is the argument we have heard from our humanists and most of our computer scientists. Computer programs are good, they say, for particular purposes, but they aren't flexible. Neither is a violin, or a typewriter, until you learn how to use it.
Marvin Minsky – Programming clarifies poorly-understood and sloppily-formulated Ideas

Computer science is not a science and it has little to do with computers. Its a revolution in the way we think and in the way we express what we think. The essence of this change is procedural epistemology — the study of the structure of knowledge from an imperative point of view, as opposed to the declarative point of view taken by math.
Mathematics provides a framework for dealing precisely with notions of «what is»
Computation provides a framework for dealing precisely with notions of «how to»

Abelson and Sussman — Preface to Structure and Interpretation of Computer Programs

Computer Science is no more about computers than astronomy is about telescopes, biology is about microscopes or chemistry is about beakers and test tubes.
There is an essential unity of mathematics and computer science.

Michael Fellows — usually attributed to Dijkstra


The above three quotes are interesting as much in their agreement – the irrelevance of computers to computer-science – as in the difference of emphasis: Minsky sees CS from the intelligence/learning pov, Fellows/Dijkstra as math, Abelson/Sussman as something contrasting to math…

So what actually is CS about??

Following is an article I wrote for a newspaper in 1995 on the wider-than-mere-technology significance of CS — reposting here for historical interest.

Wednesday, May 1, 2013

Dance of Functional Programming

Languaging with Haskell and Python


Thursday, November 1, 2012

Imperative Programming: Lessons not learnt

We like to believe that Computer Science (or Information Technology) has advanced and keeps on advancing.

But has it?
What was called programming 60 years ago would today be called Imperative programming.  And it remains the mainstream (but see 7. below).

In short our field has a definite resistance to learning from our past.

A few examples will illustrate:

Thursday, October 18, 2012

Layout Imperative in Functional Programming

How long should program lines be?

But wait! Is this question even meaningful without specifying which programming language?

Monday, July 23, 2012

We don't need no Ooooo-Orientation – 2

Philosophical Underpinnings of OO

In the case of OO, we find a good deal of…
No philosophy
We don't need no philosophy (we are techies!) 1
Naive philosophy
Isn't it obvious what an object is? Just a(ny) thing? 2

Saturday, July 21, 2012

We don't need no Ooooo-Orientation – 1

When I was younger, I believed that OO was THE (or at least one important) solution to programming problems.  Over years Ive come to see that OO works in some cases and fails badly in many others. So I intend to blog on and off about my reservations with OO. I'll start off with touching on…

Problems with OO Terminology

Tuesday, May 1, 2012

Recursion pervasive in CS

I am often surprised that people think of recursion solely confined to the narrow context of recursive functions, missing the widespread and ubiquitous status of recursion in computer science.  If I may be permitted some jargon, we need to move on from recursion in recursive functions to

The Recursion Design Pattern

which has a large number of instances such as

Tuesday, March 1, 2011

Sunday, February 20, 2011

CS Education is fat and weak – 3

We continue using our two examples from my last post to study how

Conscious and Unconscious Framing shapes CS education



Tuesday, February 8, 2011

CS Education is fat and weak – 2

In my last post, we looked at the CS timeline as it is usually given. Now we start

Deconstructing the History of CS

with a view to figuring out why in a field so flush with cash, education is faring so badly.

Tuesday, February 1, 2011

CS Education is fat and weak – 1

Are

History of CS

and

CS Education

related?

Yes: More than they should be. Less than they should be.
More because things are a certain way because of context that led up to them.
Less because we just dont learn from our mistakes!

In this post we will cover the history as it is usually given. In the next post, we will deconstruct this history to see why CS education today is such a mess.

Sunday, October 24, 2010

Html is why the mess in programming syntax

You want to Shout NON SEQUI…  Just a minute…