新しいプログラミング言語 にどの機能を追加して、「直観的」にすることができますか?ウェブサイトや デスクトップでは、使いやすさに優れており、ほぼ直感的です 使いやすさあなたの アプリケーションが「うまくいく」ことがますます期待されています。特定のクラスの アプリケーションについては、RTFMにあるアイデアは、アプリケーションの有効性を示すマーク です。人々は の傾向があり、アプリケーションは単に彼らが "考える"方法で働くことを期待します。 は動作するはずです。これはデザイナーが努力すべき価値のある標準 であると主張することができます。プログラミング言語は直感的であるべきですか?
プログラミング言語 と開発者環境に同じユーザビリティが適用できますか?ヒントを提供する IntelliSenseのようなツールがあり、良いIDEは の支援を提供しています。しかし、コア言語そのものはどうですか?どのような を追加(または削除)して、特定のプログラミング の技法またはアルゴリズムを実装するのがより明白になりますか? はどのように正規表現や再帰をより積極的にするのですか?または これはちょうど愚かですか?
より具体的な例を挙げてください:液体レイアウトは、HTML、CSS、 またはFlexとMXMLです。 HTMLとCSSでは、ボックスモデルは ですが、 Internet Explorerと他のブラウザのさまざまな実装では直感的です。誰か がドキュメントを読んだり、ボックス モデルのコンセプトを研究しない限り、 をCSSの最初の刺しゅうのレイアウトにデザインするときに「ちょうどそれを得る」ことは難しいでしょう。私はこれが早い時期にテーブルが繁盛した理由は だと主張します。ボックスモデルはテーブルセルの概念に暗黙のうちに でした。 Dreamweaverのようなツールを使用すると、 の幅とレイアウトの周囲に、テーブル の拘束の範囲内で自分の考えを得ることができます。その後、CSSが成熟し、テーブルがレイアウト用ではない理由のために有効な という一連の理由が浮かび上がった。しかし、 には、デザイナーが実際に CSSの実装とボックスモデルを研究していたのと同じ効果を達成し、新しい考え方に抽象レイヤー を注入します。別の例では
、私は物事ActionScriptで とMXMLの多くをプログラミングするときに、流体のレイアウト と要素の割合に基づく幅ではない非常に明白と の全体のコンセプトは、常に直感に従っていないことが判明。私は、 の基本的な問題を理解しています。つまり、Adobe Flash playerとレイアウトには絶対ピクセルの用語を理解するために が必要です。コンポーネントの潜在的な幅に が来るとき、 のパーセントがコードのコアレベル で実装するのがすぐに分かりません。理論的には、Flash プレーヤーは コンポーネントの正確な幅を知る必要があります。つまり、画面上で描画するときにビデオカード に適切なジオメトリを提供できるようにする必要があります。しかし、 にパーセンテージの概念を導入すると、理論的には無限の幅の可能性があると考えられます( )。そして、 "無限 - 1"ピクセルを見つけることは、コンピュータが何かできることではない 抽象的ないくつかの層なしで直接行うと 計算。ビューポートを参照する必要があります。プログラム は境界を知る必要があります。したがって人間は の割合でデザインすることを好むかもしれませんが、絶対幅は標準であり、 です。
プログラミング言語について言えば、 プログラミングタスクについて考えるとき、直感を助ける表現と機能があります。または、私たちは、 "コンピュータのように考えて "をオフにしたほうがいいですか? コードにいくつかの機能やレイアウトを実装する方法を理解しておく必要がある場合は、マニュアルをRTFMするだけですか?
プログラミング言語の構文やセマンティクスを変更することができますか? を変更したり追加したりして、その「直感性」を改善しますか?
補遺、どのような「初心者」の例を見て に触発され、この質問をする理由はAlan Kay's lecture: Doing with Images Makes Symbolsに のSmalltalkで達成することができました。
これはおそらく主観的な話であり、 "Community wiki"と書かれていなければなりません – Randolpho