grasshopper の 緩さ

久しぶりに、いろいろアルゴリズムを試しながらgrasshopperでジオメトリを作った。

html/cssやらjavaやら触ったり、phpの本を写経したりして、grasshopperに戻ってきて思ったのは、ghはそれぞれのコンポーネントはきっちりと独立して機能していて、これはあそこだけで使える、みたいな縛りもなく、全体的な緩さがあるので気楽だなとおもった。

気をつける縛り、ルールといえば、データ型と、リストのマトリクスくらいだ。
やってはいけないという事は、たぶん無い。

緩いという反面、どのような組み方もできるので(書き方が1つでない言語はクソと言われることもありますね)、自由に好き勝手に出来てしまう、とても汚い組み方、冗長な組み方でも動くことは動くし、
それにより、ごちゃごちゃ作った可読性の低いゴミが生産されやすいという面もあるな、と思いました。

自由に書けるような緩さは、確かにとても良いのですが、自分の過去のファイルを開いて、すぐに理解できるのか不安です。

他でプログラムに触れたことで、ただ組むだけでなく、少し合理的に組めるようになったような気がしました。がんばります。


話がめちゃくちゃ飛躍しますが、
強い縛りのあるものと、縛りのないものの例として、Instagramやsnowのようなフィルター系のアプリケーションと、RAW画像の現像のアプリケーションの違いを考察します。

Instagramやsnowではいくつかのフィルターがあって、それらはどれを選んでも選ぶだけで良い感じになるフィルターであり、使う人は選ぶだけだ。

それに対して、LightRoomのような、RAW画像の現像のアプリケーションでは、ユーザが自分でパラメータ群を調整しなければならない。パラメータ群の調整によって、自分の出したいテイストの写真が作ることができる。

前者では、誰が使ってもアプリのフィルターが同じであれば、同じテイストの画像を作ることができる。しかもそれは、専門性がない誰でもできる(画像のテイストを決めるのは色情報以外にも構図などの要素があるということは、ここでは無視します)。

後者であると、自由に動かせるパラメータ群によって、使う人がおもむくままに調整できるので、同じテイストをというふうにしても、微妙な差が出るだろう。また、うまい調整には知識や経験などの専門性が必要だ。


縛りの無さ、緩さのあるLightRoomの現像であると、素人には難しい(再現性が低い)。
再現性が低いことと、可読性が低いことをニアリーイコールではないかな、ということで、全然まとまりませんが終わります。