自分が最近どんな記事を書いているかを振り返る機会があった。そこで分かったのは、プログラミング言語の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)を使っていると実力がつかない」というブログ記事が公開されて賛否両論を巻き起こしたことがある。
この先は会員の登録が必要です。有料会員(月額プラン)は初月無料!
日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら