|
|
Log in / Subscribe / Register

One of the worst UI ever

One of the worst UI ever

Posted Jan 28, 2026 9:44 UTC (Wed) by lmartelli (subscriber, #11755)
In reply to: One of the worst UI ever by cyperpunks
Parent article: A critical GnuPG security update

GnuPG was first released 1997-12-20 (see https://www.gnupg.org/download/release_notes.html), when C/C++ was the obvious/default choice to start any software project like this.


to post comments

One of the worst UI ever

Posted Jan 28, 2026 15:39 UTC (Wed) by Heretic_Blacksheep (subscriber, #169992) [Link] (3 responses)

But not the only choice in 1997. There were better languages and tooling even in 1997 like Ada, but tribal/religious arguments poopooed them similar to the nasty back and forth between C zealots and other systems oriented languages today.

One of the worst UI ever

Posted Jan 28, 2026 16:01 UTC (Wed) by anselm (subscriber, #2796) [Link]

To be fair, in 1997 gcc was very widespread but the Ada frontend to gcc wasn't. Irrespective of the relative merits of Ada vs. C as programming languages, if you wanted wide portability for a tool like GnuPG, then C was at least a very strong contender because C compilers were a lot easier to come by than Ada compilers.

One of the worst UI ever

Posted Jan 28, 2026 16:22 UTC (Wed) by farnz (subscriber, #17727) [Link]

Ada's major fault back in 1999 (when I looked at it for work purposes) was the lack of a decent, Free (or even cheap) compiler. GNAT didn't become a decent Ada compiler until 2004 or so.

It was literally priced out of the market at the time - Keil's C compiler for Infineon C16x, while awful, was the same price for a company-wide licence as the cheapest Ada compiler I could find, and that would have been an add-on to VxWorks.

One of the worst UI ever

Posted Jan 31, 2026 14:31 UTC (Sat) by apoelstra (subscriber, #75205) [Link]

The problem that leads many cryptography libraries to use C, even in modern times, is that C gives you tooling to write constant-time code -- no runtime, obscene pointer semantics that make it possible to prevent compiler assumptions about pointer access ordering or aliasing (and extensions for explicit fences and the like); the ability to write zero-heap-allocation code; low-level debuggers and dissemblers; and of course, inline assembler.

C is arguably awful at each individual thing I listed, but it has them all, and to the extent that some of them are a black art, there exist people with decades of experience working with popular compilers to achieve them.

Now, maybe gnupg could've written its core secret-data-handling crypto algorithms in C (or assembler) and used FFI bindings to use a nicer language for everything else. But then you'd need a language and toolchain that can mix well with C.


Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds