-
Notifications
You must be signed in to change notification settings - Fork 78
Description
The aim of todays brief hardware discussion was to provide some insight into the interface that sits between our programming languages and the underlying machine that we run our programs on.
Python uses a c program python to interpret the code that you write and is responsible for executing your program. This interpreted step allows for neat features like dynamic typing and automatic memory allocation at the expense of greater overheads.
C sits one level down this chain and is a compiled and statically typed language. As a programmer you are essentially providing more specific code when writing in C which is one reason that programs run faster as there are less overheads for type checking operations etc at runtime.
However, While there are a lot of ways to improve performance by considering the hardware level - the best place to start is often at the algorithmic level. Thinking of smart ways to perform your logic with the least expensive number of instructions is often the best way to greatly improve performance. Computer Science spends a lot of time thinking about these types of problems.