C ++:すべての人のためではない映画を作る方法

画像

映画館の画面はしばらくの間空白になり、最初のクレジットが表示されました。 暗いホールから、非常にわずかな拍手が聞こえ始めました。 終了した映画を好む人はほとんどいないように見えます:音で観客を称賛する数十人を数えることができます... 珍しい観客のグループが半分空いている部屋に座って、みんなが拍手します...それは通常「映画はみんなのためではない」と呼ばれるクローズドショーでした。

これはC ++と何の関係がありますか? おそらく最も直接的な...



C ++言語は非常に多様で多様であり、創造性に大きな範囲を与えます。 「プログラミングの芸術」は、C ++に関する記事や文献によく見られるフレーズです。 しかし、それはどれほど良いですか? 個々の開発者によるソフトウェア製品の開発は、開発者同士のスキルの競争のように見え始めます。言語の開発の高度な傾向に精通している「経験豊富な」プログラマーのみが理解できる設計と関係が作成されます。 すぐに標準になるかもしれないもののアプリケーション...これなしではどこに!? このすべての結果は、メンテナンスが不十分なソフトウェア製品です。



構造の複雑化は必然的にエラーにつながり、高度な資格を持つプログラマーのみがそれらを修正できます。 しかし、全体のパラドックスは、「C ++スター」はコードの保守に関与することを好まないということです。 そのため、開発に多額の資金を費やした会社は、キャンドルを交換するためのマスターが非常に高価で見つけにくいため、エンジン全体を廃棄して新しいものに交換する方が安価なユニークな車のようなものの所有者になります。



もちろん、私が説明したことはいくぶん肥大化していますが、これはおそらくC ++開発者チームのすべてのリーダーが遭遇したことです。 製品開発が製品自体のためではなく、内部の美しさのためであり、開発者自身にしか理解できない場合。 時々それは不条理のポイントに達します。 そのため、すべてを「正しく」行うために、基本タスクに多くのリソースが費やされています。 達人のアドバイスどおり。 そして、これにより、エラーの量と数が大幅に増加し、デバッグにさらに時間がかかることがわかりました。



私は心理学や常識の観点から何が起こっているのかを正確に伝えることはできません。 しかし、私は一つのアナロジーを与えることができます。 多くの人がディズニースタジオの漫画を見たと思います。 しかし、アーティストの間では、これらの漫画は消費財のようなものと見なされていることをご存知でしたか。 同様に、彼らは芸術ではありません。 当時、ディズニーはそのような漫画の制作のために非常に単純化され形式化された技術を開発したためです。 これが、何百人もの異なるアーティストが出演したフルレングスの映画を作成することを可能にしたものであり、異なるエピソードでキャラクターが異なる理由を視聴者に質問させません。



ソフトウェア製品の生産においても。 チームが大規模なプロジェクトに取り組むためには、開発への簡素化されたアプローチが必要です。 一人のプログラマーの技術を最小限に抑え、質的に新しいレベルに移行することが必要です。 憧れが一人の人間ではなく、うまく調整されたチームがしたことです。 私にはこれが動機であるように思えます。 専門家だけでなく、一般の人々の間でも成功する製品を作成します。

個人的に、私は最初に話した映画の監督になりたくありません。 彼は生涯、映画の作り方を教え、この間、「みんなのためではない」映画をいくつか撮りました。 アート。 彼の間で彼は尊敬を得ているかもしれません。 しかし、私にとっては、「プロ」映画からはほど遠い人として、アバターとその作成者キャメロンがどれほどひどく下品であるかについての彼の言葉は、穏やかで面白いと言っていました。 そして、私の代わりに多くの人がそのような感情を経験したでしょう。 人生のすべての人のためにではない映画を作った人は、どうして人気の映画について話すことができますか? プログラマーの間でもそうです。 何か特別なことをしたいという欲求は、グループで働き、実用的な製品を手に入れたいという欲求を妨げます。 シンプルでよく知られた方法で結果を得る代わりに、多くの人が独自の方法を見つけて自転車を何度も発明しようとしています。「XMLパーサーを作りました。 オープンなTinyXMLよりも3倍高速です。」 また、プログラムの起動時に設定を読み込むためにこの速度を必要とする人がいないこと、誰も気付かないことを人に気にしないでください。

才能のある人はたくさんいますが、それぞれが独自の方法で才能があり、それぞれがチームの残りに常に注意を払うのではなく、自己実現に努めています。 そして、これはおそらくソフトウェア開発で最も難しいタスクの1つです。 個々のプログラマーの才能の現れとプロセスの標準化の間のバランスをとる。 そして、この困難な課題をどのように解決しますか? 自分を打ち負かし、他の開発者に正しい道を示す方法は?



All Articles