Introduction
These are my notes on programming, covering both programming languages and core concepts. Currently, I’ve documented Python, JavaScript, and Go. I plan to explore C, C++, Rust, and Assembly next. While I’ve studied C, C++, and Assembly in the past, my familiarity with them has faded over time. As a developer, I believe it's essential to have a strong grasp of C, C++, and Assembly, since they form the foundation of many modern programming languages and system-level concepts.
Content Table
- Programming Languages
- Python
- Introduction
- Python Basics
- Variable Scoping
- Common Data Structures in Python
- Loops, Control Structures, and Functions
*args
and**kwargs
- Standard Library
- Pythonic Code
- Object Oriented Programming (OOP)
- Exception Handling
- Context Manager
- File Handling
- Iterator and Generator
- Multithreading
- Multiprocessing, and Asyncio
- Asyncio
- Metaprogramming
- Decorator
- Unit Test
- Pytest
- Execution Flow
- Memory Management
- Reference Counting
- Generational Garbage Collection
- JavaScript
- Introduction
- Variables
- Data Types
- Mutation
- Functions
- Conditions and Loops
- Asynchronous Programming
- Execution Context
- Call Stack
- Queues
- Event Loop
- Closures and Lexical Scoping
- Callbacks and Higher-Order Functions
- Currying and IIFE
- Prototypes and Inheritance
- Object Oriented Programming
- The
this
Keyword - Type Coercion and Type Conversion
use string
- Event Handling
- ES6 and Beyond
- Concurrency and Parallelism
- Go
- Python