From: Shark8 <onewingedshark@gmail.com>
Subject: Re: Writing an Operating System in Ada
Date: Tue, 19 Jan 2010 10:58:23 -0800 (PST)
Date: 2010-01-19T10:58:23-08:00 [thread overview]
Message-ID: <8eb51ea9-fd68-4427-9ae5-c64f789c9e43@g1g2000yqi.googlegroups.com> (raw)
In-Reply-To: 1c1x49re1atv3$.kxickttntzsn$.dlg@40tude.net
> > But that does remind me, I was thinking it would be good to have
> > PostScript as the display for the OS, unifying the visual display that
> > way it would eliminate the need for printer drivers (assuming they're
> > postscript printers) as well as providing a true WYSIWYG for print-
> > preview (MS's print preview can be a bit... inaccurate), right?
>
> Right, but in an OO system you would barely need PostScript. I doubt
> anybody would like to program in PostScript, so what is left? Poor as a
> data carrier, unusable for humans. Doesn't it remind something? XML? (:-))
So, what's wrong with it being used as a data-carrier? Like I
mentioned before, it would be a nice uniform (and incidentally
hardware-independent) data-carrier. It's not unfeasible to assume that
it would make for some good low-bandwidth remote-UI as well, as
opposed to X where the whole display is sent at every update (like a
mouse-move/cursor-redraw update). And that it would be "unusable for
humans" is a bit of a red-herring; X's data-link is even MORE unusable
for humans and yet it is a fairly popular method for remote-desktop.
> >> There shall be no interfaces at all. Ada 95 had everything needed, i.e.
> >> abstract types. Introducing interfaces in Ada 2005 was a huge mistake.
>
> > Why do you say that?
>
> Because there should be a honest MI and no interfaces.
What do you think of [Delphi-style] properties then? Basically they're
an specification of some [virtual] field of an object [with indicators
of it being readable and/or writable] that may either be renaming some
internal field OR the appropriate getter/setter for a field in the
implementation. I rather like the idea because it doesn't pollute the
object-space with so many [publicly visible] getter/setter methods.
Just to make sure there's no misunderstanding of what I'm referring
to, here's the Delphi code for some person:
Type
TPerson = class
private
FFName, FMName, FLName : ShortString; {Internal Fields for first,
middle, and last names.}
FAge : Byte;
Function FullName: String;
Procedure Set_FName( Value: ShortString ); {Setter for fires
name.}
Procedure Set_FLame( Value: ShortString );
public
Name : String read FullName; {Military
Format; ex: Smith, John Q. }
First_Name : ShortString read FFName write Set_FName; {Setter
disallows zero-length first names.}
Middle_Name : ShortString read FMName write FMName; {Zero-
length middle names are allowed. }
Last_Name : ShortString read FLName write Set_LName; {Setter
disallows zero-length last names. }
Age : Byte write FAge; {Write-only
for this application/object...}
end; {TPerson}
IMPLEMENTATION
Procedure TPerson.Set_FName( Value: ShortString );
begin
IF Length(Value) > 0 THEN FFName:= Value;
end;
Procedure TPerson.Set_FLame( Value: ShortString );
begin
IF Length(Value) > 0 THEN FLName:= Value;
end;
Function FullName: String;
Middle_Initial : Character:= #000; {Null initial-value}
begin
IF Length(FMName) > 0 THEN Middle_Initial:= FMName[1]; {Get First
Character.}
FullName:= Last_Name + ', ' + First_Name + ' ' + Middle_Initial
end;
next prev parent reply other threads:[~2010-01-19 18:58 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-01-12 1:13 Writing an Operating System in Ada Shark8
2010-01-12 3:30 ` Leslie
2010-01-12 7:06 ` Shark8
2010-01-12 8:36 ` Ludovic Brenta
2010-01-12 15:14 ` jonathan
2010-01-12 16:21 ` Colin Paul Gloster
2010-01-12 16:36 ` Shark8
2010-01-12 17:03 ` Colin Paul Gloster
2010-01-12 19:07 ` Tero Koskinen
2010-01-12 9:41 ` Dmitry A. Kazakov
2010-01-12 17:37 ` Shark8
2010-01-12 19:56 ` Dmitry A. Kazakov
2010-01-12 21:21 ` Shark8
2010-01-12 22:39 ` nobody
2010-01-12 22:50 ` Shark8
2010-01-15 22:45 ` nobody
2010-01-19 21:09 ` Shark8
2010-01-12 21:52 ` Maciej Sobczak
2010-01-12 23:26 ` Shark8
2010-01-13 9:17 ` Dmitry A. Kazakov
2010-01-13 20:20 ` Shark8
2010-01-13 20:55 ` Dmitry A. Kazakov
2010-01-13 22:50 ` Shark8
2010-01-14 8:55 ` Dmitry A. Kazakov
2010-01-14 18:01 ` Shark8
2010-01-14 19:04 ` tmoran
2010-01-19 19:07 ` Shark8
2010-01-14 19:53 ` Dmitry A. Kazakov
2010-01-14 21:07 ` Shark8
2010-01-14 21:50 ` Dmitry A. Kazakov
2010-01-15 1:24 ` Randy Brukardt
2010-01-15 8:59 ` Dmitry A. Kazakov
2010-01-19 18:58 ` Shark8 [this message]
2010-01-19 19:43 ` Dmitry A. Kazakov
2010-01-14 9:40 ` Maciej Sobczak
2010-01-14 10:28 ` Dmitry A. Kazakov
2010-01-14 18:57 ` tmoran
2010-01-14 19:19 ` Dmitry A. Kazakov
2010-01-14 20:33 ` Georg Bauhaus
2010-01-14 21:09 ` Dmitry A. Kazakov
2010-01-14 21:50 ` Maciej Sobczak
2010-01-15 8:37 ` Dmitry A. Kazakov
2010-01-15 21:05 ` Maciej Sobczak
2010-01-15 21:48 ` Dmitry A. Kazakov
2010-01-16 21:18 ` Maciej Sobczak
2010-01-16 22:15 ` Dmitry A. Kazakov
2010-01-18 11:23 ` Georg Bauhaus
2010-01-18 13:50 ` Dmitry A. Kazakov
2010-01-18 15:21 ` Georg Bauhaus
2010-01-18 16:41 ` Dmitry A. Kazakov
2010-01-18 17:17 ` Georg Bauhaus
2010-01-18 18:08 ` Dmitry A. Kazakov
2010-01-19 17:41 ` Writing an Operating System in Ada - now off topic? Leslie
2010-01-13 9:09 ` Writing an Operating System in Ada Georg Bauhaus
2010-01-13 9:27 ` Dmitry A. Kazakov
2010-01-13 3:38 ` Leslie
2010-01-13 12:10 ` Martin
2010-01-13 18:55 ` Ad Buijsen
2010-01-14 9:12 ` Jean-Pierre Rosen
2010-01-14 10:45 ` Dmitry A. Kazakov
2010-01-14 11:31 ` Jean-Pierre Rosen
2010-01-14 13:47 ` Dmitry A. Kazakov
2010-01-14 18:57 ` tmoran
2010-01-13 4:49 ` Hibou57 (Yannick Duchêne)
2010-01-13 17:29 ` Lucretia
2010-01-13 20:37 ` Shark8
2010-01-16 0:13 ` Lucretia
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox