Gunther Birznieks writes:
>  In the context of what you are saying, it seems as if everyone should 
> just stick to using TCP/IP/Telnet as a protocol and then the world would 
> be a better place.

Once upon a time, there was OSI, SNA, DECnet, etc.  Nowadays, all
computers talk IP, even if you connect from AOL.  Yes, the other
protocols are still around, but nobody in their right mind would
recommend them anymore.

> But I don't think this is so. Everyone ends up creating their own 
> protocols, their own algorithms on top of TCP on how to communicate.

Because it's FUN, and you probably can get a Ph.D. thesis out of it. ;-)

> In 
> a way it is simpler because you just have the freedom to create whatever 
> you want. But in another way, it is a nightmare because everyone will 
> just implement their own way of doing things. This can be OK in some 
> contexts, but I find it difficult to believe that this is the best thing 
> overall.

I'm not advocating this.  Rather, I am recommending using a
well-known, and arguably the most widely-used protocol:
application/x-www-form-urlencoded--and it's near cousin
multipart/form-data.  However, that's messy, we can just call it HTTP,
and our implementation is LWP and Apache.

> At least with J2EE, for every major standard or protocol
> implemented, there is only one way to do it.  With Perl, you
> actually have more confusion because there are many more ways to do
> it. More ways to do templating, more ways to do middleware, more
> ways to do serialization of objects, etc...

There are equivalent number of ways in both languages.  If you are
saying that you could build a "standard component" in, say, EJB, and
sell it, well, that's just not the case.  That's the pipe dream of
CORBA.  The only thing close to portable protocols is HTTP.  Sabre,
for example, gives you a library, and you have to interface to it.
However, authorize.net's interface is HTTP, and I can write my own
library in < 100 lines of Perl, which matches my application, and
doesn't require me to install anything.

There's such a thing as standard protocols, but every application uses
them differently.

Rob



Reply via email to