Search
Write a publication
Pull to refresh

Comments 13

Ссылка http://blog.coelho.net/database/2013/08/17/turing-sql-1 в статье — битая :(
Cache-friendly параллельные массивы — внезапно интересно. И правда в специальных случаях может иметь смысл.
Насколько я понял г-н Sittler описал структуры данных поддерживаемые языками и назвал это ни много ни мало: «моделями памяти, лежащими в основе языков программирования». Так же вести речь о локальных переменных в менее импозантной и широкой форме чем:
Подобно модели памяти с вложенными записями, модель объектного графа позволяет сделать все атрибуты конкретной сущности локальными по отношению к конкретной части вашей программы — вы просто не даете каких-либо ссылок на её структуру данных для остальной части программы, — но не позволяет сделать приватным конкретный атрибут всех сущностей. Однако, в отличие от модели памяти с вложенными записями, модель объектного графа уменьшает зависимость от размера памяти любого узла, что открывает дверь в объектно-ориентированное наследование и позволяет делать атрибуты приватными, несмотря на ряд серьезных проблем.
у него не получается.
В противоположность этому, COBOL-производные языки, такие как Си, испытывают значительные трудности с такого рода обобщениями, в результате чего программистам снова и снова приходится писать огромное количество повторяющегося кода для реализации всё тех же хорошо известных структур данных и алгоритмов для новых типов данных.

Вы имеете в виду, что STL не существует?
UFO landed and left these words here
А где, собственно, интересная часть?

Я помню, на первом курсе забрёл в библиотеку и нашёл что-то по компьютерной памяти. И там было очень интересное рассуждение как современные компьютеры представляют собой трёхмерную память (по схеме адресации). Там же обсуждались преимущества трёхмерной памяти над одномерной с точки зрения o(n)-нотационного ускорения алгоритмов, а дальше там (насколько я сумел прорваться через сложный язык и математику) говорилось, что если мы сделаем память, поддерживающую более сложные схемы адресации, то мы получим o(n)-ускорение (т.е. алгоритм, который был o(n) станет o(1), алгоритм o(n^2) понизится до o(logn*n), etc).

Простейший пример такой памяти — это аппаратные хеш-таблицы (точнее, content-addressable memory): https://en.wikipedia.org/wiki/Content-addressable_memory

И дальше в книге обсужалось, какие ещё интересные штуки можно получить, если подстроить память под алгоритмы. Насколько я понимаю, transactional memory (https://en.wikipedia.org/wiki/Transactional_memory) — ещё один пример такой «алгоритмо-ориентированной» памяти.

А технологические/физические ограничения на такую память существуют? Почему она не используется? Что тому причиной? Или это просто научно-фантастические романы для математиков?


Было бы, как думают, очень хорошо иметь неограниченный источник энергии или неограниченный КПД, избавиться от гравитации и прочих неприятных вещей, сколько крутых штук можно было бы тогда замутить, математически их обосновав, а вот поди ж ты.

Слово «Пролог» вынесло мне мозг. Я минут двадцать пытался врубиться, что имеется в виду: пролог или Пролог.
Sign up to leave a comment.