Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет superhuman ([info]superhuman)
@ 2014-06-12 10:07:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
В высокоуровневых ЯП обычно есть функции, чтобы прочесть файл в байт-массив (байт-строку) и, наоборот, сбросить массив в файл. Идея в том, чтобы не париться со всякими буферами хуюферами, и в одну строчку такую задачу решать.

Понадобилось мне нонче iso-шки читать как блобы и переколбашивать их. Выясняется, что на больших файлах эти самые функции не работают! (в трёх ЯП, как минимум) В racket-е (с чего я начал), читается не более 380 мб, записывается не более 700 мб, - причём без всяких эксепшенов.

Потом позырил дотнет - там до .net-4.5 вообще никакие объекты не могли быть больше 2 гб в памяти. Нахуйя мне 32 гб рамы, спрашивается? Ну ладно, в 4.5 они типа поддерживают больше, но индексы в массивах всё равно 32-битного типа, т.е. байт-массив всё равно не может быть больше 2 гб. Ебанись.

Посмотрел байт-строки haskell-а, но там тоже индекс типа 32-битного integer-а. Хотел посмотреть ещё в J, но в онлайне не нашёл соответствующей документации. Хотя и пишут, что эта система "true 64 bit", но доверия уже никому нет. Надо будет попробовать всё же, J и сам по себе интересен.

Короче, вернулся к схеме и хуярю этими самыми чанками / буферами. Так-то работает, и не так много онанизма, в схеме всё-же индексы могут быть большие. Но всё равно, ощущение от этого кодостиля, блядь, что это 70-й год примерно.


(Читать комментарии) - (Добавить комментарий)


[info]phantom
2014-06-15 00:26 (ссылка)
В ФП вообще не нужны низкоуровневые интерфейсы к памяти и массиво-подобные объекты.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]ketmar
2014-06-15 00:27 (ссылка)
да, я знаю, линейный поиск рулит, массивы зло. когда у нас будет бесконечно быстрая техника с бесконечной памятью — я первый начну расстреливать тех, кто отходит от принципов ФП.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]phantom
2014-06-15 01:21 (ссылка)
Мы, похоже, в разных видах спорта выступаем. И один другого не может или не хочет понять. Это и удивительно.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]ketmar
2014-06-15 01:32 (ссылка)
ну да, разница теоретически-научного (математического?) и инженерного подходов. первый делает так, как должно работать на идеальной сфере в вакууме, а второй, злобно матерясь, делает так, чтобы работало на ёбаном бетонном блоке, наполовину погружённом в землю.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]phantom
2014-06-15 01:39 (ссылка)
Дело в том, что мой-то подход прагматичней некуда. Когда я решу все свои реальные задачи, си-программер только начнёт отрабатывать ошибки, хехе. Получается, я сделаю на несколько порядков больше за то же время.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]ketmar
2014-06-15 01:47 (ссылка)
ну так ты и не настоящий сварщик. я-то вёл речь (хоть это — mea culpa — и неочевидно) о том, что для настоящего сварщика подобный подход создаст проблемы в будущем. потому что он привыкнет забивать на технику безопасности, и однажды его ЕБАНЁТ так, что мало не покажется.

а если нужно периодически по-быстрому приварить хреновину к загогулине, и пофигу, что она через месяц отвалится — то, конечно, без разницы. лишь бы на неё можно было встать и достать с полки коньяк.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]phantom
2014-06-15 18:29 (ссылка)
К слову, кто такой "сварщик"? Я не первый год в этом бизнесе, как говорят американцы. Но не слышал про сварщиков.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]ketmar
2014-06-15 18:34 (ссылка)
да я же на анекдот про мальчика, который маску сварщика нашёл, намекал.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]phantom
2014-06-15 18:44 (ссылка)
Нашёл я анекдот, но что-то я его не догоняю.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]ketmar
2014-06-15 18:46 (ссылка)
да не напрягайся ты, нет тут никакого подтекста. просто писать «программист» скучно, а «сварщик» рождает забавные ассоциации. вот и всё.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]phantom
2014-06-15 19:30 (ссылка)
Там, вообще-то его чуть не выебали, сварщика этого. :)

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]ketmar
2014-06-15 19:35 (ссылка)
именно поэтому в данном случае «сварщик» — хорошая тонкая шутка. потому что я охуенно тонкий шутник, да.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]phantom
2014-06-15 19:38 (ссылка)
:)

(Ответить) (Уровень выше)


[info]ketmar
2014-06-15 01:32 (ссылка)
p.s. я, если что, ни разу не говорю, что один подход лучше другого.

(Ответить) (Уровень выше)


(Читать комментарии) -