Nothing ever came along to replace COBOL which took data storage as seriously as COBOL did. COBOL has DATA DIVISION syntax for talking about file formats and databases. No other language has syntax for talking about the external representation of data. This is a lack.
Look at how much code goes into taking data out of an SQL database and into an object in Java or Python. And what a pain it is to change the code when the table format changes. It really is a lack that modern languages don't deal with external data well.
This is a special case of the marshalling problem. Programs are always packing data into some specified form for transport or storage. It's an operation which often needs to go fast, and is a clear win if done in hard-compiled code. Yet there's little language support for this. There are precompilers which compile Google protocol buffer definitions into C++ or Go. There are interpreters for Python which understand a SOAP protocol spec and decode, slowly, the XML accordingly. Those are add-ons. Language support for marshalling is very rare, if not nonexistent.