ちょっとアンケートみたいになってしまうのですが、シンタックスハイライトはどんなときに便だと思いますか?
私が思いつくのは、エディタ使用時では「長いキーワードのスペルミスに気づける」ということくらいですが、これはむしろエディタの補完機能でカバーすべき気がします。あと、文字列リテラルの範囲や、行をまたがるコメントの範囲がわかりやすいこともありますね。
また、ウェブサイトでのコード公開でも使われているケースが多いですよね。
世の中で多く使われているので、きっと他にも便利なケースがあると思うのですが、分かりません。
逆に、欠点は、色分けの場合、色の選択をちゃんとしないと、コントラストが下がって字が読めなくなることです。
よくそういうサイトがあり、しょうがないので、ctrl-Aで全選択して反転させたり、エディタにコピペしたり等、ばかげた作業を強いられます。
このteratailも、PCで見ているとそうでも無いのですが、スマホで見ると非常に見にくかったです。機種による面もあると思いますが、字が読みにくい機種があることも確かです。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答7件
0
ベストアンサー
シンタックスカラーはインデントをするのと同じぐらいの役割しかないと思っています。
人は何かしらのカラーリングされ、そして、整列された記号(文字)の羅列を見たとき。
- 全体の形(四角いとか、丸いとか)
- 色
- 文字
- 文字列
の順で把握しやすいと思っています。とくに、4番目はコストが高く、注意してみないと把握できません。最終的には4番目まで行かないとソースコードは理解できませんが、1と2だけで得られる情報があれば、把握する速度が向上するのではないのでしょうか?
まず、プログラマーはソースコードを構造としてみています。単語や記号はそのものの意味だけではなく、このifはif文の始まりだ、とか、このintは型だとか、そんな風にみています。単純な式であっても、グローバルなのか、関数の中なのか、はたまたラムダ式の中だったりするのかを常に把握(意識)しながら読み取っています。でも、こういったことの情報は前後の文脈を理解しないとわかりません。いや、intぐらいすぐわかるだろうと思いますが、ただのint
だけなのかlong long int
の一部なのかでは意味が全く異なります。
さて、例えば、変数宣言がグローバルにあるのかローカルなのかは重要ですが、正しくインデントされていれば「形」の情報からすぐにわかります。そのことが先ほどのlong long int
でもわかったらどうでしょうか?
C
1static long long int x = 1;
teratailだとなりませんが、エディタによってはstatic
とlong long int
が別の色になると思います。そうするとstatic
はストレージ修飾子で、long long int
が型だなってすぐに把握できます。型であることを意識してから中身を見るのと、中身をみて、前後の文脈を判断して、型だと判断するのでは速度が違います。
なので、シッタクスカラーはインデントと同じぐらいの役割だということです。人が構造を、その文字列と組み合わせの前後読み解く前に、理解することを補助しているにすぎないと言うことです。katoyさんが引用したように読み飛ばしを助長してしまう可能性はあるかと思いますが、人間の脳は文字列の羅列だけで文の構造をすぐに把握できるほどよくできていません。適度なインデント、適度な改行、適度なシッタクスカラーは、私たちが本来苦手とする言語理解という部分を、視覚的な把握という得意とする感性的な処理で補うためのものではないのでしょうか。
投稿2015/11/11 23:01
総合スコア21751
0
答えは単純で速く読む為です。
(あくまで自分中の答えで、他の理由も正で当然だと思ってます)
プログラマーの仕事の大部分が既存や他人のドキュメントやソースコードを読んで理解する事にあるので、
頻出単語である予約語は読み飛ばしたいものです。
しかし、つまらないタイプミスでコンパイルにすぐ失敗するので
「わざわざ予約語なんて時間や労力かけて読みたくも見たくもない、でも見なければならない」
そこを絶妙に回避してくれるシンタックスハイライトは今やなくてはならない物と思ってます。
これはプログラマーに限らず、
文章を読んで意志決定する全ての職業でも同じことだと思ってます。
箇条書きや表に纏めたり、図やグラフにして分かりやすくしたり、
文章の中で蛍光ペン引いたり太字にしたり…
投稿2015/11/11 13:26
総合スコア21400
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/11/11 14:42 編集

0
私の感じるメリットを書いてみます。
・長時間ディスプレイを眺めても目が疲れないような色合いにする。(コーディング、リーディング)
・ぱっと見てそれが何か理解できる(フィールド、メソッド、クラス、文字、数値、etc...)
大きくは、上記2つかなと思います。
昔、シンタックスハイライト機能がないエディタを利用していた時に苦労していたのが上記の2点です。
数値、文字、関数、変数などがぱっと見てすぐに分かるのは、コードリーディングにはかかせない機能です。
実際に、黒背景に白単色文字にしてエディタを使ってみると身染みて便利さを体感できると思いますよ。
補完機能やGrep機能の結果を見やすくする効果もあるとは思いますが、疲れない色合いで、見た時に何が書いてあるのかすぐわかるというのが、私が感じる一番のメリットですね。
Vzエディタを使ってた頃に、MIFESの画面を横目で見ながら、、、「Vzの方が軽くて軽快だもんね!!」と言いながらシンタックスハイライト機能を羨ましく思っていた頃を思い出しました。
投稿2015/11/11 13:36
総合スコア135
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

0
質問者です。
回答していただいた方々、ありがとうございました。遅くなって済みませんが、まとめを書いておきます。
グループ1「部分的な事について」
- (予約語の?)スペルミスの発見
- コメントとコードの区別
- 文字列の閉じ忘れ発見
- 直感的な構文要素種類の把握
グループ2「プログラム全体を見るときについて」
- 別の言語との頭の切り替え
- フォーマットが整っているか把握
- 直感的な構造の把握
- 予約語を読み飛ばして速く読むため
グループ3「その他」
- ソースコードの見やすさ(具体的には不明)
- 見やすい色を使う
グループ1のメリットはあるだろうなと思っていましたが、グループ2の意見の人が多かったですね。
私の「色を使ったシンタックスハイライト」についての印象は「コントラストが低くて字が読めない」で、オフに出来る環境ではオフにしていました(ボールド文字くらいは使ってます)。
シンタックスハイライトなど影もない時代から、それに慣れているので、特に直感的な把握がしにくいとか、速く読めないとか思ったことはないのですが、
グループ2の意見が多いと言うことは、もったいないことをしていたのかもしれません。コントラストの高い色がカスタマイズできる環境では、使ってみようかと思います。
投稿2015/12/05 18:24
総合スコア86295
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
一番 ありがたいのは
コメントとコードの区別、
文字列 の ", ' のとじ忘れ
が一目瞭然になることです。
()、{}のレベルも背景色の濃さを変化させることで判別できる様な
シンタックスハイライト法もあると良いとおもいます。
参考情報:
- wokipedia シンタックスハイライト https://ja.wikipedia.org/wiki/%E3%82%B7%E3%83%B3%E3%82%BF%E3%83%83%E3%82%AF%E3%82%B9%E3%83%8F%E3%82%A4%E3%83%A9%E3%82%A4%E3%83%88
...
シンタックスハイライトは、特に複数ページにわたるようなコードについて、テキストの可読性を向上させ、文脈をより明瞭にするための手法の1つである。
読み手は関心のないコードやコメントを、それが長いものであっても、楽に無視して読むことができる。
また、プログラマがプログラム中の誤りをさがす助けともなる。
例えば、ほとんどのエディタは文字列のリテラルを地のコードとは異なった色でハイライトする。
文字色の対比から、文字列リテラルの区切り記号の忘れを見つけることがより簡単になる。
また、多くのテキストエディタには括弧の対応をチェックする機能もある。カーソル位置の括弧のペアを特別な色で表示することで、正しく対応しているかの確認が容易となる。
...
しかし、シンタックスハイライトには
流し読みがしやすくなるので、プログラマはコード全体を理解しようとはしなくなる
タイポグラフィ上の理由から、ハイライトされたコードはされていないコードよりも実際には判読性が劣ってしまう
という指摘もある
...
投稿2015/11/11 15:12
総合スコア22328
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
複数の言語を使っていると、シンタックスハイライトを見たときに、頭がその言語用に切り替わる感じがします。
コメントの色は言語によらず緑にしているケースが多い(最近のエディターはそうでもないですが)ので、緑=コメントだと勝手に頭が判断してくれます。
シンタックスハイライトがあるときのほうが、無いときよりも、フォーマットが整っているかどうかを判断しやすく感じます。
あと、カラフルなほうが楽しい。というのは半分冗談です。
感覚的なことばかりになってしまいましたが、私にとってシンタックスハイライトは直感に訴えるもの、という位置づけです。
欠点については、同意です。
モニターを暗めに設定しているので、エディターの黒背景+濃いグレー文字とかは読めません...
別回答コメントの、
本質的で無いことを長々と書かないといけない言語ではより有効
も、なるほどそうかもしれません。
投稿2015/11/11 14:04
総合スコア9396
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/12/05 18:21