[Info-vax] MariaDB/MySQL on x86

Arne Vajhøj arne at vajhoej.dk
Thu Apr 27 20:47:54 EDT 2023


On 4/27/2023 6:36 AM, Neil Rieck wrote:
> On Wednesday, April 26, 2023 at 8:04:28 AM UTC-4, Craig A. Berry
> wrote:
>> On 4/26/23 5:33 AM, Neil Rieck wrote:
>> 
>>> One of the annoyances with MariaDB-10 (and MySQL-6) is that they
>>> can only be built with C11 which is still not available on
>>> OpenVMS/Alpha or OpenVMS/Itanium
>> Not sure that will ever happen. It's hard to see how VSI can afford
>> to continue to make major changes to the traditional front end on
>> all platforms while also keeping up with clang on x86.
>>> Kudos to VSI for making as much progress as they have. I only
>>> hope that they get around to also supporting C17 (stable) and C23
>>> (pre-release)
>> Have you tried the clang-based C++ compiler currently in field
>> test, which, as a side effect of being clang, works as either a C
>> compiler or a C++ compiler? I suspect that will be the path forward
>> for newer standards.
> 
> No, but I will.
> 
> As I have mentioned before, 99% of all software (applications as well
> as software development tools) is written in C/C++ so not supporting
> C/C++ is one way to kill any platform.

I don't believe those 99%.

Most surveys of programming languages show:

tier 1 - JavaScript, Python, Java
tier 2 - C/C++, C#, PHP
tier 3 & 4 - all the rest

The only domain I can think of where C/C++ is totally dominant is
OS.

> p.s. back in the day, the people at the Apache foundation had the
> foresight to see this problem on the horizon so their first big
> project, HTTPd, would only be supported on a very early
> implementation of C. This is one reason why Apache HTTPd can be found
> in every computer ecosystem.

I can sympathize with that - I probably code my C in C89.

:-)

>                               Anyway, developers at Oracle (MySQL-6)
> and MariaDB Corp (MariaDB-10)

MySQL went from 5.7 to 8.0 there is no 6.x.

>                                were wearing different hats when they
> decided to use C11. If other open software developers follow this
> trend then current operating systems not supporting C11, C17 and C23
> (and their C++ equivalents) will quickly find their OS classified as
> museumware.

I believe the problem is mostly in C++ not C.

C99->C11 is relative small (standard multi-threading, better
unicode support and some other stuff).

C11->C17 is just bugfixes.

A C17 program will very much look like a C99 program.

Obviously a program  using some of the new features
in C11 (like the standard threading instead of POSIX
threading) will not build out of the box with C99.

But overall C is C.

Not so with C++.

C++98->C++03 is just bugfixes.

C++03->C++11 is huge: type inference, modern for loop,
different return type declaration, nullptr, enum class,
lambda, attributes, regex support, better unicode support,
standard multi-threading and much more.

C++11->C++14 added a bunch of smaller changes.

C++14->C++17 added a bunch of smaller changes.

C++17->C++20 added more (concepts, modules, coroutines,
spaceship operator, mandate two's complement etc.).

A C++20 program can look totally different from a
C++98 program.

The C++20 program will in some ways look more like a Java
or C# program than a Cnn or C++98 program.

Arne





More information about the Info-vax mailing list