はてなキーワード: javaとは
と、書いてて気付いた。JSTLがクズなんじゃない。無理してJSTLを限界まで活用しようとするから嫌になってしまうんだ。これ、ピーターの法則にハマってしまってるんだ。
よく考えると、こういう例は他にもある。Cでオブジェクト指向な実装しようとするとか。こういうことを仕様としているとき、私にとって、その言語は既に無能の域に達してしまっていて、それでその言語がクズに見えるんだ。別の手段があるにもかかわらず無能の領域に挑戦するというのは、一種のハック、趣味の領域だ。大真面目に取り組む必要なんて全く無かったんだ。
てことで、諦めよう。おやすみ。
Operaのリンクパネルが便利だ。マイミクが300人以上居ても全員の日記がさくさく読める。
だが、俺の素晴らしきOperaライフを妨げるものがある。左側に居座っているカレンダーとか最近の記事とかだ。そいつらのせいで本文の右端が切れてしまって、いちいちスクロールしなければならない。サイドバーの是非はともかく(俺はよっぽどの理由がある場合を除いて非だと思うのだが)、とりあえずこれを右側に表示するか、テーブルレイアウトをやめてCSSにするかのどちらかだけで俺のOperaがもっと素晴らしくなる。
ところで、俺は最近までありとあらゆるウィンドウを最大化する人だったのだが、ウィンドウを最大化しないというのは、実際にやってみるとスタイリッシュだし、想像以上に便利だ。全ての作業をブラウザでやる人は別だが、そうでなければ騙されたと思ってやってみてほしい。横幅を決めていないサイトでは自分にとって読みやすい幅に変えられるというメリットもある。俺のOperaは「戻る」とか「進む」とかのボタンを全部消してしまったから、ますますスタイリッシュだ。もちろんrefererやJavaScriptやJavaやプラグインが1クリックでオン/オフできるのも忘れてはいけない。必要なときだけオンにすれば超セキュアだ。かっこいいぞ俺のOpera。
もちろん、無数の中間タイプがあるだろうけれど。
http://anond.hatelabo.jp/20070802021749
理由2: プログラミングは食べてける程度には儲かる
種明かしをしよう。
"ゼロから"
CPUの設計ができて、プログラミング言語を設計し、コンパイラが書けて、OSを載せて、
その上で例えばレイトレーシングを動かせるくらいの力量がつく。
が、しかしそれらは全てやり方さえ知ってれば普通の高校生でもできる。
簡単なことを単語を難しくかえて書いただけだ。
C言語をマスターしてるかどうかを低レベルな話なんていってるほうが低レベルである。
C言語って意外と奥が深い。C99なんてもう何が何だかさっぱりだ。
4年生の卒論でやるのは、例えば、とあるLISP処理系のGCを、
ある仮説を立てて、その仮説のもとで最適なアルゴリズムを設計し、
実際に処理系に組み込み、仮説が現実にどれくらいあっているかを検証することで、
そのアルゴリズムの良さを測る、といったレベルだそうだが、これは平たく言えば
「ご本に書いてあることをその通りやって、キッチンタイマーで時間はかったら短くなりました!」
というレベルだ。卒論なんて東大といえどもそんなにレベルは高くない。
上記のことは普通のプログラマーなら半年も訓練してれば簡単なことである。
また、ここで注意していただきたいのは、プログラミングなんて誰がやっても同じということだ、
という奴がかくコードは非常に雑であることが多いと言うことだ。
機械語を書く際の冗長な作業を軽減するためのプログラミング言語であり、
もっともプリミティブな部分が定義されていれば、あとはそれを別表現で定義すればいい。
だが、対象を別の対象へ写像して調べる表現論というのものは、数学の1分野にもなってる
ぐらい複雑な分野で、これを中学生でもできるとかいってる人の底の浅さがうかがい知れる。
銀行で使われている静脈認証、
DNA解析、
http://ibisforest.org/index.php?FrontPage
だが、開発をしてる東大生も意外と多い。
そして、こういうことを仕事にすると、
もちろん、全くコードを書かないわけではない。
誰がやっても同じ部分であるプログラミングは外注する。
R&Dが高給だと思ってる人は一回民間に就職してる人に
聞いてみよう。給料はほぼ同等か少し高いぐらいで
だけど、設計と吠える人ほど設計センスがないという現実がある。
本当に難しい部分の設計というのは、例えば、NTT Dataにいる東大生が丸投げしている。
他にも大規模システムの例はいくらでもある。
だが、別に東大生だけがやってるわけではない。NTT Data、日立、JR等は東大生の
推薦枠が大きいので東大生が多いだけである。特にNTT Dataは東大生は
推薦がとれなかったら学歴逆フィルターで落とされることが多いのも有名である。
だがどっちにしろ重要なのは、この辺の企業がほんとに重要な部分を設計
してるのではなく、丸投げしているということ。
上の文章は特に誇張してません。
東大にいる80%の人は本気を出せばそれくらいのポテンシャルがある。
だけど、同様に一般人の78%の人も本気を出せばそれぐらいのポテンシャルはあります。
上位5%は常に本気。こういう人はほんとにすごいです。
でも下位95%はやる気がない。4年次に行列式の定義とか聞くと答えられる人はほとんどいません。
アメリカへつれていき、いきなり英語でスピーチをさせたら無難にこなすレベルもいるけど、
語学は人による差が激しいのでなんともいえません。
あとは・・・C言語をマスターしてるレベルといったら、東大の工学部を連れてくると、丁度いいかもしれない。
だけど、文系の人はC言語なんて教えてもほとんどわかりませんよ。
そういや東大の教養課程で扱うプログラミング言語がRubyになるらしいね。LLの適度なヌルさは教育向きだと思う。
http://anond.hatelabo.jp/20070803143914
(*)このエントリでは増田がとっても感情的になって、C言語、SQL、JScript, JavaScript, Perlをけなす風潮に反発します。
確かにプログラミング言語やその周辺の技術は目的を達成するための手段でしかないのかもしれない。けれど、その手段を行使できるようになるために一週間そこらドキュメントやサンプルを読み書きするだけでおkな人って実在するのか?JavaやCにしたってどれだけ標準搭載の関数やらAPIがあると思っているんだ?そりゃあ実装に必要な部分さえ分かればいいんだろうけど、、。ぐすん。
俺はオブジェクト指向を肌で感じ取れるようになるまで1年以上かかったが、それでも完全に理解できているといえるのかよく分からない。それを一週間程度で理解できるだとおぉぉ、許せん、嫉妬してやるぅ。
ついでに言うと、誰でもできる仕事を一般化してプログラムに落とし込むのがプログラマの仕事だあああ、、、、とも思う、、、、うん、思うだけ。中学生にでもできるといいながら、人間に外注するってどういうことよ。誰でもできるんならパソコンに頼めよ。そういうプログラムを組めよ。優秀な人はコンパイラとか作れるんでしょ。もっと言えば、プリミティブな部分とやらを最初からプログラミング言語でしゃべっておけば、外注すら必要ないよ。外国の人を作業するとき英語でコミュニケーションとるでしょ?システムの設計とかもプログラミング言語でやれば?まさか日本語で適当に要件定義書書いて、外注に丸投げとか言わないよね。それとも、優秀な人はみんな理論屋になるってこと?
ぐすん、、ぐすん、、そりゃあさ、僕はHDLでCPU設計とか、 Yacc/Lexでコンパイラ作成とか、OS作成とかやったことないし、できないよ。C/C++だってDirectXの3Dに関わる理論とオブジェクト指向が分からなくて挫折したよ。XoopsみたいなCMS作ろうとして要件定義や設計がぜんぜんできなくて挫折したよ。要件を決めずにプログラム組んでたら、後から次々と要求変更を思いついてしまって、手が回らなくなって頓挫したよ。データベース設計もまともにできないしSQL?なにそれって感じだよ。電子回路?トランジスタの使い方・つなぎ方とか、増幅率とかがうまく計算できなくて挫折したよ。
だから(?)「Perlなんて簡単だよね。そんなものにしがみついてるなんてレベル低いなお前」みたいなこと言うおまえなんか大嫌いだ。
エキスパートCプログラミング―知られざるCの深層 (Ascii books)
このへんどうよ。両方とも出てすぐ読んだからよく覚えてないけど、かなりいい本で感動したということだけは覚えてる。今読んでも感動できるかどうかは知らんけどな。
それにしても今時「プログラミング言語C」と書いた君の誠実さに乾杯。「C言語」とか言い出したのって誰なんだろう。Wikipedia でも「Java (プログラミング言語)」の記事名を「Java言語」にしようなんて馬鹿げた議論がなされていたのを思い出した。
圧縮アルゴリズムそのものを新規に考えたら高校生じゃなくても随分凄いだろ。既存の技術を組み合わせて実装するぐらいなら俺も高校生の頃にやってた。
HDDの中にあるファイルを片っ端から圧縮してみたら平均してPKZipの5%増しぐらいのサイズにはなってた。だから存在価値は無かった。
でもそれ危ないよな。ジョエルのおっさんもこう言ってる。
しかしポインタと再帰の明らかな重要性以上に重要なのは、これらの学習から得られる精神的な柔軟さと、これらを教えている授業からふるい落とされないために必要な精神的態度が、大きなシステムを構築する上で欠かせないということだ。ポインタと再帰には、ある種の推論力、抽象的思考力、そして何よりも問題を同時に複数の抽象レベルで見るという能力が要求される。そしてポインタと再帰を理解できる能力は、優れたプログラマになるための能力と直接的に相関している。
オールJavaのコンピュータサイエンス教程では、こういった概念を扱うための頭の回転の良さを持ち合わせていない学生をふるい落とせない。程度を下げた新しい授業はどうにか切り抜けられるが、Java会計アプリケーション以上に洗練されたプログラムを作れるほどには頭の出来の良くない卒業生たちを、Java 100%スクールが量産しており、その様を私は雇用主として目の当たりにしている。そういう学生はMITの6.001やイェールのCS 323を決して生き抜くことはできない。最近オールJavaになったデューク大や、私と友人がひどい目に合ったCSE121の言語をSchemeとMLからJavaに変えたペンシルベニア大の学位よりも、MITやイェールの学位に重きを置く理由がここにある。優秀な学生でもデューク大やペンシルベニア大を出た人は雇いたくないと言っているのではない。ただ優秀なのが誰なのかを見分けるのがすごく難しいのだ。かつては学生の出来がいいかどうかは、再帰アルゴリズムを数秒で書き出すことができるかとか、連結リストを操作するポインタを使った関数を、ホワイトボードに書くのと同じくらいの早さで実装できるか見れば良かった。しかしJavaスクールの卒業生たちについては、彼らが躓いているのが十分な教育を受けていないためなのか、それとも優れたプログラミング仕事をするために必要な脳の部分を持ち合わせていないためなのか、わからないのだ。ポール・グレアムは彼らをほげプログラマと呼んでいる。
Javaの知識あるならすげーーーーーーーーーーー簡単に転職できると思うよ。
めちゃめちゃ人手不足だし。
とにかくとっとと人材紹介会社に登録しる。
たぶんすぐ仕事みつかる。
「よい」の定義って人それぞれだし。
と最近はっきりと思うようになった僕は社会人1年目。金融関係のIT企業でエンジニアをしています。
高校生の頃、ウェブデザインをやっていたこともあってウェブが好きです。
カッコいいものをつくっているデザイン会社も好きだし、はてなのように楽しいウェブサービスをつくっている会社も好き。
今の仕事はJavaばっかり。業務知識は普通の企業では絶対得られないものが得られるけど、技術はJavaやCが中心であんまり面白くない。
そもそも、自分はLLが好き。もっとLLやりたい。
この会社なら一流のビジネスマンになれるなって思って入った会社だけど、自分はどうも一流のビジネスマンになりたいんじゃない、ってことに気付いてしまった。
僕はビジネスよりも楽しいことをしたい。もっと新しいことをしたい。もっと人や自分をわくわくさせるようなものをつくりたい。
だけど、技術力だって大したことないし、そもそもどうやったらウェブ業界に行けるのかも分かりません。
金融に詳しくてJavaがそこそこ書けるエンジニア、なんて銀行ぐらいにしか転職出来そうにありません。
一体どうすればウェブ業界にいけるのでしょうか?Ruby?JavaScript?個人で何か面白いものでもつくってみて公開する??
分かりません。僕は何を学び、どう行動するべきなんでしょう。
本当だとしたらすごいですね。
>パズル
Java Puzzlersみたいなものでしょうか。
興味をもつとっかかりが大事なのかもしれないですね。
近年の携帯電話における多機能化、小型軽量化には目覚しいものがあり、最近では機能紹介に、ワンセグ、Javaアプリ、Flash、Felicaなど、聞き慣れない言葉が並ぶ。ケータイの普及により若者の間にITが浸透し、ある種の文化を形成しているのは疑いの無いところである。しかし私は、その一方で、ITリテラシーの向上を阻害しているのもまた、携帯電話なのではないかと考えている。
携帯電話はその名の通り携帯端末に過ぎず、本来移動先や外出先でのちょっとした用途に特化した機器である(固定電話を代用している場合はこの限りではないが)。情報を収集、処理、表現する能力においては、ディスプレイの大きさ、ハードウェアの性能、拡張性など、あらゆる点において、PCを用いたそれに劣っている。ところが、今や小学生でも持っている程の普及を見た結果、携帯電話をメインの情報ツールとして使用する人が増えた。その需要に応える形で、ワンセグなどのPCに負けず劣らずな機能が、端末に具備されつつあるのが現状だ。少し前に情報格差を表す「デジタル・ディバイド」という言葉が有名になったが、今、この携帯電話で何でもかんでも済ませてしまおうという人々が増えている事が、新たな情報格差を生みつつあるのではないかと危惧している。携帯性の高さと通話機能を除けば、携帯電話にできてPCに出来ないこと、PCが劣っている点など無いのであるが、その逆は枚挙に暇が無い。通話に関しても、最近ではPC上でもマイクとSkypeやMSNメッセンジャなどのソフトを用いて無料で音声通話を楽しむことができる。Skype In/Outを使えば、有料だが、携帯電話・固定電話へもPCから格安で電話をかけることが出来る。
この情報社会においては、ITリテラシーの欠如は単位時間当たりの仕事量を著しく低下させる。同じ仕事をPCではなく携帯で行えば、はるかに多くの時間とコストがかかるであろう。それは日々積み重なり、大きな格差を生む。それは娯楽においても、ビジネスにおいても同じである。ITリテラシーを高める工夫ができるかどうかは結局は個人の資質なのであると言ってしまえばそれまでだが、こうしたケータイ文化はその機会自体を奪ってしまっているような気がしてならない。携帯電話とPCは時と場合に応じて使い分けるべきものなのであって、PCに近づけようと高機能を無理に搭載した所で、殆ど付加価値を生んでいないのが事実であろう。
Windows以外でゲーム開発があまり進まないように見えるけど、
YahooやIT MediaでMacやUnix系で動くゲームなんてわざわざ宣伝しないんだろうな。
(ごめん、根拠なんてないよ。)
でも、いろいろソフトウェアパッケージのリストを眺めていると、いろんなゲームってあるもんだよ。
freesivとかsimutransとかね。
まあ、そうは言っても、ネトゲするんなら事実上(?)Windows以外に選択肢は無いわけだし、
JavaプラグインもFlashプラグインもWindows側の方が力入ってるみたいだし。(Macは知らないけど。)
Mac陣営とLinux陣営に対する世間の扱いはひどいもんだ。
Rosegarden, NoteeditといったMIDIのエディタもある。
一応、音やCGの面ではWindowsでできることなら、Linuxでもできそうに思う。
Windowsほどに使えるツールと出会えない可能性が大きいけどね。
たしかにGimpはPhotoshopやIllustlatorと比べるとフィルタやツールの面で見劣りはするかな。
http://anond.hatelabo.jp/20070615171101
俺は大学四年まで全くきちんとしたプログラミングをやったことが無くて(大学の講義でJavaの超簡単なのを教わったぐらい)で、卒論でプログラミングをしなくちゃならなくて、そのとき初めて Ruby を触った。
Ruby は OOP ですげーんだぜ、とか一部で云われていた時代で、有名なアプリケーションは tDiary ぐらいしかなかった。はじめはクラスとかも解らずに何が何だか。そのとき tDiary のプラグインはクラス使ってないから簡単に書けるよ、というどこかのチュートリアルをみて見よう見まねで。GD という画像ライブラリを使ったら、サンプルをちょっと弄るだけで画像が作れて面白かったんだ。で、それを日記で公開してみた。今見返すとものすごくしょぼいソース。
そのときたまたま Ruby ハカーの方がそのプラグインをリファクタリングしてくれて、クラスを使って抽象化してくれて、初めて OOP をほんの少しだけ理解して、こうやってクラスって使うんだなぁというのを知った。本当に運が良かった。
その後就職して仕事で php ハカーのすごい先輩にいろいろ教えてもらって php を使って基本的な OOP は理解した(PHP を DIS る人が多いけど、プログラミング初心者には良い言語だと今でも思ってる)。これまた運が良かった。
その後またまた Ruby を使い始めたら今までよくわからなかった部分もするする頭に入ってきてホント面白ろくて没頭して。今では一通りのことは Ruby でできるようになった。
プログラミングが解るなら、Rails のソース(トリッキーなことやりまくってるのでつらいかも。ActiveRecord や ActiveSupport はその中でも解りやすい)を読んで、解らなかったら rubygems で興味のありそうなライブラリのコード読んで、あたりが OOP と Ruby 覚えるには手っ取り早いかも。
今なら Rubyレシピブック 268の技 と Rubyクックブック ―エキスパートのための応用レシピ集 あたり読んでおけば良いんじゃないなぁ。
あと今はてダで Ruby を含む日記を書くともれなく ruby-dev な人たちがキーワードからたどって読んでくれるので、解らないことをつぶやいたりすると結構答えてくれるみたい。のではてダ使って勉強日記とか書くのも良いと思うよ。
とあんまり参考にならないと思うけど書いてみた。なんか目的見つけられて、楽しく覚えていけたら勝ちなんじゃないかな。たぶん。
そもそもミュージックプレーヤーもワンセグも俺はほとんど使わないな。iPodあるし、外出先でまでみたいテレビなんてないし。こういう機能ってどれだけ需要あるんだろう?
俺がほしい端末はデザインがおしゃれでメールとウェブができてJAVAアプリが使える端末。大方の人はこんなんで十分じゃない?
ちなみに今日の新聞に書いてあったけど、インセンティブ制度って一台につき4万円分くらいらしいよ。その分通信料に入れてるってことは、インセ廃止したら通信料ずいぶん安くなるってことだよね。俺はそういうキャリアが一社くらいあってもいい気がするんだけどなあ。
なんか勘違いしてる人多すぎだが、Appleは
iPhoneのOSを「Mac OS X」だとは言ってないぞ。
「OS X」だと言っている。
http://www.apple.com/iphone/technology/specs.html
まあ、javaとjavascriptくらいの関係だろうな
これわらった。
/* <br> */
って大量に入っていて、
「なにこれ?」
ってきいたら JSP 書くときのクセとかわけわからないこと言うので
「読みにくいからやめてくれ」
って言ったけどやめてくれなかった。
恐らくwin使いだろうし、win2k or winXP辺りだと思うので、JavaかVC辺りで作るといいと思う。
言語間の壁はそれほど厚くもないので、駄目なら言語間移植すれば言いだけの話。
初めてのゲームという事で、根本的な構造が把握できずに理解し辛いんだと思う。
作ってきたサンプルプログラムは「こうしたらこうなる」みたいな1動作1画面的な物が多いけど、
ゲームは基本的に何かあるごとに別画面。言ってみれば別のプログラムみたいな感じ。
1.ベース部分に現在どんな画面(タイトル、ゲーム本体、ゲームオーバー画面など)を表示しているかの振り分け処理を置く。この処理がゲーム中ずっと2と3の処理を呼び出し続ける。(2で終了処理をするか、ウインドウを閉じたら終了)
2.それぞれの画面内の動作(タイトルならモードセレクト、本体ならブロックを動かす処理など)を処理する関数に飛ばして処理。
3.それぞれの画面の表示処理(タイトルなら背景とモードの一覧とカーソル)を行う。
とにかく、ユーザからの処理を待っている間も常にプログラムが動きつづけていると言う感覚を理解しないと、ゲームのプログラムは理解し辛い。
ゲームの基本構造がわかるサンプル(1000行以下位)をまずどこかから持ってきて、印刷して全部読む。