LINUX.ORG.RU
ФорумTalks

Что за идиотская мода — называть map (ассоциативный массив) «картой»?

 


0

0

Как-то раньше не обращал внимания, но в последнее время всё чаще замечаю, что std::map и его однофамильцев из других языков в русскоязычном интернете называют «картой». Я, конечно, не строил никаких иллюзий, но неужели русскоязычное IT-сообщество настолько выродилось, что всё, на что оно способно — это пользоваться гугл-переводчиком?

Правильнее всего, на мой взгляд, было бы называть тем, чем map является — «ассоциативным массивом». Но если хочется перевести относительно буквально, то наиболее близким термином я бы назвал «отображение». map и function в математическом- и CS-контексте это синонимы, но термин «функция» занят. Поэтому «отображение».

Когда я вижу где-то «у меня есть карта std::map<int, string>» и т.п. — хочется взять и ушатать.

Перемещено tailgunner из development

А. П. Чехов, *Жалобная книга*

ушатывай, мы-то причём?

buratino ★★★★★ ()

Никогда так не называл, но теперь наверное буду, название то неплохое

anonymous ()

Я обычно называю их по-питоновски словарями или, извиняюсь за выражение, соответствием.

PolarFox ★★★★★ ()

Вычисляй, ушатывай

Называю «мапом» или «картой», потому что по-русски более простых названий нет, а выговаривать «ассоциативный массив» мне, хоть вас это и бесит, все равно не хочется.

staseg ★★★★★ ()

Ни разу не встречал такого названия. И да, сайт нижнегубошлёпинского ПТУ швейного мастерства — это не «русскоязычный интернет».

redgremlin ★★★★★ ()
Ответ на: комментарий от utf8nowhere

Chrome 38 Beta: новые примитивы для web следущего поколения

Все претензии к гуглу и его транслейту. MRD знаменит тем, что принципиально не изучает язык врагов (судя по всему, русские для него тоже враги, потому что русского языка он тоже не знает).

redgremlin ★★★★★ ()

Карта не есть территория, а интерфейс к хранилищу данных не есть хранилище данных. Просто пользуйся картой. Не вкуриваешь семантику?

sin_a ★★★★★ ()

Один мой бывший сотрудник называл «save» «спасти»!

Типа «спаси вон в ту диру».

unt1tled ★★★★ ()

замучаешься выговаривать «ассоциативный массив». Лучше уж «карта», хотя я до этого называл «мапа». Теперь стал интересен новый термин)

dave ★★★★★ ()

называют «картой»

Ни разу не встречал. Слышал от отдельных личностей «мап», или «мапа».

no-such-file ★★★★★ ()

что за идиотская мода называть словари или ассоциативные массивы - map

Dred ★★★★★ ()

«Отображение» не очень подходит, потому что может быть определено на бесконечном множестве, а мапа всегда конечна. Даже в haskell. Да и «отображение» - очень общий термин из основ математики

dave ★★★★★ ()
Последнее исправление: dave (всего исправлений: 1)
Ответ на: комментарий от dave

«Отображение» не очень подходит, потому что может быть определено на бесконечном множестве, а мапа всегда конечна

ЛОЛ что? Отображение как мат.термин это и есть map, потому и в CS используется. И не только как тип данных, но и как функция.

no-such-file ★★★★★ ()

Не знаю, мода ли, но действительно идиотская. Впрочем, нигде не слышал — везде говорят «мап» или «словарь».

intelfx ★★★★★ ()

Тут работает правило - каждый дрочитназывает ассоциативный массив как он хочет.

anonymous ()

std::map

Не пользуйся говнокрестами, и твои волосы будут чистыми и шелковистыми!

anonymous ()
Ответ на: комментарий от unt1tled

диру

Некоторые до сих пор директории/каталоги справочниками называют. И чо?

anonymous ()
Ответ на: комментарий от no-such-file

Может быть, некоторых программистов и ЛОЛчтокает, но математиков передергивает от такого сравнения в точности как нашего автора топика ;)

dave ★★★★★ ()

Ни разу не слышал «карта» для этого. Звучит уёбищно, как кривой дословный перевод.

Слышал: «мап», «мапа», «хэш», «хэшмап», «словарь»

migesok ()

Русское образование

Потому что «map» в данном контексте переводится как «отображение», но это ж надо хотя бы первый курс осилить.

anonymous ()
Ответ на: Вычисляй, ушатывай от staseg

«мапом» или «картой», потому что по-русски более простых названий нет, а выговаривать «ассоциативный массив» мне

В Perl такое «Хэш» зовется. вполне нормальное название. А так глубоко пофиг кто как называет.

Deleted ()

Да какая разница как называть? Сленг есть сленг.

На мой взгляд, если говорить о конкретной реализации, то нужно говорить прямо «стд-мэп» или «хэш-мэп», чтобы никого не путать, а если о абстрактной структуре данных, то «словарь» или «ассоциативный массив».

Но пока скажешь «ассоциативный массив» забудешь о чём начинал говорить. =)

mono ★★★★★ ()

называть map (ассоциативный массив) «картой»?

Из канонической латыни:
mappa — кусок полотна
charta — бумага

Ассоциативный массив можно записать на обеих «обоях» :)

quickquest ★★★★★ ()
Ответ на: комментарий от UVV

Да, это рунглиш такой, издержки профессии.

«Словарь» мне кажется более подходящим по смыслу и звучанию термином.

migesok ()

Хм. Хз где как, в perl - это хэш.

В java используется название map/hashmap, но оно всё равно именуется ассоциативным массивом.

Откуда твои дровишки будут? Небось похапэшники какие-нибудь?

ekzotech ★★★★ ()

map является — «ассоциативным массивом»

Еще хэшем, словарем и проекцией.

Категорически согласен, называть это «картой», то еще чудачество.

outtaspace ★★★ ()
Последнее исправление: outtaspace (всего исправлений: 1)
Ответ на: комментарий от dave

но математиков передергивает

Гнать таких в шею из профессии.

no-such-file ★★★★★ ()

Что за идиотская идея называть «map» «картой». Карта это такой плоский объект, обычно прямоугольной формы. Вероятно, кто-то когда-то выпускал map в форме карт. Какой-то идиотлишённый способности к абстрактному мышлению втащил это совпадение в словарь, а современные аборигены страдают.

Цитируя соседний топик, это «Твой язык ${LANG%%_*} — отстой».

DonkeyHot ★★★★★ ()

А зачем вообще map как-то называть по-русски? Вы программист или публицист?

Sadler ★★★ ()

ассоциативный массив

Есть отличное русское слово «мап».

Suigintou ★★★★ ()
Ответ на: комментарий от Sadler

А зачем вообще что бы то ни было как-либо называть?

dexpl ★★★★★ ()

Правильнее всего, на мой взгляд, было бы называть тем, чем map является — «ассоциативным массивом»

«Ясень правильнее было бы называть деревом». Всё же, ассоциативный массив — абстрактный тип данных, в то время как map (которая в STL и аналогичное в других языках и библиотеках) — обычное двоичное дерево. Ни разу не видел, чтобы его называли картой, ну, до этого треда

XMs ★★★★★ ()
Ответ на: комментарий от dave

меня не передёргивает, хотя я вроде как тоже «математик». называю мап мапом, потому что это самое короткое и удобное название. и американцы тоже его мапом называют, и в математике, и в программировании. и всем всё понятно.

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

Iron_Bug ★★★★ ()
Ответ на: комментарий от KivApple

тем, что словарь ассоциируется с текстовой информацией, а в мапах текст если и встречается вообще, то ну просто крайне редко. обычно данные всё же бинарные. и какой же это «словарь», если там только цифры?

Iron_Bug ★★★★ ()

воспринимай это как сокращение от «карта отображения».

Xintrea ★★★★★ ()
Ответ на: комментарий от Iron_Bug

Можно мыслить более абстрактно и видеть в бумажных словарях не просто слова, а понятия, которые за ними скрываются. И тогда мы получаем, что одним понятиям (объектам) сопоставляются другие понятия (объекты). И тогда всё отлично сходится.

А карта это всё же что-то двумерное. При этом надо отметить, что каждая точка карты определена. А словарь не полон. Тематические словари могут содержать очень малую часть понятий, которые содержит язык.

Карта ближе к массиву, ибо и то и другое сопоставляет каждой координате в пределах своей размерности какое-то значение (в случае карты это может быть высота, принадлежность какой-то стране и т. д.). А вот map это именно словарь - соответствия устанавливаются только между некоторым очень ограниченным набором объектов. Также на любой карте все координаты представимы в виде чисел и любую карту можно обойти последовательным инкрементом координаты, а у словаря «ключом» является объект, понятие. И не зная всех ключей, обойти его нельзя.

KivApple ★★★★★ ()
Ответ на: комментарий от KivApple

можно мыслить совсем абстрактно и к словам не придираться. назовём объект Ф146. почему бы нет? если не придираться к словам, то и незачем тащить семантику языков. с этой точки зрения, что «словарь», что Ф146 имеют одинаковую смысловую ценность.

карта - это просто калька с map. а map - это нормальный термин для математического отображения. совершенно невозможно в быту использовать громоздкие и неудобные термины из русского языка. поэтому программисты стремятся сокращать слова, используя даже аббревиатуры.

Iron_Bug ★★★★ ()
Ответ на: комментарий от the_electric_hand

хэш - это хэш. почему все тут его поминают? хэш - это хэш-функция и он существует отдельно от мапов и прочего всего.

Iron_Bug ★★★★ ()

в данном случае куда более корректным и при этом «однословным» переводом было бы «отображение». Т.к. математическая суть контейнера map - это отображение одного множества (ключей) на другое (значения).

qrck ★★ ()
Ответ на: комментарий от Iron_Bug

Ты передёргиваешь. Фраза «словарь это нечто, что ставит одним понятиям в соответствие другие» вполне имеет смысл (и никто не посмотрит на меня, как на сумасшедшего, если я скажу её, а вот если я начну выкрикивать придуманные слова - то посмотрят) и достаточно чётко характеризует словарь в первичном смысле. Кстати, даже в этом смысле словарь совсем не обязательно должен быть текстовым. Можно, например, ставить в соответствие словами картинки (таким образом словарь позволит переводить тексты на язык образов для тех, кто не умеет читать). Или даже сопоставлять числа и слова (146 - это «яблоко», 157 - это «груша» и т. д.). В результате человек с таким словарём сможет распарсить текст из чисел и понять его смысл. Такие словари можно напечатать на бумаге, продавать в магазинах и ими можно будет пользоваться. При этом способ применения будет точно таким же как и у обычных словарей. Находим интересующий объект по оглавлению и смотрим сопоставленный ему объект (при этом может быть использовано хеширование - в случае если ключом является слово, словарь может иметь алфавитное оглавление, если ключом является число, то в оглавлении может быть что-то типа «0-100 - страница 10, 101-200 - страница 11» и т. д., собственно во всех словарях и справочниках именно так и делают, ибо поиск в простом оглавлении слишком долог). Обратная операция очень дорогая (придётся листать весь словарь в поисках нужного значения, чтобы узнать ключ).

И да, это не только абстрактные примеры, такие словари вполне существуют в реальности, просто имеют узкое применение. Например, детская книжка, в которой на каждой странице написано слово и картинка, при этом страницы идут в алфавитном порядке. Это словарь слово->изображение. А для какого-нибудь шифра существует словарь код->слово. Ты ведь, надеюсь, не сомневаешься в существовании множествах таких словарей?

Карта это совсем другое. Здесь «ключом» являются исключительно числа (в мире не существует карт с нечисловыми координатами, пруф если не так, детские книжки для примера выше я найти смогу) - координаты (это могут быть декартовы координаты, полярные, широта-долгота - не важно, в любом случае это несколько чисел). При этом значения определены в любых координатах (куда бы вы не ткнули пальцем в карту, там будет что-то).

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

P. S.: Если что минуты и секунды у градусов широты-долготы - это по сути дела специфическая система счисления. Точно также как часы и минуты времени. Это всё числа - их можно складывать и вычитать, умножать и делить, и даже перевести в более привычный вид. Для ключей словаря значения могут быть нечисловыми (то есть для них не имеют смысла стандартные математические операции).

KivApple ★★★★★ ()
Последнее исправление: KivApple (всего исправлений: 4)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.