notes
notes copied to clipboard
Programming languages from an information retention perspective
On the last friam call, it was noted that type systems can differ in the way they retain information in the coding->compiling->execution pipeline.
C types for example are not retained in the compiled binaries, there is no way of ascertaining the type of a variable at runtime.
Python retains type information, and integrates it with its object class system.
In the same way, it was noted that the notion of an agent differs between languages - some language enforce a types' behavior only at compile time, some others also at runtime.
For example, private methods in Python are a mere syntactic convention, Java does in fact allow private method access by other objects (unless a SecurityManager is involved), while E enforces impenetrable boundaries around objects at runtime, thus providing "absolute/irrevocable" encapsulation.