全2569文字
ソフトウエア開発になくてはならない道具が「プログラミング言語」である。コンピューターに理解できる言葉、すなわちプログラムを記述するための言語だ。プログラミング言語には多くの種類があり、よく使われているものだけで10種類以上ある。
最近、人気が高いのが「Python」だ。AI(人工知能)の開発やデータサイエンス分野で広く使われているのに加え、初心者がプログラミングを始める言語として選ばれることも増えている。
システム開発分野では、相変わらず「Java」や「C#」といった言語がよく使われている。Webアプリケーションのフロントエンド開発によく使われているのが「JavaScript」で、最近はJavaScriptの改良版といえる「TypeScript」の人気が高まってきた。
こうした数多くのプログラミング言語がある中で、2023年にはブレーク間違いないと考えている言語がある。その言語が生まれた経緯を紹介しよう。
深刻な脆弱性をもたらすC言語の欠陥
プログラミングに少しでも興味がある人なら、「C」という言語を知っているだろう。「C」だけだと少しわかりにくいため、「C言語」と表記することも多い。多くの言語がCをいわば「下敷き」にしており、たいていCに似た文法を採用している。
C自体も、決して昔の言語というわけではない。組み込みソフトウエア開発などでは現役で使われている。機能がシンプルでプログラムの実行速度が速いといったメリットがあるためだ。
しかし、Cには致命的な欠陥がある。Cがプログラムからメモリーを直接操作できるのは性能面では有利な半面、メモリー関連のバグの温床になりやすいのだ。例えば、確保したメモリーを解放し忘れたり、アクセスしていい範囲の外にあるメモリー領域にアクセスしたりするバグだ。こうしたバグはプログラム実行時のエラーを引き起こすだけでなく、最悪の場合は攻撃者が任意のプログラムを実行できる深刻な脆弱性をもたらす。
プログラミングをしたことがない人は、「Cのプログラムを書く人がきちんとメモリーを管理すれば済む話ではないか」と思うかもしれない。しかし、メモリー管理は一筋縄ではいかない。例えば、単純に確保したメモリーを解放するだけならそれほど難しくはないが、複雑な条件に応じてメモリーを確保するような場合だと、人間がメモリーの使用状況を把握するのが困難な場合もある。
安全性が高いのに爆速、2023年ブレーク必至のプログラミング言語とは - ITpro
Read More
No comments:
Post a Comment