comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Ada.Directories problems, a summary
Date: Fri, 2 Jan 2009 15:49:27 +0100
Date: 2009-01-02T15:49:28+01:00	[thread overview]
Message-ID: <24gt6af21urt.15w8n62zm0w23.dlg@40tude.net> (raw)
In-Reply-To: bb4d6473-c4b7-4398-86a7-4a45b80324c1@v39g2000pro.googlegroups.com

On Fri, 2 Jan 2009 06:22:14 -0800 (PST), Ivan Levashew wrote:

> Dmitry A. Kazakov wrote:
>>
>> I don't see any problem with that. Ada.Streams.Stream_IO should do it.
> 
> I was thinking Modula-2's text API vs. Ada's one. Both
> are advanced, but I can hardly remember when was the last
> time I needed Ada's Page, Set_Line, etc. stuff.

I don't see your point.
 
>>> which is stored in a zip file,
>>> which itself is hosted on an FTP server,
>>> which is being accessed through a SOCKS5 proxy,
>>> which is being accessed through an HTTPS proxy (CONNECT method),
>>> which is being accessed directly.
>>
>> All these are just not files. It is a UNIX-world aberration that everything
>> must be a file. Everything is nothing.
>
> I don't care about UNIX convention. There are abstraction like
> "sequence of octets", "ability to establish connection with",
> etc., and I'd like to deal with these abstractions and not with
> what particular cases OS designers gave me instead.

But directories have nothing to do with streams of octets. It is
Ada.Streams' business?
 
>>> Every part of Ada RTL and GNAT RTL is locked down to immediate
>>> filesystem/immediate network connectivity.
>>
>> Which is good, because your list has no end. What about CORBA, DB
>> connections etc?

> The point isn't about CORBA and FTP. The point is about
> indirection. As soon as one has libraries for FTP/ZIP/SOCKS5,
> one should have opportunity to do what I've said.

There are millions of libraries. I really don't see your point. Further
there is nothing in common in FTP/ZIP/SOCKS5.

If this is about providing an octet stream interface to everything in the
world, then it is a reincarnation of the old UNIX's stupidity "everyting is
a file."  In software design this sort of stupidity is called abstraction
inversion.

> Currently, Ada RTL is designed in a way that one has to write
> text API implementation from scratch.

I don't know what you understand under "text API implementation."

>> The option is to limit it to files.

> A programming language of software engineers shouldn't
> have stupid limitations like this.

First you said that this were impossible. I don't find stupid limiting
portable Ada.Directories to files. Stupid were to have OS-dependent
interface of. Presently it has, which is a problem.

Ada may have a lot of weaknesses, but it is unbeatable when you need to
write a portable application.
 
>> Later on URI schemes could added in a set of separate
>> packages and so on.
> 
> URI scheme parser is not a major part. URI is bad for accessing
> multivolume archives, cryptography-enabled SFTPs and so on.

Yes, this is what I meant.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



  reply	other threads:[~2009-01-02 14:49 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-01-01 11:16 Ada.Directories problems, a summary Dmitry A. Kazakov
2009-01-01 13:47 ` Ivan Levashew
2009-01-01 14:15   ` Dmitry A. Kazakov
2009-01-02 14:22     ` Ivan Levashew
2009-01-02 14:49       ` Dmitry A. Kazakov [this message]
2009-01-02 22:33         ` Colin Paul Gloster
2009-01-03  9:08           ` Dmitry A. Kazakov
2009-01-05 10:01       ` Jean-Pierre Rosen
2009-01-02 22:57     ` Randy Brukardt
2009-01-03  9:39       ` Dmitry A. Kazakov
2009-01-06  1:23         ` Randy Brukardt
2009-01-06 10:41           ` Dmitry A. Kazakov
2009-01-06  1:23         ` Randy Brukardt
2009-01-01 13:56 ` Dmitry A. Kazakov
2009-01-01 14:05 ` Colin Paul Gloster
2009-01-01 14:29   ` Dmitry A. Kazakov
2009-01-01 20:41 ` anon
2009-01-02 11:22   ` Colin Paul Gloster
2009-01-02 10:22 ` Georg Bauhaus
2009-01-02 11:09   ` Dmitry A. Kazakov
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox