Компилируемые языки программирования

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

Compilers: Clang, GCC, Rustc, GHC (Haskell). Characteristics: 1. High Performance. 2. Low-level Hardware Access. 3. Strong Static Typing. 4. Binary Portability (requires recompilation for different CPUs). Contrasted with: Interpreted Languages (Python, Ruby) and Bytecode/JIT Languages (Java, C#).

        graph LR
  Center["Компилируемые языки программирования"]:::main
  Rel_non_custodial["non-custodial"]:::related -.-> Center
  click Rel_non_custodial "/terms/non-custodial"
  Rel_crypto_wallet["crypto-wallet"]:::related -.-> Center
  click Rel_crypto_wallet "/terms/crypto-wallet"
  Rel_multisig_wallet["multisig-wallet"]:::related -.-> Center
  click Rel_multisig_wallet "/terms/multisig-wallet"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧒 Простыми словами

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

🤓 Expert Deep Dive

Для разработчиков важен выбор между статической и динамической линковкой. В компилируемых языках часто используется 'LLVM Infrastructure' — модульный набор инструментов, который позволяет легко адаптировать язык под новые архитектуры чипов (например, с x86 на Apple M1). В блокчейн-разработке Rust стал стандартом для написания смарт-контрактов (Solana, Polkadot) именно благодаря комбинации высокой производительности и безопасности, которую обеспечивает его компилятор.

📚 Источники