火曜日, 5月 17, 2022
ホーム プログラミング

プログラミング

2022年時点で主要なプログラミング言語を解説します。どのプログラミング言語を学ぶべきかがわかるようにしています。プログラミングの学習の参考にしてください。 インタープリタ型プログラミング言語 インタープリタ型プログラミング言語とは、実行の度にプログラムコードを解釈して実行されるプログラミング言語です。スクリプト言語とされる場合やスクリプト言語の事もあります。それ以外のプログラミング言語は、プログラムコードの作成後にコンピュータが理解する形に事前にコンパイルやビルドをしないと実行できません。 インタープリタ型言語は、ソースコードの記入で即プログラミングに反映し、実行出来るので、修正の度にコンパイルやビルドが必要な言語よりも利用が簡単です。一方で実行速度はコンパイルやビルドが必要なプログラミング言語の方が圧倒的に早いです。 Python 豊富なライブラリにより、小さなプログラムから、機械学習まで様々な分野で使われています。ライブラリが豊富というのは、そのプログラミング言語で実現できる機能が既に多数用意されており、ほとんどの機能はそのライブラリを使う事で簡単に実現できるという事です。 例えば画像からの文字認識を1からするには、様々な機能をすべて自分で開発する必要がありますが、文字認識がすぐに出来るライブラリを使えば最小限の設定で文字認識が可能になるという事です。 JavaScript Webブラウザ、各種アプリケーションなど様々なところで利用されているスクリプト言語。ライブラリも豊富で上位拡張したTypeScriptも含めると、様々な環境で利用や応用が出来るプログラミング言語です。
2022年現在で主要なプログラミング開発環境や言語を紹介します。 Flutter Googleが中心になって開発しているアプリケーションフレームワーク。Dart言語を利用してクロスプラットフォームアプリケーションが開発できる。 Dartなどを使用。Web、Windows、Android、iOS、macOS等向け https://flutter.dev Swift Appleが中心になって開発しているプログラミング言語。Appleの各環境、Windows、Android向けにも利用可能。 https://swift.org .NET マイクロソフトが中心になって開発しているフレームワーク。
プログラミングは世の中の様々な事と同様に奥が深いです。初めた直後に様々な事を学ぶと、まだまだ始めたばかりだが、ほとんどのことをある程度学習すると、プログラミングが出来ると勘違いしがちです。しかし、さらに学習をし続けると、より高度なプログラミングの課題などに行き詰まるようなこともあるでしょう。自分より出来る人に出会うと、自分が全然わかっていなかったことに気づくこともあるかもしれません。 プログラミングが出来ると勘違いするよくあるケースを紹介します。 プログラミング車の運転やったことない人プログラミングをした事無いから何も知らない運転したことないから何も知らない知識だけある本などを読んである程度知っているが、やったことはない車のことを知っているが、運転はしたことないお試しでやったことがある学習環境等でやったことがあるゲームなどで車を動かしたことがある入門段階(自分がかなり出来るようになったと勘違いしがちな段階)入門書を一通りやった教習所で運転したことがある自分でできるようになる(やっとなんとか出来るようになった段階)一から自分でプログラミングできるようになる免許を取って公共の道路を走れるようになる一通り何とか出来るようになる(知らない人からは出来る人と勘違いされる段階)時間はかかるし、調べながらだが一通りのことは出来るようになるどこでも問題なく行けるようになる仕事で評価されるくらい出来る(出来ると人に言っても恥ずかしくない段階)仕事である程度信頼されるくらい出来るようになる関連知識も豊富タクシーやバスの運転手としても問題ないくらいに運転はスムーズに出来る運転だけでなく、車の構造、仕組みなども良く理解出来ている人に頼られる、教えられるくらいになる(自分がまだまだなことを実感できるようになる段階)他の人がなかなか難しい事も、実現できるようになるプロのレーシングドライバークラスの技術、知識がある業界でもトップクラスになる(一部のことはかなり詳しいが、理解しているのは一部な事がよくわかる段階)業界トップクラスの人プロのレーシングドライバーの中でもトップクラスの人すべてを完璧に理解する(そんな人はいない)すべてを完璧に出来るプログラマーは存在しないそんな人はいない プログラミングに限らず、すべての物事は奥が深く、入門した段階である程度出来るようになるとすべてを理解したとも思いがちです。 しかし、自分が何も知らないと奥が深いこと自体を理解していないと、自分が知っていることは全体の1割でも、それがほとんどすべてと勘違いしてしまいます。プログラミングは特にその傾向があり、一見簡単にできることでも、実はより効率的に出来る事など方法はいくつもあり、効率に出来るという事自体を入門段階では知らない事も多いようです。 その結果、何も知らないのに出来ると勘違いしがちなようです。
人間が意思疎通に使う言語のことを自然言語と言います。人間が生活していく中で進化していった言語なので自然な言語とされているようです。一方でプログラミング言語とは何でしょうか。 自然言語が人間同士の言語だとすると、プログラミング言語は人間がコンピュータと意思疎通するための言語です。 最近は人間が使う自然言語を話しかけると希望通りの事をしてくれるアシスタント機能もありますが、これを実現するにはプログラミング言語で人間が使う言語を理解するようにした人がいるからです。将来は人間の言語で今以上に様々な事が出来るようになるでしょうが、コンピュータ自体を操作したい場合には何らかの形でプログラミング言語が必要です。 実際、ノーコードというプログラミング言語自体を使わずに、ある程度のことが出来る環境が充実しています。そのような状況が主流になったとしても、コンピュータの基本的な部分から操作したい場合などにはプログラミング言語でコンピュータに命令すること自体は必須です。 自然言語は利用する単語や文法が異なる物の、いずれかの言語に似ていることがほとんどです。英語の場合、大きく分けるとイギリス英語、アメリカ英語があり、単語の語源はラテン語から来ていたり、使用する単語は西洋の言語でほとんど共通化していたりします。日本語の場合も、中国語の漢字を利用していたりなど、各言語間で共通している部分は多いです。 プログラミング言語はいくつか種類がありますが、自然言語と同様にどの言語も似たような構成になっています。
プログラミング関係の書籍は大量に販売されていますが、その言語を学びたい方に今現在適した書籍というのは限られます。 プログラミング言語の書籍は大別すると プログラミング自体を知らない人向けプログラミングは知っていて、新しい言語を学びたい人向けその言語の基本はしているが、より深く知りたい人向け特定の何かを目的とした物 に分けられます。 例えば プログラミングが初めての人向けに、プログラミングとはこのような物ですよと紹介する書籍は、プログラミングの基礎から、そのプログラミングを出来るようにする説明、そのプログラミングの基礎を説明しています。 プログラミングは知っていて、新しい言語を学びたい人向けの書籍は、その言語の文法や主要な機能を解説していて、プログラミングの基礎についての説明はほとんどありません。 より深く知りたい人向けの書籍は、特定のプログラミング言語の応用の使い方などを深く解説した物で、このあたりの書籍はかなり数が限られます。 特定の何かを目的とした物では、機械学習に関する説明をした書籍で、特定のプログラミング言語で機械学習する方法や、ゲームのプログラミング方法などを解説した物などがあります。どの場合も特定の言語や開発環境での開発方法を解説した物が多いです。 どの場合も、本人の目的に応じて選択する必要があり、自分の目的に合った物なのかは目次、内容をしっかりと確認しましょう。