優れたプログラマーは、コードを書くときに舌の先に構文を持つ必要がありますか?彼らがオンラインで簡単なものをグーグルで検索した場合、あなたはそれらをどうしますか?彼らは良いのか悪いのか(たぶんどこを探すべきか知っている)?プログラマは良いメモリを持っているべきですか?これは優秀なプログラマーの特徴ですか?
優れたプログラマーは、コードを書くときに舌の先に構文を持つ必要がありますか?彼らがオンラインで簡単なものをグーグルで検索した場合、あなたはそれらをどうしますか?彼らは良いのか悪いのか(たぶんどこを探すべきか知っている)?プログラマは良いメモリを持っているべきですか?これは優秀なプログラマーの特徴ですか?
回答:
プログラミングに関する私の哲学は、それが「心の状態」であり、残りが「単なる構文」であるということです。(つまり、重要ではない)
そうは言っても、単純なものを調べる必要はありません。少なくとも、定期的に作業している言語についてはそうではありません。復習が必要であり、情報を見つける方法を知ることは間違いなく良いスキルです。ただし、コア構文は間違いなくよく知られている必要があります。そうしないと、検索に時間がかかりすぎ、プログラミングに時間がかかりすぎます。
それはあなたの言いたいこと次第ですが、短い答えはイエスです。
プログラマはあちこちでセミコロンやブレースを忘れるでしょうか?承知しました。おそらくめったに使用しないため、switchステートメントの構文を検索しますか?まあ、私は。ActionScriptで作業しますが、代わりにJavaのように記述しますか?間違いなく。特に別の言語で何年も働いている場合は特に、新しい言語での入力に慣れるまでに時間がかかる場合があります。
本当に心配なのは、プログラマーがIDEで支援しても構文の先頭または末尾を作成できない場合です。人がセミコロンが何のためであるか、またはそれらの派手な中括弧が何であるかを知らない場合、彼らはもっと勉強する必要があります。
switch
、その後、開口部ブラケット、その後、括弧の中で何かが続き、case
あるラベルがない、その後、その後の括弧内に、コロン、通常セミコロンでtermimanted文。そして、break
ステートメントを忘れないでください。私は最終的にそれを暗記したのは努力と意志の力であり、それでも時折ダブルチェックする必要があります。念のため。
それ以外の優秀なプログラマーが、流languageな言語の構文を定期的に調べる必要がある場合、私は間違いなく驚くでしょう。もちろん、実際にはあまり使用されないコーナーケースがあり、完全に受け入れられる場合があります。優れたプログラマーがそれらを知らないようにするには、原則として、流fluentなプログラマーは構文を調べる必要はありません。S / heはライブラリから関数とクラスを検索する必要があります:)
std::string
たとえば、のすべてのメンバーを記憶することはありません。
言語を定期的に変更したり、同時に3つまたは4つの言語で作業している立場にいる場合、それについてできることはあまりありません。しばらくの間、私は絶え間ない切り替えを必要とするプロジェクトに取り組み、自分を「参照プログラマー」と呼び始めました。
私は15年以上にわたってC ++を書いてきましたが、その難解な構文上のコーナーのいくつかを心からまだ知りません。
関数テンプレートを再度明示的にインスタンス化するにはどうすればよいですか?そして、template-template引数を持つテンプレートを部分的に特殊化する構文は何ですか?そして、ポインタの配列を受け取る関数へのポインタの配列へのポインタを返す関数を宣言することから始めないでください...
この世界には、C ++の構文のすべてを心から知っている人が、せいぜい1〜20人いると思います(もしあれば)。そして、これらはすべて、C ++コンパイラのフロントエンドを作成することでお金を稼いでいるでしょう。
ここでグーグルの「構文」に興味があります。
私の疑い(および恐怖)は、呼び出しがどのパラメータを取るかについて話しているのではなく(ほとんどのIDEはそこにプロンプトを出すので、Googleではないでしょう)、実際の「Xの実行方法」タイプのことです。
IDEにより、以前は必要だった方法で正確な名前とパラメーターリストを記憶する必要がなくなり、多くの人がそれについて少し面倒になりましたが、それで問題ありません。
しかし、Googleに必要なものは何ですか?私にとって、それは通常構文ではありません。それは、あなたが本当に知らないか、またはなかなか馴染みのないものです。
もちろん、それはグーグルのものを持たなければならないということではありません-言語は最近非常に広く、ほとんどの人はすべてを知っていませんが、あなたが言語に堪能であると主張するなら、Googleはルールではなく例外であるべきだと言います。
比較的珍しいことをしている場合や、何か別のことをしてから言語にさびている場合を除いて、私にとっては、言語を「知っている」と主張する場合、10%を超えてググリングするべきではありませんせいぜい、それは本当に非常に具体的なものでなければなりません。
これは良い記憶を持つことだという考えに関連して、そうではありません。それは、あなたが本当に(表面的にではなく)知っている何かに対して得られる本能的な感覚のようなものです。私はレシピなしでメランザネパルミジャーナを調理する方法を知っているという事実を、私が良い記憶を持っているという兆候、それは私がその料理を調理する方法を理解しているという兆候です-それらは微妙に異なるものです。
それに、これを自問してください。レストランのキッチンに行って、シェフが料理本を絶えず見ているのを見つけるでしょうか?それとも、そのモデルのHayesマニュアルをめくってメカニックがあなたの車に取り組んでいるのを見るには?それらのいずれかを見た場合、私はその人がどれだけ良いかについてかなり不安になるでしょう。
syntax != api