Programming Languages To learn in the future (click to expand):
-
Python
- Beginner-friendly, versatile, and powerful.
-
Great for backend web development (Flask, Django), automation,
and data science.
-
Complements your web skills by letting you build full-stack
projects.
-
HTML
- The foundation of the web.
- Easy to learn, gives you instant visible results.
-
CSS
- Adds design and layout to your HTML.
-
Together with HTML, you’ll be able to build static websites.
-
JavaScript
- Completes the “front-end trio.”
-
Lets you make your websites dynamic (buttons, animations,
forms, games).
-
Since you already know some basics, this will click quickly.
-
Java
-
Once you’re comfortable with Python and JS, Java gives you
strong OOP discipline.
-
Used in Android apps, enterprise systems, and large-scale
backend services.
- Builds your understanding of typed, compiled languages.
-
C
-
A low-level language that teaches you how computers really
work.
-
C++
-
The most complex of the list, but by the time you reach it,
you’ll have solid programming fundamentals.
-
Essential for performance-critical applications, game engines,
and systems programming.
-
Deepens your understanding of memory management and low-level
computing.
Development Environment Tools to Install (click to expand):
- Git – Version control system for tracking changes in code.
- Visual Studio Code – Lightweight code editor with powerful extension support.
- Python – Install from python.org; includes
pip for package management.
- Node.js – JavaScript runtime for building server-side applications. Includes
npm for package management.
- Docker – Containerization platform for consistent and isolated development environments.
- MSYS2 – Software distribution and build platform for Windows, useful for Unix-like tooling.
- MinGW – Minimalist development environment for compiling native Windows applications.
- GCC/G++ – GNU Compiler Collection for compiling C and C++ code.
- MSVC – Microsoft Visual C++ Build Tools for compiling C++ on Windows.
- CMake – Cross-platform build system for managing and automating the build process.
Non-Download Development Tools to Use (click to expand):
-
GitHub Pages - Host your static websites directly from your GitHub
repository.
- Porkbun - Domain registration and management service.
Useful VS Code Extensions (click to expand):
-
Prettier - Code Formatter Automatically formats your JavaScript,
HTML, and CSS so your code is always clean and consistent.
-
ESLint - Lints your JavaScript code, catching errors and enforcing
best practices. Works perfectly with Prettier.
-
Live Server - Launches a local development server with live reload —
every time you save, your browser refreshes instantly.
-
Live Preview (from Microsoft) - Preview your HTML/CSS/JS files directly in VS Code without
needing an external browser.
-
Turbo Console Log - Quickly inserts and manages console.log
statements for debugging. A lifesaver when testing JS logic.
-
GitHub Copilot / Copilot Chat - AI-powered code suggestions and
explanations. Helps you write functions faster and understand
tricky code.
-
Import Cost - Shows the size of imported npm packages in real time,
helping you keep your app lightweight.
-
GitLens - Enhances Git integration, showing who changed what and
when, right inside your editor.
-
Image Preview - Lets you preview images directly in VS Code when
working with HTML/CSS.
-
Indent Rainbow - Colorizes indentation levels, making nested
JavaScript code easier to read.
⚖️ Optional but Useful
-
Debugger for Chrome/Edge → Debug JavaScript directly in the
browser from VS Code.
-
Path Intellisense → Autocompletes file paths when importing
modules.
-
npm Intellisense → Autocompletes npm package names in imports.
-
REST Client → Lets you test HTTP requests directly in VS Code.
Essential Python Libraries (click to expand):
-
Pandas – Data manipulation and analysis library, built on top of NumPy.
-
NumPy – Fundamental package for scientific computing with Python, providing n‑dimensional
arrays and math functions.
-
Matplotlib – Plotting library for creating static, animated, and interactive visualizations.
-
Requests – Simple and widely used HTTP library for making API requests.
-
openpyxl – Library for reading and writing modern Excel files (.xlsx, .xlsm, .xltx, .xltm).
Does not support legacy .xls.
-
pyxlsb – Library for reading Excel binary workbook files (.xlsb).
-
xlwings – Library for automating and controlling Excel itself (Windows/macOS). Can read/write
workbooks, run macros, and connect Python with Excel, either headless or attached to an existing instance.
-
tqdm – Fast, extensible progress bar for Python loops and iterable processing.
-
tabulate – Library for pretty‑printing tabular data in plain text, Markdown, HTML, LaTeX, and
more.
-
python-dotenv – Library for managing environment variables by loading them from a .env file
into os.environ.
-
playwright – Library for browser automation and testing, supporting Chromium, Firefox, and
WebKit with a single API.
-
pyinstaller – Library for packaging Python applications into standalone executables.
Linux Distributions (click to expand):
-
Ubuntu – User-friendly, widely supported, and has a large community.
-
Debian – Stable and reliable, with a vast repository of software packages.
-
Raspberry Pi OS – Optimized for Raspberry Pi hardware, great for learning and projects.
-
Arch Linux – Highly customizable and lightweight, ideal for advanced users.