「漢字圏」を含む日記 RSS

はてなキーワード: 漢字圏とは

2024-03-10

マルクス主義」は「マルクス教」

マルクス主義英語でMarxism

仏教英語でBuddhism

どっちも「ism」じゃんねえ

もちろん保守主義もconservatism

宗教にも福音主義とかあるし

要は日本漢字圏もか?)での翻訳問題じゃんねえ

英語圏では両者に言葉の上では差が無いんで

意識の上でも日本人の感覚とはズレがあるんじゃないか

2023-12-20

「粁」(キロ)っていう漢字は、いつ、誰が作ったものなの?

漢字というのは、甲骨文字の例に見られる通り、かなりの古来から存在するものだと思っていたのだが、この「粁」(キロ)という文字を見ていて、それが本当なのかわからなくなってきた。

「粁」のように、(漢字圏以外の国の)外来語対応する漢字は当然ながら、古来からあるわけではない。少なくとも、そういう国との交流が始まってからまれものであるはずだ。

そうなると、そういう漢字は、いつ、誰が作ったものなのだろう?という疑問が生まれてくる。

古来の漢字のように、自然発生的に生まれものではないだろうから、誰かが意図的に発生させたものであるはずだが、それが誰なのかがわからない。

anond:20231220183619

大国中国留学からの~漢字圏日本に来てくれることもある

ゾマホンとか国際開発とか青年協力なんちゃらの影響やろな

 

ただまぁ時間予算が許すならこのクラス天才米国目指すでしょうな

2023-09-30

anond:20230930011451

漢字圏でそれはキツいわ。

誤字の多い人は不登校になりそうだわ。

2022-11-22

漢字圏では既に10の68乗まであるのに

国際単位系はまだ10の30乗で足踏み?

まだまだね

2022-08-07

anond:20210615225605

通達読んだけど、漢字圏がどの国か定義されてないか

ベトナムシンガポール漢字名を持ってる中華系の人もいける感じなんだな

本国において氏を漢字表記する外国人

エストニア電子国民を経由すればハックできそう

2022-05-12

anond:20220512172421

漢字圏って韻を踏むの簡単すぎてありがたみねーな

2021-06-16

海外日本人同士の出生届で、現地と日本で異なる名前で良いか問題

人気ランキング話題にもなってるけど、外国籍同士の赤ちゃん出生届漢字カナ云々の話の感想

https://b.hatena.ne.jp/entry/s/twitter.com/Funi2222/status/1404415913797898247
https://b.hatena.ne.jp/entry/s/togetter.com/li/1731240

この漢字圏は漢字、非漢字圏はカタカナって、おそらく所属する国籍登録している名前ベース名前登録するってことだよね。差別だという主張は理解できるんだけど、そこまで筋が通ってないルールだとも思えない。

あと今回のこの問題は、名前の届け出の初手が日本出生届けを出してるってことじゃないか、と思った。

多分やろうと思えば、日本では言葉サーナって名前出生届を出しつつ、所属する国にはアノニマスンダって全然違う名前登録することできるかもしれないし。特に結論なし。

2021-06-15

外国籍出生届平仮名が使えない件について

すでに4年前に詳細な解説がされている。

 

外国籍の子出生届ひらがなが使えないのは差別? - Togetter

https://togetter.com/li/1174653

戸籍での外国籍名の表記

外国籍戸籍法に基づき出生届の提出が必要だが、外国籍夫婦の子供が戸籍記載されることはない

戸籍外国籍名前掲載される場合(父母が外国人場合など)、表記カタカナ本国で氏名を漢字表記している場合漢字も可)にすると大臣通達で決まっている

在留カードでの外国籍名の表記

在留カードの氏名は、出入国管理法で「ローマ字により表記するもの」と定められている(漢字圏の国籍なら漢字表記可能

在留カード平仮名カタカナは使えない

住民登録での外国籍名の表記

住民基本台帳での表記は、総務省当局の要領で在留カード表記と同じローマ字漢字圏は漢字可)が原則とされている

出生届表記住民登録に反映されるわけではない

住民登録には日本人と同じ文字が使える通称名登録することができる

外国籍が提出する出生届名前の件

本国では本国語で筆記する名前があるのだから日本の届け出でその読み方としてカタカナ名を登録させるのはおかしくない(本国語の名前があるはずで、カタカナはその代替しかない。代替平仮名漢字を加えると混乱する。)

・今回は特別永住者在日韓国人)が不自由したという問題で、漢字カタカナミックスした名前前例無き故の対応とはいえ差別と指摘されておかしくない

漢字圏の名前でも日本登録できるのは日本常用漢字だけで旧字も簡体字も使えない

 

https://b.hatena.ne.jp/entry/s/twitter.com/Funi2222/status/1404415913797898247

 

2021-05-04

anond:20200504175822

ナウシカ世界では、馬と鳥が混ざったような漢字が生まれてそう

いやトルメキアは明らかに漢字圏じゃないんだが

2021-05-01

こちんが萎え同人小説

 TwitterPixivなどで腐向け一次・二次創作小説を日々拝読しているのですが、もちろん大人なのでエロ描写を含むものを好んで嗜んでいるわけで……。そんな中たまにこち(心のちんちんの意)が途中で萎えしまうような、普通言葉で言えば興奮が一気に醒めるような作品出会うこともあるわけです。

 このここちん中折れ状態に至るには自分場合シチュエーション萌えない」「お互いへの想いの描写が足りない」などといった本質的理由よりも「日本語おかし」みたいな些細な理由が多く、今後の自分への戒めも兼ねてここに列挙しておこうと思います小説書かないけど。

地の文での「ら抜き言葉

「数時間待ってようやく目的メニューが食べれた」

「彼から聞いた絶景をやっと見れた」

「考えれる原因は3つ」

 もはや説明は要らないと思う「ら抜き言葉・・・普段喋っている時には全然OKだと思うけど、いざ小説内の地の文で使われると即萎えしまう…。キャラクターの口調などによってはら抜きの方が合うなぁというケースも多く、会話文やセリフではそんなに気にならないけど、地の文で使われると違和感が凄まじい。”ら抜き”を使わなくて済むような違う言い回しにしてくれないかなと思ってしまう。ただし「”ら抜き”が標準である方言使用する地域」というものが多数存在するらしく・・・うーん。

れ足し言葉

「まだ試合には出せれないな」

「今までの感謝気持ち言葉に表せれない」

「指一本すら動かせれなかった」

 「れ足し言葉」という呼び方は私が勝手に言ってるだけなのであまり気にしないで。具体的には不必要が挟まってくる感じです。上記の例だと正解は出せない、表せない、動かせない。結構いるんだこれが。

③ そうゆう

「そうゆう言い方は卑怯だ」

10年以上前からそうゆう異常事態が起こり続けている」

 大昔から言われてるのにまだユーザーがあまりにも多い。ご存じの通り「そういった」「そのような」みたいな意味の「そういう」の砕けた言い方なんだけど、この「そうう」を使うだけで受けちゃんだか攻めちゃんだかのIQが50ぐらい下がって見えてしまう…。実際に会話してる時はいいけど、文章上で「そうゆう」はほんとないわ…。

固有名詞(特に人名地名)の間違い

 一度の間違いなら「タイプミスよね」と温かい目で見ることができるけど、延々同じ間違いを繰り返していると「地名人名すらちゃんと覚えてないなんて作品愛が足りなくない?!」と萎えしまうやつ。舞台日本漢字圏だとあまり発生しないタイプだけど、カタカナ固有名詞ベース作品では結構割合で発生しているように思う。

 多いのが「グ」がつく名称を「ク」、「ド」がつく名称を「ト」で間違っているやつ。ハグリット、グットマン、ガラハット、ゲイボルク、ゴットストライク、ジャレット、ブラックドックモードレットなど。

 他にも「ヴ」を「ブ」と書いていたり、半濁点と濁点を間違えていたり(バイコーンパイコーン、など)、固有名詞の中で文字の順番を間違えていたり(ガタノソアをガタソノア、など)。お名前ちゃん確認しようぜ!

⑤ 「ず」と「づ」

「背後から足音が近ずいてきた」

「今まで気ずかれないように必死で隠してきた」

経験を一つづつ積み重ねて来た」

 「近づく」「気づく」「一つずつ」が正解(※一つづつ、については歴史的仮名遣いとしては正解らしいけども)。なんとなく、カクッと膝の力が抜けるような気持ちになりませんか。

⑥ なぜか英単語を乱用

「彼のbikeの心地よいsoundが忘れられなかった」

学校に戻ったがgroundには誰の姿もない」

 こういうタイプむちゃくちゃレアケースで、今まで2回ぐらいしか遭遇したことがないのですが、恐ろしいことに実在しま。すぐ読むのやめたよね。なんかこっちが恥ずかしくなっちゃって。

否定の「ず」「ない」の使い方

「結局それを手に入れることはできなく、後悔が残った。」

「反対する者は不思議といず、あっさりと決定された。」

 「〜できなく」からは幼稚な印象を受けてしまう。かと言って後者のようにむやみに「ず」に置き換えるのも珍妙な印象を生んでしま場合があって、ケースバイケースで考えないといけないから難しいなぁ。「いず」は「おらず」に置き換えるのがベターだと思います


また何か見つけたらまとめます

2021-04-30

漢字圏じゃない外国の人から見たら漢字文字ってどういう風に見えるんだろう?

本当に何回で意味不明に見えるんだろうか?

僕らがもう漢字見ても意味が分かっちゃうから変な感じにはならないじゃない。

外国の人が見たら、

漢字ってどういう印象なんだろう?

2021-01-19

タンパク質って単語いる?

プロテインでいいだろ。

タンパク外来語(蛋白当て字)

質←日本語

っていう複合語なのかと思いきや

Protein(独)≒ Eiweiß(独)=卵白(日)

卵(日)=蛋(中)

Protein(英,独)=タンパク質(日)

という複雑すぎる語源

「蛋」の字は日常的に見ない字だし

「白」も別にタンパク質に白いイメージはない

蛋白という漢字の並びからタンパク質は連想できない。

蛋白卵白なら「卵白質」でいいじゃん。卵白タンパク質でできてるしわかりやすいしーーと思うじゃん?なんと昭和初期に蛋白質じゃなくて卵白質にしようと言い出した栄養学者がいたけど定着しなかったらしい。

で、結局「蛋白」って何なのか分かりにくいから今は、たんぱく質/タンパク表記らしい。

でもさぁ、ということはさぁ

たんぱく←特に意味のない四文字の羅列

しかないわけじゃん

いやわかりにくいわ。日本語という漢字圏の長所をかなぐり捨ててんじゃん。漢字から連想できる意味もなし。音から連想できる意味もなし。最悪だ。

明治日本人一生懸命英語やらドイツ語やらの単語にあたる新しい日本語を作ったことの素晴らしさはわかる。「福祉」「哲学」「失恋」は素晴らしい日本語だ。ウェルフェアとかフィロソフィーとかハートブレイクじゃパッと見て意味が通らないか言葉として定着しなかったろう。和製漢語のおかげで日本人が新しい概念に早く馴染むことができた。

だが、明治人間が頑張ってしまったばっかりに、日本人英語により疎くなったという側面はある。その最たる例がやはり、「タンパク質」だろう。

タンパク質=protein」感の無さは異常。これじゃあ、『タンパク質とは肉や魚、大豆や卵を構成しているアミノ酸ポリペプチドなんだな。』と覚えた後、更に『protein(名)タンパク質』と覚えなきゃならない。無駄だ。無駄すぎる。プロテイン飲んでる中学生の3割はプロテインタンパク質と認識していないんじゃないか。だれもプロテインタンパク質だとは知らなきゃわからない。

対して「プロテイン=protein」はわかりやすい。英語の授業でproteinを習わなくてもproteinがプロテインだとわかる。

プロテインプロテインでいいじゃないか翻訳してなくていい単語もあった。タンパク質という単語は要らなかった。

2020-11-14

anond:20201113162458

漢字圏で育ったおかげで、中国語勉強が楽なんだぞ。

母語英語だったら、中国語憶えるのにどんだけの努力必要になるかね。

韓国なんて漢字捨ててハングル統一してしまったせいで、若者漢字読めなくて苦労してるっつーじゃん。

そのうち日本人は、「中国語を読み書きできる非中国人である事が最大の武器になるかもしれんぞ。

2020-05-29

anond:20200529105003

中国だと日本人名は中国語読みされるから漢字圏では仕方ないね

我孫子さんが、向こうに行くとビックリされるって話をよく聞くしな。

2020-04-16

anond:20200416183420

来年の今頃、世界中San-mitsu!って言ってる絵が浮かんだ。

漢字圏はそのまま三密な。

2020-04-13

桜の花散らしの増田雨仇朱眞の白土那覇落差(回文

おはようございます

4月の半ばというのに雨降ったりするとなんだか肌寒いわね。

桜散らしの雨とかなんて言うけど、

なんだか花見って感じでもないし、

私は近所の神社の桜を愛でたぐらいで

そこでスタンレーのデカ水筒ルービーを入れて1人お花見と意気込んでパパッとグビッと決めて帰ってきたところよ。

なにせ寒いからあんまり長居が出来なかったからこんなもんよ。

暖が欲しいわ暖が。

春のお花見BBQなら楽しいのにね。

というか、

やっぱりまだビアガーデンよろしく

そんなシーズンより先駆けて外で飲むビールはまだ寒いわ。

それよりもコロナコロナコロナ疲れな人も出てきそうよね。

幸い私はリモートワークでも事務所に行こうが1人なので

どこでもリモートっちゃリモートなんだけど、

フロアのところは人はいるので

ここは通常通りの勤務態勢なのかしら?とも思うけど、

そう言えば新学期始まったはずなのに学生さん達がいないのは

きっと5月ぐらいまで休校なのが関係してるのかも知れないってことに今気付いたわ。

でね、

髪をちょっとだけ切りに行ったいつもの美容院

コロナコロナで客足が遠のいてるのかどうかはまだ微妙だと言うことで、

そのお店はそう言ってたわ。

なんだか新人さんも入ってきたようで、

パイセン店員になになにしてーっていろいろ言われてたわよ。

私の所にも来て新人なんでどうぞよろしくって言ってたけど、

新人という免罪符をそうやって掲げてこられても、

なんかこっちが気を遣っちゃうわ。

なんでこっちが新人さんに気を遣わなくちゃいけないのよ?とまでは思わないけど

とりあえず頑張ってね!とは言ってみたわ。

美容院業界も厳しい中、

長く続くといいわね。

その新人さん見てるとなんか余裕がないというのか一生懸命なのか、

作業が流れ作業で、

はいおしぼりしました!

はい飲み物しました!

ってとりあえずこっちがおしぼり使おうが飲み物飲もうが

間髪入れずに接客マニュアルの手順がドンドンくるので、

こっちとしてはおしぼり使う時間が欲しいし、

飲み物一口でも飲みたい時間も欲しいところよ。

威勢の良い美容院みたいで、

ほんと笑っちゃうけど、

ちょ、ちょ待てよってキムタクばりに言いたかったけど、

ちょっとおしぼりで拭かせてくれない?

ちょっと飲み物飲ませてくれない?って

ちょっと待つどころじゃないところがよかったです。

それ作業なっちゃってるじゃん、って

こっちの小言が増えて申し訳ないんだけど

久しぶりに4月美容院に行って面白い体験だったわ。

話変わるけどさ、

日本語学習者にとって、

いま別のフロアにいる子がいるんだけど

「びよういん」と「びょういん」の区別がとても難しいらしく

これもまた学びの春ならではと言ったところで

ヨーロッパ圏の人間ひらがなカタカナはともかく、

もう漢字学習となると、

無理!と手を上げる前からお手上げって感じで、

さすがに漢字を覚えるのはいかんせん超難しいだって

だってびゃんびゃん麺のびゃんが書けたところで、

なんの特にもならないし、

ほんとうに漢字圏じゃない国の人が漢字を学ぶことは鬼難しってことを聞いて

春だなぁーって。

私も春だから何か習いごとでもしたい気がするのは気のせいなこともないかも知れないわね。

うふふ。


今日朝ご飯

というか慌ただしかったので食べてなかったわ。

身体がいやに冷えるから

寒気がしてなんでだろうと考えたら朝ご飯食べてなかったんだわ!って

やっぱり朝のご飯の朝食は

身体スタートさせるためにも温めるためにも重要だっつーことよ。

身に染みて分かったこ4月だわ。

デトックスウォーター

ホッツ白湯飲んだところで確かにちょっとは暖かくなるんだけど、

一瞬をもってしてその場しのぎのホッツ白湯ウォーラーなので、

忙しいからって素白湯とはほんとうに手抜きしちゃったわ!

てへ。


すいすいすいようび~

今日も頑張りましょう!

2019-08-29

anond:20190829190350

ありがとう、そうね、読み直したらウィキペディアにも意外と書いてたわ。

当時の侮蔑のもの問題であって、そのとき使用される国の呼称如何は直接関係ない気がしてて気持ち悪いんだけど、言葉忌避ってそんなもんかね。

国名は、英語等のチャイナ現在OKで、日本支那NGってのも気になるけど、同じ漢字圏から中国語表現に合わせろってことかね。

みたいな中国人感覚の実際のところみたいなのが腑に落ちにくくて、興味がある。

2019-07-19

anond:20190719082630

加油ぐらいは中国語でもこの場合煽りとして成立するやろ。漢字圏人間なんだぞ。

祝福が中国人にとっても煽りになるのかは知らんが。

2019-06-20

人生で一度は行ってみたい場所

と聞かれたら、いつも喜望峰ニューカレドニアのどっちかを答えてる。

喜望峰はまず名前が良い。

英語名を調べるとCape of Good Hopeらしい。これが、喜望峰センスがいい。ケープオブグッドホープの100倍くらい良い。

さらに調べると、今、学校教科書では、海外地名はその地域での呼び方にのっとってカタカナ表記をするのが通常らしい(漢字圏は除く)のに、喜望峰特別らしい。

かっこいいな~。行きたい。

2019-06-15

anond:20190615172247

Wikipedia: 字(あざな、拼音: zì)とは、中国など東アジア漢字圏諸国で使われる人名の一要素である。 昔、中国で成人男子実名以外につけた名。日本でも学者文人がこれをまねて用いた。

2018-11-15

anond:20181115090717

韓国では「방탄소년단」(バンタンソニョンダン)。

漢字圏では「防弾少年団」。

英語圏では「BTS」(BangTan Sonyeondan)。

2016-12-27

真珠湾喜望峰北島南島



日本支配している/いたところや漢字圏地名以外で、漢字地名って他にもある?

2016-06-17

1.0から学ぶJava

タイトルを見て釣られクマーな皆さんこんにちは

ホッテントリメーカーで作るような煽りタイトルって、みなさんもう見飽きてると思うんですよね。

今調べたらホッテントリメーカー2008年だそうで。どうりでねー。古臭いなーと思いましたよー。

「一から学ぶJava」ってのをね、1.0にするだけでこんなに素敵なタイトルになるんだから面白いですねー。

タイトルを思いついただけだったんですけど、思いついたらやっぱりちゃんと中身も書かないと行けないじゃないですか。やだー

面倒くさいんですけどね。ちょっと1.0から学んでみましょうか。

Java 1.0 1996年1月23日

Javaの1.0がリリースされたのは1996年1月23日ですね。発表されたのが1995年5月23日でJavaの誕生日といった場合にどちらを取るかで揉めることがあります。

かれこれ20年前なわけで、当時のパソコンというとハードウェアはCPU が Pentium 133MHz メモリ16M とかそんな感じだったかなあ。今どきの携帯電話の例としてiPhone 6sを挙げるとCPUが1.85GHz メモリ 2G ってんだから凄いですね。OSは1995年11月23日リリースされたWindows95とかそんな時代背景です。インターネットがようやく一般に普及し始めたところでしょうか。

今から思うと相当弱いハードウェアですけども、そろそろVM方式を採用しても良さそうな、そんな時代でした。インタープリタだと流石に遅い、でもC言語のようなコンパイル言語だと"Write once, run anywhere"とはいかない、という判断もあったのだろうと思います。Javaが純粋なオブジェクト指向言語ではなくintなどのプリミティブ型を持つというのは、当時のマシンスペックを考えた場合、ある程度妥当な判断だったと言えるでしょう。これが後々苦しくなってくるわけなのですが。

Javaを作った会社はSun Microsystems(サン・マイクロシステムズ)というアメリカの会社で、2010年1月27日オラクルにより吸収合併され今はありません。SolarisというOSとSPARCプロセッサでUNIXサーバーの販売で90年代後半までは一人勝ちのような状況だったと聞きます。当時にすでに「ネットワークこそがコンピュータ」(The Network is the Computer)というモットーを掲げてたんだからおかしい。1996年リリースのJavaが標準でネットワーク機能を備えていたのもこのあたりの思想から来ているのかもしれませんね。

当時のプログラミング言語としてC++が挙げられますが、C++でのプログラマへの負担といいますか、ヒューマンエラーの起きやすさといいますか、その辺を改善する目的で開発されたのがJavaだったわけです。

1996年の時点にこんな言語が登場したのですから革新的でした。

いろんな企業がJavaに賛同します。その中にはMicrosoftもありました。この時期、Microsoftは次期のWindows開発用のプラットフォームにJavaを据えようと考えていました。その後、袂を分かつことになるのですが……。

プログラム言語として構文などを見ると、C++を強く意識した構文なのは間違いなく、しかしポインタ演算を廃してポインタを機能を限定した「参照」に置き換えるなど簡素化が多く見られます。C++からはいろんな機能が削られています。関数ポインタ、構造体、演算子オーバーロードテンプレート((テンプレートについては実装が間に合わなかったという話を聞きます))などなど。そのためC++の劣化であるように揶揄する人もいますが、こうしたものを捨てて言語仕様を比較的小さくシンプルに抑えた点は評価に値すると思います。しかし、今でもこうした削減された機能を愛する人からはJavaを腐す要素として挙げられてしまうのでした。

Java 1.1 1997年2月19日

Wikipediaからピックアップすると1.1での大きな機能追加は

といったところです。当初よりJavaの内部文字コードUnicodeで文字を表すchar型は16bitで設計されていました。Unicodeは当時それほど普及しておらず、Unicode対応のテキストエディタさえ少なかったと記憶しています。時代を先取りしていると言えますが、大きな誤算はUnicodeが当初16bitのコードポイントに世界のあらゆる文字を格納しようとしていたことで、漢字圏の我々からすると16bit=65,536程度の空間に文字が全部入るわけないだろ!というものだったが故に早々に破綻し、Unicodeは21bitのコードポイントに拡張されることになるのです。これはまた後の話。

なんにせよ、日本語が対応されたのは1.1からで、日本でのJavaの採用が始まったのはこの頃からと言えましょう。

当時のJavaのGUIはAWTというものでしたが、これを用いたGUIの開発は当時は結構行われていたイメージですね。Visual BASIC でGUIを作るプロダクトも結構あったと思います。GUIのためのオブジェクト指向言語としてJavaが使われていたイメージがありますね。JavaBeansもそのための仕様でした。件のsetter/getterの話題に繋がっていくのですが。

JDBCはJavaとデータベースをつなぐインターフェースです。RMIではあるJava VMから別のJava VMにオブジェクトを送って実行する、といったことができます。こうした機能が用意されたことで、ソフトウェアフロントとしてのGUI、裏方の実装のためのネットワーク機能、データベース機能、さらにはソフトウェアを配布するためのJava Appletという布陣でJavaでのソフトウェア開発が加速していた時代といえます。

Microsoft Visual J++ もこの時代ですよ。

Java 1.1以降のバージョンのものは互換性確認のためにOracle Java Archiveからダウンロードすることができ、今でも入手することができます。もちろん、Java7ですら2015年4月にEOL(End of Life,サポート終了)となっているので、通常利用するのはJava8としてください(本稿執筆時点)。

当時のドキュメントを見るのも一興です。現在と比べると標準APIがかなり小さい。なお、当時のjavadocは今とはデザインが大きく異なります。

  • java.applet
  • java.awt
  • java.awt.datatransfer
  • java.awt.event
  • java.awt.image
  • java.beans
  • java.io
  • java.lang
  • java.lang.reflect
  • java.math
  • java.net
  • java.rmi
  • java.rmi.dgc
  • java.rmi.registry
  • java.rmi.server
  • java.security
  • java.security.acl
  • java.security.interfaces
  • java.sql
  • java.text
  • java.util
  • java.util.zip

この時代であれば、全パッケージを舐めて標準APIを学ぶこともそう難しくはありませんでした。この時代から触っている人間は新バージョンが出るたびに増えるAPIを順に学んでいけたのです。しかし、現代にJavaを学ぶ場合、どのバージョンでは何があって……というのをいちいち学ぶ必要はほぼありません。Java5以前は一緒くたでいいと思いますし、一部のAPIで歴史的経緯があってねーというのを知っていればおそらく十分ではないでしょうか。

Java 1.2 1998年12月8日

strictfpキーワード浮動小数点演算をやる人は覚えておきましょう。JavaはパフォーマンスのためにCPUの浮動小数点演算を扱うことが許されており、そのため実行するCPUによって精度が異なることがあるんですね。まあ今時のCPUだと大丈夫だとは思うんですが。

リフレクション機能ではJavaのクラスを抽象的に扱うことができます。設定ファイルに書かれたクラス名のclassロードして実行する……みたいなことができるんですね。フレームワーク的なものを作る場合には多用することになります。

1.2からは新しいGUIのSwingが採用されました。AWTがOSごとのGUIパーツを用いていたためデザインに違いがあったのに対し、Swingでは統一的なルック・アンド・フィールが用いられるようになりました。まぁ今ならJavaFXを使うのが良いと思います。

初期のJavaはやはりVM方式の実行速度の遅さが指摘されていました。実行時の構文解析を伴わないだけインタープリタよりは早いものの、実行バイナリを作るC/C++よりは遅い、そうした評価です。ここではサン・マイクロシステムズのVMにJIT(ジャストインタイムコンパイラ)が乗ったことが挙げられていますが、JIT自体は別の会社が先駆けて開発していたことは記しておきたいと思います。

JITコンパイラは実行時にJavaのバイトコードを環境のネイティブコードコンパイルして動かす技術です。この後、JITコンパイラ、動的再コンパイル技術、世代別ガベージコレクションを備えたHotspotといった様にJavaVMは進化していきます。現代では実行時の最適化が進み、大きなスケールで見た場合、Javaの実行速度はC/C++での実装と比べてそれほど遅れるものではありません。遅くても倍の時間は掛からない程度といったところでしょうか。

あとは特記すべきはコレクションフレームワークです。皆が多用しているであろうjava.util.Listやjava.util.Mapといったライブラリが整備されたのがこの時なのです。それ以前はjava.util.Vectorやjava.util.Hachtableというクラスが可変長配列の機能を一手に担っていました。今ではVectorやHashtableは使うべきではありません。

Microsoft 離反

Java の開発はSun Microsystems が主導していたけども、すべてがSunのものだったというわけでもなく。Javaには多くの会社が出資していてその中のひとつMicrosoftだったわけですね。

Microsoft の Visual J++ では delegate とか独自機能拡張もありましたけど、裁判で問題になったのは J++ でコンパイルしたclassファイルMicrosoftのVMでしか動かないという部分ですね(他社製のVMで動くclassファイルを作ることもできる)。classファイルがどこのVMでも動くの大事だろ、"Write once, run anywhere"だろ、お前何してくれてんの!と喧嘩になったわけです。当時のMicrosoftブラウザまわりでも独自拡張がやりたい放題、標準規格?なにそれ美味しいの?みたいなスタンスをあちこちで見せていたものです。

結局、この事件でMicrosoftのJavaはバージョン1.1相当でストップ。好き勝手にやれないなら独自に言語作るわーとばかりに.NET フレームワークと C# といった方向に舵を取ります。

JavaがPC上でのUI開発の主力になろうとした勢いはここで潰えます。

Java EE

Java SE とは別にこの時代に Java EEリリースされていることは特記しておきたいですね。これ以後、それまでのCGIに取って代わって、JavaはWebサービスの開発のプラットフォームとして多用されるようになります。

2000年あたりからはJavaはGUI開発というよりは、Webサービスの開発が主流という流れになっていきます。インターネットサービスが非常に発達していった時代、背後ではとてつもない量のJavaのプログラムが支えていたわけです。ただまあ、こうした産業利用は一般的ユーザーの目にはあまり入らないわけです。一般人からすればJavaといえばJava Appletみたいなイメージはずっと残っていたでしょうが、実体としてはJavaといえばServletという時代になっていたわけです。

企業で用いられる社内システムにもServletは多く採用されました。

理由はいろいろ挙げれると思うのですが

というのが大きな理由だろうと思います。JSPというテンプレートエンジンを用いてHTMLを整形してWebページを作り出す、というアーキテクチャある意味では便利で簡単でした。

もっともHTMLの表現力に足を引きずられるため、GUIの機能性という点では後退したわけなのですが。それでもメリットが大きいと判断されたのでしょう。というか、まともにGUIを組めるプログラマがほとんどいないから、GUIのシステム開発がなかなか成功しないってのもあったんでしょうけどね。

iアプリ Javaアプリ EZアプリ

2000年あたりというと携帯電話の普及も取り上げなければなりません。現代のスマホガラケーに比べれば非常に機能は貧弱で、まさに携帯「電話」でした。要するに電話とメールぐらいしかできなかったんですね。

そこにdocomoiアプリJフォン(ボーダフォンを経て現ソフトバンク)のJavaアプリ、auのEZアプリという携帯電話上でちょっとしたアプリが動くよ!というのが乗るようになってきたんです。これがJavaを組込み用途にコンパクトにしたJava MEというものが土台となっていて(正確にはiアプリちょっと違う)Servletと並ぶJava言語の大きなもうひとつの領域となっていました。

iアプリは当初は容量が10k byteまでといった制約があり、容量制限が非常に厳しかったのですが、新機種が出るたびに容量は緩和されていきました。

docomoiアプリ含めiモードによって一世を風靡します。こうした土台を作ると、その上で商売をしたい人がたくさんやってきて、勝手にコンテンツを作ってくれる。docomoはそれらから手数料を取るので労せずして大金を稼げるというわけです。賭場の胴元というわけです。

この賭場が、将来にAppleiPhone, GoogleAndroidに荒らされることになります。docomoがなかなかiPhoneを出さなかったのもiモードという自前の賭場を失うことを良しとしなかったためです。金づるを失ったdocomoSamsungと組んで独自の携帯向けOSであるTizenの開発に乗り出します。そんなTizenですが鳴かず飛ばず。噂ではインドあたりではリリースされたとか、なんとか。

RIA時代

話を2001年に戻しましょう。

Microsoft離反でGUIのプラットフォームとしてのJavaというものは存在感を弱めていました。この分野の復権に寄与したのはJava 1.4 (2002年2月6日)で導入されたJava Web Startです。

Java Appletブラウザ埋め込みで動作したのに対し、Java Web Startではブラウザから起動しつつも独立したアプリとして起動するのです。

Webシステムが企業の社内システムに採用された話は先に述べたとおりですが、やはりWebシステムのGUIというのはHTMLに引きずられて貧弱だったんですね。

端的に言えば入力値が数字かどうか?みたいなチェックがなかなか難しい。HTML上でJavaScriptでやるわけなんですが、なかなか気持よく入力できるような感じにはならなかったんですね。

また、Ajaxによるブラウザのページ遷移を伴わない通信というのが出てきたのも2005年ぐらいなので、入力値に対してサーバ問い合わせするようなことはできなかった。当時だと一旦画面遷移させないとできなかったわけです。

こうした事情から、クライアントサイド、要するにPC側でもっとリッチなUIが使いたい!という要望があったわけです。Webシステム使いにくい!という不満の噴出と言ってもいい。そこで出てきたのがRIA (Rich Internet Applications)というわけです。

Javaは1.0時代のAppletからそうですが、ネットワークを介して別のPCにプログラムを送り込み、そこで動作させるという能力を持っていました。それこそまさにRIAに求められる機能性だったわけですね。

RIAの代表とされるのは

あたりです。三つ巴の戦い、どこに軍配が上がるのか!?と注目されましたが、勝利したのはHTML / JavaScriptでした。

Google MAP で注目を浴びたAjax技術、それまでブラウザでは不可能と思われていた高級なGUIをHTML / JavaScriptで実現させました。もうやめて欲しいですよね。せっかく脱ブラウザの流れが来たと思ったのにまたWebシステムに逆戻りですよ。

RIAが失速した理由として考慮して置かなければいけないのはスマートフォンの台頭です。RIAでは端末を選ばずどこでも同じアプリが動かせる点がポイントひとつでしたが、スマートフォンではそうは行かない。"Write once, run anywhere"を破壊したのはスマートフォンだったというわけです。

しかし、先日インストールなしでアプリを実行するAndroid Instant Appsが発表されたりしまして、結局RIAの思想といいますか、要求というのは今でも息づいているのだなと思った次第です。

Java 5 (2004年9月30日)

1.3 / 1.4 では機能追加はあっても言語構文が大きく変わることはありませんでした。大きく変わったのはJava 5です。この時からバージョニングが変わって1.5ではなく5と表記されるようになりました。

Java5の特徴はなんといってもジェネリクス。それまでjava.util.Listにデータを出し入れするのにはキャストが必須だったわけですが、ようやくキャストから開放され型の安全度がぐっと高まりました。その他に以下のような変更があります。

言語としては随分変わっったわけですが、もうかれこれ10年以上前のことですからこれらの機能が「Java5から導入された」という知識は今となってはあまり必要とされません。これらの機能が使えないJava 1.4で開発をする事案が殆ど無いからです。0ではないのが悲しいところではありますが。

その後

Java 6 (2006年12月11日)がリリースされた後、Java 7 (2011年7月28日) が出るまでJavaは停滞してしまいます。その間にSun Microsystemsという会社がなくなってしまったためです。

Sun Microsystems の経営状況が悪化しており、ついに身売りをすることになりました。身売り先はIBMともGoogleとも噂されましたが結局2010年1月27日オラクル吸収合併されました。

Javaの停滞中にはJava VM上で動く非Java言語も台頭してきました。Scalaなどですね。

やや戻って2007年Androidが発表されます。Androidの開発言語にはJavaが採用されていますが、実行環境はJava VMではなく、ライセンス的な事情でJava(TM)は名乗らない微妙な位置関係にあります。

Java 5 以降で大きく言語仕様に手が入るのは Java 8 (2014年3月18日)です。並列処理を行うためのStream APIと、そのために簡易に関数を定義するためのラムダ式が導入された点が大きいですね。日付APIも刷新されました。

このように、Javaは1.1の黄金時代から今に至るまで利用ジャンルを転戦しながら産業の土台となって支えてきた歴史があります。ジャンルの趨勢により浮き沈みもあります。今後についても決して楽観視はできないでしょう。Javaを学ぶことはプログラミングを学ぶステップとしては意義はあると思いますが、Javaを学べばゴールというわけではありません。プログラム言語次世代へと移りつつあります。業界動向には注視していきましょう。

ログイン ユーザー登録
ようこそ ゲスト さん