Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> The protocol of Smalltalk objects communicating with each other has not been implemented between computers in general

Not sure if this fits your conditions, but Croquet (https://en.wikipedia.org/wiki/Croquet_Project) is a P2P, "distributed computation" architecture based on Smalltalk and the replication of messages (i.e. method calls) sent to object clones on participating nodes. The replication and commit protocol is called TeaTime (https://oneofus.la/have-emacs-will-hack/files/2005_Teatime_F...). Croquet is basically a 3D interactive WWW, but based on synchronized Smalltalk VM execution (distributed computation) rather than downloading data (e.g. HTML).



Croquet and Teatime are great. If every computer would implement the Croquet protocol then that would be great. But my point is really that the protocol you use to interact with computers should be minimal and just typing in ascii characters on the terminal is about as minimal as possible.

Characters are the transfer-level (ISO something?). By assuming that all inputs come as a string of (UTF?) characters we retain the maximum freedom as to how to interpret those characters. That makes computers very general purpose.

The Smalltalk -protocol assumes some specific data-structures for representing the messages and results. Once you choose and require one such representation you would lose the ability to use any other representation, and thus we the ability to evolve ever more and multiple representations encoded as characters.

Also, it is not Smalltalk Objects that do the interpretation of messages, like a Computer. It it is the Smalltalk runtime that does the interpretation.

How we design the communication between humans and computers should be max flexible.

This has something to do with JSON. JSON allows many different types of programs and computers interact with each other -- because it doesn't allow you to pass around Functions. JSON only passes basic data-structures. Therefore it is very general and flexible. Whoever gets a JSON-message is free to interpret the arrays, records and strings encoded as JSON in any way they want. Plain ASCII is even more general and flexible.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: