comp.lang.ada
 help / color / mirror / Atom feed
From: Georg Bauhaus <rm.dash-bauhaus@futureapps.de>
Subject: Re: Why no socket package in the standard ?
Date: Tue, 24 May 2011 12:00:24 +0200
Date: 2011-05-24T12:00:24+02:00	[thread overview]
Message-ID: <4ddb81b8$0$7628$9b4e6d93@newsspool1.arcor-online.net> (raw)
In-Reply-To: <4ddb5bd7$0$302$14726298@news.sunsite.dk>

On 24.05.11 09:19, Thomas Løcke wrote:
> On 05/24/2011 09:07 AM, Maciej Sobczak wrote:
>> Java, C# (.NET), Python, etc. are easy examples of more or less recent
>> languages that support sockets in their standard libraries.
> 
> 
> And, for what it is worth, PHP.


and Pike [*],
(and CSNOBOL-4 [**]),
and anything supported by SWIG,
and Haskell [***]
and ...

1. The reason simply is that each and every of them has started
by offering some glue code for the BSD/POSIX socket functions.
.NET languages will likely just use a .NET class.

But there have been and will be difficulties when porting
the languages' alleged "standard" libraries to non-POSIX
(or non-.NET) operating systems.  Perhaps the difficulties
are even conceptual ones whenever POSIX sockets don't really
meet the networking requirements.

Define

  Commercially_Important_Platforms := {
    ∃ target | POSIX(target) IN { False, True }
  }

How large is the subset defined by POSIX(target) = False?
Is POSIX/Sockets the best Ada solution when this is the case?


2. In the light of Ada's history regarding standardization,
there is, I believe, networking knowledge that warrants more
than canonization of a practical workaround---which might fail
if requirements are actually different.

Opposing a get-that-duct-tape-solution-out–the-door style for
standardization, I'd imagine starting from questions like the
following and then weigh POSIX sockets as the possible answer:

- What should programs be able to do when communicating data
  along some network connection?

- Should there be a layered approach?  How much detail?

- Where in the language will this integrate nicely?
  (E.g. package structure? What types if any?  Or anything
  that has already been mentioned.)

- Is sockets the right approach?  Consider Erlang!

- Is sockets the right approach?  Consider a CAN!

I doubt that the best answer to these questions can
be summed up by saying, "Mirror Posix sockets!".



___
[*] http://pike.ida.liu.se/generated/manual/modref/ex/predef_3A_3A/Stdio/Port.html

[**] http://www.snobol4.org/csnobol4/curr/doc/snobol4.html

[***] "Haskell's networking functions almost always correspond
directly to familiar C function calls."
http://book.realworldhaskell.org/read/sockets-and-syslog.html



  parent reply	other threads:[~2011-05-24 10:00 UTC|newest]

Thread overview: 121+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-05-24  1:22 Why no socket package in the standard ? Yannick Duchêne (Hibou57)
2011-05-24  1:39 ` Yannick Duchêne (Hibou57)
2011-05-24  6:11   ` tmoran
2011-05-24 17:23     ` Pascal Obry
2011-05-24 19:10     ` Yannick Duchêne (Hibou57)
2011-05-25 15:12     ` Tero Koskinen
2011-05-25 18:43       ` Tero Koskinen
2011-05-25 19:08         ` Yannick Duchêne (Hibou57)
2011-05-24  6:24 ` georg bauhaus
2011-05-24  7:07   ` Maciej Sobczak
2011-05-24  7:19     ` Thomas Løcke
2011-05-24  7:35       ` Ludovic Brenta
2011-05-24 10:00       ` Georg Bauhaus [this message]
2011-05-24 12:53         ` Dmitry A. Kazakov
2011-05-24 14:28           ` Georg Bauhaus
2011-05-24 14:59             ` Dmitry A. Kazakov
2011-05-24 16:07               ` Adam Beneschan
2011-05-24 19:21                 ` Dmitry A. Kazakov
2011-05-25  0:53                   ` Yannick Duchêne (Hibou57)
2011-05-25  0:21                 ` Yannick Duchêne (Hibou57)
2011-05-25 11:25                   ` Peter C. Chapin
2011-05-24 16:10               ` Georg Bauhaus
2011-05-24 19:36                 ` Dmitry A. Kazakov
2011-05-25  0:57               ` Yannick Duchêne (Hibou57)
2011-05-24 23:20             ` Yannick Duchêne (Hibou57)
2011-05-25  0:32               ` Georg Bauhaus
2011-05-25  0:49                 ` Yannick Duchêne (Hibou57)
2011-05-25  7:55                 ` Pascal Obry
2011-05-25  8:38                   ` Georg Bauhaus
2011-05-25  8:05                 ` Dmitry A. Kazakov
2011-05-25  7:52               ` Dmitry A. Kazakov
2011-05-24 19:38         ` Yannick Duchêne (Hibou57)
2011-05-24 19:54           ` Ludovic Brenta
2011-05-24 20:10             ` Yannick Duchêne (Hibou57)
2011-05-24 21:57               ` Ludovic Brenta
2011-05-24 22:35                 ` Yannick Duchêne (Hibou57)
2011-05-24 23:34                   ` Adam Beneschan
2011-05-24 23:40                     ` Ludovic Brenta
2011-05-24 23:50                       ` Yannick Duchêne (Hibou57)
2011-05-24 23:35                   ` Ludovic Brenta
2011-05-25  3:07                     ` Shark8
2011-05-25  4:01                       ` Yannick Duchêne (Hibou57)
2011-05-25  7:39                         ` Georg Bauhaus
2011-05-25  7:42                         ` Ludovic Brenta
2011-05-25 10:46                           ` Manuel Collado
2011-05-25 10:44                         ` Peter C. Chapin
2011-05-25 15:28                           ` Yannick Duchêne (Hibou57)
2011-05-25 16:36                             ` Ludovic Brenta
2011-05-25 16:46                               ` Yannick Duchêne (Hibou57)
2011-05-26 12:10                               ` Maciej Sobczak
2011-05-26 12:42                                 ` Ludovic Brenta
2011-05-26 14:36                                   ` Georg Bauhaus
2011-05-26 15:56                                     ` Ludovic Brenta
2011-05-26 18:20                                   ` Maciej Sobczak
2011-05-26 18:29                                     ` Yannick Duchêne (Hibou57)
2011-05-26 20:46                                       ` Georg Bauhaus
2011-05-26 21:02                                         ` Yannick Duchêne (Hibou57)
2011-05-26 21:44                                           ` Georg Bauhaus
2011-05-26 21:59                                         ` Ludovic Brenta
2011-05-27  7:54                                           ` Georg Bauhaus
2011-05-27 13:12                                           ` Simon Wright
2011-05-27 15:43                                             ` Ludovic Brenta
2011-05-26 18:31                                     ` Vinzent Hoefler
2011-05-26 19:05                                       ` Ludovic Brenta
2011-05-26 19:14                                       ` Yannick Duchêne (Hibou57)
2011-05-26 19:44                                         ` Ludovic Brenta
2011-05-27  2:02                                       ` anon
2011-05-27 11:44                                     ` Stephen Leake
2011-05-26 14:50                               ` Adam Beneschan
2011-05-26 15:57                                 ` Ludovic Brenta
2011-05-27 11:46                                   ` Stephen Leake
2011-05-27 12:21                                     ` Dmitry A. Kazakov
2011-05-27 12:49                                       ` Make, Automake, Configure, Autocong, GPRbuild etc (was: Why no socket package in the standard ?) Ludovic Brenta
2011-05-27 13:10                                         ` Make, Automake, Configure, Autocong, GPRbuild etc Dmitry A. Kazakov
2011-05-27 15:45                                           ` Ludovic Brenta
2011-05-25  7:40                       ` Why no socket package in the standard ? Georg Bauhaus
2011-05-25 10:48                         ` Pascal Obry
2011-05-25  7:49                       ` Ludovic Brenta
2011-05-25  2:47             ` Shark8
2011-05-25  9:12             ` Thomas Løcke
2011-05-24 21:42           ` Yannick Duchêne (Hibou57)
2011-05-24 23:09           ` Georg Bauhaus
2011-05-24 23:25             ` Yannick Duchêne (Hibou57)
2011-05-25  9:06             ` Dmitry A. Kazakov
2011-05-24 23:11           ` Georg Bauhaus
2011-05-24 23:28             ` Yannick Duchêne (Hibou57)
2011-05-24 23:57               ` Georg Bauhaus
2011-05-25  0:36                 ` Yannick Duchêne (Hibou57)
2011-05-24  7:25     ` Dmitry A. Kazakov
2011-05-24 21:22       ` Maciej Sobczak
2011-05-25  9:14         ` Dmitry A. Kazakov
2011-05-25 11:54           ` Maciej Sobczak
2011-05-25 12:26             ` Dmitry A. Kazakov
2011-05-24 22:04       ` Yannick Duchêne (Hibou57)
2011-05-25  9:19         ` Dmitry A. Kazakov
2011-05-24 19:17   ` Yannick Duchêne (Hibou57)
2011-05-24 19:30     ` J-P. Rosen
2011-05-24 19:49       ` Yannick Duchêne (Hibou57)
2011-05-24 22:39     ` Georg Bauhaus
2011-05-24 22:54       ` Yannick Duchêne (Hibou57)
2011-05-24 23:54         ` Georg Bauhaus
2011-05-25  0:34           ` Yannick Duchêne (Hibou57)
2011-05-25  1:20             ` Yannick Duchêne (Hibou57)
2011-05-24 12:38 ` AdaMagica
2011-05-24 15:00   ` Yannick Duchêne (Hibou57)
2011-05-24 18:29 ` anon
2011-05-24 19:08   ` Yannick Duchêne (Hibou57)
2011-06-02  2:41 ` Randy Brukardt
2011-06-02 13:55   ` Florian Weimer
2011-06-02 20:38     ` anon
2011-06-02 20:44       ` Florian Weimer
2011-06-02 21:18       ` J-P. Rosen
2011-06-04 21:35         ` anon
2011-06-05  8:39           ` J-P. Rosen
2011-06-07  1:50             ` anon
2011-06-02 21:34     ` Randy Brukardt
2011-06-05 11:06       ` Florian Weimer
2011-06-05 13:45         ` Dmitry A. Kazakov
2011-06-05 14:51           ` Florian Weimer
2011-06-05 15:30             ` Dmitry A. Kazakov
2011-06-07  2:49             ` Randy Brukardt
replies disabled

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