Engineering Tools for AI

Programming

Runtime Environments by Language

A searchable guide to the tools, commands, files, package managers, compilers, and runtime settings needed to run common programming languages.

34 matching items

Common concepts

Runtime

Runtime

node index.js

Meaning

A program or environment that actually runs code.

When to use it

Node.js runs JavaScript, Python runs .py files, and the JVM runs compiled Java bytecode.

Example

node index.js

Request example

Explain which runtime this project needs.

Common concepts

Compiler

Compiler

gcc main.c -o main

Meaning

A tool that turns source code into another form, often an executable file.

When to use it

C, C++, Rust, Go, and Java usually need a compilation step before or during execution.

Example

gcc main.c -o main

Request example

Tell me which compiler command is needed for this file.

Common concepts

Interpreter

Interpreter

python3 main.py

Meaning

A program that reads and runs source code directly or with minimal preparation.

When to use it

Python is commonly run through an interpreter, while C is commonly compiled first.

Example

python3 main.py

Request example

Explain whether this language is interpreted or compiled in normal use.

Common concepts

PATH

PATH

echo $PATH

Meaning

A list of folders the terminal searches when you type a command.

When to use it

If python, node, go, cargo, or javac is not found, PATH is one of the first settings to check.

Caution

Editing PATH incorrectly can make normal commands disappear from the terminal.

Example

echo $PATH

Request example

Check whether the needed runtime command is on PATH.

Common concepts

Version check

Version check

python3 --version && node -v && go version

Meaning

A command pattern for confirming which runtime or compiler version is installed.

When to use it

Use it before debugging version-specific build or package errors.

Example

python3 --version && node -v && go version

Request example

List the version check commands for this language.

Common concepts

Package manager

Package manager

pip install requests

Meaning

A tool that installs and records third-party libraries.

When to use it

pip, npm, cargo, go modules, Maven, and Gradle all handle dependencies in different ecosystems.

Example

pip install requests

Request example

Explain which package manager this project uses.

Python

python3

python3

python3 main.py

Meaning

The common command for running Python 3 scripts.

When to use it

Use it to run a .py file directly or to create a virtual environment.

Example

python3 main.py

Request example

Show how to run this Python file.

Python

venv

venv

python3 -m venv .venv

Meaning

A per-project Python environment for isolating installed packages.

When to use it

Use it when different projects need different package versions.

Caution

After creating it, activate the environment before installing packages.

Example

python3 -m venv .venv

Request example

Create and explain a Python virtual environment for this project.

Python

Activate venv

activate

source .venv/bin/activate

Meaning

Switches the terminal to use the Python and pip inside the virtual environment.

When to use it

Use it before pip install or python commands in that project.

Example

source .venv/bin/activate

Request example

Tell me whether the Python virtual environment is active.

Python

pip

pip

pip install requests

Meaning

Python's package installation tool.

When to use it

Use it to install libraries listed by a project or needed by a script.

Caution

Make sure pip belongs to the same Python environment you will run.

Example

pip install requests

Request example

Check which Python environment this pip command uses.

Python

requirements.txt

requirements.txt

pip install -r requirements.txt

Meaning

A text file listing Python packages to install.

When to use it

Use it to recreate a project's Python package environment.

Example

pip install -r requirements.txt

Request example

Install packages from requirements.txt in the active venv.

C

gcc

gcc

gcc main.c -o main

Meaning

A common compiler for C source files.

When to use it

Use it to turn main.c into an executable file.

Caution

Compiling creates an executable; it does not automatically run it.

Example

gcc main.c -o main

Request example

Compile this C file and explain the output executable.

C

clang

clang

clang main.c -o main

Meaning

A C compiler commonly available on macOS through Xcode Command Line Tools.

When to use it

Use it as an alternative to gcc for compiling C files.

Example

clang main.c -o main

Request example

Check whether clang is installed and compile this C file.

C

.h header file

.h header file

#include "math_utils.h"

Meaning

A file that usually declares functions, types, constants, or shared interfaces for C code.

When to use it

Use it when multiple .c files need to share declarations.

Example

#include "math_utils.h"

Request example

Explain how this header file connects to the C source files.

C

Makefile

Makefile

make

Meaning

A file that defines build commands and dependencies for make.

When to use it

Use it when compiling a C or C++ project needs multiple repeated commands.

Example

make

Request example

Explain what this Makefile builds.

C++

g++

g++

g++ main.cpp -std=c++20 -o main

Meaning

A common compiler command for C++ source files.

When to use it

Use g++ instead of gcc when compiling C++ code.

Example

g++ main.cpp -std=c++20 -o main

Request example

Compile this C++ file with the right standard option.

C++

C++ standard

C++ standard

-std=c++20

Meaning

A setting that tells the compiler which C++ language version to use.

When to use it

Use it when code depends on features from C++17, C++20, or another standard.

Caution

A project can fail if the compiler is too old for the selected standard.

Example

-std=c++20

Request example

Tell me which C++ standard this code needs.

C++

CMake

CMake

cmake -S . -B build

Meaning

A build configuration tool often used for C and C++ projects.

When to use it

Use it when a project has CMakeLists.txt instead of a simple single-file compile command.

Example

cmake -S . -B build

Request example

Explain the CMake configure and build commands for this project.

Go

go

go

go version

Meaning

The main command for running, building, testing, and managing Go modules.

When to use it

Use it for go run, go build, go test, go mod, and dependency management.

Example

go version

Request example

Check the installed Go version.

Go

go run

go run

go run main.go

Meaning

Compiles and runs Go code in one command.

When to use it

Use it while developing a small Go program or testing a main package quickly.

Example

go run main.go

Request example

Run this Go program and explain any errors.

Go

go.mod

go.mod

go mod init example.com/my-app

Meaning

The file that defines a Go module and its dependency requirements.

When to use it

Use it as the project boundary for Go dependency and import resolution.

Example

go mod init example.com/my-app

Request example

Explain what this go.mod file defines.

Go

go mod tidy

go mod tidy

go mod tidy

Meaning

Adds missing Go module requirements and removes unused ones.

When to use it

Use it after changing imports or before committing Go dependency changes.

Example

go mod tidy

Request example

Run go mod tidy and summarize dependency changes.

JavaScript / Node.js

Node.js

Node.js

node index.js

Meaning

A runtime for running JavaScript outside the browser.

When to use it

Use it for backend scripts, build tools, and web framework tooling such as Next.js.

Caution

Browser JavaScript and Node.js do not have exactly the same APIs.

Example

node index.js

Request example

Check whether this JavaScript code is meant for Node.js or the browser.

JavaScript / Node.js

npm

npm

npm install

Meaning

The default package manager installed with Node.js.

When to use it

Use it to install packages and run scripts defined in package.json.

Example

npm install

Request example

Explain the npm scripts in this package.json.

JavaScript / Node.js

package.json

package.json

"scripts": { "dev": "next dev" }

Meaning

A Node.js project file that records scripts, dependencies, and package metadata.

When to use it

Use it to understand npm run dev, npm run build, and required packages.

Example

"scripts": { "dev": "next dev" }

Request example

Tell me what commands this package.json exposes.

JavaScript / Node.js

nvm

nvm

nvm use

Meaning

A tool for switching Node.js versions per project.

When to use it

Use it when a project requires a specific Node version.

Example

nvm use

Request example

Check whether this project specifies a Node version.

Rust

rustup

rustup

rustup show

Meaning

The recommended tool for installing and managing Rust toolchains.

When to use it

Use it to install Rust, switch stable/nightly, or add targets.

Example

rustup show

Request example

Check the active Rust toolchain.

Rust

rustc

rustc

rustc main.rs

Meaning

The Rust compiler.

When to use it

Use it for simple single-file Rust experiments, though real projects usually use cargo.

Example

rustc main.rs

Request example

Explain whether this Rust project should use rustc or cargo.

Rust

cargo

cargo

cargo run

Meaning

Rust's package manager, build tool, test runner, and project runner.

When to use it

Use cargo run, cargo build, and cargo test for normal Rust projects.

Example

cargo run

Request example

Run this Rust project with cargo and explain the output.

Rust

Cargo.toml

Cargo.toml

[dependencies]

Meaning

The manifest file that defines a Rust package, metadata, and dependencies.

When to use it

Use it to understand which crates the Rust project depends on.

Example

[dependencies]

Request example

Explain the dependencies in this Cargo.toml.

Java

JDK

JDK

java -version

Meaning

The Java Development Kit includes tools needed to compile and run Java programs.

When to use it

Use it when a project needs javac, java, Maven, Gradle, or another Java build tool.

Example

java -version

Request example

Check whether a JDK is installed and which version is active.

Java

javac

javac

javac Main.java

Meaning

The Java compiler that turns .java files into .class bytecode files.

When to use it

Use it for simple Java files or to understand what build tools do internally.

Example

javac Main.java

Request example

Compile this Java file and explain the generated class file.

Java

java

java

java Main

Meaning

Runs compiled Java classes on the JVM.

When to use it

Use it after compiling a simple Java program with javac.

Caution

Run java Main, not java Main.class.

Example

java Main

Request example

Show the compile and run commands for this Java file.

Java

Maven / Gradle

Maven / Gradle

mvn test / ./gradlew test

Meaning

Common Java build tools for dependencies, tests, packaging, and project tasks.

When to use it

Use Maven when a project has pom.xml and Gradle when it has build.gradle or gradlew.

Example

mvn test / ./gradlew test

Request example

Tell me whether this Java project uses Maven or Gradle.