成功したプロジェクトからあなたを分離する500の実験

これは、私がとても賢いからではありません。 これは、問題を解決するときに長い時間あきらめないためです。

アルバート・アインシュタイン


クリエーターとしての職業があるとします。 作成者は何をしますか? クリエイターは物を作ります! 夕食 巣箱。 パンツ。 ショッピングセンター。 写真カメラ用のレンズ。 ジェットエンジン。 水力発電所。 ピアノ 火星ローバー。



クリエイターであることは大変な仕事です。 これは非常に広大なエリアであり、たとえ何百もの植木鉢を作ったとしても、1995年のフォードトラック用の触媒コンバーターを作成するのには何の助けにもなりません。



ここで、「プログラマー」と呼ばれる職業を考えてください。 プログラマは何をしますか? プログラマーがプログラミングをしています! 自動運転車。 フライトシミュレーター。 エンジン管理システム。 ハードドライブのファームウェア。 コンパイラー ビデオゲーム。 フライトプランナー。 デジタルカメラ。



一方向に集中すると、そのフラクタル構造に気付くことができます。 ビデオゲーム? チェスから3Dの魅力的な世界、テキストクエストからレトロなプラットフォーマーまで、すべてをカバーしています。レトロなコンソールゲームには、幅広いスタイルとパフォーマンステクニックがあります。 狭く専門化された手法を1つ選択したとしても、設計のわずかな変更によって、タスクを単純なものから脳を引き裂くものに根本的に変えることができます。



その結果、ほとんどの場合、ソフトウェア開発者は、問題全体の完全で揺るぎない概念なしで作業することがわかります。 作成するとき、私たちは常に理論上のギャップを埋めます。 私たちが構築するすべては、主に研究プロジェクトです。



十分な経験がないものをどのように理解し始めますか? 実験を行っています。 答えを出し、考えを合理化するインターフェイスを使用した、1回限りの小さなコードと実験の多く。



たとえば、PNGデコーダーを記述することは、メインコードとは別に調整できる多くの小さなタスクのセットです。 重要なアプリケーションには、プロトタイプを必要とするユーザーと対話するための要素が含まれています。理解できない矛盾する設計ソリューション、多くの論理的な落とし穴、以前は使用されていなかったAPI関数などを学習する必要があります。 たぶん500。 そして、これらの実験を行うまでは、自分が何をしているかを明確かつしっかりと理解することはできません。



All Articles