jack@rlgvax.UUCP (Jack Waugh) (12/10/83)
Does anyone know about the different versions of the programming language Logo? As far as I can tell, there is no tendency toward standardization. I have learned the Apple Logo dialect well enough to get the flavor of it. Another version that got a better review is Terrapin/Krell Logo. Does anyone know if Tarrapin/Krell has the "RUN" operator, which executes a list as a program, or the operators that convert a list to a procedure (remembered as though the programmer had entered it as "TO" whatever...) and vice versa? For those that have never heard of Logo, it's a very interesting language to which to expose first time computer programmers and children. I remember an article stating that children of age 5 had programmed in it. Promotional literature from Apple claims age 3. Logo has LISP-style lists. The programs, however, unlike LISP programs, are not written out as lists, but in a prettier syntax. Recursion, of course, is permissible. Tail recursion does not push the stack. A call on a programmer-written procedure looks just like an invocation of a primitive. In at least the Apple dialect, programmers can define control structures such as WHILE.
emjej@uokvax.UUCP (12/14/83)
#R:rlgvax:-146500:uokvax:9000011:000:883 uokvax!emjej Dec 12 12:03:00 1983 The language sold under the name "Color Logo" for the Color Computer lacks lists and many of the things that go into Logo, but it's still a neat hack and worth considering for teaching the young to program. What it does that is particularly slick (and provoked this note) is the multitasking facilities it provides, via the command HATCH <name to give turtle> <command and parameters> which creates a turtle with the specified name (well, a number between 1 and 254) which is assigned the task of executing the specified procedure. Turtles can send one another mail (well, a 16-bit two's complement integer) (not to mention sending mail "to whom it may concern," which is read by the next turtle that tries to read mail). I DO hope that the developers of Color Logo will consider expanding the language now that they have OS-9 and more memory to play with... James Jones
ucbesvax.turner@ucbcad.UUCP (12/14/83)
#R:rlgvax:-146500:ucbesvax:4500005:000:1562 ucbesvax!turner Dec 14 01:48:00 1983 I looked at some LOGO's with a view toward implementation a few months back. I was surprised that I ever thought it was a great language. (I did, about 14 years ago, but all I had ever used before was BASIC.) Perhaps my view toward implementation biased me somewhat, but I can't stand Logo syntax now. Sure, user-defined functions look the same as primitives, but typing ":" in front of all variable identifiers to get them properly evaluated is the other side of the coin. Very hard to parse properly. The "RUN" command does allow you to write your own control structures, but the resulting contortions in the interpreter hardly make it worth it. (Those turtles are aptly named--the move slowly.) Why didn't they just define more primitive control structures? Or, if RUN was supposed to illustrate the self-referentiality of the interpreter, why mystify that process with sugary syntax? The problems with parsing result to poor execution rates for RUN, since RUN's argument must be reparsed each time, to avoid the possibility of corrupting the internal state of the LOGO interpreter. And it's far from standard--TI LOGO is somewhat different from Apple. Both have their advantages and their drawbacks. The original MIT dialect was better--less English-like but more regular. But yeah...it's better than starting them on BASIC. I'm still waiting for a really good language for children. LOGO makes computers look both smarter and slower than they actually are. (The computers, that is, not the kids.) --- Michael Turner (ucbvax!ucbesvax.turner)
andree@uokvax.UUCP (12/20/83)
#R:rlgvax:-146500:uokvax:9000013:000:1103 uokvax!andree Dec 18 15:39:00 1983 Gee, mike (ucbvax!turner), it seems like most of your complaints about LOGO deal with either things that are hard to implement, or things that have been implemented poorly - specifically things which result in lack of speed. Sounds like what you want is assembler. Easy to implement, and everything is *FAST*. Before the flames start, I KNOW that's not what you want. I just carried your complaints to the extreme. I don't hold features that are hard to implement against a language. Usually, those are the features about a language that are NICEST. Inefficiencies in the implementation I hold against the implementor. As a final comment, I actually AGREE with you about the badness in Logo. Logo is mostly LISP, with a different syntax and some (relatively minor) extensions. The things you picked on are due to the change in syntax. Many people (me among them) view this change as a definite mistake. I think the idea behind the change was that `infix is more natural.' As far as I know, nobody has actually done a study of this. If someone knows of such studies, I'd like to hear about it. <mike
smh@mit-eddie.UUCP (Steven M. Haflich) (12/21/83)
Logo is mostly LISP, with a different syntax and some (relatively minor) extensions. The things you picked on are due to the change in syntax. Many people (me among them) view this change as a definite mistake. I think the idea behind the change was that `infix is more natural.' As far as I know, nobody has actually done a study of this. If someone knows of such studies, I'd like to hear about it. I don't know of any real studies, but how can one forget the "Calculator Wars" between HP (Polish) and TI (infix) in the 70's? I suspect most of the "research" [?] "published" [in ads] was done by the respective organizations' marketing departments :-). Steve Haflich