エスメラルダのような想像力

(翻訳者から:このテキストは、2012年の大Go日のGo言語の開発者の1人のブログに掲載されました。このテキストは、過去2年間にわたってその関連性を失っていません。さらに、Goの代わりに他の非メインストリーム言語が登場する可能性があります。テキストはナレーション付きです。)


私の友人の女優の一人-彼女のエスメラルダと呼ぼう-かつて言った、「私はいつも女優になるだろうと知っていた。 私は他の誰かになるとは想像できません!「誰かが反論しました:「あなたはどのような女優ですか?」



Goについてのレビューを読んだ後、この会話を思い出しました:「ジェネリックなしでどのようにプログラミングできるか想像もできません!」レトルトしたいのは「プログラマーですか?」



この記事はジェネリックに関するものではありません-私はそれらに対して何も反対していません:多分いつかGoに登場するかもしれないし、そうでないかもしれません。 このメモは、想像力について 、または少なくともプログラマが想像力として通常渡すもの、つまりクレームについてです。 私の友人の一人は、今、暇な時間を過ごす最も一般的な方法は、あなたの苦情でネットワークの空気を揺さぶることであると述べました。 申立人にとって、これは平和的な退任です。 しかし、苦情の尽きることのないストリームの受信者は非常に憂鬱です。 彼らは私に非常に不満を漏らし、今や私自身が退院を必要とし始めました。 私はこれのために何をしていますか? そう、私は自分のブログにdする投稿を書いています。







少し前までは、プログラムを書く人はプログラマと見なされていました。 今、プログラマーはプログラミングに時間を浪費することをleastしみません。 今日のプログラマは、1行のコードに収まる既製のソリューションがなければ、座ってresする人です。 (言語開発者の観点から見ると、言語の成功基準は、プログラムを1行のコードに減らすことができるということです。APLの例は誰にも教えていません。)







現代のプログラマーのより広い定義:彼は同じ方法で問題を解決しようとするものであり、彼が失敗した場合、彼は彼のツールの不完全さに怒ります。



プログラマーがプログラミングを余儀なくされた場合、または少なくともコードを書いている最中に頭をオンにした場合でも、彼はブログ、ツイッター、オフィスの隣人のサブスクライバーとwithりを共有します。 テキストの壁は、特定の言語で問題Xを解決するために余分な文字を印刷する必要があるという事実に対する誠実なinりで飽和しています。 彼らはHowした投稿に何千もの余分なキャラクターを費やすという不条理にどうして気付かないのでしょうか? 彼らが問題Xを解決するのに同じ時間を費やしていたら、すでに10回解決されていたでしょう。 しかし、彼らは本当に貴重な時間のプログラミングを無駄にしますか?!



Goは2年前、そしてDartは今年出てきました。 これらの言語は異なる開発グループを持ち、異なる目標を設定します。GoとDartの両方がGoogleによってリリースされていることを除いて、少なくとも共通点があるとは考えられません。 しかし、Dartの最初のレビューの多くが、Goのリリース後に受け取った最初のレビューを、文字通り「Go」の名前を「Dart」に置き換えただけで、ほとんど繰り返しました。 新しい言語にクレームを公開する前に、GoまたはDartで何かを書くことは完全にオプションです。 それどころか、プログラムしようとしないことが重要です。 そうすれば、あなたのフィードバックは「公平」になります!



どちらの場合も、大声で表現力豊かな構成のレビューが多数ありましたが、それらはすべて、記述されている言語については何も表現してません 。 これは、新しくて不慣れな何かに対する現代のプログラマーの通常の反応です。 内容について文句を言わず、何かについて不平を言う著者の欲求を満たすためだけに役立つ。 これを行うために、あまり気にする必要はありません:同じnit-pickingは無限の言語に適合します(「XXXなしの言語でどのようにプログラミングできるか想像もできません!」)そして、コードとは異なり、nit-pickingはエラーについてチェックされません。



Goのリリース後しばらくして、レビューのトーンが少し変わりました:一部の人々はまだそれをプログラムしようとしました。 問題は、彼らが-この投稿が始まった物語の解説者のように-想像力に欠けていたことです。 GoはGoプログラミング言語であり、Java、Haskell、またはその他の既存の言語の新しい構文ではありません。 適切なGoプログラムを作成するには、Javaでプログラミングするときとは異なる考え方が必要です。 代わりに、現代のプログラマはパスを短縮します。完成したコードを取得し、Goに書き換えます。 同時にGoのコードは、実際、時々厄介であることが判明します。 しかし、Goの問題ではありません。Goで最初から同じプログラムを作成し、他のアプローチを使用すると(Goにとってはより自然で、同じJavaではあまり適用されません)、コードはより活気があり、明るくなります。 しかし、 異なる考え方を学ぶには 、時間と労力を費やす必要があります-Go評論家が手に入れることができる以上のものです。 Javaで10年の経験があり、Goで10分の経験がある人に、Goがどれほど洞察力があると期待できますか? それにもかかわらず、このようなレビューはプログラマーによって公開され、熱心に議論されています。 それでも、現代のプログラマーをオンラインの苦情よりも魅了できるものは何ですか?



もちろん、私は誇張します。 2年で、十分なプログラマーがGoを正しく使用する方法を学ぶのに時間を費やし、彼らの多くは達成した結果に満足しました。 Goプログラマーのコミュニティの成長により、すばらしいプログラムが数多く作成され、世界中に本物のプログラマーがまだいるという希望が返ってきました。 明確なプログラマー:プログラミング言語を正しく使用する方法を学ぶには、時間がかかり、想像力が必要であり、その言語でのプログラミングの練習が必要です。 これらの費用はすべて、達成された結果とともに返済されます。



しかし、Goのインターネットに対する空っぽの批判はまだたくさんあります。 したがって、私は次の声明で新しい2012年を開始したいと考えています。 「苦情については、まず苦情の対象ではなく、苦情の性質の証明書を確認します。 プログラマーの信頼を得るには、苦情ではなく、経験と洞察が必要です。これには想像力が必要です。 プログラミングを少し練習しても害はありません。」



All Articles