Lambda the Ultimate

inactiveTopic Dylan Evans: Computer Illiteracy
started 11/11/2003; 8:23:38 AM - last post 11/11/2003; 8:39:39 AM
Ehud Lamm - Dylan Evans: Computer Illiteracy  blueArrow
11/11/2003; 8:23:38 AM (reads: 8963, responses: 1)
Dylan Evans: Computer Illiteracy
In 50 years, perhaps much less, the ability to read and write code will be as essential for professionals of every stripe as the ability to read and write a human language is today. If your children's children can't speak the language of the machines, they will have to get a manual job - if there are any left.

I, for one, agree that understanding what programming is about is an essential skill, without which people will be regarded more and more as functionally illiterate. But this really is off topic for LtU.

What concerns me is that many people who think about this issue have a very narrow view of what programming is all about, usually due to exposure to very specific introductory programming languages (i.e., BASIC, Pascal etc.)

Microsoft encourages us to believe that we can force computers to adapt entirely to our preferences for visual images, without having to adapt ourselves to their preference for text.

Much as I'd like to share this sentiment, my intemate knowledge of computers forces me to admit that for the computer text, numbers and visual images (i.e., grpahics) are all the same: long sequences of bits... When I see phrases like computer logic I assume people are thinking of for loops not folds, about pointers and not about infinite data structures, about imperative code and not about direct manipulation languages (more here).

Many people that feel that programming is beyond them, feel at home when creating complex spreadsheet based mini applications.

It seems to me that not only should we educate programmers, and encourage schools to include programming as an integeral part of a liberal education, we should also educate those participating in this debate about the full spectrum of meaning that hides behind the term computer logic.

Posted to teaching/learning by Ehud Lamm on 11/11/03; 8:26:23 AM

Ehud Lamm - Re: Dylan Evans: Computer Illiteracy  blueArrow
11/11/2003; 8:39:39 AM (reads: 392, responses: 0)
But what, you ask, if someone wants to learn the fundamental concepts of "computer logic"? My answer is simple: it's all about functions that are applied to parameters. You need to know how to specify functions using recursion, and understand how function application works.

This can be taught using a blackboard, and the Peano axioms, for example.

If you come from PL theory, you'd call the above Lambda Calculus. That's fine by me

Oh, you are now going to argue that LC isn't the only game in town and point me to combinatory logic? I know LC isn't the only model. But my feeling is that for explaining the fundamentals of "computer logic" talking about recursive functions is that best way to go.

Unless you want to start talking about flip-flops and the like, that is...