アカウント名:
パスワード:
プログラミング言語で覚える必要のある英単語なんてJavaScriptでもせいぜい800個 [bornneet.com]。逆にこれだけ覚えれば世界中誰が書いたソースコードでも読めるようになる(内容を理解できるかはまた別の話)。それをローカライズしたら他の地域の人は読めないし逆に他の地域の人が書いたソースコードが読めない。メリットよりデメリットの方が多すぎる。
/quote
翻訳エンジンにかけて英語に置き換えれば問題ないのでは?
たぶん文法までは変わらないだろうし、専用の翻訳プログラムとか作ればor用意されれば、対応できそうな気がしますね。
現代的な言語処理系の場合、ソースコードは人間が読んで理解できる単語を用いて記述して、言語処理系が内部で機械用のコードに変換しているよね。 だから英語版の「if」という命令を、内部では&h00aaにしているとしたら、日本語版の「もし」も&h00aaにすると思う。 で、専用のIDEでは、言語切り替えで、&h00aaに対応する各国語の人間用の命令を表示すれば、いいのでは? どのみちプログラム言語なんて、自然な文章にはならないのだから、javascriptの構文を、この言語ではこういう形にするというのを決めてしまえば、機械的に結構いけると思うけどなあ(甘いか?)。
ただ、個人的にはプログラム言語って、ある程度、即物的に覚えた方が理解しやすいと思うので、単語や構文を各国語にするというのは、なんかやりづらそうという気が・・・。
実践した経験から言わせてもらうと。
関数名や変数名等のidentifierを日本語に出来るとコードの可読性が飛躍的に上がるが、制御構文が日本語だとウザい。
それって仕事で関数名とか変数名を日本語にしてたってことですか?ちょっとそのソースコード見てみたいです。
守秘義務があるんで見せられませんが、言語(実装)によってはできますよ。文字コードはUTF-8以外では実績が無いので他は知りませんが。試してみてはいかがですか?ただ可読性を上げるにはコーディング規約に工夫がいります。
別ACです。
業務上といっても、自家用で、他社へ納品するものではありませんが、ExcelのVBAで、関数名や変数名を日本語にすることはあります。雰囲気は以下のようなもの。
Sub 日報集計(社員番号 As Integer)' *******************************************' 1日が、1枚のExcelシートの形式の日報を集計し' 月末集計のシートの該当セルを埋める' *******************************************
Dim 定時内時間 As Integer, 残業時間 As Integer Dim 所属部署番号 As Integer, 費用負担部署番号 As Integer Dim 所属部署名 As String, 費用負担部署名 As String Dim 他部署へ振替時間 As Integer
call 週報集計シート初期化 call 月末集計シート初期化
所属部署番号 = 社員番号から所属部署番号を得る(社員番号)
If 費用負担部署番号 所属部署番号 Then
他部署へ振替時間 = 定時内時間 + 1.5 * 残業時間
目的は、プログラミングが、本業でない人でも、必要に応じた簡単な拡張や修正をしやすいようにですが、この場合「読み易いように、理解しやすいように」を心がけてコーディングするようになるので、その効果も大きいですね。
一時、JavaSで実践してたけど、案外そ~でもない。結局、タイプ量の問題でalphabeticalに戻ってもうた。(これは、かな文字入力派の人には、たぶん関係ない話。)
アラビア語にも対応するようですが、右書き左書きが混ざってくるとなるとさらにややこしいですね。
> 翻訳エンジンにかけて英語に置き換えれば問題ないのでは?なら最初から全部英語で書けばいいじゃん。それこそ必要なら翻訳エンジンで他言語に置き換えれば?
言語を切り替えたところで予約語の総数が変わるわけでもなし、めいめいが異なる言葉を使って通じ合えなくなるというバベルの塔への皮肉ですかね。
でもそれって、まず単語を覚えて理解しないと何もできない、ってことでしょう。プログラムのプの字も何一つ知らない状態の人に興味を持ってもらう取っ掛かりとしては、こういったものもあっていいと思いますけどね。
職業プログラマには不要でしょうけど、算数(初等数学・初等情報処理)の教材には適切でないの?
親コメント程度のツッコミなんて織り込み済みの上であえて生まれた言語だろうに。英語圏の本家./の方がよっぽど多様性に富んだ会話してるよ
このツリーで私の二番目に下らないコメントですね!
くやしかったのなら謝ってもいいよ
> プログラミング言語で覚える必要のある英単語なんてJavaScriptでもせいぜい800個
それだと、まるで800個もの英単語を覚えないとプログラミングができないみたいじゃないか。
入門レベルだと5個~10個で十分だろうし、実用的なプログラムでも数10個で十分だと思う。
言語の持つ機能を全部使い切るようなプログラミングなんて、ふつう、ないと思うし。
>それをローカライズしたら他の地域の人は読めないし逆に他の地域の人が書いたソースコードが読めない見たところ単純な単語置換なので、相互変換は容易なはずです。もっとも、予約後以外の変数名などはその限りではないとおもいますが…
母国語ごとにひまわりだとかそういう新しい言語を作るよりはお手軽なのがいいんじゃないでしょうかね?教える人も楽でしょうし。
小学生以下の子供向けのbabyなscriptなんだからこんなもんなんでしょう。(え!?
日本語のLOGOを思い出した。
ほとんどの日本人は英語ができなくともとりあえずA-Zまでは知ってるので英単語を800語覚えろと言われてもあまり苦にはならなそうだけど、アラビア語とかタイ語みたいに文字すら知らない言語で800語覚えろと言われるときびしいと思う。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
長期的な見通しやビジョンはあえて持たないようにしてる -- Linus Torvalds
なぜわざわざローカライズするかな? (スコア:3, すばらしい洞察)
プログラミング言語で覚える必要のある英単語なんてJavaScriptでもせいぜい800個 [bornneet.com]。逆にこれだけ覚えれば世界中誰が書いたソースコードでも読めるようになる(内容を理解できるかはまた別の話)。
それをローカライズしたら他の地域の人は読めないし逆に他の地域の人が書いたソースコードが読めない。メリットよりデメリットの方が多すぎる。
Re:なぜわざわざローカライズするかな? (スコア:1)
プログラミング言語で覚える必要のある英単語なんてJavaScriptでもせいぜい800個 [bornneet.com]。逆にこれだけ覚えれば世界中誰が書いたソースコードでも読めるようになる(内容を理解できるかはまた別の話)。
それをローカライズしたら他の地域の人は読めないし逆に他の地域の人が書いたソースコードが読めない。メリットよりデメリットの方が多すぎる。
/quote
翻訳エンジンにかけて英語に置き換えれば問題ないのでは?
Re: (スコア:0)
たぶん文法までは変わらないだろうし、
専用の翻訳プログラムとか作ればor用意されれば、対応できそうな気がしますね。
翻訳プログラムはすでにあるのでは (スコア:2)
現代的な言語処理系の場合、ソースコードは人間が読んで理解できる単語を用いて記述して、言語処理系が内部で機械用のコードに変換しているよね。
だから英語版の「if」という命令を、内部では&h00aaにしているとしたら、日本語版の「もし」も&h00aaにすると思う。
で、専用のIDEでは、言語切り替えで、&h00aaに対応する各国語の人間用の命令を表示すれば、いいのでは?
どのみちプログラム言語なんて、自然な文章にはならないのだから、javascriptの構文を、この言語ではこういう形にするというのを決めてしまえば、機械的に結構いけると思うけどなあ(甘いか?)。
ただ、個人的にはプログラム言語って、ある程度、即物的に覚えた方が理解しやすいと思うので、単語や構文を各国語にするというのは、なんかやりづらそうという気が・・・。
Re:翻訳プログラムはすでにあるのでは (スコア:3, 参考になる)
実践した経験から言わせてもらうと。
関数名や変数名等のidentifierを日本語に出来るとコードの可読性が飛躍的に上がるが、
制御構文が日本語だとウザい。
Re:翻訳プログラムはすでにあるのでは (スコア:2)
それって仕事で関数名とか変数名を日本語にしてたってことですか?
ちょっとそのソースコード見てみたいです。
Re:翻訳プログラムはすでにあるのでは (スコア:1)
守秘義務があるんで見せられませんが、言語(実装)によってはできますよ。
文字コードはUTF-8以外では実績が無いので他は知りませんが。
試してみてはいかがですか?
ただ可読性を上げるにはコーディング規約に工夫がいります。
Re:翻訳プログラムはすでにあるのでは (スコア:1)
別ACです。
業務上といっても、自家用で、他社へ納品するものではありませんが、
ExcelのVBAで、関数名や変数名を日本語にすることはあります。
雰囲気は以下のようなもの。
Sub 日報集計(社員番号 As Integer)
' *******************************************
' 1日が、1枚のExcelシートの形式の日報を集計し
' 月末集計のシートの該当セルを埋める
' *******************************************
Dim 定時内時間 As Integer, 残業時間 As Integer
Dim 所属部署番号 As Integer, 費用負担部署番号 As Integer
Dim 所属部署名 As String, 費用負担部署名 As String
Dim 他部署へ振替時間 As Integer
call 週報集計シート初期化
call 月末集計シート初期化
所属部署番号 = 社員番号から所属部署番号を得る(社員番号)
If 費用負担部署番号 所属部署番号 Then
他部署へ振替時間 = 定時内時間 + 1.5 * 残業時間
目的は、プログラミングが、本業でない人でも、必要に応じた簡単な
拡張や修正をしやすいようにですが、この場合「読み易いように、
理解しやすいように」を心がけてコーディングするようになるので、
その効果も大きいですね。
Re: (スコア:0)
一時、JavaSで実践してたけど、案外そ~でもない。
結局、タイプ量の問題でalphabeticalに戻ってもうた。
(これは、かな文字入力派の人には、たぶん関係ない話。)
Re: (スコア:0)
アラビア語にも対応するようですが、右書き左書きが混ざってくるとなるとさらにややこしいですね。
Re: (スコア:0)
> 翻訳エンジンにかけて英語に置き換えれば問題ないのでは?
なら最初から全部英語で書けばいいじゃん。それこそ必要なら翻訳エンジンで他言語に置き換えれば?
Re: (スコア:0)
言語を切り替えたところで予約語の総数が変わるわけでもなし、
めいめいが異なる言葉を使って通じ合えなくなるというバベルの塔への皮肉ですかね。
Re: (スコア:0)
でもそれって、まず単語を覚えて理解しないと何もできない、ってことでしょう。
プログラムのプの字も何一つ知らない状態の人に
興味を持ってもらう取っ掛かりとしては、
こういったものもあっていいと思いますけどね。
Re: (スコア:0)
職業プログラマには不要でしょうけど、算数(初等数学・初等情報処理)の教材には適切でないの?
Re: (スコア:0)
親コメント程度のツッコミなんて織り込み済みの上で
あえて生まれた言語だろうに。
英語圏の本家./の方がよっぽど多様性に富んだ会話してるよ
Re: (スコア:0)
このツリーで私の二番目に下らないコメントですね!
Re: (スコア:0)
くやしかったのなら謝ってもいいよ
Re: (スコア:0)
> プログラミング言語で覚える必要のある英単語なんてJavaScriptでもせいぜい800個
それだと、まるで800個もの英単語を覚えないとプログラミングができないみたいじゃないか。
入門レベルだと5個~10個で十分だろうし、実用的なプログラムでも数10個で十分だと思う。
言語の持つ機能を全部使い切るようなプログラミングなんて、ふつう、ないと思うし。
Re: (スコア:0)
>それをローカライズしたら他の地域の人は読めないし逆に他の地域の人が書いたソースコードが読めない
見たところ単純な単語置換なので、相互変換は容易なはずです。
もっとも、予約後以外の変数名などはその限りではないとおもいますが…
母国語ごとにひまわりだとかそういう新しい言語を作るよりはお手軽なのがいいんじゃないでしょうかね?
教える人も楽でしょうし。
小学生以下の子供向けのbabyなscriptなんだからこんなもんなんでしょう。(え!?
Re: (スコア:0)
日本語のLOGOを思い出した。
Re: (スコア:0)
ほとんどの日本人は英語ができなくともとりあえずA-Zまでは知ってるので英単語を800語覚えろと言われてもあまり苦にはならなそうだけど、アラビア語とかタイ語みたいに文字すら知らない言語で800語覚えろと言われるときびしいと思う。