Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hardware Vs. Algorithms ... #12

Open
mmcky opened this issue Feb 12, 2016 · 0 comments
Open

Hardware Vs. Algorithms ... #12

mmcky opened this issue Feb 12, 2016 · 0 comments

Comments

@mmcky
Copy link

mmcky commented Feb 12, 2016

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant