まとめ
-
Linux には、GCC、GDB、Vim、Emacs など、プリインストールされている便利な無料プログラミング ツールが幅広く提供されています。
-
WSL などのツールを使用すると、OS を完全に切り替えることなく Linux でコーディングできるため、Windows、Mac、Chromebook ユーザーが Linux にアクセスできるようになります。
-
Linux でコーディングを学習すると、プロフェッショナルな環境、オープンソース コードへのアクセス、豊富なドキュメント、コミュニティ サポートが得られます。
コーディングを学ぶことを夢見ていた場合、どうやって始めればよいのか疑問に思うかもしれません。 Linux は、プログラミングの旅を始めるのに最適な OS かもしれません。プロのようにプログラミングする方法を学ぶのに最適です。彼らにとって良いことが、新人プログラマーであるあなたにとっても良い理由をいくつか挙げます。
Linux は、Unix から豊富なプログラミング ツールを継承してきました。 GCC や Clang などのコンパイラ、GDB などのデバッガ、Vim や GNU Emacs などのエディタがあります。プログラミングを行うためにお金を支払わなければならない他のシステムとは異なり、これらはすべて無料です。必要に応じて変更できますが、いくつかのデフォルトを用意しておくと、簡単に開始できます。
さらに良いことに、それらの多くは、Python などの言語を含む多くの Linux ディストリビューションにプリインストールされています。
Windows や macOS を捨てずに Linux を使用できる
コーディングに手を出したいだけの場合、新しいオペレーティング システムを使用するのは気が遠くなるかもしれません。 Linux でプログラミングを始めるために、使い慣れた環境を離れる必要はありません。既存の OS 上に Linux 開発版をインストールできます。
Windows 10 または 11 を使用している場合は、Windows Subsystem for Linux (WSL) が使い始めるのに適したオプションです。Chromebook を使用している場合は、同様の Linux 開発環境をインストールできます。
Mac ユーザーの場合は、多くの人気のあるオープンソース プログラミング ツールを実行するターミナル アプリが組み込まれています。これは Linux ではなく BSD に基づいていますが、HTG のような多くのプログラミング チュートリアルに従うことができる十分な類似点があります。
コマンド ライン コーディングが気に入った場合は、デュアル ブートまたは仮想マシンによる完全な Linux エクスペリエンスを試すことができます。
プロのプログラマーは Linux を使用します
Linux でのコーディングを学ぶときは、プロのプログラマーが毎日使用するアプリや Web サイトを構築するために使用するツールを使用します。おもちゃの言語を学習しているのではなく、成長して実際のプログラミング作業ができなくなるようなものではありません。
Linux は、開発ツールを備えた Unix の豊かな伝統に基づいて構築されています。 Linux は実際の開発者による厳しいテストが行われているため、プログラミングを学ぶのに最適な場所です。
多くの人は、大学のコンピューター サイエンス学部で本格的なプログラミング プロジェクトの構築を学びます。ジョンズ・ホプキンスのような大学は、プログラム開発のために学生に Linux ベースの研究室とリモート システムをセットアップします。これは主に歴史的なもので、AT&T が学生向けにソース コードを含む Unix のアカデミック ライセンスを安価に提供していたためです。
Linux には Unix ソース コードはありませんが、無料でさまざまなハードウェアで実行でき、教授もすでに Linux に精通しているため、大学の CS 部門で人気があります。
これらの学生は卒業して現実の世界に出た後も、Linux の経験を活かします。 W3Techs によると、Unix 系システムが Web サーバーを支配しており、実際には Linux の一部のバージョンである可能性が最も高いとのことです。
ソースコードが読める
書くことを学ぶ最良の方法は、たくさん読むことです。これは書籍だけでなくソースコードにも当てはまります。 Linux のソース コードは公開されているため、コードを調べてそれがどのように機能するかを確認できます。
初期のドットコム時代に戻ると、Web サイトがどのように機能するかを知りたいときは、ブラウザーで「ソースを表示」をクリックしていました。こうして私はHTMLとCSSの基礎を学びました。多くのソース コード、特に Linux カーネルは少し乱雑に見えるかもしれませんが、その使用方法については同様の洞察が多く得られます。
確かに Windows 用のオープンソース ソフトウェアは利用できますが、この概念を支持しているのは Linux コミュニティです。 Linux コミュニティは、長年にわたってオープンソース ソフトウェアを断固としてサポートしてきました。 Windows 上のオープンソース ソフトウェアの多くは Linux 上で書かれ、移植されています。
豊富なドキュメントが利用可能
私の経験では、オンラインでも印刷物でも、プロプライエタリな言語やシステムに関するドキュメントよりも、Linux およびオープンソース プログラミング言語に関するドキュメントの方が多いように思えます。これは、Linux のオープン性により、技術者が Linux がどのように動作するかを確認できるためである可能性があります。多くのチュートリアルでは、Unix のような環境を使用していることを前提としています。
ほとんどのプログラミング言語とツールには、Wiki などのオンライン ドキュメントがあります。必要に応じて、印刷された書籍を見つけることもできます。私が 2000 年代に CSU East Bay に通っていたとき、図書館には Unix に関する本がたくさんありました。その多くは 90 年代以前のものでしたが、Unix のようなパラダイムがプロのプログラマに大きな影響を与えているため、今でも役に立ちます。私はコンピューターサイエンスの学生ですらなかった。どうやってそれを逃れたのかはまだわかりません。
問題に行き詰まった場合は、他の人から助けを得ることができます。多くのプログラミング言語やその他のオープンソース プロジェクトには、オンライン フォーラム、IRC チャネル、Discord サーバー、およびプログラマーがたむろしてヘルプを提供できるその他の方法があります。人々と直接会いたい場合は、直接のユーザー グループに参加することもできます。
Unix の共同作成者であるデニス・リッチーは、コミュニティを形成できるシステムを望んでいたため、コミュニティの精神は Linux が Unix から受け継いだもののようです。
他のシステムについてはサポートを受けることができるかもしれませんが、Linux やオープンソース ソフトウェアがプロプライエタリ ソフトウェアと異なる点は、そのソフトウェアを作成した人があなたの質問に答えてくれるかもしれないことです。私でさえ、主要なオープンソース プロジェクトに貢献した人と何気ない会話をしていることに気づいて驚いたことは一度や二度ではありません。 Microsoft で働いていない限り、Windows 開発者にこのレベルのアクセス権はありません。