【初学者から中級者へ】プログラミング言語のバージョンを理解しよう

Programming

1.はじめに – それプログラミング言語のバージョンの問題かもしれません

 こんにちは。かじです。

 今回はプログラミング言語のバージョンについて解説したいと思います。

 「プログラミング教材を使用して学習していて、教材通りにプログラムを書いているのに動かなくなった」

 「自分のマシン上にプロジェクトのソースコードを持ってきたはずなのに動かなくなった」

 このような経験はないでしょうか。

 その原因、もしかしたら、プログラミング言語のバージョンの問題かもしれません。

 プログラムの書き方に関する教材は沢山ありますが、言語のバージョンに関する教材はあまり多くありません。そこで今回は、プログラミング言語のバージョンについて解説していきたいと思います。

 プログラミング言語のバージョンを理解することで、フレームワークやライブラリなどの技術選定や環境構築などを、より能動的に行うことができるようになるかと思います。プログラムを書いて動かして、という領域ではないので少し退屈かもしれませんが、是非クリアしていただけたらと思います。

2.そもそもプログラミング言語のバージョンとは

 スマートフォンのアプリを使用していると定期的にアップデートされると思います。新機能の追加やバグの改修など様々な要因でアップデートされアプリのバージョンが変わります。下記の画像はAppStoreにおけるInstagramのバージョン履歴の画面になります。現在のInstagramの最新バージョンは「313.0.0」になります。

このようなバージョンの考え方がプログラミング言語にも存在しています。プログラミング言語もアプリケーション同様に、動作する仕組みや仕様を変更したり、新しい機能を追加したり、バグを修正したりというように、アップデートされていきます。

 下記ページを見ていただくと、PHPのバージョン履歴を見ることができます。

PHP: PHP 8 ChangeLog

ここまでプログラミング言語にもアプリケーション同様にバージョンが存在することがあることをご理解いただけたと思います。

3.安定版について

 言語のバージョンはどう選択したらいいのかという問題に当たるかと思います。

 ここで肝心なのは言語のバージョンは必ずしも最新であればいいという訳ではないということです。

現在PHPの最新バージョンは8.3.1です。一番左の数字がメジャーバージョン、次の数字がマイナーバージョン、最後の数字がパッチと言います。左から大きなバージョンの変化で右に行くほど軽微な変更だと理解していただければいいかと思います。

 メジャーバージョンアップの場合、言語の仕組みが大きく変わります。そうなると、バグが少なからずあったりします。そのため、バグを修正するためにマイナーバージョンやパッチを更新していくというバージョンアップの流れになります。

 メジャーバージョンが変わった直後だとバグが多発してしまうという可能性があります。そうなるとやはり最新バージョンは決してお勧めできるという訳ではありません。こういう時に使用するのが安定バージョンです。

 下記のページを見ていただけば、PHPの現在の安定版がどれなのかが分かります。

PHP: Downloads

 PHPの安定版は現在最新バージョンである8.3.1であることがわかると思います。

 ただ、これはあくまで新しく開発する場合に限ります。

 改修など既にアプリケーションが開発されている場合は、そのアプリケーションが開発されているバージョンを使用しないと動作しなくなってしまう可能性があります。

 ここでも、注意点があります。それはサポート期間です。

4.プログラミング言語のサポート期間

 プログラミング言語は、バグが発見されたり、セキュリティ的に問題があったりするとアップデートすることは先にもお伝えしました。ただ、アップデートを繰り返していると、バージョンの数が増えていきます。そうすると、PHPの管理団体自体もバージョン全てをバグ修正するというのは限界があります。そういった中で意識する必要があるのが、サポート期間になります。

 PHPのサポート期間は下記のページで確認することができます。

PHP: Supported Versions

 サポート期間が過ぎた場合、どうなるのでしょうか。

 ある日、突然使えなくなるということはなく、引き続き問題なく動作する可能性はあります。

 しかし、バグが見つかった時やセキュリティ上の問題が起こった時にサポート期間が過ぎたバージョンは修正バージョンを出されることがありません。つまり、セキュリティの問題が起きた場合、セキュリティ攻撃を受けてハッキングに遭う可能性がより大きいまま、アプリケーションが動作し続けることになります。

5.フレームワークやライブラリへの影響

 ここまでプログラミング言語のバージョンの選定するための考え方を書いてきました。

プログラミング言語にバージョンがあるということは、その言語を使用したフレームワークやライブラリにもバージョンによる影響があることになります。

例としてPHPのWebフレームワークであるLaravelを見てみましょう。

下記ページからLaravelのバージョン情報などは見ることができます。

Laravel - The PHP Framework For Web Artisans
Laravel is a PHP web application framework with expressive, elegant syntax. We’ve already laid the foundation — freeing you to create without sweating the small...

最新のLaravel11ですと、PHPのバージョンは8.2もしくは、8.3である必要があります。

また、余談ではありますが、Laravel自体にもサポート期限が設定されており、今年の2月には、9系のセキュリティサポートが切れてしまいます。この場合フレームワークのリプレイス、それに伴い言語のバージョンアップも必要になります。

言語のバージョンによる影響はライブラリにおいても同様に起こりえますので、ライブラリ選定や保守の段階でプログラミング言語のサポートバージョンを確認することは必要になってきます。

今回は、プログラミング言語のバージョンについて解説しました。

今回の記事がみなさんのプログラミングライフの参考になれば幸いです。

最後まで閲覧くださりありがとうございました。

タイトルとURLをコピーしました