はてなキーワード: javaとは
W21CAIIからの乗り換え
とりあえず融通が利かないかんじ
CAIIの「定形(240x400前後,480x640,1600x1200とか)の画像じゃないと表示できない」「キーライトを消せない」「Javaアプリを使えない」というのに比べればだいぶマシかも試練が
[参考文献]
S2 は、.dicon ファイルで定義をだいぶ簡略化できる。パフォーマンスはどうなんだろう。誰かテストしてくれいw
app.dicon
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN" "http://www.seasar.org/dtd/components24.dtd">
<components namespace="client">
<include path="hello.dicon" />
<component class="org.seasar.guice.Client" />
</components>
hello.dicon
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN"
"http://www.seasar.org/dtd/components24.dtd">
<components initializeOnCreate="false">
<component class="org.seasar.guice.HelloServiceImpl" />
</components>
HelloService.java、HelloServiceImpl.java は、上記 ITPro と内容が同じなので省略。
import org.seasar.framework.container.S2Container;
import org.seasar.framework.container.SingletonS2Container;
import org.seasar.framework.container.factory.S2ContainerFactory;
import com.google.inject.AbstractModule;
import com.google.inject.name.Names;
public class Module extends AbstractModule {
S2Container container = null;
public Module(S2Container container){
this.container = container;
}
@Override
protected void configure() {
bind(S2ContainerFactory.class).annotatedWith(Names.named(container.getPath()));
bind(Client.class).toInstance(SingletonS2Container.getComponent(Client.class));
}
}
private HelloService helloService = null;
public void setHelloService(HelloService helloService) {
this.helloService = helloService;
}
public void execute() {
helloService.sayHello();
}
}
Main.java
import org.seasar.framework.container.S2Container;
import org.seasar.framework.container.factory.SingletonS2ContainerFactory;
import com.google.inject.Guice;
import com.google.inject.Injector;
public class Main {
private static final String PATH = ".\\app.dicon";
public static void main(String[] args) {
SingletonS2ContainerFactory.setConfigPath(PATH);
SingletonS2ContainerFactory.init();
S2Container container = SingletonS2ContainerFactory.getContainer();
Module module = new Module(container);
Injector injector = Guice.createInjector(module);
Client client = injector.getInstance(Client.class);
client.execute();
}
}
実行結果
java -cp ?? org.seasar.guice.Main
2008/05/13 21:19:22 org.seasar.framework.log.Logger info
情報: Running on [ENV]product, [DEPLOY MODE]Normal Mode
Hello, world!
いま、ふとバックアップの「com」って名前のフォルダを見て、javaでwebアプリケーションとか開発してた頃を思い出し胸がキュンってなった。
あの頃comフォルダを開いて一日の業務が始まり、comフォルダを閉じて帰宅の路についた。
comフォルダをみんなで毎日つつき、開発し、comフォルダを納品して報酬をもらっていた。
あの頃はcomフォルダが全てで、comフォルダに一喜一憂し、Eclipsさえあれば一生食うにこまらないやと思っていたな。
誰も読まないUML図。ダンボール一箱分の仕様書。バグ報告すると仕様としてマニュアルに記載される、メーカー様謹製フレームワーク。
あそこにはもう戻ることはないけれど、面白かったな。
みんな元気ですか?SEは欝になってませんか?チームリーダーは残業200時間こえてませんか?プロジェクトマネージャは35越えて独身じゃないですか?
最下層のPGはネトゲ嵌って廃人同然で、デスク周りはフィギュアばっかじゃないですか?
また、どっかで飲みましょう。それまで、、生きろ!
本筋にはレスしないの?もう打ち切るよ。
まず、ここ自体が脱線なのだが、
明治維新と民主主義の関係なんて誰が言った?(五箇条のご誓文の第一条見ればわかるけど、イデオロギー的には取り入れられてるんだけどね、まあいいや)そういう話じゃない。あなたの言い方なら「かこつけて」というところを問題にしてるだけ。権威に対抗するのに別の権威を持ち出すのは実に普通だという話をしてるの。
で、市民革命とギリシャ思想の必然的な関係とやらを見せてほしいのだが。俺が思うに、過去の伝統の影響を過剰に持ち上げるのは当時暗中模索でことを進めていった人たちに失礼だと思うんだけどね。
で、以下は完全に蛇足。
だから、あなたの言っている「普通の現場」が別に「普通」じゃないと言ってるわけですが。あなたの挙げた例で言うと「携帯ゲーム機のプログラマーみたいな仕事」を「普通」の範疇に入れないのはなぜ?
あと、C++やJavaはちゃんとやろうとするとむしろアセンブラよかずっと難しい(というか「ややこしい」)ので、そう舐めてかかるのはいかがか。
業務用アプリ作ろうってのならともかく(まあ、オブジェクト指向を使う目的は普通はそっちだが)、そうじゃない人間にとってはややこしいライブラリの癖をあれこれ覚える必要はないわけで。
「情報工学」全般の話をしているのに企業社会だけを想定する必要などなかろう。大雑把な言い方をすれば、大規模情報システムだけがITの全てではないということだ。
そりゃ携帯ゲーム機のプログラマーみたいな仕事もあるから、そういうのでアセンブラもどきのCソースが出てきてもおかしいとは言わないけど、一般の感覚としてはちょっと外れてると俺は思う。
だいたい、Cやアセンブラが使える人間がJavaやらC++を覚えて標準的な書法で書くことは、好き嫌いはともかく本質的には難しいことではないわけで。道具の使い方を覚えるということに対して「必要があればやるけれど、必要がなければやらない」というのは非常に当たり前の立場だと思うがね。
あと、C++やJavaはちゃんとやろうとするとむしろアセンブラよかずっと難しい(というか「ややこしい」)ので、そう舐めてかかるのはいかがか。
どっちでもいいよ。だいいち、数値解析の専門家がC++で書いたコードと普通の数値実験屋がCで書いたコードの性能の比較なんて問題は非常に枝葉末節じゃないか?そもそも、「普通の数値実験屋」がどういう奴かという範囲の取り方でいくらでも恣意的な結論が出てくる話だから、議論して実になるとも思えない。
やー、C++をいまだに重い重い言う人が多いからなあ。確かに枝葉末節なんだが、スルーしきれない。
そりゃ数値計算ではFORTRANに負ける部分が確かにまだあるが、Cと比べてなら、そこまで酷いってことはないはずなんだがね。
CでSTLよりも高速なコレクション処理を書ける人にはそういうことを言う権利があるいはあるのかもしれんが、俺はそれでもSTL使えって言うね。後々を考えて。
俺も論旨を混乱させた責任はあるが、そもそも話がずれすぎている。俺が言っているのは、「速いコードを書くことが理論的に可能かどうか」ではなく、「速いコードを書くために本人が持っているべき素養」の話をしているわけで。
うーん、個人的には、自力でアセンブラレベルからコレクション処理を書き起こすなんてばかげてると思うけどね。
やっと言いたいことがわかったのでまともに話ができるかもしれん。
俺はその反論1の質にしか興味がない、というか、その例1を引き出すための挑発として最初の質問を仕掛けてる、という側面があるんだよね。で、案の定真っ先に例1で応じてんだから世話がない。
だったら釣られた俺が馬鹿だったし、あんたも相手を間違えた。それだけのことだな。
あと、興味はないとはいえ一応指摘しておくと、その例1例2例3といくつも用意するやり方においては、例1と例2と例3が矛盾対立するようなものであってはならないはずだろう。でなければ、ためにする議論になってしまう。話者に一貫したスタンスというものがなくなってしまうからね。
言いたいことはわかる。ただし、俺のスタンスはいわばメタなもので、「この前提は絶対に正しいからまず認めろ」というのがまず嫌なんだよ。むしろ、「あんたが絶対と信奉している価値観は別に万人が無条件に認めるような絶対的なものではない。あんたと相対立する価値観にもそれなりの合理性があるはずだ、例1、例2、例3など。さて、どこを議論の出発点にしようか?」ということを誰に対してもまずやる。逆に言うと、俺が信奉している価値観を正しいと押し切る根拠なんてどこにもないと思っているから、価値判断の源泉については「見せろ」と言われなければ見せない。宗教論争になるのがいやだからね。
ちなみに、こんな話もある。細部は違ったかもしれん。
釈迦が人に「神はいるのか」と問われて、「いない」と答えた。ところが、次に人が来てまた同じことを問うたとき、「いる」と答えた。これを見ていた弟子が「どうして矛盾する答えをするのか」と問うと、釈迦は「あの二人が『神』という言葉のもとに思い描いていたものは違うではないか」と答えた。
別に自分を釈迦と並べているんじゃなくて、「神」の定義が違う人間が二人で言い争うのは嫌だということね。相手の土俵を推定して、相手の土俵でものを言わないといかんだろうと。
あんたに納得してもらいやすい話を選んだつもりが裏目に出たというだけだよ。正直、あんたのことを当初の言動から「学校の勉強なんか役に立たん、英語とコミュニケーション能力だけがあればよいのだ!」的な反知性主義者だと想定したもんでね。さすがにそれが釣りだとは想像できなかったが。
俺が言いたいのは、あなたのように公平性を重んじる価値観からは、英語を採用する理由は全く出てこないだろうということ。言語の性能(性能というより習得の容易さだな)はその中の例示の一つにすぎない。
廃止と言わぬまでも、量を減らせとは言っただろう?なし崩し的にゼロになってしまう論法だから反対したわけだ。正直、「上を下に合わせさせる」というのは暴力的だと思う。
「情報工学」全般の話をしているのに企業社会だけを想定する必要などなかろう。大雑把な言い方をすれば、大規模情報システムだけがITの全てではないということだ。
だいたい、Cやアセンブラが使える人間がJavaやらC++を覚えて標準的な書法で書くことは、好き嫌いはともかく本質的には難しいことではないわけで。道具の使い方を覚えるということに対して「必要があればやるけれど、必要がなければやらない」というのは非常に当たり前の立場だと思うがね。
で、どのC++のクラスライブラリが重いというのか、とか、C++とFORTRANについての議論については、君は全面撤退ってことでいいのかな? 具体的に質問に答えなくなっちゃったからなあ。
どっちでもいいよ。だいいち、数値解析の専門家がC++で書いたコードと普通の数値実験屋がCで書いたコードの性能の比較なんて問題は非常に枝葉末節じゃないか?そもそも、「普通の数値実験屋」がどういう奴かという範囲の取り方でいくらでも恣意的な結論が出てくる話だから、議論して実になるとも思えない。
そもそもそんなことを言えば、FizzBuzzすら書けない奴がCで書いたコードより速いコードをPerlなんかで書くことさえできてしまうかもしれないが、そんなの別に自慢にもならないし、(たとえば)数値計算でPerlを使っていい理由になんてならんだろ。俺も論旨を混乱させた責任はあるが、そもそも話がずれすぎている。俺が言っているのは、「速いコードを書くことが理論的に可能かどうか」ではなく、「速いコードを書くために本人が持っているべき素養」の話をしているわけで。
そしてそもそもこの話自体「素養」というものが必要か否かという点から分岐したものだから、その意味でもこの話は必要なかろう。
以下蛇足。
あと、ギリシャの民主主義については明確に誤解。ギリシャに伝統を引いてくるのは反王権主義者が持ち出した大義名分的なものであって、明治維新で倒幕派が天皇を担ぎ出したのと同じこと。
それ相当偏った歴史観じゃね? ためにする反論なのか、それとも本気なのか、どっち?
俺はむしろ君の方が相当偏ってると思うけどね。だって古代ギリシャの民主政が途絶えてから一体何年経ってたわけ?それに、市民革命の基盤になったのはむしろ封建議会の方なわけで(これもいちゃもんはつけられるけど)、これはむしろゲルマン文化のはずだよ。それをどうギリシャ文化の伝統と理解するのかかなり不思議。明治維新だって王政復古を唱えていたが、どう考えてもあの政体は西洋からの輸入品でしょ。同じことだよ。あんな政体が歴史上日本に存在したことはなかった。なんで戦前、あんなに後醍醐天皇があんなに高く評価されたと思う?
いや、貴族階級は言いすぎだろ。市民階級でいいと思うんだが、そこは。元々民主制って始まりはそういうもんだろ。惣とか寄合から近代民主主義を導けるというならやってみてくれよとしか。
ちょっと調べてみたが、貴族階級は余り適切でなかったようだ。そこは撤回。
導けるわけがないから聞いてるんだよ。ただし、始まりはそういうもんに決まっているが、それが本当に現代と連続性があるのか、と俺は聞いているわけなんだが。
そもそも、都市が自治を行うのはギリシャのポリスじゃなくても歴史的に普遍的な話なわけで(英語版Wikipediaを引いたら戦国時代の堺が挙げられていてびっくりした。さすがに思いつかなかった)、誤解してるかも知れないけど日本の江戸時代でさえ町役人って町人階級だからね。つまり、民主主義にとってはギリシャ思想が必要不可欠なものであるという根拠はますます疑わしいと思うんだ。だいたい、それを言い出したらアメリカはなんなの?あれこそ、草の根民主主義たる植民地自治政府の発展じゃない?
Javaでは、Arrays.sort(Object[] a, Comparator c) やCollections.sort(List list, Comparator c)
のCompatarorを自分で「・・・・ソート」に実装しろ、でいいはずなんです。
(aやlistの要素がcomparableを実装してないと使えませんが・・・。)
C++ではSTLを使えば出来るそうですが、こっちの方が簡潔に書けると思います。
そのC++の授業は、コード開発能力を高めるためというよりも、アルゴリズムの学習に主眼をおいてるのではないかな?
ソート方法を例にとると、そのアルゴリズムを学ぶことが重要なわけで、Javaだと1行で済んでしまい、意味が無い。
小手先だけの技術を学ぶのではなく、本質を学ぶ主旨だと思う。
そりゃ「影響」はしてるだろうがな。別にキリスト教の神である必然性などない。/いや、親鸞の書いたものは当然古語で書かれてるでしょ?
いや、自明とか間違いなくとか言われてもなあ。具体的に挙げてくれる? 君の議論の最大の弱点って多分具体性がないことだから。
グレコ・ローマン文化の話じゃなかったのかよ。近代以降ならそりゃ当然だろ。
いや君がニュートンを引き合いに出したんでしょうに。民主主義に関してはギリシャにまで遡って意義深い書籍を見つけることは出来るだろうなあ。
ほら、君は「??だとすれば」という仮定が読めないんだよね。
で、いつまで撤回した仮定を引きずるわけ?w
何かひとつ共通言語がないとITなんてやってられん、というのは厳然たる事実だろ。
一方で、文化資本による格差なんぞないほうがいいに決まってる。
東大卒は毎年数千人だ。それで、MIT卒は何人いるか知ってる?ハーバードは?プリンストンは?スタンフォードは?オックスフォードは?ケンブリッジは?
数千人か。なおさらたいしたことないな。で、MIT卒全員をエリートと呼んだ覚えはないが?(他の大学もね)。
まあそうね。勝手にどこかで学んできそうな気はする。
教育ってのは、特に公教育ってのは、底上げのためにやるもんであって。
誰も「普通の東大生数百人のレベルをギリギリにチューンする」なんて言ってないし、そもそも東大生の中で「教育制度がもっとよければ俺はもっと偉くなれた!」なんて言ってる奴は落ちこぼれだけだよ。だから「普通の東大生数百人のレベルをギリギリにチューンする」という発想自体がそもそも無意味。
いや、お前そういう話しかしてなかったじゃんw 俺が公教育は平均と底辺を上げるためのものだと主張したらやたら激しく反発してたよなあ?
主流と標準を辞書で引くことをお勧めする。そりゃ、主流が標準を塗り替えてしまうことは結構あるが、少なくとも数値計算の世界ではまだだろう。過去の蓄積ってのがあるんだ。
Cを使ってアセンブラまがいのコードを書き、新しい言語なんて覚える暇があったらもっと他のことをするとかなんとか言ってる人だって一定の比率で存在する。おわかり?
それは、特にアセンブラが必要でもないケースでか? ちょっと勘弁して欲しいなw まあ仕事としてうまくやれてるならそれでもいいけどさ、特殊ケースだろ?
まだ、例えば専用プロセッサなり組み込みデバイスなりを制御するためにアセンブラ使うってほうがはるかに一般的なケースだと思うがな。数値計算やパターン認識においてさえ。
どうも話が巧妙にずらされてる気がするんだが。
いや、君自身RubyとかPerlとかC++とかJavaとかに言及しちゃったからねえ。どっちが引っ掛けたかというのは不毛になりそうだからやめようや。なんなら俺がズルかったということにしてもいいが。
たとえばいきなりJavaを覚えさせられた人間がそれがわかるとは到底思えない。ライブラリのソースを読めるレベルになってはじめてわかることだろう、それは。
いや、Javaのライブラリのソースを読むレベルになったらたしかにかなり専門的だが、そもそもJavaで書いたコードで高速計算させようというほうが間違いなわけで。
C++に関して言うなら、アセンブラ的な最適化に手を出すのはだいたい最後の最後だろう。俺(や多分君)のような古い世代はアセンブラからの積み上げで高級言語を見るけど、高級言語の側から必要なレベルまで掘り下げていく、という見方も可能なはずだし、最適化の上ではむしろそちらが本筋。
で、君が重いクラスライブラリとして想定してるのはなんなの? ちゃんと最近のものを使ってれば、そんじょそこらの奴がCでちゃっちゃと書くコードと同じかたいていは速いコードを生成するし、もちろん可読性も高くなるな。
C++の話も同様。敢えて「C++らしい」処理を書けば計算量はどんどん増えて、例えば行列をカプセル化して演算子をオーバーロードしてなんてことやってたら計算時間が倍ぐらいになってもおかしくはないだろう。一晩で終わる計算が翌日の昼までかかるということになったら作業効率には歴然たる差が出るぞ。
具体的にどこの出してるC++用行列演算ライブラリがそこまで効率悪いって?
(補足追記)
最近のC++用の数値演算ライブラリはかなり出来がよく、FORTRAN用のそれに性能で肉薄するところまで来ている。そう、ここでは、ライバルは君が主流からも標準からも蹴落とされたと主張したいらしきFORTRANなんだよ。
で、どの辺がネックかというと、君の言うように記述性と実行速度の関係だったりはする。でも、それは低水準処理がどうこうという問題ではないよな。
この件については、議論してる人がネットでも結構いるから読んでみるといい。君が思うほどにC,C++が圧勝しているわけではないよ。随分C++が向上してはいるけど。で、FORTRANのほうが言語の構造上最適化が効き易い等の話題はあっても、手作業で機械語レベルの最適化をするなんてのは、候補にさえ挙がらないな。
自分がいかに楽な環境にいたかということがやっと分かった。
Javaならクラスライブラリから目的の機能を持ったクラスを探して
C++では、ほとんどのコードをライブラリに頼らず自分で書かないといけない。
やっと自分が世間知らずだと分かったわけだ。
でも、コードを書いていると「Javaならこう書けてコード量減らせるのに・・・」と
Javaの禁断症状が出てきてJavaで書きたくなってしまう。
あのさあ、「一般的にはこういうことが言われている」ということを主張したら、いつの間にか俺が「こういうこと」を主張していることになってるのはなんでなんですか、とさっきから何度も聞いてるんですが。「そうとしか思えないから」って、あんたの主観でしょ。しかもあんたが俺のことを色眼鏡で見てたことはあんたが自分で言ったことだし。
ほう、その辺の本には「神」なんて言葉が乱舞しとるがな。じゃあ日本の古典がどう宗教的価値に直結しとるんだ?
これは確かに読み飛ばした、失敬。
日本の古典の話をしてるんだが。とりあえず便宜的に日本の言文一致体以前以後で区切ってみようか。
なんか、今でも一般人が学ぶ意義のあるような文献がそれ以前にある?
しつこいなあ。食い下がってるのはどっちだよ。「意義」の定義によるだろ。「一般人レベル」でいうのなら、欧米先進国様の古典を学ぶ意義と同程度のものは間違いなくあるよ。日本文化のうち文学と美術と舞台芸術に優れたものがあることは君も否定せんだろうが、それらの趣味が思想だのなんだのに劣ることはあり得まい。
グレコ・ローマン文化の話じゃなかったのかよ。近代以降ならそりゃ当然だろ。フランス革命1789年と明治維新1868年の差が今更どれほど重要だとあんたが思ってるのかは知らんが(明治維新は不完全な革命とかいうなよ。そんなこと言えばロベスピエールとかナポレオンってのはどうなるんだ)。ただその意味で言うなら欧米であってもドイツなんかは後進国なんであって、あんたが言ってるのは「イギリスとフランス」の話でしかない。「欧米」ではないぞ。
君の言うステータスシンボルのような意味での「役に立つ」自体を俺は批判し否定してるんだよ。まやかしだってな。で、撤回したんじゃなかったか? やっぱ食いさがってんじゃんww
ほら、君は「??だとすれば」という仮定が読めないんだよね。背理法とか理解できてないんじゃないの?出来の悪い中学生とかで、「もし√2=p/qと既約分数で書けたとするとpもqも偶数になるが」とかいうと、「pもqも偶数なわけないだろ!」とか言って聞かないガキがいるよね。
あとさあ、まやかしはまやかしで構わないけど、そういう意味なら俺は英語の「役に立つ」もまやかしだと思うがねえ。
とりあえず、「まやかし」と「役に立つ」をあんたはどういう基準で使い分けてるのか明示してくれ。でないと話にならん。
えーと、そういう主張をしたいのならまずソースよろ。
はあ?何のソースだよ。俺は君の主張を自然に演繹しただけであって、敢えて言うならソースは君の発言だが。
東大卒は毎年数千人だ。それで、MIT卒は何人いるか知ってる?ハーバードは?プリンストンは?スタンフォードは?オックスフォードは?ケンブリッジは?
本当に新天地を切り開くようなエリートってのは、せいぜい数人程度だろ。その数人にどういう教育をするかと考えた場合、国内でまかなおうなどと無駄な縄張り意識を発揮するよりは、とりあえず世界トップレベルの大学に送り込めばいいんじゃないの、と。
天才信仰ですか。まあいいや。仮にそうだとしても、「年に数人」レベルの人間に「教育」なんておこがましいと思わんか。そんな人間はほっといても自分に最適な場所を探してくるし、そこが日本である可能性もあれば海外である可能性もある。
国を背負うほどのものでもない普通の東大生数百人のレベルをギリギリにチューンすることに金を使うよりは、普通の大学を出る普通の何万人のレベルを上げるほうが安上がりだし価値があるんじゃねえの、と。
誰も「普通の東大生数百人のレベルをギリギリにチューンする」なんて言ってないし、そもそも東大生の中で「教育制度がもっとよければ俺はもっと偉くなれた!」なんて言ってる奴は落ちこぼれだけだよ。だから「普通の東大生数百人のレベルをギリギリにチューンする」という発想自体がそもそも無意味。
いや、主流の座から滑り落ちたものを普通はスタンダードとは呼ばないだろう。そう言えるからには、後続のものがスタンダードを一つの目標に据えて設計されたとかそういう事情が必要だ。ちなみに釘をさしておくが、別にこの主張に固執するつもりはないから反論は不要。否定してくれてかまわん。
でも、コアの計算部分がライブラリに分離されちゃうケースが増えると、ますます低水準処理がどうこういう意味がなくなるような。
出来合いのライブラリを使ってない研究者だって沢山いるし、そもそも計算アルゴリズム自体に工夫をする人だっているわけでな。その辺は計算の規模と計算機リソースの兼ね合いと、あるいは本人が計算機を好きか嫌いかなんていう、実に卑近な事情によって決まってくる。それこそ情報工学の研究者であっても、俺が例に挙げたパターン認識や待ち行列の研究者の中には計算機の実践的側面なんかに興味がなく、Cを使ってアセンブラまがいのコードを書き、新しい言語なんて覚える暇があったらもっと他のことをするとかなんとか言ってる人だって一定の比率で存在する。おわかり?あんたの言ってる「情報工学」は「コンピュータ工学」でしかないことに気付いてほしいな、いい加減に。そこだけ理解してもらえればあとはどうでもいい。そうすれば、あんたが噛み付いてる点自体が枝葉末節だってことにも気付くだろうし。
前にも書いて綺麗に見ない振りされたけど、それ言語の選択と無関係だよね。
<<
元々の話覚えてるか?「低レベル寄りの言語を知識としてだけでも知らない人間に」云々という話だっただろう。どうも話が巧妙にずらされてる気がするんだが。たとえばいきなりJavaを覚えさせられた人間がそれがわかるとは到底思えない。ライブラリのソースを読めるレベルになってはじめてわかることだろう、それは。
C++の話も同様。敢えて「C++らしい」処理を書けば計算量はどんどん増えて、例えば行列をカプセル化して演算子をオーバーロードしてなんてことやってたら計算時間が倍ぐらいになってもおかしくはないだろう。一晩で終わる計算が翌日の昼までかかるということになったら作業効率には歴然たる差が出るぞ。
食い下がってんのはお前だろ。
いや、形式的にみても実質的にみても、撤回したはずなのにちっとも撤回して見えないのは君が食い下がってるからなんだが。
民主主義も自由主義も自然科学も、キリスト教と論理的に直結はしていない。
たまたまキリスト教圏で発生したから影響は見られるがな。
文学研究とか歴史研究という分野を知らんのかねこの人は。それからいうまでもなく東洋哲学とか仏教学がある。え?なに?広義の文系学問ばっかりだって?気象学とか地震学でも過去の記録は見るよ。
それが「一般人レベル」か? 高校で教える価値があるかどうかは微妙だが。
そりゃどんな学問上の専門知識でも使う分野では使うに決まっているわけだが。
近代(あんたのいう近代と中世の境界線はどこだ。ルネッサンスかウェストファリア条約かフランス革命か)
日本の古典の話をしてるんだが。とりあえず便宜的に日本の言文一致体以前以後で区切ってみようか。
なんか、今でも一般人が学ぶ意義のあるような文献がそれ以前にある?
論文のリファレンスにニュートンだのライプニッツだのの著書を挙げる奴がたまにいるが、あれを実際に読んでるのは物好きだし、読まなければ理解できないなんてことはまるでない。
欧米の政治思想の本なんかはそれこそニュートンの時代のとか普通に今でも重要でしょ。直接読まなくても現代語でまとめた書籍が存在するという意味でいらないと言っているのなら分かるが、そういう言い方をしちゃうと、そもそも必要な古典なんかひとつもなくなってしまうぞ?
お前のいう「役に立つ」の定義は何なんだ。「金になる」という意味ならそれこそ文化政策やステータスシンボルとしてでも十分日本の文化は役に立つことになるだろう。「過去の旧弊を断つために異文化を学ぶ」のであれば、「一般人」にとって英語が役に立つ例にはなってないよなあ。
君の言うステータスシンボルのような意味での「役に立つ」自体を俺は批判し否定してるんだよ。まやかしだってな。で、撤回したんじゃなかったか? やっぱ食いさがってんじゃんww
一方で、海外のほとんどのライブラリのドキュメントは英語で書いてあるから、英語はとても役に立つなあ。
「才能職」(笑)がどんなものかは知らんが、学問的なトレーニングという意味での努力が役に立つ仕事というのが情報工学の分野の主流なわけで
うーん、でも君のFORTRANやC,C++についての言及のとんちんかんぶりを見てると、そのトレーニング(笑)とやらはどうも成果が出てなさげに見えるんだがなあ。つーかそれなりに本を読んでれば言わないようなことばっか言ってるよなあ君。
おやおや、「本物のエリート」がえらく縮小したね。MITはそのレベルの大学だというのなら、人口比からいって日本にもそのレベルの素質を持った人間は毎年千人単位でいることになるし、MITと同レベルの大学はほかにもいくつもあるから、もっとすごい数になるだろうね。だったら、欧米先進国様に丸投げして済む数ではないね。
えーと、そういう主張をしたいのならまずソースよろ。
で、それが本当だろうがそうでなかろうが、そもそも君の突っ込みはずれてる。俺の言ってるのは、ただの東大卒程度でエリートなんて呼ぶ必要ないだろ、ってことなんだが。毎年数百人も生まれるのに。
本当に新天地を切り開くようなエリートってのは、せいぜい数人程度だろ。その数人にどういう教育をするかと考えた場合、国内でまかなおうなどと無駄な縄張り意識を発揮するよりは、とりあえず世界トップレベルの大学に送り込めばいいんじゃないの、と。
教育課程を見直すとして、国を背負うほどのものでもない普通の東大生数百人のレベルをギリギリにチューンすることに金を使うよりは、普通の大学を出る普通の何万人のレベルを上げるほうが安上がりだし価値があるんじゃねえの、と。だから、「公教育の目的は平均と底辺を上げること」と何度も言ってるんだよ。
確かに、スパコンとかを用いた理論物理の一部の分野でFortranが主流になっている分野は存在することは存在するらしいな。
つか、スパコンの対応状況の問題でそういうのがある。多分俺が知ってた頃よりだいぶ減ってはいるだろうが。
だが、そうした一部の分野の傾向だけを捉えてFortranが主流だなんていうと大間違いだろ。
俺はFORTRANを主流だとは言ってないと思うがね。スタンダード(標準)だとは言ったが。主流と標準の違いは分かるよな?
さすがにまだ標準の座はC++に奪われたりはしてないと思うんだが。
ちなみにあらかじめ釘をさしておくが、LAPACKとかそういう既製品の数値計算ライブラリがFortranで書かれてるから云々などと言うなよ。
そうか、じゃあライブラリが何で書かれているかはとりあえず別の話にしようか。
でも、コアの計算部分がライブラリに分離されちゃうケースが増えると、ますます低水準処理がどうこういう意味がなくなるような。
C++と、お前さんが「数値計算の実習はFortranではなくCを用いましたが」と表現したCとで、実際どの程度パフォーマンスが違うと思ってるの、と聞いてるんだけど。どっちも同程度に低水準な処理は書けるぞ。
不完全な引用でごまかさないようにw正しく引用しなおしてあげよう。
お前さんが「君も一応理解してるようにC++やましてJavaでの数値計算は「出来ない話じゃない」程度のことで、向いているとはお世辞にも言えないだろ?」と表現したC++と、お前さんが「数値計算の実習はFortranではなくCを用いましたが」と表現したCとで、実際どの程度パフォーマンスが違うと思ってるの、と聞いてるんだけど。
と俺は書いたんだ。
「君も一応理解してるようにC++やましてJavaでの数値計算は「出来ない話じゃない」程度のことで、向いているとはお世辞にも言えないだろ?」という文章内での君のC++評価と、「数値計算の実習はFortranではなくCを用いましたが」という文章内での君のC評価の乖離について俺は質問している。
いや、多分Javaに引きずられてつい実際より悪く書いちゃったんだろうとは思うんだけどな。だったらそう訂正すればいいんだよ。それにJavaが遅いのは低水準が云々以前の問題だしな。
何のためにだ?君の論点は少なくともこの場は認めると言ってるんだ。それでその問いをする必要はなくなったはずだ。
……じゃあなんで食い下がってるんだ? それだけがよく分からん。
お前が言うな!日本文化は役に立たない、欧米様は素晴らしいという人間にそんな理屈を説いたら、さらに折伏にかかってくるに決まってるだろうが。
いや、俺が助け舟出してやってるんだぞ? そういう形での価値なら一目置いただろうな、俺は。
ただ、宗教的価値だから公教育の目的として掲げるのは難しいが。
他に日本の古典で今一般人が学ぶ価値があるものというのが、俺には思いつかなかった。学問的知識で一般人レベルで近代以前の文献を参照しなきゃならんようなものはないだろうし(あったらそれを指摘してくれ。一発で納得してやるから)。
「教養」の話でデファクトスタンダードにとりあえず乗れと言ったら一人で血圧上げたのはどこの誰だ?
役にも立たない教養を持ち上げることに反発してるんであって、英語は実際役に立ってるだろ。格が違うw
なに言ってんだか。お前が「その方面」に持ち込んだんだろ。あんたが、何を言っても欧米様は素晴らしい、日本はダメだというその論法、「日本は素晴らしい、特定アジアはダメだ」というのと同じだということに気付け。わかりやすく論法の破綻を指摘してやると、俺が馬鹿だということにするんだからなあ。
いや、言ってる内容がバカなんだわ。単独でエントリにすればー? 俺はウヨには付き合いきれんけど。どうせ適当に論破したところで「こんなのは一例」とか言い出すんだろうし。
一応あんたの言うことが客観的に妥当だと仮定して話すが、優秀な高卒に負ける分野ってのはつまり予備知識があまりなくても対等に戦える分野、俗っぽく言えば「学歴」より「地頭」がものをいう分野なんだよ。たまたまあんたがそういう分野にいるというだけだ。全ての分野がそうだと思うなよ。
端的に言って才能職だな。人それぞれ立場が違うのは分かってるよ。古典によるハッタリや学閥が幅を利かせる業種だってあるんだろう。
「日本トップ」なんて限定は誰がしたか。世界レベルの話をしてるんだろうが。MITって言ったのはどこの誰だ、ボケ。お前はいつもそれだ。相手の言ったことを矮小化し、その上で馬鹿にする。感情を逆撫でする方法としては賢明な手段だな。
だから、単にお金の無駄、アウトソーシングしたほうが安上がり、という意味で、日本に毎年ほんの数人のためにしか必要でないような世界トップの大学を作る必要はない、とだけしか俺は言ってない。それを、教育レベルを下げるとかなんとかよく分からん。
ほら、勝手に知らないことにしてる。ちょっと話に乗ってやるとすぐこれだ。理系の人間ならFortranぐらい誰でも知ってるわ、ボケ。
でも触ったことなさげだしなあ。
たとえ使わなくても、FORTRANが数値計算用の言語としてスタンダードであり、その利点は別に低水準な処理がどうこうというのとは関係ない、ということはこの議論では抑えてないとダメだろ。数値計算と低水準な処理を絡めて主張したのは君だからな。
お前さんが「君も一応理解してるようにC++やましてJavaでの数値計算は「出来ない話じゃない」程度のことで、向いているとはお世辞にも言えないだろ?」と表現したC++と、お前さんが「数値計算の実習はFortranではなくCを用いましたが」と表現したCとで、実際どの程度パフォーマンスが違うと思ってるの、と聞いてるんだけど。どっちも同程度に低水準な処理は書けるぞ。
FORTRANの、C++に対するアドバンテージは、先に業界標準をとっているためサポート状況がいいという理由が大きく、低水準処理がどうこうという問題ではない。
C++が「向いているとはお世辞にも言えない」言語なんだとしたら、Cだってそうだろ。でFORTRANも想定してないんだとしたら、お前さんの言う「数値計算に用いられる低水準処理に強い言語ってなんなんだ?」と聞いてるんだが、答えられないことにはだんまりか?
こんな基礎的なところで思い込みで突っ走れるような知識しかない奴に高学歴ぶられてもなあ。
言い訳は結構。単に君がそこに噛み付いてきたからじゃないか。
最初から撤回しとけば話は一瞬ですんだだろうに。言い訳しなきゃいかんのは君だろ。
あれ、じゃあ君は古典を生業とする職業的立場から利益誘導であんなこと言ってたわけ?
そら苦労はするだろうが、ドイツ語や中国語や韓国語やスワヒリ語よりはまだ読めるぞ。たくさんあると大変だってのは、俺の英語習熟度とは関係ない議論だと思うがね。
当の欧米先進国様のインテリの間では、近代主義自体を否定しようとして欧米以外の文化に着目するのが流行っているようですよ。あなたは欧米先進国様を見習ってその辺も勉強しなければなりませんねえ。
その前にまず見直しを始められるレベルにまで欧米に追いつくとこからはじめるべきだろ。反動主義者に変な隙与えかねんし。まして、ただの業者の利益誘導にかこつけていわれてもね。
自由主義とか民主主義とか合理主義とかの、それ自体で肯定できる価値に結びつかず、ただ「古典文化を尊重すべき」というお題目だけを唱えているのなら、それは悪しき慣習だろうよ。つか反動思想に過ぎんだろそれ。
あくまで、古典文化が具体的に有意義だから、その有意義さゆえ尊重される、ということであるべきなんだよ。
敢えて言うなら俺は「無思想」だよ。
自称中立?w まあ、業界人の利益誘導に過ぎないのだとしたら、もしかしたら本当にそうなのかも知れんけどね。無思想ゆえに利用されるという恐れもあるね。
作る必要ないだろ、外国にあるんだから。
はいはい。言ってもいないことを勝手に想像して勝利宣言お疲れ様。一言だけ言っておくとFortranなんて言い出したのは君。
数値計算とか言い出したのは君。数値計算でFORTRANに触れないってありえねーだろ。
内部でどういう動作が行われているか必要なときには想定できるだけの感性を身に付け
はいもう言語の選択の話じゃなくなりました。お前さ、教養がどうこう以前に議論とか出来ない奴なんじゃね?
君も一応理解してるようにC++やましてJavaでの数値計算は「出来ない話じゃない」程度のことで、向いているとはお世辞にも言えないだろ?
Javaはそもそも低水準がどうとか以前の問題だろ。ていうか、C++に出来ない低水準な処理の出来る言語ってじゃあ具体的になんなの? C++は低水準処理の記述性という意味ではFORTRANに劣っているとは思えんが。
そりゃFORTRANのほうが数値計算では(特に専用機だったりすると)上だけど、それは低水準云々というよりは伝統的にFORTRANが標準語だから標準搭載されやすいってことだし、FORTRANが数値計算処理の記述性で優れているってのは、低水準処理とは別の話題だわな。
つーかやっぱこの論点では君の言ってることおかしいって。数値計算でもパターン認識でも、たとえば組み込みデバイスや、専用プロセッサに働かせようとしている、という話題にすればよかった。じゃあアセンブラ使ったり、アセンブラ的なCの使い方をするだろうからね。
全然関係なく、横から口出し。
例えば、JavaとかRubyとかVBとかPHPとか、そういう種類の言語一種類しか使えないプログラマがいたらどう思う?あまり難しい仕事任せられないって思わない?最低限、Cとかアセンブラとかできるだけ低レベルに近い言語はある程度使えてほしいし、できればLispみたいな関数型言語とかOSやコンパイラの理論とか、そういうのを知識としてだけでもいいから知っておいてほしいと思うよね?
思わないよ。
書けるレベルによるんじゃない?
一つの言語でもマスター、ほんとにマスターしている奴なら、いくらでも任せて良いと思うよ。
希に逆もいる。
知っている奴で、VBでむちゃくちゃセンスの良い奴がいて、そいつ別言語に放り込んだらあっさり覚えたよ。
他に応用が利くくらいに一つを覚えるか、複数覚えて補完して覚えるか。
道の違いもあるよ。
例えば、JavaとかRubyとかVBとかPHPとか、そういう種類の言語一種類しか使えないプログラマがいたらどう思う?あまり難しい仕事任せられないって思わない?最低限、Cとかアセンブラとかできるだけ低レベルに近い言語はある程度使えてほしいし、できればLispみたいな関数型言語とかOSやコンパイラの理論とか、そういうのを知識としてだけでもいいから知っておいてほしいと思うよね?
だったらどうして、古文や漢文の勉強が自分には意味ないって思うかなあ?日本語で文章を書くのは、仕事上の重要なスキルでしょ。まずその前提がよくわからない。
横槍だが、勉強する時間にも限りがあるし、向き不向きもあるんだから何でもかんでもやればいいってものでもない。どの分野の強化でも意味が歩かないかは一律に決まるものじゃないし全分野の知識を身につけることは無理なんだから各人に合わせて取捨選択しないと。学校で教えておけばなんでも身につくなら世の中エリートばかりになってるよ。
別に「新たに」なんて言ってないけど。ただし、資源ってのはメンテナンス要員が必要なんよね。現在の教育は、その中から一握りの専門家とそこそこ多くのファンを再生産する役目は果たしてると思うけどな。
こういうのはほかのことをやった場合の費用対効果も考えないとだめ。なぜ特定産業のメンテナンスだけ優遇して税金とかの労力をつぎ込まないといけないのかがわからん。メンテナンスに必要なリソースは有限。観光立国でも金融立国でもものづくりでも自給率上昇でも結局我田引水ってことじゃないかと。そういう利益誘導はポジショントークであって部外者は真に受けちゃだめだろ。
「楽しむ」という観点で言えば、古典や漢文の題材がそれらよりも優先するようには思わない。
劣るとも思わないけどね。ただね、現代文学は古典文学を下敷きにしてたりするから両方読めると楽しいことは知っておいた方がいいだろうね。
文学に限らずどんあものでも楽しいかどうかは人それぞれ。古典に限らず学校の授業に苦痛を感じる生徒が少なくないのは常識じゃないかと。
それとさー、どうしてあれを教えたらこれを教えるのやめろって話になるわけ?両方教えたらいいだけじゃないの。ただでさえゆとり教育なんだからさ。たとえば俺は高校時代理科と社会を全科目履修したし、数学も数III数Cまでやったし、古文や漢文だったら例えば岩波文庫の注釈付きなんかで訳なしで読めるよ。
いやがってるやつに教えるのは金や労力や時間の無駄遣い。ゆとり教育は叩かれすぎだと思う。正しい政策だったと個人的には思ってる。学校で教えないならやらないなんてやつは教育しなくて結構。授業時間だって有限だからそりゃ各教科の授業時間減らせば全部薄く教えるしかないし、深くやろうとすると分野は絞らないといけない。どっちがいいかは一概に言えるものでもないし、勉強自体向いてないのもいるでしょ。
ただし、君が思ってるほど高校の行列計算は一般には役に立たないし、観光は大きな産業になり得る。理由は上に書いたとおり。
そりゃ基礎技術力が高く工業力が強いほうが観光立国よりずっといいだろ。
観光業や製造業だけでGDP決まってるわけじゃないんだから比べても意味ない。日本の低成長はマクロ政策の失敗が大きいでしょ。あと人口の少ない国なら人口比で観光客はこさせやすいから雇用増やしやすいだろうけど、日本だとそうはいかない。観光だけで食ってける量は限られてる。そもそも貿易依存低いし、外需ばかり頼ってないで内需をしっかりさせないことにはどうにもならない。
例えば、JavaとかRubyとかVBとかPHPとか、そういう種類の言語一種類しか使えないプログラマがいたらどう思う?あまり難しい仕事任せられないって思わない?
古典が読めるってことはまったく評価にならんだろ。プログラマとしては。
無論、最低限の英語力は必須だし、英語力は高ければ高いほどいいが。
最低限、Cとかアセンブラとかできるだけ低レベルに近い言語はある程度使えてほしいし、できればLispみたいな関数型言語とかOSやコンパイラの理論とか、そういうのを知識としてだけでもいいから知っておいてほしいと思うよね?
そんなの情報系の基礎教養だ。微積分学や古典を勉強するよりははるかに楽だし。
だったらどうして、古文や漢文の勉強が自分には意味ないって思うかなあ?日本語で文章を書くのは、仕事上の重要なスキルでしょ。まずその前提がよくわからない。
ビジネス定型文書くのにはもちろん、企画書や仕様書や技術書を書くのにも、古典や漢文の知識なんぞ必要ないだろ。
別に古典教育がどうなろうが観光ビジネスの改革にはならんだろうに。
日本文学についてはそうかもな。でも、当の近代文学もろくに読んでない奴が、下敷きにだけ手出しても意味ないだろ。まずそっちが先じゃないかな。
それとさー、どうしてあれを教えたらこれを教えるのやめろって話になるわけ?両方教えたらいいだけじゃないの。ただでさえゆとり教育なんだからさ。
教育を強化するなら数学優先にすべきだな。あと英語の強化かな。古典なんか最後でいいよ。
それは単なる君の不勉強でしょ。高校までで役に立つこと勉強したいんだったら高専とか工業高校に行くべきなんだし。普通高校ってのはジェネラリストを育成するところなんだからね。
それに、君はたまたま高校で習った行列計算だけで用が足りてるのかもしれないけど、行列の計算だけできても普通は何の役にも立たない。
足りてるわけねーだろ。仕事やりながら勉強してるような状態だよ。これが、高校でやってなきゃ偏微分とかと同レベルの理解度でしかなかったんだと思うとゾッとするね。基礎だけでも仕込まれててよかった。
というか、固有値やベクトル空間を理解せずにどうやって大学を卒業できたんだ?力学も振動論も微分方程式も統計学も信号処理も量子力学も、何一つ理解できないでしょ、それじゃ。
数学系でも電子工学系でもねーもん。適当に試験前の一夜漬けで切り抜けてた。終わったら速攻忘れた。あと量子力学なんか何に使うんだよプログラマが。
信号処理は真面目にやっときゃよかったなとちょっと思うね。今んとこクリティカルにそういうもんが必要になる仕事はやってないが。
俺が思ってるものと比べてるんじゃない。「古典と」比べてんだよ。ちゃんと答えろ。
なんだ、君、プログラマーだったのか。だったら話が早い。
例えば、JavaとかRubyとかVBとかPHPとか、そういう種類の言語一種類しか使えないプログラマがいたらどう思う?あまり難しい仕事任せられないって思わない?最低限、Cとかアセンブラとかできるだけ低レベルに近い言語はある程度使えてほしいし、できればLispみたいな関数型言語とかOSやコンパイラの理論とか、そういうのを知識としてだけでもいいから知っておいてほしいと思うよね?
だったらどうして、古文や漢文の勉強が自分には意味ないって思うかなあ?日本語で文章を書くのは、仕事上の重要なスキルでしょ。まずその前提がよくわからない。
別に「新たに」なんて言ってないけど。ただし、資源ってのはメンテナンス要員が必要なんよね。現在の教育は、その中から一握りの専門家とそこそこ多くのファンを再生産する役目は果たしてると思うけどな。
あと、日本の観光ビジネスはまだ産業として未熟だよ。ヨーロッパ行ってみるとわかるけど、日本の観光ビジネスは横のつながりが弱くて商売がヘタクソ。たとえば厳島神社なんて世界遺産になってるのに、宝物殿では大した物展示されてないし、宮島にある飲食店はろくなお店がない。
劣るとも思わないけどね。ただね、現代文学は古典文学を下敷きにしてたりするから両方読めると楽しいことは知っておいた方がいいだろうね。
あと、古文とか漢文ってのは現代文と読み書きや文法の体系が少しだけだけど違うから、文法ぐらい教えておかないと、興味を持った人があとで独学たって難しくなってしまうことは理解できるよね。いまの高校の教育はそういう目的で文法だけを中心に教えてるようなもんだよ。
それとさー、どうしてあれを教えたらこれを教えるのやめろって話になるわけ?両方教えたらいいだけじゃないの。ただでさえゆとり教育なんだからさ。たとえば俺は高校時代理科と社会を全科目履修したし、数学も数III数Cまでやったし、古文や漢文だったら例えば岩波文庫の注釈付きなんかで訳なしで読めるよ。
俺も理系人間で、たいして出来がよくなかったから思うんだが、行列は大学入試という重しがある高校生の間にある程度慣れておくべきものだ。
大学で習った偏微分とか周回積分とかいっこも覚えてない俺でも行列演算は一通り出来るし、プログラミングとかで使えるのは、高校でみっちりやったからだよ。
それは単なる君の不勉強でしょ。高校までで役に立つこと勉強したいんだったら高専とか工業高校に行くべきなんだし。普通高校ってのはジェネラリストを育成するところなんだからね。
それに、君はたまたま高校で習った行列計算だけで用が足りてるのかもしれないけど、行列の計算だけできても普通は何の役にも立たない。それに、大学の線型代数やったんなら、高校でやるレベルの話なんて子供だましもいいところだってわかるでしょ。
というか、固有値やベクトル空間を理解せずにどうやって大学を卒業できたんだ?力学も振動論も微分方程式も統計学も信号処理も量子力学も、何一つ理解できないでしょ、それじゃ。
行列と比べてどうなんだと聞いてるんだが。
だから、本来比べるのがおかしいし比べられないと書いたんだが。
ただし、君が思ってるほど高校の行列計算は一般には役に立たないし、観光は大きな産業になり得る。理由は上に書いたとおり。
そりゃ基礎技術力が高く工業力が強いほうが観光立国よりずっといいだろ。
芸術性って・・・。
だったら言語から作れよ。
芸術性は見る人に訴求するものがあり、人によって解釈が違う。そういう定義の言葉だろ。
素敵すぎるだろそんなソース。
芸術をも感じさせるソースを見て、どうやったらこんな独自進化を遂げられるんだよと何度ヒザをついたことか…。
人を満足させるために作るのか、自分が満足するためにつくるのか。
自分を満足させるために作り出したものが結果的に人を満足させるということは殆どない。
だって最初のスタート方向が違うんだもの。
コーディングにポリシーはもっていてもいいとおもうけど、そのポリシーがアクションの枷になっているのだったら本末転倒だとおもうな。
どんな立派な機能があるクラスだろうが最初で弾かれて落ちてこないだったら意味ないじゃーん。
というかApp Engineってなに?
つかって何かやりたいとまだ思えてこない以前にApp Engineがまだ未チェック。
PythonはGMOの証券会社が外部APIを公開したのがPythonだった。うんこだった。
勉強するには至らなかったが、そんな特殊だったという印象はもってないな。
plのcgiがあって、そっからasp,jsp,cfmという時代をえて、
php5,RonR,Pythonとかになってきているわけだが、時代は違えどひとつ覚えておけば学習コストっていう意味は殆どかわらないと思うよ。Oracleを覚えてからSQL-serverにいこうがpostgresqlにいこうがmysqlにいこうが一緒みたいなもの。
後継に位置するものであれば必ず似た機能はある。
むしろiis-ocxとかtomcat-Servletとか、ns-ldapとかそういう周辺が違うのであって、
基本的な部分に収まっているあいだは殆ど一緒じゃない?
今の時代みたいに殆どがApacheごにょごにょしただけで動く時代ならphpもRonRも殆ど変わらないと思うな。
所詮LL。
いまだってデータ処理はDBに任せたり、画面だってjavaなりFlashにまかせるじゃん。
LLがクラスに対応したときはおお!!と思ったし、どんどん進化しているのは感じる。
そんな感じで、どんどん面白いのがでてくればいいとおもう。
言語なんてこだわりもって選らんだところで変遷は激しいよ。
コールドフュージョンがどれだけすばらしいかについてプレゼンしてた坊を思い出すたびに涙を禁じえない。
いい音楽が売れるんじゃない。
話題になる音楽が売れるんだ。
この記事にはブクマを見る限りだいぶ懐疑論が集まってるみたいだね。残念ながらWebで資料を探しても見つけることができなかったので、憶測でしか語れないけれども、たぶん大丈夫だと思う。もっとも、「理論的には」の話であって「実用的に」どうかは知らないけどね。
まず、大矢氏はその道では有力な研究者で、名前も売れてます。俺のような門外漢でも知ってるぐらいだから。だから、胡散臭いものに手を出すという動機がまずないんですよ。
ただし学者というのは自分の仕事を宣伝してナンボという商売でもあるから、まだ残っている欠点を敢えて黙っているということはあるかもしれない。でも、少なくとも「CABは完璧な暗号である」とは言っていないはず。そういう意味で、嘘はついていないことは信用していいと思います。
次に、大矢氏の発言「鍵空間は無限大ですから、鍵を推定できる確率はゼロ」という発言は数学的に普通かつ真っ当なものであって、レトリックでないことを指摘しておく。
数学では、確率は長さとか面積とか体積とともに「測度」という概念に包含されるんだけれど、「確率0」というのは「『点』は『無』ではない」という話と本質的には同じものだ。例えば、中学校の時「点には大きさがない、長さも幅もない」「直線には幅がない」「平面には厚みがない」と習ったはずだけれど、つまりこれは「点の長さは0」「直線の面積は0」「平面の体積は0」って話なんだよね。点とか直線とか平面というのは「無」ではなくちゃんと存在するものなのに長さとか面積とか体積が0(こういうのは「零集合」なんて名前もついてる重要なものだ)という話、当初違和感をもたなかった?多分、今になってみれば感覚的に「そんなもの」だと理解できているはずだけど。つまり、「長さや面積や体積が0ということと、存在しないということは別物だ」ということ。
確率が0というのもこれと同じなんだ。例えば、0<x<1を満たすxを全くのランダム(あるxが別の数より選ばれやすいということはないものとしよう)に選んでくることを考えよう。これはまさに「数直線0<x<1上、x=0.5という一点の長さはいくつ?」と聞いているのと同じことで、答えは0になる。別に変なことではないでしょ?
もっとも確かに、「現実のコンピュータ上で、鍵の候補が無限大なんて関数が作れるのか」という疑問があると思う。俺の理解が間違ってなければこれは確かに無理だ。でも、そういう言い方をするのは無理なことではないんだ。
というのは、アルゴリズムの理論を作るときは、暗黙に「コンピュータには無限にメモリがある」と仮定してしまうことがある。もちろん現実にはそんなことはない。でも、必要なだけメモリを増設すればいくらでもその状態に近づけることはできるので、実用はともかく理論としてはそれで十分と考えることがあるんだ。
もう少し詳しくいうと、チューリングマシンっていう数学モデルがあるんだけれども、これはメモリが無限にあるコンピュータと等価な能力を持っている。そして、情報工学の問題はチューリングマシンに対して考えられることが多い。しかし、現実のコンピュータはメモリが有限しかないから、これは本当は「有限オートマトン」(基本情報処理の試験にも出るから知っているはず)とよばれる非常に単純なモデルで表せてしまうものだ。これの能力は余りにも限られているので、たとえばカッコ対応問題(たとえばCやJavaで"{"と"}"の数が釣り合っているかを確かめる問題)すらも一般的には解けない。実際、メモリ内で表現できる最大の数以上のカッコを与えてやればいい。もちろん、そんな沢山のカッコを与えるなんて現実には無理だけどね。
そういう風に、アルゴリズムについて理想と現実の壁は大きく、常に実用化の壁というものがつきまとう。そういう意味で大矢氏の新暗号が本当に画期的なものになるのかどうか、これはやってみないとわからないと思う。今後の展開に期待だね。
生半可な知識で下手なこと書くもんじゃないですね。専門家からのご批判を頂きました。
http://d.hatena.ne.jp/smoking186/20080412/1208008068
というわけで、この記事は反面教師として下さいませ。この記事単独では、間違ったことは書いてないつもりですが、前提を理解していませんでした。
チョットしたツールをつくるんだったらVB6とか使ってたけど、最近はどうなんだろうね。
C#とかあのお手軽感に比べるとちとめんどくさい感じ。
どんどん重たくなっていく……。
C#を最後にいくつかやってWinアプリ系の開発は殆ど組まなくなったのだけど、
vistaの時代になっちゃうとWinアプリっちゅうとやっぱりC#一本なのかな?
c++でDLLとか作るぐらいならc#のIDEつかっちゃったほうがよさそうだし。
ODBC利用できてちょっと簡単なWinAPI叩けるだけで大抵は満足なんだけど、、
大げさだよ・・・。
JavaのSwing、Beansとかも結局期待はずれだったし。。
フラッシュあたりがもうちょっとGUIを簡単につくってくれたらなぁ。
そんな、ぼやッきーを総合して、
「Windowsアプリを作るのに最適な言語を教えてください。」という一言なんじゃないだろうか。
この回答している人達の内容が気になりますね。
http://anond.hatelabo.jp/20080323175904
半年前に「人月計算とExcelとスーツの世界より」を書いた増田だけど、この増田が他人に思えなかったので、半年ぶりに自分の話をしたいと思う。
半年前のエントリの内容、読んでない・読むのたるいって人のために簡単にまとめておく。
俺はCOBOLっていう昔々の言語を使って巨大な金融システムのお守りをしていた。それは誇らしい仕事(「これ読んで「転職考えろ」とか言ってるやつってアホだろ」的な意味で。これももっともな話だよね)ではあるんだろうけど、俺はやっぱりキャッチーな新技術がやりたくてたまらない。
そんなふうに増田に愚痴ったところ、なんか400以上のブクマがついた。以上がこれまでのあらすじ。
話の続きを始める。
あれほどのブクマを集めたことなど初めてだった。戸惑いながらも、日々増えていく皆のコメントを噛み締めた。
転職を勧めるコメントもついていた。うん、転職したいねいつかは。
でも、と半年前の俺は思った。そう簡単に転職できるものなのか? なにしろまだ会社に入って1年半。勿論今の会社にいても転職後に活かせるスキルがつくわけではないが、その前に個人で勉強できることもあるだろう。それからでも……っつーかそもそもスキル皆無なのに転職とか無理だろ。
だから、出来心だった。
エントリを書いてからいくらか経った頃、ホッテントリにもよく上がってくる某ブログに、プログラマ求人のお知らせが出た。
そこからはクリックひとつだ。あのエントリを短く要約してそこの会社に送りつけてみた。たいした作業ではない。転職への一歩を踏み出したという気持ちはあまりなかった。
でも当然ながら、先方からは連絡がきた。言われるまま、翌週の金曜日に会社を定時で上がってから面接に行った。いきなり社長が出てきて驚いた。
面接が始まった。キョドりながら、あのエントリの内容をまた繰り返した。
「うん。熱意は分かったけど……COBOLかー」
「そうかー、ちょっと評価しづらいなー。PHPって分かる?」
「えっと……Webのビューとかに使うスクリプト言語でしたっけ?」
「他にも色々できるんだけどね。それ使って、ちょっと今から言うようなの作ってみてよ」
帰りがけに書店でPHPの入門書を買って、言われたプログラムを週末使って作ってみた。
formに書いた内容を日付やUserAgentとともにファイルに書き込んで表示するとか、その程度の簡単なものだ。PHPでファイルの読み書きができるとすら知らなかった俺でも、土曜だけで作れた。
日曜が余ったので仕様を拡張してSNSのメッセージ機能もどきに仕立て上げたりはしたけど、この程度のアピールはちょっとでも熱意のある奴なら誰でもやるだろう。
どちらにせよ大したものじゃない。
翌週、採用の通知が届いた。
俺の転職活動は2週間で終わった。
面接のとき社長が言っていた。技術的な向上心をもって受けてくる人は珍しいらしい。
意外だった。だってホッテントリでもよく見かける会社だぞ。そんな会社がわざわざ、ブログで求人までしているんだぞ。
ブログで就職とかTwitterで就職とか、いつも華々しく話題になるあれは何だというのだ。
社長の言葉がリップサービスでなかったのは、正真正銘素人にも劣るレベルの俺が、この少数精鋭で構成される会社に、おそらく志望動機だけで、あっさりと採用されてしまったことから分かる。言っておくが大量採用ではない。求人経由での採用は俺一人だった。
現実はこんなものなのだ。
そんなこんなで、あまりに展開が早すぎて事後報告になってしまったが、転職を決めたことを会社に話した。
そんな中で、印象に残ったやりとりについて書いておきたい。
まず、他部署の人。
「勿体無い! 本当に勿体無い!」と彼は俺に詰め寄った。
「前、会社のイントラに君の作ったツールをアップしてただろ? その時からずっと、こいつと一緒に仕事できたらって思ってたのに」
技術より業務知識、巨大な金融システムを今までどおり動かし続けることを最大の目的とするこの会社では、ITを活用してプロセスを効率化しようという意欲を持つ人は多くない。
彼はそんな中で、VBやJavaの知識を蓄えて、プロセスをもっと良くしていきたいと願う人だった。だけど、
「いくら俺が呼びかけても、誰も興味を持たない。ツールを作っても使われなくて無駄に終わることもある。本当は俺も転職を選べるんなら選びたい。でも、俺の道はこれしかない」
彼は妻子持ちだった。生活のために、今の仕事を辞めるわけにはいかないのだ。
一方俺は、家庭を背負っていない今だからこそ好きな道を選べた。その俺が羨ましいと、彼は言った。
こういう環境に留まらざるをえない人がいることを、それでも戦っている人がいることを、俺は心に留めておきたい。
それから、とある同期。
彼は同期仲間の中でも飛びぬけて優秀な奴だった。
何をやらせてもまず成功する、万能型の秀才だ。元増田にイメージが被る。
技術力があり、コミュニケーション力もあり、ついでに顔もよかった。そして、この会社では珍しく、技術志向を持つ奴だった。
研修時代にも技術をやりたいと度々公言していた彼だが、こういう優秀な奴を会社が放っておくわけがない。配属先では協力会社への指示や客先とのやりとりに追われる日々が待っていた。
そんな中で彼は思っていた。この会社にいる限り、技術的なことをやることはできない。いつか転職したいと、彼も望んでいたらしい。だから、
「転職するって聞いたとき、やられたって思った」
やられた? 何故か。それは彼の迷いのせいだ。
「最初は別の仕事がやりたいと思ってたよ。でも仕事が分かってくると、これが面白く感じてくるんだ。俺がこのシステムを把握してるんだ、俺がシステムを回してるんだっていうのは充実してて、このままでもいいかなって思えてくるんだ」
万能だからこその迷い。
IT業界(SIer)の未来や、汎用的でないスキルばかり身に着けることの問題も彼はよくわかっている。でも、今の会社はビジネス的にも安定していて、当面は抜け出す意味がないというのも事実なのだ。
俺の場合、プログラミングのセンスはあっても運用やPMなんてとてもできない。偏っているから転職を決断することができた。でも彼には、金融システムのSEという仕事が適職すぎた。
半年後の今も、彼とはしばしば話をしている。
彼の答えは、まだ出ていない。
最後に、上司。
彼女は、完璧な検証や客先での要求詰めで皆の尊敬を集めるキャリアウーマンだ。
その上司が、俺が最後に出社する日、目に涙を溜めていた。
「ごめんね、雑用みたいな細かい仕事ばかり渡しちゃってたし、忙しくてあまり見てあげられてなかった。そのせいでこんなことになって。後悔してる。本当にごめんなさい」
違うんだ。そういうことじゃないんだ。あなたのせいじゃない。
俺はただ、仕事のスキルをそのまま使って、Twitterの@発言を抽出してクラスタを可視化してニヤニヤしたり、ニコニコに上がった新着ボーカロイド曲を自動処理でiPodに入れてみっくみくになりたいから転職するだけなんだ。
そんな趣旨のことを言葉を選んで伝えたけど、たぶん彼女には伝わらなかっただろうと思う。
俺や、はてなで色々言っているような技術系の奴らは、世の中では特殊な人間で、普通の人にはなかなか理解できない。
壁は厚い。そう思った。
そんな諸々の出来事を経て、俺は今、憧れのWebプログラミングの職場にいる。
Linuxのlsコマンドすら分からなかった俺には、毎日が学ぶことだらけだ。毎日終電だし、まだ休日出社はないけど、もうちょっと俺がまともに仕事できるようになったらそういう状況は確実に待っている。
だけど、すごく楽しい。仕事のために得る知識がすべて、自分の生活と地続きになっている。人生のベクトルと仕事のベクトルが噛み合ってるから、俺は成長している実感を持ててる。
だから、きっと俺はこの先ずっとこの会社で頑張れると思う。
ところで、
について一言。
Web系やりたいって半年前から言ってて、そして実際やってみたら超楽しんでる、そんな俺でもこれは同じですよ。
やっぱりはてブの[あとで読む]は日々溜まっていくし、これ全然業務とかかわりなさそうだって技術だとイマイチ乗れない。
転職決まってからの半年も同じだった。半年前、「転職するなら自分でスキルつけてから」って思って転職活動先延ばしにしていたら、たぶんいまだにApacheって何?って状態だっただろう。
だってプログラミングの他にもやりたい趣味はあるし。別の仕事やりながら勉強するには、この世界は広すぎるし孤独すぎるし何から手をつけていいのかわからない。
確かに、はてな見てて熱浮かされるだけってことは、人生かけて技術を追いかけるクレイジーなギークでないことの証左ではある。
でも、そこから情熱が継続しないからっていって、仕事として楽しめる程度に技術を追いかけていけるギークではないことは意味していない。わかりにくいな。つまり、はてな見てて熱浮かされる程度にはギークであるとは言える。だって楽しくないなら見ないじゃんそんな記事。
だから、そこをもってプログラマとしてやってけるかどうかの疑問を抱く必要はないと思った。
そういう意図で書いてるわけじゃないならいいけど。ていうか一言じゃないなこれ。
やたら長くなったけど、俺の転職の話は、大体そんな感じ。
あと、転職を通じて実感したのは、楽しい仕事をするのが一番楽しいよねってこと。
頭悪いこと言ってる気がするけど、これが俺の結論です。