[kde-edu]: KTurtle language (was Re: Fwd: Translating KTurle commands)

Jeff Shipley jshipley at jshipley.homelinux.net
Tue Nov 6 23:19:00 CET 2007


One thing I should mention before I start -- I'm not going to be at the
December meeting in Paris (much as I'd love to)

Since the 4.0 release is so close (and feature freeze is already in
place), the priorities for KTurtle release are documentation, translation,
and bugfixes.

The existing external documentation has not been updated at all for the
4.0 version, which has a slightly different interface and a different
language.  At the very least, the screenshots and language tutorial
sections need to be redone.  References saying that KTurtle is a Logo
programming environment should be removed or replaced by saying that
KTurtle is loosely based on Logo.  One more thing should be added, there
should be a section describing the syntax changes that were made for
KTurtle 4.0 to make it easier for people to port existing code to the new
KTurtle.

As for the internal documentation, I added "WhatsThis" tags to just about
everything in the main window.  I used the action/item name coupled with
the tooltip for the WhatsThis. They (the WhatsThis tips and the tooltips)
could probably use a rewrite, but at least they're there.

With KTurtle 3.5, I believe that cies was trying to make KTurtle somewhat
Logo compatible. He decided to try to distance KTurtle from Logo for the
4.0 version. The file extensions were even changed.  In 3.5, the source
files were *.logo, now they're *.turtle. Most of the syntax changes from
3.5 to 4.0 are punctuation and symbol changes. For example, a function
definition in 3.5 could look like this:

learn foo a
[
  repeat 3 [ forward a ]
]

Where the same function definition in 4.0 would look like this:

learn foo $a
{
  repeat 3 { forward $a }
}

Another missing documentation feature is the context help.  If you have
the cursor on a keyword in the editor and press f2, KTurtle should pop up
a small bubble with information about that keyword.  This is a pretty much
nonexistent feature at the moment and will probably end up being removed
from the menu for release.

As for the syntax, it is similar to a small subset of Logo. One of the
major missing Logo elements is the list functions.  Other differences that
have been complained about are using turnleft/turnright instead of
left/right and using fw as a short form of forward instead of fd and tl/tr
as the short forms of left and right (I forget what the Logo short forms
are).  If any changes are going to be made, it should probably be these
basic commands. I don't really think that that's necessary at this point
though.

I really don't think that using more conventional Logo syntax would make
it more complicated or more difficult, but it could actually help to
increase the userbase of KTurtle.  I agree with Mauricio that the goal
should be making KTurtle easy for children to use rather than compliance
with a (non-existent) Logo standard, but I also think that the more
feature complete it is the more likely it is that KTurtle will be adopted
by educators.

So, a brief overview of that needs to be done
Documentation, tooltips, whatsthis
Translation
Bugtesting and Bugfixes (esp a fairly major bug with recursion)
Possibly add a search/replace dialog (not implementing one, just attaching
a kReplaceDialog to the QTextEdit)

Wishlist stuff
Save the contents of the canvas (what's been drawn by the turtle) as an
image (probably png or jpg)
Automatic translation of keywords in a source file when switching languages
Interactive goal-based tutorial (I really like this idea)

Since the string freeze is only about 8 days away, I think that I'm going
to have to get pretty busy on help strings and documentation :)

I actually think that KTurtle is looking pretty good for the KDE 4.0
release (if we can get some translations done).

--
Jeff

> In general, at least for the 4.0 release, I believe we should stick to
> the design guidelines for the language outlined by Cies Breijs. At least
> this is my initial plan. I adjusted the translation code to work with
> the changes in KLocale. The examples are also fixed, so basic
> translation work can be started and tested. The next step was actually
> to work on the docs, where this issue would be clarified further, and on
> everything related to strings. Ideally, I would like to decide specifics
> about the language and translations in the Edu meeting (December 1st),
> but it would be too late due to the string freeze in Nov 14th. So at
> least for English we need to freeze the command set in the next week
> (probably the current one), and then start working with the translation
> teams after this.
>
> I think I understand a bit the pros and cons of being compatible to
> Logo, and have discussed this a bit via IRC with Jeremy and specially
> Jeff Shipley as well. One of Jeff's plans (for 4.1 or later) is to
> possibly work on a new interpreter, implementing the Logo standard (one
> at least), and maybe hot-pluggable in the existing executable. If/when
> this happens we could have a "mode selection" in KTurtle, invoked via
> GUI or command line selection, which will trigger this advanced mode.
> This is just one idea that is floating, and there are a LOT of IFs
> before it materializes. It might be better to add a different program
> (KLogo anyone?) to the module, for example, using Jeff's interpreter,
> and with the goal of being a compatible implementation. Or the
> interpreter may never happen as well, in any event this is a discussion
> for the future.
>
> Right now, for KDE 4, we should probably make it clear what Cies has
> been saying for a while in his posts and the KTurtle group:
>
> KTurtle language is loosely based on Logo.
> KTurtle language is not Logo.
>
> I am going to address this in the user documentation, to make the point
> more clear, as the current one mentions Logo a lot. I must also add that
> I personally agree strongly with Cies' views, or with what I think Cies'
> reasons are for this. :) To me, KTurtle language as it is now is really
> easier for smaller children to get into. Full compatibility with one of
> the multiple Logo standards at this point would not be desireable imo,
> it would be implemented mostly for the sake of it, and not really
> fulfill the primary goals of the program and its intended initial
> audience. IMHO, we should design for the problem to be solved by the
> user (very easy language as a first introduction to programming) and not
> with the feature set in mind (Logo compliance.)
>
> With this in mind, and given that the command set in 4.0 is still not
> frozen, we considered maybe providing just the minimal useful set for
> now. IF (a big IF) this minimal set could also happen to be a subset of
> Logo, nice. If not, this is not a goal. So it should not be a goal of
> the translation teams as well.
>
> I understand the above is not definitive and clear :) That is because no
> decision has been set in stone. The intention of this email is to start
> a mini discussion here during the next couple of days, get feedback, and
> freeze the command set and translation guidelines for it next week.
> Input is welcome.
>
> Speaking of goals, one of the features I would like to get into KTurtle
> in the future also has to do with this more pedagogic approach. It would
> consist of lessons/tutorials formatted as goal-driven scenarios, like
> getting the turtle through a maze, or drawing a specific shape. This
> would be a good approach also for younger children, who are intimidated
> by the sandbox approach (all can be done, no goals defined.) Again,
> plans for the future, but I want to mention it so people can get a sense
> on the type of problems we want to solve with the language.
>
> Regards,
> Mauricio Piacentini
>
> Jeremy wrote:
>> just saw this and thought I'd forward it to those that know ;-)
>>
>>
>> ----------  Forwarded Message  ----------
>>
>> Subject: Translating KTurle commands
>> Date: Tuesday 06 November 2007
>> From: Marta Rybczynska <kde-i18n at rybczynska.net>
>> To: KDE i18n-doc <kde-i18n-doc at kde.org>
>>
>> Hello,
>> When translating KTurle commands, do you make it compatible with any
>> other Logo
>> interpreter available in your language?
>>
>> We're considering Imagine (Polish version, in this case, but there are
>> more). Are there any
>> copyright issues when it comes to the commands set? Have any team
>> considered that?
> _______________________________________________
> kde-edu mailing list
> kde-edu at mail.kde.org
> https://mail.kde.org/mailman/listinfo/kde-edu
>




More information about the kde-edu mailing list