全3428文字
PR

 自分が最近どんな記事を書いているかを振り返る機会があった。そこで分かったのは、プログラミング言語のPythonに関する記事がとても多いということだ。

 このコラム連載でも、Pythonに関する記事はよく読まれている。ここ半年で最も読まれたのは、Pythonを学ぶべき理由を紹介したコラムだ。次に読まれていたのは、Python 2がサポート対象外になるというコラムである。

 私は日経クロステックだけでなく、ネットワーク技術者向けのメディアである日経NETWORKにもPythonの記事を書いている。2019年7月号には「知っておきたいPythonの基礎」という8ページの記事を書き、日経NETWORKの読者に初めてPythonを紹介した。

 2019年10月号では「Pythonで学ぶサイバー攻撃の手口」という巻頭特集を執筆した。当初は、プログラミングを取り上げた記事はネットワーク技術者には受け入れられないのではないかと心配していた。しかし幸いなことに読者アンケートの評価はとても高かった。

 この特集で使ったのが、ネットワークのパケットを簡単に組み立てたり送ったりできる「Scapy(スケイピー)」というライブラリーである。ネットワークのパケットをプログラミングで一から組み立てるのはとても面倒だ。一方Scapyを使えば、目的とするパケットを驚くほど簡単に組み立ててネットワークに送れる。

 最近は2020年2月号の巻頭特集「Pythonで楽々ネットワーク管理」を執筆した。この特集では、ネットワーク機器に簡単にリモートログインして操作できる「Netmiko(ネットミコ)」というライブラリーを利用している。

 ScapyやNetmikoを使っていて感じるのが、「本来はとても面倒な処理のはずなのに、こんなに簡単にできていいのだろうか」という戸惑いだ。ほんの数行のプログラムでやりたいことができてしまう。プログラムの中では、やりたいことを指定してライブラリーを呼び出しているだけだ。

 しかも、Pythonではたいていの用途に対してライブラリーが用意されている。プログラミングで何かやりたいことがあった場合、Pythonであれば簡単に実現できる。掛け値なしに「かゆいところに手が届く」という感じだ。

 こうした感覚は、他の言語ではほとんど体験したことがない。他の言語でも、ネットワーク通信のためのソケットといった基本的なライブラリーは用意されていることが多い。だがPythonほど便利なライブラリーがそろっている言語は個人的に知らない。

Railsでは実力がつかないという主張

 数年前、「Webアプリケーションの開発にフレームワークのRuby on Rails(以下、Rails)を使っていると実力がつかない」というブログ記事が公開されて賛否両論を巻き起こしたことがある。

この記事は会員登録で続きをご覧いただけます

日経クロステック登録会員になると…

新着が分かるメールマガジンが届く
キーワード登録、連載フォローが便利

さらに、有料会員に申し込むとすべての記事が読み放題に!
日経電子版セット今なら2カ月無料