notes icon indicating copy to clipboard operation
notes copied to clipboard

Programming languages from an information retention perspective

Open void4 opened this issue 4 years ago • 0 comments

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.

void4 avatar Apr 21 '20 09:04 void4