見出し画像

初心者にオススメのプログラミング言語 2 選

こんにちは!

梅雨入りして、雨の日が続きますね。
雨音が心地よく響いて、ちょっと落ち着きます☂️

さて、今回は初心者にオススメのプログラミング言語について考えてみたいと思います。

オススメのプログラミング言語を挙げる前に、まず初心者にオススメするための条件を考えてみましょう。

(結論だけ知りたい方は最後の見出しへどうぞ!)


今回は次の 3 つを条件に考えてみました。

  • 主要なパラダイムを避けられる

  • 主要なパラダイムを使える

  • Web サーバを避けられる

順番に見てみましょう。

(条件 1) 主要なパラダイムを避けられる

「パラダイム (paradigm)」とは特定の分野における思考や行動の基本的な枠組みのことを言います。

現在のプログラミング言語のパラダイムには大きく 2 つあります。

「オブジェクト指向プログラミング」と「関数型プログラミング」です。

前者の方が多数派ですが、後者を採用するメリットも大きく根強い人気があります。

これらの考え方を学ぶにはそれなりにコストがかかるため、学習の初期の段階でこれらのパラダイムを学ぶ必要がある言語は避けています。

有名な言語の中では Java がここで落選しました。

(条件 2) 主要なパラダイムを使える

とはいえ、「オブジェクト指向プログラミング」や「関数型プログラミング」は本格的にエンジニアを目指すなら避けられない課題です。

そこで、これらのパラダイムが使えることも初心者にオススメする言語の条件にしています。

プログラミングに詳しい方の中にはこの 2 つのパラダイムを同列に扱うことに違和感があるかもしれません。

先にも書いたとおり「オブジェクト指向プログラミング」の方が圧倒的に多数派だからです。

しかし、僕は両方のパラダイムを学んだ方が良いと考えています。

「オブジェクト指向プログラミング」と「関数型プログラミング」は二者択一のものではなく、場面に応じて適切に使い分けることで柔軟なプログラムを書くことができます。

そのためこれらのパラダイムを同列に扱っています。

実際、最近のプログラミング言語は両方のエッセンスを取り入れられるものが多くなっています。

僕のオススメは「オブジェクト指向プログラミング」をメインとしつつ、要所に「関数型プログラミング」の考えを用いることです👌

(条件 3) Web サーバを避けられる

ブラウザで動く Web アプリケーションはプログラムが動作する場所に応じて、「バックエンド」「フロントエンド」のふたつに分けられます。

「バックエンド」は Web サーバで動くプログラムやデータ処理のことを言います。

「フロントエンド」はブラウザで動くプログラムやユーザインターフェイスのことを言います。

「Web サーバを避ける」とは、つまり、「バックエンド」を主としているプログラミング言語を避ける、ということです。

なぜかというと、学習の過程でセキュリティリスクを生む可能性があるためです。

今までは学習段階におけるセキュリティのリスクはあまり気にしていませんでしたが、最近の情勢を見ていると、学習段階であっても可能な限りセキュリティのリスクは避けた方が良いというのが僕の考えです。

有名な言語の中では PHP がここで落選しました。

PHP は Web アプリケーションのバックエンドを担うプログラミング言語として有名です。

PHP に限らず、バックエンドを作るときには今やフレームワークは必須です。

フレームワークを使う理由のひとつはセキュリティがある程度担保されることです。

しかし、学習の過程ではまずフレームワークを使わずに作る段階が必要です。

そのフレームワークを使わずに作った Web アプリケーションが、万が一、ネットに公開されたら、セキュリティホールになりかねません。

PHP はほかにもいろいろできますが、やはりメインは Web アプリケーションのバックエンドです。

そのため初心者にオススメの言語から PHP は除外しました。

(結論) 初心者にオススメのプログラミング言語はこれ!

以上の条件をふまえて、僕が初心者にオススメするプログラミング言語は、

  • JavaScript

  • Python

のふたつです!

JavaScript は主にフロントエンド (ブラウザ) で動作するプログラミング言語です。

「オブジェクト指向プログラミング」と「関数型プログラミング」の両方の考え方を活用することができます。

また、GAS (Google Apps Script) は JavaScript をベースとしており、スプレッドシートの操作など業務改善にも使えます。

Python は Web アプリケーションのバックエンドとしても使用できますが、PHP と異なり、機械学習やデータ分析など幅広い分野で活用できるため採用しました。
(PHP でもできなくはないでしょうが、それを言い出すとキリがないので、ここでは「一般的には」ということで💦)

JavaScript と同じく「オブジェクト指向プログラミング」と「関数型プログラミング」の両方の考え方を活用することができます。

Python はライブラリ (ほかの人が公開している再利用できるコード) も豊富で RPA を作ることもできます。

両方とも、

  • 「オブジェクト指向プログラミング」と「関数型プログラミング」を意識せずにはじめられ、

  • でも、「オブジェクト指向プログラミング」と「関数型プログラミング」を使うことができ、

  • バックエンド以外の用途で使える

という特徴があります。

というわけで、僕が初心者にオススメするプログラミング言語は JavaScript と Python でした。

よかったら参考にしてください👍



この記事が気に入ったらサポートをしてみませんか?