There are quite a few WikiWikiWeb:PrototypeBasedLanguages, but the only one could be considered a Python-variant is Prothon.


jim (2004/04/03): These "prototype" languages are also known as Object-Based languages. Which are a subset of Object-oriented programming languages.

  • jnc (2004/04/03): There's a bit of a terminology problem. "Object-based" is easy to mix up with just plain "Object-oriented", but "Prototype-based Python" is easy to mix up with using Python to prototype things. Eck.
  • apenwarr (2004/04/05): Call it "classless object-oriented" and be done with it :)


jim (2004/04/03): Object-based is object-oriented, just as class-based is object-oriented.


jnc (2004/04/04): Prothon uses IoStyleInheritance?, with a WithStatement? for extra syntax. There is still discussion on the mailing lists about changing the syntax and the implementors appear flexible.


jnc (2004/04/05): This might be a good place to archive ProthonDesignNotes.


Anonymous@4.29.200.207 (2005/05/22): Object-oriented programming languages (oopls)are a misnomer. Correcty, OOPLs are Class-Based Inheritance Languages (CBILs).

Class-based inheritance employs the logic of eugenics upon computing -- arbitrarily selecting and embodying details within a rigid hierarchy of thinking. This techique relies upon an abstract DATA type, the class, which is joins together variables (segments of memory with program-based meaning) with functions, which their language designers refer as methods.

Like their counterpart (the multiple personality sufferer Sybil) CBILs designers can't decide if they want to abstract main memory access -- provide a layer above pointers -- or abstract real-world objects through some arbitrarily bizarro subtraction process.

An Object Language uses self-contained objects that represent real world things, e.g., a table in memory that represents an inventory worksheet. One of the first, and probably most successful OLs is dBASE II.

Some OOPLs use an underlying software objects in a quasi- Objects Language approach -- notably Python. As long as one doesn't waste time with silly class ADTs, one can use Python as a quasi prototype-based language -- just import scripts as modules and add required functions to the host importer.