Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Предисловие

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

Возьмите, например, работу «системного уровня», которая имеет дело с низкоуровневыми деталями управления памятью, представления данных и конкурентности. Традиционно эта область программирования считается arcane, доступной лишь избранным, посвятившим годы изучению, чтобы избежать её печально известных подводных камней. И даже те, кто ею занимается, делают это с осторожностью, чтобы их код не стал уязвимым для эксплойтов, сбоев или повреждений.

Rust ломает эти барьеры, устраняя старые подводные камни и предоставляя дружественный, отполированный набор инструментов, чтобы помочь вам в этом пути. Программисты, которым нужно «погружаться» в низкоуровневый контроль, могут делать это с Rust, не беря на себя обычные риски сбоев или уязвимостей безопасности и не вынуждены изучать тонкости капризного инструментария. Более того, язык разработан так, чтобы естественно направлять вас к надёжному коду, эффективному по скорости и использованию памяти.

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

Но Rust не ограничивается низкоуровневым системным программированием. Он достаточно выразителен и эргономичен, чтобы создавать CLI-приложения, веб-серверы и многие другие виды кода — вы найдёте простые примеры обоих позже в книге. Работа с Rust позволяет вам развивать навыки, которые переносятся из одной области в другую; вы можете выучить Rust, написав веб-приложение, а затем применить эти же навыки для целевой платформы, такой как Raspberry Pi.

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

— Николас Матсакис и Аарон Турон