ホーム 開発 多くのプログラマーが言語は重要ではないと言う理由: その秘密は疑似コードと構文にあります

多くのプログラマーが言語は重要ではないと言う理由: その秘密は疑似コードと構文にあります

ソフトウェア開発の世界では、普遍的に共有されているわけではありませんが、「プログラミング言語自体は、基礎となるプログラミング スキルほど重要ではない」という言葉が繰り返し聞かれます。

素人にとって、これは、それぞれが独自のルールと適用を持つ無数の言語が支配する分野における矛盾のように見えるかもしれません…

…しかし真実は、優れたプログラマになるためには、言語の特定の構文よりも重要なことがあるということです。

見てみると…
【エンジニアあるある】ベテランエンジニアと駆け出しエンジニアの違い
2017 年と今後のプログラマーのキャリア (ハビエル・サンタナと)

疑似コードについて考える: 最初のステップ

プログラマーが問題に直面したとき、最初のステップは、擬似コードの観点から解決策を概念化することです。擬似コードは、自然言語と基本的な制御構造を組み合わせて使用​​する、アルゴリズムの簡略化された高レベル表現として説明できるプログラミング ロジックの表現です

疑似コードについて話すときの (非常に) 単純な例です。

プログラマーのように考える能力

特定の言語の知識を超えて、プログラマーにとって最も価値のあるスキルは、アルゴリズム的かつ論理的に考える能力です。この考えには次のものが含まれます。

  1. 問題の分解: 複雑な問題を、より管理しやすく解決可能な部分に分解します。
  2. パターン認識: さまざまな問題における共通のパターンを特定して使用し、効果的な解決策を見つけます。
  3. 抽象化: 問題の本質的な側面に焦点を当てるために、実装の詳細を簡素化します。

最初のステップは何ですか?

上記のすべてを理解した上で、この段階でプログラマーは次のことに重点を置きます。

  • 入力データと出力データを定義します。
  • 条件とその処理方法を確立します。
  • 最初から最後までのワークフローを決定します。

この最初のアプローチは、プログラマーが「ハッピー パス」、つまりすべてが完璧に機能するパスを視覚化できるため、非常に重要です。

擬似コードの利点

  1. 明確さと単純さ: 疑似コードは構文に制限されないため、開発者は問題のロジックに集中できます。これにより、複雑なアイデアやアルゴリズムを明確でわかりやすい方法で簡単に伝えることができます。
  2. 言語の独立性: アルゴリズムが擬似コードで表現されると、任意のプログラミング言語に翻訳できます。これは、アルゴリズムのロジックと設計が言語自体よりも重要であるという考えを強化します。
  3. コラボレーションの促進: 複数の言語を扱う開発チームは、専門分野に関係なく、誰もが理解できる共通言語として疑似コードを使用することで利益を得ることができます。

特定の構文への変換

開発者は、プログラミング ロジックを練り上げた後でのみ、ソリューションを使用している特定の言語に翻訳します。それでも、プログラマーがすでにその言語に精通している場合、この翻訳はほとんど気付かないほど高速かつ自然になる可能性があります。

この言語の習得により、プログラマーはコードの最適化や、コードの読みやすさ、モジュール性、保守性などのより良い開発手法の採用にさらに集中できるようになります

また、言語固有のライブラリとツールをより効果的に活用できるため、ソフトウェアの開発と改善のプロセスを大幅にスピードアップできます。

それで、覚えておいてください…

変数、制御構造 (ループ、条件分岐)、関数などの基礎となるプログラミング概念は普遍的です…

…一方、角括弧、中括弧の使用、条件文のさまざまな記述方法 ( elif、elsif、else if ) やループの設定 ( for 、 whire 、 foreach ) などの特定の詳細は、単に構文のバリエーションにすぎません。

ソフトウェア開発の世界では、普遍的に共有されているわけではありませんが、「プログラミング言語自体は、基礎となるプログラミング スキルほど重要ではない」という言葉が繰り返し聞かれます。

素人にとって、これは、それぞれが独自のルールと適用を持つ無数の言語が支配する分野における矛盾のように見えるかもしれません…

…しかし真実は、優れたプログラマになるためには、言語の特定の構文よりも重要なことがあるということです。

見てみると…
【エンジニアあるある】ベテランエンジニアと駆け出しエンジニアの違い
2017 年と今後のプログラマーのキャリア (ハビエル・サンタナと)

疑似コードについて考える: 最初のステップ

プログラマーが問題に直面したとき、最初のステップは、擬似コードの観点から解決策を概念化することです。擬似コードは、自然言語と基本的な制御構造を組み合わせて使用​​する、アルゴリズムの簡略化された高レベル表現として説明できるプログラミング ロジックの表現です

疑似コードについて話すときの (非常に) 単純な例です。

プログラマーのように考える能力

特定の言語の知識を超えて、プログラマーにとって最も価値のあるスキルは、アルゴリズム的かつ論理的に考える能力です。この考えには次のものが含まれます。

  1. 問題の分解: 複雑な問題を、より管理しやすく解決可能な部分に分解します。
  2. パターン認識: さまざまな問題における共通のパターンを特定して使用し、効果的な解決策を見つけます。
  3. 抽象化: 問題の本質的な側面に焦点を当てるために、実装の詳細を簡素化します。

最初のステップは何ですか?

上記のすべてを理解した上で、この段階でプログラマーは次のことに重点を置きます。

  • 入力データと出力データを定義します。
  • 条件とその処理方法を確立します。
  • 最初から最後までのワークフローを決定します。

この最初のアプローチは、プログラマーが「ハッピー パス」、つまりすべてが完璧に機能するパスを視覚化できるため、非常に重要です。

擬似コードの利点

  1. 明確さと単純さ: 疑似コードは構文に制限されないため、開発者は問題のロジックに集中できます。これにより、複雑なアイデアやアルゴリズムを明確でわかりやすい方法で簡単に伝えることができます。
  2. 言語の独立性: アルゴリズムが擬似コードで表現されると、任意のプログラミング言語に翻訳できます。これは、アルゴリズムのロジックと設計が言語自体よりも重要であるという考えを強化します。
  3. コラボレーションの促進: 複数の言語を扱う開発チームは、専門分野に関係なく、誰もが理解できる共通言語として疑似コードを使用することで利益を得ることができます。

特定の構文への変換

開発者は、プログラミング ロジックを練り上げた後でのみ、ソリューションを使用している特定の言語に翻訳します。それでも、プログラマーがすでにその言語に精通している場合、この翻訳はほとんど気付かないほど高速かつ自然になる可能性があります。

この言語の習得により、プログラマーはコードの最適化や、コードの読みやすさ、モジュール性、保守性などのより良い開発手法の採用にさらに集中できるようになります

また、言語固有のライブラリとツールをより効果的に活用できるため、ソフトウェアの開発と改善のプロセスを大幅にスピードアップできます。

それで、覚えておいてください…

変数、制御構造 (ループ、条件分岐)、関数などの基礎となるプログラミング概念は普遍的です…

…一方、角括弧、中括弧の使用、条件文のさまざまな記述方法 ( elif、elsif、else if ) やループの設定 ( for 、 whire 、 foreach ) などの特定の詳細は、単に構文のバリエーションにすぎません。

最新記事一覧