アカウント名:
パスワード:
「"display pi" でどうして円周率が表示できないの~?」 って感じで。
やっぱりそうなんですね。
個人的に、F-BASIC386 で変数名やラベル名を漢字で書いてた経験では、 制御命令がアルファベット、変数名が漢字だと可読性が上がります。
これはワタシも思ってます。あと、コメントが漢字かな交じりだと目立って読みやすくなるんですよね。
にわにわにわにわとりが ... って出来るのでしょうか?
Java の場合ですが、class 名に英数アンダーライン以外を使うのはお勧めできません。ファイル名のコード変換が... まあ、そういうことです。
# zip/jar しておけば安全。 # もう直ってたらご容赦
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
目玉の数さえ十分あれば、どんなバグも深刻ではない -- Eric Raymond
やらないほうが... (スコア:0)
Re:やらないほうが... (スコア:2)
私は中学生の時「日本語プログラミング言語Mind [airnet.ne.jp](DOS版)」ではじめてフルスクラッチで自分のためのプログラム(スケジュール管理ソフト)を書きましたが、勉強になったことこそあれ、その後の妨げになった、という気はしません。
#当時はNiftyのFMINDにお世話になりました。
##それまではもっぱらBasicのリスト入力+α程度でした
まぁ、日本語だから効果が高かったか、というとよくわかりませんが、中学生レベルの語彙だとforだのifだのswitchだの、あるいは関数や変数という文言がリアルな感覚を持っていないので、効果ゼロだったとはいえないと思います。
というわけで、プログラマー未満の人が使うには、こういうのも有りだと思いますよ。
# カルマ消費月間
Re:やらないほうが... (スコア:4, 興味深い)
という気もしたり。
さっき、なでしこのプログラムをいくつか見てきたのだけど、
なまじっか日本語の文章っぽく見えてしまうために、かえって
冗長で読みにくいと思っちゃいました。
ワタシが中学生の頃、最初にBASICでプログラミングを覚えた時、
FORとかIFとかの単語の意味なんて考えませんでした。FORは繰
り返しを意味する記号だし、IFは条件判断するための記号とし
か思いませんでしたね。だから、ぴゅう太を見た時、日本語の
単語に変わっても読みやすくなったとは全然思わなかった
MINDにしろ、なでしこにしろ、日本語に良く似ているけれども、
所詮、似ているだけで全く異なる記号の列なわけですよ。
むしろ自然言語と似ていることは、理解の妨げになるんじゃない
かと思うのだけれど。
# そういう意味で、COBOLが英語圏の人達にどのように理解され
# ていたのか、ちょっと興味がありますね。
Re:やらないほうが... (スコア:2, 興味深い)
>冗長で読みにくい
英語圏では、なまじっか英語に見えてしまうために、
自然言語で書いてしまう初心者がいるとか聞いた事あります。
「"display pi" でどうして円周率が表示できないの~?」
って感じで。
個人的に、F-BASIC386 で変数名やラベル名を漢字で書いてた経験では、
制御命令がアルファベット、変数名が漢字だと可読性が上がります。
全部アルファベットだと、斜め読みした時に何処まで制御命令で
何処まで変数かが分かりづらいです。変数名が漢字だと、
アルファベットの制御命令の中で変数名が浮かび上がってきます。
#今時の IDE だと変数名が色分けされて浮かび上がるように。
確かに入力は少し面倒ですが、デバッグで見返す時の認識速度が
それ以上に向上します。
TomOne
Re:やらないほうが... (スコア:1)
やっぱりそうなんですね。
これはワタシも思ってます。あと、コメントが漢字かな交じりだと目立って読みやすくなるんですよね。
REALbasic (スコア:0)
そうそう。
全部日本語だと可読性は悪い。
変数、プロパティ、メッセージのみ日本語可能という「中途半端」、これが実は一番いい。
変数だけでも日本語だとやっぱり日本人だと実感w。
これは今REALbasicで完璧に実践出来るので驚いた。デモ版で試してみるといい。
Re:やらないほうが... (スコア:1)
ただ、インドとか欧米圏でプログラミング言語の習得がどのように行われているか考えないと、結論は出ないように思います。最近はfMRIで脳の働きを詳細に見られるようになっているので、「人工言語の習得過程における母言語と人工言語の間の語彙の距離の影響」なんて研究があったらそれはそれでおもしろいかも‥‥‥ :-)
# 「の」が多いのはご勘弁。
中国/台湾ではやっぱりfull 漢字言語とか作られているのかしら。
Re:やらないほうが... (スコア:1)
頭の中で構文解釈しているのではなく、見た目の雰囲気で理解している面もあるのではないかな。
にわにわにわにわとりが ... って出来るのでしょうか?
Re:やらないほうが... (スコア:1)
「~(構造体)の~」
と読み下しています。
ソースリスト読みながら説明するときはどうするかなぁ。
Re:やらないほうが... (スコア:1)
(左辺を経由して右辺のほう)を見ろ!
って感じですかね。
考えようによっては「あっちむいてホイ!」というか...
そういや、C++というかOOPの立場から見て、もし
object1-message1()
と書けたなら、
「object1へmessage1というメッセージを送信したぞ」
というニュアンスに見えてキモチイイのにな、という意見を
どっかで聞いた記憶があります。
Re:やらないほうが... (スコア:2, 参考になる)
しまった。不等号が死んでいた。
object1<ーmessage1()
と書きたかったんです。
Re:やらないほうが... (スコア:0)
なにかモヤモヤした固まりに、ちょこんと何かがくっついているような感じです。
そこから何か取り出すときは、むんずと引きちぎっている感じですね。
Re:やらないほうが... (スコア:1)
視線の先の左脳が言語や記憶を司っているからと言われています。
Your 金銭的 potential. Our passion - Micro$oft
Tsukitomo(月友)
Re:やらないほうが... (スコア:1)
を書いているときのような論理的思考を行っているとき、ですね。
# やっぱり心理学4年もやって何もわかってねぇやorz
Your 金銭的 potential. Our passion - Micro$oft
Tsukitomo(月友)
Re:やらないほうが... (スコア:1)
おかげで、他のもの(言語)を覚える気が全くなくなりました^^;
経験に基づいて・・・
なでしこはまだ触ってないけど。
Minder
Re:やらないほうが... (スコア:1, すばらしい洞察)
私の周りにはCしかできない人や、VB Scriptしか
できない人などがいます。他の言語に手を出すかどうかは、
当人の都合だけの問題だと思うのですが。
Re:やらないほうが... (スコア:1)
-- 哀れな日本人専用(sorry Japanese only) --
Re:やらないほうが... (スコア:0)
Re:やらないほうが... (スコア:0)
単にBasicコマンドを漢字でも書けるようにした
日本語風プログラミング言語を一緒にしちゃいけませんよ
Re:やらないほうが... (スコア:1)
# まぁ、RPN(記法、は冗長ですよね)と日本語の語順のマッチングが良い、という話はありますが。
Re:やらないほうが... (スコア:1)
class Object
def 表示
print self, "\n"
end
end
class Fixnum
def から(t)
self..t
end
end
class Range
def 合計
結果 = 0
self .each do |数|
結果 += 数
end
結果
end
end
1 .から(100) .合計 .表示
# -Kオプションを適切に設定しないと不正な文字エラーになるので注意
Re:やらないほうが... (スコア:4, 興味深い)
1から10までの合計を表示。
=> 単語の読取に失敗。関数『合計』の引数『Bを』が不足しています。
何も考えずに書いたら通らなかったのでマニュアルの文法をみて書き換え。
結果は0。
1から10まで繰り返す。
結果にそれを追加。
結果を表示。
=> 012345678910
「追加」は文字列関数とな。んでは、
結果は0。
1から10まで繰り返す。
結果にそれを足す。
結果を表示。
=> 0
「足す」では元の変数が変更されないのな。「追加」との扱いの違いが気になるところだが、変数への代入を追加
結果は0。
1から10まで繰り返す。
結果にそれを足して、結果に代入。
結果を表示。
=> 55
やっと出ました。
Re:やらないほうが... (スコア:1)
1から10まで繰り返す。
それを数[それ]に代入。
数の合計を表示。
=> 10
配列の中身を合計してくれYO!!
Re:やらないほうが... (スコア:0)
Re:やらないほうが... (スコア:0)
足した結果はどうなる?
指示が無かったから捨てます。
代入される 変数[それ] とは何なの?
単純変数です。
それ に対する 代入 ってどんな操作?
単
Re:やらないほうが... (スコア:1)
それって、String型がmutableとして設計されてるか否か、
という問題(に過ぎない)のでは?
Re:やらないほうが... (スコア:0)
Re:やらないほうが... (スコア:0)
Re:やらないほうが... (スコア:0)
Re:やらないほうが... (スコア:0)
下はいま使える例(J2SE SDK 1.4.2_06 on Win2K)。
前のJDKはコンパイルはできるが実行できなかったけど、いつのまにか
直ってたらしい。
$ cat 合計.java
public class 合計 {
public static void main(String[] 引数) {
int 結果 = 0;
for (int 数 = 1; 数 = 10; ++数) {
日本語識別子 (スコア:1)
拙作の「作家でごはん!」参考作品テキストファイル整形 [homeunix.net]では、こんなありさま [homeunix.net]になっています。
いちいち変数名をつけるのに和英辞典を繰る必要がないですし、英単語やローマ字よりもぱっと見てすぐに意味がわかります。
Re:やらないほうが... (スコア:1)
for (int 数 = 1; 数 = 10; ++数) {
↓
for (int 数 = 1; 数 <= 10; ++数) {
でないとforループに1回も入らずに終わるか
あるいは永久に回り続ける気がする
------------
二次以外おことわり
Re:やらないほうが... (スコア:0)
Re:やらないほうが... (スコア:0)
Re:やらないほうが... (スコア:1)
Re:やらないほうが... (スコア:1, 興味深い)
Java におけるすべてのクラスの親クラスである Object クラスには
メソッドを追加することはできないね。その書き方だと ruby だと
できるってことかな?
で、今回は既存クラスにメソッドを追加できるかどうかじゃなくて、
言語で日本語使えるかどうかが肝なんじゃないの?
そういう意味で「関数名や変数名に日本語を使うくらいなら、
VB でも Java でもできるよ」って言ってるんじゃないの?
Re:やらないほうが... (スコア:1)
できます。
#この性質が無い言語は、窮屈で使えないと感じてるのでG7
#Groovyは今のところ微妙ですよね...
>で、今回は既存クラスにメソッドを追加できるかどうかじゃなくて、
>言語で日本語使えるかどうかが肝なんじゃないの?
いや、既存クラスの既存英語名メソッドの「代替品(日本語)」を
自作できるかどうか?の問題を
気にしてるんだと思いますよ。
そうすれば、英語名メソッドを1つも使わずに済むから。
Re:やらないほうが... (スコア:1)
Java の場合ですが、class 名に英数アンダーライン以外を使うのはお勧めできません。ファイル名のコード変換が... まあ、そういうことです。
# zip/jar しておけば安全。
# もう直ってたらご容赦
上司にはぜひやってほしい (スコア:1, おもしろおかしい)
Re:やらないほうが... (スコア:1)
文系の人も、アートやデザインの人もコンピュータを使い、便利なツールとしてプログラムをすることはあるし、そういう一般人にとってはプログラマの間で忌み嫌われているBASIC諸説もそろそろ取り払われるべきではと思うのだけど。
Re:やらないほうが... (スコア:1)
なぜ、こういう話になるとBASICがプログラマ以外のためのプログラミング言語として推奨されるのかな。
きちんとした根拠、今まで見たことないよ。
記号的要素を取り払い、正規表現を改良したPerlとか、
いろいろなアプローチがあっていいと思う。
Re:やらないほうが... (スコア:1)
ファミコン以外のコンピュータに触ったことがなかった自分がBASICを操れた原因は、
1)実行環境(コンソール&グラッフィック)とエディタがシームレスだった。
2)完全・単純な逐次インタープリタで実行・トレースが楽チン。
3)アルファベットさえ理解していれば小学生でも理解できる言語仕様。
全然肩ひじの張ったものではなく、ダイナミックな落書き帳みたいな感想だった。
これで自分は、プログラムなんて阿弥陀クジとかわらない、なんて思ったもんです。
「阿弥陀クジと変わらない」と思われるからこそスパゲティ・コードが作られる原因でもあると思うけど、そこまで身近なメタファを想像させる言語・環境は貴重だと感じます。
まぁ、今のVBとかは違うのかもしれないけど。
Re:やらないほうが... (スコア:0)
・30年の歴史と実績がある。
・大多数の素人さんが使っているWindowsとMicrosoft Officeに標準でついている。(VBScript/VBA)
少なくとも
>記号的要素を取り払い、正規表現を改良したPerlとか、
それはまあ軽口だけですが (スコア:1)
最初にBASIC言語をパソコンに移植したゲイツも偉大だったと思います。
でも、いままでいろいろなプログラミング言語に関わってきて、
人を教えたりして感じたのは
IFとかFORとかGOTO(今はご法度だと思うけど)といった制御文といったものを使いこなしてプログラミングできるのは
やはり、そういうフロー的な特別な思考パターンに対する訓練に絶えられる人に限られるということです。
日常生活で人間はコンピュータほど複雑な分岐のあるフローでものを考えたりしませんよね。
だから、制御文を駆使すればそれ以上難しい概念を学ばなくても
誰でもプログラムは書けます、というBASICのノリは思わず疑問をはさみたくなります。
でも、逆に人間の思考形態にとってもっと自然なはずのオブジェクト指向的発想が、
プログラミング言語に持ち込まれるとあんなに難解になるのはなぜかと問われると、やはり考え込んでしまいますが。
Re:やらないほうが... (スコア:0)
# 最初の癖をつけるのにBasic系は微妙というのは体験からもある程度同意しますが。
Re:やらないほうが... (スコア:1)
VB.NET も Basic 系に含めて微妙なのかな?
Re:やらないほうが... (スコア:1)
#B好きは微妙なんです。
Re:やらないほうが... (スコア:0)
幅広く考えると、初期投資もろもろ考えると微妙すぎるかな。
アプリ開発に関わるのは時間の問題、って前提があればともかく。
hello worldから、ソート程度まで自分の力でやってみるって
癖をつけるなら、なんでもいいって気はするんだけど。