パスワードを忘れた? アカウント作成
185447 story
プログラミング

プログラミングはプロポーショナルフォントの方が読みやすい ? 109

ストーリー by reo
やったことがないからやってみよう 部門より

ある Anonymous Coward 曰く、

本家 /. 記事「Programming With Proportional Fonts?」より。

/.er はプログラミングにはどんなフォントを使っているだろうか?

プログラマーである Maas-Maarten Zeeman 氏は自身のブログで「プロポーショナルフォントは等幅フォントよりも 14 % 速く読める」との研究を例にあげ、プロポーショナルフォントの使用を勧めている。

同じテキストを等幅フォントとプロポーショナルフォントで表示させた場合、プロポーショナルフォントの方が短い幅で済み、短時間で読めるとのこと。また、例えば同じ文字数の単語であったとしても、その文字種によって単語の表示幅が微妙に異なる方が単語認識を素早く行えるという。

ちなみに Zeeman 氏のお気に入りフォントは OS X では Lucida Grande、Windows では Lucida Sans だそうだ。

/.J 諸兄方は等幅派だろうか? それともプロポーショナル派? また、お気に入りのフォントは?

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2010年01月20日 12時11分 (#1705800)
     まず把握したいのは単語ではなく構造なので。
     インデントやタブ幅も重要です。
    • 等倍派です。単語じゃなく、記号としてアルファベットを使う場面も結構多いので。 例えば、lとr、minとmaxは、同じ種類の「記号」なんだから、同じ幅を持ってるべきだ、と。

      それ故、minX, minYとかminX, minYだと後者の方が記号っぽく読みやすい・・・と信じてたんですが、こうして見比べると前者の方が読みやすいな。

      # オフトピだけど、変数名にleft, top, right, bottom, height, widthを使うと
      # 似たような式が数行並んでる部分の縦が綺麗にそろわないのが気にくわない。

      後は、等倍の方が、左から右へ目線を送るスピードが一定だから読みやすいに違いない、とか、 線の太さが同じで飾りが少ない方が識字に必要な脳内リソースが少なくて済むから疲れないに違いない、とか。 漠然とそんな気がしてただけで、このネタを見るまでちゃんと意識したことは無かったですが、 なんかそんな印象から等倍フォントを固持してます。
      親コメント
  • やりたいことによる (スコア:2, すばらしい洞察)

    by Anonymous Coward on 2010年01月20日 11時42分 (#1705770)

    大切なことは、ゼロとオー、大文字Iと小文字l、数字1などの判別が容易であること
    これらの条件を満たすとどうしてもプログラミング専用フォントになってしまい、そう
    するとプロポーショナルフォントは少ない。

    C/C++で書くなら、フォントなんてプロポーショナルだろうが等幅だろうが関係なく
    みやすければいい。
    F77やアセンブラで書くなら、等幅がいいし、ASCIIベースの通信を書き下すときも
    やはり等幅がいい。そういう仕事があるなら、普段から等幅にしといたほうがいい
    という観点もある。

    • by Egtra (38265) on 2010年01月20日 12時23分 (#1705812)

      あと、プロポーショナルフォントだとピリオドやカンマ、セミコロンなどの記号がごま粒のように小さく、その他の記号も軒並み存在感のないような出来のものばかりです。プログラミングでは、これら記号が重要なことが多いので、等角フォントばりに記号も目立つプロポーショナルフォントがあったらいいと思っています。

      親コメント
      • Re:やりたいことによる (スコア:2, すばらしい洞察)

        by Anonymous Coward on 2010年01月20日 12時35分 (#1705830)
        そのへんはどっちかってと「危険な記号」をハイライト表示しないエディタの不備というような気はします
        全角スペースだってそこだけ背景赤で表示してもらえればおおむね気づくわけでして
        フォントのお仕事でないかもしれないなあと最近つらつら考え中
        親コメント
        • Re:やりたいことによる (スコア:3, すばらしい洞察)

          by albireo (7374) on 2010年01月21日 3時07分 (#1706326) ホームページ 日記

          そのへんはどっちかってと「危険な記号」をハイライト表示しないエディタの不備というような気はします

          それはむしろフォント側の不備をエディタがフォローしているだけと言った方が正しい気がする。
          カンマやピリオドのような頻繁に出てくる記号をハイライトされたらうざすぎて視認性にはマイナス。
          ハイライトが頻出しすぎると「テキストの強調」という本来の効果が低下してしまいます。

          なので紛らわしい記号はフォントだけで識別できるようにし、ハイライトは特定キーワードのようなもっと重要な目的に使うのが正しいあり方だと思います。

          --
          うじゃうじゃ
          親コメント
  • by sunnydaysundey (32697) on 2010年01月20日 13時06分 (#1705871)

    Courier New最高!

    しかしこれに合う日本語フォントってのが…

  • プログラムに限らずテキストでもブロック単位でのコピペ使ったりしません?
    プロポーショナルフォントだとこれができなくなるのでエディタ類では必ず等幅です。

  • by Anonymous Coward on 2010年01月20日 11時41分 (#1705768)

    コメントの文章の部分だけなら、プロポーショナルもいいと思いますけど、
    似た条件式が複数行に渡って並んでたりすると、桁がそろった方が便利だと思う。

    プログラムって、別に全部読み下したいわけじゃないしね。
    でも、別に他人がどんなフォント使おうと実際どうでもいい話ではある。

  • by Anonymous Coward on 2010年01月20日 11時47分 (#1705776)

    英語ネイティブな人だとプロポーショナルの方が判読が速いというのは
    ありそうですね。日本人はマス目文化なので固定幅フォントの方が好きという
    人も多いでしょう。

    それと、キャラジェネ使ったテキストVRAM時代からプログラムを書いてた人は
    固定幅フォントにするんじゃないですかね。8ビット機でアセンブラ書いてたよんとか。
    アセンブラは固定幅じゃないと読みづらいですねえ。
    私なんかもそうで、エディタでも何でも速攻で固定幅に設定し直します。

    • それと、キャラジェネ使ったテキストVRAM時代からプログラムを書いてた人は 固定幅フォントにするんじゃないですかね。

      違うな。
      コーディングシートにプログラムを書いていた人は等幅フォントを選ぶと思う。

      あとはエディタの振るまいとかも影響大かと。
      vimでiとかkを押したときにカーソルが蛇行すると見づらいと思う。

      親コメント
    • by TarZ (28055) on 2010年01月20日 12時42分 (#1705838) 日記

      固定幅

      3E FF 3D 20 00 FC

      プロポーショナル

      3E FF 3D 20 00 FC

      うーむ、これくらいじゃ短すぎてあんまり変わらん。

      親コメント
    • ここにぶらさげるものでは無いよな気もしてきたけどまぁいいや。

      本家のコメントをてきとーに斜め読みしてみかけた等幅推奨部隊のコメント。

      • プログラムの判読が速くできてもしょうがない。結局ロジック等の理解が律速だから。
      • 垂直方向に整列していることにメリットはある
      • AA 使うから等幅じゃないと嫌、ってのもきちんとあった [slashdot.org]。
      • プログラム中の単語は一字一句間違い無く書かれないといけないので小説みたいに読めるのは害にもなり得る。(一番上とちょっと重複するかな)

      # 向こうの人の言う AA で有機分子の構造を書かれたのをみたことはあり。
      # コード中では AA をみたことないかなぁ。何書いてるんだろ。
      # コードの設計、構造的なつながりとかかなぁ?

      なんだかんだ等幅が圧倒的な主流に見えます。
      そしてコメント内容はこっちと大きく変わらないかなぁ。
      ただし、一般的な文章としてはプロポーショナルのほうが読みやすい
      ってのは多分そうなんだろって感じ。少なくともそこへのツッコミは
      高いスコアとってないし、雰囲気的にも。読み抜けてたり空気読めて
      なかったらすまん。

      # ちなみに funny なコメントは理解できてないことが結構ある。
      # insightful, informative は理解しやすい。interesting は基準が良く分からん。
      # …理解できてないのか、自分?

      ちなみに個人的にも等幅一択。
      垂直方向の整列はデバッグの時に余計な紛れを見やすくしてくれるとか色々。
      そしてなにより重要なことは慣れ。

      やってみたらプロポーショナルでも意外に何とかなるかな?

      親コメント
  • by dassoujieitai (484) on 2010年01月20日 12時55分 (#1705853)
    I1l|の見分けがつくフォントである必要が、あると思います。
    • その昔、私の持っていたタイプライターは1の代わりにLの小文字を使うことになっていたというのを思い出した。
      でも、アレのおかげでタッチタイプ(ブラインドタッチ?)が出来る様に成ったんだと懐かしさに浸ってます。
      それはさておき、横文字圏の人たちは前後のつながりで区別するんでしょうね、我々日本人が漢字の読み方を判別するように。

      親コメント
  • by SIGLAL (37805) on 2010年01月20日 13時29分 (#1705898)

    テキストエディタ、バイナリエディタ、IDEは全部これにしています。
    昔はウィンドウのUIまでこれに統一してたけど、最近はOSの設定には手を入れないようになったので
    そこまではやらなくなった。

    おしいむらくは、正しいポイント数を指定しないとまともに表示されないこと。
    VisualStudioでソースをプリントアウトすると真っ白けの紙切れが出てきたりします。
    (そのときは、仕方ないので、印刷だけはMSゴシックで我慢してる)

    フォントが小さめで画面に情報を詰め込めるのもメリットですが、
    フルHD以上を出せる特殊なディスプレイで使うと小さすぎて見にくくなるのが難点です。

    どんなポイント数でもきちんと出るBDFM+、欲しいなぁ。

  • by Anonymous Coward on 2010年01月20日 20時46分 (#1706179)

    ざっとソースに目を通す目的であれば、
    確かにプロポーショナルフォントの方が読みやすいのかもしれない。
    実際、レビュー目的で印刷するときはプロポーショナルなセリフ体を使っている。

    ただ、自分でコーディングする時のエディタは等幅でないと厳しい。
    行末の位置や文字数で無意識に行うチェックができなくなってしまう。
    例えば変数名が1文字増えたから行末も1文字ずれるはずだ、とか
    ブロック内とブロック外に同じ文字数の行があったら
    インデント分のずれが生じるはずだとか、
    そういった感覚からミスに気づくことができなくなってしまう。

    それに他の方もコメントしていたが、
    矩形の選択や削除も困難になるし、
    カーソルの上下移動時にカラムがずれてしまうのも痛い。

  • 本家のコメントにもありますが [slashdot.org]、「The C++ Programming Language」ではコードをプロポーショナルフォントで記述していますね。これ、日本語版の「プログラム言語C++」でも一緒。
    こういった書籍で使うのならばアリかな?と思います。
    他のコメントで指摘されている、縦に揃わない問題も、書籍用に組版するならいくらでも調整が効きますし。
    ただ、実際のプログラミング作業では使いたくありません。
    ワープロみたく、タブ位置を自由に調整できるエディタが普及しているなら意見が逆になっていたかもしれませんが。

    ん? でも、HyperTalkやAppleScriptのエディタって、デフォルトがプロポーショナルフォントだったような記憶が。記憶違いかな?
    こいつらはあまり縦に揃えようと思わない言語だったしなぁ。

    put 1000                          into hogehoge
    put the first line of field "bar" into foo

    とか

    set hogehoge to 1000
    set foo      to the first line of field "bar"

    とか、縦に揃えて書けたとしても却って違和感が。

    --
    巧妙に潜伏したバグは心霊現象と区別が付かない。
  • プログラミングは色つきでやるもの?
    モノクロで書くもの?
    あなたはどっち派?

    私はモノクロ派です。
    コメントいっぱい書いても誰も読んでくれないので調べたら
    あるIDEではコメントは薄~い緑かなんかになってて
    「無視してくれ」状態で愕然としたことがあります。
    編集過程でリアルタイムに色が変わるのもうざい。
  • by chijin (39571) on 2010年01月21日 11時54分 (#1706423)

    みかちゃんフォントでコメントがかいてあると
    とってもやさしいきもちでよめるとおもうのです

  • by Driver (32138) on 2010年01月21日 12時32分 (#1706452) 日記

    > プログラマーである Maas-Maarten Zeeman 氏
    この人の場合に「14%早く読めた」だけであって、ほかの人の場合も同じ結果かどうかは別議論ですよね?(ソース見てないけど)
    それに、可読性の話だけであって、メンテナンス性やコーディングの効率も良くなるとは言っていないわけで。

    でも、ピリオドやコロン、セミコロン等可読性が落ちると言う意見には同意なので「Zeeman 氏の場合」なんだろうな・・・

typodupeerror

日本発のオープンソースソフトウェアは42件 -- ある官僚

読み込み中...