月曜日, 2月 6, 2023

コンピュータと文字のはじまり ビットからASCIIへ

0
ここで言うコンピュータとは電子コンピュータ、パソコンやスマートフォン、タブレットなどのほとんどすべての電子機器のことです。そのコンピュータ自体は文字という概念がありません。文字を知らないので、コンピュータのOSが、文字という概念もコンピュータに教えて、人が使いやすいようにしています。 文字の概念を教えるというのは、文字の種類や形状を含めてすべてを教えるという事です。現在のコンピュータは電気がオンかオフでしか情報を扱えないので、この中で文字の概念を教えるのは大変です。 電気がオンとオフは2パターンしかありませんが、これを2つ使えば、2倍の4パターン使えます。これでは英語のアルファベット26文字も使えませんが、電気のオンとオフを4つ並べれば16パターンあるので、0から9までの数字は利用出来ます。 これでコンピュータで数字の計算が出来るようになります。 文字を利用するためには5つ並べて、32パターンあればアルファベット26文字は利用出来ますが、数字が利用出来なくなります。6つ並べれば64パターン使えるので、アルファベットの大文字と小文字、数字の62パターンは表せます。これでも良さそうですが、他の記号などを含めると7つ並べた128パターンを使うという方法に行き着いたようです。 これでコンピュータで数字とアルファベットと記号類が利用出来るようになりますが、コンピュータ毎にこの決まりを作っていた場合、どれがどの文字に一致するのかがバラバラで使いにくいです。 これを統一したのがASCIIです。1963年にオンとオフのどのパターンがどの文字に一致させるかというのを統一させ、ASCII(American Standard Code for Information Interchange)という文字コードで標準化にしました。この時に決まったのは数字、アルファベットの大文字、一部の記号です。その後、1965年にアルファベットの小文字が対応するなど、記号なども含めてASCII自体が固まるまで数年かかっています。その後、英語以外の文字でも利用出来るように出来るようになっていきましたが、コンピュータで文字のやりとりが自由に利用出来るようになっていったのは、このASCIIが起源としてもおかしくはないです。実際にどのコンピュータでも世界各国の文字が問題なく表示できるようになっていったのは、2000年代に入った頃からです。各コンピュータでの各言語の文字表示、文字コードのUTF-8での統一などの結果です。そのUTF-8はASCIIと互換性がありながら、世界中の文字に対応できるようになっています。 実際にはこのASCIIから派生した文字コードがすべてで使われるとは限られません。IBMはASCII制定と同時期にEBCDICという文字コードを作り、自社製品で使用していました。2020年代になってもこのEBCDICは大型コンピュータのメインフレームで使われており、メインフレームと、一般的なコンピュータでのデータやりとりでは、この文字コードを意識する必要があります。

主要なプログラミング言語

0
2022年時点で主要なプログラミング言語を解説します。どのプログラミング言語を学ぶべきかがわかるようにしています。プログラミングの学習の参考にしてください。 インタープリタ型プログラミング言語 インタープリタ型プログラミング言語とは、実行の度にプログラムコードを解釈して実行されるプログラミング言語です。スクリプト言語とされる場合やスクリプト言語の事もあります。それ以外のプログラミング言語は、プログラムコードの作成後にコンピュータが理解する形に事前にコンパイルやビルドをしないと実行できません。 インタープリタ型言語は、ソースコードの記入で即プログラミングに反映し、実行出来るので、修正の度にコンパイルやビルドが必要な言語よりも利用が簡単です。一方で実行速度はコンパイルやビルドが必要なプログラミング言語の方が圧倒的に早いです。 Python 豊富なライブラリにより、小さなプログラムから、機械学習まで様々な分野で使われています。ライブラリが豊富というのは、そのプログラミング言語で実現できる機能が既に多数用意されており、ほとんどの機能はそのライブラリを使う事で簡単に実現できるという事です。 例えば画像からの文字認識を1からするには、様々な機能をすべて自分で開発する必要がありますが、文字認識がすぐに出来るライブラリを使えば最小限の設定で文字認識が可能になるという事です。 JavaScript Webブラウザ、各種アプリケーションなど様々なところで利用されているスクリプト言語。ライブラリも豊富で上位拡張したTypeScriptも含めると、様々な環境で利用や応用が出来るプログラミング言語です。 その他 その他に含めるのが適切かは微妙だと思われますが、Ruby、Perl、PHPなどもよく使われています。 アプリケーション作成に使われているプログラミング言語 インタープリタ型以外で、アプリケーション作成などによく利用されているプログラミング言語を紹介します。 C# 主にマイクロソフトが開発しており、CやC++に近いが、Javaに近い部分もあります。Visual Studioでよく使用されており、Xamarinを利用する事でWindowsだけでなく、Android、iOS含めて様々なプラットフォーム向けでも利用可能。 https://docs.microsoft.com/ja-jp/dotnet/csharp/ Kotlin Javaから発展した言語で、GoogleはAndroidの推奨アプリケーション開発言語に指定しています。 https://kotlinlang.org/ Swift Appleが中心に開発しているObjective-Cから発展した言語です。iOS、macOSなどAppleのプラットフォーム向けのアプリケーション開発だけでなくWindowsでも利用出来ます。 https://www.swift.org Java Javaはオラクルが中心に開発しており、C++の影響を受けている言語です。特にサーバー側のWebアプリケーションで利用されていることが多いです。 https://www.oracle.com/java/ Dart Googleが中心に開発している言語で、JavaScriptを発展させたもので、CやJavaなどの影響もうけています。同じくGoogleが提供しているFlutterはDart言語を採用しており、Webアプリだけで無く、iOS、Android、macOS、Windowsなどのアプリケーションの開発も可能。 https://dart.dev システムプログラミング システムプログラミングとは、簡単に言えばOSのようなハードウェアに近いプログラミングのことで、いわゆる低いレイヤーでのソフトウェアの開発に使われるプログラミング言語です。 コンピュータ自体、CPUやハードウェアに関する知識も必要で、比較的習得のハードルは高いですが、ある程度でも学んでおくとプログラミングの技術が向上し、より深いレベルの開発も可能になります。初めて学ぶプログラミング言語としてはハードルが高いですが、ここから入っても問題ありません。一般的にはある程度コンピュータの知識があり、プログラミング自体もある程度わかっている人が、学習すべき言語です。 C/C++ C言語自体は1972年に開発されました。それから50年経ってもシステムプログラミング言語として使われて続けています。C++はC言語から拡張した言語で、オブジェクト指向などのプログラミングで重要な機能があります。どちらも登場からかなり時間が経っている言語ですが、GPGPU、機械学習で使われているNVIDIAのCUDAでもC言語と一部C++を拡張したCUDA Cが使われており、決して古いプログラミング言語ではありません。 C++の学習にC言語自体を理解しておく必要はありませんが、完全な入門ならある程度C言語を学習した後に、C++をより深く学習するということもできます。 Rust RustはC言語やC++に換わるシステムプログラミング言語として近年人気です。C言語やC++ではバグ等でメモリに関するエラーが発生する可能性があるが、Rust自体にメモリ安全性を確保する仕組みが組み込まれています。そのため、より安全なソフトの開発が可能になっています。近年ではFirefox、Android等でも利用されています。C言語やC++に近い文法で、C言語やC++を知る方が学習しやすいです。 https://www.rust-lang.org

主要プログラミング開発環境や言語

0
2022年現在で主要なプログラミング開発環境や言語を紹介します。 Flutter Googleが中心になって開発しているアプリケーションフレームワーク。Dart言語を利用してクロスプラットフォームアプリケーションが開発できる。 Dartなどを使用。Web、Windows、Android、iOS、macOS等向け https://flutter.dev Swift Appleが中心になって開発しているプログラミング言語。Appleの各環境、Windows、Android向けにも利用可能。 https://swift.org .NET マイクロソフトが中心になって開発しているフレームワーク。 C#などを使用。Web、iOS、Android、Windows、macOS等向け https://dotnet.microsoft.com/en-us/ Xamarin ここではマイクロソフトが提供するフレームワークの事。C#などを使用。Web、iOS、Andriod、macOS、Windows向け https://dotnet.microsoft.com/en-us/apps/xamarin React Metaが中心に開発しているJavaScriptライブラリ。 JavaScriptを使用。 https://reactjs.org React Native Metaが中心に開発しているAndroid、iOS、UWPのネイティブ開発できるReactのアプリケーションフレームワーク。 JavaScriptを使用。Android、iOS、UWP向け https://reactnative.dev Python 小さな物から、機械学習まで様々な環境で利用されているインタープリタ型プログラミング言語。 https://www.python.org Ionic Angular、React、Vueなどと併用して使用するフレームワーク。 JavaScriptを使用。Android、iOS、Web等向け。 https://ionicframework.com Java 各種Webアプリケーション、Androidなどで使われている言語。 https://www.oracle.com/java/ Kotlin Javaを改良した言語で、Androidの推奨言語。 https://kotlinlang.org CUDA NVIDIAのGPUを使ったGPGPUのプラットフォーム。 C言語やC++を拡張している。 https://developer.nvidia.com/cuda-zone Rails Ruby on RailsやRoRなどをも呼ばれているRuby向けのWebアプリケーションフレームワーク。 Rubyなどを使用。Web向け https://rubyonrails.org Rust C言語などに変わるシステムプログラミング言語。 https://www.rust-lang.org PHP Webアプリケーションで使われている。 https://www.php.net/ HTML, CSS Webサイトなどで使われている。

プログラミングが出来るとは

0
プログラミングは世の中の様々な事と同様に奥が深いです。初めた直後に様々な事を学ぶと、まだまだ始めたばかりだが、ほとんどのことをある程度学習すると、プログラミングが出来ると勘違いしがちです。しかし、さらに学習をし続けると、より高度なプログラミングの課題などに行き詰まるようなこともあるでしょう。自分より出来る人に出会うと、自分が全然わかっていなかったことに気づくこともあるかもしれません。 プログラミングが出来ると勘違いするよくあるケースを紹介します。 プログラミング車の運転やったことない人プログラミングをした事無いから何も知らない運転したことないから何も知らない知識だけある本などを読んである程度知っているが、やったことはない車のことを知っているが、運転はしたことないお試しでやったことがある学習環境等でやったことがあるゲームなどで車を動かしたことがある入門段階(自分がかなり出来るようになったと勘違いしがちな段階)入門書を一通りやった教習所で運転したことがある自分でできるようになる(やっとなんとか出来るようになった段階)一から自分でプログラミングできるようになる免許を取って公共の道路を走れるようになる一通り何とか出来るようになる(知らない人からは出来る人と勘違いされる段階)時間はかかるし、調べながらだが一通りのことは出来るようになるどこでも問題なく行けるようになる仕事で評価されるくらい出来る(出来ると人に言っても恥ずかしくない段階)仕事である程度信頼されるくらい出来るようになる関連知識も豊富タクシーやバスの運転手としても問題ないくらいに運転はスムーズに出来る運転だけでなく、車の構造、仕組みなども良く理解出来ている人に頼られる、教えられるくらいになる(自分がまだまだなことを実感できるようになる段階)他の人がなかなか難しい事も、実現できるようになるプロのレーシングドライバークラスの技術、知識がある業界でもトップクラスになる(一部のことはかなり詳しいが、理解しているのは一部な事がよくわかる段階)業界トップクラスの人プロのレーシングドライバーの中でもトップクラスの人すべてを完璧に理解する(そんな人はいない)すべてを完璧に出来るプログラマーは存在しないそんな人はいない プログラミングに限らず、すべての物事は奥が深く、入門した段階である程度出来るようになるとすべてを理解したとも思いがちです。 しかし、自分が何も知らないと奥が深いこと自体を理解していないと、自分が知っていることは全体の1割でも、それがほとんどすべてと勘違いしてしまいます。プログラミングは特にその傾向があり、一見簡単にできることでも、実はより効率的に出来る事など方法はいくつもあり、効率に出来るという事自体を入門段階では知らない事も多いようです。 その結果、何も知らないのに出来ると勘違いしがちなようです。
Advertisment

Follow Us

0ファンいいね
0フォロワーフォロー
4フォロワーフォロー
0購読者購読

Parties

Google Sheetsで文字コードを表示する方法

0
Google Sheetでは入力された文字の文字コードを表示できます。 CODE関数を使って文字コードを表示する CODE関数が文字コードを表示する関数です。セルに =CODE("A") と入力する事で、10進数の65が表示されます。 一般的に文字コードは16進数で使うので、10進数を16進数にするDEC2HEXを組み合わせると16進数の41が表示されます。この時の書き方は =DEC2HEX(CODE("A")) です。 セルに入力したコードを表示する場合なら例えば =DEC2HEX(CODE(A1)) になります。 https://support.google.com/docs/answer/3094122 応用例 文字コードから文字を表示する場合は CHAR 関数を使います。この場合も10進数を使います。 =CHAR(41) と入力すると A が表示されます。 Excelでも同じように可能です。

コンピュータと文字のはじまり ビットからASCIIへ

0
ここで言うコンピュータとは電子コンピュータ、パソコンやスマートフォン、タブレットなどのほとんどすべての電子機器のことです。そのコンピュータ自体は文字という概念がありません。文字を知らないので、コンピュータのOSが、文字という概念もコンピュータに教えて、人が使いやすいようにしています。 文字の概念を教えるというのは、文字の種類や形状を含めてすべてを教えるという事です。現在のコンピュータは電気がオンかオフでしか情報を扱えないので、この中で文字の概念を教えるのは大変です。 電気がオンとオフは2パターンしかありませんが、これを2つ使えば、2倍の4パターン使えます。これでは英語のアルファベット26文字も使えませんが、電気のオンとオフを4つ並べれば16パターンあるので、0から9までの数字は利用出来ます。 これでコンピュータで数字の計算が出来るようになります。 文字を利用するためには5つ並べて、32パターンあればアルファベット26文字は利用出来ますが、数字が利用出来なくなります。6つ並べれば64パターン使えるので、アルファベットの大文字と小文字、数字の62パターンは表せます。これでも良さそうですが、他の記号などを含めると7つ並べた128パターンを使うという方法に行き着いたようです。 これでコンピュータで数字とアルファベットと記号類が利用出来るようになりますが、コンピュータ毎にこの決まりを作っていた場合、どれがどの文字に一致するのかがバラバラで使いにくいです。 これを統一したのがASCIIです。1963年にオンとオフのどのパターンがどの文字に一致させるかというのを統一させ、ASCII(American Standard Code for Information Interchange)という文字コードで標準化にしました。この時に決まったのは数字、アルファベットの大文字、一部の記号です。その後、1965年にアルファベットの小文字が対応するなど、記号なども含めてASCII自体が固まるまで数年かかっています。その後、英語以外の文字でも利用出来るように出来るようになっていきましたが、コンピュータで文字のやりとりが自由に利用出来るようになっていったのは、このASCIIが起源としてもおかしくはないです。実際にどのコンピュータでも世界各国の文字が問題なく表示できるようになっていったのは、2000年代に入った頃からです。各コンピュータでの各言語の文字表示、文字コードのUTF-8での統一などの結果です。そのUTF-8はASCIIと互換性がありながら、世界中の文字に対応できるようになっています。 実際にはこのASCIIから派生した文字コードがすべてで使われるとは限られません。IBMはASCII制定と同時期にEBCDICという文字コードを作り、自社製品で使用していました。2020年代になってもこのEBCDICは大型コンピュータのメインフレームで使われており、メインフレームと、一般的なコンピュータでのデータやりとりでは、この文字コードを意識する必要があります。

主要なプログラミング言語

0
2022年時点で主要なプログラミング言語を解説します。どのプログラミング言語を学ぶべきかがわかるようにしています。プログラミングの学習の参考にしてください。 インタープリタ型プログラミング言語 インタープリタ型プログラミング言語とは、実行の度にプログラムコードを解釈して実行されるプログラミング言語です。スクリプト言語とされる場合やスクリプト言語の事もあります。それ以外のプログラミング言語は、プログラムコードの作成後にコンピュータが理解する形に事前にコンパイルやビルドをしないと実行できません。 インタープリタ型言語は、ソースコードの記入で即プログラミングに反映し、実行出来るので、修正の度にコンパイルやビルドが必要な言語よりも利用が簡単です。一方で実行速度はコンパイルやビルドが必要なプログラミング言語の方が圧倒的に早いです。 Python 豊富なライブラリにより、小さなプログラムから、機械学習まで様々な分野で使われています。ライブラリが豊富というのは、そのプログラミング言語で実現できる機能が既に多数用意されており、ほとんどの機能はそのライブラリを使う事で簡単に実現できるという事です。 例えば画像からの文字認識を1からするには、様々な機能をすべて自分で開発する必要がありますが、文字認識がすぐに出来るライブラリを使えば最小限の設定で文字認識が可能になるという事です。 JavaScript Webブラウザ、各種アプリケーションなど様々なところで利用されているスクリプト言語。ライブラリも豊富で上位拡張したTypeScriptも含めると、様々な環境で利用や応用が出来るプログラミング言語です。 その他 その他に含めるのが適切かは微妙だと思われますが、Ruby、Perl、PHPなどもよく使われています。 アプリケーション作成に使われているプログラミング言語 インタープリタ型以外で、アプリケーション作成などによく利用されているプログラミング言語を紹介します。 C# 主にマイクロソフトが開発しており、CやC++に近いが、Javaに近い部分もあります。Visual Studioでよく使用されており、Xamarinを利用する事でWindowsだけでなく、Android、iOS含めて様々なプラットフォーム向けでも利用可能。 https://docs.microsoft.com/ja-jp/dotnet/csharp/ Kotlin Javaから発展した言語で、GoogleはAndroidの推奨アプリケーション開発言語に指定しています。 https://kotlinlang.org/ Swift Appleが中心に開発しているObjective-Cから発展した言語です。iOS、macOSなどAppleのプラットフォーム向けのアプリケーション開発だけでなくWindowsでも利用出来ます。 https://www.swift.org Java Javaはオラクルが中心に開発しており、C++の影響を受けている言語です。特にサーバー側のWebアプリケーションで利用されていることが多いです。 https://www.oracle.com/java/ Dart Googleが中心に開発している言語で、JavaScriptを発展させたもので、CやJavaなどの影響もうけています。同じくGoogleが提供しているFlutterはDart言語を採用しており、Webアプリだけで無く、iOS、Android、macOS、Windowsなどのアプリケーションの開発も可能。 https://dart.dev システムプログラミング システムプログラミングとは、簡単に言えばOSのようなハードウェアに近いプログラミングのことで、いわゆる低いレイヤーでのソフトウェアの開発に使われるプログラミング言語です。 コンピュータ自体、CPUやハードウェアに関する知識も必要で、比較的習得のハードルは高いですが、ある程度でも学んでおくとプログラミングの技術が向上し、より深いレベルの開発も可能になります。初めて学ぶプログラミング言語としてはハードルが高いですが、ここから入っても問題ありません。一般的にはある程度コンピュータの知識があり、プログラミング自体もある程度わかっている人が、学習すべき言語です。 C/C++ C言語自体は1972年に開発されました。それから50年経ってもシステムプログラミング言語として使われて続けています。C++はC言語から拡張した言語で、オブジェクト指向などのプログラミングで重要な機能があります。どちらも登場からかなり時間が経っている言語ですが、GPGPU、機械学習で使われているNVIDIAのCUDAでもC言語と一部C++を拡張したCUDA Cが使われており、決して古いプログラミング言語ではありません。 C++の学習にC言語自体を理解しておく必要はありませんが、完全な入門ならある程度C言語を学習した後に、C++をより深く学習するということもできます。 Rust RustはC言語やC++に換わるシステムプログラミング言語として近年人気です。C言語やC++ではバグ等でメモリに関するエラーが発生する可能性があるが、Rust自体にメモリ安全性を確保する仕組みが組み込まれています。そのため、より安全なソフトの開発が可能になっています。近年ではFirefox、Android等でも利用されています。C言語やC++に近い文法で、C言語やC++を知る方が学習しやすいです。 https://www.rust-lang.org

主要プログラミング開発環境や言語

0
2022年現在で主要なプログラミング開発環境や言語を紹介します。 Flutter Googleが中心になって開発しているアプリケーションフレームワーク。Dart言語を利用してクロスプラットフォームアプリケーションが開発できる。 Dartなどを使用。Web、Windows、Android、iOS、macOS等向け https://flutter.dev Swift Appleが中心になって開発しているプログラミング言語。Appleの各環境、Windows、Android向けにも利用可能。 https://swift.org .NET マイクロソフトが中心になって開発しているフレームワーク。 C#などを使用。Web、iOS、Android、Windows、macOS等向け https://dotnet.microsoft.com/en-us/ Xamarin ここではマイクロソフトが提供するフレームワークの事。C#などを使用。Web、iOS、Andriod、macOS、Windows向け https://dotnet.microsoft.com/en-us/apps/xamarin React Metaが中心に開発しているJavaScriptライブラリ。 JavaScriptを使用。 https://reactjs.org React Native Metaが中心に開発しているAndroid、iOS、UWPのネイティブ開発できるReactのアプリケーションフレームワーク。 JavaScriptを使用。Android、iOS、UWP向け https://reactnative.dev Python 小さな物から、機械学習まで様々な環境で利用されているインタープリタ型プログラミング言語。 https://www.python.org Ionic Angular、React、Vueなどと併用して使用するフレームワーク。 JavaScriptを使用。Android、iOS、Web等向け。 https://ionicframework.com Java 各種Webアプリケーション、Androidなどで使われている言語。 https://www.oracle.com/java/ Kotlin Javaを改良した言語で、Androidの推奨言語。 https://kotlinlang.org CUDA NVIDIAのGPUを使ったGPGPUのプラットフォーム。 C言語やC++を拡張している。 https://developer.nvidia.com/cuda-zone Rails Ruby on RailsやRoRなどをも呼ばれているRuby向けのWebアプリケーションフレームワーク。 Rubyなどを使用。Web向け https://rubyonrails.org Rust C言語などに変わるシステムプログラミング言語。 https://www.rust-lang.org PHP Webアプリケーションで使われている。 https://www.php.net/ HTML, CSS Webサイトなどで使われている。

プログラミングが出来るとは

0
プログラミングは世の中の様々な事と同様に奥が深いです。初めた直後に様々な事を学ぶと、まだまだ始めたばかりだが、ほとんどのことをある程度学習すると、プログラミングが出来ると勘違いしがちです。しかし、さらに学習をし続けると、より高度なプログラミングの課題などに行き詰まるようなこともあるでしょう。自分より出来る人に出会うと、自分が全然わかっていなかったことに気づくこともあるかもしれません。 プログラミングが出来ると勘違いするよくあるケースを紹介します。 プログラミング車の運転やったことない人プログラミングをした事無いから何も知らない運転したことないから何も知らない知識だけある本などを読んである程度知っているが、やったことはない車のことを知っているが、運転はしたことないお試しでやったことがある学習環境等でやったことがあるゲームなどで車を動かしたことがある入門段階(自分がかなり出来るようになったと勘違いしがちな段階)入門書を一通りやった教習所で運転したことがある自分でできるようになる(やっとなんとか出来るようになった段階)一から自分でプログラミングできるようになる免許を取って公共の道路を走れるようになる一通り何とか出来るようになる(知らない人からは出来る人と勘違いされる段階)時間はかかるし、調べながらだが一通りのことは出来るようになるどこでも問題なく行けるようになる仕事で評価されるくらい出来る(出来ると人に言っても恥ずかしくない段階)仕事である程度信頼されるくらい出来るようになる関連知識も豊富タクシーやバスの運転手としても問題ないくらいに運転はスムーズに出来る運転だけでなく、車の構造、仕組みなども良く理解出来ている人に頼られる、教えられるくらいになる(自分がまだまだなことを実感できるようになる段階)他の人がなかなか難しい事も、実現できるようになるプロのレーシングドライバークラスの技術、知識がある業界でもトップクラスになる(一部のことはかなり詳しいが、理解しているのは一部な事がよくわかる段階)業界トップクラスの人プロのレーシングドライバーの中でもトップクラスの人すべてを完璧に理解する(そんな人はいない)すべてを完璧に出来るプログラマーは存在しないそんな人はいない プログラミングに限らず、すべての物事は奥が深く、入門した段階である程度出来るようになるとすべてを理解したとも思いがちです。 しかし、自分が何も知らないと奥が深いこと自体を理解していないと、自分が知っていることは全体の1割でも、それがほとんどすべてと勘違いしてしまいます。プログラミングは特にその傾向があり、一見簡単にできることでも、実はより効率的に出来る事など方法はいくつもあり、効率に出来るという事自体を入門段階では知らない事も多いようです。 その結果、何も知らないのに出来ると勘違いしがちなようです。

プログラミング言語と自然言語

0
人間が意思疎通に使う言語のことを自然言語と言います。人間が生活していく中で進化していった言語なので自然な言語とされているようです。一方でプログラミング言語とは何でしょうか。 自然言語が人間同士の言語だとすると、プログラミング言語は人間がコンピュータと意思疎通するための言語です。 最近は人間が使う自然言語を話しかけると希望通りの事をしてくれるアシスタント機能もありますが、これを実現するにはプログラミング言語で人間が使う言語を理解するようにした人がいるからです。将来は人間の言語で今以上に様々な事が出来るようになるでしょうが、コンピュータ自体を操作したい場合には何らかの形でプログラミング言語が必要です。 実際、ノーコードというプログラミング言語自体を使わずに、ある程度のことが出来る環境が充実しています。そのような状況が主流になったとしても、コンピュータの基本的な部分から操作したい場合などにはプログラミング言語でコンピュータに命令すること自体は必須です。 自然言語は利用する単語や文法が異なる物の、いずれかの言語に似ていることがほとんどです。英語の場合、大きく分けるとイギリス英語、アメリカ英語があり、単語の語源はラテン語から来ていたり、使用する単語は西洋の言語でほとんど共通化していたりします。日本語の場合も、中国語の漢字を利用していたりなど、各言語間で共通している部分は多いです。 プログラミング言語はいくつか種類がありますが、自然言語と同様にどの言語も似たような構成になっています。