- ベストアンサー
プログラムソースを一行で書いても大丈夫?
- プログラムソースを一行で書くことは可能ですが、可読性や保守性の観点からはあまり推奨されません。
- プログラミング言語には一行の終わりを示すマークがあり、改行やインデントも命令として認識されます。
- ただし、スペースやインデントは見やすさのために利用されるものであり、プログラムの動作には直接関係ありません。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
コメントは知ってますか? コメントは人間が読むための物でプログラムの動作に影響しませんから あってもなくてもどちらでも良い最たる物でしょう。 空白文字の扱いについても、人間の利便のためにある程度自由度があることが多いです。 > 改行させたり、スペースを空けたり、インデントしたりというのは、 > あくまでプログラマーが見やすくするためだけのものであって、 > プログラミング言語の仕様としてはどちらでも良い? 言語によりますので、対象としているプログラミング言語の仕様次第です。 (改行やインデントに意味がある言語もあります。) なので、言語仕様上意味が変わらない範囲でなら、改行や空白文字は削れます。 HTML/CSS/JavaScriptだと よく転送量削減のために不要な空白文字やコメントを削除するMinify処理が行われてますね。 [試] サイト表示速度を高速化する方法 http://marubon.info/method-speed-up-display-of-web-site-with-contents-minify-3109/
その他の回答 (5)
日本人のプログラマが書くコードは、欧米人のそれに比べてスペースを空けないケースがより多い気がします。おそらく母国語の違いでしょう。日本語は字を詰めて書くのに対し、英語等は単語を空白で区切るので。きっとスペースを空けないと気持ち悪いのだと思います。 セミコロン(;)は、PHPでは文の終わりを意味しますが、元は連接を表す記号です。 S1 ; S2 ; ...; Sn のように表記しました。なのでPHPやC言語やJavaの祖先にあたるALGOLでは、最後の文に必ずしもセミコロン記号を書く必要がありません。(ちなみに、連接(;)、選択(if)、繰り返し(while)の三つの制御構文は構造化プログラミングで有名) アルゴリズムやプログラム言語の論文でも使われた表記法です。書式が二段組の論文では一行の字数が少ないので、セミコロンの後に改行することが多かった気がします。そうでない場合では、代入文のような短い文をまとめて一行に書いている論文を見かけました。おそらく読みやすくするためだけでなく、投稿する論文にページ数制限があるので。そういった研究の上に設計された言語は、あまり改行を強制しないでしょう。
C言語などは1行でも何行でもOKです。 ↓自由な発想でどうぞ。 http://ja.wikipedia.org/wiki/IOCCC
- weavaest
- ベストアンサー率15% (157/1020)
1行で書ける言語もあるし、書けない言語もあります。 > 改行させたり、スペースを空けたり、インデントしたりというのは、あくまでプログラマーが見やすくするためだけのものであって、プログラミング言語の仕様としてはどちらでも良い? この最後の一文が根本的に考え方が間違っています。 ここで話されているプログラムソースは、高級言語のソースコードのことだと思いますが、そもそも高級言語がプログラマーが見易くするために作られたものなのです。なので改行、スペース、インデント、それからコメントなんかも言語仕様としては必要なものです。
- SPROCKETER
- ベストアンサー率26% (2129/8001)
プログラム言語によって違うのです。 8ビットパソコン時代のBASIC言語では、マルチステートメント「:」と呼ばれる記号を入力すれば、255バイトまでは1行に入力してプログラムを実行出来ました。もちろん、スペースで開ける必要もありませんでした。 逆に、アセンブラ言語は基本的に1命令が1行で、命令数だけ行数を必要とする言語でした。現在、使われているプログラム言語も同じような傾向を持っています。 プログラム言語の仕様は古いプログラム言語が起源になっていて、容易に変えられないようです。続けて書くのに限界があるのも、入力バッファの大きさに制限があるからで、現在のように1MBぐらいのメモリーをバッファに使える時代になっても、昔の古い制限が守られているのが実態です。 改行したり、スペースを空けるのは、改行コード(0DH)やスペース(20H)のような判定コードを入れて、プログラムが命令語、数字、1行終了を判定している為で、それが無いと区別出来なくなる為です。 この方法は現在も受け継がれていて、基本的には何も変わっていません。プログラム言語が改行やスペースを必要するのは、その為です。
- maiko0318
- ベストアンサー率21% (1483/6969)
>プログラミング言語の仕様としては と言われると2つに分かれます。 最近出てきているCやJavaなどは1行にできます。 }をつければ行の終わりを示しますから。 古いタイプのCOBOLやFortranは改行しないといけません。 RPGなんてのはカラムにも意味がありますから改行なしには考えられません。 あとは、アセンブラですね。国家試験のアセンブラはご存知でしょうが、改行します。