8
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

はじめに

「Pythonの連想配列って何だっけ?」

という(なんとなく、気持ちの悪い)ワードが、頭をよぎったときに、

ググって解決しづらかったこと Advent Calendar 2021

を思い出したため、 勢いでエントリー しました。

 

当初は、各言語での連想配列系の呼び方の違いを記事にしようかと考えましたが、

既に、そのような、まとめの良記事は存在しています。

 

では、ネタ記事として、

本当にあった怖い検索結果 ~pythonの連想配列~

とかを書こうとも思いましたが、明らかな怪文書が検索結果に表示されるわけではない1ため、

釣り記事になってしまう 🪓怖い と、断念。

 

ただ、連想配列系の呼び方の違いは、いつの時代も気になりますよね?

Matzの感覚とまではいかないものの、

設計時などで、連想配列系のデータ構造を表現する時に、
相手の扱っているプログラム言語を意識して、単語を変える位には意識してしまいます。

 

@Yametaro さんが、 ググり というお題を出してくれたので、

言語毎の連想配列系の検索結果を調べてみよう!

という ググって解決しづらかったこと Advent Calendar 2021 21日目の記事です。

 

軽い読み物としてどうぞ。

google 検索結果件数まとめ

まずは、google検索結果の件数を見てみる。多すぎるので、単位は、M(1,000,000)。

スクリーンショット 2021-12-17 015314.png

連想配列
________
dict
________
Hash
________
Map
________
HashMap
________
ハッシュテーブル
________
python 0.124M
(0.005%)
18.8M
(0.9%)
42.1M
(2.0%)
2,050M
(96.7%)
8.72M
(0.4%)
0.173M
(0.008%)
javascript 0.172M
(0.004%)
16.4M
(0.4%)
85.2M
(2.2%)
3,710M
(94.4%)
6.96M
(0.18%)
112M
(2.8%)
ruby 0.069M
(0.007%)
12.9M
(1.2%)
11.3M
(1.1%)
989M
(94.7%)
8.02M
(0.77%)
23M
(2.2%)
java 0.116M
(0.006%)
38.6M
(2.0%)
30.7M
(1.6%)
1,800M
(94.9%)
12M
(0.63%)
16M
(0.84%)
Rust 0.051M
(0.04%)
10.5M
(7.3%)
8.61M
(6.0%)
121M
(83.9%)
3.35M
(2.32%)
0.77M
(0.53%)
golang 0.08M
(0.26%)
6.15M
(20.0%)
6.61M
(21.5%)
12.1M
(39.4%)
5M
(16.3%)
0.791M
(2.6%)

※ 2021年12月時点調べ
※ ✅ が連想配列系として、国内で使われていると筆者が認識している組み合わせ
※ ( ) 内は、言語の合計内の割合

突っ込みどころ満載の、無価値な表ができあがりました。

  • Hash や Map など、連想配列以外の用途の検索が引っかかってしまう。
  • そもそもgoogle検索結果件数のブレが大きい。
  • 英語の検索結果の影響が大きい。
  • etc...

ただ、少なくとも、google検索結果の件数においては、
プログラミング言語と連想配列系の単語の組み合わせが、
正しい方が、多く表示されると言う事はなさそうです。

 

google 上位検索結果

では、件数ではなく、上位の検索結果ではどうでしょうか。

なんとなく、筆者が気持ち悪いと感じる「pythonの連想配列」や
「javascriptのdict」の検索結果を確認するため、
Python と javascript で 連想配列 と dict の検索結果の上位をまとめてみました。

Python

順位
____
連想配列
________
dict
________
1位 Pythonの連想配列に要素を追加する方法を現役エンジニアが ...
https://techacademy.jp/magazine/43247
Pythonで辞書を作成するdict()と波括弧、辞書内包表記
https://note.nkmk.me/python-dict-create/
2位 Python 辞書(連想配列) - ajisaba.net
http://www.ajisaba.net/python/dict.html
組み込み型 — Python 3.10.0b2 ドキュメント - Python Docs
https://docs.python.org/ja/3/library/stdtypes.html?highlight=dict
3位 配列・連想配列 | Python-izm
https://www.python-izm.com/basic/array/
【Python入門】dictionary(辞書)の使い方。基本と応用
https://www.sejuku.net/blog/24122
4位 【python入門者必見!】配列・連想配列を徹底解説 - DMM ...
https://web-camp.io/magazine/archives/14815
Python | 辞書に含まれるすべてのキーと値を取得する - Let's ...
https://www.javadrive.jp/python/dictionary/index8.html
5位 Pythonで辞書を作成するdict()と波括弧、辞書内包表記
https://note.nkmk.me/python-dict-create/
3-1. 辞書 (dictionary) - Pythonプログラミング入門
https://utokyo-ipp.github.io/3/3-1.html
6位 Python | 辞書に含まれるすべてのキーと値を取得する - Let's ...
https://www.javadrive.jp/python/dictionary/index8.html
Pythonの辞書をマスターしよう!基本的な使い方から応用まで ...
https://www.tech-teacher.jp/blog/python-dictionary/
7位 Python3系の基礎文法(辞書) - Qiita
https://qiita.com/Amtkxa/items/ae2196a007c58182f2d1
[Python入門]辞書:Python入門(1/4 ページ) - @IT
https://atmarkit.itmedia.co.jp/ait/articles/1906/19/news017.html
8位 組み込み型 — Python 3.10.0b2 ドキュメント - Python Docs
https://docs.python.org/ja/3/library/stdtypes.html?highlight=dict
Pythonにおけるdict()の利用方法を現役エンジニアが解説 ...
https://techacademy.jp/magazine/24701
9位 【Python】辞書型(連想配列)の使い方 | 西住工房
https://algorithm.joho.info/programming/python/dict-tsukaikata/
Python 辞書で最初のキーを取得する - Delft Stack
https://www.delftstack.com/ja/howto/python/get-first-key-in-dictionary-python/
10位 [Python] dict(連想配列)の使い方
http://24w.jp/lang/python/dict/
【Python】 辞書(dict)の使い方の基本 | Hbk project
https://hibiki-press.tech/python/dict/1136

javascript

順位
____
連想配列
________
dict
________
1位 JavaScriptの基本である連想配列をマスターする - Tech Play
https://techplay.jp/column/528
【JavaScript入門】連想配列(Dictionary)の取得/追加/ソート ...
https://www.sejuku.net/blog/27965
2位 JavaScriptの連想配列 - 追加削除やソート存在チェックも解説
https://www.pasonatech.co.jp/workstyle/column/detail.html?p=2639
JavaScriptの基本である連想配列をマスターする - Tech Play
https://techplay.jp/column/528
3位 javascriptの連想配列と配列の違い - Qiita
https://qiita.com/katsukii/items/168bee174073ae7ec7e4
javascriptの連想配列と配列の違い - Qiita
https://qiita.com/katsukii/items/168bee174073ae7ec7e4
4位 JavaScriptでの連想配列の使い方!多次元配列と連想配列の違い
https://www.fenet.jp/dotnet/column/language/4519/
JavaScriptの連想配列 - 追加削除やソート存在チェックも解説
https://www.pasonatech.co.jp/workstyle/column/detail.html?p=2639
5位 【JavaScript入門】連想配列(Dictionary)の取得/追加/ソート ...
https://www.sejuku.net/blog/27965
Object.keys() - JavaScript - MDN Web Docs
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object/keys
6位 Object.keys() - JavaScript - MDN Web Docs
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object/keys
Object.values() - JavaScript - MDN Web Docs
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object/values
7位 JavaScriptの連想配列とは?オブジェクトとの違いや値の取得 ...
https://www.brain-gate.net/content/column/system-program-associative-array/
JavaScriptで連想配列のキーの存在チェックの方法を現役 ...
https://techacademy.jp/magazine/22423
8位 【初心者向け】JavaScriptの配列と連想配列の違いとは?
https://blog.codecamp.jp/javascript-array
JavaScript オブジェクト(連想配列)の使い方 | ITSakura
https://itsakura.com/js-object-literal
9位 javascript mapを使って連想配列から必要なキーのみを取得する
https://mebee.info/2020/09/30/post-19601/
JavaScriptの連想配列に要素を追加・削除する方法 | UX MILK
https://uxmilk.jp/12852
10位 【JavaScript】 配列と連想配列の要素順序とMapオブジェクト
https://note.affi-sapo-sv.com/javascript-array-order.php
JavaScriptでの連想配列の使い方!多次元配列と連想配列の違い
https://www.fenet.jp/dotnet/column/language/4519/

 

こちらについても、個々の記事への言及は避けますが、、

私が予想していたよりも、検索結果に差がない ことが、分かりました。

もちろん、私の感覚がずれていた可能性も有りますが、
「python 連想配列」の検索結果の5位の Pythonで辞書を作成するdict()と波括弧、辞書内包表記 など、
検索結果内に、検索した単語が出てこない記事もちらほら、引っかかります。

google賢過ぎない!?

 

まとめ

google検索の前では、プログラム言語毎の呼称の差異は、私が感じているより少ないものだと分かりました。

ただ、今回の執筆を通して、google検索結果を改めて考えてみると、
同一ドメイン記事の結果が、上位に並ばないようになっていたのもあり、
(昔はQiitaの記事が、TOP10のほとんどを埋め尽くしていたことも、あった気がした)
良記事が上位に出てくるとは限らないため、特に基礎的な部分において、
初学者がgoogle頼みだと、(昔よりも特に)遠回りではないかな?
という気持ちが強くなりました。

というわけで、以下の引用を掲載して、この記事を終わりにさせていただきます。

Rubyに限らず、公式ドキュメントや公式リファレンスを参照することは遠回りなように見えて実は一番の近道だったりします。
まさに急がば回れ、っていうやつですね。
検索結果を要チェック!Rubyの公式リファレンスは docs.ruby-lang.org です 〜公式な情報源を調べるクセを付けよう〜

勢いのエントリーを完了出来て良かった。

  1. 本記事後半で、検索結果は紹介します。

8
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?