開閉ボタン
ユーザーメニュー
ユーザーメニューコンテンツ
ログイン

関連ジャンル

  • 2019/09/25

今のWindows 10は「開発者第一主義」に陥っていないか? (2/2)

連載:山市良のマイクロソフトEYE

“このWindowsにpythonがない”と悩む開発者なんていない

 Windows 10バージョン1903の新機能の紹介記事として、Microsoft Storeでマイクロソフトが提供する無料の「Python 3.7」の記事を見かけました。

 記事によると、コマンドプロンプトで「python」とタイプしても「'python' は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。」と表示されてイライラする、ということがWindows 10バージョン1903ではなくなるという趣旨のことが書いてありました。一体、どれくらいのユーザーがそのような体験をしたことがあるのでしょうか、ちょっと疑問です。

 Python(パイソン)は、汎用的なプログラミング言語として近年注目を集めています。他のプログラミング言語と同様に、Windowsに標準で入っているものではありません。Pythonでアプリを開発したい、あるいは新たにPythonを学びたいという人は、まず、Pythonを入手してインストールすることから始めるのが普通のことでしょう。そして、前提ソフトの導入から始めるのが、学習のスタートとしても適していると思います。

 Windows 10バージョン1903では、Pythonがインストールされていない場合、コマンドプロンプトなどで「python」とタイプするとMicrosoft Storeの「Python 3.7」のページを開くランチャーとして機能するようになっています(画面2)。インストールされたあとは、Pythonが起動するようになります。ただそれだけのことです。

画像
画面2:Windows 10バージョン1903からは、「python」はアプリが未インストールの場合にのみMicrosoft Storeへ誘導するランチャーとして機能する

 「Python 3.7」アプリがMicrosoft Storeで提供されることの意義はあるでしょう。Pythonのバージョンは、他のストアアプリと同様にWindows 10で管理され、Microsoft Store経由でアップデートされるからです。Microsoft Store版「Python 3.7」はWindows 10バージョン1809以降で動作しますが、pythonがMicrosoft Storeへのランチャーとして機能するのはWindows 10バージョン1903からです。

“このWindowsにはbashがない”と悩む人だっていない

 「python」とタイプしてMicrosoft Storeに誘導されるのと似たようなものに、「bash」があります。

 これは、Windows 10バージョン1709から正式版となった「Windows Subsystem for Linux(WSL)」(バージョン1607/1703はWSL Beta)対応のLinuxディストリビューションのランチャーとして機能するものの1つです。Microsoft StoreのLinuxディストリビューションが未インストールの場合はMicrosoft Storeに誘導されます。インストール済みであれば、Linuxシェル環境が起動します。ただし、WSLの機能の有効化は、事前に自分で行う必要があります(画面3)。

画像
画面3:「bash」とタイプするとMicrosoft Storeに誘導される(誘導されるページにあるもの以外にも利用可能なLinuxディストリビューションがあることに注意)。ただし、WSLの機能の有効化は自分で行う必要あり

 WSLは、Microsoft Storeで提供されるいくつかのLinuxディストリビューションのシェル環境を、Windows 10上で実行し、ネイティブなLinuxバイナリを実行可能にする環境です。クロスプラットフォーム対応のアプリ開発者にとっては、1台のWindows 10上にWindowsとLinuxの2つの環境を用意でき、相互にファイルのやり取りなどができるので生産性が高まることでしょう。

 しかしながら、一般ユーザーの多くには不要な機能です。単に、WSLの機能を有効化し、Microsoft StoreからWSL対応のLinuxディストリビューションをインストールするという手順を示せば、それで十分だと考えます。WSLを利用したい人にとっては、決して難しい手順ではありません。「bash」がWindowsの標準コマンドではないと認識してもらう方が先ではないでしょうか。

クロスプラットフォームのPowerShell 6を推されても…

 Windows 10バージョン1903でWindows PowerShellを起動すると、「新しいクロスプラットフォームの PowerShell をお試しください https://aka.ms/pscore6」と表示されるようになりました(画面4)。PowerShell Core 6(最新は6.2、Windowsは付かない)は、.NET Core上で動作するクロスプラットフォーム対応のPowerShellのシェル環境です。

画像
画面4:Windowsだけを利用しているユーザーにとって、クロスプラットフォームのPowerShellは必要ないもの

 一方、Windows PowerShellは、Windowsシステムの詳細設定や詳細な管理を行いたい個人ユーザーやIT管理者が使用するシェル環境です。Azureのクラウドリソースを管理するのにも利用できます(Azure PowerShellモジュールを使用)。クロスプラットフォーム対応のPowerShell Core 6を必要とするユーザーはごく限られているでしょう。

 つまり、Windows PowerShellウィンドウを開くたびに表示されるこのメッセージは、余計なものです(-NoLogoオプション付きでpowershell.exeを起動すれば表示されません)。

 前述した.NET Core 3.0ではPowerShell 7が予定されています。PowerShell 7からは、Coreが名称から外れることになります(PowerShell Core 7ではなくPowerShell 7)。そして、Windows 10およびWindows ServerのWindows PowerShell 5.1をPowerShell 7(またはそれ以降)に置き換え、同梱(どうこん)する計画のようですが、それがいつになるのかはまだ決まっていないようです。

 アプリ開発者は、Windowsの知識と経験が豊富なユーザーです。開発者向け機能はオンデマンドで有効化できるようにしておけば、それで十分だと思います。一般のユーザーを誤って誘導してしまうような部分が、次々に増えてきているような気がしてなりません。

 これは言い換えれば、IT管理者は一般のユーザーが意図せず開発者向け機能を利用しないように、ブロックするなどの手間が増えていくということです。

 開発者第一主義よりも、一般ユーザー第一主義に立って、より使いやすいWindowsを提供してほしいと思うのは、あくまでも開発者ではない筆者の考えです。新機能が次々に追加されるのは良いことかもしれませんが、Windows Updateの意味不明なエラーで立ち往生している一般ユーザーが多いのではないかと心配でなりません。

連載一覧

お勧め記事

OS ジャンルのセミナー

OS ジャンルのトピックス

OS ジャンルのIT導入支援情報

PR