The message below is being cross-posted from the LogoForum. Please
reply here at comp.lang.logo and it will be crossposted back to the
LogoForum. The original author of this message is Peter Tomcsanyi
<tomcsanyi@[EMAIL PROTECTED]
>.
Hello to all,
I would like to add my thoughts about categorization of languages
into "generations".
First of all: I am not a real fan of putting things into strict
categories. It seems to me like observing butterflies impaled on pins
in a collection rather than seeing them flying in the nature.
The descriptions of generations in Wikipedia (referenced by previous
posters) seem to be quite clear to me:
1. machine code
2. assembly language (= human readable/writable machine code)
3. programmer oriented languages, tools for expressing algorithms
4. for "not real programmers" (the Wikipedia page refers to a book
named "Applications Development Without Programmers"), solving only
particular problems, trying to be more descriptive than algorithmic,
usually have less power than 3rd a generation language (a
theoretician would say that they do not have the full power of a
Turing machine), but allow to solve specific problems cheaper (by
hiring cheaper stuff instead of programmers).
5. logical programming, not giving algorithms only definitions and/or
constraints and the built-in algorithms (programmed by somebody who
is still able to manage a 3rd generation language) try to find the
solution.
You can see that while generations 1 to 3 evolved towards a
programmer, generations 4 and 5 try to go away from programming
(defining algorithms).
Logo is clearly in 3rd generation because technically it is a tool
for expressing algorithms.
It is often referred as "low threshold, high ceiling" language, which
means that t has been optimized for young or occasional (hobbyist)
programmer (=low threshold) without loosing its strength of a
complete 3rd generation language (=high ceiling).
The activity, which a user is doing with Logo is defining algorithms
(of course if he/she works with Logo itself, not with a ready done
program programmed in Logo).
A complete implementation of Logo (not only its Turtle graphics
subsets) can be used for programming tasks going far outside
educational applications.
The fact that Logo is based on Lisp has nothing to do with its
categorization. The text of 5th generation says that some 5th
generation languages were based on Lisp machines (not on Lisp
programming language and not every 5th generation language is based
on Lisp and not all Lisp descendants are 5th generation).
Maybe the points of confusion is that the text of 3rd generation is
rather short mentioning only procedural languages and that the whole
categorization into generations does not have a special box for
functional languages.
For definition see:
http://en.wikipedia.org/wiki/Functional_programming_language
I believe (see my arguments above) that functional languages belong
to 3rd generation because they are used by programmers and they are
tools for expressing algorithms. And Logo is not a pure functional
language.
The difference between Basic and Logo is much smaller than the
difference between machine code and Logo, or SQL (4th gen) and Logo,
or Prolog and Logo.
Best regards to all
Peter Tomcsanyi
At 07:04 15.4.2007, you wrote:
>The message below is being cross-posted from comp.lang.logo. Please
>reply to LogoForum@[EMAIL PROTECTED]
or "Massimo Bianchi"
><maxinbox_@[EMAIL PROTECTED]
>.
>
>
>Really ? How can be a Visual Basic "brother" (3G Language) !? Logo is
>built
>upon Lisp.
>Look at these links please:
>
>http://en.wikipedia.org/wiki/Fifth-generation_programming_language
>
>http://search.internettrash.com/programs/directory.exe?passurl=/Computer
s
>/Programming/Languages/Lisp/Logo/
>
>Max


|