From: Ian Jackson Date: Wed, 4 Sep 2019 13:54:08 +0000 (+0100) Subject: other problems X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ijackson/git?a=commitdiff_plain;h=19b6fcd75ce790684613e3e8b238ea87f74f6769;p=talk-2019-ghm-rust.git other problems Signed-off-by: Ian Jackson --- diff --git a/Makefile b/Makefile index 0711b43..aeb6f63 100644 --- a/Makefile +++ b/Makefile @@ -26,6 +26,7 @@ SLIDES+= coc-slide SLIDES+= bck-lifetimes SLIDES+= macros SLIDES+= cargo +SLIDES+= otherproblems # F SLIDES+= conclusion diff --git a/arch-1.png b/arch-1.png index 5c74ee5..c4a6bc0 100644 Binary files a/arch-1.png and b/arch-1.png differ diff --git a/arch-2.png b/arch-2.png index 492c204..b798427 100644 Binary files a/arch-2.png and b/arch-2.png differ diff --git a/otherproblems.fig b/otherproblems.fig index 64d858c..5abe496 100644 --- a/otherproblems.fig +++ b/otherproblems.fig @@ -7,21 +7,11 @@ A4 Single -2 1200 2 -2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 - -1350 1125 10800 1125 -2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2 - -1350 5940 10800 5940 -4 0 0 50 -1 2 36 0.0000 4 420 1200 -1350 -1350 Rust\001 -4 0 0 50 -1 2 30 0.0000 4 375 2565 -900 2025 Ian Jackson\001 -4 0 0 50 -1 2 30 0.0000 4 435 11925 -1350 -630 The most exciting new programming language for years\001 -4 0 0 50 -1 2 30 0.0000 4 435 3105 900 90 (what, really?)\001 -4 0 0 50 -1 2 30 0.0000 4 435 5655 0 3870 curmudgeon and pessimist\001 -4 0 0 50 -1 2 30 0.0000 4 435 5400 0 4590 Perl, C, Tcl, Python, bash\001 -4 0 0 50 -1 2 30 0.0000 4 330 2505 -450 3240 Who am I ?\001 -4 0 0 50 -1 2 30 0.0000 4 435 10320 0 5310 some C++, Haskell, Ocaml, asm, JS, Lisp, Java...\001 -4 0 0 60 -1 0 20 0.0000 4 225 2235 8505 6660 CC-BY-SA 4.0+\001 -4 0 0 60 -1 0 20 0.0000 4 300 8715 -1170 6660 Some examples taken from the Rust Book etc, Apache 2.0 / MIT\001 -4 0 0 60 -1 0 20 0.0000 4 300 4785 5895 6300 Copyright Citrix / Ian Jackson 2019\001 -4 0 0 50 -1 2 30 0.0000 4 330 4170 2205 2025 GNU/Citrix/Debian\001 -4 0 0 50 -1 2 30 0.0000 4 435 3435 7245 2565 September 2019\001 -4 0 0 50 -1 2 30 0.0000 4 330 2985 7650 1980 GHM Madrid\001 +2 5 0 1 0 -1 50 -1 -1 0.000 0 0 -1 0 0 5 + 0 arch-1.png + 4770 -2835 11289 -2835 11289 6390 4770 6390 4770 -2835 +2 5 0 1 0 -1 50 -1 -1 0.000 0 0 -1 0 0 5 + 0 arch-2.png + -360 585 4365 585 4365 5535 -360 5535 -360 585 +4 0 0 50 -1 2 30 0.0000 4 435 3510 -1305 -2115 Dynamic linking\001 +4 0 0 50 -1 2 30 0.0000 4 435 4485 -270 45 Architecture support\001 diff --git a/talk.txt b/talk.txt index 39996ab..088d44f 100644 --- a/talk.txt +++ b/talk.txt @@ -250,6 +250,25 @@ are usually based on misunderstandings.) I guess if your project ends up containing piece of opinionated curl-pipe-bash-ware, you should expect a culture which produces these kind of problems. +[ other problems ] + +Rust does not currently readily support dynamic linking between Rust +modules. This is something the Rust community know they need to work +on but it hasn't been their priority. Some of Rusts's language design +choices make this challenging, although not impossible. In particular +the very nice system of generics. Personally I like the tradeoff that +Rust has made here. I expect that some form of dynamic linking or +partial compilation will very likely appear eventually. But in the +meantime there are places where replacing C with Rust is awkward. + +Rust depends on LLVM. So its architecture support for smaller +architectures (with less money behind them) is poor. From my point of +view as a Debian contributor a particular problem is the lack of an +m68k backend for LLVM. But it provides a more general difficulty with +supporting a wide set of embedded architectures, which Rust would +otherwise be very suited to. + + F======================================================================~ [ rust-lang, ian.jackson@ ]