О Топазе

Философия языка

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

Разберитесь, как принципы Топаза влияют на написание и чтение кода. Ниже каждый принцип связан с обычной задачей программирования.

Показывать способ обработки в коде

Для поиска, который может не найти значение, используйте Option. Для операции, способной вернуть ошибку, используйте Result. С помощью defer можно запланировать очистку при нормальном выходе из области видимости.

Эти формы помогают распознавать отсутствие значения, возвращённые ошибки и очистку без изучения новых соглашений для каждой программы. В разделе Знакомство с Топазом есть полный пример с обработкой ошибок и очисткой.

Для повседневных задач Топаз использует единообразные формы записи. Разработчики и инструменты генерации кода следуют одному синтаксису и одним правилам.

Использовать привычные имена

Имена переменных и функций можно писать на корейском, русском или английском. Команда может сохранить в коде привычные названия данных и задач. Примеры в разделе Знакомство с Топазом объединяют имена на трёх языках в одной программе.

Сохранять поведение на разных платформах

Поддерживаемая программа следует одним правилам при прямом запуске, сборке в нативный исполняемый файл и вызове из браузера. Спецификация языка Топаз (SPEC) определяет значения, порядок вычислений, ошибки и очистку. Реализация может выбирать внутренний способ хранения значений.

Компилятор отклоняет программу, если выбранная платформа не поддерживает необходимое поведение. Если две платформы принимают одну программу, но в одинаковых условиях выполняют её по-разному, это ошибка компилятора. Выбрать результат сборки поможет раздел Интерпретатор и бэкенды.

Развивать язык на основе работающих программ

Компилятор Топаза написан на Топазе, поэтому его разработка задействует язык в большой программе. Приложения и интеграционные тесты Лиспекса также выявляют потребности в работе со строками, коллекциями, файлами, рекурсией и ошибками.

Новая возможность появляется с определённым поведением, работающей реализацией, примерами и документацией. Эти требования связывают развитие языка с кодом, которым могут пользоваться разработчики.

Найти актуальные руководства и историю решений