Other simple formats include binary:
Export["test.bin", A, "Real64"] // AbsoluteTiming 0.35 sec Import["test.bin", "Real64"]; // AbsoluteTiming 0.2 sec
Which is generally also pretty fast!
Yes, can be read by any other machine and language. The only thing you have to make sure is that the machines have the same endianness. I frequently do it between c++ and Mathematica. Basically it is a direct copy of what the data looks like in RAM. So reading a file is just copying, no interpretation or processing steps. HDF5 does similar things I believe, and can handle multiple datasets and so on in a much more convenient manner. Reading in HDF5 in c++ is trickier though. Binary formats are very easy to read/write without packages/addins/libraries…