C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[18]: なぜゆえにプログラムは英語なのか? [1]


(過去ログ 34 を表示中)

[トピック内 39 記事 (21 - 39 表示)]  << 0 | 1 >>

■16997 / inTopicNo.21)  Re[15]: なぜゆえにプログラムは英語なのか?
  
□投稿者/ 中博俊 (1273回)-(2008/04/14(Mon) 23:18:30)
中博俊 さんの Web サイト
> 大まかに言うと大半の人はそうだと思います。
> みんな英語が好きというのではなくて、日本語に適したOSで、日本語に適したプログラミング言語を、
> 日本語に適した入力デバイスを使って、日本語に適したエディで編集できれば喜んで日本語を使用します。
> 現状では全てが欧米主義で作られているから阻害されてしかたなくそうしているのです。

それは偏見では?
IMEという仕組みが非常に限定的なことは認めますが、ifをもしとしたからといって使いやすいというわけではないでしょう?
あまりあおると宗教論争なのであれですが、この返答は曖昧すぎ。

ちなみに4Gとかにはもしあれがこう 且つ それがどうの場合 という構文を採用しているものもありますよ。
引用返信 編集キー/
■16999 / inTopicNo.22)  Re[16]: なぜゆえにプログラムは英語なのか?
□投稿者/ ネタ好き (90回)-(2008/04/14(Mon) 23:43:30)
2008/04/14(Mon) 23:45:54 編集(投稿者)

No16997 (中博俊 さん) に返信
>この返答は曖昧すぎ。

確かに。失礼しました。
どうしても上手く表現できませんね。
OSの設計思想や開発環境がどうも日本人の思考パターンと一致しないと感じてしまいます。
言語が脳を形成するという理論もあるそうですから、
この違和感は生半可な抽象度では解けないかもしれませんね。
しかしながら、所詮全てはバイナリの仮想技術。
ですから、情報処理技術の抽象度を上げれば解決する問題だと思います。
私は英語が嫌いで、日本語が好きなので早く環境が整備されて、
こういった宗教戦争が過去のものになる事を祈っています。
引用返信 編集キー/
■17000 / inTopicNo.23)  Re[16]: なぜゆえにプログラムは英語なのか?
□投稿者/ とおりすがり (7回)-(2008/04/14(Mon) 23:44:06)
昔、くじら飛行机さんの、「ひまわり」という、日本語プログラミング言語がありました。
(というか、今でもあります)

http://hima.chu.jp/doc/index.htm

VB.NETで日本語が使用されないという話には関係ないといわれれば、関係ないけど。。。
ご参考程度に。。。
引用返信 編集キー/
■17001 / inTopicNo.24)  Re[15]: なぜゆえにプログラムは英語なのか?
□投稿者/ 出水 (34回)-(2008/04/14(Mon) 23:48:59)
>予約語、数字、演算子、スペースなどの記号類も全角でも半角でもOKです。
それだと多少便利ですが、切り替えをする最大の理由はそうではなくて…
"いんt"で"int"とみなしてくれないと意味ないんですよ!

>紛らわしい文字禁止
長音禁止!?
戦時中の日本に逆戻り!!

> 日本語ではなくて、全角がだめってことなんですね。
文字数が少なくて区別しやすい方が形式言語向きですね
もっとも、日本語そのものも形式言語には不向きなんですけど
解決済み
引用返信 編集キー/
■17002 / inTopicNo.25)  Re[17]: なぜゆえにプログラムは英語なのか?
□投稿者/ ネタ好き (91回)-(2008/04/14(Mon) 23:49:12)
2008/04/14(Mon) 23:49:44 編集(投稿者)

ひまわりは中々いい取り組みですよね。
日本語はトークンの区切りが難しいので、それを処理しているくじら飛行机さんはすごいです。
こういった偉人達がもっと多く居れば、開発環境はより日本人的に変わるでしょうね。
引用返信 編集キー/
■17003 / inTopicNo.26)  Re[18]: なぜゆえにプログラムは英語なのか?
□投稿者/ ネタ好き (92回)-(2008/04/14(Mon) 23:52:28)
2008/04/15(Tue) 00:18:36 編集(投稿者)
2008/04/15(Tue) 00:01:57 編集(投稿者)
2008/04/14(Mon) 23:54:00 編集(投稿者)

おっと肝心な事を言い忘れていました。

> 日本語ではなくて、全角がだめってことなんですね。

そうではなくて、日本語が多様な表現法を持ち、
情報を一意に定められないのが最大の原因だと思います。
開発環境の設計思想が欧米的なのが問題です。
欧米的に考えて日本語として表現する事が難しいのでしょう。
どうしてもどこかで不都合が生じてしまいます。
もっと具体的に言うと、英語は自己(主語)から焦点が広がっていきますが、日本人は広い概念から自己へと焦点が移っていきます。
そして、英語は語順が重視されていますが、日本語はそれほど重視されていません。日本語の方がより抽象的なのです。
その思考リズムが根源的なやりにくさを生んでいると思います。
引用返信 編集キー/
■17004 / inTopicNo.27)  Re[16]: なぜゆえにプログラムは英語なのか?
□投稿者/ れい (483回)-(2008/04/15(Tue) 00:18:10)
中さん。
> あまりあおると宗教論争なのであれですが、この返答は曖昧すぎ。

宗教論争でも、「自動プロパティはイイ!」とか「forでは++じゃなくて--だろ」とかなら、
得るものがありますよね。
できれば、根拠を示した上で自らの宗派の正当性を主張すると、
素晴らしいと思います。

しかし、

日本人さん。
> しかしようやくわかりかけてきました。
> 日本語ではなくて、全角がだめってことなんですね。

ネタ好きさん。
>現状では全てが欧米主義で作られているから阻害されてしかたなくそうしているのです。

なんでもそうですが。
知識の適用範囲、演繹可能な範囲をよく意識したほうがいいでしょう。
主義主張や論理を演繹しすぎると、
荒唐無稽な論理になったり、差別と偏見に凝り固まった意見となります。

もし本当にそう思い、問題を提起したいのであれば
然るべき場できちんと論理的に説明すべきです。

よく見かけるのは
「欧米主義だからプログラムはみんな英語」
「MSは寡占だからWindowsはダメ」
「.Netは重くて使えない」

などなど。

単純な論理で自分を納得させて思考停止するのは楽ですが。
それでは愚痴を言ってるのとかわりません。
住みにくい社会を良くするために考えましょう。

特に、この多言語の問題は複雑です。
「欧米主義だから」というような単純な言葉では括れません。
歴史を考慮しなかったとしても
話者数、エンコード、使用文字、言語構造、などがあり、
どれを考えてもそれだけで相当な議論ができます。

何が困るのかという事例を集め、
そこから仮説を立てて議論をし、
問題点を洗い出してひとつずつ検証して解決する、
そういうごく当たり前のプロセスがいいのではないのですか?

動かないプログラムがあり、直さなければいけません。
ソースを見たら、日本語が多用されていました。
「あ、これ変数に日本語使ってる。こりゃダメだね。」
という人と、
「全角がだめ」とか「全てが欧米主義」と単純に答えを出す人。

私には全く同じに見えます。


引用返信 編集キー/
■17005 / inTopicNo.28)  Re[19]: なぜゆえにプログラムは英語なのか?
□投稿者/ ネタ好き (93回)-(2008/04/15(Tue) 00:27:16)
2008/04/15(Tue) 00:30:15 編集(投稿者)
2008/04/15(Tue) 00:28:46 編集(投稿者)

れい さんへ
>特に、この多言語の問題は複雑です。

その通りです。私はそれを表現したかったのですが失敗しました。
プログラミング時の全角半角は目に見える違いですが、
問題はそういった表面的なことではなく、もっと根源的な所にあるといいたかったのです。
英語が駄目だとかいう問題ではなく、手続き型言語と関数型言語の違いというふうにいえるかもしれません。
一言で言えば、郷にいれば郷に従えと言う事かもしれませんね。
別に日本語も使用できるけど今のところ不便な事があるのは事実なのです。
引用返信 編集キー/
■17006 / inTopicNo.29)  Re[19]: なぜゆえにプログラムは英語なのか?
□投稿者/ 出水 (35回)-(2008/04/15(Tue) 00:31:40)
ネタ好きさんは、欧米になんか恨みでもあるのかなぁ

自然言語であれば、どんな言語でも情報を一意にまとめられませんし
もっとも古い形式言語である"数式"は英語でも日本語でもありません
(文字としてアルファベットやギリシャ文字は使っていますけど)

ただ、言語設計に欧米的な問題があるって部分は実に興味深いです
これは是非ともその問題を回避した言語を発表するしか!!
Rubyに続け!ってことで
解決済み
引用返信 編集キー/
■17007 / inTopicNo.30)  Re[20]: なぜゆえにプログラムは英語なのか?
□投稿者/ ネタ好き (94回)-(2008/04/15(Tue) 00:45:49)
2008/04/15(Tue) 03:17:03 編集(投稿者)
2008/04/15(Tue) 00:47:57 編集(投稿者)

出水 さんへ
いえ、欧米の人が作った環境だから、
そこへ日本感覚を持ち込むと色々不便が起きるといいたかったんです。
彼らの領地にお邪魔しているのですから、彼らの文化に合わせるのが礼儀というものでは無いでしょうか?
私は出身地などの属性に関係なく、技術力の高い人は皆尊敬しております。
技術者にとっては技術力こそ全てです。

追記
あれ?解決済みにしていいの?
日本人さん以外が解決済みにしたらまずいよね?
引用返信 編集キー/
■17050 / inTopicNo.31)  Re[15]: なぜゆえにプログラムは英語なのか?
□投稿者/ indigo-x (1回)-(2008/04/16(Wed) 07:53:32)
ちょっと気になる事があったので
  書かしてもらいます。(はじめてです)

私はプログラムはほとんど英語で書きますが、
 DB項目については比較的日本語で設計します。。。
   嫌われる事が多いいんでが。。。。
    (力負けする場合は英語にします)

なぜかと言うと。。

 @DB設計書のフォーマットがDB表記と日本語表記と説明の3項目が
  多いいと思いますが日本語表記の意味があまりないと思います。
   例)ReserveOrderDate 先付け発注日付 先付けの発注日付を入れます。
     (英語が適切でないかも。。。。)

 Aシステム自体が日本系である場合は特にそうします
   給与計算で「源泉徴収税額」なんて英語でどう表現するの?
   (一般系のシステムではあまりしません)

 BDB自体がグローバルなので省略系は使用したくないので。。

嫌われる事が多いいんでつらいですな。。。。。
引用返信 編集キー/
■17051 / inTopicNo.32)  Re[16]: なぜゆえにプログラムは英語なのか?
□投稿者/ ぽぴ王子 (347回)-(2008/04/16(Wed) 07:58:52)
ぽぴ王子 さんの Web サイト
日本語云々の話はあえて触れずに、これだけ。
# 一応僕のスタンスは「好きにしたらええやん。でもオイラは使わんけどな」で。

No17007 (ネタ好き さん) に返信

> 追記
> あれ?解決済みにしていいの?
> 日本人さん以外が解決済みにしたらまずいよね?

元々日本人さんが解決済みにしてたんですよ。
その後いろいろ追加されてくうちに解決済みが消えちゃったので
出水さんは元に戻してくれただけかと。
引用返信 編集キー/
■17053 / inTopicNo.33)  Re[14]: なぜゆえにプログラムは英語なのか?
□投稿者/ Jitta (468回)-(2008/04/16(Wed) 08:55:32)
No16993 (日本人 さん) に返信
> よねKEN さん
>
> >意図せずにそのように変換されるということは十分置き得るのではないかと思います。
> >「ー−-―‐」を混在させずに使い分ける自身(誤変換)はないですね。
>
> 常識の範疇で考えて、その単語を変数に使う人がいると思いますか?
> いるとすれば、日本語を禁止するのではなくて、そのような紛らわしい文字を禁止すればいいだけではないでしょうか。
>
> 要素
> 画像
> 結果
> 見積書書式
> 請求書データ
>
> 上記のような文字の入力時に誤変換はおき得ません
>
> しかしようやくわかりかけてきました。
> 日本語ではなくて、全角がだめってことなんですね。
>

お、ここで、自分で外しているやんw


じゃなくって。
長音「ー」で不具合があるってフィードバックが上がっていたように思います。
全角というか、「マルチバイト」を避けたほうが、何かと問題が起こりにくい、ってことです。
結局、シングルバイトの国の人たちが作っていますからね。
引用返信 編集キー/
■17054 / inTopicNo.34)  Re[14]: なぜゆえにプログラムは英語なのか?
□投稿者/ よねKEN (141回)-(2008/04/16(Wed) 09:28:14)
#気づかないうちに話が進んでましたorz

No16993 (日本人 さん) に返信
> よねKEN さん
>
> >意図せずにそのように変換されるということは十分置き得るのではないかと思います。
> >「ー−-―‐」を混在させずに使い分ける自身(誤変換)はないですね。
>
> 常識の範疇で考えて、その単語を変数に使う人がいると思いますか?

私は「ー−-―‐」という変数を定義するというような意図のコメントはしていませんよ。
カタカナの「へ」とひらがなの「ヘ」の話題もそうですが、通常の単語の中に
そういった文字が混じった場合に気づけないということを問題にしています。
#カタカナとひらがなの「へ」。私の環境で見ている範囲でですが、
#ひらがなの「へ」の方が角っとしたカタカナっぽいフォントで、
#カタカナの「ヘ」の方が丸みを帯びたひらがなっぽいフォントですね。

そして、それは意図せずに起こり得ると思います。

> いるとすれば、日本語を禁止するのではなくて、そのような紛らわしい文字を禁止すればいいだけではないでしょうか。

例に挙がっている「へ」「ー」は日本語で記述したいなら禁止できないと思いますが。

> 要素
> 画像
> 結果
> 見積書書式
> 請求書データ
>
> 上記のような文字の入力時に誤変換はおき得ません

上記の例で言えば、「データ」の「ー」の部分が統一的に記述されるとは限りません。
その点は、IMEの種類、バージョンに依存します。また入力の仕方にも依ります。
(OSがWindowsXXXでIMEがIMEXXXであり、皆同じように学習させていて、
皆が同じような入力方法を取ることが確約されるなら、あまり問題は起きないかもしれません。)

例えば、タイプミスして誤変換が発生した場合、その状況によってですが、
私は一旦確定してしまって、打ち間違えた文字だけを修正するといったことをします。
私の環境(MS-IME2003)では「データ」を変換したときの長音記号「ー」は期待通りに変換されますが、
長音記号部分だけを変換した場合は、最初は「−」が出ました。その後、もう一回長音記号を出したら、
今度は学習したのか「ー」と出ました。しかし、さらに何度か変換するとまた「−」が出ました。
MS-IMEの場合でよく聞く話として、単語単位での変換はちょっと不得手です。
1度変換して学習したように見えた単語が、再度変換すると最初の候補に挙がっていなくて、
誤変換の要因になることがままあります。


> しかしようやくわかりかけてきました。
> 日本語ではなくて、全角がだめってことなんですね。

そうですね。少なくとも全角半角の問題は切り離せません。

日本語で使用される文字というとひらがな、カタカナ、漢字だけでなく、
アルファベットもギリシャ文字などもあり、普段の生活では何でもありの柔軟さです。
この柔軟さがプログラミングではネックになります。

せっかく日本語でプログラミングするなら、「ABC分析」「O−157」など
一般用語をそのまま変数名にしたいですよね。日本語を使えるとした場合の強みは
それぞれの業界専門用語がたくさんあるような場合に有効だと思うので。

しかし、この場合に文字種と全角半角の問題が絡んできて厄介になるだろうな、と思います。
「ー−-―‐」という話を挙げた理由はこの辺のことを想定しての話です。

--
出水さん
> >予約語、数字、演算子、スペースなどの記号類も全角でも半角でもOKです。
> それだと多少便利ですが、切り替えをする最大の理由はそうではなくて…
> "いんt"で"int"とみなしてくれないと意味ないんですよ!

確かにそうのは嫌ですね。F9やF10で対応できないわけではないですが。

引用返信 編集キー/
■17056 / inTopicNo.35)  Re[15]: なぜゆえにプログラムは英語なのか?
□投稿者/ 中博俊 (1276回)-(2008/04/16(Wed) 10:18:54)
そもそもよねKENさんの言われている懸念が的を射たものでしょうか?
表記文字が似ているというところだけを問題にして、

obj.データ
obj.デ−タ

を間違えるというのであれば、それは的外れでしょう。

同じクラスにそこまで似た命名をするなってのは規約の話で

obj.Iis
obj.lis

の違いとなにも変わらないです。

じゃ似た文字が原因でというのであれば、コンパイルエラーになるような問題は問題じゃないでしょう。

同型、またはそれに近い似た形はアルファベットの方にこそ多いです。

今はインテリセンスありきで言語設計する時代ですし。
前提を考えてもいいんじゃないですか?
引用返信 編集キー/
■17057 / inTopicNo.36)  Re[16]: なぜゆえにプログラムは英語なのか?
□投稿者/ 中博俊 (1277回)-(2008/04/16(Wed) 11:07:30)
ちなみに上段があい(おおもじ)あいえすで、下段がえるあいえすです。
引用返信 編集キー/
■17068 / inTopicNo.37)  Re[16]: なぜゆえにプログラムは英語なのか?
□投稿者/ よねKEN (142回)-(2008/04/16(Wed) 11:50:52)
2008/04/16(Wed) 11:53:33 編集(投稿者)
2008/04/16(Wed) 11:52:16 編集(投稿者)

<pre><pre>■No17056 (中博俊 さん) に返信
> そもそもよねKENさんの言われている懸念が的を射たものでしょうか?

各人が想定する状況次第でしょうね。いくつか例示します。
言語は、スレ主が挙げられているVB.NET(以降VB)(及び、参考のためにC#も)。
#他の言語環境ではどうか?という話もどなたかから例示いただければなおよしですね。

> 表記文字が似ているというところだけを問題にして、
>
> obj.データ
> obj.デ−タ
>
> を間違えるというのであれば、それは的外れでしょう。

「データ」「デ−タ」の場合。ややこしいので前者を(1)、後者を(2)と呼びます。
●VBで(1)の識別子でローカル変数を宣言する場合。
Dim データ As Object ' コンパイルエラーなし

●VBで(2)の識別子でローカル変数を宣言する場合。
Dim デ−タ As Object ' 以下のようなコンパイルエラー

vbJap.vb(4) : error BC30205: ステートメントの終わりを指定してください。

Dim デ−タ As Object
~~~~~~~~~~~~

エラー発生場所が4行目ということがわかりますが、
何のエラーが発生しているのかさっぱりわかりません。

ここでの例で言いたいのは先ほどの投稿での言及どおり、
タイプミス、誤変換等で嵌って無駄に時間を食いそうだという話です。
コンパイルエラーはでますが、非常にわかりにくいです。

●VBで(2)の識別子で中さんの例示されるようなパターンの場合
Obj.デ−タ ' コンパイルエラー

error BC30456: 'デ' は 'Obj' のメンバではありません。

Obj.デ−タ
~~~~~
error BC30800: メソッドの引数は、かっこで囲む必要があります。

Obj.デ−タ
~
error BC30451: 名前 'タ' は宣言されていません。

Obj.デ−タ
~

のようなコンパイルエラーがでます。
見慣れれば、長音記号が原因か?と勘が働くかもしれませんが、
一般的にはわかりずらいエラー内容だと思います。
#全角のマイナスなので、もっと別のコンパイルエラーになると予想したのですけどorz

このエラーがJittaさんの言うところの
「長音「ー」で不具合があるってフィードバックが上がっていたように思います。」
でしょうかね?

これは長音記号ならではの特殊な例ですが、既存の言語の多くが
記号に特別な意味を持たせているので、アルファベットではこの問題は起きません。

●C#で(2)の識別子でローカル変数を宣言する場合。

objec デ−タ;

csJap.cs(5,10): error CS1056: 文字 '−' は予期されていません。

こちらは、VBの場合とちがって、カラム位置と何が不明かが明らかにされているので、
問題はなさそうですね。

●C#で(2)の識別子で中さんの例示されるようなパターンの場合

Obj.デ−タ;

csJap.cs(5,8): error CS1056: 文字 '−' は予期されていません。

上と同様。

ここで挙げたのは一例ですので、他にもありそうというのが危惧するところです。
#実際の嵌りどころは日本語でプログラミングしている方の方がご存知ではないでしょうか。

> 同じクラスにそこまで似た命名をするなってのは規約の話で
>
> obj.Iis
> obj.lis
>
> の違いとなにも変わらないです。
>
> じゃ似た文字が原因でというのであれば、
> コンパイルエラーになるような問題は問題じゃないでしょう。

似た命名をした場合の話ではなく、見間違い、タイプミス等による間違いなので、
上記の例なら、「そんなメソッド(プロパティ)はない」
という趣旨でコンパイルエラーになるでしょうね。
ただ、日本語の誤変換よりは大文字「I」と小文字「l」をタイプミスすることは少なそうです。

コンパイルエラーになるから良いではなく、コンパイルエラー以前に気づけるかどうか、
仮にコンパイルエラーになるにしても、そのエラー内容で簡単に気づけるかが大事だと思います。

> 同型、またはそれに近い似た形はアルファベットの方にこそ多いです。

O(オー)と0(ゼロ)、I(アイ)とl(エル)以外で間違いそうなものってありますか?
#ある程度はフォントにもよるでしょうけど

> 今はインテリセンスありきで言語設計する時代ですし。
> 前提を考えてもいいんじゃないですか?

私の前提は、既存の言語で、かつ、他の言語、ミドルウェア、ツールとの連携を考えるが前提です。
インテリセンスありきという話では、他の方がコメントされているように
インテリセンスに表示される順番がわからないという点の指摘がありますね。

日本語(ひらがな、カタカナ、漢字、全角の記号、アルファベットなど
外来語を表現するときの外国語の文字)の柔軟さに対応できるように、
新しく言語仕様を決め、それ用の開発環境も開発するという前提なら話は違います。

例えば、開発環境が長音記号を誤入力してそうなところを指摘してくれるとか、
間違っている可能性のあるところを「もしかして・・・」と示唆してくれるなら、
問題を解決できる可能性はあると思います。
</pre></pre>
引用返信 編集キー/
■17079 / inTopicNo.38)  Re[17]: なぜゆえにプログラムは英語なのか?
□投稿者/ ネタ好き (98回)-(2008/04/16(Wed) 13:43:44)
2008/04/16(Wed) 14:13:20 編集(投稿者)
2008/04/16(Wed) 13:45:20 編集(投稿者)


おっ話しが進んでいる。
私が思うに、設計家の人に思想を合わした方が当然楽であるけども、
自己責任で起こりうる不便を把握して、なおかつそうしたいのならばそれでもいいと思います。
設計した人も悪気があってそうしているのではなくて、
自分が理想だと思うことを実装して、想定外の事が起こっているだけなんです。
UNIXもWindowsもVBも設計思想というものがありますから、それに合わせれば楽なんです。
全てに暗黙の前提が在るのです。
私自身は貪欲なので、自作OS・自作コンパイラ・自作デバッガ・自作エディタ・・・etc
で開発する事を理想として、自己満足の為に日々鍛錬しております。
でも、プロならばチームに合わすべきですよね。
チームが日本語がいいというのならば日本語で、
チームが英語が言いというのならば英語でという風に柔軟に対応すればいいと思います。
さて、この日本語の問題ですが、向こうの人はUNICODE的なもので日本語を判断しているので、
入力の問題が解決しても「日本らしさ」をどこまで表現できるのでしょうか?
その限界を見極めるのもまた一興ですね。
「日本らしさ」はUNICODEで表せません。そこに限界があると思います。

追記
気に入らないところがあれば自分で作ってしまえばいいのです。
それこそ技術者魂です。
引用返信 編集キー/
■17106 / inTopicNo.39)  Re[18]: なぜゆえにプログラムは英語なのか?
□投稿者/ ネタ好き (101回)-(2008/04/16(Wed) 23:53:46)
データベースに関する名前は日本語で命名のルールはベストかもしれませんね。
確かにこれらのメタ情報を英語で表記すると、
アプリケーション側でも日本語に変換せねばなりませんし、
マニュアルにも表記せねばなりませんし、色々コストがかかりますよね。
それを考えたら、始めから日本語表記するのは合理的かもしれない。
最近触っていないので分からないのですが、MySQLもPostgreSQLもマルチバイトOKなのかな?
そしたら、日本語で命名することを禁止する理由は無いよね?
引用返信 編集キー/

<前の20件
トピック内ページ移動 / << 0 | 1 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -