コンピュータープログラミングの背後にある天才はどこから来たのか?
信じるかどうかは別として、コンピューター言語の発見は地球上の生命のようなもので、突然現れたのではなく、段階的に生まれました。
まず簡単に、コンピューター言語とは何でしょうか?
人間がコンピューターに非常に正確に物事を説明できるようにするものです。コンピューターは、ブログ記事のように、左の1行目から右の最後の行まで命令を読むことができます。
現在のコンピューター言語、たとえばPHPを分解してみると、実際には3つの概念が見えてきます:
- 値を記憶する(A =5、B = 10)
- 値を比較する(もし A < B)
- スクリプトの読み取りを移動する
その他すべては、最も高度な機能でさえ、これらの概念を組み合わせて利用しています。
では、最初の基本概念はどのように生まれたのでしょうか?
最初の概念はコンピューター時代以前に組み込まれていました。単純な機械式システム(アナログ)を利用していたものもあります。Leibniz は、1700年代ごろに二進法を使って算術演算を行った最初の人物でした。
しかし、最初の電子計算機は1945年にPresper EckertとJohn William Mauchlyによって登場しました。これにより、値を記憶し、操作し、比較し、最初から最後まで基本的に移動する能力が得られました。
高度なコマンドを実行する最初のスクリプトは、おそらくかなり長く面倒なものだったでしょう。そこで自然に関数という概念が現れました。これは、開始時の変数を変えながら同じ作業を実行する、より小さなスクリプトです。
この新しい方法により、コンピュータースクリプトをより簡単に書けるようになりました。しかし実際には、コンピューターが書かれたプログラムを読み、さまざまな関数へ移動するとき、それを直接行っているわけではありません。実行前、または保存時に、スクリプトはコンパイルを通過し、最初の文字から最後の文字まで単純に読めるよう別の形に変換されます。
つまり、すでに存在するスクリプトが、より高度なスクリプトを書くことを可能にしているのです。
すべてのプログラミングはこの方法に基づいています。さまざまなスクリプトが、他のスクリプトをより簡単に、より最適化され、より高度に開発する助けとなり、それが続いていきます。
PHPに戻ると、たとえばstr_replaceのようなネイティブ関数があります。これは文字列内のある文字群を別の文字群に置き換えるものです。このネイティブ関数も、基本概念に基づいた既存のスクリプトにすぎません。関数は文字列を何度も走査し、値を比較し、新しい値を保存します。
つまり、いくつかの基本要素がさまざまに組み合わされて新しい概念を形作り、その概念自体もまた別の組み合わせで他のものを生み出します。こうして現在の言語にたどり着き、多くの可能性を備え、数年後にはさらに増えていくでしょう。これらすべての機能は、コンピューター言語の発展に関わった多くの人々の仕事の成果です。
自分のプログラムを開発するなら、まず自分のニーズに合った新しい関数を作り、その関数が他の自分の関数を呼び出し、組み合わさり、プログラム内で実行されて目的を達成します。
そこにこそ、コンピューターの素晴らしさがあります!
コンピュータープログラミングの背後にある天才はどこから来たのか?
信じるかどうかは別として、コンピューター言語の発見は地球上の生命のようなもので、突然現れたのではなく、段階的に生まれました。
まず簡単に、コンピューター言語とは何でしょうか?
人間がコンピューターに非常に正確に物事を説明できるようにするものです。コンピューターは、ブログ記事のように、左の1行目から右の最後の行まで命令を読むことができます。
現在のコンピューター言語、たとえばPHPを分解してみると、実際には3つの概念が見えてきます:
- 値を記憶する(A =5、B = 10)
- 値を比較する(もし A < B)
- スクリプトの読み取りを移動する
その他すべては、最も高度な機能でさえ、これらの概念を組み合わせて利用しています。
では、最初の基本概念はどのように生まれたのでしょうか?
最初の概念はコンピューター時代以前に組み込まれていました。単純な機械式システム(アナログ)を利用していたものもあります。Leibniz は、1700年代ごろに二進法を使って算術演算を行った最初の人物でした。
しかし、最初の電子計算機は1945年にPresper EckertとJohn William Mauchlyによって登場しました。これにより、値を記憶し、操作し、比較し、最初から最後まで基本的に移動する能力が得られました。
高度なコマンドを実行する最初のスクリプトは、おそらくかなり長く面倒なものだったでしょう。そこで自然に関数という概念が現れました。これは、開始時の変数を変えながら同じ作業を実行する、より小さなスクリプトです。
この新しい方法により、コンピュータースクリプトをより簡単に書けるようになりました。しかし実際には、コンピューターが書かれたプログラムを読み、さまざまな関数へ移動するとき、それを直接行っているわけではありません。実行前、または保存時に、スクリプトはコンパイルを通過し、最初の文字から最後の文字まで単純に読めるよう別の形に変換されます。
つまり、すでに存在するスクリプトが、より高度なスクリプトを書くことを可能にしているのです。
すべてのプログラミングはこの方法に基づいています。さまざまなスクリプトが、他のスクリプトをより簡単に、より最適化され、より高度に開発する助けとなり、それが続いていきます。
PHPに戻ると、たとえばstr_replaceのようなネイティブ関数があります。これは文字列内のある文字群を別の文字群に置き換えるものです。このネイティブ関数も、基本概念に基づいた既存のスクリプトにすぎません。関数は文字列を何度も走査し、値を比較し、新しい値を保存します。
つまり、いくつかの基本要素がさまざまに組み合わされて新しい概念を形作り、その概念自体もまた別の組み合わせで他のものを生み出します。こうして現在の言語にたどり着き、多くの可能性を備え、数年後にはさらに増えていくでしょう。これらすべての機能は、コンピューター言語の発展に関わった多くの人々の仕事の成果です。
自分のプログラムを開発するなら、まず自分のニーズに合った新しい関数を作り、その関数が他の自分の関数を呼び出し、組み合わさり、プログラム内で実行されて目的を達成します。
そこにこそ、コンピューターの素晴らしさがあります!
コンピュータープログラミングの背後にある天才はどこから来たのか?
信じるかどうかは別として、コンピューター言語の発見は地球上の生命のようなもので、突然現れたのではなく、段階的に生まれました。
まず簡単に、コンピューター言語とは何でしょうか?
人間がコンピューターに非常に正確に物事を説明できるようにするものです。コンピューターは、ブログ記事のように、左の1行目から右の最後の行まで命令を読むことができます。
現在のコンピューター言語、たとえばPHPを分解してみると、実際には3つの概念が見えてきます:
- 値を記憶する(A =5、B = 10)
- 値を比較する(もし A < B)
- スクリプトの読み取りを移動する
その他すべては、最も高度な機能でさえ、これらの概念を組み合わせて利用しています。
では、最初の基本概念はどのように生まれたのでしょうか?
最初の概念はコンピューター時代以前に組み込まれていました。単純な機械式システム(アナログ)を利用していたものもあります。Leibniz は、1700年代ごろに二進法を使って算術演算を行った最初の人物でした。
しかし、最初の電子計算機は1945年にPresper EckertとJohn William Mauchlyによって登場しました。これにより、値を記憶し、操作し、比較し、最初から最後まで基本的に移動する能力が得られました。
高度なコマンドを実行する最初のスクリプトは、おそらくかなり長く面倒なものだったでしょう。そこで自然に関数という概念が現れました。これは、開始時の変数を変えながら同じ作業を実行する、より小さなスクリプトです。
この新しい方法により、コンピュータースクリプトをより簡単に書けるようになりました。しかし実際には、コンピューターが書かれたプログラムを読み、さまざまな関数へ移動するとき、それを直接行っているわけではありません。実行前、または保存時に、スクリプトはコンパイルを通過し、最初の文字から最後の文字まで単純に読めるよう別の形に変換されます。
つまり、すでに存在するスクリプトが、より高度なスクリプトを書くことを可能にしているのです。
すべてのプログラミングはこの方法に基づいています。さまざまなスクリプトが、他のスクリプトをより簡単に、より最適化され、より高度に開発する助けとなり、それが続いていきます。
PHPに戻ると、たとえばstr_replaceのようなネイティブ関数があります。これは文字列内のある文字群を別の文字群に置き換えるものです。このネイティブ関数も、基本概念に基づいた既存のスクリプトにすぎません。関数は文字列を何度も走査し、値を比較し、新しい値を保存します。
つまり、いくつかの基本要素がさまざまに組み合わされて新しい概念を形作り、その概念自体もまた別の組み合わせで他のものを生み出します。こうして現在の言語にたどり着き、多くの可能性を備え、数年後にはさらに増えていくでしょう。これらすべての機能は、コンピューター言語の発展に関わった多くの人々の仕事の成果です。
自分のプログラムを開発するなら、まず自分のニーズに合った新しい関数を作り、その関数が他の自分の関数を呼び出し、組み合わさり、プログラム内で実行されて目的を達成します。
そこにこそ、コンピューターの素晴らしさがあります!
Japanese
French
English
Spanish
Chinese
Korean
Hindi
German
Norwegian