From 435481ace751146dfe2bdd5677e43331fbac184b Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Wed, 15 May 2019 16:40:41 +0100 Subject: [PATCH] done script roughly --- talk.txt | 44 ++++++++++++++++++++++++++++++-------------- 1 file changed, 30 insertions(+), 14 deletions(-) diff --git a/talk.txt b/talk.txt index fa3aa7b..cdf8f6b 100644 --- a/talk.txt +++ b/talk.txt @@ -1,10 +1,20 @@ -In many respects Rust is a competent but not particularly novel -language. +Hi. This talk is going to be, mostly, a plug for Rust. -Powerful. +Those of you who know me may find this surprising. After all Rust in +its current form is only about 4 years old, and I myself only learned +it in December. I'm not known for liking new things :-). All I can +say is that I tried it and have been impressed. -Reference to Blub languages. +In most respects Rust is a competent but not particularly novel +language. It has one novel feature, but the rest feels like a +collation of good and established features from other competent +languages. + +Rust is most often seen as a competitor to C and C++. That's fair as +far as it goes: certainly there are few reasons to use C or C++ over +Rust for an entirely new project. But for me, Rust's power and +flexibility mean its appeal is much wider than that. B======================================================================B @@ -157,10 +167,11 @@ Convenience is not regarded as the enemy of correctness, but its ally. [ slide with interface stability ] -The Rust project is quite careful about language and library -stability. They make a clear distinction between stable and unstable -features, and try quite hard to avoid backward-incompatible changes to -anything which has been declared as stable. +Since declaring 1.0 in 2015, the Rust project has been quite careful +about language and library stability. They make a clear distinction +between stable and unstable features, and try quite hard to avoid +backward-incompatible changes to anything which has been declared as +stable. [ slide with error message ] @@ -235,12 +246,17 @@ in the same personal project. Some of my recent forays into Rust have involved switching between Rust and C++ and Perl. This kind of thing throws differences between languages into sharp relief. -Rust is now my language of choice for many nontrivial programs. I'll -probably still use Perl for small programs with a lot of string -processing, and of course I often end up choosing a language for a -project based on the availability of good libraries in the problem -domain. I don't think I would now want to start a new project in C or -C++. +Rust is now my language of choice for many nontrivial programs. +Certainly I would try to avoid starting a new program in C or C++. + +Rust's compile-time type checking and its performance can make it an +attractive alternative to scripting languages like Python, Perl and +Tcl. Its macro system, and consistent high performance, can make it +an attractive alternative to Haskell or Ocaml. + +I'll still start new programs in many of those other languages, and +often I choose a language for its libraries. But for me Rust will +now often be my preferred choice, if I can get away with it. If you want to know more, there's a wealth of stuff online. The place to start is probably https://docs.rust-lang.org/. And of course I'd -- 2.30.2