Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

???

5 views
Skip to first unread message

Alexander Runrig

unread,
Apr 5, 2009, 4:53:16 PM4/5/09
to
? what kind are this group?


Friedrich

unread,
Apr 7, 2009, 10:49:40 AM4/7/09
to
"Alexander Runrig" <cor...@gmx.de> writes:

> ? what kind are this group?

It's about the defunct programming language Sather.

An eiffel like language with some "other" rules but in principal very
similiar.

Regards
Friedrich


--
Please remove just-for-news- to reply via e-mail.

Michael Talbot-Wilson

unread,
May 20, 2009, 2:12:17 PM5/20/09
to
On 2009-04-07, Friedrich <just-for-...@q-software-solutions.de> wrote:
> "Alexander Runrig" <cor...@gmx.de> writes:
>
>> ? what kind are this group?
> It's about the defunct programming language Sather.
>
> An eiffel like language with some "other" rules but in principal very
> similiar.

Sather looks to me like a language independently designed from the
ground up. It is not an off-shoot of Eiffel.

The design of a new language was prompted when someone found Eiffel to
have some useful features, and attempted to use it, but found it
unacceptable in other ways.

Would you say that C is an Algol-like language because it was strongly
influenced by Algol-60 and uniquely (AFAIK) among modern languages
retains Algol-60 conditional expressions? It makes as much and as
little sense to say Sather is an Eiffel-like language. In each case,
the languages are very different.

The specification of the Sather language evolved or changed between
the earliest versions, around 0.1 and 0.2, and the final Sather 1.1
specification. The earliest version was the one most strongly
influenced by the designer's acquaintance with Eiffel.

Many languages are mentioned in the documents as having had some
influence on the verson 1.0 and 1.1 language, but Sather is not a
version or dialect of any of them.

"It was originally based on Eiffel but now incorporates ideas and
approaches from several languages. One way of placing in in the
'space of languages' is to say that it attempts to be as efficient as
C, C++, or Fortran, as elegant [as] but safer than Eiffel or CLU, and
to support higher-order functions as well as Common Lisp, Scheme, or
Smalltalk." (Stoutamire and Omohundro, Sather 1.1 Specification, 1996,
distributed with the 1.2b compiler)

Note "orginally", "but now".

"Sather has adopted ideas from a number of other languages. Its
primary debt is to Eiffel, designed by Bertand Meyer, but it has also
been influenced by C, C++, Cecil, CLOS, CLU, Common Lisp, Dylan, ML,
Modula-3, Oberon, Objective C, Pascal, SAIL, School, Self and
Smalltalk." (Gomes, Stoutamire, Vaysman and Klawitter, A Language
Manual for Sather 1.1 and pSather 1.1, 1996, distributed ditto.)

(The latter document is also referred to as the Programmer Manual, and
is book length. I suspect that "School, Self" is a joke, but there is
a Self language, at least.)

You might say that Eiffel has some similarities with Sather because
Eiffel adopted iterators after their importance was demonstrated in Sather.

But saying that Eiffel is "in principle very similar" to Sather is
putting it too strongly, I think.

--
Michael Talbot-Wilson

Friedrich Dominicus

unread,
May 26, 2009, 8:57:58 AM5/26/09
to
Michael Talbot-Wilson <div3u...@forgery.com.au> writes:

> On 2009-04-07, Friedrich <just-for-...@q-software-solutions.de> wrote:
>> "Alexander Runrig" <cor...@gmx.de> writes:
>>
>>> ? what kind are this group?
>> It's about the defunct programming language Sather.
>>
>> An eiffel like language with some "other" rules but in principal very
>> similiar.
>
> Sather looks to me like a language independently designed from the
> ground up. It is not an off-shoot of Eiffel.

I did not have say off-shot, but maybe I've choosen the wrong
words. I mean it is an OO language, especially with DBC and that is "Eiffel"


>
> The design of a new language was prompted when someone found Eiffel to
> have some useful features, and attempted to use it, but found it
> unacceptable in other ways.

I don't know if it really was thatway.


>
> Would you say that C is an Algol-like language because it was strongly
> influenced by Algol-60 and uniquely (AFAIK) among modern languages
> retains Algol-60 conditional expressions? It makes as much and as
> little sense to say Sather is an Eiffel-like language. In each case,
> the languages are very different.

No, they are not, if you write code in both I guess you'd agree.

> "It was originally based on Eiffel but now incorporates ideas and
> approaches from several languages.

So what was that wrong with Eiffel like. The keywords and all that
are Eiffel or Pasalish no C-ish.

> One way of placing in in the
> 'space of languages' is to say that it attempts to be as efficient as
> C, C++, or Fortran, as elegant [as] but safer than Eiffel or CLU, and
> to support higher-order functions as well as Common Lisp, Scheme, or
> Smalltalk." (Stoutamire and Omohundro, Sather 1.1 Specification, 1996,
> distributed with the 1.2b compiler)

Well to that time Eiffel was 10 years old....

>
> Note "orginally", "but now".
>
> "Sather has adopted ideas from a number of other languages. Its
> primary debt is to Eiffel, designed by Bertand Meyer, but it has also
> been influenced by C, C++, Cecil, CLOS, CLU, Common Lisp, Dylan, ML,
> Modula-3, Oberon, Objective C, Pascal, SAIL, School, Self and
> Smalltalk." (Gomes, Stoutamire, Vaysman and Klawitter, A Language
> Manual for Sather 1.1 and pSather 1.1, 1996, distributed ditto.)
>
> (The latter document is also referred to as the Programmer Manual, and
> is book length. I suspect that "School, Self" is a joke, but there is
> a Self language, at least.)

No Self is a "real programmming languagee
http://www.selflanguage.org/index.html

I never have heard of Schoold or Sail but; I've seen and partly even used
nearly avery other mentioned language bu Clul and Modula3.

>
> You might say that Eiffel has some similarities with Sather because
> Eiffel adopted iterators after their importance was demonstrated in
> Sather.

Oh yes that was a major difference, you are right,but iterators were
part of Eiffel since Eiffel 2.3 they were not used. And they were not
used because Eiffel did not have Closured. But IIRC Sather has them
right from the start.

>
> But saying that Eiffel is "in principle very similar" to Sather is
> putting it too strongly, I think.

Well Eiffel and Sather are much more similiar then let's say Sather-
C++, Sather- C#, Sather-Java. Of course they are differend languages
but they are not "that much different".

Hower we have to speak from Sather in past tense, whereas Eiffel ist
still around and at least used by a few.....

Michael Talbot-Wilson

unread,
May 27, 2009, 3:55:14 PM5/27/09
to
On 2009-05-26,

Friedrich Dominicus <just-for-...@q-software-solutions.de> wrote:
> Michael Talbot-Wilson <div3u...@forgery.com.au> writes:
>
>> On 2009-04-07,
>>Friedrich <just-for-...@q-software-solutions.de> wrote:
>>> "Alexander Runrig" <cor...@gmx.de> writes:
>>>
>>>> ? what kind are this group?
>>> It's about the defunct programming language Sather.
>>>
>>> An eiffel like language with some "other" rules but in principal very
>>> similiar.
>>
>> Sather looks to me like a language independently designed from the
>> ground up. It is not an off-shoot of Eiffel.
> I did not have say off-shot, but maybe I've choosen the wrong
> words. I mean it is an OO language, especially with DBC and that is "Eiffel"
>>
>> The design of a new language was prompted when someone found Eiffel to
>> have some useful features, and attempted to use it, but found it
>> unacceptable in other ways.
> I don't know if it really was thatway.
>>
>> Would you say that C is an Algol-like language because it was strongly
>> influenced by Algol-60 and uniquely (AFAIK) among modern languages
>> retains Algol-60 conditional expressions? It makes as much and as
>> little sense to say Sather is an Eiffel-like language. In each case,
>> the languages are very different.
> No, they are not, if you write code in both I guess you'd agree.

Admittedly, I don't.

There are examples of both doing the same thing at
99-bottles-of-beer.net and they look totally different. The syntax is
totally different. They resemble each other only in that they both
define classes, and capitalize class names, and the declaration syntax
is like that of Ada for both.

There is something wrong with both examples. Neither has been cleanly
maintained on the site. But cleaned up, the Eiffel wouldn't be much
shorter and the Sather wouldn't be much longer.

It is not a completely fair comparison because very little of the
language is used in the Sather example.

See below for a slightly weird hack of 99 bottles in Sather, an
alternative to what is on the site. It is an attempt to get a closer
resemblance to the Eiffel version by using corresponding classes. And
by showing a bit more of the language. But it still looks completely
different.

>> ...


>> "It was originally based on Eiffel but now incorporates ideas and
>> approaches from several languages.
> So what was that wrong with Eiffel like. The keywords and all that
> are Eiffel or Pasalish no C-ish.
>
>> One way of placing in in the
>> 'space of languages' is to say that it attempts to be as efficient as
>> C, C++, or Fortran, as elegant [as] but safer than Eiffel or CLU, and
>> to support higher-order functions as well as Common Lisp, Scheme, or
>> Smalltalk." (Stoutamire and Omohundro, Sather 1.1 Specification, 1996,
>> distributed with the 1.2b compiler)
> Well to that time Eiffel was 10 years old....
>

>> ...


>> is book length. I suspect that "School, Self" is a joke, but there is
>> a Self language, at least.)
> No Self is a "real programmming languagee
> http://www.selflanguage.org/index.html
>
> I never have heard of Schoold or Sail but; I've seen and partly even used
> nearly avery other mentioned language bu Clul and Modula3.

There is a 99 bottles example in Sail (and one in Self) on the same
site. But I don't think there is really a programming language named
School.

>>
>> You might say that Eiffel has some similarities with Sather because
>> Eiffel adopted iterators after their importance was demonstrated in
> > Sather.
> Oh yes that was a major difference, you are right,but iterators were
> part of Eiffel since Eiffel 2.3 they were not used. And they were not
> used because Eiffel did not have Closured. But IIRC Sather has them
> right from the start.

At least from version 1.0 (both closures and iterators).

>> But saying that Eiffel is "in principle very similar" to Sather is
>> putting it too strongly, I think.
> Well Eiffel and Sather are much more similiar then let's say Sather-
> C++, Sather- C#, Sather-Java. Of course they are differend languages
> but they are not "that much different".

But you see, there is no need to bring up the subject of Eiffel when
someone asks about Sather. It constantly happens, and I personally
find it irritating. It is a put-down for Sather.

It was justified in the earliest days of Sather, and for that reason
there is a lot of comment still on the 'Net that associates Sather
with Eiffel. All of that commentary is very old, but gets repeated
just because it is there. It misrepresents the reality and has
done so since about 1993.

> Hower we have to speak from Sather in past tense, whereas Eiffel ist
> still around and at least used by a few.....

I was interested to notice that the Sather 99 bottles program was
contributed by David Stoutamire and is dated April 2005. Stoutamire
is one of the developers of the Sather language specification, one of
the greats. I have already cited him in this thread.

ICSI stopped work on the compiler at a 1.2 beta and rebadged it with
the GPL and handed it over to the FSF. That was in 1999. But here is
one of the leaders of the ICSI development, still at ICSI, and still
interested enough, well, four years ago he was, to be contributing a
toy demo program to a language line-up.

He's not the only one. There are people out there using the language,
at least a few... And I had a look at the Eiffel group a few weeks
ago and yes there are people there still, but the atmosphere is one of
deep depression regarding Eiffel's prospects. Totally different than
the tone five years ago.

Regards,
Michael Talbot-Wilson

(99 bottles hack follows)

-- The main class is BEER rather than the default MAIN so must
-- be specified when compiling:
-- cs -main BEER -o bottles bottles.sa
--
class WALL < $STR
-- A wall with, usually, a row of bottles along the top
is
private attr num:INT;

create(i:INT):SAME
pre i > 0
is
r ::= new;
r.num := i;
return r
end;

str: STR is
r:STR;
case num
when -1 then
r:=""; -- Ugh. But I can't spend too much time on this.
when 0 then
r:="No more bottles of beer on the wall, "
"no more bottles of beer.\n"
when 1 then
r:="1 bottle of beer on the wall, 1 bottle of beer.\n"
else
r:=num.str+" bottles of beer on the wall, "
+num.str+" bottles of beer.\n"
end;
return r
end;

private bottle:STR is
if num = 1 then return "bottle" end;
return "bottles"
end;

act!:STR
-- "!" signifies an iterator
pre num >= 0
is
loop
num := num-1;
if num < 0 then
yield "Go to the store and buy some more, "
+ "99 bottles of beer on the wall.\n"
elsif num = 0 then
yield "Take one down and pass it around, "
+ "no more bottles of beer on the wall.\n\n"
else yield "Take one down and pass it around, "
+ num.str + " " + bottle + " of beer on the wall.\n\n"
end;
if num < 0 then quit end;
end
end
end;

class BEER is

const n:INT := 100;

main is
w : WALL;
w := #(n);
loop
#OUT + w + w.act!
end
end
end

Michael Talbot-Wilson

unread,
May 27, 2009, 4:04:15 PM5/27/09
to
On 2009-05-27,
Michael Talbot-Wilson <div3u...@peregrine.forgery.com.au> wrote:

> const n:INT := 100;

Should be 99.

0 new messages