Rust... Why...?

Why you should be coding in Rust

https://github.com/abstecker/why-rust

Key Features to this developer's heart

My Advice on using Rust is...

Don't

JUST DON'T!

WHY?

🙀 It's a Trap!!! 🙀

It is a trap!

Reasons

  • It will make you hate every other language
  • ...

Example 1: Managing Installations

Example 1 cont... (Rust Version)

Example 2: Build Tools

  • C++: Make, CMake, Autotools, Meson, Bazel, Ninja
  • Java: Ant, Maven, Ivy, Gradle, Bazel, SBT
  • Server-side JS: Node.JS, Deno, NPM, Yarn
  • JS: Grunt, Webpack, Parcel, Rollup, Vite, kill me... please...

Example 2 cont... (Rust Version)

Example 3: Linting

  • C/C++: Lint, IntelliSense, Flint, CppLint, CppCheck, clang-tidy
  • JS: ESLint, JSLint
  • etc etc etc

Example 3 cont... (Rust Version)

Example 4: Testing

  • AceUnit, AcuTest, API Sanity Checker, Aeryn, ATF, Bandit, BDD-for-C, Boost Test Library, BugEye, Cantata++, Casmine, Catch, Catch2, CATCH-VC6, Catsrunner, CBDD, cfix, Cgreen, CHEAT, Check, Cmocka, Cmockery, CppUTest, Cput, CPPOCL/test, CppTest, cpptest-lite, CppUnit, CppUnitLite, CPUnit, Criterion, crpcut, CT, CU, CUTE, cutee, CTest, CUnit, CUnit (CUnity Fork), CUnitWin32, CUT, Cutter, CxxTest, doctest, EmbeddedUnit, Embunit, Exercisix, FakeIt, FCTX, Fructose, GLib Testing, Google C++ Mocking Framework, Google Test,

GUnit, Hammocking, Hestia, Hippomocks, Igloo, lcut, lest, libcester, liblittletest, LibU, libunittest, mettle, Microsoft Unit Testing Framework for C++, Mimicc, MinUnit, mock++/mockcpp, mockitopp, mockpp, Mut, Nala, NanoCppUnit, NovaProva, NullUnit, OAKUT, Opmock, Parasoft C/C++test, PicoTest, qc, QtTest, Rexo, SafetyNet, ShortCUT, STRIDE, Symbian OS Unit, TBrun, RCUNIT, Rexo, RTRT, SeaTest, Smarttester, Sput, sTest, STRIDE, LDRA Testbed, Tau, Tessy, TDOG, TestApe, Test Dept.,

Test soon, Testwell CTA++, TF unit test, Theft, tinytest, TPT, tpunit++, Trompeloeil, TUT, Typemock Isolator++, Unit++, unit.hpp, UnitTest++, Unity, upp11, UquoniTest, usfstl, μt, VectorCAST/C, Visual Assert, WinUnit, xTests, xUnit++

Example 4 cont... (Rust Version)

The quantum quandaries of the polyglot programmer

C, C++, Ruby, Python, Perl, Basic, Visual Basic, VBScript, LiveScript, JavaScript, ECMAScript, TypeScript, Go, Scala, Java, Elixir, Erlang, Pascal, C#, F#, Eiffel, Clojure

x languages TIMES y frameworks = I am too old for this ...

The Moral:

Just because a language doesn't, doesn't mean you don't have to.

(How many negatives is this?)

Areas I am Watching

  • WASM
  • Embedded Rust

WASM

Embedded Rust

5 roadblocks to Rust adoption in embedded systems

  • Commercial Support
  • Training Costs
  • Conservative Adoption of Technologies
  • Toolchain Integration
  • Lack of Standardization

Free Books!

Rust YouTube Channels

The World's Simplest Kata

https://github.com/devplaybooks/rust_worlds_simplest_kata

Created by Christoph (@folkengine)

https://github.com/abstecker/why-rust

This is presenter note. You can write down notes through HTML comment.