Results tagged “programming” from SweetFriday

The article, "Trains, Elevators, and Computer Science", begins with a brief history of trains and elevators and specifically their braking systems. The writer, Dick Lipton, a computer science professor at Georgia Tech university, positions his article as practical by first stating that George Westinghouse was "not a theoretician, but was one of the great inventors of the 1800's", then fully explaining the braking problems and adding little comments such as "Pretty neat" and "extremely clever" after some engineering idea.

After 10 paragraphs of history we finally reach the point where Lipton explains the "general principle" behind both and the relation to computing science. This principle is

...do not rely on an action, but on the structure of the system. Make the default, a passive state, a safe state so that when the system fails, it gets to the safe state by default.

The writer of this article, Neal Ford, apparently dislikes any comments and calls them "code smells".

He suggests that inline comments are unnecessary when method/function/procedure names are specific and they have one specific purpose.

Ford may be onto something here but he obsesses over the latest and supposedly greatest software methdologies. Some of the obsessions are dynamic languages, "agile" methodology, and "test/behaviour-driven" development. What I found worse was the re-labeling and mis-crediting of an old software development idea. Ford credits Kent Beck and calls it the "compose method" pattern but everyone else (at least those who know their history) will recognize it as a central idea in structured programming. This apparent pattern, really an old idea given a new name, describes the writing of smaller functions/methods with a clear, specific purpose. The beauty of structured programming is that it gives us a way to convert blocks of code into smaller functions.

Some Dijkstra Quotes

|

A few weeks ago I picked up the books A Discipline in Programming and Structured Programming. The first is by E. W. Dijkstra and the second includes a large section written by him. I became interested in these books after reading a few of Dijkstra's other papers and about Donald Knuth's great works. The computer science field could stand to have a bit more formalism in it and less hand-waving about "real-world" tools and methodologies.

Here are some quotes that I found especially good.

Free Software Supporter is a newsletter run by the FSF (Free Software Foundation) and in it they have a section announcing a few software releases from the GNU project. However, they do not seem to provide any description of the projects aside from their name and version.

I was reading a bit about PLATO, a computer system for computer-aided instruction, and it is astonishingly old. It was around in the 70s, the 80s, etc. The language originally used for creating lessons and tutorials was called TUTOR. I've been extremely curious about the language since I first read about it on the weekend and I'm glad to say that I've found the manual.

It can be found here.

Here is a mirror hosted on this web server just in case.

I bet there are a few gems in this manual. History is awesome ;-)

Web Junk

|

INS and DEL elements re-discovered and used for version control. HTML document's version history kept within itself.

HTML pages as containing structure and storing their contents in separate files. Easier for everyone to deal with and splits up your page into logical pieces.

What The Macintosh Took Away

|

Update: I found a copy of the essay here but it appears to be a reprint with a different title, “Time To Liberate The Web”. Same content though, so it doesn't matter.

I found an essay by Ted Nelson titled “Way Out Of The Box”, and it's about limitations imposed by technical-minded people on everyone else. It's about the assumptions made when programs and computers are designed.

Here is a particularly good passage that tells us what we sacrifice when we force users to become distinct from programmers,

Suppose they gave you MTV, and in return took away your right to vote? Would you care? Some of us would. That's how I think of today's computer world, beginning with the Macintosh. The Macintosh gave us Fonts, pretty fonts to play with, and graphic arts tools that previously were out of reach, except in the most high-budget realms of advertising and coffeetable book production. Those fonts and graphic arts tools were a great gift.

But nobody seems to have noticed what the Macintosh took away.

It took away THE RIGHT TO PROGRAM.

If you bought an Apple II, you could begin programming it right out of the box. I have friends who bought the Apple II without knowing what programming was, and became professional programmers almost overnight. The system was clean and simple and allowed you to do graphics.

But the Macintosh (and now the Windows PC) are another story. And the story is simple: PROGRAMMING IS ONLY FOR OFFICIAL REGISTERED “DEVELOPERS”.

(Emphasis mine)

Find recent content on the main index or look in the archives to find all content.

Creative Commons License
This weblog is licensed under a Creative Commons License.
Powered by Movable Type 4.1