「正直９年経ったいまでもfor文ググってる」

「正直９年経ったいまでもfor文ググってる」

https://dev.to/rudderstack/9-years-on-i-still-google-javascript-for-loop-5add

という議論記事があった。正直なところ私もググる方の人だ。私の感想:

- ポンとテキストエディタだけ渡された時に書けるか自信ないぞ...IDEがあればまあ大丈夫かなあ。
    - JavaScriptだけじゃない。言語色々扱うしという言い訳。正規表現とか毎度調べる。
    - だから世の中にチートシートというものがあるのだ。お気に入りチートシート多数。
    - 実戦でどうしているか？結局周りのソースを見て馴染む書き方にしていますよ多分。
    - 暗記するかしないかは受験勉強みたいなもので、コーディング面接に受かるなら必要。暗記そのものには意味はないとは思う。
        - 競技プログラミングが使えないとかいう論もあったな。
        - ググり力も大事。
- でも「最低限」もできないのはやはり恥ずかしい気持ちはある。
    - なんかこれ英語できるできないと似てるな。英語なんてGoogle翻訳、DeepL翻訳あればいいけど、実際自力である程度喋れたほうが、格段に会話が進むし、彼ら（英語話者のチームメイト）への解決力が上がる。
        - やっぱり日々勉強だ...頑張ろう...

記事末尾に続く。


## 議論

で、どんな議論になっていたのか覗いた内容です。以下DeepL翻訳利用の整形なので、[詳細は元記事へ](https://dev.to/rudderstack/9-years-on-i-still-google-javascript-for-loop-5add)。

### ご意見サマリ

- 正直に言うと、私は基本的な構文を忘れることがある。括弧の中のセミコロン、コンマにすべきだと思ったり、よくわからなくなる。


```js
let str = '';

for (let i = 0; i < 9; i++) {
  str = str + i;
}
```

- いつも、MDNからシンタックスを取得してきた方が、最初から書き直すよりも良いと思えるくらい、失敗してしまう。

- 恥ずかしいことのように感じられそうですが、恥ずかしいとは思いません。私も同じことをしていますが、基本的な構文をコピー＆ペーストしてはいけない理由はないと思います。

- 私はプロのプログラマーとして30年以上の経験がありますが、いまだに面接のために「詰め込み」をしなければならないのはそのためだとおもう。通常はグーグルで検索するような内容も、すべて短期的にアタマに詰め込む必要がある。

- Javaには4種類のループ方法があり、TSやJSにもありますが、コレクションの反復処理は含まれていません。普通のやり方ではないことをするときは、いつでもググっています。みんなそうする。そうでないふりをする必要があるのは、就職の面接のときだけですよ。

- 最近はIDEに任せています。「for」と入力すると、forループを入力するためのさまざまな方法が自動的に表示されるので、ブラウザに戻ってくる手間が省けます。記憶を頼りに入力できるかどうかは保証できませんが...

- 私は、SQL、VBA、js、python、c#を書いています。シンタックスの違いを覚えることは、インターネットで30秒もあればコピーペーストで答えが得られるのだから、精神的な負担に見合わないと思います。私を悩ませているのは、Microsoftのスタックにワイルドカードの一貫性がないことです。
 
- 私は何度も何度もjavascriptを学び直しています。ダッシュボード用に購入したテーマを統合したときのこと。ある時、ダッシュボード用に購入したテーマを簡単に統合する作業を任されたのですが、CSSクラスを1つ修正するだけで、その後3日間CSS作業に追われることになりました。フロントエンドの開発者に敬意を表します。

- 15年間、ほぼ毎日Rubyのコードを書いてきましたが、いまだに週に一度はRubyのCSVクラスをググっています。複雑なクラスでもないのに！？

- おなじです。JSとRubyでは形が違うのでググらないといけないのですが、似ているようでちょうど違うので2つの言語の間でごちゃごちゃになってしまいます🤦

- 私はRuby、Python、JSを少しずつ書いていますが、この言語の混乱が私を悩ませます。ゲーム用にC#を書くときは、構文が違うので自信はある。

- 私はループごとのC#とVBの構文をモニターのポストイットに貼っています。

- 私は自分がステレオタイプなプログラマー・ギークに当てはまらないことを恥ずかしく思っています。私はクラスの中で、卒業後にプログラミングを仕事にすることを選んだ数少ない女性の一人です。ほとんどの周りの子は、自分に合わないと感じ、劣等感を抱き、他の関連する仕事（例：プロダクトオーナー）を選んでいます。
    - この仕事に性別は関係ありませんでしたが、最も恥ずかしいのは、私がコーディングにすべての自分の時間を費やしていないという事実です。プログラミングとは関係のない他の趣味もありますし。

- 自分はこの言語やフレームワーク、ツールを創造的かつ効率的に使いこなせていないと感じます。効率的なコードを書けていないのではないかと。私の友人には、人のコードが悪いと文句を言うのが好きな人がいて（私は彼から多くを学びました）、そのせいで私の自信はこれまで以上に低下しました。

- 何とかしようと努力していますが、現場やらに自分と同じような人がいないと疲れることもありますね。

- コーディングは私の趣味ではありませんし、仕事でやっているだけで超成功しています。1日に12時間もコードを見ている人たちは、どう考えても5年後には燃え尽きてしまうでしょう。

- 誰もがやっていることだと思います。私の弱点です。たまに、何週間もフレームワークだけでPHPを書いていて、Vanilla（ライブラリ無し）のPHPに切り替えると、簡単なことでもググらないといけなくなることがあります。


### その他
煽り意見も付いていた。[ガイドライン違反](https://dev.to/code-of-conduct) マークになっていたが。

- 9年でも調べないといけないの？意味がわかりません。率直な感想です。
- アルゴリズムについてはどう思いますか？いつでも調べられるから覚える必要はないと？

等など
 
## まとめ（私の感想）

- プログラマならどこでも、共感できる話題なのだなと思いつつ
- 現場で使える力は本当はググり力、質問力だよと思いつつ
- でもそこに何年たってもググっている私は、もうちょっと、ええかげん覚えろよという自戒の念を刺激される話題だった。

### ググり力・質問力を扱う参考記事

- [エラー解決の正攻法と質問力・ググり力](https://qiita.com/yogoken/items/84dc3bbeeaba0c273d2c)
- [誰も教えてくれないググり方](https://qiita.com/hcl/items/da9367d76ff103fcb181)
- [技術的なハマりパターンを分類・オサレに命名し、パターン毎に解決策(エンジニアのググり方・質問の仕方)を明示してみた](https://qiita.com/y_tom/items/1b54d4e1a9a5f3fab402)
- [プログラマーとして大事なこと100個](https://qiita.com/error_search/items/8a6fa0cadcf733d0d8d4#33-%E3%82%A8%E3%83%A9%E3%83%BC%E3%82%92%E3%82%B0%E3%82%B0%E3%82%8B)
- [初学者目線で見たプログラミング学習において最も大切な｢質問する｣ことについて](https://qiita.com/tera_at/items/cb9f63b04f759ca10e54)

### チートシート
- https://github.com/LeCoupa/awesome-cheatsheets
- https://github.com/detailyang/awesome-cheatsheet

### for文物語

https://yapatta.hatenablog.com/entry/2021/12/25/143104

以上ただの感想文仕立てですが、もし参考になればさいわいです。