Я собрал ваши комментарии здесь:
- Я хотел бы сделать все это "без написания собственного кода ввода / вывода для файла"
- Мне нужен доступ из "Java Ruby MATLAB" и "подпрограмм FORTRAN"
Когда вы добавляете их, вам определенно не нужен новый формат файла. Придерживайтесь того, что у вас есть.
Если мы можем заставить вас ослабить ваше первое требование, т. Е. Если вы захотите написать свой собственный код ввода / вывода, то для вас есть несколько интересных вариантов. Я написал бы классы C ++ и использовал бы что-то вроде SWIG, чтобы сделать ваши новые классы доступными для нескольких языков, которые вам нужны. (Но я не уверен, что вы сможете использовать SWIG для предоставления вам доступа из Java, Ruby, MATLAB и FORTRAN. Возможно, вам понадобится что-то еще. Сам я не совсем уверен, как это сделать.)
Вы также сказали: «На самом деле, если мне нужны файлы, я предпочитаю текст, потому что тогда я могу просто войти и отредактировать вручную, когда это необходимо».
Я считаю, что это ошибочное утверждение. Если вы захотите сделать свои собственные процедуры ввода / вывода файлов, тогда есть очень умные вещи, которые вы могли бы сделать ... И, в конечном итоге, вы можете дать себе инструмент, который преобразует новый формат файла в тот же старый текстовый формат, к которому вы привыкли ... И еще один инструмент, который конвертирует обратно. Я вернусь к этому в конце своего поста ...
Вы сказали что-то, на что я хочу обратиться:
«использовать 40 лет оптимизации БД»
Базы данных предназначены для реляционных данных, а не растровых данных. Вы не будете использовать чьи-либо оптимизации DB с такими данными. Возможно, вам удастся втиснуть ваши данные в БД, но это вряд ли одно и то же.
Вот самое полезное, что я могу вам сказать, основываясь на всем, что вы нам сказали. Вы сказали это:
"Меня больше интересует оптимизация моего времени, чем процессорного времени, хотя скорость исполнения хороша!"
Честно говоря, это потребует ИНСТРУМЕНТОВ. Хватит думать об этом как о текстовом файле. Начните думать об общих задачах, которые вы делаете, и напишите небольшие инструменты - в WHATEVER LANGAUGE (S) - чтобы сделать эти вещи тривиальными.
А если ваши инструменты оказываются паршивыми? Угадайте, что - это потому, что ваш плоский текстовый файл имеет грубый формат. Но это только мое мнение. :)