プログラムのコードに日本語を使うってどうなん?
Diary (179 items)
2004年11月09日
最近は、ブログブームも手伝って、
ソフトウェア業界人以外のいろんな人が、プログラミングというか、
それに近い事をし出してる感があります。
例えば、ライブドアとかのブログサービスサイトでブログをしていて、
何か機能的に物足りないから、自分でレンタルサーバー借りて、
そこにMTやらNucleus入れて、訳わからぬままサイト構築してしまっている人達。
それし出すとなると、PHPやらCSSとかいう単語も出てきて、
まあそれで「止めた」となる人もいれば、更にのめり込んで、変に極めていく人達。。
そんな人達でも、”日本語”の扱いでつまづくことがある筈です。
「EUC」やら「UTF-8」やらの単語と共に、画面表示内容が文字化けしてうまく表示されない。
これらからもわかるように、
プログラミングにおいて日本語というのは結構厄介の種になります。
できれば、あんま使いたくないし、日本語対応とか考えたくない。。
基本的にこう考える人も少なくないでしょう。
しかし、「わかりやすいから」とかいう変な理由があるのか知りませんが、
プログラムのコード自体に日本語を用いてる場合も結構あります。
ソフトウェア業界人以外のいろんな人が、プログラミングというか、
それに近い事をし出してる感があります。
例えば、ライブドアとかのブログサービスサイトでブログをしていて、
何か機能的に物足りないから、自分でレンタルサーバー借りて、
そこにMTやらNucleus入れて、訳わからぬままサイト構築してしまっている人達。
それし出すとなると、PHPやらCSSとかいう単語も出てきて、
まあそれで「止めた」となる人もいれば、更にのめり込んで、変に極めていく人達。。
そんな人達でも、”日本語”の扱いでつまづくことがある筈です。
「EUC」やら「UTF-8」やらの単語と共に、画面表示内容が文字化けしてうまく表示されない。
これらからもわかるように、
プログラミングにおいて日本語というのは結構厄介の種になります。
できれば、あんま使いたくないし、日本語対応とか考えたくない。。
基本的にこう考える人も少なくないでしょう。
しかし、「わかりやすいから」とかいう変な理由があるのか知りませんが、
プログラムのコード自体に日本語を用いてる場合も結構あります。
どういう事かというと、例えば、プログラムのファイル名やクラス名に日本語を使うような例。。
PHPで例えると(こんなんできるかはわかってません)、
Nucleusのトラックバックプラグインであれば、
「NP_TrackBack.php」が「Nucleus用トラックバック.php」みたいな名前になっている。。
で、ソース見たら、
”class Nucleus用トラックバック extends NucleusPlugin”みたいな感じ。
こんな事すると何が懸念されるかというと、
動作が不安定になる可能性があるという事なんです。
先に述べたように、
画面に表示する内容が文字化けするなら、ただ変に見えるだけでいい、
それは、プログラムは一応正常に動いているから。。
しかし、この場合だと、プログラム自体に日本語が入っているので、
環境によっては、動くプログラム自体、そのコードに文字化けとかが発生し、
うまく動く筈のプログラムが、全く動かなくなる可能性があります。
しかも、こうなると記述的には日本語を使う以外間違ってはいないので、
エラーの原因も掴み難くなります。。
私の経験上、
このようにファイル名やクラス名に日本語が使われている例は少ないと思います。
どちらかというと、データベースのテーブル名・列名に日本語を使っているのが多い。。
次に、たまに変数に日本語を使っている場合もある。。
・・みたいな感じですかね。。
あっ、別に好き嫌いの問題でもあると思いますし、
現に上記のコードとかだったら問題なく動くとは思うんですが。。
・・・何か気持ち悪い。。
こういう具合に、日本語を使う理由の一つは、
”パッと見て、何をしてるか、どういうデータが入ってるかがわかりやすい”
という事なんでしょうけど、それもどうなんでしょう??
別に英数字だけでプログラミングしても、
変数なんかもうまくネーミングしてやれば全然問題ないと思うんですがね。
こうなってくると、
全て日本語でプログラミングした方がええんちゃうと考える人もいるかもですが、
現に日本語ONLYのプログラミング言語ってありますね。・・使った事ないですが。
ついでに、一体どんなのがあるのかとネットで調べてみると、
「ひまわり」という言語がありました。
さらっと内容を見てみると、初心者向け・PCの作業を効率よくする等、
なるほど、JavaやらPHPとかいうバリバリの言語とは違った方向の言語かなと思いました。
これなら、納得です。
しかし、そのバリバリのノリで、
この「ひまわり」を作られていたなら、どうなんでしょう。。
これならまだいいですが、
とか、やっぱ日本語まんまのプログラムなんかができたとしても、
逆にごっつい見にくいような気がします。。
やはり、プログラミングには、「If」とか「LOOP」とか簡潔な単語で表現される、
英数字ベースの言語が向いていると思います。
慣れの問題かもしれませんが、
日本語という言語はプログラミングには向いてないと思いますね。
まあ、でも「ひまわり」のノリで発展していって、
簡潔に書くだけで自動に出来上がる言語ができれば大歓迎です。
”原価計算を行え”
”10年分のデータを集計し、画面に表示”とか、こんな命令だけである程度の処理をこなす。。
・・もっと進んで、
”中小企業向けの会計システムを作れ”
”複数人で投稿できるブログを作れ”
の一命令で、システムができあがる。。。
こんなのできたら、この言語には間違いなく「ドラえもん」と命名します。。
PHPで例えると(こんなんできるかはわかってません)、
Nucleusのトラックバックプラグインであれば、
「NP_TrackBack.php」が「Nucleus用トラックバック.php」みたいな名前になっている。。
で、ソース見たら、
”class Nucleus用トラックバック extends NucleusPlugin”みたいな感じ。
こんな事すると何が懸念されるかというと、
動作が不安定になる可能性があるという事なんです。
先に述べたように、
画面に表示する内容が文字化けするなら、ただ変に見えるだけでいい、
それは、プログラムは一応正常に動いているから。。
しかし、この場合だと、プログラム自体に日本語が入っているので、
環境によっては、動くプログラム自体、そのコードに文字化けとかが発生し、
うまく動く筈のプログラムが、全く動かなくなる可能性があります。
しかも、こうなると記述的には日本語を使う以外間違ってはいないので、
エラーの原因も掴み難くなります。。
私の経験上、
このようにファイル名やクラス名に日本語が使われている例は少ないと思います。
どちらかというと、データベースのテーブル名・列名に日本語を使っているのが多い。。
次に、たまに変数に日本語を使っている場合もある。。
SELECT 商品名 FROM 商品マスタ;
$w_商品名 = 商品マスタ.商品名;
・・みたいな感じですかね。。
あっ、別に好き嫌いの問題でもあると思いますし、
現に上記のコードとかだったら問題なく動くとは思うんですが。。
・・・何か気持ち悪い。。
こういう具合に、日本語を使う理由の一つは、
”パッと見て、何をしてるか、どういうデータが入ってるかがわかりやすい”
という事なんでしょうけど、それもどうなんでしょう??
別に英数字だけでプログラミングしても、
変数なんかもうまくネーミングしてやれば全然問題ないと思うんですがね。
こうなってくると、
全て日本語でプログラミングした方がええんちゃうと考える人もいるかもですが、
現に日本語ONLYのプログラミング言語ってありますね。・・使った事ないですが。
ついでに、一体どんなのがあるのかとネットで調べてみると、
「ひまわり」という言語がありました。
さらっと内容を見てみると、初心者向け・PCの作業を効率よくする等、
なるほど、JavaやらPHPとかいうバリバリの言語とは違った方向の言語かなと思いました。
これなら、納得です。
しかし、そのバリバリのノリで、
この「ひまわり」を作られていたなら、どうなんでしょう。。
”商品マスタから商品名を取得”
”変数:商品名に商品マスタの商品名をセット”
これならまだいいですが、
”もし、商品名の左から10バイト目の文字を切り取って、その中に「会社」という文字があったら・・”
”商品名のデータのバイト数分繰り返し処理.。そのデータの中に、もし・・”
とか、やっぱ日本語まんまのプログラムなんかができたとしても、
逆にごっつい見にくいような気がします。。
やはり、プログラミングには、「If」とか「LOOP」とか簡潔な単語で表現される、
英数字ベースの言語が向いていると思います。
慣れの問題かもしれませんが、
日本語という言語はプログラミングには向いてないと思いますね。
まあ、でも「ひまわり」のノリで発展していって、
簡潔に書くだけで自動に出来上がる言語ができれば大歓迎です。
”原価計算を行え”
”10年分のデータを集計し、画面に表示”とか、こんな命令だけである程度の処理をこなす。。
・・もっと進んで、
”中小企業向けの会計システムを作れ”
”複数人で投稿できるブログを作れ”
の一命令で、システムができあがる。。。
こんなのできたら、この言語には間違いなく「ドラえもん」と命名します。。
前の記事 次の記事
