[Info-vax] MariaDB/MySQL on x86

Neil Rieck n.rieck at bell.net
Sat Apr 29 07:47:09 EDT 2023


On Thursday, April 27, 2023 at 7:48:03 PM UTC-4, Arne Vajhøj wrote:
> 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

Sir, I think you misunderstood my post. All those languages (including Javascript, Python, Java along with COBOL, FORTRAN and BASIC and anything else you can think of) are now implemented in either C or C++ ( https://www.stroustrup.com/applications.html )

Back in the day, all software (both tools and applications) would have been implemented in macro assembler but now everything is implemented in C or C++ then a code generator takes care of the final step; portable software would be virtually impossible if this wasn't the case. This is what Bell Labs had in mind when they were thinking about porting UNIX from an 18-bit PDP-7 to a 16-bit PDP-11 in the early 1970s. This magic trick was quickly repeated on an Interdata Model 70 then VAX-11.

Anyone who has ever worked with Python knows it can be implemented with other languages (including Python) but the CPYTHON virtual machine is the most popular and it is implemented in C.

But it looks like Python has followed the example set by the developers of MySQL-6 and MariaDB-10 in that Python-3.11 can only be built using a C11 compiler. Python-3.6 became unsupported at the end of 2021 ( https://devguide.python.org/versions/ ) so the clock is ticking toward another future choke point. 

Now many people do not use Python-3 or MariaDB-10, but I use both everyday. And although I'm a fan of OpenVMS (while my employer remains agnostic), a decision by VSI to not support C11 would force a negative decision many like me.

comment: I am currently attending a Udemy course on "machine learning". It appears that Python-3 is the only game in town for work in this area (TensorFlow, scikit-learn, and PyTorch are just three of many python add-on libraries). 

Neil Rieck
Waterloo, Ontario, Canada.
http://neilrieck.net









More information about the Info-vax mailing list