WSL - A feature of Windows that enables you to run a GNU/Linux environment on your Windows machine without the need for a separate virtual machine or dual booting
Git for Windows - A lightweight, native set of tools that bring the full feature set of the Git SCM to Windows
MSYS2 - A collection of tools and libraries providing you with an easy-to-use environment for building, installing and running native Windows software
Python - A programming language that lets you work quickly and integrate systems more effectively
Core Features
Python import system - The mechanism that organizes Python code into modules and packages, facilitating code reuse and structuring large applications
Special method names - The methods, identified by leading and trailing double underscores, that allow classes to implement operations invoked by special syntax
Type Hints - A standard syntax for type annotations of variables, function parameters, and return values, used for static analysis
Mypy - An optional static type checker for Python that aims to combine the benefits of dynamic typing and static typing
f-string - A type of string literal, prefixed with 'f' or 'F', which allows embedding expressions inside string constants using minimal syntax
with statement - A statement that simplifies exception handling by encapsulating standard uses of try/finally statements for resource management
contextlib - A module that provides utilities for common tasks involving the with statement
Generators - A simple and powerful way to create iterators, defined using a function with the yield statement
Decorators - A syntax using the '@' symbol for transforming functions and methods, often used for modifying or enhancing them non-intrusively
Coroutine - A specialized generator function, defined with async def, that can suspend and resume its execution, enabling cooperative multitasking
Lambda - A small anonymous function defined using the lambda keyword, restricted to a single expression
Data Classes - A module and decorator providing a concise way to create classes primarily used to store data, automatically generating special methods
Pattern Matching - A feature providing functionality similar to switch statements, allowing matching of values against complex patterns including sequences, mappings, and object structures
Unpacking Operator - The extended usages of the * iterable unpacking operator and ** dictionary unpacking operators to allow unpacking in more positions, an arbitrary number of times, and in additional circumstances
Key Libraries
pathlib - The module offering classes representing filesystem paths with semantics appropriate for different operating systems
dotenv - A library that reads key-value pairs from a .env file and can set them as environment variables
Pydantic - A data validation and settings management library for Python
CommonJS - A project with the goal of specifying an ecosystem for JavaScript outside the browser
ES modules - The official standard format to package JavaScript code for reuse
UMD - The patterns for Universal Module Definition for use in the browser, and in AMD and CommonJS-based systems
Core Features
Event-driven - A programming paradigm in which the flow of the program is determined by events such as user actions, sensor outputs, or messages from other programs
Spread and rest operators - The syntax that allows an iterable such as an array expression or string to be expanded in places where zero or more arguments or elements are expected
Generator - An object returned by a generator function and it conforms to both the iterable protocol and the iterator protocol
Key Libraries
Lodash - A modern JavaScript utility library delivering modularity, performance & extras
dax - Cross-platform shell tools for Deno and Node.js inspired by zx
Bun Shell - A built-in shell-like interface for running shell scripts
I/O operators - The operators used for input and output operations, such as reading from a filehandle
Groovy (for Jenkins/Gradle) - A powerful, optionally typed and dynamic language, with static-typing and static compilation capabilities, for the Java platform
Lua (for NGINX/Neovim) - A powerful, efficient, lightweight, embeddable scripting language
Emacs Lisp - The programming language used to extend and customize the Emacs text editor
S-expression - A notation for nested list (tree-structured) data
Homoiconicity - A property of some programming languages in which the primary representation of programs is also a data structure in a primitive type of the language itself
Wishlist - An SSH directory for your private hostkeys and favorite SSH commands
Rust
clap - A full featured, fast Command Line Argument Parser for Rust
Ratatui - A Rust library for cooking up delicious terminal user interfaces
R3BL - A suite of libraries for building modern terminal apps with Rust
Ansic - A modern, efficient and compile time ansi macro and utilities crate for Rust
C
ncurses - A programming library providing an application programming interface (API) that allows the programmer to write text-based user interfaces in a terminal-independent manner
mason.nvim - A Neovim plugin that allows you to easily manage external editor tooling such as LSP servers, DAP servers, linters, and formatters through a single interface
telescope.nvim - A highly extendable fuzzy finder over lists
flash.nvim - A plugin that helps you navigate your code with search labels, enhanced character motions and Treesitter integration
nvim-llama - A simple interface to Ollama for Neovim
Helix - A modal editor, meaning it has different modes for different tasks
GNU Emacs - An extensible, customizable, free/libre text editor — and more
LSP - The protocol used between an editor or IDE and a language server that provides language features like auto complete, go to definition, find all references etc.
pyright - A static type checker and language server for Python
Pylance - An extension that works alongside the Python extension in Visual Studio Code to provide performant language support
Ruby LSP - An opinionated language server for Ruby