「java」を含む日記 RSS

はてなキーワード: javaとは

2012-12-14

http://anond.hatelabo.jp/20121214170559

そんな取り調べされたら、オレなら「すげえ、javajavascriptの区別が付いてるよこの人!」と感心するね。

2012-12-08

http://anond.hatelabo.jp/20121208153402

C言語前提でPHPJAVA確立されてるから基本C言語だけでいいけど

応用したり他の企画立案に支障が出たりだから多種多様言語対応されるべきだわな

2012-11-07

http://anond.hatelabo.jp/20121107162529

オブジェクト指向ができなくてもそれっぽくコードが書けてたVB流行しすぎたよね。

最新のバージョンでもあえてVB6.0互換的な書き方ができてしまうのは良し悪しだと思う。

そういう意味ではC#やらJava等の最近流行言語の方が洗練されていると思う。

C++がひねくれすぎた反省を生かしているのではないかと考えている。

クラス設計一つとっても奥が深いし、勉強することは多いなー。

http://anond.hatelabo.jp/20121107143602

今はjavac#やらPHPやらなんでもあるよ

しかphpって言ってもフレームワークもザラにあるしphpちょっとやっただけでコードかけたりはしない

2012-10-24

http://anond.hatelabo.jp/20121024113536

■頭の中でCを簡単なアセンブラに変換できるのが大事

http://anond.hatelabo.jp/20121024004748

こんにちはこんにちは

以前、"he doesn't use struct or union?"と書いて、ここの住民に糞味噌に言われた人です。

#が、この一言で何が言いたいかからなければ、プログラマーとしては最低ランクだと思うよ。

俺の場合は、

1. C勉強開始

2. PC-9801スプライト動かした段階で息が絶える...orz

3. 放置

4. C++勉強開始

5. OOよくわからんC++むずい...orz

6. アセンブラとかZ80、8086、386、486の勉強開始

7. すげぇよくわかった!CASLとかも試験のためにやった

8. Javaアルファー版をダイアルアップでダウソ

7. 英語マニュアルしかないので仕方なく読む

8. OOの何がいいのか理解できたヽ( ゚∀゚)/

9. Javaで書いたソフト雑誌で紹介されたり、賞を取ったりした

10. JVMとかクラスファイルフォーマット勉強開始

11. C、C++勉強OpenGLゲームとか作る

12. 振り返ってみると、全ての知識が有機的に結合されている!!!頭の中でCを簡単なアセンブラに(Java場合バイトコードに)変換できるのが大事だったんだね!!!

13. 就職

14. 転職

15. 就職

16. 転職

17. 病欠

18. 転職

19. 離職

20. 無職

現場ゴミみたいなコードを書く人とかゴミみたいな設計をする人で精神を痛められます

ITは辞めた方がいいよ。

#これも後で消す。

#あと、文章を消すのは鼻から議論する気がないかdeath。これはチラシの裏

2012-10-12

http://anond.hatelabo.jp/20121009001713

JAVAオブジェクトを理解できなかった人がC(というかポインタ)を理解できるはずがない。

まぁCのポインタを理解した時に、JAVAオブジェクトも理解される、という意味ではそうかもしれないが、

上達の過程として、より抽象度の低いところ(すなわちC)から入る方がわかりやす場合というのはよくある話。

元の人は何やってもダメだったけどね。

http://anond.hatelabo.jp/20121012114247

なんで突然英語で書き始めたのかわからないが、もうちょっと上手に書けないものかね。ピジンイングリッシュか。

一行目からしてひどい。itトラックバック元の「抽象思考の苦手な人にたまにあるパターン」にかかっているのか、「JAVAオブジェクトは理解できないがCは理解できる人がいる」になのか、can't understandと書いていることからしてもしかして構造体そのものを指しているのか。

もし前二者だったらunderstandなどというニュートラル動詞をつかわず、バカにしていることが明白にわかるような構文を意識するべき。

スティーブン・キングの本にいっぱい載ってるから参考にするといいよ。

http://anond.hatelabo.jp/20121011235007

てかCなんて言語仕様すげー単純なんだから、明らかにJavaなんかより理解しやすいだろ

その理屈でいくと、brainfuckが最も理解しやす言語ってことになる。

2012-10-11

http://anond.hatelabo.jp/20121011230712

てかCなんて言語仕様すげー単純なんだから、明らかにJavaなんかより理解しやすいだろ

http://anond.hatelabo.jp/20121011230712

横だがポインタが理解できなくて C++オブジェクトと Javaオブジェクトの違いがわかるのだろうか?と不安になる。

http://anond.hatelabo.jp/20121009001713

> JAVAオブジェクトを理解できなかった人がC(というかポインタ)を理解できるはずがない。

抽象思考の苦手な人にたまにあるパターンだよ。僕の後輩もそう → Javaオブジェクトは理解できないがCは理解できる。

2012-10-09

http://anond.hatelabo.jp/20121009001713

これは明らかに選択ミス

JAVAオブジェクトを理解できなかった人がC(というかポインタ)を理解できるはずがない。

中途半端に覚えて色んな言語を行ったり来たりして上達していく内に、

腑に落ちる瞬間ってのが訪れたりするからそうでも無いんじゃね?

http://anond.hatelabo.jp/20121008215228

向き不向きはあるからねえ。

Ruby開発の新メンバーは14歳の中学生

http://www.atmarkit.co.jp/news/201104/14/sora.html

Rubyを最大63%高速化した中学生は超多忙

http://jibun.atmarkit.co.jp/ljibun01/rensai/genius/05/01.html



後、個人的に言わせてもらうと、

今度は言語が悪いと思い始めたのである C言語の教本を買った。 

これは明らかに選択ミス

JAVAオブジェクトを理解できなかった人がC(というかポインタ)を理解できるはずがない。

2012-10-06

YAPC::Asia Tokyo 2012のエントリがうざい

単純に俺が嫉妬してるだけだけど、ひとつプログラミング言語でたくさんの人たちが慣れ合っているのを見るのが辛い。

職場で使ってるC#(いまだに2.0)もJava(いまだに1.4)も、そんな世界とは無縁なんだもん。

どんなにPerlがすごいことになったとしても、俺には全く関係ない。っていうか、仕事プログラミングする世界というのは楽しくないはずなのに。

そして、この「プログラミングが楽しくない」というのはきっとプログラミング言語のものとは関係ない。今の職場Perlが使われたとしても、それは今使っているC#/Javaと同じように、訳の分からないクラスメソッド命名ルール肥大化してメンテのされない"共通メソッドライブラリ"、前バージョンコードコメントアウトして保存、テストファーストでもなくリファクタリングも許可されない、のようなやり方になるわけで。

楽しそうなプログラミングコミュニティを見るたびに負の感情に包まれる。

2012-09-12

プログラマ採用面接における足切り質問

Joel氏の採用面接ゲリラガイドにもあるように、デキる開発者と一緒に仕事をしたいというのは、開発者なら誰でも思うことだ。

そこで、自分面接する側だったら、初歩の初歩レベル、即ちプロとしてあり得ないレベルの人を足切りするような、くだらない質問を2つ考えてみた。

JavaVB.NETC/C++PHPPerlといったオープン系では広く普及している言語で、ごく普通PCサーバで動作するコードを想定し、実装方法を考えてもらうというもの


  1. 1からnまでの整数を加えるといくつか求める。
  2. ある年が閏年かどうか求める。


ここでポイントとなるのは「プログラムに正解はないが、明らかな間違いはある」という考え方。

まり2つの質問に対して、明らかに間違った回答をしてきた人が失格ということ。

では上の問いで想定している明らかな間違いは・・・


  1. n回ループする処理内でループカウントしている変数を足していく。
  2. 4で割り切れる年は閏年だけど100で割り切れる年は(中略)というロジックを書く。


どっちも教科書でよく見るやり方だけど、仕事でそれやるのは頭悪すぎて話にならないということで。

ちなみにそれぞれの質問で何を見ているか、デキる開発者には一目瞭然だと思うけど、説明すると


  1. シンプルでエレガント()で力強く、高速かつ可読性も高くて(中略)そのためのアルゴリズム・・・という工夫を実装において考えられるか
  2. 誰もが欲しいと思うものは既に用意されているだろうという想像力を発揮してサボれるか


結局、コードを書くときに一番大事なのはそういう能力であって、間違っても努力気合じゃないってこと。

最後に、各質問の正解例を書いてみるとこんな感じ。


  1. n(n+1)/2
  2. 求めたい年の2月29日0時0分0秒をtimelocal()的な関数に放り込んで、結果がエラーだったら閏年じゃない


願わくば、こんなのよりもっと驚くような回答をする人と仕事したいっす。

2012-09-10

http://anond.hatelabo.jp/20120910105958

横だけど、LL系言語でやってるところそうでないとこでも違う気がするね。

俺の周りはMacばっか。

でもいまJavaやってる不思議

2012-08-27

サーバ情報監視の仕組み

cf). Software Design 2010/01号

vmstat を実行するスクリプトを書く
!#/bin/sh
vmstat 5 2 | tail -1 | awk '{print $4,$5,$6}'
xinetd のサービスとして動くようにする
  1. /etc/services にポートプロトコルを登録する
    • agent_mem 11001/tcp # memory monitoring
  2. xinetd が実行するための設定ファイルを書く
    • /etc/xinetd.d/agent_mem
  3. xinetd の再起動
  4. telnet で動作確認する
service agent_mem
{
        socket_type     = stream
        protocol        = tcp
        wait            = no
        user            = nobody
        server          = Monitor/agent_mem.sh
        only_from       = 127.0.0.1
        disable         = no
}
xinetd に登録したポートを叩くスクリプトを書く

php場合、fopen() でもいけると思うのだが、明示的に sockopen() を使う。うむ、perlよりも楽だわこりゃ。

<?php /* -*-java-*- */
/**
 * モニタリングクライアント
 * 
 */
$fp = fsockopen( 'localhost', 11001, $errno, $errmsg, 30 );
if ( !$fp ) {
    echo "Error: $errno - $errmsg \n";
}
else {
    echo date('Y-m-d H:i:s'). "\t";
    $stmt = fgets ( $fp, 128 );
    if ( preg_match( "/([0-9]+) ([0-9]+) ([0-9]+)/", $stmt, $regs ) ) {
        $total = (int)$regs[1] + (int)$regs[2] + (int)$regs[3];
        echo $regs[1]."\t".$regs[2]."\t".$regs[3]."\t".$total."\n";
    }
    fclose( $fp );
}
cron に登録してログを取る。もしくは、スクリプトを while(1)で実行させておく

こいつをモニターとして走らせっぱなしに出来るようにする。

<?php /* -*-java-*- */
/**
 * モニタリングクライアント
 * 
 */

function mem_monitor ( $host, $port ) {
    $fp = fsockopen( $host, $port, $errno, $errmsg, 30 );
    if ( !$fp ) {
        echo date('Y-m-d H:i:s'). "\t";        echo "Error: $errno - $errmsg \n";
    }
    else {
        echo date('Y-m-d H:i:s'). "\t";        $stmt = fgets ( $fp, 128 );
        if ( preg_match( "/([0-9]+) ([0-9]+) ([0-9]+)/", $stmt, $regs ) ) {
            $total = (int)$regs[1] + (int)$regs[2] + (int)$regs[3];
            echo $regs[1]."\t".$regs[2]."\t".$regs[3]."\t".$total."\n";
        }
        fclose( $fp );
    }
}

while( 1 ) {
    mem_monitor( 'localhost', 11001 );
    ob_flush();
    flush();
    sleep( 30 );
}

2012-08-15

増田会社やめるってよ

などというフレーズ日常的に飛び交う現場で3年目の夏を迎えた。

小さい会社だ。独立ITベンダの皮をかぶっているが、何次請けなのかも分からないような仕事を丸投げされて、数名単位グループ現場に送り込まれるという、典型的な人出し派遣零細企業だ。俺も本社にいたのは研修期間の最初半年だけで、それ以降は海の近くの巨大なビル街のあちこちを転々としている。プロパーの目を気にしながら食べる昼食の味にもすっかり慣れた。

俺の同期入社10人いた。

最初の1年で2人やめた。理由。1人は「公務員試験を受ける」。もう1人は「仕事についていけないから」。

前者は同期数名だけのささやか送別会の場でこんな事を言っていた。「毎日遅くまで残業させられる上に、20も30も年上のベテラン社員ペラペラの安っぽい背広を着て若手と同じような仕事をしてる。あれが俺たちの未来の姿だと思うと耐えられない」。懸命だと思う。その後、何度か彼とはメールのやり取りをしたが、公務員になったという話はついぞ聞かない。知らせがないということは、芳しくないということなんだろうと思っている。

仕事についていけない」後者は、俺たち同期の目から見ても、プログラミングという仕事が向いていない男だった。コードが書けないだけでなく、「どのような処理が求められているのか」ということすらなかなか理解できない。体育会系で気持ちのよい男で、入社直後は朗らかにみんなの輪の真ん中で笑っていたのだが、研修が進むにつれてだんだん笑顔が減っていき、暗い顔で研修室に毎晩居残るようになり、何とか研修期間が終わって現場アサインされた数日後には本社に突っ返されてきた。彼もきっとすぐに辞めて懸命だったのだ。ここは彼がいるべき場所ではなかった。と言うより、誰もがこんな場所にいるべきではないのだ。

彼らの頃は、まだ「あいつ、会社やめるってよ」というフレーズショッキングな響きを維持していた。その後に、「何もやめること無いのにな」という言葉が続いたりもした。

2年目には6人やめた。1つ上の代で、胃に穴をあけて倒れる先輩、心を病んで休職する先輩、誰にも何も言わずに消えた先輩が3人立て続けに現れたことが引き金になったのか、6人中4人はわずか2ヶ月の間に立て続けにやめてしまった。そのうちの1人、女性なのだが、泣きながら「このままだと病気になる。今すぐやめさせてほしい」と談判して、結構な火の吹き方をしている現場からそのまま離脱退職したそうだ。俺は、彼女もまた懸命だと思う。俺たち若手の代わりなんて幾らでもいる。燃え盛っている火の中で心身に大火傷を負いながら得られるものなんて、安っぽい達成感と、上長からの「こいつは無理がきく」という評価だけだ。そんなもんガソリンぶっかけて火をつけちまえ。

その頃には「あいつ、会社やめるってよ」が、まるで時候の挨拶のように軽い響きのフレーズへと成り下がっていた。だけど、俺は誰かの退職を知るたびに心の中でこう思っていた。「あいつ、やめるのか。うらやましいな」。そう思うのなら、俺だってやめればいい。簡単な話だ。だけど、俺はやめられなかった。怖かった。ろくに貯金もなく、技術もなく、経験もなく、はっきり言って社会性も大してない。ついでに言うと、俺以外の連中もその辺りの事情は大差なかった。何のことはない。この会社は他の会社では通用しないような人間をかき集めて、頭数を揃えて、泥臭い作業要員として使い捨てにしているのだ。ここを抜けだしたとして、他にもっとマシな場所があるのか。その先にあるのは、さらに深い下請けの下層ではないのか。この会社に居続けることが不正解だということは分かっている。だけど、会社をやめることが正解だとも思えない。

そして3年目。同期で残ったのは俺ともう1人だけだ。もう1人、便宜的にそいつのことを「増田」と表現してよいだろうか?紛らわしいことは承知の上だが、他に適切な名前も思いつかない。

増田はずっと、本社の経理にいる。簿記資格を取っているということで、他の同期がJava研修などを受けている1年目の5月6月の時点で経理に配属されて、そのままそこで働き続けている。毎日ゆっくりと出社して、昼は社長と昼食に出かけて、夕方は定時に帰る。会社全体規模で行われる飲み会には必ず参加して、常に社長の近くで酌をしたり、社長の話に懸命に相槌をうったりしている。要は、増田社長から殊更の寵愛を注がれていたのだ。増田は年不相応に幼く、ともすれば中学生ぐらいにも見える。そんな増田が、ゴルフ焼けした老ゴリラのような社長とべったりしているさまは、一見すると祖父と孫のようでもあり、それでいて2人に間を飛び交う視線にはどこか湿った情念のようなものが常に漂っていて、それがひどくグロテスクに感じられた。

そんな増田8月いっぱいで会社をやめる。さすがに今回ばかりは「増田会社やめるってよ」という言葉が、驚きと好奇心を伴いながら現場中を蔓延した。社長に新しい愛人ができたのか、はたまた増田もっと別の若くて甲斐性がある彼氏ができたのか、あるいは地元に帰って見合いでもするのではないか、様々な噂が飛び交った。俺も表面上は周りの社員とそんなゴシップ話に興じてみせるのだが、心中はいよいよ穏やかではない。とうとう、俺だけが残されてしまった。俺だけが逃げ遅れた。そんな焦燥感に駆られながら、俺は煙草くさい先輩社員達が繰り広げる増田に関する下品な噂話に精一杯の作り笑顔で受け答えしながら、冷や汗をかきながら、この会社での3年目の夏を終えようとしている。

2012-07-14

http://anond.hatelabo.jp/20120714161058

すくなくとも、ラッパーかませば C++では作れるから問題無いだろ。

C++が使えるんだからJavaだってRubyだって動くわけだし、動かしてる人もいるわけだ。

 

ごく単純に言えば Objective-C は GCつんで、ポリモルフをvtableではなくて、動的マップテーブルを使ったC++ライブラリだと思えば

C++使ってるの変わらん。そういうライブラリを使ってる。という感覚

なんで糞言語Objective-C選んだの?

って質問に実際に使ってるほとんどの人が『Apple製品で動くから』って答えると思うんだがどうだろうか。

なんか他の言語比較して、Objective-Cを選ぶ理由がそれ以外思いつかなかった。

それでも、ここまでObjective-Cを引っ張って行ってるApple巨人さがやべえなーと考えながらも

Objective-C自体は糞言語で、言語自身の価値なんてなかった。

例えば、C++GoJavaRubyでもApple製品Objective-Cと同じようにアプリを作ることができます

とかなったとするだろ?

「それでもObjective-Cを選ぶ!」という人の

Objective-Cが他の言語を押しのけて有利に立てる箇所を知りたい。

Objective-C言語戦争に引きずり出された時勝つことができるのか?

2012-07-05

http://anond.hatelabo.jp/20120705103844

読んだけどそれが何か?

gotoインラインアセンブラもある、実行速度最適型および、メモリ最適型のC言語に対して何か?

それこそ、美しい言語が書きたいならC/C++ではなく JavaでもRubyでも、LISPでもPASCALでも好きな言語を使えばいいよ。

 

道具は選べるんだから。そして、C/C++でも美しく書くこともそれは出きるだろうが、そもそも生まれとして、そう言うふうに生まれていない

用途が違う言語に対して、美しくない。というコメントは間違ってるよ。

あとvtableは歴史表現で古くからあるから、読みやすいよ。

つかvtable知らずに、ポリモルフィズムは語れないわけだし。

 

ナイフとトンカチを比べて、どっちがどうだ?とか、意味のない議論だよ。

プログラム言語宗教論争という言葉勉強するといい。

2012-06-15

http://anond.hatelabo.jp/20120615143411

さぁ?元ネタは『どう頑張ってもC++でも ポインタは使う』って話だったか

ライブラリを使いこなせば 頑張れば ポインタは 見かけ上使わない。(ライブラリの中は知らない。普通 自分が書かない部分は言及しないから)

という話であって

どう頑張っても という とこだけにもっと着目すれば 値コピーで十分な場合も多いから、頑張ればポインタは使わない。で いんじゃね?

ライブラリの中を見てしまえば、JavaだろうとPerlだろうと 実質的ポインタはどこかでは出てくることになるだろうからなぁ。

http://anond.hatelabo.jp/20120614121920

ポインタ、参照(リファレンス)、束縛(バインディング)、それぞれ似てるけど同様に語ると混乱の元ではないかと。

 

ポインタメモリアドレスに型情報をくっつけたもの。加減算できる点が特徴で、それはメモリアドレス概念由来だろう。

変数というメモリ上の記憶域を指すフィジカルに近い概念で、配列運用(*p++で回すとか)、引数の参照渡し(コピー抑止、複数戻り値の実現)、メモリのもの管理malloc)あたりで、基本手作業による最適化のための仕組みという側面が近いと思う。

 

perlだと、変数はやっぱり記憶域ではあるけれど概念として一段抽象化されていて、メモリという連続した領域じゃなく独立した領域の集合となっているから、リファレンスの加減算はなし。

また、配列も単なるメモリの並びからより抽象化してリストもできたから、配列運用や複数戻り値リストがあるのでリファレンスに頼ることはなくなる。

ただ、オブジェクト概念があって、オブジェクトオブジェクトとして入れる変数は用意せずリファレンスとすることで、文法上の変数の型を増やさない、コピー時のコンストラクタの問題を回避するなどのほか、オブジェクト概念を援用して無名関数無名変数ファイルハンドルなども変数引数として扱えるようにした。

 

で、pythonはもう一段推し進めて、今までの数値や文字、配列オブジェクトとみなし、変数はすべてオブジェクトを指し示すもので、記憶域は変数としてあるのではなくオブジェクトとしてあり、変数リファレンスという特別なものがあるのではなくなり、変数記憶域をもっていて値が代入されるものではなく、既にあるオブジェクト変数名という名前(ラベル)を付けて束縛する行為とされる。

見方を変えると変数はすべてにおいてリファレンスで、代入とは値そのものの代入でなく値へのリファレンスの代入で、引数も参照渡しであるが、引数に代入したところでリファレンスが変わるだけで元の値が変わるわけではなく、しかし他の演算などでは自動的にデリファレンスされており、単純な数値や文字列など、自身を変更する機構を持たない(できない)ものにとっては実質的に今までとの違いはないに等しい。隠ぺいといえば隠ぺいか

java, javascript, rubyもおおむねこの考え方でよかったと思う。

ただ、phpは若干両者が混じったところがあって微妙なところがある。

 

参考

2012-06-14

http://anond.hatelabo.jp/20120614120832

Pythonrubyはよく知らんが、少なくともJavaC#ポインタはないんじゃなく隠蔽されてるだけだけどな。

なので、ポインタ概念を知らない奴が安易に使うとハマる。

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