BFMracing

General Category => Tech Support and Chat => Topic started by: BFM_SüprM@ñ on June 14, 2014, 10:25:37 AM

Title: Mxy, did you help create the C++ language?
Post by: BFM_SüprM@ñ on June 14, 2014, 10:25:37 AM
Found this whilst looking for some Superman checks (haven't found any I really like, but did manage to find some cool websites). XD

Quote
Did you know that "Mxyzptlk" is an actual command in C++ programming language?

Here's an abstract from the documentation which can be found at the Fermi National Accelerator Laboratory FTP site...
MXYZPTLK is a library of C++ classes -- or "objects" -- for performing automatic differentiation. Originally written at Fermilab in 1989, with a "User's Guide" provided in 1990, it has undergone refinements and improvements over the last six years. It was originally announced outside Fermilab in Automatic Differentiation of Algorithms: Theory, Implementation, and Application (SIAM Press, 1991) and has been used in a variety of contexts.
If you need to calculate derivatives of complicated functions and find yourself either taking finite differences or writing the derivatives algebraically and then translating the expressions into source code, you may want to consider using automatic differentiation (AD). AD exploits the classic theorems of differential calculus to propagate information about derivatives through arithmetic operations. In this way, derivatives of a function can be calculated using the same program that calculates the function itself. Because no approximations are made, derivatives are calculated with machine accuracy, avoiding the errors inherent in finite differences, an especially important consideration when higher order derivatives are required.

Rivetting stuff. :)
Nevertheless, it just goes to prove that Superman and his supporting cast of characters have firmly entrenched themselves into every part of our lives.
Title: Re: Mxy, did you help create the C++ language?
Post by: MrMxyzptlk on June 18, 2014, 10:08:12 AM

While it is true that I pre-date C++, I had no involvement with that programming language or library. Sorry!

When I began computing, computing was just beginning.  E.g. Analog computing was the way things were done, and there were no "computer chips." Later came foot-square  "memory cards" that were hand-made grids of tiny magnetic doughnut-shaped "cores." (FYI: This is where the term "core memory" came from....)

It was a big day when chips came along, and program languages came to be! (For a while things moved even faster back then, I think....)

Programming as we know it now - high level, multipurpose programmed commands - would put the first "serious" / widespread programming language - the "C" programming language by Dennis Ritchie and Brian Kernighan (AKA "K&R") to shame, complexity-wise.

Some things stuck around, though: when I was doing computer graphics programming in the 70s I was using three different programming "languages:" WATFIV (http://en.wikipedia.org/wiki/WATFIV), FORTRAN, and machine code*.

Programming languages exploded in the 80s and thereafter, and made the old stuff like FORTRAN-IV (http://en.wikipedia.org/wiki/Fortran#FORTRAN_IV) a joke.

The field exploded, of course, and derivatives of all sorts - with specialized needs - sprang up all over the place, too.

So it should be no surprise this library was created, and fittingly arbitrarily named, as well, I suppose!

Thanks for the note, BTW! I had no idea that I had a connection like that Fermilab connection! (Aside from my LLNL connection....  ::) )


* Commands within the computer itself that afforded low-level "tweaking" of things, such as changing a bit in an in-memory command....