Linuxな理由は環境構築で無駄にハマることが少ないから。Linuxなら管理者用コマンドひとつでインストールできるソフトウェア(ライブラリ)が、Windowsに入れようとすると大変、というのが普通だからです。(こちらはすでに回答がついているとおり)
Windowsでいろいろな開発環境を構築しようとすると、相性が悪いものもあってトラブルがつきものだったりしますが、Linuxなら標準でパッケージマネージャが付属していてコマンド一本でインストールできたりするからむしろ快適です! Linuxを導入できる環境にいて興味がある方は、ぜひLinux環境での業務を試してみてください。そして一緒にLinuxを愛しましょう。最近はChrome(正確にはChromium)ベースのブラウザが増えてきていますから、ほとんどの場合はお気に入りのブラウザをそのまま使えるかと思います。私の業務範囲では、Microsoft Officeでドキュメントを作る必要はなく、Googleドキュメントだけで特に不自由はありません。同じような環境の方は、特に問題ないと思います。ITエンジニア向け総合求人・学習サービス「paiza」の開発者が、プログラミングやITエンジニアの転職などについて書いています。これをうまく使えばAmazon Prime MusicやLINEなど、単体で起動しておきたいアプリを独立させて使えるのでとても便利です!.desktopファイルを作ってショートカットにしたり、pathの通っている場所にスクリプトを置いておけばQoLも爆上がりです。ただ、Windows(もしくはMac)でしか動かないアプリケーションを使う必要がある!という方だと、当然ですがLinuxのみで業務を行うのは厳しいですよね。などの対策をとれるなら、乗り切れないこともないです。(実際私はこれらの組み合わせで乗り切っています)たいていはOS問わず開発環境が提供されていますから、ここで有利不利が出ることはほとんどありません。たとえば、現時点でLinux向けのMicrosoft Officeは存在しないため、Officeは使えません。もちろん互換性のあるOfficeアプリはいくつもありますが、完全互換ではないので顧客と共有したりするドキュメントを作るには信用に欠けます。ただ、それぞれ一長一短あって、たとえばOffice Onlineではマクロが使えませんし、リモート環境は社内のセキュリティポリシーで不可能な方もいますよね。仮想マシンにインストールする場合も、Windowsのライセンス周りは割とややこしいので事前に入念な確認が必要となります。Windowsでいろいろな開発環境を構築しようとすると、相性が悪いものもあってトラブルがつきものだったりしますが、Linuxなら標準でパッケージマネージャが付属していてコマンド一本でインストールできたりするからむしろ快適です!WindowsやMacでDockerを動かす場合、間に仮想的なLinuxを挟むことになるので、その分のオーバーヘッドになって多少はパフォーマンスが落ちてしまいます。私物マシンだからイントラネットに接続できないという制約はありますが、BYODが許されているので、私物のThinkpad X1 Yogaを持ち込んで開発しています。折り返してタブレットになる2 in 1マシンです!私の使っているマシン(Thinkpad X1 Yoga)はちょっと特殊なハードウェア構成をしているため、微妙に安定しておらず、特に最初のころはときどきハングアップしたり操作不能になったりすることがありました。(ミーティング中に出していたChromeがフリーズして悲しくなっちゃうとか)ちなみに、Chromeが落ちる原因は搭載されているIntel UHD620とドライバの相性だったので、いろいろ設定してあげてからは割と落ち着いています。ちなみにテクニックとして、「Linux版が存在しないがWebでは使えるサービス」は、Google Chromeに --app というコマンドラインオプションを渡してあげればアプリみたいに使えます。デスクトップ環境はわりとコロコロ変える癖があるんですが、最近はi3wmで落ち着いています。エンジニアがふだん使っているような最近のエディタは、大体がマルチプラットフォームに対応しています。有名どころでは、AtomやVSCode、SublimeTextなどはLinux版が存在しますし、ディストリビューションによってはこれらもコマンド一本でインストールできたりしますから、利用に関してはまったく問題ありません。というわけで、多少環境は選びますが、エンジニアであればそこまで不自由なくLinux環境に置き換えられると思います。Linux環境の場合、Windows/Macと違い、そのマシンへの最適化を自分で行う必要が出てくるケースもあります。社内ツールの整備は、これらの作業を効率化するツールを自分で作っています。多くの場合は対応する代わりのアプリがありますが、「業務上絶対にそのソフトでないといけない!」という制約があるならどうしようもありません。リリースまでのデプロイ作業は、制作した動画や開発環境、ソースコードなどをみなさんに公開できる形でデータベースに登録する作業です。Webブラウザから利用できるサービスはどれも問題なく利用できますから、ツイッターもAmazon Prime Videoも大丈夫です。唯一の問題点があるとすれば、KindleがLinux版に対応しておらず、ブラウザ版が使いにくいので、勤務中や休憩中に漫画が読みたくなっても読めないことです。エンジニアの強い味方であるJetBrains社のIDEもLinux対応しています!最近は、Googleドキュメントを始めとしたクラウド系のアプリケーションが便利になってきたり、Chromebookを導入する例が増えてきたりと、クライアント側の環境を問わない働き方ができる空気も整ってきていますよね。業務で使うファイルサーバやDBサーバ、S3などの環境は、イントラネットに接続できない私物マシンからは利用できません。セキュリティポリシー的には至極当然な話なのですが、似たようなケースはいろいろなところであると思います。DockerはホストOSのLinuxカーネルを共有することで高速に動作する仮想環境ですが、当然ながらLinuxカーネルを持っているのはLinuxだけです。特に問題が起きていない場合はよいですが、私みたいに相性問題が起こってしまった場合は、自分でなんとかしていくのが基本です。(当然ですがこれは私がみずから望んでやっていることで、普通にバイトする人には会社がMacも開発環境も用意してくれます。)Google Chromeを始めとする多くのブラウザがクロスプラットフォームに対応しています。標準ではFirefoxがインストールされていることが多いです。実は私はアルバイトのくせに業務では私物マシンのArchLinuxを使っているので、今回は私の開発環境のご紹介と「ぶっちゃけLinuxだけで仕事できるの?どうやってやるの?」というお話をいたします。最近は多くのアプリケーションがElectronで開発されるようになってきました。(エディタの項目であげたAtomやVSCodeもそうですね!)私はプリインストールされているWindows10を完全に削除して、ArchLinuxのみをインストールして使っています(後述しますが、割とこのマシンでは茨の道な使い方です)。 説明が下手なのでググってください。とてもわかりやすい説明がゴロゴロあります。 導入のメリット. 現在、Python, Java, PHP, Ruby, Node.js 等のよく使われているプログラミング言語は主に Linux 上で開発されています。Windows も努力しているようですが、やはりLinux(Mac)の方が開発環境をさらっとインストールして作成できるのに対して、Windows では調べながらソフトウェアをダウンロードして開発環境を作らないといけないケースがしばしば出てきます。 どうも!インストラクターの佐野です。 多くの人が、仕事やプライベートでWindowsまたはMacのPCをお使いでしょう。 一方で、世の中には「LinuxをインストールしたPCを使っている人」も多くいます。ただ、Linuxを知らない人からすると、ふだんLinuxを目にする機会は非常に少ないでしょう。 Pythonで開発をしたいとお考えであれば、まずはPython用に環境構築をしましょう。この記事ではPythonの開発環境の構築方法を詳しく解説します。環境を構築して、ぜひ開発にチャレンジしましょう。 WSLの機能は、特別な用途に限らず、コマンド操作の練習も含めてLinuxを手軽に触ってみるうえで便利なので、興味のある方はぜひ試してみてはいかがでしょうか。WSLを扱う前に、まず簡単にWSLについて説明します。専門的な話なので、WSLの使い方のみを知りたい方は、この章を飛ばして次の章から見ていただいて構いません。それでは、実際にWSLを利用してLinux環境を立ち上げてみましょう。ちなみに、インストールされたUbuntuのルートディレクトリは、下記となります。Windows 10では、WSL(Windows Subsystem for Linux)という仕組みにより、Linux環境を構築できます。Microsoftは今後リリース予定のWindows 10アップデートで、完全なLinuxカーネルをコンポーネントとして搭載することを明らかにしていますが、現状のWSLはカーネルインターフェースとユーティリティで構成されるLinuxエミュレータです。そんなWSLについて、その仕組みと構成、および現時点でのUbuntuによるLinux仮想環境の構築方法、WSLのメリットについて説明します。Windows 10では、WSL(Windows Subsystem for Linux)という仕組みにより、Linux環境を構築できます。カーネルインターフェースとユーティリティで構成されるLinuxエミュレータであるWSLについて、その仕組みと構成、UbuntuによるLinux仮想環境の構築方法、WSLのメリットについて説明します。Linuxアプリを実行するには、まずLinux環境を立ち上げる必要があります。ユーザーモードのWindows環境側のWin32プロセスにおいて、アプリケーションである「bash.exe」は「LX Session manager service」に対し、起動依頼をかけます。C:\Users\%USERNAME%\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\LXCore / LXSSはLinuxのカーネル機能を提供するもので、これによりPicoプロセスが生成されます。Picoプロセスでは通常のLinuxと同様に、initプロセスによって/bin/bash が起動します。起動した/bin/bashはLXCore / LXSSへのシステムコールにより、Windowsカーネルの機能と併用して処理が行われます。一般的に、企業ではPCとしてWindowsマシンが多く支給されています。これは、長年ExcelやWordといったOffice製品がドキュメント作成のベースとなっており、Office製品で作成された資産が多く存在するためです。LX Session manager service は、Linuxのバイナリ・プログラム(/bin/bash)の起動方法を提供するもので、カーネルモードにある「LXCore / LXSS」を呼び出します。このLinux開発環境をWSLで実現し、ドキュメント処理をWindows側で行えば、作業効率を大幅に向上させることができます。WSLは、「Picoプロセス」と呼ばれる実行環境の中でLinux環境を提供していますが、その処理の流れを以下の構成図をもとに説明します。Linuxでは、各種アセンブリ言語からC、C++、Ada、Java、Fortran、Perl、Python、Ruby、PHPといった多くの言語環境がサポートされており、それに付随して膨大なライブラリなどのミドルウェアが無償で提供されています。また昨今のIoT分野では、機器の大半に組み込み系のLinuxが採用されています。パソコンでできるこんなことやあんなこと、便利な使い方など、様々なパソコン活用方法が「わかる!」「みつかる!」記事を書いています。下図に示すように、WSLはWindows OS上でLinuxの実行環境を実現するサブシステムです。Linuxのプログラムからのシステムコール(APIやファイルアクセス要求など)をWindows APIに変換して、Linuxのバイナリ・プログラムを実行します。WSLの大きなメリットは、こういった複数のPCで構成されていた環境を、1台のPCで実現できるところです。WSL側からもWindows側からも、それぞれのファイルやフォルダにアクセスできるため、LinuxのコマンドでWindows側のファイルを処理したり、Linuxで処理した結果をExcelやWordで読み込んだりすることも可能となります。WSLを利用するには、まずWSL機能を有効にする必要があります。コントロールパネル→プログラム→プログラムと機能の画面右側にある「Windowsの機能の有効化または無効化」をクリックしてダイアログを開き、「Windows Subsystem for Linux」にチェックを入れます。「OK」を実行し、再起動することでWSLが有効となります。従来、PCにLinuxを実装すると、そのPCはLinux専用マシンになってしまい、Linux環境で作業をしながらWindows環境を利用したい場合は、別のPCが必要でした。WSLでは1台のPCでLinux環境とWindows環境を共有することができます。Linux環境を立ち上げるにはWSLや仮想化などの方法があります。仮想化の場合は別のOSをインストールすることになるので、ホストに影響を与えにくい分離した環境ができるのがメリットですが、マシンのスペックに余裕がないとリソースやパフォーマンスに不安が残ります。WSLはその点、セキュリティ面で仮想化に劣りますが、手軽にLinuxのCUI環境が利用できるのがメリットです。そのため、開発やデザインといった作業をLinux環境で行いながら、付随する仕様書などのドキュメント類はWindows環境で管理する、というケースが一般的となり、それぞれの環境に対応した複数のPCが必要となっています。また、PCが複数必要ということは、データの共有に別途サーバやネットワークが必要となります。Microsoft Storeで「WSL」を検索し、表示される「WindowsでLinuxを実行する」をクリックすると、Linuxディストリビューションの一覧が表示されます。このうち該当するもの(今回はUbuntuを選びます)をクリックし、次の購入画面で「入手」をクリックするとUbuntuがインストールされます。Microsoftは、今後リリース予定のWindows 10アップデートで、完全なLinuxカーネルをコンポーネントとして搭載することを発表しているので、それ以降、この作業は不要になりますが、現時点では何らかのLinuxディストリビューションをインストールする必要があります。インストールしたUbuntu の起動は、スタートメニューにて「Ubuntu」を検索し、表示されたディストリビューション名(Ubuntu)をクリックする方法が簡単ですが、コマンドプロンプトからの実行が一般的です。
このLinux開発環境をWSLで実現し、ドキュメント処理をWindows側で行えば、作業効率を大幅に向上させることができます。 WSLに対応したコードエディタ「VSCode Remote WSL」 WSLで手軽にLinuxのCUI環境を利用できる