comp.lang.ada
 help / color / mirror / Atom feed
From: "Hadrien G." <knights_of_ni@gmx.com>
Subject: Re: Writing Linux Kernel Modules in Ada
Date: Sat, 29 Oct 2016 16:11:05 +0200
Date: 2016-10-29T16:11:05+02:00	[thread overview]
Message-ID: <nv2alo$vhh$1@gioia.aioe.org> (raw)
In-Reply-To: nv10up$fed$1@dont-email.me

Le 29/10/2016 à 04:19, Coyo T Stormcaller a écrit :
> artium@nihamkin.com wrote:
>
>> I am experimenting with writing Linux kernel modules in Ada and document
>> my attempts.
>>
>> Thought some here would be interested to read about this:
>>
>> http://www.nihamkin.com/2016/11/23/writing-linux-modules-in-ada-part-1/
>>
>> https://github.com/alkhimey/Ada_Kernel_Module_Toolkit
>>
>>
>> Any kind of criticism is welcomed.
>
> This is a fascinating concept. It would make sense, given how security and
> stability focused Ada is. I wonder how Ada and Rust would compare on various
> aspects.
>

I would say that Rust is a relatively recent newcomer in the large 
family of languages that try to remain C-like while addressing the main 
flaws of C and C++, and bringing a couple of nice functional features 
from ML along the way, whereas Ada has a more original take on language 
design.

For an example, consider integer types. In Rust, you are expected to use 
signed or unsigned integer types with power-of-2 sizes ranging from 8 
bits to 64 bits. To a C99/C++11 developer, that's nothing new: they 
essentially took the sized int types from stdint.h and made them the 
default because they are much more portable than the legacy 
short/int/long trio.

In contrast, Ada tried to go further by decoupling the interface of 
integers from their implementation. When you define an integer type in 
Ada, you specify its range and leave it up to the implementation to 
decide which machine type will be used. This design leaves more room for 
hardware-specific compiler optimizations, like C's legacy short/int/long 
types, while still remaining perfectly portable.

Cheers,
Hadrien

  reply	other threads:[~2016-10-29 14:11 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-23 13:49 Writing Linux Kernel Modules in Ada artium
2016-10-24 11:12 ` Brian Drummond
2016-10-29  2:19 ` Coyo T Stormcaller
2016-10-29 14:11   ` Hadrien G. [this message]
2016-10-29 20:16     ` Simon Clubley
2016-10-29 21:12       ` Coyo T Stormcaller
2016-10-29 21:25         ` Simon Clubley
2016-10-29 22:09           ` Dennis Lee Bieber
2016-10-29 22:48             ` Simon Clubley
2016-11-05 22:31               ` artium
2016-11-06  9:39                 ` Simon Wright
2016-11-19 18:15             ` Dirk Heinrichs
2016-12-21 14:47               ` Lucretia
2016-10-29 22:54           ` Jeffrey R. Carter
2016-10-29 21:09     ` Coyo T Stormcaller
replies disabled

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