Talk:Logo (programming language)

From Wikipedia, the free encyclopedia

Logo (programming language) is within the scope of WikiProject Robotics, an attempt to standardise coverage of Robotics. If you would like to participate, you can edit the article attached to this notice, or visit the project page, where you can join the project or contribute to the discussion.
??? This article has not yet received a rating on the Project's quality scale. Please rate the article and then leave a short summary here to explain the ratings and/or to identify the strengths and weaknesses of the article.
??? This article has not yet received an importance rating on the importance scale.

This is the talk page for discussing improvements to the Logo (programming language) article.

Article policies
Former FA This article is a former featured article candidate. Please view its sub-page to see why the nomination did not succeed. For older candidates, please check the Wikipedia:Featured article candidates/Archived nominations.

Contents

[edit] Copyrighted screenshots

Most of the screen shots in this article seem to be from a copyrighted program. I'm thinking of rerunning the examples in KTurtle and then exporting the graphic. Thus, the images won't have a copyright on them and they will look better because there won't be any window border ect. Let me know what you think. --Mblaze

I provided most of the illustrations in 2003, many generations of Wiki ago. The copyright statements have changed beyond recognition. To clarify, the screen dumps are my work which I release without copyright. The program used MSWLogo, is the property of George Mills and the Regents of The University of Texas it is released for non commercial use under a GNU Public Licence. It was run under Microsoft Windows 95 and I haven't a clue what the status of Gatesware is, though I suspect that most uploads to Commons is made from a Gatesware machine.
Now, if you wish to rerun the whole series on a Debian machine - this would be a valuable service, but you need to be careful to choose a full logo program. Cies is very clear that kturtle is not a logo and is intending to move the syntax further away, so there is no misunderstanding. It will not list process, or I believe handle trig functions. If you are looking for a suitable Linux Logo then XLogo http://xlogo.free.fr/telechargements-en.html (GPL), which comes as a jar, might be the most appropriate, or you need to make aUCB, or UCB.(though what is the copyright status of JRE- I don't know.
It would be helpful if someone was not randomly tagging some images, and deleting others that had the same providence.
For more information on Logos [1] or contact me directly.
ClemRutter 21:16, 14 December 2006 (UTC)

[edit] Spanish version

Why is the Spanish version tacked onto the end of this article? Doesn't it belong in the Spanish version of Wikipedia? --Frecklefoot

Yes, it does - I've removed the text again. For info the Spanish Wikipedia is at [2], I'd transfer the text there myself, but wouldn't have a clue what I was writing! -- sannse 14:44 May 13, 2003 (UTC)

[edit] Point of view

I have spent many years using LOGO with students and I am obviously pleased that LOGO has got an entry, but I am worried that it written from the observers point of view rather than that of a participant. It falls into the trap of just mentioning Turtle graphics and nothing about the language its unique control structures, its IO subsystem, and its List processing power. There is no link to Brian Harveys seminal 3 volume work or George Mills MSWLogo (open source). There is no link to the LOGO list on Yahoo Groups etc-- all of which would be known to a participant.

I have written extensively on LOGO as I have discovered more and links to ythese articles are at http://www.rutter.uklinux.net/_sch/c03logo.html. I would suggest that some of the articles in the first column could be wikified and insetert as a top level in the article, embedding the work already present.

I would then present the URL to members of the LOGO list (some who are far more able than me) for comment, modification and addition.

Cooperatively yours

Clem Rutter Rochester, Kent

2 Dec 2003- As there were no negative comments, I have done what I suggested above.

[edit] Pictures please!

Could somebody with a working logo system run the example scripts and upload images of the results? Populus 00:02, 8 Dec 2003 (UTC)

The images on the page were made in MSWLogo. Although technically this is a copyrighted program, it's copyrighted only in order to be GPLed. It can legally be used for all purposes, including commercial purposes, provided that the program itself is redistributed according to the GPL. So I don't think there is any need for the big copyright warnings on the images. (I'm the author of UCBLogo, the Logo engine at the core of MSWLogo, so I think you can take this as authoritative.) Briankharvey 17:17, 9 April 2007 (UTC)briankharvey

[edit] Introductory paragraph

The intro to this article need some serious work. Who is Papert? What is LISP? We come in seeming to know these concepts. Sorry, the article I came from didn't tell me, and I don't want to go to another article before reading this one.

Let's please have some context established before we dive in.

Radagast 02:45, Mar 2, 2004 (UTC)

I have exactly the same comment: The very first sentence says:
Papert used LISP but changed the syntax so it is much easier to read.
Who or what the heck is "Papert"? It seems like there used to be sentence preceding it which has disappeared. Since it's been 8 days since Radagast made his/her posting, I guess nobody is reading this Talk page, but if someone is who knows something about Logo, please illuminate us! --Sewing 05:43, 11 Mar 2004 (UTC)
Well, the LEGO feature article on the Main Page explained that "Papert" is a "Dr. Seymour Papert"; I wikified "Seymour Papert" and discovered an article on him...rewrote the opening sentence accordingly. --Sewing 05:50, 11 Mar 2004 (UTC)

I was going to correct a typo in the section Comparisons Between Logo and Pascal, but then I continued reading it and I feel it really has little to do with the article, especially considering Pascal is a dying language (meaning the reader is less likely to draw anything useful from it, not that Pascal should be ignored!). Much of the content in there has little to do with either language — "trees are more fun"? I don't rate a language by how fun it is to construct a tree in it. While there is some useful information here (for instance how easily Logo handles recursive data structures), it would be best said elsewhere in the article, in my opinion. For these reasons, I have removed the section comparing Logo to Pascal.

--Furrykef 22:03, 25 Apr 2004 (UTC)

I'd also like to see fewer general comparisons to Pascal in the article ("this is like a Pascal procedure..."), but since I never worked with Logo myself, I don't really feel qualified. (Of course, I feel it best to avoid language comparisons at all, but if they must be made, I'd prefer they'd be made with more commonly-used languages; C and Java would be good.)

--Furrykef 22:11, 25 Apr 2004 (UTC)

I don't really see why we should favor currently popular languages. Wikipedia is not a textbook. We shouldn't make assumptions like far more readers tend to know Java than Pascal. If you are writing a textbook, it is probably a good idea to pick a currently commonly used language to describe things but it is not the case here. I agree the section seem rather irrelevant. So why not separate it? I am going to create an article Comparison of Logo to Pascal. -- Taku 22:21, Apr 25, 2004 (UTC)


Clem Rutter replies: When i rewote the LOGO article, it was mainly bits about turtle graphics (see above). I attempted to leave everything that was not wrong, and embed it in an article that reflected the three aspects of LOGO (the child, the Serious student of Computer Science, and the educationalist that uses LOGO in a constructionist educational paradigm). The intended audience will be all three of these groups.I have written about Logo, and used it as a teacher with 9 yr olds to 18, I have used it to write two serious programs.

You need a frame work to start from. I looked at a format used for the article on C. which I speak, and in the end cloned much of the text from an article I had written on Logo for Pascal speakers, hence I used the 'Pascal' as an abbreviation for 'block structured functional languages.

Though I program in C, I teach programming in Pascal which I still find is more commonly used 'block structured functional language' in academic publishing though in recent years more has been written using a OO paradigm.

Logo keywords are more similar to Pascal than C. Concepts such as i++ or ++i are alien to Logo. Java is a language from a different generation and pardigm. More C== than C.

But there is no real issue-the holy war exists between C and Pascal (Wikipedia on C), I just feel the article would be more verbose if comparisons were made with C. I do feel that a comparison is necessary- or the article becomes impossible verbose, or trite.

I left the Comparisons with Pascal in because- it is a question that a lot of beginners ask- I didn't make a separate page because I didn't see it as more than a paragraph- certainly not an article- each to his own.

The forthcoming issues from the Logo community could be comparisons of differing implementation of Logo.

[edit] Non-programmer info

I came to this article from the Microworlds article. I am writing a critic of the Microworlds webapp for educational use. I do not have an programming background and when I came to the bit about the turtle was quite confused. Could someone help out us non-programmers and tell us what the devil the turtle is? Thank you for your attention. Shongzah 20:51, 7 March 2006 (UTC)

  • The turtle has nothing to do with programming. It's a unique feature of Logo. Perhaps the article doesn't explain properly what the turtle is. I will add a paragraph. —EatMyShortz 10:08, 7 November 2006 (UTC)

[edit] How About A LogoWiki? -- by Alan Kay

It really bothers me that the Logo examples in this article can't be tried out in 2006 (given that this was easy on an Apple ][ in 1979)! Here's an example of a LogoWiki. The Logo interpreter is in JavaScript so the examples can be run directly and without any reference to a server. When save is pushed, the edits get sent back to a wiki server. This is just a quick demo right now so don't bother to beat on it too much.

(Logowiki appears to have become domain squatted. See below for details)

[edit] The Prolog programmer?

What is with this article and Pascal? On at least 5 occasions, it describes things with respect to "a Pascal programmer", giving examples in Pascal (which is OK), saying when Pascal programmers will "be surprised" and "be familiar" with concepts (this is not OK because it's meant to be for a general audience), and at one point, even describing generic programming concepts of selection and iteration as "the standard Pascal controls". —EatMyShortz 10:08, 7 November 2006 (UTC)

See my comments above. The body of the article was written in 2002-3, and it has lasted well. In those days, in the UK, Pascal was still taught as a intro University Course, and thus in enlightened schools preparing their students for University CS. Students would be taught Logo, (POV: usually badly) from 10- 14, then do some Excel/Access, and pick up programming at 16 using the Heathcote textbooks. At this stage, you would want to refer back to the programming they had done in Logo. On the other hand, the teacher who was responsible for teaching Logo (POV: usually without training) needed to refer back to another language that had the necessary concepts, but was not riddled with unnecessary baggage like typing. They could pick up Wirth and find the necessary material. So why not Prolog. It simply was below the horizon, and I know of no PD compilers running on entry level machines- in the crucial period 10 years previous, so I cannot write a comparison to a language I had never used in anger. Yes things have moved on, I suspect that programming is a more limited skill today than it was then, and probably the comparisons should now be made with Javascript- as this is probably the only language, the target audience will have encountered. If you have any suggestions for a reword- run it past me on my talk page- so we can avoid a pointless firefight. If you wish to keep upto date on Logo thinking ,There are now over a 170 known versions of Logo, see http://groups.yahoo.com/group/LogoForum/messages, you won't see the word Pascal used there. ClemRutter 15:47, 19 March 2007 (UTC)

[edit] Dynamic scoping?

Scoping
Variables don't have to be declared before use. Their scope is then global. A variable may be declared local, then   
its scope is limited to that procedure and its subprocedures (a.k.a. dynamic scope). Calling a 'procedure' with  
'inputs', creates 'local variables' which hold the contents of the parameters.

Sounds more like lexical scoping to me, no? Themania 13:55, 19 March 2007 (UTC)

Logo is dynamically scoped. (There have been a few lexically scoped dialects, notably Object Logo, but I believe that no such dialect runs on currently available computers.) What may be confusing here is the word "subprocedure"; to a Logoite this means "a procedure called by the procedure of interest" but I can see that someone unfamiliar with Logo might interpret it as "a procedure defined lexically within the procedure of interest." (All Logo procedure definitions are global, in almost all dialects, so if Logo were lexically scoped it would be so only in the trivial sense in which C is lexically scoped.) I'll clarify the text. Briankharvey (talk) 07:00, 7 January 2008 (UTC)

NetLogo is lexically scoped. (I don't object to the article describing Logo as dynamically scoped, though.) Also, I seem to remember from LogoForum that there was another dialect that was lexically scoped but also had a dynamic scope as an option.. was it Elica or Lhogho, maybe? SethTisue (talk) 15:00, 7 January 2008 (UTC)

[edit] Bibliography

I have a box of redundant Logo books, I have not entered them in the Bib. as they are no longer current. Why is there a ref to a AtariST Logo- that is not available on line as stated- does it have anything of relevance to say. If not it should be deleted.ClemRutter 23:00, 2 April 2007 (UTC)

[edit] External Links

Am I unkind in suggesting that some of these links have no current value. There remains a lot of dross on the internet that has been forgotten by the authors, and material that mistakes Turtle graphics for LOGO, a link to these sites is unhelpful.

  • Thinkquest is not Logo- it uses non standard syxtax.
  • Cynthia Solomons page- has some interesting very early photos, but really needs to explain MIT/Berkeley split, Microworlds, BBCMicro, modern developments such as XLogo (french) FMS and the importance of Eurologo, before it is more than a stub- and doesn't yet warrant a link.
  • Gary Stagers links are interesting but are tainted by self publicity- I would keep them though.
  • Logowiki is a neat page but falls over when a procedure is defined. It doesn't implement help.

ClemRutter 23:00, 2 April 2007 (UTC)

and External Links ==

[edit] Polar rose animation

This animation makes the page very slow to load for me. Can it maybe be linked rather than inlined? The Wednesday Island 14:13, 3 April 2007 (UTC)

  • Ah yes. Maybe I should have considered slower connection speeds; I'll put a link to it instead.--Steven Weston 17:26, 8 April 2007 (UTC)
    • I do like your polar rose, and the idea of substituting with something simpler is good, though not as impressive. Now, could your improve it further. I think that a larger pensize would work better, and could you change the fade colours say to blue to green, it will contrast better with the white square or maybe 'snake eyes' as in the Disney Jungle book, as the only issue really is cutting down the download time for dialup users- just a thought. I will clean up the paragraphs to make it more readable and remove duplicate code. ClemRutter 18:43, 8 April 2007 (UTC)
    • That should not be too hard. I'll leave the basic one in and put a more colourful one beside it, with the same number of frames and the same size. It shouldn't take too long. However, the 8 bits per pixel doesn't allow for the really nice colour gradients like a bitmap does.--Steven Weston 19:42, 8 April 2007 (UTC)

[edit] History

  • The first implementation was written in LISP on a PDP-1... The goal was basic problem solving; the turtle gave immediate (non-written) feedback so bugs could be spotted... The turtle was a rather late innovation.

How did the turtle give feedback in the first implementation if turtles were a late innovation? (The latter is correct; the turtle was developed after Papert moved from BBN to the MIT AI Lab and started a Logo Lab there.) I'd edit the incorrect sentence except that I'm not sure what its intent was, and I wasn't around in the earliest Logo days. Briankharvey 17:52, 9 April 2007 (UTC)briankharvey

I tried to clean this up. It was nearly impossible to understand before and the writing style was atrocious. Someone who knows the history needs to go through it and make sure the original meanings were preserved and possibly elaborate on some things such as Briankharvey's comment above. 163.231.6.85 14:57, 6 July 2007 (UTC)

[edit] Table of contents problem

This is my first helpme note. I hope I am doing this correctly. I added some data to the Infobox, which made it one line longer. This has caused the Contents table to become rather narrow and ugly looking. I am sorry. I am not sure what to do about this, other than removing the newly added data. Thank you. Jerryobject 10:47, 2 May 2007 (UTC)

That's okay. Infoboxes are supposed to be formatted like that. Real96 10:56, 2 May 2007 (UTC)

[edit] Apologies

A recent revert made by me was in error, apologies for any inconvenience caused. Andrewjd 15:11, 5 June 2007 (UTC)

[edit] Turtan

Seth was right to remove the link as it appears to promote original research. The concept has not been introduced to any of the authorative logo lists and is not an entry in the The Great Logo Atlas- though I suggest that the authors should make contact with both, to further greater understanding.

Also authors who believe they have a link to add, should read this talk page before posting.

Looking at their YouTube presentation they definitely have a turtle graphics system that is capable of repetition but it is not obvious whether they have list processing or ways to write procedures (methods). ClemRutter 15:47, 22 August 2007 (UTC)

[edit] Disappearance of logowiki

The javascript based logowiki which used to be on www.logowiki.net has turned into a domain squat. Seeing this fantastic resource destroyed in this fashion exemplifies what is wrong with today's web... The good news is that the Internet Archive took a copy of the page before it was squatted sometime in August and the copy seems to be mostly functional and I believe you can try a very basic logo with turtle graphics on http://web.archive.org/web/20061006023641/http://www.logowiki.net/ . Thanks should go to those who put the original site up, no thanks to the squatters who are there now. 81.96.206.228 09:29, 22 September 2007 (UTC)


Logowiki was never a logo but just turtle graphics. A quick test is to try this line in a program
print bf [40 20]
This test whether the language has the essential list handling primitives
If the result is 20 it may be a logo but if it throws an error message all you have is turtle graphics.
Logowiki did not pass this test. I have yet to see a Logo written in Javascript. ClemRutter 22:45, 22 September 2007 (UTC)


Thanks for following up on this Clem - I had no idea it wasn't a real Logo (I only knew it was incomplete). 81.96.206.228 06:36, 28 September 2007 (UTC)

[edit] Tutorial content

I tagged this because the section in question is written from a teaching point of view rather than a descriptive one. A comment was added after the tag to explain the rationale behind the current tone:

This approach has been the most efficient way to describe a language that is confused with Turtle graphics ref KTurtle /klogo debate. It is a topic that is much visited by younger readers so it is appropriate that everything is verifiable in a way not needed by say C++. The earlier examples satisfy them- and provide the nonprocedural language base needed to explain the later examples (concepts) succinctly to a non LISP speaker!

I'm not satisfied with this. Wikipedia is not a substitute for coursework and articles should not be written to appeal to different imagined demographics (in this case "younger readers"). Currently the section reads quite transparently as an educational tool (what with the examples coming before the things they explain, and the use of rather informal second-person comments) and this isn't how the material should be presented. I'll try to work on this myself soon, though I'm less active than normal on WP of late. Chris Cunningham 19:23, 13 November 2007 (UTC)

Chris. I understand your concerns- and time has moved on. Yes the origin of the text was tutorial, but it was considerably modified before I posted it to remove most of the didactic approach. Can, I suggest you work something up in a sandbox, as the edit is about structure, and undoing any mistakes would be horrendously time consuming if it were done live. The closest languages would be Python or Scheme (programming language) though I find the former trite, and the latter is equally as long as the Logo text, appears to finish before before it explains interesting extensions that make Scheme usuable such as set-constructors. (I don't speak Scheme and it is unlikely I ever will- so no declaration of interest there) I do have further resources , The Great Logo Atlas which I haven't linked because of my understanding of Wikipolicy, they may be useful.

When you find time, I'll be interested to see your suggestions ClemRutter 20:23, 13 November 2007 (UTC)

I'm with Chris on this; I think the tutorial part is not appropriate for Wikipedia (and much too long). I've always thought so though I've never done anything about it :-) SethTisue 00:27, 14 November 2007 (UTC) (NetLogo, lead developer)

I have recast the offending paragraphs, and removed the tag. They are no longer didactic but still may appear instructional. But I compare with my much loved 9th Edition EB, which entered into long mathematical proofs far too erudite for me as a 9 year old to understand- but that was their interpretation of encyclopedic. Seth is there any mileage on adding a paragraph on how NetLogo varies from UCB? Is there any mileage in writing a page List on Logo Implementations? —Preceding unsigned comment added by ClemRutter (talkcontribs) 13:23, 20 December 2007 (UTC)

They're still fully instructional, and renaming the section headers hardly addressed this. That the section does not resemble an actual programming manual is hardly the point. Wikipedia should aim to describe content, not to teach it, and the edits made have not sufficiently recast the section such that the tag is no longer appropriate.
There is plenty of space on WikiBooks for instructional content. If you feel that the current text is good enough to be useful as a guide to the language, by all means please move it to Wikibooks and link back to it here from the external links section. However, in its current form it is not suitable for an encyclopedia which is not - despite protestations - aimed at school pupils. Chris Cunningham (talk) 14:15, 20 December 2007 (UTC)

I think that would be more appropriate on the NetLogo page. SethTisue (talk) 15:06, 20 December 2007 (UTC)

There has been discussion on village pump about tagging of articles ruining the flow. The bottom line seems to be it is easier to tag, than to fix. Chris and Seth have expressed their views but what is needed is an alternative structure (paradigm) to express the content. If someone could draft one in their sandbox then we could collectively have a go at implementing it. Chris' suggestion that instructional content could be made into a wikibook is good. On my homepage I have a series of worksheets that would form a basis of a course but I have held back because it is MSWLogo specific and I would want one that would run on Linux too. No the structure and progression is different from the current article. I would see volume two of this work switching towards NetLogo but I have never used that in an educational setting. Lack of time is always the enemy.ClemRutter (talk) 18:03, 1 April 2008 (UTC)
I've restored the tag to articlespace. Every day someone somewhere expresses concern that cleanup tags disrupt articles, but until such point as there's project-wide consensus that they shouldn't used we shouldn't be removing them. I'll try to work on shifting / removing tutorial content here in the near future. Chris Cunningham (not at work) - talk 18:19, 1 April 2008 (UTC)
Thanks for prompt response. It would be good if you can think up an alternative structure. I'm offline for ten days now, and will be fairly busy soon after that. ClemRutter (talk) 21:30, 1 April 2008 (UTC)
There's still more work to be done, but I've moved some of the hairier analysis to b:Logo Programming and removed the tag. Any tutorial content should be added there from now on, until it's a good guide to the language. Meanwhile, we should work to continue de-emphasise analysis of the syntax here in favour of giving a more general overview of the language. Chris Cunningham (not at work) - talk 13:02, 5 April 2008 (UTC)