about
Rust Glossary
12/12/2022
Bits Glossary
common terms
Bits Index
Term | Definition |
---|---|
Block-Structured |
Code composed of blocks delineated with braces or indentations. Each block creates a stackframe
for allocation of local resources when thread of execution ebters and disposes on exit.
Examples: Algol, C, C++, Rust, C#, Java, Python, JavaScript, ... |
C++ Programming language |
Statically typed, imperative, object-oriented language with templates and standard temple library.
Compiles to native code, is fast, expects programmers to understand the consequences of every line
of code they write.
Is powerful, complex, has many context dependencies and many paths to undefined behavior. |
C# Programming language |
Statically typed, imperative, object-oriented, managed language with generics and run-time reflection.
Compiles to Common Intermediate Language bytecode, runs in the Common Language Runtime
virtual machine.
Has three distince type categories: Value, Reference, and Dynamic types with very different semantics for each. |
Dynamically typed |
Types of variables are determined at run-time by binding
to data.
Examples: Elixir, R, JavaScript, Python, Perl, Erlang, MATLAB |
Imperative |
Source code describes steps to execute.
Examples: Algol, C, C++, Rust, C#, Java, Python, JavaScript, ... |
JavaScript programming language |
Dynamically typed, managed, imperative language with prototype chains.
Interpreted and executed in a single threaded virtual machine with message queue
and stack of function frames.
Code syntax is simple, subject to run-time exceptions for definition errors that are only detected at run-time when expressions cannot be evaluated. Failures tend to be silent. |
Managed language |
Compiles to bitecode that is translated for hosting in a virtual machine. Usually uses
garbage collection and may support reflection.
Examples: TypeScript, Elixir, Clojure, C#, JavaScript, Java, Python, Erlang |
Python programming language |
Dynamically typed, imperative, managed language with Abstract Base Classes.
Translated to code blocks and interpreted, has simple syntax with indented blocks.
Code syntax is simple, subject to run-time exceptions for definition errors that are only detected at run-time when expressions cannot be evaluated. |
Rust programming language |
Statically typed, imperative language with traits and generics.
Compiles to native code, is fast, has memory and thread safety by contract.
Code syntax clearly describes processing on machine hardware. "What you write is what you get" |
Tooling |
Code editors, compilers, interpreters, package managers, debuggers, version control, deployment
Examples: Visual Studio, VS Code, Vim, MSBuild, gcc, clang, Cargo, npm, lldb, git |