Ruby僕は主にRubyとGoを書く。この2つを使っていると、「(Rubyに比べて)Go辛いなあ」と思うことがあるのだが、なんで辛いのかはよくわかってなかった。最近仕事にGoを使い始めたRubyistが社内ブログでGoのPros/Consを書いていたんだけど、そのConsも自分が辛い理由には該当しなかった。Pike先生がGoの設計思想について話をしていて、思うところがあったので書いてみる。書き方が1つだと冗長な書き方を迫られることがあるRobは、「すでにできることのための機能の追加は行わない。いうようなことを言っていた。この思想が徹底されることによりコードの可読性を担保できるという。一方でこれは、「シンタックスシュガーや用途が限られたリッチな構文が導入されないこと」とのトレードオフだと思う。RubyとGo言語という鵜飼さんの記事がある。可読性は個人の好みだと思う(僕はRubyのほうが読みやすいです)が、書きやすさに関しては明らかにGoのほうが文字数が多く書くのに手間がかかる。文字列操作をするのが本当に疲れるので、Webアプリケーションを作るのには向かないと思う。書き方が1つだけだと読みやすい一方で、方法が制限されていることにより得られるメリットもある。Robは、「書き方がたくさんあると、どちらで書けばいいのか迷って時間を無駄にするし、読むときもなぜその方法が選ばれたのかわからない」というようなことを言っていた。これは実際そうだと思っていて、Rubyだと書き方がたくさんあるので困るということが実際ある。endendと書き直すことができる。これらの意図はコードを読んでも多分伝わらないので、なぜそういう書き方をしたのか考えるコストが発生する。どちらの書き方も良い点悪い点あるため、その時の状況によって迷うことになる。Rubyのコードレビューを見ていると、個人の書き方の好みや統一のための指摘が結構多くて、時間を無駄にしていると思う。月別アーカイブ検索はてなブログをはじめよう!k0kubunさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。