言語哲学

世界のプログラマーコミュニティがこの表記上の怪物N. Wirth )を受け入れた平穏さは、本当に驚くべきことです。

画像

プログラミングがどのようにして公式に「芸術」の地位を獲得したかを想像してください。 今日、次のアプリケーションプログラムまたはWebポータルに携わっているプログラマーは、5〜10年前に解決する問題を解決しません。 明らかに? 事実? 手頃な価格のクロスプラットフォーム技術、生産性の高いコンピューティングリソース、高速電子コンピューティングネットワークが広く普及したことにより、プロの業界では広く緩和されています。 多くの文献、さまざまな畳み込み方法、および品質の測定単位がプログラムコードの評価の問題に当てられています。 私はほとんど知覚できない、ほとんど知覚できない-プログラムコードの美しさについて説明したいと思います。



挑戦する


美しいものを簡単に強調し、ネットワーク上のエレガントなページに注意を払い、新しいスポーツカーの魅力に感謝することができます。 グループソフトウェア開発に従事しているため、「優秀なプログラマー」と「学童主婦」を区別することができます。 プログラムコードの美しさを評価するための基準は何ですか? それらのほとんどが感情と感情の側にあるという事実にもかかわらず、この分野での理解を体系化しようとすることはできますか?



論文


私の意見では、オブジェクトの美しさの評価は体系的に実行する必要があります。つまり、オブジェクト自体を考慮し、それを特定の理想(最適化理論の慣習である最適)と比較するだけでなく、それに関連する多くのことも行う必要があります。 プログラムコードについては、以下を強調できます。
  1. 解決すべき課題
  2. 決定アルゴリズム
  3. 実装の手段とツール
  4. 実装(コード自体)
  5. リストされた要素のあらゆる種類の相互作用。


この記事の最初の2つの側面の考慮を無視し、問題の記述を顧客とアナリストに任せ、解決するためのアルゴリズムの選択を理論物理学者と核科学者に任せます。 それにもかかわらず、私たちが親切に作成したアルゴリズムを実装するための手段とツールの検討と選択に集中することを主な注意として提案します。 ここからが楽しみです。 お気に入りの言語、IDE、ライブラリを選択する際に誰も私たちを制限しないとしましょう。しかし、そこには何がありますか。プラットフォームもソフトウェア用にカスタマイズされます。 ほとんどの開発者は狭い専門家であり、これに感謝していますが、それでも、特定の問題を解決するときには、信念ではなく資金の研ぎ澄ましに頼る必要があります。 「以前にBasicを学んだ学生は、優れたプログラミングを教えることはほとんど不可能です。 潜在的なプログラマーとして、彼らは不可逆的な精神的衰弱を経験しました」とダイクストラは語り、おそらく正しいと思いました。 地獄、あなたはシャベルがあるときにフォークで掘ることができなければなりませんか? そして、近くにブルドーザーがある場合、なぜ手を汚すのですか?



理由、タスク、概念


私は創造されたものすべてに独自の理由があると信じています。 プログラミング言語のような複雑なメカニズムを作成するために、著者は、それが人間であろうとロボットであろうと、この非常に骨の折れるイベントを引き起こした理由に依存しています。 したがって、私の意見では、開発者のタスクは、既存の製品を評価し、作成の理由を理解し、タスクを認識し、これらのタスクを言語作成者が開発を行った理由と比較することができます。 普遍的なプログラミング言語は存在せず、存在しません。普遍的なプログラマも存在せず、存在しません。 コードの実装の美しさは、あらゆる言語(自然言語を意味する)のように、継続的な実践によって達成され、秘密はありません。 芸術は、油絵をブラシで塗り、それをできるようにすることであり、それは重要であり、適切な場所に適切に配置することです。 新鮮な花のある美しい花壇を想像してみてください。 しかし、この花壇が大都市圏の郊外、労働地区、暗闇、土、壊れた道路、酔っぱらった火傷などの恵まれない地域にある場合はどうでしょうか? プログラミング(狭い意味で-コーディング)はそれ自体で終わりではなく、まったく終わりではないことがわかります。 問題の解決策を複雑なものと考えると、その美しさやその不在がわかります。



おわりに


人々は、要素の美しさと組成の美しさを決して比較することはできず、システム分析だけで少なくとも客観性に少し近づくことができることを理解する必要があるように思えます。 C言語の構成について話すと、Niklaus Wirthはパーサー(ほとんどソングライターではない)の問題を解決しました。



All Articles