AI Engineering Tools

Программирование

Среды выполнения по языкам

Справочник по средам выполнения, компиляторам, пакетным менеджерам и конфигурации для популярных языков.

34 пунктов

Общие понятия

Среда выполнения

Runtime

node index.js

Значение

Программа или среда, которая фактически запускает код.

Когда использовать

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

Пример

node index.js

Пример запроса

Объясните, какую среду выполнения требует этот проект.

Общие понятия

Компилятор

Compiler

gcc main.c -o main

Значение

Инструмент, преобразующий исходный код в другую форму, часто в исполняемый файл.

Когда использовать

C, C++, Rust, Go и Java обычно требуют этапа компиляции перед или во время выполнения.

Пример

gcc main.c -o main

Пример запроса

Сообщите мне, какая команда компилятора необходима для этого файла.

Общие понятия

Интерпретатор

Interpreter

python3 main.py

Значение

Программа, которая читает и запускает исходный код напрямую или с минимальной подготовкой.

Когда использовать

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

Пример

python3 main.py

Пример запроса

Объясните, является ли этот язык интерпретируемым или компилируемым при обычном использовании.

Общие понятия

PATH

PATH

echo $PATH

Значение

Список папок, в которых терминал ищет при вводе команды.

Когда использовать

Если python, node, go, cargo или javac не найдены, PATH - одно из первых мест, где следует проверить настройки.

Осторожно

Неправильное редактирование PATH может привести к исчезновению обычных команд из терминала.

Пример

echo $PATH

Пример запроса

Проверьте, находится ли необходимая команда выполнения в PATH.

Общие понятия

Проверка версии

Version check

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

Значение

Шаблон команды для проверки установленной версии среды выполнения или компилятора.

Когда использовать

Используйте это перед отладкой ошибок сборки или пакетов, специфичных для версии.

Пример

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

Пример запроса

Перечислите команды проверки версии для этого языка.

Общие понятия

Менеджер пакетов

Package manager

pip install requests

Значение

Инструмент, устанавливающий и регистрирующий сторонние библиотеки.

Когда использовать

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

Пример

pip install requests

Пример запроса

Объясните, какой менеджер пакетов используется в этом проекте.

Python

python3

python3

python3 main.py

Значение

Общая команда для запуска сценариев Python 3.

Когда использовать

Используйте это для запуска файла .py напрямую или для создания виртуальной среды.

Пример

python3 main.py

Пример запроса

Показать, как запустить этот файл Python.

Python

виртуальное окружение.

venv

python3 -m venv .venv

Значение

Среда Python для каждого проекта, предназначенная для изоляции установленных пакетов.

Когда использовать

Используйте это, когда разные проекты требуют разных версий пакетов.

Осторожно

После создания активируйте среду перед установкой пакетов.

Пример

python3 -m venv .venv

Пример запроса

Создайте и объясните виртуальную среду Python для этого проекта.

Python

Активировать виртуальное окружение (venv)

activate

source .venv/bin/activate

Значение

Переключает терминал на использование Python и pip внутри виртуальной среды.

Когда использовать

Используйте это перед выполнением команд pip install или python в этом проекте.

Пример

source .venv/bin/activate

Пример запроса

Сообщите мне, активна ли виртуальная среда Python.

Python

pip

pip

pip install requests

Значение

Python's package installation tool.

Когда использовать

Используйте это для установки библиотек, указанных в проекте или необходимых для скрипта.

Осторожно

Убедитесь, что pip принадлежит той же среде Python, в которой вы будете запускать программу.

Пример

pip install requests

Пример запроса

Проверьте, какую среду Python использует эта команда pip.

Python

requirements.txt

requirements.txt

pip install -r requirements.txt

Значение

Текстовый файл, содержащий список пакетов Python для установки.

Когда использовать

Используйте это для воссоздания среды пакетов Python проекта.

Пример

pip install -r requirements.txt

Пример запроса

Установите пакеты из файла requirements.txt в активной виртуальной среде.

C

gcc

gcc

gcc main.c -o main

Значение

Общий компилятор для файлов исходного кода на C.

Когда использовать

Используйте это для преобразования файла main.c в исполняемый файл.

Осторожно

Компиляция создает исполняемый файл; она не запускает его автоматически.

Пример

gcc main.c -o main

Пример запроса

Скомпилируйте этот файл C и объясните сгенерируемый исполняемый файл.

C

clang

clang

clang main.c -o main

Значение

Компилятор C, обычно доступный в macOS через Xcode Command Line Tools.

Когда использовать

Используйте это в качестве альтернативы gcc для компиляции файлов C.

Пример

clang main.c -o main

Пример запроса

Проверьте, установлен ли clang и скомпилируйте этот файл C.

C

Заголовочный файл .h

.h header file

#include "math_utils.h"

Значение

Файл, который обычно объявляет функции, типы, константы или общие интерфейсы для кода на C.

Когда использовать

Используйте это, когда несколько файлов .c должны совместно использовать объявления.

Пример

#include "math_utils.h"

Пример запроса

Объясните, как этот заголовочный файл подключается к исходным файлам на C.

C

Makefile

Makefile

make

Значение

Файл, определяющий команды сборки и зависимости для make.

Когда использовать

Используйте это, когда для компиляции проекта C или C++ требуются несколько повторяющихся команд.

Пример

make

Пример запроса

Объясните, что создает этот Makefile.

C++

g++

g++

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

Значение

Общая команда компилятора для файлов исходного кода на C++.

Когда использовать

Используйте `g++` вместо `gcc` при компиляции кода на C++.

Пример

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

Пример запроса

Скомпилируйте этот файл C++ с правильным параметром стандарта.

C++

Стандарт C++

C++ standard

-std=c++20

Значение

Настройка, которая указывает компилятору, какую версию языка C++ использовать.

Когда использовать

Используйте это, когда код зависит от функций из C++17, C++20 или другого стандарта.

Осторожно

Проект может не удаться, если используемый компилятор слишком устарел для выбранного стандарта.

Пример

-std=c++20

Пример запроса

Сообщите мне, какой стандарт C++ требуется для этого кода.

C++

CMake

CMake

cmake -S . -B build

Значение

Инструмент конфигурации сборки, часто используемый для проектов C и C++.

Когда использовать

Используйте это, когда в проекте используется CMakeLists.txt вместо простой команды компиляции для одного файла.

Пример

cmake -S . -B build

Пример запроса

Объясните команды CMake для настройки и сборки этого проекта.

Go

go

go

go version

Значение

Основная команда для запуска, сборки, тестирования и управления модулями Go.

Когда использовать

Используйте это для go run, go build, go test, go mod и управления зависимостями.

Пример

go version

Пример запроса

Проверьте установленную версию Go.

Go

go run

go run

go run main.go

Значение

Компилирует и запускает код Go в одной команде.

Когда использовать

Используйте это при разработке небольшой программы на Go или быстром тестировании основного пакета.

Пример

go run main.go

Пример запроса

Запустите эту программу на Go и объясните любые ошибки.

Go

go.mod

go.mod

go mod init example.com/my-app

Значение

Файл, который определяет модуль Go и его требования к зависимостям.

Когда использовать

Используйте это в качестве границы проекта для разрешения зависимостей и импортов Go.

Пример

go mod init example.com/my-app

Пример запроса

Объясните, что определяет этот файл go.mod.

Go

go mod tidy

go mod tidy

go mod tidy

Значение

Добавляет отсутствующие требования модуля Go и удаляет неиспользуемые.

Когда использовать

Используйте это после изменения импортов или перед внесением изменений в зависимости Go.

Пример

go mod tidy

Пример запроса

Запустите go mod tidy и суммируйте изменения зависимостей.

JavaScript / Node.js

Node.js

Node.js

node index.js

Значение

Среда выполнения для запуска JavaScript вне браузера.

Когда использовать

Используйте это для серверных скриптов, инструментов сборки и инструментов веб-фреймворков, таких как Next.js.

Осторожно

Браузерный JavaScript и Node.js не имеют абсолютно одинаковых API.

Пример

node index.js

Пример запроса

Проверьте, предназначен ли этот JavaScript код для Node.js или для браузера.

JavaScript / Node.js

npm

npm

npm install

Значение

Менеджер пакетов по умолчанию, установленный вместе с Node.js.

Когда использовать

Используйте это для установки пакетов и запуска скриптов, определенных в package.json.

Пример

npm install

Пример запроса

Объясните скрипты npm в этом файле package.json.

JavaScript / Node.js

package.json

package.json

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

Значение

Файл проекта Node.js, который содержит записи о скриптах, зависимостях и метаданных пакета.

Когда использовать

Используйте это для понимания команд npm run dev, npm run build и необходимых пакетов.

Пример

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

Пример запроса

Сообщите мне, какие команды доступны в этом файле package.json.

JavaScript / Node.js

nvm

nvm

nvm use

Значение

Инструмент для переключения версий Node.js для каждого проекта.

Когда использовать

Используйте это, когда проекту требуется определенная версия Node.

Пример

nvm use

Пример запроса

Проверьте, указывает ли этот проект на определенную версию Node.

Rust

rustup

rustup

rustup show

Значение

Рекомендуемый инструмент для установки и управления инструментами Rust.

Когда использовать

Используйте это для установки Rust, переключения между стабильной и экспериментальной версиями или добавления целевых платформ.

Пример

rustup show

Пример запроса

Проверьте активный набор инструментов Rust.

Rust

rustc

rustc

rustc main.rs

Значение

Компилятор Rust.

Когда использовать

Используйте это для простых однофайловых экспериментов на Rust, хотя для реальных проектов обычно используется cargo.

Пример

rustc main.rs

Пример запроса

Объясните, следует ли этому проекту Rust использовать rustc или cargo.

Rust

cargo

cargo

cargo run

Значение

Менеджер пакетов, инструмент сборки, средство выполнения тестов и средство запуска проектов Rust.

Когда использовать

Используйте `cargo run`, `cargo build` и `cargo test` для обычных проектов на Rust.

Пример

cargo run

Пример запроса

Запустите этот проект на Rust с помощью `cargo` и объясните вывод.

Rust

Cargo.toml

Cargo.toml

[dependencies]

Значение

Файл манифеста, который определяет пакет Rust, метаданные и зависимости.

Когда использовать

Используйте это для понимания, от каких пакетов зависит проект Rust.

Пример

[dependencies]

Пример запроса

Объясните зависимости в этом файле Cargo.toml.

Java

JDK

JDK

java -version

Значение

Комплект разработки Java (Java Development Kit) включает инструменты, необходимые для компиляции и запуска программ Java.

Когда использовать

Используйте это, когда проекту требуются javac, java, Maven, Gradle или другой инструмент сборки Java.

Пример

java -version

Пример запроса

Проверьте, установлен ли JDK и какая версия активна.

Java

javac

javac

javac Main.java

Значение

Компилятор Java, который преобразует файлы .java в файлы байт-кода .class.

Когда использовать

Используйте это для простых файлов Java или для понимания того, что делают инструменты сборки.

Пример

javac Main.java

Пример запроса

Скомпилируйте этот файл Java и объясните сгенерированный файл класса.

Java

java

java

java Main

Значение

Запускает скомпилированные классы Java на JVM.

Когда использовать

Используйте это после компиляции простой программы на Java с помощью javac.

Осторожно

Запустите java Main, а не java Main.class.

Пример

java Main

Пример запроса

Отображать команды компиляции и запуска для этого файла Java.

Java

Maven / Gradle

Maven / Gradle

mvn test / ./gradlew test

Значение

Общие инструменты сборки Java для управления зависимостями, тестированием, упаковкой и задачами проекта.

Когда использовать

Используйте Maven, если проект содержит pom.xml, и Gradle, если он содержит build.gradle или gradlew.

Пример

mvn test / ./gradlew test

Пример запроса

Сообщите мне, использует ли этот Java-проект Maven или Gradle.