A bit of history about computer programing

Assembling (1947)


In [ ]:
!cat hello.c

In [ ]:
!gcc -S hello.c

In [ ]:
!cat hello.s

In [ ]:
!gcc hello.s -o hello

In [ ]:
!file hello

In [ ]:
!./hello

In [ ]:
!wc -c < hello

Compiling (1951)


In [ ]:
!gcc hello.c -o hello

In [ ]:
!file hello

In [ ]:
!wc -c < hello

Compiling Java code (for the Java virtual machine) (1991)


In [ ]:
!cat HelloWorld.java

In [ ]:
!javac HelloWorld.java

In [ ]:
!javap -c HelloWorld.class

In [ ]:
!java HelloWorld

Running Python code in the Python virtual machine (1989)


In [ ]:
!cat hello_world.py

In [ ]:
!python hello_world.py

In [ ]:
!python -m dis hello_world.py

PVM (Python Virtual Machine) implementations

There are several Python bytecode compilers and PVMs. The most comprehensive is CPython (C refers to the interpreter is written in the C programming language). Other implementations are Jython (written in Java), PyPy (written in RPython, a restricted subset of Python that incorporates Psyco, a JIT compiler) and IronPython (written in C#).