魔術師をめざして

魔術師を目指して、相場・数学・プログラム言語を研究しています。

爆速 QB64

f:id:fxrobot:20141204210825j:plain

それは、十進BASIChttp://hp.vector.co.jp/authors/VA008683/)を使って、上限数1千万までにある素数すべてを求めようとしたことから始まった。作った十進BASICのプログラムは最終的に以下のような感じ。

プログラムの名前は PNS20 と名付けた。どこにでもよくある内容のプログラムだが、この PNS20 の前身である PNS10 を作ってくれ切っ掛けをくれた仲間に感謝したい。

REM PNS20 in 十進BASIC
INPUT PROMPT "素数を求める上限整数を指定せよ:":n
PRINT
PRINT 2;
LET pn=1
FOR z=3 TO n STEP 2
   LET f=0
   LET s=INT(SQR(z))
   FOR p=3 TO s STEP 2
      IF MOD(z, p)=0 THEN
         LET f=1
         EXIT FOR
      END IF
   NEXT p
   IF f=0 THEN
      PRINT z;
      LET pn=pn+1
   END IF
NEXT z
PRINT
PRINT
PRINT "出力した素数の個数は"; pn ;"個です。"
END

このプログラムのなかで INT(SQR(z)) の INT() がなくてもよいことはわかっているがぼくの趣味で入れたままである。で、まずはこのプログラムを上限数100万で動かした。かかった時間は 10分58秒だった。

こういうプログラムというものはコンパイラ言語を使うものだということはわかっている。しかし、ぼくは続けて 1千万(10000000)を上限数に指定して動かしたのだ。なんと、10時間ほどもかかってしまった。時間は正確じゃないけど、まぁだいたい10時間だ。

ふつうはこれ以上はやらないところだが、ぼくは普通じゃなかった。上限数1億(100000000)に挑戦だ。ハハハ..、1週間動かしたよ。で、半分までもいかなかった。結果は以下のとおりだ。つまり、素数を 257万個ほど手に入れたのだ。暗黒通信団素数15万個書籍を販売中)など屁でもないぞ。

f:id:fxrobot:20141204203318j:plain

これで正気に戻ったぼくは、GFortran(ぐるぐるしてくれ)を使うことにした。プログラムはこんな感じ。なお、GFortran はMinGW 32bit版だ。言い忘れていたがぼくは Windows野郎で使用しているパソコンは Windows7 64bit版、メモリたくさんだ(ええかげんやな)。

! ***** FORTRAN 90 によるプログラム *****
program PNS20

integer :: n, pn, f, z, s, p
write(*,fmt='(A)',advance='no') "素数を求める上限整数を指定せよ:"
read *, n
print *,
write(*,fmt='(I10)', advance='no') 2
pn=1
do z= 3, n, 2
    f=0
    s=int(sqrt(real(z)))
    do p= 3, s, 2
        if (mod(z, p)==0) then
            f=1
            exit
        end if
    end do
    if (f==0) then
        write(*,fmt='(I10)', advance='no') z
        pn=pn+1
    end if
end do
print *,
print *,
print *, "出力した素数の個数は",pn,"個です。"
end program

十進BASIC版 PNS20 を見ながら10分で完成。動かしたぞぉ。で、ビックリ。上限数1千万が 13秒だ。上限数1億もやったよ。2分51秒だった。さすが Fortran というほかはない。

そのほか、QB64(QuickBASIC互換コンパイラ)や FreeBasic(QuickBASIC互換モード)や GCCMinGW 32bit版)などでもやってみたぞ。結果の一覧をお見せしよう。

f:id:fxrobot:20141204205323j:plain

なんと、素数を求めるまじん杯で QB64 が優勝に輝いたのだ。まぁ、時間は正確じゃないよ。目覚まし時計の秒針で計ったのだからね。

それでもだよ。QB64 のこの爆速ぶりを見よ!

えっ、QB64 なんて知らない?

そんなあなたのためにインストールから簡単な使い方までぼくが教えて進ぜよう。ぼくが記事に書くまで、まっててくれたまえ。ただしね、QB64 は開発中のソフトウェアであり、さらに日本語はまったく通らない。日本語のドキュメントもない。

しかしね、QB64 は QuickBASIC 4.5互換なのだ。そこのきみも使えるはずだよ。操作も簡単だ。で、QB64 で動かしたプログラムはこんな感じ。どれもこれも似たようなもの。

'***********************************
'*          PNS20 in QB64          *
'***********************************
DIM n  AS LONG
DIM pn AS LONG
DIM z  AS LONG
DIM s  AS LONG
DIM p  AS LONG
DIM f  AS INTEGER
'***********************************
INPUT "Pls input the upper limit number: ", n
PRINT
PRINT 2;
LET pn = 1
FOR z = 3 TO n STEP 2
    LET f = 0
    LET s = INT(SQR(z))
    FOR p = 3 TO s STEP 2
        IF z MOD p = 0 THEN
            LET f = 1
            EXIT FOR
        END IF
    NEXT p
    IF f = 0 THEN
        PRINT z;
        LET pn = pn + 1
    END IF
NEXT z
PRINT
PRINT
PRINT "The number of prime numbers is "; pn
END
'************************************

あと、おまけに FreeBasic(正確にいうと FBEdit)の画面でもどうぞ。

f:id:fxrobot:20141204211415j:plain

QB64 のプログラムとまったく同じ内容で動作した。正確にいうとコメントと表示メッセージだけは違うけど、本質的な部分は同一といっていい。

QuickBASIC互換って素敵だね。

ぼくはこの「QuickBASIC」という小さな仕様のプログラム言語が大好きなのだ。QuickBASIC の日本語書籍ならいまでも古本で簡単安価に手に入るだろう。それを読んで、FreeBasic の QuickBASIC 互換モードをガンガン使おう! 爆速がほしければ、QB64 を使ってみるとよい。

さて、FreeBasic は GCC 程度だけど、十分速い。日本語も通るし、そもそもが Unicode 対応だ。GUI(Window9)も充実している。日本語のドキュメントも十分だ。

また、QuickBASIC を知っている人なら、明日からでも FreeBasic で QuickBASIC のプログラムを動かすことができるだろう。

もし、爆速ゲームを作りたければ、QB64 があるじゃないか。ただね、グラフィックス性能はまだよく知らないから、ゲーム全体が爆速になるかどうかは希望的な話。

ゲームプログラミングが得意な人は試してみてはいかがだろうか。

 

じぇじぇじぇのJ言語

ぼくがはじめてJ言語を知ったのはいつだっだろうか。たしか DOSコンソールで動く時代だったと思う。で、ファーストコンタクトは、よくわからん、で終わりだった。

f:id:fxrobot:20141201124117j:plain

それから年月が流れ、いまごろようやくにしてドキュメントと読んでいる。本来ならば、あまり大きなことはいえない立場なのだ。

それにしては前回は大口を叩いたもんだな。まぁ、なにごとも遅くはないということだ。これからちゃんとやればよいだけのこと。

ところでぼくは言語好きだから、パソコン用の電卓として、いろんな言語を使ってきたのだが、これまでは SWI-Prolog がいちばん気に入っていた。うん、そう、それがいまは J言語に代わったのだ。J Term(画像)は、ぼくにピッタリの電卓環境であり、プログラミング言語環境なのだ。

f:id:fxrobot:20141201130919j:plain

J Term は、軽快に起動し、いつだって左上端に同じサイズで登場だ。起動位置やサイズはコンフィグファイルで設定できるのかも知れないが、..たぶん、いまのところはできないのだろう。我慢できなければ、AutoHotKey でやっつければいい。

J言語の言語仕様についてはドキュメントを読むことでかなりわかってきたと思うが、J言語の環境についてはまだわからないことも多いようだ。

さて、J Term からは Ctrl-M によって簡単に下の画像のようなエディタ(Edit)を呼び出すことができる。

f:id:fxrobot:20141201133528j:plain

J言語の環境はバージョンアップによって、気づかないうちにかなり整ってきたんだね。この Edit もそのうち頻繁に使うことになるだろう。

 ところで、Ruby で有名なMもと氏が『「NB.」から改行までがコメントです。 正気とは思えません。 』と曰っていました。また『正直に言わせてもらえば、J はとても読みにくい。 慣れればなんとかなるのでしょうか。』とも。

ぼくもね「1!:2 <'ファイル名'」(J Term の画像)というのなんかは、じぇじぇじぇとなったけど、天才の発想は凡人にはわからないということなのだろう。えっ、まじん氏が凡人なのはわかりますが、Mもと氏も凡人!?ですか。ええ、もちろん、それにはお応えしません。

ああ、そう、それでね、NB. はラテン語 Nota Bene(注目)の略だそうだ。ぼく的にはなんら # に劣るとは思わない。逆に J言語のコメントが # だったらガッカリだよ。それに FORTRAN や Full BASIC のように ! でもやだなぁ。やっぱり NB. がいいよ。

また、J言語が読みにくいというのはそのとおりだと思うけど、馴れればOKだよ。あとね、ぼくは記憶力がわるい上に秀才でもないけど、たぶん Ruby を覚えるよりはかなり楽に早く J言語の記号を覚えられたと思うよ。

しかし、それは、APL の基礎があるからかもしれない。だからぼくは、J言語を覚えたい人には、まずは APL の入門書を読むことをお勧めしたい。サラリーマンの人でも2週間くらいで、多めにみても1ヶ月で読み終え理解できると思う。

ついでに APL についていえば、プログラミング言語の素人の人にこそお勧めできる。ボタンを押せば APL が現れ、あとは APL の世界。コンパイルだリンクだって、なにそれ? For ループだ、While ループだって、バカじゃないのってことになる。

さて、最初から J言語のドキュメントを読むと頭が痛くなるのかも知れないね。それでも APL をスキップして J言語を覚えたい人のためになにかを書こうかとも思うけど、まずはぼく自身が J言語の経験をもっと積まないとね。

積んでからブログ書けって? うん、だけど、これって、いつものことじゃないか。:P

【おまけ】
APL の円関数: 普通は、○A、1○A、2○A、3○A だけ覚えればOKだよね。

f:id:fxrobot:20141201155839j:plain

 J言語もどうように円関数がある。1 o. A というように ○ を o(小文字オー)と .(ピリオド)で表す。上記以外にも 8 o. A ~ 12 o. A 、_8 o. A ~ _12 o. A などまで拡張されている。

これだって、J、J、J、だよね。

 

APLとJ言語あとR言語

こんかいは APL、J言語、R言語をひとまとめに考察してみたい。この3つの共通性とはなんだろう。ぼくは、これらは共に「配列指向言語」であると表現してみたい。ちょっとまえに R言語の人気が世界的に高まっているようだという記事を書いた。
f:id:fxrobot:20141127012258j:plain

R言語は統計分析専用のソフトウェアと見られがちだが、ぼくはR言語を強力な汎用プログラミング言語でもあると思う。

R言語をいったん汎用プログラミング言語と見てみると、APL との比較が必要になるだろう。ぼくは APL のほうが優れると見るが、現実には R言語のほうが使えるという局面も多いだろう。

ところで、APL はもっとも古い言語のひとつで、もっとも未来の言語のひとつであるともいえると思う。そして、ぼくは APL に残りの人生を掛けようと思っているのだ。でもね、念のために言っておくなら、BASICSchemeProlog などもぼくの趣味であり続けることに変わりはない。

APL のほか未来に通じる言語として有力なのは、HaskellErlangScala などではないかと思うが、これらは未来のある若者に任せたい。

では、J言語はどうだろう。ぼくにとって J言語は APL よりもさらに刺激的で魅力的な言語なのだ。 しかし、一般的な評価は高いとはいえない。変態的と言われることもあるようなのだ。でもそれはね、J言語の説明者(Evangelist)がいないからじゃないか。

f:id:fxrobot:20141130053220j:plain

現在の J言語利用者というのは、数学者ばかりのように思える。彼らは説明にはそれほど興味がないように思えるのだ。とはいっても、ぼくにはその実体の詳細はよく分かっていない。それでも、もっとよい説明があれば、評価を見直されるべき言語であると言うことができるのではないだろうか。

さて、J言語の基本はすべてが APL にある。だから、J言語を学びたい人はその前にまずは APL を学ぶとよいと思う。回り道に思われるかもしれないが、ぼくはそうではないと思う。APL の日本語書籍はいまでも手軽に手に入るので、まずは APL の入門書を読んでみるとよいだろう。

APL は特殊な記号を使うため、軽快なるパソコン利用者には敬遠されてきたと思う。しかし、Unicode の普及により APL の特殊記号の壁はなくなりつつある。あとは、日本語環境で動作するフリーの処理系が望まれるところで、これが敵えば APL 人気が爆発したとしても不思議はない。

ぐるぐる回っているが、つぎは R言語。実用的で強力な言語。そして妥協的。ぼく的にはウンザリするのだが、記述は C言語スタイルで、オブジェクト指向もある。

R のみ        → 要素数 → 2^31-1 → 2147483647            → 約21億個
bigmemory → 要素数 → 2^52    → 4503599627370496 → 約4500兆個
(要素数:ベクトル、行列、配列などの要素数

上を見てほしい。このとおり R言語は強力だ。 bigmemory というのは、R向けのパッケージで、なんと LGPL3ライセンスで提供される。その他 ff という類似パッケージがある(GPL2ライセンス)。

NARS2000(APL の処理系、フリー)だと以下のとおりのレベル。

NARS2000 → ι 314000
NARS2000 → 314000 ρ 10000
NARS2000 → 200000 ρ 1000000000000000000

こんかいは詳細を説明しないが、R言語に比べると実に頼りない。しかしそれは APL の本質とは関係ないことで、処理系の制限に他ならない。APL の言語思想が妥協的でないだけに現実世界においては逆にむしろ妥協的にならざるをえないということだろう。

最後に、最初に出てきた APLJR のロゴ。APL と J言語のぴんから兄弟に、アイドル歌手の R言語。これを抱える芸能事務所。そこのロゴだから、艶やかに R 辺りは赤系の色にしようと思ったが、そうすると全体のバランスが崩れる。R をグリーンに押さえたので、全体的に男の子系の雰囲気になった。R は目立ってはいけないのだ。

さあさあ、というわけで、APLJR ロゴの旗印の下、ぼくは現れるのだ。どこに?

至る所に。

 

上限数1万までの素数

このところぼくは整数論にハマっている。

まじん素数というものを考えて、そこにある法則性を探っているのだ。計算をいっぱいしている。まるでガウスにでもなった気分。ガウスもいっぱい計算したんだろうなぁ。でも、やっぱり計算が大変なので最近になって Excel を使い始めた。でね、いやぁーExcel とは便利なものだ。いままで手計算していた苦労が嘘のようだ。

で、こんかいは素数をプログラムで出力してみようと思った次第。使用する言語としては、UBASIC や十進BASICなどが思いつくところだが、こんかいは、こんご普及に一役買おうなじゃないかというほど入れ込みかけている APL を使うことにした。そのプログラムリストと出力結果は以下のとおりだ。(だいぶ下のほうだけど)

使った APL の処理系は NARS2000(http://www.nars2000.org/)だ。上限整数 R に1万を指定(素数の数にして 1229個)したところ3分ほど待たされた。つぎに R に10万を指定したところワークスペースが足りないとの仰せだ。ワークスペースを増やせるかどうかは現時点では不明。

こういう問題解決における APL のロジックはどこまでも人間サイドにあってコンピュータ側への妥協がない。もちろん内部処理上の苦労はあるだろうが、そんなこたぁ人間さまの知ったこっちゃない。こういう考えの人に APL はむいている。

量子コンピュータでも実現すれば、そしてメモリがさらに超巨大になれば、ええいっ、これでもやってみろ!と APL に打ち込めば、あっという間に100万個の素数を出力ってことになるかも知れない。そして、巨大素数が手軽に求まるようになると、素数を使ったセキュリティは崩壊か。まぁ、ぼくが生きている間は堅牢のままだろう。

で、まぁ、ぼくがいいたいことはこの APL のプログラムを見よ!ということだ。意味がわからんという人はこちらまで APL 入門 - 年金ロボットをめざして どうぞ。

 f:id:fxrobot:20141123114354j:plain

2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109
       113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 211 223 227
       229 233 239 241 251 257 263 269 271 277 281 283 293 307 311 313 317 331 337 347
       349 353 359 367 373 379 383 389 397 401 409 419 421 431 433 439 443 449 457 461
       463 467 479 487 491 499 503 509 521 523 541 547 557 563 569 571 577 587 593 599
       601 607 613 617 619 631 641 643 647 653 659 661 673 677 683 691 701 709 719 727
       733 739 743 751 757 761 769 773 787 797 809 811 821 823 827 829 839 853 857 859
       863 877 881 883 887 907 911 919 929 937 941 947 953 967 971 977 983 991 997 1009
       1013 1019 1021 1031 1033 1039 1049 1051 1061 1063 1069 1087 1091 1093 1097 1103
       1109 1117 1123 1129 1151 1153 1163 1171 1181 1187 1193 1201 1213 1217 1223 1229
       1231 1237 1249 1259 1277 1279 1283 1289 1291 1297 1301 1303 1307 1319 1321 1327
       1361 1367 1373 1381 1399 1409 1423 1427 1429 1433 1439 1447 1451 1453 1459 1471
       1481 1483 1487 1489 1493 1499 1511 1523 1531 1543 1549 1553 1559 1567 1571 1579
       1583 1597 1601 1607 1609 1613 1619 1621 1627 1637 1657 1663 1667 1669 1693 1697
       1699 1709 1721 1723 1733 1741 1747 1753 1759 1777 1783 1787 1789 1801 1811 1823
       1831 1847 1861 1867 1871 1873 1877 1879 1889 1901 1907 1913 1931 1933 1949 1951
       1973 1979 1987 1993 1997 1999 2003 2011 2017 2027 2029 2039 2053 2063 2069 2081
       2083 2087 2089 2099 2111 2113 2129 2131 2137 2141 2143 2153 2161 2179 2203 2207
       2213 2221 2237 2239 2243 2251 2267 2269 2273 2281 2287 2293 2297 2309 2311 2333
       2339 2341 2347 2351 2357 2371 2377 2381 2383 2389 2393 2399 2411 2417 2423 2437
       2441 2447 2459 2467 2473 2477 2503 2521 2531 2539 2543 2549 2551 2557 2579 2591
       2593 2609 2617 2621 2633 2647 2657 2659 2663 2671 2677 2683 2687 2689 2693 2699
       2707 2711 2713 2719 2729 2731 2741 2749 2753 2767 2777 2789 2791 2797 2801 2803
       2819 2833 2837 2843 2851 2857 2861 2879 2887 2897 2903 2909 2917 2927 2939 2953
       2957 2963 2969 2971 2999 3001 3011 3019 3023 3037 3041 3049 3061 3067 3079 3083
       3089 3109 3119 3121 3137 3163 3167 3169 3181 3187 3191 3203 3209 3217 3221 3229
       3251 3253 3257 3259 3271 3299 3301 3307 3313 3319 3323 3329 3331 3343 3347 3359
       3361 3371 3373 3389 3391 3407 3413 3433 3449 3457 3461 3463 3467 3469 3491 3499
       3511 3517 3527 3529 3533 3539 3541 3547 3557 3559 3571 3581 3583 3593 3607 3613
       3617 3623 3631 3637 3643 3659 3671 3673 3677 3691 3697 3701 3709 3719 3727 3733
       3739 3761 3767 3769 3779 3793 3797 3803 3821 3823 3833 3847 3851 3853 3863 3877
       3881 3889 3907 3911 3917 3919 3923 3929 3931 3943 3947 3967 3989 4001 4003 4007
       4013 4019 4021 4027 4049 4051 4057 4073 4079 4091 4093 4099 4111 4127 4129 4133
       4139 4153 4157 4159 4177 4201 4211 4217 4219 4229 4231 4241 4243 4253 4259 4261
       4271 4273 4283 4289 4297 4327 4337 4339 4349 4357 4363 4373 4391 4397 4409 4421
       4423 4441 4447 4451 4457 4463 4481 4483 4493 4507 4513 4517 4519 4523 4547 4549
       4561 4567 4583 4591 4597 4603 4621 4637 4639 4643 4649 4651 4657 4663 4673 4679
       4691 4703 4721 4723 4729 4733 4751 4759 4783 4787 4789 4793 4799 4801 4813 4817
       4831 4861 4871 4877 4889 4903 4909 4919 4931 4933 4937 4943 4951 4957 4967 4969
       4973 4987 4993 4999 5003 5009 5011 5021 5023 5039 5051 5059 5077 5081 5087 5099
       5101 5107 5113 5119 5147 5153 5167 5171 5179 5189 5197 5209 5227 5231 5233 5237
       5261 5273 5279 5281 5297 5303 5309 5323 5333 5347 5351 5381 5387 5393 5399 5407
       5413 5417 5419 5431 5437 5441 5443 5449 5471 5477 5479 5483 5501 5503 5507 5519
       5521 5527 5531 5557 5563 5569 5573 5581 5591 5623 5639 5641 5647 5651 5653 5657
       5659 5669 5683 5689 5693 5701 5711 5717 5737 5741 5743 5749 5779 5783 5791 5801
       5807 5813 5821 5827 5839 5843 5849 5851 5857 5861 5867 5869 5879 5881 5897 5903
       5923 5927 5939 5953 5981 5987 6007 6011 6029 6037 6043 6047 6053 6067 6073 6079
       6089 6091 6101 6113 6121 6131 6133 6143 6151 6163 6173 6197 6199 6203 6211 6217
       6221 6229 6247 6257 6263 6269 6271 6277 6287 6299 6301 6311 6317 6323 6329 6337
       6343 6353 6359 6361 6367 6373 6379 6389 6397 6421 6427 6449 6451 6469 6473 6481
       6491 6521 6529 6547 6551 6553 6563 6569 6571 6577 6581 6599 6607 6619 6637 6653
       6659 6661 6673 6679 6689 6691 6701 6703 6709 6719 6733 6737 6761 6763 6779 6781
       6791 6793 6803 6823 6827 6829 6833 6841 6857 6863 6869 6871 6883 6899 6907 6911
       6917 6947 6949 6959 6961 6967 6971 6977 6983 6991 6997 7001 7013 7019 7027 7039
       7043 7057 7069 7079 7103 7109 7121 7127 7129 7151 7159 7177 7187 7193 7207 7211
       7213 7219 7229 7237 7243 7247 7253 7283 7297 7307 7309 7321 7331 7333 7349 7351
       7369 7393 7411 7417 7433 7451 7457 7459 7477 7481 7487 7489 7499 7507 7517 7523
       7529 7537 7541 7547 7549 7559 7561 7573 7577 7583 7589 7591 7603 7607 7621 7639
       7643 7649 7669 7673 7681 7687 7691 7699 7703 7717 7723 7727 7741 7753 7757 7759
       7789 7793 7817 7823 7829 7841 7853 7867 7873 7877 7879 7883 7901 7907 7919 7927
       7933 7937 7949 7951 7963 7993 8009 8011 8017 8039 8053 8059 8069 8081 8087 8089
       8093 8101 8111 8117 8123 8147 8161 8167 8171 8179 8191 8209 8219 8221 8231 8233
       8237 8243 8263 8269 8273 8287 8291 8293 8297 8311 8317 8329 8353 8363 8369 8377
       8387 8389 8419 8423 8429 8431 8443 8447 8461 8467 8501 8513 8521 8527 8537 8539
       8543 8563 8573 8581 8597 8599 8609 8623 8627 8629 8641 8647 8663 8669 8677 8681
       8689 8693 8699 8707 8713 8719 8731 8737 8741 8747 8753 8761 8779 8783 8803 8807
       8819 8821 8831 8837 8839 8849 8861 8863 8867 8887 8893 8923 8929 8933 8941 8951
       8963 8969 8971 8999 9001 9007 9011 9013 9029 9041 9043 9049 9059 9067 9091 9103
       9109 9127 9133 9137 9151 9157 9161 9173 9181 9187 9199 9203 9209 9221 9227 9239
       9241 9257 9277 9281 9283 9293 9311 9319 9323 9337 9341 9343 9349 9371 9377 9391
       9397 9403 9413 9419 9421 9431 9433 9437 9439 9461 9463 9467 9473 9479 9491 9497
       9511 9521 9533 9539 9547 9551 9587 9601 9613 9619 9623 9629 9631 9643 9649 9661
       9677 9679 9689 9697 9719 9721 9733 9739 9743 9749 9767 9769 9781 9787 9791 9803
       9811 9817 9829 9833 9839 9851 9857 9859 9871 9883 9887 9901 9907 9923 9929 9931
       9941 9949 9967 9973

R言語

R言語の人気が世界的にのびてきているようなのだ。この点についてはあとで紹介したい。さて、ぼくはR言語を昔から知ってはいたが使ったことはなかった。それでこんかい、ドットインストールの動画講座(http://dotinstall.com/lessons/basic_r)全13回を観た。総時間は30分ほどだろうか。概要を理解できたと思う。

あとはネット上に数あるPDFを参考にすればよさそうだ。これ「初心者用R言語講座」(http://chianti.ucsd.edu/~rsaito/ENTRY1/WEB_RS3/PDF/JPN/Texts/R_Stats2.pdf)など最初の最初における学習によさそうに思う。R言語自体については専門書籍の購入は不要だろう。

R言語のコンソール画面 - http://www.r-project.org/f:id:fxrobot:20141122035953j:plain

ついでに R言語をダウンロードしてインストールした(うえの画像)。Windows のアプリとしてみた場合、そのインターフェースの完成度が高いとはいえない。まぁ、それはいいだろう。R言語の本質には関係ない。

無料でこんな便利なものが使えるのだから人気なのもわからないではないが、以下の「TIOBE プログラミング言語 人気ランキング 2014年11月」でわかるように14位の Rubyを押さえて12位なのには驚いた。

【 TIOBE プログラミング言語 人気ランキング 2014年11月 】
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.htmlf:id:fxrobot:20141122040324j:plain

R言語は統計分析用ソフトとのことだ。実際、統計分析専用の機能を備えているようだ。しかし、R言語は十分に汎用言語といえると思う。もちろん、そうはいっても、C言語のようにコンパイルして、どの言語で作ったのかさえわからないような商用アプリを作れるというわけではない。ぼくは機能としての汎用性をいったのだ。

それにしてもR言語が12位なのかぁ。ぼくの場合をいえば、R言語よりも APLを使いたい。APLのほうが、ずっと優れていると思うのだが、R言語は素朴でなのである。だれにも受け入れやすい仕様だと思う。それが強みになっていると思うのだ。

APLは特殊な記号を使うので、その時点で拒否反応が出てしまいそうだ。それに日本語に対応した無料版の決定的な処理系がない。それにしても素朴であるということは大衆に向けてはかなりの強みになる。それをR言語は証明しているともいえそうだ。

R言語はマーケティング部門などに導入すれば、その当日から役にたちそうだ。また、統計解析と関係なく個人で使ってもデータ管理に役立ちそうに思う。まずは公式サイト(http://www.r-project.org/)からダウンロードしてインストールしてみよう。そして最初に紹介した「初心者用R言語講座」を読めば、すぐに使えるようになるはずだ。

いやまて、R言語が使えるようになった人には、APLのよさが理解できるようになるかも知れない。うーん、ぼくにはAPLを普及させたいというわけのわからない欲求が湧いてきたぞ。もし、その思いが継続できたなら、APLの普及に一役買いたい。

それより、年金ロボット作れって。あー、そう、おっしゃるとおり。

 

J 言語事始め

久しぶりのブログだ。いったいぼくはどんなキャラだったのか。そこから思い出す必要がありそうだ(笑)。で、こんかいはプログラミング言語の話題。

みなさんは J 言語を知っているだろうか。APL の開発者アイバーソン氏が開発したプログラミング言語だ。APL については過去 6件をほど記事を書いているので、参照してほしい。(http://fxrobot.hatenablog.com/archive/category/APL

【 Jsoftware - http://jsoftware.com/f:id:fxrobot:20141116030811j:plain

じつは、このたびぼくは、数論研究用のプログラミング言語を検討したのだ。条件は多倍長整数演算が可能なこと。そんなのライブラリ次第じゃないかとかいわれそうだが、ぼくはソフトウェア開発がしたいわけじゃない。手軽にいきたいのだ。

で、多倍長整数演算は例によって Pythonが優れているということだ。うん、もちろん Pythonで不満はないところだ。しかし、言語好きのぼくはどうもひと捻りしてしまう。HaskellErlang かスーパーマンかってことになる。

ほんとうなら LispScheme が妥当だろう(「素数夜曲」http://www.press.tokai.ac.jp/bookdetail.jsp?isbn_code=ISBN978-4-486-01924-4 を思いだそう)。Prolog も手駒にある。

まぁ、なんだかんだいろいろあって、ぼくは J 言語を学ぶことにしたのだ。あたらしい機会があればあたらしい言語を学ぶ。それがぼく流儀だ。で、学ぼうと思ったら J 言語の評判が気になった。J 言語を学び始めたので、J 言語の評判が気になった。で、ウェブをぐるぐる。
『「空前絶後、他の追従を許さない難解プログラミング言語」と評判の J 言語 ..』(http://d.hatena.ne.jp/m-hiyama/20140111/1389428141)とのことだ。

しかし、それは言い過ぎで、ぼくはそんなふうには思わない。画像を見てほしい。J 言語の対話環境だ。簡単なデモを打ち込んでみた。見ただけでどんな言語かわかるんじゃないだろうか。えっ、わからない。

じゃぁね、J 言語のカテゴリを作ったから、こんご、入門の記事を学びながら書いていこうと思うので、みなさんもそれで学んでみたらどうだろう。しかし、ちゃんと書くかなぁ。心配もある。というわけで、ご意見ご要望があればコメントください。しかしね、ぼく自身もこれから学ぶのだということをお忘れなく。

いっしょに学ぼうぜぇ。

 

世界は悪であふれている

今日は長崎に原爆が投下された日。テレビを観たら、老女が「(世界中)みんな仲良く」と涙ながらに言っていた。典型的な善良なる日本の女性だろう。ぼくにもその老女の心境はよく理解できる。世界中の皆が仲良くできれば素晴らしいことだ。ただし、世界中の人々が無条件に仲良くできるなんてありえないこと。

それでも老女の願いには誰しもが賛同するだろう。でもね、老女には責任能力がないのである。老女は知的には弱者なのだ。でも、ぼくは知的弱者をバカにするつもりはない。善良に普通に生きることをぼくは尊いことだと思っている。

f:id:fxrobot:20140809141924j:plain

次に長崎市長が出てきて、集団的自衛権についての心配と、いつものきれい事を述べていた。この市長の顔を眺めながら、本気なのだろうか、あるいは票のためだろうかと外見からの人物分析をしてみた。

この人、ぼくちゃんといった顔つきだ。うーん、こりゃどうやら本気なんじゃないだろうか。だとしたら、大の大人がね、信じられん。これこそ狂っている。

ぼくは心配なんだ。日本が三度目の核の被害に遭わないかがね。こんな状態じゃ、日本こそが世界の中で、現代における核被害国となる最有力候補なんじゃないだろうか。

確かに今の時代に核など使えるものだろうか、使う国がありうるのか!?特亜(支那南北朝鮮)には、その可能性があるかもしれない。実際、支那軍部の立場のある者が日本に核ミサイルを撃ち込むと表明しているじゃないか。

さて、特亜が核を使うのを躊躇うときはどういうときなのだろうか。核を使用すれば国際外交上立場が非常に悪くなる。もちろんそうだろうが、核を使うか使わないかの状況ではもうそんなことは気にしていられない。

特亜が核ミサイルを使うのを躊躇うとすれば、核を打ち返される心配があるときだけだろう。やつらは実に臆病なのだ。えっ、日本は米国の「核の傘」に守られてるじゃないかだって? そんな考え方が成り立つわけがないじゃないか! それこそ絶対ありえないことだろう。どういうおつむで考えたらそんな期待が持てるというのか。

さて、核を世界からなくすことを目指すことは、よいことだと思うよ。しかし、考えがそれしかないとしたらお粗末すぎる。そもそもね、核を持たない(持てない)国が、世界の核保有国から核を取りあげるなんてできるはずがないだろう。世界は各国の力関係で動いているのだ。核もない弱い国に世界を動かすことはできない。

日本人は善良な人が多い。だからこそ、お花畑になりやすいのだろう。ぼくも善良なることは大切なことだと思うよ。ぼくは善良な人々を愛する。しかし「世界は悪であふれている」んだ。平和を愛し、平和を望み、平和を叫べば、平和を保てる。そうだったらぼくもそうしたいが、現実は正反対と言ってもいい。

平和を愛し、平和を望み、平和を叫び、戦争から目を背ければ、それはむしろ、戦争を引き寄せてしまうのだ。「責任を伴わない平和主義」は侵略や戦争という悲惨な状況を生みだすのだ。自分だけが戦争を嫌いだと思っちゃいけない。ぼくもそうだし、誰もが皆戦争なんて嫌いなんだ。

どうしたら、その嫌いな戦争を避けられるのか。それを真剣に考えなければならない。世界は日本人のように善良でお花畑な人たちばかりじゃないんだ。世界は悪であふれている。誰もが現実を知り、誰もが平和に責任を持たなければならない。

きれい事しか言わない人間が戦争を引き寄せるのである。

 

 

TIOBE プログラミング言語 人気ランキング 2014年7月

このブログでは恒例となった TIOBE プログラミング言語 人気ランキングの7月版だ。断っておくが、ぼくは TIOBE の回し者って分けじゃないよ。まぁ、なんだね、ここでわざわざ取りあげなくても TIOBE のサイトを見ればいいだけの話で、それに TIOBE のサイトの翻訳をするわけでもないしね。

http://www.tiobe.com/index.php/content/paperinfo/tpci/index.htmlf:id:fxrobot:20140730183307j:plain

さあ、下は1位から20位までのランキングだ。気になるのは Ruby のランキングが下がっていることだ。下がり続けていると言ってもいいかな。実を言うとね、ぼくはこのことを予測していたんだ。といっても、結果を見てから言っているから、インチキ占い師と同類と言われても文句は言えない。

f:id:fxrobot:20140730183316j:plain

その他だと F# の躍進が凄いね。なぜ Scala じゃないんだろう。Microsoft の強さということか。

あと、ActionScript も大幅アップだ。ウェブにおける Flash によるユーザーインターフェースはやがてなくなるだろうというのが、かなり昔からのぼくの予言だったし、そもそもかなり嫌いだったんだ。

アニメーションをやりたいというのなら分かるけど、ユーザーインターフェースは辞めてくれ、迷惑なだけだと一人毒ついていた。で、結局薬局、ぼくの希望通りになった。しかし、Flash 自体は別の何かで有望な立場になるはずだとも思っていたのだ。

それはなんだ!? うん、動画じゃないだろうか。まぁ、あまり根拠があるわけじゃない。で、どういうわけだか、ActionScript の大躍進となっている。

あと一つ。VisualBasic は強いね。5位だって! これ、他の Basic も含まれてるってことか。まぁ、それにしてもなくなるどころか強くなるばかりの VisualBasic。日本の言語ユー-ザーも心置きなく VB6 を使おうじゃないか!

 

 

聖職の碑

思えば、ぼくは若い頃から数多くの映画を観てきた。今回はそのような数々の映画のなかから思い出に残る一作を紹介したい。
f:id:fxrobot:20140707193544j:plain

『「聖職の碑」(せいしょくのいしぶみ)は、中央アルプス木曽駒ヶ岳における山岳遭難事故を題材とした新田次郎の山岳小説および、それを原作として1978年に鶴田浩二主演で東宝から映画化された。

1913年(大正2年)8月26日に長野県中箕輪高等小学校(現・同県上伊那郡箕輪町立箕輪中学校)の集団宿泊的行事として実施された木曽駒ヶ岳集団登山における気象遭難事故の実話に基づき極限状態での師弟愛を描き、「生きること」「愛すること」の意味を問いかけた。

主な出演者:鶴田浩二岩下志麻三浦友和田中健、中井貴惠、北大路欣也地井武男大竹しのぶ』(Wikipedia

「聖職の碑」は、ぼくが二十代の頃に観た映画だ。多分、映画館でリアルタイムに観たと思うが記憶が定かではない。ストーリーもよく覚えていないのだ。確か、数十名の学童が山で遭難してしまう話であったという記憶だ。

その他、ただ一つだけハッキリと記憶にあるのは、遭難の話を聞いた校長の妻が「覚悟はできています。生徒が一人でも亡くなればあの人は生きて帰ることはありません」と、きっぱり言ったこと。それが明治の日本人の気骨であった。その場面だけが、今日までぼくの記憶に残り続けてきた。

二十代でこの映画を観たぼくは、責任ある立場でこのような状況に置かれたら、自分もこうありたいと思ったものだ。人間の生きる死ぬは時間的にはどうせ僅かな違いなのだから、死ぬときは誇りある死に方がしたいと、この映画を観た当時の若いぼくは確信したのだった。

f:id:fxrobot:20140708135115j:plain

そして、現代の韓国のセウォル号の沈没事件。多くの高校生を船内に残して、自分だけ一番に逃げ出した船長(左画像)。こんな卑しく生き残って平気なのか、恥というものはないのだろうか。

で、まぁ、この映画を一度目に観たときからおそらくは、30年以上経ったであろう今、もう一度観たいと思う。実は、つい先ほど映画のことを思い出して、題名がなんであったかも覚えておらず、グーグルで「学童 遭難 映画」で検索して、分かったという次第だ。

今度、TSUTAYAに行ったら借りようかと思う。今のぼくが観たらどうなんだろうと、そういう意味でも少し楽しみだね。

タイ映画

最近ぼくはタイの映画をよく観る。アクション映画の「トム・ヤン・クン」や「マッハ!!!!!!!!」は有名だね。これもシリーズほぼ全作を観た。チョコレート・ファイター(原題:ช็อคโกแลต、英題:Chocolate、2008年のタイ映画)もまだ観ていないが観たいと思っているアクションばっかしだって? いやね、むしろ、これから紹介する2作品の方がぼくの好みなのだ。

f:id:fxrobot:20140701202311j:plain

『「わすれな歌」(原題「มนต์รักทรานซิสเตอร์(MON-RAK TRANSISTOR)」、英題「TRANSISTOR LOVE STORY」)は、2001年にタイで作られた映画。結婚してすぐ、徴兵により離れ離れになってしまった主人公ペンとサダウの物語。サダウへの思いを込めたペンの切ない歌とともにコミカルなストーリーが展開する。』(Wikipedia

まずぼくは、この DVDのパッケージに惹かれたんだ。穏やかな色彩の自然のなかで小船の上で微笑むサダム。面白い構図だ。このパッケージの構図を見るだけで、本編の映像が構図に拘ったものであろうことが想像できる。

ベトナム映画もそうだけど、タイ映画は映像における色使いを大切にしているようだ。タイ映画の場合はそれに加え、音楽が重要な役割を成す。

もっとも、今回紹介する2つの映画は、どちらも音楽そのものがテーマでもある。「わすれな歌」はペンが歌手を目指すというストーリーで、「風の前奏曲」は、タイの伝統楽器ラナートの奏者の物語だ。

わすれな歌の映像は、タイの原風景を思わせるものだが、古い人間のぼくにとっては、日本の原風景を思い起こさせるものでもある。わすれな歌は日本のかつての素朴な時代を感じさせてくれた。以前の投稿で紹介したベトナム映画の場合は、それに加え、タオイスティックを強く感じさせる。

f:id:fxrobot:20140701202322j:plain

『「風の前奏曲」(原題「โหมโรง」、英題「The Overture」)は、2004年にタイで作られた映画。伝統芸能が統制されていた第2次世界大戦下のタイで、タイ式木琴“ラナート”の奏者として生きた、ソーン・シラパバンレーン師の生涯を基に描いた感動作。若き日のソーン師を演じたのは、妻夫木聡主演の日本映画「春の雪」にも出演している美形スター、アヌチット・サパンポン。純粋に音楽を愛する師の生き方と繊細なラナートの音色に心を奪われる。本国タイでは伝統楽器を習う若者が急増するなどの社会現象を起こした傑作。
【あらすじ】バンコク郊外のアンパワーで生まれたソーン(アヌチット・サパンポン)は、伝統音楽団の師匠である父の下、楽器“ラナート”の名人として成長するが、ある競演会でライバルのクンイン(ナロンリット・トーサガー)に完璧に打ち負かされてしまう。』(YAHOO!映画より)
映画のなかのラナートによる競演シーンの演出がちょっと子供っぽくも感じるが、まぁ、それは映画の娯楽性ということで大目にみるとすれば、全体として迫力あるものに仕上がっていると思う。

また、タイ人のプライドというものが随所に見られ、そういった面でも見応えのある映画だったと思う。ぼくはタイ映画を今後益々注目したいと思う。

実は今回の2作品は、レンタルではなくパッケージを購入したのだ。ぼくにとってはタイ語の教材としての役割があるためだ。今後のいつかの日からか、何度も何度も鑑賞することになるだろう。今回は、まずは一回観た感想を簡単に書こうと思った次第だ。

 

ベトナム映画

ベトナム語を学び始めたこともあり、最近、立て続けにベトナム映画を観た。

f:id:fxrobot:20140612000831j:plain

青いパパイヤの香り」と「夏至」の2本だ。どちらもベトナムとフランスによる共同制作だ。

どちらの映画もひとことで言うなら「タオイスティック」ということだ。ぼくも歳なのだろうか、最近はこういう映画が好みになった。

以前、フランス映画「画家と庭師とカンパーニュ」を紹介したが、この映画もぼくは好きなんだ。決してドラマチックってわけじゃないけどね。淡々とした日常が描かれている映画だ。

例によって映画のストーリーなど紹介しない。せめて Wikipedia でも参照しておくことにしよう。

【『青いパパイヤの香り』(あおいぱぱいやのかおり、ベトナム語題: Mùi đu đủ xanh / 味𣛦𣛭青, 仏語題: L'odeur de la papaye verte, 英題: The Scent of Green Papaya)は、1951年のサイゴンを舞台とした、ベトナム・フランス共同制作の映画。トラン・アン・ユン監督のデビュー作で、カンヌ国際映画祭カメラ・ドール(新人監督賞)・セザール賞新人監督賞を受賞したほか、アカデミー外国語映画賞にもノミネートされた。】

1994年8月13日公開の映画だ。かなり古い映画だね。

f:id:fxrobot:20140612000843j:plain

一方「夏至」は、公開日 2001年7月14日。こちらも Wikipedia から。

【『夏至』(げし、ベトナム語題: Mùa hè chiều thẳng đứng, フランス語題: À la verticale de l'été, 英題: The Vertical Ray of the Sun)は、ハノイハロン湾を舞台とした、ベトナム・フランス共同制作の映画。色彩美あふれる映像に特徴がある。様々な人間関係の中での心の機微が、一家族の中の人物を通して淡々とした語り口で描かれる。2000年5月18日、カンヌ国際映画祭で上映。】

こちらも参照で恐縮だが、アマゾンのレビューの一つを紹介しよう。

【小鳥が歌うようなべトナム語の響きといい、青と緑を基調とした美しすぎる映像といい、夢見るように眺めるだけで至福の映画です。
私にとっては音楽がとても印象的でした。大好きなルー・リードの「コニー・アイランド・ベイビー」やアラブ・ストラップなんかのスロウ・ナンバーをこんな風に使うなんて!!
でも、最もすばらしいのはエンディング・テーマ。ベトナムの国民的な作詞・作曲家のチン・コン・ソンの曲ですが、あまりにも美しすぎて切なくなります。歌詞もいいです。サウンド・トラックもオススメ!
私個人的には、これを見たあとウォン・カーウァイの「花様年華」を見ると青・緑と赤の美しいコントラストでアジアの官能満喫です。】

情熱的なコメントだね。書いたのは女性だろうか。ぼくも最後に流れた曲は大好きだよ。それとね、コメントのなかの「小鳥が歌うようなべトナム語の響き」という台詞がぼくは気に入ったんだ。ぼくはフランス語とベトナム語に独学で取り組んでいるが、どちらもその音に惹かれたのだろうと思う。

f:id:fxrobot:20140612004337j:plain

ところで、上の画像の DVD(新品)は最近オークションで落札したものだ。落札価格は1500円だった。多分現地だと数百円なんだろう。言うまでもないが「The Scent of Green Papaya」というのは「青いパパイヤの香り」の英題だ。

音声:ベトナム語タイ語を選択。
字幕:英語、タイ語、あるいは字幕なしを選択。

そして、リージョンコードはフリーだ。今後、英語の字幕で何度も繰り返し観ることになるだろう。それはもちろん、ベトナム語が学習の一貫としてのことだ。

言い忘れていたが「夏至」はまるで絵画を見るような美しい映画だ。音楽も素晴らしい。とくに大人の女性ならきっと好きになると思うよ。

お勧めだよ。

 

フランス語のキー入力

語学の話題が続いたついでにフランス語のキー入力方法について考察してみようと思う。

ロシア語のときと同じように言語バーにフランス語を追加することは可能だ。Alt+Shift キーによって複数の言語をサイクリックに切り替えることになる。もし、それが面倒であれば、AutoHotoKey を用いて一発で選択するようにもできるだろう。

もし、フランス語を言語バーに追加するのなら「フランス語(カナダ)」を選ぶとよいであろう。f:id:fxrobot:20140417040411j:plain更にその中から 「カナダ フランス語」を選ぶのがよいだろうが、その他の選択肢との違いがぼくには明確に分かっていない。

それ以前の話として「フランス語(フランス)」という選択も可能だが、これを選ぶと、次のようなキーボード配列になってしまう。確かに、フランス語ネイティブにとっては、フランス語の特性に合わせた配列となっているのでこれが最適なのかも知れないが、QWERTY配列に慣れ親しんだ我々には、使えない代物だ。

f:id:fxrobot:20140417040909j:plain
そこで選ぶべきは、先に述べた「フランス語(カナダ)」の中の「カナダ フランス語」となる。

f:id:fxrobot:20140417041235j:plain
これならば、慣れ親しんだ配列なので、あとはフランス語特有の文字の入力方法を学べばよいだろう。したに示すサイトにその解説があった。

http://www4.ocn.ne.jp/~ysato/windows.htm
f:id:fxrobot:20140417041923j:plain
この通りやってみたが、 思いどおりのキー入力が可能だった。ただし、o と e の合字である「œ」の入力の説明がなく、普通に「oe」と打てばよいとのこと。まぁ、方法がないわけはないと思うけどなぁ。

そんなわけで、ぼくとしては、言語バーは、日本語とロシア語だけにして、フランス語については、手元にある Microsoft Word で入力することにしたのだ。で、下のサイトを見つけた。

http://bonjour.s21.xrea.com/francais/droite.htmlf:id:fxrobot:20140417041630j:plainMicrosoft Word を使えば上のように簡単に入力できる。「œ」についてもこの通り問題なし。ぼくはこれで行くことにしたのだ。

フランス語のテキストを作りたいときは、Word を起動してフランス語テキストを打ち込んで、それを必要な場所にペーストすればよいだろう。

ぼくが愛用している電子メールソフト Becky! の場合は、以下にある「Latin9(ISO-8859-15)」を選んで、ペーストすればOKだ。

f:id:fxrobot:20140417043056j:plain
もし、日本語とフランス語混在のメールを送りたい場合は UTF-8 を選べばよいはずだ。

しかし、今このとき、この情報を必要としている人なんて要るのだろうか。
まぁ、ぼくには必要だったのでよしとしてくださいな。:P

 

ロシア語とフランス語

二兎を追う者は一兎をも得ず、とは、ぼくのためにある言葉であろう。

f:id:fxrobot:20140416150133j:plain

前回の記事でロシア語を始めたぼくだった。そしてロシア語の文字(キリル文字)に馴れてきて、ロシア語が面白くなりつつある。

また、同時にロシア語がなぜ難しいと言われるかについての理解も進んだと思う。覚えるべき変化が大変多いのだ。これなら、確かに変化・変化・変化の言語と呼ばれるはずである。

一方、フランス語は性に合わないと一蹴していたぼくだが、フランス語の入門書と辞書を買い込んだのだ。ああ、なんてこった。ぼくは二兎を追う羽目になったのだ。

なぜこうなったのだろう。外国語の勉強が面白くて欲が出たってことだろう。つまり、ロシア語の勉強が面白い。今のぼくは英語が少しできる程度で、他の外国語は分からない。それでもここ1ヶ月ほど、いろんな外国語を(表面的にではあるが)かなり調べたのだ。

その結果、英語を除くと ①ロシア語、②フランス語、③ドイツ語、④中国語、の順位がぼくの中にできあがった(以前はドイツ語が1位だった)。その他、⑤インドネシア語、⑥タイ語、⑦ポーランド語、⑧トルコ語、⑨フィンランド語、に興味が湧いたのだった。

インドネシア語はとにかく易しい言語で直ぐにでも覚えられそうなのが魅力。タイ語はタイ旅行をして以来ずっと興味がある。書店でも多くの人がタイ語のコーナーで立ち見をするほど人気があるようだ。ぼくはそれを何度も目撃している。ポーランド語は、ロシア語とほぼ同時に調べたが、言語的に面白く感じ、ロシア語に比べるとかなり学習しやすい言語に思えた。また、インドネシアポーランドは大変な親日国でもある。

f:id:fxrobot:20140416145828j:plain

それらを検討した結果、結局、ぼくは、ロシア語とフランス語を独学しようと決めたのだ。

フランス語は性格的に合いそうもないが、あくまでも目的重視で選んだ。現代のフランスは日本文化との接点が多く強い。つまり、日本への興味がとても強い国だということ。

また、ぼくが、料理やファッションへの興味がないことは言うまでもないだろう。そういう視点であれば、学術に有利なドイツ語を選ぶことになる。

ロシア語、フランス語、その他にまで手を伸ばしたいぼくだけど、まずは、ロシア語が少なくとも初級程度になるまでは、フランス語に手を出すのは我慢するつもりだ。この2つを比べれば圧倒的にフランス語が易しく思えてしまうほど、ロシア語は面倒な言語といえる。

f:id:fxrobot:20140416155608j:plain

 それが言えるのも「ロシア語の仕組み」という本を読んだからだ。

この本を読み始めた当初は、この本は名著ではないかと思ったものだ。しかし、今はこの本を振り返って疑問を感じているのだ。

それというのも、この本のおかげでロシア語というものへのぼくなりの理解が生まれたからかも知れない。皮肉な話だ。

必要のないことは分かっていたが、この本を読んでから「ロシア語のかたち」という本を購入した。読む順序が逆だが、今なら苦労せず楽しく読めるはずだ。

さて、ロシア語とフランス語はどちらも初級程度までにはなるつもりでいる。どちらかが、中級、上級と進むことができれば望外の結果といえる。

もし、ぼくが望む最大の成果を達成できたとしたら、複数の外国語による将棋情報サイトができることになる。あるいは、ロシア語による FX 情報(ロシア製のロボットやシンジケーター)を紹介することも可能になるだろうし、それらの情報は、ぼくの年金ロボットの開発に役立つだろう。

もともと、ロシア語にぼくの気持ちが向かった最も大きい理由は FX なのだ。ロシア製のロボットを見つけ、そのページは英語を選ぶことができたが、その先に進んで、英語の選択はできずロシア語だけとなったのだ。

なんとなく雰囲気で理解できないかと眺めたものの英語との共通性は皆無で理解は不可能。そのとき理解したい!と思ったのがロシア語への切っ掛けとなっている。その数年後、wxBasic その他のためにドイツ語を学びたいと考えたことがあったが、今回、外国語を知りたいと思った最も初心に戻って、ぼくはロシア語に向かい始めたのだ。

 

 

キーボ-ドで覚えるロシア語

ぼくはとうとうロシア語の独習を始めたのだ。

ぼくは気が多く、今まで多くの外国語を学びたいという気持ちになってきた。スペイン語、イタリア語、中国語、韓国語、タイ語インドネシア語、ロシア語、ドイツ語、フランス語、フィンランド語、ポーランド語などが候補になったが、いくつかの理由があって、それが絞られることになった。

それは、ロシア語、ドイツ語、フランス語、ポーランド語、タイ語インドネシア語の6カ国語だ。日本語と英語からは逃れられないとして、人生の残り時間が少なくなってきたぼくは、それ以外の外国の言葉を学びたいという気運が高まったのだ。

ロシア語は難しいので、英語にも近いドイツ語をやろうじゃないかとつい最近まで思っていた。フランス語はどうしたってぼくの柄じゃない。インドネシア語はとても簡単な言語で、今直ぐにでも覚えられそうに思える。タイ語エキゾチックだ。それにタイ旅行によってタイが好きになった。長期滞在して生活してみたい。ポーランド親日で日本文化が盛んだ。その言語の内容からもポーランド語に惹かれるのだ。

そんななか、あーだこーだあって、ぼくはターゲットをロシア語に定めたのだ。

f:id:fxrobot:20140412165859j:plain

まずは、Windows 7 の言語バーにロシア語を追加したのだ。日本語とロシア語の切り替えは、上の画像のようにマウスで操作してもよいが、もっと簡単に Alt + Shift で瞬時に行うことができる。

あとは、ロシア語のキーボードがほしい。

f:id:fxrobot:20140412170240p:plain

↑こんな感じだろうか(いや、英語のアルファベットが付いてなきゃダメか)。

日本で買えば 5千円くらいだ。ネットで海外から買えば 1500円くらいからある。しかし、ぼくはとりあえず、アマゾンでキーボードに貼り付けるシールを買うことにしたのだ。1000円ほどだった。それにしても、キーボードが 1500円でシールが 1000円か。

f:id:fxrobot:20140412170547j:plain

で、↑こんな感じになった。

よく、付き合い始めたばかりの熱愛バカップルが相手の名前を入れ墨したりするよね、これは、それに近いことか。ぼくは 1000円のシールをぼくのキーボードに貼り付けてしまったのである。もうやめられないぞ。もう浮気は禁止だ。

これが「キーボ-ドで覚えるロシア語」の極意だ。えっ、キーボードを使って効率的に学習できるってことじゃないのか!? うん、シールを貼っちゃえば、もうロシア語から逃げられない!という最高に画期的な学習方法なのだ。

ЙЦУКЕНГШЩЗХЪ  ФЫВАПРОЛДЖЭЁ  ЯЧСМИТЬБЮ ってな具合にロシア文字も自由自在なのだ。ここまで来られれば、残りは後一歩、ロシア語を覚えるだけだ。:p

ぼくはこのシールを剥がす日が直ぐに来ないことを祈っている。

 

FX グループ

ぼくはちょっと前に、はてなブログの中に「FX」という名前のグループを作った。

【 FX グループ - http://hatenablog.com/g/11696248318756869005f:id:fxrobot:20140407050927j:plain
FX(外国為替証拠金取引)で勝つためのテクノロジーを追求しています。また、FXロボット(FX自動売買ロボット)の開発をおこなっています。ロボットによるFXをめざしていますが、もっとふつうに、FXに入門しようとしている人、FXをすでにおこなっている人、FXのベテランの人、FXで勝てない人、FXで勝ちたい人、FXにかかわるすべての人たちのグループです。
(↑ FX グループの説明文)

作ったグループというものが、どのような働きをするのかも知らないまま一応作ってしまったという感じだった。それから、このグループに参加する人は現れなかったが、まぁ、なにも働きかけもしていないわけだから、当然なのかなと思っていた。

しかし、ポツリポツリと参加者が現れ、今現在は 11のブログが参加している。だから、FX に興味がある人はこのグループのページ(http://hatenablog.com/g/11696248318756869005)を見るとよいだろう。

わが「年金ロボットをめざして」は、このごろでは、そのタイトルと裏腹に FX の話題を書くことが少ない。それで、その罪滅ぼし的な意味でこの案内を書こうと思った次第。

見たところ、FX グループのぼく以外の人たちは、熱心に FX の記事を書かれているようだ。もちろんぼくも、いずれは FX に完全復帰する予定だ。長~い目で見て貰いたい。

f:id:fxrobot:20140407050222j:plain

というわけで、今回は以上です。