Talk:Logo (programming language)
|This is the talk page for discussing improvements to the Logo (programming language) article.|
|WikiProject Robotics||(Rated Start-class, Mid-importance)|
|WikiProject Computer science||(Rated C-class, Mid-importance)|
|Logo (programming language) is a former featured article candidate. Please view the links under Article milestones below to see why the nomination failed. For older candidates, please check the archive.|
|Text from this version of Logo (programming language) was copied or moved into UCBLogo with this edit. The former page's history now serves to provide attribution for that content in the latter page, and it must not be deleted so long as the latter page exists.|
- 1 Copyrighted screenshots
- 2 Spanish version
- 3 Point of view
- 4 Pictures please!
- 5 Introductory paragraph
- 6 Non-programmer info
- 7 How About A LogoWiki? -- by Alan Kay
- 8 The Prolog programmer?
- 9 Dynamic scoping?
- 10 Bibliography
- 11 External Links
- 12 Polar rose animation
- 13 History
- 14 Table of contents problem
- 15 Apologies
- 16 Turtan
- 17 Disappearance of logowiki
- 18 Tutorial content
- 19 Inactive article
- 20 Recent Editing
- 21 Vectoria
- 22 For functional programming?
- 23 Fifth Graders
- 24 lead neeeds work
- 25 Versions of Logo
- 26 Acorn Electron
- 27 Code sample
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  or contact me directly.
- ClemRutter 21:16, 14 December 2006 (UTC)
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 , I'd transfer the text there myself, but wouldn't have a clue what I was writing! -- sannse 14:44 May 13, 2003 (UTC)
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.
Clem Rutter Rochester, Kent
2 Dec 2003- As there were no negative comments, I have done what I suggested above.
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
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)
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.
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)
How About A LogoWiki? -- by Alan Kay
(Logowiki appears to have become domain squatted. See below for details)
I'm not sure who added the above.
A recent Dr Dobbs includes an interview with Alan Kay by Andrew Binstock in which Kay refers to Wikipedia and specifically the Logo article: "can you write and execute Logo programs? Are there examples? No. The Wikipedia people didn't even imagine that, in spite of the fact that they're on a computer." That's a really good point but I'm unaware of any way to achieve it in MediaWiki. --PeterJeremy (talk) 09:40, 16 July 2012 (UTC)
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)
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)
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)
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 ==
I do think that the "External Links" section may contain links to the official home pages of all Logo versions/dialects, which are explicitly mentioned in the article. However, I recall that such links has been removed in the past. As an author of two such Logos (mentioned, but not referenced) I'm reluctant to add the links to the section. I hope that experienced editors can give an advice. ElicaLogo (talk) 19:09, 27 January 2010 (UTC)
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)
- 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. 188.8.131.52 14:57, 6 July 2007 (UTC)
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)
A recent revert made by me was in error, apologies for any inconvenience caused. Andrewjd 15:11, 5 June 2007 (UTC)
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)
Disappearance of logowiki
- 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.
- Thanks for following up on this Clem - I had no idea it wasn't a real Logo (I only knew it was incomplete). 184.108.40.206 06:36, 28 September 2007 (UTC)
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 (talk • contribs) 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)
- 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)
- 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)
I came here via the edits of a vandal, but what he inserted was not removed. I don't have the technical expertise to determine what's going on with this article. Please help. Enigma message 17:19, 30 June 2008 (UTC)
Good work. But where are the references now? There appears to be a repeat of the 'I must add my favorite distro...' starting. I have long had it in mind that a page should be created List of Logo implementations, The most of data needed is stored at The Great Logo Atlas- but time and the WP:OR rule prevent me. --ClemRutter (talk) 10:33, 20 January 2009 (UTC)
Hi I've created Vectoria, an iOS app which uses Touch Turtle Graphics, enabling the creation of patterns without any programming. The reception so far has been fantastic. I'd like to add a link as I feel that Vectoria will help to give Turtle Graphics a whole new lease of life.
- Looks like a nice app, but a link here is not appropriate. Logo is more than turtle graphics- before it could be considered a Logo it would need to run a sizeable subset of UCB Logo, It would need the word, list and array datatypes, global scope and template iteration - yes a tall order. There would be an objection it you personally added a link to what is in effect a commercial product in which you have a financial interest. --ClemRutter (talk) 15:19, 28 November 2010 (UTC)
Thanks Clem. How can I spread the word to fans of Logo and Turtle Graphics if not here? I'm an independent developer, not a huge corporation. —Preceding unsigned comment added by 220.127.116.11 (talk) 16:18, 28 November 2010 (UTC)
For functional programming?
I'm a little confused. How is Logo "used for functional programming?". The link points to the wikipedia article of functional programmers (implying agreement with the description). Nevertheless, Logo does not have referential transparency; there is imperative-style variable assignment and iteration; and program behavior seems to depend very much on order of evaluation.
There are a few functional elements, like recursion, but it wouldn't even qualify as a hybrid in my opinion. — Preceding unsigned comment added by Categorically (talk • contribs) 16:55, 28 July 2011 (UTC)
Yes, I noticed that was nonsense, so I fixed it. Logo is primarily a procedural language, and all of the examples of Logo programming in the article are procedural, not functional, programs. — Preceding unsigned comment added by 18.104.22.168 (talk) 11:29, 19 August 2011 (UTC)
It would actually be nice if Brian Harvey would comment on this as he knows better than any how this applies to ucblogo at least. I recall him writing that ucblogo has first class expressions rather than first class functions. If I recall correctly when people would ask how to work around it he recommended using macros in those situations where functions didn't work(it's been years since I read anything on the forums)... He also indicated that Logo would still be Logo without turtle graphics; unfortunately most people who play with it never get over turtle graphics. It seems that most people teaching it don't either. — Preceding unsigned comment added by 22.214.171.124 (talk) 09:19, 25 March 2012 (UTC)
The sentence starting "The virtual and physical turtles were first used by fifth graders at the " is unclear as it woul,d be more useful if I mentioned the age of the children.... — Preceding unsigned comment added by 126.96.36.199 (talk) 22:25, 10 December 2011 (UTC)
lead neeeds work
Versions of Logo
As there are numerous versions of Logo floating around with different primitives and syntax it would be nice if people would qualify their statements with what version they are speaking of. So far this wiki entry gives the impression that Logo is just a toy language. — Preceding unsigned comment added by 188.8.131.52 (talk) 09:23, 25 March 2012 (UTC)
The remark about the Acorn Electron, stating that a version of Logo was issued in 1990 that would have been the "first glimpse most electron users ever saw" of the language, is ridiculous. To put it informally, the Electron was aimed at schoolchildren who used the more expensive BBC Micro at school and wanted something fairly compatible at a cheaper price for home use. Logo - at least the graphics side of it, with TO SPIRAL, LEFT 90, etc. - was heavily featured in UK secondary education using BBC Micros throughout the 1980s, and also in the BBC's computer literacy TV programs. I cannot believe that "most electron users" had not encountered it before 1990. I would correct the statement, except that right now I don't have time to verify the source and date of the Electron version of Logo, or the dates during which the BBC Micro version was promoted in education. Poglad (talk) 10:34, 14 September 2012 (UTC)
- From my notes.here Acornsoft Logo, 1984-1986 , Dead, Acorn BBC micro Acorn Electron ROM. If I recall the most popular Acorn Logo- was Logotron and this (and LSL) would not run on the electron due to limited memory and incompatibility with the model B being more akin to the Model A which never was used. I don't remember a disk drive either. OK over to you.--ClemRutter (talk) 12:41, 14 September 2012 (UTC)
- All examples were recently moved to more specific articles like UCBLogo, because each Logo variant has slightly different syntax and capabilities. --IanOsgood (talk) 16:36, 29 November 2013 (UTC)