From: Shark8 <onewingedshark@gmail.com>
Subject: Re: Properties
Date: Sat, 4 Dec 2010 11:53:28 -0800 (PST)
Date: 2010-12-04T11:53:28-08:00 [thread overview]
Message-ID: <88c3cb91-132b-4f24-bf0f-92ec7fd934b5@21g2000prv.googlegroups.com> (raw)
On Dec 3, 1:16 am, Thomas Løcke <t...@ada-dk.org> wrote:
> It's of course less portable if you try to use it with the C shell.
C-shell -> irksome.
Having to migrate between C- and BASH-shells -> more irksome.
Sometimes using a different shell is not an option, as policy may
forbid such 'foreign'/non-approved software.
All shells must implement *-expansion, which means that it is close-to-
if-not-impossible to consistently/portability get the user's as-typed
command; granted that some shell or system may allow access to the as-
typed command but that would be making use of a feature not-portable
to other systems.
> If you don't like BASH, csh, zsh or Korn, then why not try
> something like BUSH:
>
> http://www.pegasoft.ca/bush.html
>
> It has a very Ada-like approach to shell scripting.
I'll have to give it a look.
>
> > The lack of types on files is another; old Macs had file-types down,
> > but *nix has nothing like that (nor does it have even the capability
> > for it, kernel-wise). {Windows has a [barely] workable file-extension/
> > association scheme -- analogous to an Ada map of (Key =>
> > File_Extention, Element => Application_Info).}
>
> The "file" command is your friend.
>
> It just works, and it doesn't depend on some shaky dot extension scheme.
Er, you missed my point that the "shaky dot extension scheme" is
barely workable.
Using a facility like the file command means that any file-type cannot
be determined w/o some sort of processing on the file itself [the
results may be saved/indexed for future use/performance]; the dot-
extension alleviates the need for this processing at the expense of
the unreliable extension (rather like a typecast in C); an actual
typed-file file-system has neither of these problems. Period.
>
> Simple file->program association is handled well in both KDE and Gnome.
> I suspect other desktop environments have similar systems in place. I
> don't think this is a job for the kernel.
Why not?
Isn't the job of the kernel to facilitate the use of the computer's
resources? If files are considered resources* then checking that they
are used properly cannot but be a part of the kernel's job.
*The *nix philosophy of "everything is a file" mandates that resources
(as a part of *everything*) are files.
> > One single hyphenated-word: man-pages.
> > The old DOS hypertext help was superior to man=pages, windows .HLP
> > file help was/is superior to man-pages, the OpenVMS help-system is
> > FAR, FAR more usable than man-pages.
>
> man rename
> man file
>
> What's wrong with that? It could not be any easier.
> It's easy, flexible and it works.
And here I thought the goal of the os was to make the machine usable
to human-users, not force them to act like machines.
The navigation system for man pages is, far far far subpar to any of
the help-systems I mentioned. In particular the DOS and VMS help
systems are both-text based and both can be easily navigated via
keyboard.
>
> > Error codes? In *nix programs may or may not use them... (some
> > programs return 0/success when errors were encountered) which makes
> > them less than useless.
>
> Hardly the fault of *nix, just as the abundance of horrible software
> for Windows cannot be blamed on Windows itself.
Actually it is the fault of unix, via C, which mandates that the main
subprogram return an error-code.
A better system would be one where programs are run and exceptions are
thrown on errors (the exception could be handled in-program or
propagated out). Something, conceptually similar to this:
-- In this system all program-entries have input and
-- output streams as parameters and a parameter which
-- contains the command as typed.
Type Program_Procedure is Access All Procedure(
Input, Output : In Ada.Streams.Root_Stream_Type'Class;
Command : String );
Procedure Run_Program( Program : in Program_Procedure;
Command : String ) is
Input : Access Ada.Streams.Root_Stream_Type'Class:=
Get_Standard_Input; -- Initializes to standard in.
Output : Access Ada.Streams.Root_Stream_Type'Class:=
Get_Standard_Output; -- Initializes to standard out.
-- Command is passed in from the command-interpreter.
begin
Program.All( Input, Output, Command );
exception
-- handle 'normal' [predefined] exceptions...
When Event: Others =>
Ada.Text_IO.Put_line( '[' & Exception_Name(Event) & ']'
& ':' & Character'Pos(9) & -- padding for the message
Exception_Message(Event)
);
end Run_Program;
Since something in the vein of the above does not use error-codes
programmers cannot do something like:
int main()
{ get_list();
operate_list(); // some error occurs here
return SUCCESS;
}
The above undermines/invalidates the entire reasoning for requiring
main() to return an error-code, no?
next reply other threads:[~2010-12-04 19:53 UTC|newest]
Thread overview: 94+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-04 19:53 Shark8 [this message]
2010-12-04 23:27 ` Properties Thomas Løcke
-- strict thread matches above, loose matches on Subject: below --
2010-11-28 3:21 Properties Shark8
2010-11-28 8:15 ` Properties Dmitry A. Kazakov
2010-11-28 19:43 ` Properties Shark8
2010-11-29 8:34 ` Properties Dmitry A. Kazakov
2010-12-01 18:15 ` Properties Shark8
2010-11-28 12:37 ` Properties Georg Bauhaus
2010-11-28 21:22 ` Properties Shark8
2010-11-29 16:54 ` Properties Georg Bauhaus
2010-12-01 19:52 ` Properties Martin Krischik
2010-12-01 23:24 ` Properties Georg Bauhaus
2010-12-01 23:31 ` Properties Georg Bauhaus
2010-11-30 1:49 ` Properties Randy Brukardt
2010-11-30 16:58 ` Properties Charmed Snark
2010-11-30 17:22 ` Properties Dmitry A. Kazakov
2010-11-30 20:27 ` Properties Warren
2010-12-01 8:39 ` Properties Dmitry A. Kazakov
2010-12-01 15:21 ` Properties Warren
2010-12-01 15:59 ` Properties Dmitry A. Kazakov
2010-12-01 16:20 ` Properties Warren
2010-12-01 18:22 ` Properties Dmitry A. Kazakov
2010-12-01 19:36 ` Properties Shark8
2010-12-01 21:13 ` Properties Dmitry A. Kazakov
2010-12-01 21:35 ` Properties Maciej Sobczak
2010-12-01 21:45 ` Properties Dmitry A. Kazakov
2010-12-02 9:57 ` Properties Maciej Sobczak
2010-12-02 10:26 ` Properties Dmitry A. Kazakov
2010-12-02 15:25 ` Properties Maciej Sobczak
2010-12-02 15:46 ` Properties Dmitry A. Kazakov
2010-12-02 21:11 ` Properties Maciej Sobczak
2010-12-02 22:19 ` Properties Dmitry A. Kazakov
2010-12-03 4:43 ` Properties Randy Brukardt
2010-12-03 13:53 ` Properties Maciej Sobczak
2010-12-03 21:32 ` Properties Randy Brukardt
2010-12-04 22:13 ` Properties Maciej Sobczak
2010-12-06 23:30 ` Properties Shark8
2010-12-06 23:33 ` Properties Randy Brukardt
2010-12-04 17:43 ` Properties Simon Wright
2010-12-04 20:48 ` Properties Dmitry A. Kazakov
2010-12-04 22:27 ` Properties Simon Wright
2010-12-04 22:31 ` Properties Vinzent Hoefler
2010-12-03 4:24 ` Properties Randy Brukardt
2010-12-03 5:00 ` Properties Shark8
2010-12-03 21:10 ` Properties Randy Brukardt
2010-12-03 23:34 ` Properties Jeffrey Carter
2010-12-06 6:02 ` Properties Brad Moore
2010-12-06 23:25 ` Properties Shark8
2010-12-01 19:48 ` Properties Randy Brukardt
2010-12-01 21:10 ` Properties Warren
2010-12-02 0:03 ` Properties Shark8
2010-12-02 16:45 ` Properties Warren
2010-12-02 17:32 ` Properties Dmitry A. Kazakov
2010-12-02 20:45 ` Properties Warren
2010-12-02 21:17 ` Properties Adam Beneschan
2010-12-02 21:40 ` Properties Warren
2010-12-03 3:34 ` Properties Shark8
2010-12-03 8:16 ` Properties Thomas Løcke
2010-12-02 20:52 ` Properties Pascal Obry
2010-12-02 19:46 ` Properties Adam Beneschan
2010-12-02 20:38 ` Properties Warren
2010-12-02 21:39 ` Properties Jeffrey Carter
2010-12-02 21:55 ` Properties Warren
2010-12-03 9:33 ` Properties Anonymous
2010-12-03 3:47 ` Properties Shark8
2010-12-03 0:09 ` Properties Robert A Duff
2010-12-03 15:49 ` Properties Warren
2010-12-03 20:07 ` Properties Shark8
2010-12-06 21:01 ` Properties Warren
2010-12-06 23:22 ` Properties Shark8
2010-12-07 14:37 ` Properties Warren
2010-12-08 21:13 ` Properties Simon Wright
2010-12-09 1:21 ` Properties Shark8
2010-12-06 23:43 ` Properties Randy Brukardt
2010-12-07 0:56 ` Properties Jeffrey Carter
2010-12-07 11:23 ` Properties Maciej Sobczak
2010-12-07 11:51 ` Properties Georg Bauhaus
2010-12-07 15:35 ` Properties Maciej Sobczak
2010-12-07 17:02 ` Properties Georg Bauhaus
2010-12-07 14:39 ` Properties Warren
2010-12-03 15:40 ` Properties Warren
2010-12-03 19:56 ` Properties Shark8
2010-12-03 20:12 ` Properties Warren
2010-12-03 5:53 ` Properties Shark8
2010-12-03 9:05 ` Properties Dmitry A. Kazakov
2010-12-03 19:52 ` Properties Shark8
2010-12-03 21:14 ` Properties Randy Brukardt
2010-12-04 5:35 ` Properties Shark8
2010-12-04 14:23 ` Properties Peter C. Chapin
2010-12-04 18:53 ` Properties Shark8
2010-12-13 15:10 ` Properties Brian Drummond
2010-12-03 22:38 ` Properties Dmitry A. Kazakov
2010-12-04 3:12 ` Properties Shark8
2010-12-04 13:19 ` Properties Georg Bauhaus
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox