Reaction for: Literate Programming by Amanda

I thought that it was particularly amusing when he mentioned the reason why he decided to use the word "web" for his programming language: "it was one of the few three-letter words of English that hadn't already been applied to computers." Ha ha ha, I laughed my head off. And then I looked at the date...1984. Oh...this is about to get interesting.

Then I began to question why the article was included in our reading assignments. It essentially is describing a language that uses words more like English. This is actually a decent idea reguarding the education of CS students. To make programming more accessible to the general populus it would likely be better to make it similar to the language that everyone is familiar enough with that they converse in it.

But this paper expects this language to be used and learned by people who are already familiar with other languages. He expects that they all know Pascal or Fortran or APL or C or something.

The author then discusses the merits of top down and bottom up coding. He wanted to examine which he should make his language. Then he realized that he didn't have to make it either. What he did instead was to allow his language to be written in a "stream of consciousness" order. This is an interesting idea. I worry however that this would cause the coder to not have organized thought which I think is extremely important to making good code.

Actually, as I read on, the language he describes began to sound more and more like OOP. Not in the OOP concepts but in the way that you code in OOP. The fact is that you can work on it in a stream of conciousness sort of way...In fact, you can work on it in a stream of parameters way. It eliminates GOTO problems, just like OOP.

The author claims that because it is a literate language it forces the programmer to clarify their thoughts as they code. He, himself, says that his goal was not to make a language for highschool students but instead for system programmers. This is why it takes components from TEX and Pascal. He assumes the average WEB coder will already know these languages and will be able to easily adapt to WEB.

Basically it interested me. The ideas were intriguing, but because it was written in 1984 I assume we have some evidence as to whether or not it succeeded. I'd be curious to find out. My predictions would be that it ended up being the opposite of what the creator wanted. I would guess that it ended up being taught in some highschools but never caught on with the system programmers.


Reactions


MY NAME: Andrew Schulak

MY COMMENTS

I had forgotten about the author's point regarding programming in stream of consciousness and so I would now like to comment on it.

I think, for me, it is very true that programming isn't really as structured as it might seem to be. Very often we start on large things, then move to tiny little detailed things and weave in and out for the rest of the program. From a structural stand point the many places we hit over time may make no sense. We will start a component of the project and then leave it unfinished for awhile, come back to it, write a little more, etc.

However, as he mentions, the patterns which we attack our code may make perfect sense to us. First we construct the frame of a car, then we make the drive train because we want it to sit well on its wheel base, then we put some chairs in because we need to see how place the carriage, and so on. This sort of programming is indeed like stream of consciousness. We code what makes sense.

Does WEB actually help this sort of programming? I don't know. One would have to use it in order to make that claim. However, if it allows one to write a piece of software the way one thinks about it, and allows one to organize it in that manner (as traditional programs are laid out structurally) it may indeed be a useful tool.


MY NAME: Saul Lehigh Nadler

MY COMMENTS

My beef is that although this system may allow a programmer to design a program successfully and intuitively, it is not a good tool for the beginner. Therefore, the system is not able to TEACH documentation as an inherent aspect of programming; instead, it allows more experienced programmers to include it in their work.


[BACK]