とてもわかる。「プログラミング言語は単なる手段すぎない」みたいな言説はよくあるし、僕も過去に言ったこともあると思う…。この点について掘り下げてみたい。
目的と手段の関係性
今回の場合は、プログラミング言語を例にしているが、一旦「AはBの手段である」とした場合で考えてみる。
一般に「AはBの手段である」と言われる場合、Bは達成される目的として、重要なものであることはいうまでもない。一方、手段であるAは、重要なBを達成する手段として価値があるだろうが、それはBと切り離して考えてみれば、必ずしも重要ではないという意味合いが伴っている。「単なる手段すぎない」というときにはそれが強く現れていると思う。
「プログラミング言語はプロダクトの単なる手段すぎない」とした場合、重要であるのはプロダクトであるから、そのプログラミング言語に特に価値があるものではないという意味で、プログラミング言語は目的に対して他のものに代替可能と捉えることができる。
プロダクトが上でプログラミング言語は下のような印象がでてくる。プログラミング言語はなんでもいいんだよと言いたくなってくる…ほんとうにそうか🤔
このように実用性の観点でみた場合は目的と手段の関係はこうなるの事実だ。もちろん、元のつぶやきの「芸術作品」のようにプログラミング言語には実用的機能以外に美的機能も備えていると思う。
だが、ここでは目的と手段の相対性について掘り下げてみたい。
目的と手段は相対的に決まる
「目的と手段は相対的に決まる」という話が以下の記事にあります。
このサイトの図をみてもらうとわかるけど、目的と手段がフラクタル構造になっているのが面白い。
「目的と手段は相対的に決まる」というのは、目的と手段がレベルによって相対的に変わることを意味する。特定のレベルではあることが目的であり、別のレベルではそれが手段になり得る。この概念は、目的と手段が状況や視点に応じて変わりうることを示していて、何が目的で何が手段かは、どのレベルに焦点を当てるかによって異なる。
例えば、SaaS企業でサービスを提供する場合、企業全体としての目的はサービスを通じて顧客に価値を提供することだ。しかし、その開発部門にとっては、システムを開発・運用することが主な目的になる。このように、大きな組織の目的は、小さな部門や個人のレベルでは手段として機能することがある。つまり、目的と手段はそれぞれの立場や視点によって異なる。
手段か目的かの二項対立的思考はよくない
つまるところ、大きな目的を掲げた場合、目的と手段の二面性が成り立つといえる。その場合、プログラミング言語や技術は単なる手段というのは片手落ちで、大きな目的のための適切に手段を目的化しなければならないのではないか。
なので、手段か目的かの二項対立的思考はよくない。「プログラミング言語は手段でもあり目的でもある」はありうると柔軟で広い視野を持ったほうがいいと思う。