Overview
Background
After learning about building blocks, the missing piece is the knowledge of higher level specifications of the language implementations which allow combining everything into a complete program. Architecture part covers this. Knowledge of architecture part also helps in understanding and debugging programs.
- Language specifications
- Building blocks: specifications for elements and blocks of code
- Architecture: specifications for writing programs
- means and specifications to combine elements and blocks to build programs
- management of execution of blocks (under the hood)
- Design: knowledge of how to write good programs
- Tools: needed to write, test, debug and run programs
Introduction
- Environment = Namespace + Scope: how to isolate and identify (variable) names and objects
- Scripts and packages: how to organize and use building blocks in scripts and folders
- External packages: overview of external packages available for use
- Language engine: overview of workings of Python interpreter
- Debugging: investigating and troubleshooting errors while writing programs
Objectives
- Understand the specifications related to architecture and do experiments in isolation
- Tools: use editor and cli to manage installation, scripts and projects