英語のドキュメントを読むときに覚えておくと良さそうな語彙
最近は英語力をつけたくて、英語のドキュメントを読むときにできるだけGoogle翻訳に頼らないようにしてるんですけど、頻出っぽい単語とか熟語とかで初見のとき意味が分からなかったり誤読したりしたやつをまとめた。
単語系
asynchronous
非同期
読めない。
retrieves
取得する
読めない。
pricing
料金設定
パブリッククラウドのドキュメントでよく見るやつ。
opaque
隠蔽、不透過
オペークポインタのオペーク。
obtain
手に入れる
getって書いてくれ
threshold
読めない。
redundant
冗長な
読めない。
forcibly
強制的に
普通にforceの変形だし、意味もそのまんまなので特に難しくないんですけど、forciblyだけで見せられたときにforceから来てることが分からなかったので。
explicit
明示的な
explicit initializationとか何かとよく使われる。
エラーメッセージとかでもよく出てくるし、もはや見すぎてていちいち訳さなくても読めるようになったけど、初見だと難しそうなので。
verbose
冗長な
お前もか。
ただ、redundantとverboseは結構明確に違いがあるみたいで、redundantの方が日本人エンジニアがよく言う冗長に意味が近くて、サーバの冗長構成とかRAIDによる冗長化とかそういうやつはredundant。「冗長性」は"redundancy"の対訳になります。
https://en.wikipedia.org/wiki/Redundancy_(engineering)
英語版Wikipediaでも工学系のテクニカルタームとしてページが存在します。
それに対してverboseは「簡潔」の対義語としての「冗長」です。
例えばif文の条件式にbool型の変数を使うときに
if (flag == true) { // any code }
みたいなコードは==trueが冗長なので、こう書いた方が簡潔だよねー
if (flag) { // any code }
って言いたいときの「冗長」はverboseを使います。
あとコマンドで「より詳細に出力する」系のオプションによく使われる-vもverboseから来ています(manページみれば大体--verboseって書いてる)
terse
簡潔な
読めない。
英検1級レベルらしい。使う頻度の割に難しすぎるだろ。
名詞系はterseness。
recap
要約すると
「要約」というよりは、連載記事とかで、前記事のおさらいみたいな意味でよく使われてる。
前回のラブライブ。
まあ日本語記事でもよく見るし、これが読まれへんエンジニアなんかおらんやろ。
lexicographically
辞書式に
読めないし長い。18文字もある。
文字列を比較する関数の説明で、"comparing two strings lexicographically."みたいな使われ方をしているのをよく見る。
ソートとかの文脈で使われる「辞書順」は "lexicographical order"
熟語・構文系
"Specify the following 〇〇"
「次の〇〇を指定する」
"the following 〇〇"はかなり汎用性高めで頻出なので覚えておきたいね。
"Run 〇〇 against ××"
「××に対して〇〇を実行する」
againstを今まで「反対して」的な意味でしか使わないと思ってた。
"incur costs"
「コストがかかる」
パブリッククラウドのドキュメントでよく見るけど、incurの意味を知らなかった。
"need to poll"
「ポーリングする必要がある」
ポーリングならpollingって書いてくれ。
急にpollとか言われたら「棒が必要」みたいに思っちゃう(棒はpollじゃなくてpole)
"〇〇 is equivalent ××"
「〇〇と××は同じです」
難しい単語を使うな。
"〇〇 associated with ××"
「××に関連付けられた〇〇」
associatedってそんな意味あるのね(PTAのAのイメージだった)
"〇〇 related with ××"
「〇〇に関連する××」
associated withとは依存関係が逆な上に、微妙に意味も違って紛らわしい。
対義語系
Required ←→ Optional
manページでよく見るやつ。
Requiredは絶対必要。Optionalはあってもなくてもいい。
ちなみにPick Oneはいずれか1つのこと(大体わかると思うけど)
expected ←→ actual
expected : 期待される
actual : 実際の
英語的には対義語ではないと思うんですけど、テストを書くときに使う変数名で、
返ってきてほしいデータを入れる変数をexpected〇〇、
実際の返り値を入れる変数をactual〇〇、
みたいにすることがよくあると思うので対義語系に入れています。
strict ←→ lenient
strict : 厳格な
lenient : 寛大な
strictはよく見るので説明不要かと思うんですが、Java界隈では何かとstrictの対義語としてlenientを使うらしい。
英語難しいね。
今後も見つけたらどんどん増やすつもり。