Ada has some excellent GENERICs, you can use them to great effect for reducing code-size.
I'd recommend ASN.1 for almost everything that XML is used for. Unfortunately, is a [semi-] human-readable file is in your list of 'needs', then that is "mostly" ruled out. (So, what you could do is use the XML-encoding…
Why is that? I find Ada much nicer than the C-languages when it comes to arrays: A'Range, A'Length, A'First, and A'Last are super-useful, as is the unconstrained array. You can even use unconstrained arrays to provide…
Both are, IMO, inferior to Ada's TASK construct.
I read about a VHDL that used DIANA. DIANA was an IR in some Ada compilers; I would imagine that such a common IR would facilitate exactly those test benches with an ease that borders on 'ludicrous'.
Found the link: https://github.com/ada-game-framework
I'm pretty sure you can get the new crate-system to grab/make you a working build. https://alire.ada.dev/
Ok, so the Form parameter is implementation defined; this was to allow the implementations the 'wriggle room' to interface with the host-system. For GNAT, these two pieces of documentation are instructive:…
It's actually really great for anything where you want to be more safe/correct, like banking... and the `TASK` construct makes it really nice for naturally multitasking situations. A couple of the people in the…
Yep. And sometimes it's hype over the weirdest things... a good example "dependency injection". Generic Type Index is (<>); -- Any discrete type. Type Element is limited private; -- Any non-discriminated type. Type…
To be fair, the file-handling is probably the 'crustiest' part of the standard library. (To use the posix-flags, you use the Form parameter.) The best way to use Ada, IMO, is type-first: you define your problem-space in…
> I suspect, though, that memory safety is one of the most important kinds of safety. I don't. It seems to me like "memory-safety" is a response to the legacy of C and "C-compatibility) WRT poor behavior/respect of…
> The tool would have to be pretty damn good. And also not introduce business risk or at the very least a minimal business risk. That is actually quite possible. Ada is in a really good place as far as that goes:…
Memory management in Ada is such that you need pointers (and the heap) far, far less than in other languages: the language allows the return of values to objects of unconstrained subtypes to provide the constraints;…
Honestly, Ada fits a LOT of that bill. The type-system and forced spec/implementation split both work well to catch errors; you can go further with SPARK [proving] and using Pre- and Post-conditions, type-invariants.
If you want that same GUI/RAD style, Delphi is still around.
The items "A serious take on a contract-based language" & "A language with semantic relations" are covered pretty nicely by Ada's SPARK subset/tools... and the really great thing is that the "aspects" are part of the…
Look at Ada and its error-messages.
> The C language also has a stable ABI, which is basically the ffi for most languages, C is honestly terrible to target/use as FFI, doing so precludes doing things correctly, or more advanced things like... say arrays…
Look into "SeedForth".
You are right; it's because the "modern" CI/CD is ill-designed, thanks in part to being "generalized" to handle text and "generalized" tools like C compilers and makefiles... instead of, you know, working in the actual…
> I imagine COBOL is similarly stable but I have no experience there. I haven't programmed in COBOL, but it is quite stable. One of the really nice things in COBOL is the "Environment Division", which has a…
> Having separate module interface and module body files, as in Ada or Modula-2/3, is a great idea that sadly a lot of people are burnt out on because C and C++ do this in a very unprincipled way. > Having a terse…
>I guess another way to put this is, "Can a non-trivial project be developed in modern Ada without using Unchecked_Dealloation?" Because I don't see how I can consider a library safe if it is allowed to call…
>My comment for too many years is that C/C++ fails to deal with three issues: "How big is it", "Who owns it", and "Who locks it". Ada has is pretty good at dealing with all three of these, TBH. "How big is it" — Given…
Ada has some excellent GENERICs, you can use them to great effect for reducing code-size.
I'd recommend ASN.1 for almost everything that XML is used for. Unfortunately, is a [semi-] human-readable file is in your list of 'needs', then that is "mostly" ruled out. (So, what you could do is use the XML-encoding…
Why is that? I find Ada much nicer than the C-languages when it comes to arrays: A'Range, A'Length, A'First, and A'Last are super-useful, as is the unconstrained array. You can even use unconstrained arrays to provide…
Both are, IMO, inferior to Ada's TASK construct.
I read about a VHDL that used DIANA. DIANA was an IR in some Ada compilers; I would imagine that such a common IR would facilitate exactly those test benches with an ease that borders on 'ludicrous'.
Found the link: https://github.com/ada-game-framework
I'm pretty sure you can get the new crate-system to grab/make you a working build. https://alire.ada.dev/
Ok, so the Form parameter is implementation defined; this was to allow the implementations the 'wriggle room' to interface with the host-system. For GNAT, these two pieces of documentation are instructive:…
It's actually really great for anything where you want to be more safe/correct, like banking... and the `TASK` construct makes it really nice for naturally multitasking situations. A couple of the people in the…
Yep. And sometimes it's hype over the weirdest things... a good example "dependency injection". Generic Type Index is (<>); -- Any discrete type. Type Element is limited private; -- Any non-discriminated type. Type…
To be fair, the file-handling is probably the 'crustiest' part of the standard library. (To use the posix-flags, you use the Form parameter.) The best way to use Ada, IMO, is type-first: you define your problem-space in…
> I suspect, though, that memory safety is one of the most important kinds of safety. I don't. It seems to me like "memory-safety" is a response to the legacy of C and "C-compatibility) WRT poor behavior/respect of…
> The tool would have to be pretty damn good. And also not introduce business risk or at the very least a minimal business risk. That is actually quite possible. Ada is in a really good place as far as that goes:…
Memory management in Ada is such that you need pointers (and the heap) far, far less than in other languages: the language allows the return of values to objects of unconstrained subtypes to provide the constraints;…
Honestly, Ada fits a LOT of that bill. The type-system and forced spec/implementation split both work well to catch errors; you can go further with SPARK [proving] and using Pre- and Post-conditions, type-invariants.
If you want that same GUI/RAD style, Delphi is still around.
The items "A serious take on a contract-based language" & "A language with semantic relations" are covered pretty nicely by Ada's SPARK subset/tools... and the really great thing is that the "aspects" are part of the…
Look at Ada and its error-messages.
> The C language also has a stable ABI, which is basically the ffi for most languages, C is honestly terrible to target/use as FFI, doing so precludes doing things correctly, or more advanced things like... say arrays…
Look into "SeedForth".
You are right; it's because the "modern" CI/CD is ill-designed, thanks in part to being "generalized" to handle text and "generalized" tools like C compilers and makefiles... instead of, you know, working in the actual…
> I imagine COBOL is similarly stable but I have no experience there. I haven't programmed in COBOL, but it is quite stable. One of the really nice things in COBOL is the "Environment Division", which has a…
> Having separate module interface and module body files, as in Ada or Modula-2/3, is a great idea that sadly a lot of people are burnt out on because C and C++ do this in a very unprincipled way. > Having a terse…
>I guess another way to put this is, "Can a non-trivial project be developed in modern Ada without using Unchecked_Dealloation?" Because I don't see how I can consider a library safe if it is allowed to call…
>My comment for too many years is that C/C++ fails to deal with three issues: "How big is it", "Who owns it", and "Who locks it". Ada has is pretty good at dealing with all three of these, TBH. "How big is it" — Given…