diff options
Diffstat (limited to 'README_RU.md')
| -rw-r--r-- | README_RU.md | 48 |
1 files changed, 24 insertions, 24 deletions
diff --git a/README_RU.md b/README_RU.md index 29dbfc3..863b9b8 100644 --- a/README_RU.md +++ b/README_RU.md @@ -9,7 +9,7 @@ # Zen C -**Современная эргономика. Никаких оверхедов. Чистый Си.** +**Современная эргономика. Никаких накладных расходов. Чистый Си.** []() []() @@ -24,11 +24,11 @@ ## Обзор -**Zen C** — это современный язык системного программирования, который компилируется в человекочитаемом `GNU C`/`C11`. Он предоставляет богатый набор функций, включая вывод типов, сопоставление с паттернами, генерику, трейты, async/await и ручное управление памятью с возможностями RAII, при этом поддерживая 100% совместимость с ABI Си. +**Zen C** — это современный язык системного программирования, который компилируется в человекочитаемом `GNU C`/`C11`. Он предоставляет богатый набор возможностей, включая вывод типов, сопоставление с паттернами, генерику, трейты, async/await и ручное управление памятью с возможностями RAII, при этом поддерживая 100% совместимость с ABI Си. ## Сообщество -Присоединяйтесь к обсуждению, делитесь демо, задавайте вопросы или сообщайте об ошибках на официальном сервере Discord Zen C! +Приглашаем вас присоединиться к нам на официальном Discord-сервере Zen C! Здесь можно обсуждать проект, делиться примерами, задавать вопросы и сообщать об ошибках. - Discord: [Присоединиться](https://discord.com/invite/q6wEsCmkJP) @@ -122,10 +122,10 @@ sudo make install ``` ### Портативная сборка (APE) -Zen C может быть скомпилирован как **Actually Portable Executable (APE)** с использованием [Cosmopolitan Libc](https://github.com/jart/cosmopolitan). Это создаёт один двоичный файл (`.com`), который работает нативно на Linux, macOS, Windows, FreeBSD, OpenBSD и NetBSD на архитектурах x86_64 и aarch64. +Zen C можно скомпилировать как **Actually Portable Executable (APE)** с помощью [Cosmopolitan Libc](https://github.com/jart/cosmopolitan). Это создаёт один исполняемый файл (`.com`), работающий нативно на Linux, macOS, Windows, FreeBSD, OpenBSD и NetBSD на архитектурах x86_64 и aarch64. -**Перед этим:** -- Набор инструментов `cosmocc` (должен быть в вашем PATH) +**Требования:** +- Набор инструментов `cosmocc` (должен быть в PATH) **Сборка и установка:** ```bash @@ -133,30 +133,30 @@ make ape sudo env "PATH=$PATH" make install-ape ``` -**Артефакты:** -- `out/bin/zc.com`: Портативный компилятор Zen-C. Включает стандартную библиотеку встроенную в исполняемый файл. -- `out/bin/zc-boot.com`: Самостоятельный инсталлятор начальной загрузки для установки новых проектов Zen-C. +**Созданные файлы:** +- `out/bin/zc.com`: Портативный компилятор Zen-C с встроенной стандартной библиотекой. +- `out/bin/zc-boot.com`: Установщик для создания новых проектов Zen-C. **Использование:** ```bash -# Запустите на любой поддерживаемой ОС +# Запустить на любой поддерживаемой ОС ./out/bin/zc.com build hello.zc -o hello ``` ### Использование ```bash -# Компиляция и запуск +# Компилировать и запустить zc run hello.zc -# Исполняемый файл +# Создать исполняемый файл zc build hello.zc -o hello -# Shell оболочка +# Интерактивная оболочка zc repl ``` ### Переменные окружения -Вы можете установить `ZC_ROOT` для указания расположения Стандартной библиотеки (стандартные импорты по типу `import "std/vec.zc"`). Это позволяет вам запускать `zc` из любого каталога. +Установите `ZC_ROOT` для указания пути к стандартной библиотеке (для импортов типа `import "std/vec.zc"`). Это позволяет запускать `zc` из любого каталога. ```bash export ZC_ROOT=/path/to/Zen-C ``` @@ -176,7 +176,7 @@ let buffer: char[MAX_SIZE]; // Допустимый размер массива #### Переменные (`let`) Расположения в памяти. Могут быть изменяемыми или только для чтения (`const`). ```zc -let x = 10; // Изменяемая +let x = 10; // Переменная x = 20; // ОК let y: const int = 10; // Только для чтения (квалификатор типа) @@ -776,7 +776,7 @@ impl Drop for Resource { } ``` -> **Примечание:** Если переменная перемещена, `drop` **не** вызывается для исходной переменной. Это подчиняется [Семантике ресурсов](#семантика-ресурсов-move-по-умолчанию). +> **Примечание**: Если переменная перемещена, `drop` не вызывается для оригинала. Подробнее в [семантике ресурсов](#семантика-ресурсов-move-по-умолчанию). **Copy** @@ -1090,7 +1090,7 @@ fn main() { ... } Zen C предлагает два способа взаимодействия с кодом Си: **Доверительные импорты** (Удобно) и **Явный FFI** (Безопасно/Точно). -#### Метод 1: Доверительные импорты (Удобно) +#### Способ 1: Импорт заголовков Вы можете импортировать заголовок Си напрямую, используя ключевое слово `import` с расширением `.h`. Это рассматривает заголовок как модуль и предполагает, что все доступные символы существуют. @@ -1104,8 +1104,8 @@ fn main() { } ``` -> **Преимущества**: Нулевые накладные расходы. Получите доступ ко всему в заголовке сразу. -> **Недостатки**: Никакой безопасности типов от Zen C (ошибки перехватываются позже компилятором Си). +> **Плюсы**: Просто и быстро. +> **Минусы**: Нет проверки типов со стороны Zen C (ошибки перехватываются пизже компилятором Си). #### Метод 2: Явный FFI (Безопасно) @@ -1122,10 +1122,10 @@ fn main() { } ``` -> **Преимущества**: Zen C гарантирует совпадение типов. -> **Недостатки**: Требует ручного объявления функций. +> **Плюсы**: Zen C гарантирует совпадение типов. +> **Минусы**: Нужно писать сигнатуры. -#### `import` vs `include` +#### Разница между `import` и `include` - **`import "file.h"`**: Регистрирует заголовок как именованный модуль. Включает неявный доступ к символам (например, `file::function()`). - **`include <file.h>`**: Просто выводит `#include <file.h>` в сгенерированный код C. Не вводит никаких символов в компилятор Zen C; вы должны использовать `extern fn` для их доступа. @@ -1174,7 +1174,7 @@ Zen C предоставляет встроенный языковой серв * **Нахождения ссылок** * **Информация при наведении** * **Автозаполнения:** (имена функций/структур, dot-дополнение для методов/полей) -* **Символы документа** (оутлайн) +* **Символы документа** (outline) * **Справка для сигнатур** * **Диагностика** (ошибки синтаксиса/семантики) @@ -1389,7 +1389,7 @@ let tid = local_id(); ### Поддержка C23 -Zen C поддерживает современные функции C23 при использовании совместимого компилятора бэкенда (GCC 14+, Clang 14+, TCC (частичная)). +Zen C поддерживает современные функции стандарта C23 при использовании совместимого компилятора бэкенда (GCC 14+, Clang 14+, TCC (частичная)). - **`auto`**: Zen C автоматически отображает вывод типов на стандартный C23 `auto`, если `__STDC_VERSION__ >= 202300L`. - **`_BitInt(N)`**: Используйте типы `iN` и `uN` (например, `i256`, `u12`, `i24`) для доступа к целым числам произвольной ширины C23. |
