Skip to content

Conclusion

journey-milestone

In this module, we introduced some common abstractions for computers. The key takeaways are:

  • Developers almost always target abstract computers to allow their programs to run on more computers, and to program complex applications more easily.
  • The closest-to-hardware abstractions of computers are Instruction Set Architectures (ISAs). The common ingredients shared across most popular ISAs are registers, memory and instructions.
  • Memory use cases, stack and heap are the basic models for using memory effectively.
    • Memory use cases defines what a piece of memory is for at each point in time.
    • Stack is a small, ordered piece of "buffer" memory from which memory can be allocated and accessed quickly.
    • Heap is a large, unordered piece of "buffer" memory that is generally slower to allocate and access memory from compared to stack.

Congratulations! You now have a basic understanding of how computers look like to developers!

Developing the basic mindset and understanding how computers work is the first milestone in the journey of becoming a good developer, and you have made it!

You can feel excited, as this marks the end of the "prerequisite" modules; starting from the next module, we will be discussing actual development, and you will start to get your hands dirty on coding!