comp.lang.ada
 help / color / mirror / Atom feed
From: "Luke A. Guest" <laguest@archeia.com>
Subject: Re: Adacore joins with Ferrous Systems to support Rust
Date: Thu, 3 Feb 2022 02:52:25 +0000	[thread overview]
Message-ID: <stfg0v$1luk$1@gioia.aioe.org> (raw)
In-Reply-To: 8735l0zo6j.fsf@nightsong.com

On 03/02/2022 02:20, Paul Rubin wrote:
> "Luke A. Guest" <laguest@archeia.com> writes:
>> [Ada vs Rust] Er, try learning both and you'll see?
> 
> It's a big effort to become expert at either, let alone both.  Basic or
> superficial knowledge isn't helpful for such comparisons.  I've read

You don't need to learn both languages inside and out. You pick a 
project and implement it in both languages, that project has to be 
specific to what you are wanting to know about whether it's binding or 
tasking or whatever, Ultimately with Ada, you can get by knowing the Ada 
subset and the representation clauses and do most of what you need to do 
to compare to another language, obviously if you want to compare 
tasking, you need to go further.

> "Ada Distilled" (Ada 95 version) but still have no clue understanding
> most of the Ada discussions in this newsgroup, so there is a big gap
> between basic and advanced knowledge of Ada.

Learn the basic part, it's equivalent to Pascal with proper type ranges, 
Pascal only has subtypes iirc. That's the main part of the RM, no 
annexes, you can do without access and tagged/controlled types to start 
with. At uni, we didn't even touch on tagged types, but used controlled 
types, it is possible.

>>> system really is more precise than Ada's in general, although it doesn't
>> How is it?
> 
>  From what I've heard, Rust's type system is similar to Haskell's.
> Haskell's type system can verify stuff just by typechecking, that might

So it's no different than a C++ compiler checking against classes or a 
variant of C with strong typing? Still no ranges, subranges, ranges with 
holes in, etc. This is where the power is.

> be doable in Ada using SPARK and maybe an external proof assistant, but
> not with just types.  Example: a red-black tree using Haskell GADT's
> (Generalized Algebraic Data Types):
> 
> https://www.reddit.com/r/haskell/comments/ti5il/redblack_trees_in_haskell_using_gadts_existential/

I don't know Haskell. Uni did a shit job at teaching functional, and 
logic languages.

>> Ada's ahead in most things.
> 
> Idk, I'd like to know more.  I've never done anything serious in Ada and
> nothing at all in Rust, but C++ seems a lot more fluid than Ada, and
> Rust is supposed to compare well with C++.  C++ of course is terrible in
> terms of reliability but I'm only referring to the effort needed to bang
> out a chunk of code.

1. What do you want to do?
2. Come into #Ada and get help.
3. Rewrite it in Rust.
4. Ada is comparable to C++.
   4a. Ada > C++ in many ways.

  reply	other threads:[~2022-02-03  2:52 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-02  8:57 Adacore joins with Ferrous Systems to support Rust Paul Rubin
2022-02-02 13:04 ` Luke A. Guest
2022-02-02 15:29   ` Marius Amado-Alves
2022-02-02 16:36     ` Luke A. Guest
2022-02-04 17:51       ` Stephen Leake
2022-04-18 16:01       ` Rene
2022-02-02 20:07     ` G.B.
2022-02-03 23:29     ` John McCabe
2022-02-11 17:40     ` amo...@unizar.es
2022-02-11 19:24       ` Luke A. Guest
2022-02-12 17:34         ` Alejandro R. Mosteo
2022-02-12  5:22       ` John Perry
2022-02-12 10:08         ` Marius Amado-Alves
2022-02-12 18:24         ` Alejandro R. Mosteo
2022-02-13  8:10           ` J-P. Rosen
2022-02-14 23:25           ` Randy Brukardt
2022-02-15  4:29             ` Paul Rubin
2022-02-12 23:59         ` John Perry
2022-02-18 13:24     ` Kevin Chadwick
2022-02-02 20:06   ` Paul Rubin
2022-02-03  1:34     ` Luke A. Guest
2022-02-03  2:20       ` Paul Rubin
2022-02-03  2:52         ` Luke A. Guest [this message]
2022-02-03  4:22           ` Paul Rubin
2022-02-03  9:54             ` Björn Lundin
2022-02-04  3:38             ` Randy Brukardt
2022-02-04  5:19               ` Paul Rubin
2022-02-03 11:30           ` Simon Wright
2022-02-03 12:51             ` Luke A. Guest
2022-02-04  3:20               ` Randy Brukardt
2022-02-04 10:28                 ` Luke A. Guest
2022-02-04 17:51                   ` Andreas ZEURCHER
2022-02-05  4:31                   ` Randy Brukardt
2022-02-02 16:19 ` Stephen Leake
2022-02-02 18:48 ` Gautier write-only address
2022-02-02 20:03   ` Paul Rubin
2022-02-02 20:45     ` Dennis Lee Bieber
2022-02-12  4:42 ` 25.BZ943
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox