自然言語処理100本ノックにおける第2章: UNIXコマンドの演習について


# 前提

プログラムに関する具体的な質問でなく恐縮ですが、他に質問できるプラットホームがなく、こちらで質問させていただきます。

「[自然言語処理100本ノック](https://nlp100.github.io/ja/)」と言う自然言語処理の演習問題がありますが、その中で「第2章:
UNIXコマンド」では、UNIXコマンドと処理を行うプログラムの両方を作成するように指示されています。

具体的には、以下のようにトップページに章内容が書かれています。

> 研究やデータ分析において便利なUNIXツールを体験します．これらの再実装を通じて，プログラミング能力を高めつつ，既存のツールのエコシステムを体感します．

# 知りたいこと

この点に関してなぜ、UNIXコマンド１行で済んでしまうことをプログラムでも記述する必要があるのかわからず、困っています。

書かれた通りに演習しておけばいいと言う意見もあるかもしれませんが、同じ処理を行うためにプログラムが必要なのはどういった場面で、プログラムの書き方も学んでおく必要があるのか具体例などあれば含めて、説明いただけると大変助かります。




その本で述べられている

> これらの再実装を通じて，（……）既存のツールのエコシステムを体感します．

という部分の趣旨を取りこぼしている気がします。

> プログラムでも記述する必要があるのか

や

> 同じ処理を行うためにプログラムが必要なのは

という疑念を述べておられますが、「必要（ニーズ）があるから」そのような代用品を作るための学習をするという話ではなくて、

**UNIX のコマンドもその実体は C 言語やものによっては Python などの何らかの言語で記述されたプログラムです。**

あなたが、ユーザー側の立場で誰かが作成した既存のプログラムである UNIX コマンドを一行で実行するのは簡単です。

そうではなくて、あなたが開発者（エンジニア）側、プログラマーとして、そのようなコマンドを作る側の技術を学びましょう、ということのはずです。




その本で述べられている

> これらの再実装を通じて，（……）既存のツールのエコシステムを体感します．

という部分の趣旨を取りこぼしている気がします。

> プログラムでも記述する必要があるのか

や

> 同じ処理を行うためにプログラムが必要なのは

という疑念を述べておられますが、「必要（ニーズ）があるから」そのような代用品を作るための学習をするという話ではなくて、

**UNIX のコマンドもその実体は C 言語やものによっては Python などの何らかの言語で記述されたプログラムです。**

あなたが、ユーザー側の立場で誰かが作成した既存のプログラムである UNIX コマンドを一行で実行するのは簡単です。

そうではなくて、あなたが開発者（エンジニア）側、プログラマーとして、そのようなコマンドを作る側の技術を学びましょう、ということのはずです。

