[Web-SIG] Client-side API

Simon Willison cs1spw at bath.ac.uk
Fri Oct 24 01:40:29 EDT 2003


Bill Janssen wrote:
> Another possibility would be to mimic the Java 1.4.1 libraries for the
> Web.  For instance, we could have the "URL" object, which has a method
> called "open()", which when called gives you a "Connection", which can
> be of subtype "HTTPConnection", "FTPConnection", etc.  Call the
> "create_request()" method on that "Connection" to get a new Request
> instance, use "set_header()", "set_cookie()", "set_body()", etc., then
> call the "send()" method, getting back a ReplyPromise instance, which
> can then be interrogated periodically to get a Reply instance, etc.

Ugh. One of the things I love about Python is that unlike Java it 
doesn't force you to have horribly verbose interfaces with dozens of 
different classes. A URL is a string, file-like-objects are 
file-like-objects and most of the modules in the standard library only 
make you deal with one or two classes and a few useful utility methods.

I'm all for replicating the capabilities of Java libraries (if they have 
a good bunch of features) but replicating the exact APIs seems to me 
like a lost opportunity to take advantage of Python's more expressive 
syntax.

Cheers,

Simon Willison
http://simon.incutio.com/




More information about the Web-SIG mailing list