Skip to main content

Programming

Computers

An underrated aspect of programming is understanding computers; for engineers and self-taught programmers, it might be challenging to understand the intricacies of computers. CPU course, what is a CPU It is written by high-schoolers, so it is an exciting read.

API

How does one explain an API in a good way? It is quite a broad subject. On the one hand, what I first thought of as an API is just how you can talk with other computers through the internet; when people said there is an API for that, they meant that someone had made a database or service that you could get the data for. However, an API is more than that; it is a method of interfacing with other programs. The Python programming language is an API, and when I use a library from Microsoft or AWS, I use their API.

To me, thinking of an API as a contract is a useful metaphor. This 'contract' ensures that if you make a request in a specific, agreed-upon format, you will receive a predictable response. An API is a structurally agreed-upon way for two programs to interact with each other.

Links

Thoughts

  • My old boss said there are usually two roads to learning programming: the syntax and the underlying principles of programming. Switching languages after learning the latter is usually much more straightforward. I agree with this statement to an extent, but I feel like it is more of the transitory phase where you first learn programming syntax and make the language do the heavy lifting, and then you become more proficient. With the concepts and logic, I become more into the latter category.
  • "Going to school to study software engineering is mostly good for understanding how to communicate with other software engineers. You understand the lingua" - Coworker.
  • "Code is just the residue of the work." - Tim Ottinger.
  • "Code that is working in production is superior to code that has never operated in real life." - Tim Ottinger.
  • You are not your code, and you are not your ideas. Do not take criticism of your work as criticism of you as a person.