Use named footnotes
This commit is contained in:
parent
72b4170f1a
commit
dbd8ffed35
1 changed files with 18 additions and 18 deletions
|
@ -31,7 +31,7 @@
|
||||||
** Abstract
|
** Abstract
|
||||||
#+BEGIN_CENTER
|
#+BEGIN_CENTER
|
||||||
#+LaTeX:\includegraphics[width = 0.5\textwidth]{img/Bruine_roest_op_tarwe_(Puccinia_recondita_f.sp._tritici_on_Triticum_aestivum).jpg}
|
#+LaTeX:\includegraphics[width = 0.5\textwidth]{img/Bruine_roest_op_tarwe_(Puccinia_recondita_f.sp._tritici_on_Triticum_aestivum).jpg}
|
||||||
[fn:1]
|
[fn:rust_fungus]
|
||||||
#+END_CENTER
|
#+END_CENTER
|
||||||
|
|
||||||
*** Rust, the language
|
*** Rust, the language
|
||||||
|
@ -43,7 +43,7 @@
|
||||||
of idiomatic C++
|
of idiomatic C++
|
||||||
- A well designed language and ecosystem
|
- A well designed language and ecosystem
|
||||||
|
|
||||||
** Strengths and Weaknesses[fn:2]
|
** Strengths and Weaknesses[fn:strengths]
|
||||||
*** Things Rust does measurably really well (Strengths)
|
*** Things Rust does measurably really well (Strengths)
|
||||||
- Compiled code [[https://benchmarksgame-team.pages.debian.net/benchmarksgame/which-programs-are-fastest.html][about same performance as C / C++]], and excellent
|
- Compiled code [[https://benchmarksgame-team.pages.debian.net/benchmarksgame/which-programs-are-fastest.html][about same performance as C / C++]], and excellent
|
||||||
[[https://dl.acm.org/doi/10.1145/3136014.3136031][memory and energy efficiency]].
|
[[https://dl.acm.org/doi/10.1145/3136014.3136031][memory and energy efficiency]].
|
||||||
|
@ -52,28 +52,28 @@
|
||||||
- Strong type system prevents [[https://doc.rust-lang.org/nomicon/races.html][data races]], brings [[https://blog.rust-lang.org/2015/04/10/Fearless-Concurrency.html]['fearless
|
- Strong type system prevents [[https://doc.rust-lang.org/nomicon/races.html][data races]], brings [[https://blog.rust-lang.org/2015/04/10/Fearless-Concurrency.html]['fearless
|
||||||
concurrency']] (amongst others).
|
concurrency']] (amongst others).
|
||||||
- Seamless C interop, and [[https://doc.rust-lang.org/rustc/platform-support.html][dozens of supported platforms]] (based on
|
- Seamless C interop, and [[https://doc.rust-lang.org/rustc/platform-support.html][dozens of supported platforms]] (based on
|
||||||
LLVM).[fn:4]
|
LLVM).[fn:gcc]
|
||||||
- [[https://insights.stackoverflow.com/survey/2021#technology-most-loved-dreaded-and-wanted]["Most loved language"]] for 6 years in a row.
|
- [[https://insights.stackoverflow.com/survey/2021#technology-most-loved-dreaded-and-wanted]["Most loved language"]] for 6 years in a row.
|
||||||
- Modern tooling: ~cargo~ (builds just work), ~clippy~ (450+ code
|
- Modern tooling: ~cargo~ (builds just work), ~clippy~ (450+ code
|
||||||
quality lints), ~rustup~ (easy toolchain management).
|
quality lints), ~rustup~ (easy toolchain management).
|
||||||
|
|
||||||
** Strengths and Weaknesses[fn:3]
|
** Strengths and Weaknesses[fn:weaknesses]
|
||||||
*** Points you might run into (Weaknesses)
|
*** Points you might run into (Weaknesses)
|
||||||
- Steep learning curve[fn:5] compiler enforcing (esp. memory)
|
- Steep learning curve[fn:survey] compiler enforcing (esp. memory)
|
||||||
rules that would be "best practices" elsewhere.
|
rules that would be "best practices" elsewhere.
|
||||||
- Missing Rust-native libs in some domains, target platforms
|
- Missing Rust-native libs in some domains, target platforms
|
||||||
(esp. embedded), IDE features.[fn:5]
|
(esp. embedded), IDE features.[fn:survey]
|
||||||
- Longer compile times than "similar" code in other
|
- Longer compile times than "similar" code in other
|
||||||
languages.[fn:5][fn:6]
|
languages.[fn:survey][fn:compiler_speed]
|
||||||
- No formal language specification, can prevent legal use in some
|
- No formal language specification, can prevent legal use in some
|
||||||
domains (aviation, medical, ...).[fn:7]
|
domains (aviation, medical, ...).[fn:specification]
|
||||||
- Careless (use of ~unsafe~ in) libraries can secretly break
|
- Careless (use of ~unsafe~ in) libraries can secretly break
|
||||||
safety guarantees.
|
safety guarantees.
|
||||||
|
|
||||||
** Problems and security Rust tries to conquer
|
** Problems and security Rust tries to conquer
|
||||||
#+BEGIN_CENTER
|
#+BEGIN_CENTER
|
||||||
#+LaTeX:\includegraphics[width = 0.8\textwidth]{img/compiler_complaint.png}
|
#+LaTeX:\includegraphics[width = 0.8\textwidth]{img/compiler_complaint.png}
|
||||||
[fn:8]
|
[fn:xkcd_dangling_pointer]
|
||||||
#+END_CENTER
|
#+END_CENTER
|
||||||
|
|
||||||
- Dangling pointers / memory safety
|
- Dangling pointers / memory safety
|
||||||
|
@ -405,12 +405,12 @@
|
||||||
- esp32
|
- esp32
|
||||||
|
|
||||||
* Footnotes
|
* Footnotes
|
||||||
[fn:1] [[https://commons.wikimedia.org/wiki/File:Bruine_roest_op_tarwe_(Puccinia_recondita_f.sp._tritici_on_Triticum_aestivum).jpg][Wikimedia]]
|
[fn:rust_fungus] [[https://commons.wikimedia.org/wiki/File:Bruine_roest_op_tarwe_(Puccinia_recondita_f.sp._tritici_on_Triticum_aestivum).jpg][Wikimedia]]
|
||||||
[fn:2] Copied list from: [[https://cheats.rs/#tab-hello-3][cheats.rs]].
|
[fn:strengths] Copied list from: [[https://cheats.rs/#tab-hello-3][cheats.rs]].
|
||||||
[fn:3] Copied list from: [[https://cheats.rs/#tab-hello-4][cheats.rs]].
|
[fn:weaknesses] Copied list from: [[https://cheats.rs/#tab-hello-4][cheats.rs]].
|
||||||
[fn:4] Work on GCC: [[https://rust-gcc.github.io/][rust-gcc]] and [[https://news.ycombinator.com/item?id=27775544][gcc rust backend]].
|
[fn:gcc] Work on GCC: [[https://rust-gcc.github.io/][rust-gcc]] and [[https://news.ycombinator.com/item?id=27775544][gcc rust backend]].
|
||||||
[fn:5] [[https://blog.rust-lang.org/2020/04/17/Rust-survey-2019.html#why-not-use-rust][Rust survey]]
|
[fn:survey] [[https://blog.rust-lang.org/2020/04/17/Rust-survey-2019.html#why-not-use-rust][Rust survey]]
|
||||||
[fn:6] [[https://news.ycombinator.com/item?id=23538220][The Rust compiler isn't slow; we are]]
|
[fn:compiler_speed] [[https://news.ycombinator.com/item?id=23538220][The Rust compiler isn't slow; we are]]
|
||||||
[fn:7] [[https://people.mpi-sws.org/%7Ejung/thesis.html][Understanding and Evolving the Rust Programming Language]]
|
[fn:specification] [[https://people.mpi-sws.org/%7Ejung/thesis.html][Understanding and Evolving the Rust Programming Language]]
|
||||||
[fn:8] https://xkcd.com/371/
|
[fn:xkcd_dangling_pointer] [[https://xkcd.com/371/][xkcd.com/371]]
|
||||||
[fn:9] [[https://areweideyet.com/][areweideyet.com]]
|
[fn:areweideyet] [[https://areweideyet.com/][areweideyet.com]]
|
||||||
|
|
Loading…
Reference in a new issue