Windowsに関する世界観・一行解説1(仕組み)です。とりあえず、僕が知っているものだけです。Windows2(コツ)やパソコン・GUI操作入門も参照のこと。
自分の書いたブログ「神々とともに生きる詩人」2021/01/27より。
Microsoftの栄華も安泰ではない。
なぜなら、今の世界は完全にWebサービスの時代であり、特にGAFAと呼ばれるインターネット企業の時代だからである。
WindowsはあくまでローカルのコンピュータOSであり、いくらクライアントを中心に普及しているからといって、Webサーバーの世界ではLinuxなども普及しているし、何より、モバイルOSやモバイルアプリの存在がある。
モバイルではGoogleのAndroidとAppleのiOSが覇権を握っており、Windowsは完全に野外に追いやられてしまっている。
また、商業的なシステムにおいても、Windowsをエンタープライズで作る事例は多くない。
エンタープライズでは、メインフレームやUNIXが今でも多く、このような現場ではJavaが使われており、ある程度の規模のシステムではLinuxをOSによく使う。
何より、最近はクラウドと呼ばれるネットワークサービスとしての、コンピュータの利用が増えている。
このクラウドで強いのはLinuxであり、Microsoftもこうした現状を受けて、オープンソースへの取り組みを多く行っている。
たとえば、MicrosoftはVS-Codeと呼ばれるオープンソースのテキストエディタを作っており、ほとんどエンジニアの間で標準である。
また、MicrosoftはJavaScriptの拡張言語であるTypeScriptをオープンソースで開発している。
PHPのWebフレームワークのLaravelも、MSの社員によるものである。
また、リーナス・トーバルズによる分散バージョン管理システムGitの、ホスティングサイトGitHubはMicrosoftによって買収された。
Windows上でLinux互換環境を実現するWSLは、WSL 2によって、Linuxカーネルを完全にWindows上で仮想化し、Windowsで全てのLinuxアプリケーションが動くようになる。
WindowsでGUIアプリを開発するための標準開発環境である、.NET Frameworkについても、.NET Coreをオープン化することでオープンソース化し、Linuxなどでも.NET Coreを使うことができるようになった。
Azureでも、Linuxをサポート対象に加えている。
このように、Windowsがオープンソースに近づいているのは、やはり、GoogleやFacebookといったGAFA系の企業がある。
彼らはどんどんオープンソースでプロダクトを公開・標準化しており、このままだと「Microsoftが開発するよりも先にGAFAが制覇してしまう」。
よって、MSはあえてオープンに近い戦略を取ることで、GAFAの力をくじいているのである。
しかしながら、いくらMSの技術力とOSシェアが高くても、GAFAに勝つのは容易ではない。
それは、たとえば開発者視点でのフレームワークである。
Googleのモバイル向けフレームワークのFlutterや、FacebookのJavaScriptフレームワークのReactなどは、国際的な視野で見て、圧倒的な開発者の支持を得ている。
地球規模で、FlutterやReactはほぼ標準であり、多くのプロのエンジニアがそれらを使って開発をしている。
このような波の中で、いくらMSが一流の技術企業であっても、GAFAに勝つのは困難を極めるだろう。
特に、GoogleのYouTubeなどは、再生回数に応じて収入が入る仕組みになっており、たくさんの勝ち馬に乗ろうとするYouTuberが動画をアップし、一部のYouTuberは莫大な利益をあげている。
それくらい、MSがWindowsで金があるのと同様、GAFAも同じぐらい金がある。
しかしながら、僕はあえて綺麗事を言う。
それは、「金儲けだけじゃないものもある」ということ。
今のIT技術というのは、金儲けがまず先にあり、そのためにサービスを作って提供するが、昔のインターネットはそうじゃなかった。
たとえば2ちゃんねるのようなアングラ匿名掲示板でも、あるいは昔先駆的だったブログでも、金儲けではない、「新しいものを一緒に共有する楽しさ」があった。
みんなで掲示板にAAで作った顔文字を投稿するのも、時には高度な2ちゃんねる専用ブラウザを開発するのも、「IT技術そのものを楽しんでいる楽しさ」があった。
今のGAFAには、それがない。
Appleのカリスマ経営者スティーブ・ジョブズ氏が死去したことも、原因のひとつかもしれない。
ジョブズは偉大なエンジニアで、経営者で、デザイナーだったが、彼が死んだことで、MacだけではなくWindowsやLinuxでさえ、「デザイン性の欠如したコピー製品になった」。
そのような今のIT業界を、僕は信頼することができないのである。
昔のITは、何が楽しかったかは分からないが、楽しかった。
Windowsは、世界を変えたOSであると言えるでしょう。Windowsが販売されて人々が使うようになったことで、この世界は劇的に変わり、進歩しました。
IBM PC/AT互換機では、以前はMS-DOSを搭載した「シングルタスクのコマンドOS」が主流でした。これは今のLinuxにもみられるような「黒画面でキーボード入力をしてコマンド実行する」OSです。パソコンを使うのは一部のホビイスト向けでした。
しかしながら、Windowsが出たことで、人々はマルチウィンドウ環境で、マウスを使ってメニューからアイテムを選び、アイコンをクリックし、文字を入力する部分をダイレクトに選択して、右クリックやダブルクリックを使いながら「直観的な操作でOSを使える」ようになりました。
こうしたウィンドウ操作によるGUI環境というのは、Xeroxのパロアルト研究所でアラン・ケイなどが考えたもので、それがAppleのMacintoshの開発に繋がり、それをMicrosoftが模倣して作ったのがWindowsです。
僕も、若い頃はWindowsとともに育ちました。小学校の頃にはWindows 95/98/Meなどの9x系や2000などのWindowsを使って、MS-Office 2000などを操作していました。
たとえば、Wordで学校の舞台の脚本を作ったり、Excelで当時流行っていたモンスターファームというテレビゲームの攻略本のデータを入力してデータベースのように並べ替えるようにしたり、PowerPointで図形を描いたり、ペイントで迷路をたくさん作ったり、マインスイーパやピンボールというゲームで遊んだり、ペンタブレットを使ってモンスターファームのキャラクターのイラストをなぞって描いたりしていました。
また、中学生ぐらいになると、Perl/CGIで作られたネットゲームで遊んだりし、自分でもそうしたゲームを作りたいと、PerlやDelphiなどの開発環境を導入して努力していました。
また、Windowsはこの世界のIT技術を支えています。
会社のビジネスで使われるワープロや表計算などのビジネスソフトは、MS-Officeが標準的です。何をするにも、どこの会社でも、WordとExcelとPowerPointを使います。また、Webブラウザを使ったインターネットの「ネットサーフィン」は、Windowsで行われることが多く、昔からWindows上のIE以外のNetscape/MozillaやOperaのようなブラウザを使うと、ホームページが意図通りに表示されないことが多くありました。フリーソフトも、Windows向けに作られていることが多く、タブブラウザなどはIEコンポーネントを使用しているため、Macなど別のOSでは動きません。
Windowsは「Windows API」という独自のAPIを用いており、Windows向けに開発したアプリケーションを他のMacやLinuxのようなOSで動かすことは原則できません。そのアプリケーションの開発者が、クロスプラットフォーム向けに別のOSのためのコードも書いてある場合に限ります。あるいは、UNIX向けに作られたアプリケーションは、libcのような共通のAPIのみを使っている場合か、Cygwinなどの互換レイヤーを使う場合に限って動かすことができます。最近はmacOSもUNIXの基盤を使って開発されているため、UNIXとMacの間ではgccやPerlなど共通のアプリケーションが動くこともありますが、GTKなどを使っている場合には同じルック・フィールで動かすことができません。
そのため、Windowsアプリケーションを使うためには、多くの場合MicrosoftからWindowsを購入する必要があります。
WindowsはWindows 95の登場時点から大人気で、「猫も杓子もWindows」状態でした。それ以後はドットコムバブルというのがあり、IEとNetscapeが激しい「ブラウザ戦争」と言われる競争をし、Windowsに付属させることでIEが勝利しました。そうした成功から、ビル・ゲイツは「世界一の金持ち」である時代が長かったです(今の世界一はアマゾンのジェフ・ベゾス)。
そんな素晴らしいWindowsですが、標準OSゆえの問題があります。
まず、APIがクローズドである、ということ。Windowsは、商用OSであるため、LinuxのようにAPIがオープンソースで公開されていません。Windowsアプリケーションを作るためには、Windows APIやMFCのようなMS製のAPIを使う必要がありますが、公開されていないため、どのようにAPIが作られているか分からず、それを自分で作ることもできません。Windows APIは、「Windowsアプリケーションを作るためにはこのような命令の呼び出し規約に従いなさい」といったプログラムであるため、プログラミングをしてWindowsアプリケーションを開発しているのに、実態はWindows APIを「呼び出しているだけ」になり、「自分で作っているように見えて、ただWindows APIを使っているだけ」になってしまうのです。
もうひとつの問題は、囲い込みの問題です。MS-Officeのファイル形式は、世界中で標準になっており、MS-Officeで作られたデータファイルを読み書きするためには、原則MS-Officeが必要です。別の会社が作っている互換Officeもありますが、多くの場合さまざまな理由から使い物になりません。そのため、MS-Officeのファイルを読みたければ、WindowsとMS-Officeを購入しなければいけません。多くの家電量販店で売られているパソコンには、WindowsとMS-Officeが最初から搭載されています。
このような問題があるWindowsですが、一向に別の会社が同じものを作る気配はありません。それは、「作るのが非常に難しい」ことと、「売っても誰も買わない」ということです。OSを作るのには、宇宙開発レベルの技術力が必要です。また、Windowsが標準になっている現代のIT社会で、別のOSを独自規格で開発しても、使う人はいないでしょう。
このWindowsに対して、ある程度競争相手になり得る集団があります。それが、オープン系の技術です。
そもそも、オープン系とはパテント(特許)に対して言われる言葉で、「オープンに無料で誰が使っても良いですよ」とする技術のことです。
ですが、OS業界では言葉の意味が多少異なります。「このソフトウェアのソースコードは全部フリー(無料ではなく自由という意味)で公開し、誰でも自由に使って良いですよ」という意味で、オープンあるいは「オープンソース」という用語が使われます。
上に挙げた「MS地獄」のような問題から、オープンソース系のOSは着実にニーズがありますが、オープンソース系のOSにも問題があります。
まず、Windows向けに作られたアプリケーションが動かない、ということ。IEやMS-OfficeなどのMS製品だけではなく、Adobe PhotoshopやIllustratorのような「商用製品」は多くがWindowsあるいはMac向けに開発・販売されています。オープンソースのLinuxのようなOSでは、こうしたWindowsアプリケーションを使うことができません。GIMPやInkscapeのような代替製品も開発されていますが、そうした代替製品は誰も使わないため、使い方が分からなかったり、情報が得られなかったりします。
もうひとつが、UNIX系のOSは使い方や管理の仕方が複雑で難しく、使いづらく、そしてトラブルに対処するのが難しい、ということ。LinuxはUNIXの互換OSであるため、UNIXの管理の仕方を学ぶ必要がありますが、コマンドを使ったり、設定ファイルを書いたり、スクリプトの書き方を覚えたりしなければなりません。UbuntuのようなデスクトップLinuxは、まだまだ未熟で、使っていてトラブルが起きることも多く、そのトラブルをどのように解決したらいいか分からないことも多く、また非標準のOSであるため、使っている人が少なく、インターネット上にも情報が少ないため、「トラブルを解決するのが面倒だから使うのをやめる」といったことに成りがちです。
また、「Windowsと色んな部分が違う」ということも言えます。オープンソースで「簡単にソフトウェアが導入できるパッケージ管理システムがある」とは言いますが、このパッケージ管理システムはコマンドで操作することを前提としており、コマンドが分からなければ使えません。
ある程度のパワーユーザーでも、Linuxを日常的に使うことは容易ではありません。僕自身も、主に使うのはWindows 7ですが、その理由はさまざまな点で「既に慣れているから」であり、また、Linuxのやり方を知っているゆえに、「Linuxを使うことは難しいということが最初から分かっているから」です。
Linuxの多くの初心者は、頑張って使うために設定や管理の方法を学びますが、コマンドを使うところまで手が回らず、パッケージ管理システムの使い方ぐらいを分かって終わりになってしまいます。また、Linuxには「Windowsよりも優れている魅力的な点」がありません。GNOMEやKDEは多くの場合Windowsと全く同じで、「劣化コピー」と言われても仕方ありません。
また、なぜWindowsが不安定だったのかは、そもそもMicrosoftが作ったMS-DOSが、シアトル・コンピュータ・プロダクツ (SCP) から手にいれた、CP/M互換OSの86-DOSを、IBM PC用に改良してPC-DOS(MS-DOS)としたものだったからではないかと思います。
自分が最初からひとりで作ったわけではなく、DOSのそもそもの基本は他社が作ったもので、Microsoftはそれを改良してMS-DOSにしたのです。
これだけでも不安定になりそうな要素がありますが、このMS-DOSをMSは独自に拡張してウィンドウシステムであるWindowsを統合し、シングルタスクからマルチタスクになるように機能を改良しました。
Windowsがファイルシステム関係ではきちんと動いていることが多いのは、DOSはディスク・オペレーティングシステムであり、最初からディスクを操作することを念頭に開発されたからだと思います。ネットワークの機能については、セキュリティホールはたくさんありますが、それでもきちんと動いています。それはBSDのソケットコードを採用したからではないでしょうか。
逆に、プロセスやメモリ管理ではよくフリーズし、アプリケーションがよく強制終了していました。これは、他社が作ったCP/M互換OSのコードを、MSが独自に改良しようとしたためではないでしょうか。
実際のところ、どうして不安定だったのかの答えを知ることはできません。また、Microsoftは新しいNTカーネルを書き直し、これは安定しています。最近ではむしろ、Linux上のGNOMEやKDEの方がはるかに不安定だと僕は思っています。Linuxが安定しているのは、コマンドラインとサーバーの分野だけです。
ビル・ゲイツも参照のこと。
実際のところ、パソコンのOS業界では、Windowsが圧倒的な力を持っています。ほとんどのパソコンユーザーはWindowsを使います。
この理由として、歴史的な理由として挙げられるのは、
・IBM-PC/AT互換機の、MS-DOSの後継OSであること。昔のシングルタスク・コマンド操作のIBMパソコンでは16bitのMS-DOSを採用しており、その後継OSであるWindowsが使われるに至った。
・ウィンドウ操作を実現したこと。AppleのMacintoshのようなウィンドウ操作を実現したことで、「革新的なインターフェース」として高評価を得た。DOSのようなコマンドラインのインターフェースに確執するUNIX業界に対して、Windowsは新しいインターフェースの方式を提示し、人々の賛同を得た。
・IEやMS-Officeなどの標準アプリケーションが動作すること。昔からWebブラウザのレンダリングエンジンは、IEがブラウザ戦争でNetscapeに勝利してからは、IEのTridentが標準的だった。IEでしか正しく表示できないサイトは昔は多かった。その後にMozilla FirefoxやGoogle Chromeなどが標準化によって少しばかり普及したが、WindowsのIEは今でも大きく力を持っている。また、ワープロや表計算などのオフィススイートソフトウェアとしてWindowsに付属する形でMS-Officeが標準的になってからは、「MS-Officeがなければ仕事ができない」状況を作り出した。LibreOfficeなどは「無料の劣悪なパチモン」であり、誰でも正規版をきちんと買って使いたい。LibreOfficeの標準規格であるOpenDocumentは全く成功しておらず、MS-Office形式のデータファイルの膨大な過去の蓄積があり、操作方法や機能も違うため、「単純に互換性があるというだけでは誰も使おうとしない」という負のスパイラルに陥っている。また、Linux版のLibreOfficeは標準フォントなども少なく、GIMPやInkscapeなどと同様「誰が見てもビジネス品質では使いものにならない」という評価にしかならない。
・不安定でバグが多かったが、何とか使えるレベルだったこと。Linuxのようにプロのシステム管理者にしか分からない設定や管理の方法が少なく、GUIで設定できた。そもそもDOSのシステムを継承しているため、「FATにはデフラグが必要」とか、そういうWindowsの考え方は受け入れられやすかった。逆にPC-UNIXは一部のオタクやハッカーの間でしか使われず、「パーミッションの設定が誰にも分からない」といったように、UNIXの文化は一般のパソコンユーザーには理解しがたいものだった。
・商売や政治的な理由。マイクロソフトのビル・ゲイツの「抱き合わせ・囲い込み戦略」は大きく成功した。誰もがパソコンを買う時にWindowsが付属しており、Windows以外のOSはMacぐらいしか知名度がなかった。最初にMS-Officeで使い方を覚えてしまうと、ジャストシステムの一太郎などは使い方が全然違う。また、政治的な理由では、最初にシェアを大きく獲得したことで、事実上の標準OSになり、ほとんどの職場あるいは学校などでも、Windowsの使い方を学び、Windowsの使い方でOSを使うことが支配的になった。GNOMEやKDEがいくらWindowsと同じインターフェースを採用しても、それはパクリにしか見えない。
・技術的な理由。Windows APIやMFCなどのWindows開発APIは、内部は公開されていないものの、C/C++のウィンドウ操作インターフェースとしては、高品質で使いやすいものだった。内部が公開されていないことは、プログラマにとっては「中身の仕組みが分からない」という問題もあるが、Windowsの地位を保つ上で、コンパイラやAPIの内部ソースコード非公開は上手く働いた。プログラミングを行うということが昔のような「大型コンピュータ」から「パソコン上でのGUIプログラミング」になる段階で、Windows APIに慣れてしまったプログラマは、「Windows API=C/C++プログラミング」だと刷り込まれてしまう。APIの内部が公開されていないため、代わりの独自APIを作ることは難しく、ボーランドのDelphiなどの一部の例を除けば、「プログラマはみんなWindows APIとVisual C++でしか作れない」という状況を生み出した。これはライバルのソフトウェア会社に勝つ上で圧倒的な力だった。
また、現在のWindowsとして言えるのは、
・使いやすい。みんな、Windowsの操作インターフェースに慣れてしまったせいで、MacやUNIXのような異なるOSの使い方や管理の仕方が分からない。設定ファイルと言うだけで嫌われ、スクリプトと言うだけで難しいものだとされる。パソコンは「テキストファイルに記述するもの」ではなくなり、「コマンドを打ち込んでEnterを押すもの」でもなくなり、「マウスとキーボードを使ってボタンや画面をクリックするもの」であると完全にパラダイムが変わった。Linuxの操作はつまらないし、オープンであると言いながらパッケージ管理システムを使うなど、とても面倒くさくて使い勝手の悪い、「融通の利かない」といういつものコンピュータのまま、完全に置いていかれた。
・NTカーネルが安定している。最近のWindowsは、サーバーやエンタープライズ用途としても安定しており、これはNTカーネルを書き直したことが大きい。普段使うOSとしてもバグや不具合がどんどん減っており、たまに不安定なバージョンをリリースするが、多くの場合それと交互に安定したバージョンをリリースしている。ユーザーは安定した使えるバージョンが何かを熟知している。確かに個人サーバーで使うのであればLinuxカーネルの方が今でも安定しているが、今後どうなるかは分からない。サーバーでもWindowsの方が勝つ可能性は十分にある。
・ビジネス的な理由。最近はさまざまな会社間での契約から、Windowsで(たとえばCOMやActiveXなどを用いて)商業システムを構築する機会も増えている。特に日本などではMicrosoftのシェアが一向に減らず、独占的契約からWindowsを採用したシステムを作ることが増えている。これは、日本語環境や日本独自のさまざまな商業的な理由もあるが、「Linuxは比較的海外で成功している」という意味合いが強い。ドイツなどではスパコンやメインフレームにはSUSEを使う。日本には、Linuxエンジニアも、Linuxの分かるシステム管理者もまだまだ少ない。そもそもLinuxを開発しているオタクは海外のオタクが多い。これは「日本人には英語ができない」など、多くの日本人の「IT業界で遅れている」ということの表れでもある。
・アプリケーションがWindowsのものしかない。LinuxではAdobe製品も動作せず、仕事の用途に使えるGUIのアプリケーションが少ない。上で日本人にはLinuxエンジニアが少ないと書いたが、日本ではエンジニアが必ずしもレベルが低いわけではなく、Windowsのフリーソフトなどは海外よりも使いやすくて高機能なWindowsフリーソフトの開発者はたくさん居る。例はSleipnirなどのタブブラウザで、海外のMozilla Firefoxなどのライバルと比べても使いやすい。日本にはWebサービスやWebページも多く、テレビゲームやスマホゲームも多い。オープンソースなエンジニアが少ないだけで、日本のローカルな世界では日本人の技術力は高い。また、WebデザイナーやWebエンジニアの間ではLinuxは広く普及しているが、そうした人々の間にもオープンソース文化やフリーソフトウェア文化は全く根付いていない。
・新しい.NET Frameworkの言語仕様とクラスライブラリがスマートであること。LinuxでUNIXのPOSIXのAPIを使うよりも、Windowsを使った方がモダンで、GUIの開発がしやすい。C#やVBでGUIプログラミングを書いていると、LinuxでXlibやGTKを使ってプログラムを書くのがばかばかしくなるほど今の.NETのWindows.Formsなどの技術は優れている。対抗できるのはQtやDelphiぐらいではないかと思う。
などの理由がある。
また、Linuxが使われない理由も多い。たとえば、
・Linuxはコマンドラインを習得しなければ管理できない。UNIXの管理は難しく、誰も自力で管理できない。むしろ、最近のLinuxはどんどん簡単かつ自動設定になっているが、逆にこれも嫌われている。システム管理者になる上で必要となる知識を学ばなくても使えてしまうため、「簡単すぎて無意味」であると言う。逆に知識のない人間が難しいUNIXを使う結果になり、さらに「自力で管理できないユーザの量産」に繋がっている。昔はネットワークの設定などは多くの手動設定が必要であり、Xのモニターの設定なども簡単にはいかなかったが、逆にそれが面白く、当時の「PC-UNIXブーム」を作っていたが、今ではそうしたほとんどのことをUbuntuなどが自動設定にして、逆に手動設定すらできないLinuxユーザーが増え、Linuxの人気の衰退に歯止めがかからない。
・ビジネスで使うために、MS製品やその他の製品が動作しない。GNOMEやKDEの標準アプリケーションの品質は劣悪で、多くの有名Linuxアプリケーションはそれらとは独自に開発されており、「GUI環境の劣悪さ」は甚だしい。
・不具合や問題、あるいは管理上の必要となる前提知識がとても多く、自分で問題を解決できない。特に、ディストリビューション間で設定やファイルの構成が違い、管理の方法も違う。UNIXとは異なる管理の方法をしていたり、昔のやり方がどんどん変わっていたり、GNOMEやKDEなどが進歩すればするほどWindowsに似通ったインターフェースを採用したりするなど、進歩の過程も疑問である。プロのシステム管理者も「最近のLinuxはおかしい」と批判し、FreeBSDやOpenBSDが再び人気になるなど、「Linuxそのものの存在意義」すら疑問に感じる人々は多い。
・オープンソースで、無保証の原則があり、サポートを受けられない。商用の長期サポートを受けたければお金を払う必要があるなど、Windowsとサポート体制が変わらない。またディストリビューションによって価格が違い、RHELはWindowsと比べてもとても高価であり、またCentOSという無料のクローン版が広まっているなどおかしな点が多い。
・オープンソースであることはいいことかもしれないが、ソースコードがGPLでライセンスされており、商用システムに使うと自分で書いたコードまで公開しなければならない。
・普通にプリインストールされたパソコンが売っていない。(製造物責任法上の問題から、どのメーカーもLinuxパソコンを販売しようとしない。Linuxパソコンを販売すると「売り逃げ」として捉われてしまい、会社の信頼もなくなる。)
・そもそも存在が知られていない。テレビ広告も出さずどこの店にも売られていないため、「一部のネットのオタク」の間でしか知られていない。しかしながらLinuxは単なるWindowsオタクに理解できるほど簡単ではなく、Windowsのように面白いゲームや高機能なフリーソフトもなく、「オタクから見てもっとも嫌われるシステム」となっている。以前のような大学でUNIXワークステーションを使う向きはどんどん衰退しており、EmacsやVimなどの一部の神アプリケーションはAtomやVS-Codeなどどんどん新しい代わりのものが開発されており、それに比べてLinuxは「TeXとgnuplotしか使えない」というままで、全く時代の進歩についていけていない。
などがある。
また、Macについていえば、
・WindowsはたくさんのIBM PC-AT互換機で動くが、MacはApple社のMacでしか動かない。MacはApple Storeでしか購入できず、結果的に店に並ぶほとんどのパソコンはWindows搭載の日本製あるいは米国製・アジア製のものになる。
・価格が高い。確かにレティーナディスプレイなどは解像度も高く綺麗だが、それに見合った値段を取る。デザイナーの現場でも、多くのMacを整備すると金がかかるため、ほとんどのパソコンはWindowsを使うしかない。Windowsは無料ではないが価格は安い。
・純正のハードウェアしか使えない。Macは自分でハードウェアを分解することすらできず、壊れたら直すのも難しい。ハードディスクを取り換えることすら考えられていない。
・Windowsのアプリケーションが動かない。Microsoft Officeは一応Macでも動くが、MacでMS-Officeを使うという話はあまり聞かない。
・管理の仕方や使い方が分からない。インターフェースや設定の方法も違い、ドライバのインストールなどが必要な時にはサポートされていないこともある。また、使っていると常に「Windowsと違う」という特徴ばかりが目立ってしまい、そもそもの「この操作をする」という目的から外れることが多い。
・標準的でないことから、使いたい人間がそもそも居ない。そもそもMacを使いたいという人が居ない。
などの問題がある。Macはとても良いOSで、最近僕も職場ではメインで使っているが、どうしてもMacが使われる状況は生まれづらい。
何にしても、「結局Windowsがいいよね」ということになりやすい。一向にWindowsの標準的シェアの力は倒れる気配がない。Linuxファンの僕としては歯がゆい状況である。
LinuxやMacが必ずしも欠点ばかりではないため、誤解しないでほしい。Linuxには、「コマンドラインで使える機能性」「X Window Systemのカスタマイズ性の高さ」「自動化と柔軟な設定・管理」「サーバーとしての安定性」そして「オープンソース」など多くの良い点がある。また、Macには「デザインが美しい」「UNIXをベースにしている」「GUIのオリジナル」など良い点がたくさんある。
旧来のWindows。後述するNT系と比べると不安定。Windows 95, 98, Meがこれに当たる。
Windows NT系は、NTカーネルと言う新しいカーネルを作りました。安定した動作が特徴。Windows NT, 2000, XP, そしてそれ以降のバージョンがこれに当たる。
Windows Vista以降は、.NET Frameworkを利用した新しいOSとして、現時点でのWindowsのメインラインです。
現役OSとして活躍中。安定した動作が特徴で、フリーズしない。
新しいUIを搭載したが、不評。
最新のOS。これ以上のWindowsは、新バージョンを売るのではなく、10をアップデートする形に変えるそうです。
これ以上新しいバージョンは出ないとしていたMicrosoftですが、僕が思っていた通り、やっぱりWindows 11が出ることになりました。
しかしながら、Windows 10ユーザー向けには、無料でアップグレードが提供されるようです。ただし、ハードウェアの要求スペックは高くなっています。Windows 11でしか動かないソフトウェアなどもでてくるでしょう。結局「買い替えを迫るビジネスモデル」にすがるしかなかったようです。
Windows NT系のNTカーネルは安定しています。
後日注記:NTカーネルは元DECのVMSのメンバーによって一から作り直されました。MS-DOSベースのWindows 9x系は、よくフリーズするなど不安定であることで知られ、Windows Meなどは最悪でしたが、これに対してNTカーネルを採用したWindows 2000などはとても安定した「できるOS」でした。
Windowsのファイルマネージャ。これが無ければ、Windowsは成り立ちません。
Windowsの設定登録システム。大きくなると起動が遅くなります。
Windowsの設定変更システム。誰もがこれと格闘してパソコンが動くようになります。
僕は良く分からないのですが、コンポーネント指向と言う意味では、COMが一番先駆的だったらしい。ActiveXはFLASHなどのIEで動くプラグインが有名です。
Windowsでのグラフィック描画を行うコンポーネント。ゲームなどに使われる。
DirectXも参照のこと。
WindowsでGUIアプリケーションをC/C++言語で書くための基本的API。これが分からないと話にならない。だけど、超機械的なところがある。
Windows APIも参照のこと。
Visual C++で本格的アプリケーションを作るためのクラス集合。これも分からないと話にならない。
Visual C++/MFCも参照のこと。
Visual Basic .NETやC#でアプリケーションを書くための、Javaと良く似たクラスライブラリ、コンパイラ、仮想マシンなど。せめてこれくらいは分かっていれば何とかなる。
.NETも参照のこと。
Windows Serverを使ってサーバーアプリケーションを書く。最近はWindowsでもきちんと動きます。オープンではないが、MSだから安心出来る。
ASP.NETやADO.NETやMicrosoft SQL Serverも参照のこと。
Windowsでコマンドラインアプリケーションを動かすための画面。DOSコマンドを使ってファイルなどを操作できる。最近はPowerShellもあります。
DOSも参照のこと。
Windowsの新しいコマンドライン環境。特に一括で名前を変えたりするのに使える。
PowerShellも参照のこと。
Windowsでは、Windowsネットワークとしてワークグループを設定し、ファイルを共有フォルダに設定することで、ネットワークで繋がったWindows同士でファイルを共有することが出来ます。
Windowsネットワークも参照のこと。
Windowsの標準Webブラウザ。これで表示出来ないと、Webサイトを作った意味がない。セキュリティ面が心配ですがシェアが多いから仕方ない。
Webブラウザ(Windows)も参照のこと。
MSによるJavaScriptなどのエンジン。IEに搭載されている。
JavaScriptも参照のこと。
VB版スクリプトエンジン。
Visual Basicも参照のこと。
Microsoftによるメーラー。Webメールの方が便利なので、僕はWebメールをおすすめします。
メーラー(Windows)も参照のこと。
Microsoftによるワープロソフト。デファクトスタンダードです。OSにくっ付けて売ったせいで、完全に事実上の標準になった。初心者はこれを使うのも一苦労ですが、馬鹿ではない。本当に便利で、一番有名。
MS-Wordも参照のこと。
Microsoftによる表計算ソフト。同じくデファクトスタンダード。関数を覚えると、どんな複雑な計算も出来ます。MSじきじきによる堂々の名作ソフトウェアです。
MS-Excelも参照のこと。
Microsoftによるプレゼンテーションソフト。隠れた名作ソフトです。父親もこれを使って大学の講義をしています。Word, Excel, PowerPointは使えないと、仕事が出来ません。
MS-PowerPointも参照のこと。
Windows標準のメディアプレイヤー。
Microsoftによる統合開発環境・コンパイラ。C/C++、C#、VB.NET、ASP.NETなどによるプログラミングが出来ます。最近はEclipseを使ってJavaで開発する人も多いようですが、これが標準です。
Visual C++/MFCや.NETを参照のこと。
Microsoftによる開発ドキュメント。開発のおともにどうぞ。
サードパーティ技術を参照のこと。
Windowsでオープンソースを参照のこと。
Windows2(コツ)を参照のこと。
Web系の入門サイト。
Visual Basic .NET/C#についての解説。
C/C++/Windowsプログラミングならこの人。
MFCの入門など。
Java関係の入門・解説など。Javaは本当に広い分野です。
Javaも参照のこと。