[ANN] Freecell Solver will be rewritten in Rust-lang

[ANN] Freecell Solver will be rewritten in Rust-lang

Shachar Shemesh shachar at shemesh.biz
Mon Apr 2 07:50:51 IDT 2018


 

As far as I can tell, programmers who want to program large projects
that are latency sensitive have only choices for programming language: 

C++ (the default)
D (if you're really careful)
Rust 

(No, I do not consider C a suitable language for large scale projects,
latency sensitive or otherwise). 

(I would have put ObjectiveC on this list had anyone been willing to
program it for anything other than iOS apps). 

To me, taking a project and translating it to a language I want to learn
makes perfect sense, as that's the only way to really learn a new
language. As such, even in retrospect, I find nothing outrageous about
Shlomi's announcement. 

On 02/04/2018 02:07, Steve Litt wrote: 

> On Sun, 1 Apr 2018 20:14:58 +0300
> Shlomi Fish <shlomif at gmail.com> wrote:
> Hi Shlomi, There's a boatload of new computer languages on the scene today. Which languages did you consider before picking Rust? I only considered Rust because it does not have any conceivable competition for my needs. Regards, -- Shlomi P.S: note the date.

LOL, OK Shlomi, you got me.

I was especially susceptible to this particular 4/1'ism because making
a smartened backtracking algorithm in an arcane language is something
*I* would do :-).

I don't think calling Rust "arcane" does it justice. Firefox is hardly a
niche program, and the FF developers credit much of the performance leap
it has done recently to the rewrite to Rust. 

Of the list above, Rust is the only one I do not know. My introduction
to Rust was through working with D over the past four years. That has
been a mixed bag, with some really great stuff and other stuff that was
downright horrible. In complaining about it, I actually started
fantasizing about starting my own programming language, to be called
Practical ("I program a Practical programming language".
http://practical.pl was already taken, unfortunately). 

But then I found out that whenever I said "In Practical, so and so", the
answer would be "That's the way it is in Rust". 

Now, I don't have any project that is a good fit for porting to Rust.
Rsyncrypto has been out of active maintenance for too long, and
fakeroot-ng does too many dodgy things to make Rust practical (pun
intended). With that in mind, I think calling it "arcane" is simply
incorrect. 

Rust is attempting to make compile-time guarantees about memory safety.
That is an interesting concept, but I cannot make informed jugment about
how it works in practice without actually writing something substantial
in the language. There are too many things you do not see until you
actually break your teeth on a language. 

Granted, freecell solver is _not_ a latency sensitive program, and the
advantages of porting it to Rust over, say, Go or Java, are less
distinct. Then again, rsyncrypto is not a latency sensitive program
either (fakeroot-ng is, BTW), and I'd do it just to gain another tool in
my tool belt. 

So even with the hindsight, I still don't find Shlomi's announcement far
fetched. 

Shachar 
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.cs.huji.ac.il/pipermail/linux-il/attachments/20180402/57f29207/attachment-0001.html>


More information about the Linux-il mailing list