「Perl」を含む日記 RSS

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

2010-02-13

http://anond.hatelabo.jp/20100213013100

すんまそんw

何十人も関わるようなプロジェクトには参加したことないわw

個人の趣味みたいなもんだよなー

今時perl好きのwebプログラマなんて

2010-02-10

プログラミングの面白さが分からない

SE歴6年目。

ソフトウェア品質管理から基幹系業務アプリケーション開発に移り3年、

いまだにプログラミングの面白さが分からない。

COBOLだのperlだのrubyだの、必要に応じて言語を変えてはシステムを作ったり、

永遠とストアドを組み続けたり、それなりに開発業務には携わってきたと思う。

でも得意な言語は?と聞かれたらこれと言って無い。

今でもGoogleが無いとプログラムも満足に書けない。

今日現在まで、プログラムを書いてて楽しいと思った事が無い。

プライベートプログラム書きたいとも思わない。

参考書を買うものの読み切るのは1割程度しかない。それも読むだけ。

買う理由も「覚えないとヤバイ」というプレッシャーで買うばかりだ。

たまに凄いWebサービスに出会うと興奮して、こういうサービス作りたいな、と考えが巡り

先駆けて開発環境を構築したりするけど、構築した時点で満足してその情熱も1日で冷めてしまう。

IT技術には興味はあるが、細部の技術に触れると途端にめんどくさくなる。

この業界、向いてないんだろうか。

それにこの業界に携わり続けたいという気持ちも全くない。

かと言って今更キャリアチェンジも厳しいような気はしてる。

現在28歳。

これから何処に向かっていいのか分からなくなってきた。

2010-02-03

http://anond.hatelabo.jp/20100129160909

PerlPHPもいいよ。

JSPより書きやすいから。

それに仕事だから嫌でもしなきゃならんし。

2010-01-29

http://anond.hatelabo.jp/20100129160909

流行は追っておこうな。

俺は今はPHP/Ruby使いで、昔使ってたPerlはもう忘れちゃったけど。いわゆる「モダンPerl」の流れで、Perlは1年くらい前から再評価されている。

PlackCatalyst、Coro、AnyEvent、Mooseなど、むしろPerl最近機能が全部揃っているイメージがある。

それと、古い事、枯れている事は悪いじゃない。C言語Javaがいい例。

プログラミング言語 基礎文法最速マスターのまとめ

Perl

基礎文法最速マスター元ネタ

Perl基礎文法最速マスター - Perl入門〜サンプルコードによるPerl入門〜

http://d.hatena.ne.jp/perlcodesample/20091226/1264257759]

Ruby

Route 477 - Ruby基礎文法最速マスター - , 1. 基礎 , 2. 数値 , 3. 文字列 , 4. 配列 , 5. ハッシュ , 6. 制御文 , 7. サブルーチン , 8. ファイル入出力 , 知っておいた方がよい文法 , 余談 , (おまけ)Ruby書籍紹介

http://route477.net/d/?date=20100125]

PHP

PHP基礎文法最速マスター | Shin x blog

http://www.1x1.jp/blog/2010/01/php-basic-syntax.html]

Python

Python基礎文法最速マスター - D++のはまり日誌

http://d.hatena.ne.jp/dplusplus/20100126/p1]

昔勤めてた会社の人が「年にひとつぐらいは(仕事以外で)新しい言語フレームワークに触れるといいよ」みたいなことを言っていたのでこれを機に(正直好きではなかった)Perlもはじめてみようかなと。

追記 Java

Java基礎文法最速マスター - 何かしらの言語による記述を解析する日記

http://d.hatena.ne.jp/nattou_curry_2/20100130/1264821094]

LLじゃないのも出てきたので改題。このへんいっぱつで Mece になるようにできないのがしょぼいなー。

ところで増田ではカギ括弧でくくってもリンクが正しく認識されないしhttp記法タイトルリンクにならないしイケてないのなんとかできないのかな。

2010-01-16

大阪大学基礎工学部情報科学科について

大学教育について話題になっているようですので、私が卒業した、大阪大学基礎工学部情報科学科について書いてみたいと思います。

大阪大学基礎工学部情報科学科は、昭和45年に最初に国立大学に設立された情報工学関連学科のうちの一つで、コンピュータサイエンスの分野では日本で最も古い歴史を持っている学科、ということになります。

情報科学科の特徴は、そのプログラミング実習の充実ぶりです。入学すると、まずPascalというプログラミング言語構造プログラミング勉強することになります。次にアセンブリ言語であるCASL勉強し、Pascalアセンブリ言語を応用してC言語勉強します。またその後、スクリプト言語であるPerl関数型言語MLオブジェクト指向言語としてJava学習します。

また、言語だけではなく、コンピュータサイエンスの基本であるアルゴリズムデータ構造についても幅広く学ぶことができます。

全ての実習は課題が出され、実際にコードを書かなければいけません。例えばC言語の授業の最終的な課題は、「shのようなシェルプログラムを作成すること」でした。最終的には、「Pascal風の言語CASLに変換するコンパイラを作成する」という課題に取り組むことになります。

大阪大学は全体的に単位の取得が厳しいことで知られていますが、情報科学科も例外ではありません。もしプログラミングをあまりしたことがないのであれば、遅くまで実習室にこもることになると思います。だけど、それは情報工学世界で生きていくためには必要な知識なのです。

実習で勉強する言語は、Javaを除くとあまり現在使われている主流の言語とは言えないのですが、様々な言語を学ぶのは「プログラミング言語はそれぞれに違いがあり、それぞれに適した用途がある」ことを理解することに繋がります。また大学卒業してから、新しい言語を学ぶ必要が出てきたとき、それに対応する能力を磨くことができます。

日本大学で、ここまで実戦的なコンピュータに関する教育を行っている場所はあまりないのではないか、と思います。コンピュータがどのように動いているのか、内部原理までしっかり教えてくれます。卒業生の進路は、研究者というよりは、エンジニアとして開発の現場で働くことが多いようです。

大阪大学入試問題は、東大京大と違って特殊な問題はそれほど出ません。努力でなんとかなるレベルだと思います。

情報工学は新しい分野なので、大学院研究するために必要な知識は他の分野ほど多くありません。このため情報工学科では、3年生の夏に大学院試験を受けて合格すれば、学部を卒業しなくても4年目から大学院に進むことができます。この仕組みを活用すれば、5年で大学院卒業できます。実際、学部生の1/4くらいはこの仕組みを活用しています。

もちろん、ここに書いたのは情報科学科の全てではありません。ネットにも他に情報がありますし、もし興味があったら、大学オープンキャンパスに行ってみるのもよいと思います。

コンピュータ世界は変化が激しくて、エンジニアとして生きていくのはとても大変ですが、それでもいい、プログラマとして将来何かを作りたいんだという人であれば、ここはそのための力を与えてくれるはずです。進学先として検討してもらえたら幸いです。

2009-12-31

http://anond.hatelabo.jp/20091231110937

そんな時は prototype さんに聞いてみよう! ねえねえ prototype さん、CORE::atan2 の野郎の引数って何なの?

perl -e "print prototype('CORE::atan2');"
$$

あらまー。

配列だめなのかよ

perl -e "print atan2(1,2)"

0.463647609000806

perl -e "print atan2(@ARGV[0,1])" 1 2

Not enough arguments for atan2 at -e line 1, at end of line

Execution of -e aborted due to compilation errors.

えー

2009-12-20

ビジネス・生活-1

日本でしか生きていけないと将来破滅するリスクがあるので、世界中どこでも生きていける戦略のご紹介

あなたは、日本依存症にかかっていませんか?

日本依存症とは、日本でしか仕事を得られず、

日本でしか生活ができなくなる、危険病気です。

日本依存症は、国家依存症の一種であり、会社依存症とよく似ています。

会社依存症の恐ろしさとその回避策

会社依存症とは、ある特定の会社でしか通用しないスキルばかり蓄積して、他の会社では通用しない人材になってしまう病気です。

会社依存症にかかると、その会社経営が悪化して、どんどん待遇が悪くなり、給料を下げられ、「このままここにいても、少しもいいことがないまま年を取っていくだけ」という状況になっても、ひたすらその会社にしがみつくしかなくなります。

また、会社の都合で延々とつまらない仕事をさせられたり、いまいち納得のいかない降格や減給をされても、なかなか拒否しにくくなります。

上司や同僚と相性が合わず、人間関係がこじれてギスギスした雰囲気になり、毎日会社へ行くのが憂鬱になっても、そこに居続けるしかありません。

なぜなら、その会社を辞めると、ほかに行くところがなくなり、路頭に迷ってしまうからです。

このため、このことがよく分かっているエンジニアなどは、その会社の独自製品や独自環境でしか通用しないスキルしかたまらないような仕事をできるだけ避けるようにします。

そして、「広く普及しており、かつ中長期的に需要があり、供給が不足ぎみで、かつ陳腐化しにくいスキル」を戦略的に蓄積します。

たとえば、以下のようなものが考えられます。

・要求分析、要求仕様定義システムアーキテクチャ設計RDBスキーマ設計サーバの負荷分散設計、各種サーバパフォーマンス解析・チューニングデザインパターンマルチスレッドプログラミングシステム管理ネットワーク管理

マネージメントプロデューサ・デザイナ・経営者・営業・顧客との交渉スキルや連係プレースキル

普遍性の高いコンピュータサイエンスの基礎

UnixRDB正規表現JavaPerlTCP/IP.NETC#

日本にはたくさんの会社があり、それぞれが浮き沈みを繰り返しています。

いまいる会社が今後もずっと浮いたままだという保証はありません。

一つの会社依存しきると、その会社が沈むとき自分まで一緒に沈んでしまい、酷い目に会います。

いまいる会社が沈みそうになったら早めに別の会社へ移れるように準備しておくべきではないでしょうか。

国家依存する危険

国家に対しても同じことが言えます。

政府は全ての国民幸せにするような政策を実行するべきですが、必ずそれに成功するとは限りません。

ときに間違った政策を行い、多くの犠牲者を出すこともあります。しかも、その犠牲者を救済するための政策が実行されないこともあります。

もっと最悪なことに、間違った政策で、国全体が沈んでしまうようなことすらあります。

もちろん、そうならないように、われわれは選挙で正しい政策を実行してくれる政治家投票すべきですが、常に正しい政策を実行してくれる政治家自分選挙区から立候補してくれるとは限らず、自分以外の人々が常に正しい政策を実行してくれる政治家投票してくれるとも限らないというのが、世の中の現実です。

だから、どんなに自分が正しい政治行動を取っていても、おかしな政策が実行され、自分の将来が危うくなるリスクは常に存在します。

たとえば、金持ちばかりが得をし、平均的な労働者搾取される最悪の格差社会になってしまうかもしれません。

あるいは逆に、今後スキルアップし、キャリアアップし、実力を身につけて高い年収をゲットしようと思っているのに、高額所得者所得税が大増税されて、酷い搾取に苦しむようになるかも知れません。

あるいは、少子化対策で、実質的独身税をかけられたのと同じような状態になり、結婚するつもりも子供を作るつもりもない人たちの生活の質がかなり落ちるかも知れません。

あるいは、国の医療システムが疲弊しまくって、まともな医療サービスを受けられなくなるかも知れません。あるいは、まともな治療を受けようとしたら、恐ろしく高い料金を徴収されるようになってしまうかもしれません。

あるいは、地方格差を埋めるため、都市部の住民を徹底的に搾取し、地方にじゃんじゃんばらまくような政治が行われるかもしれません。そうすると、田舎に住む人間の暮らしはよくなるかもしれませんが、今後も都市に住み続けるつもりの人間の暮らしの質が大きく低下するかも知れません。

あるいは、非正規雇用を減らし正社員を増やすという名目で、おかしな規制がかけられ、予期せぬ副作用が出て逆に多くの人が職を失うことになるかも知れません。余波で、自分まで失職するかもしれません。残された正社員自分に酷いしわ寄せが来るかも知れません。

労働者保護消費者保護という名目で、過剰に企業の手足を縛るような規制がかけられて、企業の活動が阻害されて経済が悪化したり、企業がどんどん日本から逃げ出すかも知れません。雇用が減り、治安が悪化し、日本が住みにくい国になるかも知れません。

要するに、投資において、全ての資産を一点がけするのが危険投資戦略であるように、自分の生活基盤となる国家を一カ所だけに限定してしまうのも、極めて危険な賭なのです。

今までは日本世界一豊かな国だったので、

この国にずっと住み続けるのが一番賢い戦略でした。

しかし状況は変わりました。

いまや日本よりも豊かな国や都市がどんどん生まれつつあります。

日本などよりも、はるかに先行きの明るい国や都市がたくさんあります。

本来、この惑星には、たくさんの国家があり、それぞれ浮き沈みを繰り返しています。

いまいる国家が、今後もずっと浮いたままだという保証はありません。

一つの国家依存しすぎると、その国家が沈んでいくとき、酷い目に会います。

いまいる国家が沈みそうになったら、早めに別の国家に移れるように、準備しておくべきではないでしょうか。*1

国家依存症愛国心は別の話

こういうことを言うと、「おまえに愛国心はないのか?」と言い出す人間が時々いますが、依存症愛国心とは別の話です。

これは、結婚において、夫を愛していることと、夫に依存することが異なるのと同じことです。

経済的にも精神的にも自立していることと、夫を愛することは両立します。

夫婦仲は冷め切っていて、夫の暴力に怯えながら暮らしているにもかかわらず、夫に経済的に依存しているためにガマンし続けているような状態は、とても健全だとは言えません。

むしろ、特定の国にまったく依存していないにもかかわらず、その国を愛し、その国に貢献することこそ、純粋に打算抜きの愛国的な行為なのではないでしょうか。

そもそも、「いろんな異性とつきあってみて、そのなかから最高のパートナーを見つけ出して結婚する」というのは、少しもおかしなことではありません。

「1人の異性しか知らず、最初につきあった異性と一生添い遂げなければならない」というのはいかにも古めかしい道徳観念です。これは国家についても同じことです。たまたま日本に生まれたからと言って、日本と一生添い遂げなければならないということはありません。

むしろ、さまざまな国に住んでみて、そのなかから、自分にいちばんあった国に落ち着き、添い遂げる、という人生も十分にありなのではないでしょうか。

日本以外にも快適に暮らせる国や都市はたくさんある

日本以外で暮らしたことのない人々の中には、日本だけが世界で唯一暮らしやすい場所で、日本以外には暮らしやすい場所などないと信じて疑わない人もときどきいるようですが、そんなことは決してありません。

むしろ、日本よりもはるかに、晴天の日が多く、気候が温暖で、からっとさわやかで、毎日気持ちよく暮らせる国や地域がたくさんあります。

食べ物も美味しく、人々も気持ちよく、街の各種施設も充実しており、遊び場所もたくさんある快適な都市世界中にたくさんあります。

どんなところでも、けっこう住めば都なのです。

また、日本以外の国は治安が悪くて暮らしにくいという偏見を持っている人もいますが、どんな国でも、きちんとした安全対策を講じ、危険地域に近寄らないようにすれば、それなりに安全に快適にくらせるものです。

それに、どうせネット環境さえあれば、世界中どこでも、twittertumblrmixiで遊べるし、ブログコメント欄クネクネすることもできるし、2ちゃんでだらだら過ごすことも出来るし、エロ画像ダウンロードすることもできるし、はてブ脊髄反射的なコメントを付けることもできるし、はてなスターを連打しまくって顰蹙をかうこともできるのです。

「わたしは(この国に生まれたというより)この惑星に生まれたのだ」という感覚を持ちながら生きるというのは、広々とした感じがして、なかなか気持ちの良いものです。

せっかくこの美しい惑星に生まれたのに、日本という小さな小さな島国に引きこもったまま一生を終えるのは、じつにもったいないことではないかと思えてきます。

依存症からの脱出は難しい

ギャンブル依存症アルコール依存症買い物依存症恋愛依存症セックス依存症、たいていの○○依存症は、そこから抜け出すのに苦労するように、日本依存症も、一度それにかかると、そこから抜け出すのにかなり苦労します。

簡単に日本依存症を抜け出す方法などありません。

また、タバコ依存症から抜け出すために、さまざまな方法があるように、日本依存症から抜け出すにも、さまざまな方法があります。

資産運用、または、プチ資産運用による脱日本依存

日本依存症から抜け出す一番効果的な方法は、実は、英語力をアップすることではなく、日本の外でも安定した収入源を得られるようにすることです。(もちろん、最低限の英語力は必要ですが)

特定の国家依存しない収入源を確保するわけです。

これに一番効果的なのが、資産運用で暮らせるようにすることです。

利回りのよい債権株式自分資産分散投資し、運用することは、どこの国に居住していてもできます。

日本国債株式資産運用していたとしても、日本に住んでいなければ運用できないということはありません。世界中どこに住んでいても、日本国債株式資産運用することは可能です。

それどころか、そもそも、日本国債日本株式資産運用しなければならないということはありません。

むしろ、全資産を円ベースに一点がけしてしまうと、今後円安が進んだときに、自分資産が大きく目減りしてしまうというリスクを抱え込むことになります。

資産は、全世界分散投資しておいた方が安全だし、世界全体の経済は、多少の波はあるものの、中長期的にはつねに成長し続けているので、正しくポートフォリオを組んで、世界中分散投資しておけば、それほどひどいことにはなりません。

だから、いったん資産運用で暮らせるだけの資産を蓄積してしまえば、日本依存症からの脱却はかなり容易になります。

ここで、「日本キャピタルゲイン課税の大増税を行ったら、資産運用では暮らしていけなくなるのではないか?」という疑問がわく人もいるでしょうが、そうでもありません。

まず、税金の徴収には、属人主義と属地主義の二つの方式があります。

属人主義とは、その人間国籍のある国に税金を納めること。

属地主義とは、その人間が居住している国に税金を納めること。

日本属地主義なので、自分が居住している国や地域税金を納めることになっています。

このため、日本キャピタルゲイン課税の大増税が行われたとしても、海外で暮らしている限り、影響を被ることはありません。*2

現在、属人主義を採用しているのは、アメリカフィリピンぐらいなもので、極めて例外的なケースです。

ですから、今後日本が属人主義に変更するリスクは、とても低いと思われます。

また、万一、日本が属人主義に切り換えたとしても、ある程度の資産を持つ人間国籍を与えてくれる国は、けっこうあります。

日本が属人主義に切り換え、さらにきわめて重いキャピタルゲイン課税をかけてきたら、単に国籍を切り換えればいいことです。

ただ、問題は、資産運用で暮らせるようになるほどの資産を蓄積することが難しい、ということです。

そのため、当面は、収入の全てを資産運用だけで稼ぎ出すのではなく、収入の一部だけでも資産運用で稼ぎ出すような状態を目指してみてはどうでしょうか。

資産運用というより、プチ資産運用です。

そうすると、日本がヤバくなったので、脱出して海外で職を得たのはいいが、最初のうちはまだ英語にも不慣れで、十分な収入を得られないというようなケースでも対応できます。

世界標準のITスキルによる脱日本依存

たとえば、前述のUnixWebRDBJavaPerl.NETC#など、世界中に普及している技術の場合、そのスキルを身につけることで、日本依存から抜け出すことができます。

また、これらに関連する要求仕様定義オブジェクト設計技術デザインパターンを適切に使いこなしたクラス設計プロジェクトマネージメントスケジュール管理なども、特定の国家依存しないスキルです。

これらのスキルを身につけたITエンジニアは、さまざまな国で職を得ることが出来ます。

実際、ボクの知り合いでも海外で働いているプログラマーがいます。

むしろ、日本よりも快適に働いているようです。

もちろん、これらの技術は、会社依存症から脱却するための技術としても有効で、きわめて安全性の高い技術だと言えます。

これらの標準的なITスキルは、このように、会社国家を超越して有効ですが、それ以上に驚きなのは、かなりの長い時間をも超越する力を持っているということです。

たとえば、unixの基本アーキテクチャはボクが知っているだけでも十数年、ほとんど変わってません。マルチスレッドプログラミングデザインパターンも十数年前に身につけたスキルは、かなりの部分、いまでもそのまま役に立ちます。はるか昔に覚えた、クロージャ再帰を使ったさまざまなプログラミングテクニックも、RDBスキーマ設計スキルも、ほとんどが、いまだに現役です。

TCPUDPIPHTTPSMTPPOPなどのプロトコル類もいまだに基本はほとんど変わりません。新しく登場した.NETC#にしても、過去にマスターしたスキルにほんのちょっと上積みしたぐらいのわずかな薄皮でしかなく、いままで蓄積した基本スキルはそのまま通用します。Haskellのような関数型言語ですら、似たようなコンセプトのプログラミングアーキテクチャは昔からあり、十数年前にマスターした技術の延長線上でなんなくマスターできます。

このように、長期的に安定した技術スキルを選んで身につけるようにすれば、会社国家時間を超えて、安定した収入源を確保できるのです。

ただ、注意しなければならないのは人材の需給バランスです。とくに、インドや旧共産圏からのプログラマの大量供給は要注意です。

一方で、ヨーロッパBRICsVISTAなど、世界中で急速に経済が発達しており、ITエンジニア需要が今後も全世界的に巨大化し続けるのは確実です。

ここでのポイントは、下級エンジニアや中級エンジニアは、需要はそれほど拡大しそうにないのに、供給は膨大になると思われるので、リスクが大きいということです。

つまり、下級エンジニアや中級エンジニアの場合、海外に行くと、日本にいたとき以上に悲惨になる可能性があります。安易に日本から出て行くべきではないでしょう。

一方で、上級エンジニア技術分野にもよりますが、今後、世界中で爆発的に需要が拡大することが見込まれていますが、供給が不足する可能性は十分に考えられます。

従って、自分が今後上級エンジニアになる可能性があると考えている人たちは、この戦略に沿って日本依存症から脱却しておいたほうが良い可能性が高いです。

あと、もう一つ考慮すべき点は、上級エンジニアになるような人は生産性が高いため、今後、高額所得者になる可能性があるということです。

現在日本では、格差是正の機運が大きく盛り上がっています。

今後、この機運の盛り上がりに押されて、高額所得者を狙い打ちする形で大増税が行われ、酷い搾取の対象にされるリスクもあります。

このリスクに対する保険という意味でも、早めに日本依存症治療し、いつでも仕事と生活の場を海外に移せるようにしておいた方が安全かもしれません。

●スモールビジネスによる脱日本依存

日本人海外で暮らしてみると、さまざまな小さなニッチビジネスのチャンスに気がつくことがあります。

たとえば、日本にはあって当たり前なのに、その国にはない商品やサービス

それは、日本のやり方を現地方式にアレンジすれば、それなりに繁盛する商売ができるかもしれません。

あるいは逆に、その国のおもしろい商品やサービスで、アレンジすれば日本でもウケそうなもの。

もしくは、現地の安い人件費を利用して、何かを作らせ、日本に持ち込むというパターンもあるでしょう。

実際、ネパールに小さな工場をもっていて、そこで自分デザインした服を作らせ、日本に輸入して販売しているという女性に会ったことがあります。

こういうビジネスネタをみつけたとき、スモールビジネスを興すスキルを持っていると、そのチャンスを活かして、その国で商売をはじめることができたりします。

とくに、最近急速に豊かになったアジアの国々では、日本がかなりブランドになっています。

とくに富裕層は、日本のさまざまな質の高い品々やサービスを求め、日本の産物に信仰のようなものを抱いています。

これをうまく利用することで、いろいろなニッチビジネスを作り出すことができるかもしれません。

スモールビジネススキルとは、小さな会社向けのマーケティングマネージメント、経理などのスキルです。

たとえば、どんな小さなビジネスでも、どんな商品を、どんな顧客に売るのか、そのために、商品にはどのような魅力がなければならないのか、顧客は、どういう理由でその商品にお金を払うのか、どのようにして利益が出る構造になっているのか、などのビジネスモデルを組み立てなければなりません。

そして、いざ、ビジネスプランが出来たら、場合によっては人を雇い、契約を結び、信頼関係を作り上げ、法律に則って取引しなければなりません。関係者全員が気分良く仕事できるように、win-win構造を作り出す必要があります。

また、さまざまな法律を調べ、その法律に則ってビジネスを運営する必要があります。

さらに、会社を設立し、会計ソフトで帳簿を付け、経理と資金の管理をする必要があります。

また、予算計画を立て、融資なり出資なりで資金を調達する必要もあります。

こういう小さなビジネスを最小限の規模ではじめてみて、いざ、顧客の反応が上々だったら、しだいに規模を拡大していけばいいのです。

思ったより反応が悪ければ、早期に撤退するか、あるいは、やり方を変えて再度トライしてみたりすればいいでしょう。

そして、スモールビジネス醍醐味は、たまたま大ヒットしたときのうまみです。

日本サラリーマンの頂点とも言える、上場企業社長年収でも、たかだか4000万円にしかなりません。

これに比べ、スモールビジネスをヒットさせた場合、実質的年収1億円を優に越えてしまうということは、それほど珍しくないのです。

実際、ぼくの知り合いにもそういう人がいます。

「たかが自営業」とばかにできるようなもんでもないのです。

自営業は、あたると凄いんです。

●共通して必要な日本脱出アイテム

どのようなモデル日本依存を脱却するのであれ、共通して必要な Permalink | 記事への反応(0) | 22:10

2009-12-10

PHPのあの関数Perlでやるには?

元ネタ http://phpspot.org/blog/archives/2009/12/phpjavascriptph_1.html

面白そうだと思ったので僕もやってみた。モジュールPerl5.8系の標準モジュールのみ利用可という制限。

全部はキツイので関数処理関係の関数(http://php.benscom.com/manual/ja/ref.funchand.php)だけ実装してみた。

use strict;
use warnings;

=head2 call_user_func

 $ret = call_user_func($function,@param);
 $ret = call_user_func([$class,$method],@param);

example1

 sub plus { $_[0] + $_[1] }
 print call_user_func('plus',10,20); # 30

example2

 package Foo;
 sub plus { $_[1] + $_[2] }
 package main;
 print call_user_func(['Foo','plus'],10,20); # 30

=cut

sub call_user_func {
    my $proto = shift;
    if ( ref $proto eq 'ARRAY' ) {
        return $$proto[0]->${\$$proto[1]}(@_);
    }
    else {
        require Pod::Functions;
        if ( $Pod::Functions::Flavor{$proto} ) {
            return eval qq{$proto(\@_)};
        }
        else {
            no strict 'refs';
            return $proto->(@_);
        }
    }
}

=head2 call_user_func_array

 $ret = call_user_func_array($function,\@param);
 $ret = call_user_func_array([$class,$method],\@param);

example

 sub plus { $_[0] + $_[1] }
 print call_user_func_array('plus',[10,20]); # 30

=cut

sub call_user_func_array {
    return call_user_func(shift,@{+shift});
}

=head2 create_function

 $code = create_function($args_str,$code_str);

example

 $code = create_function('$c,$d=1','print $c+$d');
 $code->(10); # 11

=cut

sub create_function {
    my $args = shift;
    my $code = shift;
    my $default = 0;
    my @args = split /,/,$args;
    my $code_str = 'sub {';
    for my $arg (@args) {
        if ( $arg =~ /^\s*(\$[a-zA-Z][\w]*)\s*(?:=\s*(.+))?\s*$/ ) {
            my $val = $1;
            my $def = $2;
            if ( defined $def ) {
                $default = 1;
                $code_str .= qq{my $val = \@_ ? shift : $def;\n};
            }
            else {
                die 'parse error' if $default;
                $code_str .= qq{my $val = shift;\n};
            }
        }
    }
    $code_str .= $code . '}';
    my $sub = eval $code_str;
    die $@ if $@;
    return $sub;
}

=head2 forward_static_call

 $ret = forward_static_call($function,@param);
 $ret = forward_static_call([$class,$method],@param);

=cut

sub forward_static_call {
    call_user_func(@_);
}

=head2 forward_static_call_array

 $ret = forward_static_call_array($function,\@param);
 $ret = forward_static_call_array([$class,$method],\@param);

=cut

sub forward_static_call_array {
    call_user_func_array(@_);
}

=head2 func_get_arg

 $arg = func_get_arg($no)

example

 sub foo { print func_get_arg(1) }
 foo(100,200); # 200

=cut

sub func_get_arg {
    my $n = shift;
    package DB;
    @DB::args = ();
    () = caller(1);
    return defined $DB::args[$n] ? $DB::args[$n] : undef;
}

=head2 func_get_args

 @args = func_get_args()

example

 sub foo { print join ':', func_get_args() }
 foo(11,22,33); # 11:22:33

=cut

sub func_get_args {
    my $n = shift;
    package DB;
    @DB::args = ();
    () = caller(1);
    return @DB::args;
}

=head2 func_num_args

 $arg_count = func_num_args()

example

 sub foo { print func_num_args() }
 foo(11,22,33); # 3

=cut

sub func_num_args {
    my $n = shift;
    package DB;
    @DB::args = ();
    () = caller(1);
    return scalar @DB::args;
}

=head2 function_exists

 $bool = function_exists($func)

example

 sub foo {}
 print function_exists('foo');  # 1
 print function_exists('bar');  # 0
 print function_exists('rand'); # 1

=cut

sub function_exists {
    my $func = shift;
    return 1 if exists &$func;
    require Pod::Functions;
    return $Pod::Functions::Flavor{$func} ? 1 : 0;
}

=head2 get_defined_functions

 $funcs = get_defined_functions()

=cut

sub get_defined_functions {
    require Pod::Functions;
    return {
        internal => [ keys %Pod::Functions::Flavor ],
        user     => [ grep { exists &$_ } keys %:: ],
    };
}

=head2 register_shutdown_function

 register_shutdown_function($func,@param);
 register_shutdown_function([$class,$method],@param);

=cut

{
    my $REGISTER_SHUTDOWN_FUNCTION = [];
    sub register_shutdown_function {
        my $proto = shift;
        push @$REGISTER_SHUTDOWN_FUNCTION, [
            do {
                if ( ref $proto eq 'ARRAY' ) {
                    $$proto[0]->can($$proto[1]);
                }
                else {
                    require Pod::Functions;
                    if ( $Pod::Functions::Flavor{$proto} ) {
                        sub { eval qq{$proto(\@_)} };
                    }
                    else {
                        no strict 'refs';
                        \&$proto;
                    }
                }
            },
            [@_]
        ]
    }
    END {
        $_->[0]->(@{$_->[1]}) for @$REGISTER_SHUTDOWN_FUNCTION;
    }
}

思ったよりも難しかった。標準関数一覧を取る手段がなかったので標準モジュールを利用して標準関数の一覧を取得した。

あと文字列から標準関数を呼び出すスマートな手段が思いつかなかったのでeval便りに。

create_functionはかなりゴリ押し。myを勝手に付けたりデフォルト引数にも対応してたり細かい芸が光る(自分で言うな)

forward_static_callはぶっちゃけPerl的にcall_user_funcと殆ど処理が変わらないのでそのまま利用。

func_get_arg系は結構クリティカルだなー。@DB::argsをリアルに使ったの初めてだよ。

register_shutdown_functionはちょっとねー。ENDブロックを利用してるわけなんだけど当然mod_perlとかではうまく動かない。あとシグナルとか使った方が良いのかもしれない。

ヒマがあったら他の関数とかも実装してみたいかも。

プログラ増田のあなぐら

2009-11-07

マスゴミ」という単語を聞いてなんだかなと思ったマスコミ嫌いの私が偉そうに語ってみる

トラバはしてますが話題はマイコーじゃないです。マイコーにハマった若者のちょっと迂闊だったかなって発言に対して、ちょこちょこ考えてみたって文章です。ちなみに私自身は、マイコーは大好きです。


http://anond.hatelabo.jp/20091107102619

そもそも「マスゴミ批判」っていうのがあまりにも短絡的なんだよね。もちろんマスメディアがアレなのはみんな知ってるけれども、じゃあ無かったらどうなる?ていうかマスコミ以外はゴミじゃないの?それって、庶民の第四の権力に対するルサンチマンじゃね?とかとか、いくらでも(一定以上教養のある)オトナは考える。

ニコニコマイコー動画を観ると「マイコー=神」「マスコミ=神に対する反逆者、ゴミ」という安直コメントが目立つけれども、あそこのサイトは年齢層が下がるほどアクティブユーザー率が高いので(そもそもニワンゴ親会社であるドワンゴはガキんちょに着メロ買わせて儲けまくって会社だった)、教養ある人は苦笑いで見てます。

そして、その賢い人たちはニコニコが非同期型コミュニケーションであり議論が成立しえないことは理解しているので、それに対する苦言は動画上ではしません。荒れるだけだって分かってるからね。よって、あそこには声のでかい極論ばかりが残ることになる。

マスゴミって単語そのものが2ch内でも痛いとされている板、それをコピペしてるアフィブログニコニコ、それぐらいでしか盛んに使われていないので、気をつけた方がいいです。教養ってもんは文章内の単語のはしっこから判断されます。

追記

国語テスト(笑)とか言ってたんで中高生かと思ってたら、大学は通ってんのか。うへぇ

追記2

ブコメへ。

国語テスト」と表記するのは高卒がいるからだと思う。現に私は高卒。 / 一般的人に教養はいらないような気がする。配達員が大学資格持っても……あればいいけど、使うことはない。大卒資格よりも免許の方が大事

なんていうかな、決してあなたをバカにするわけじゃないんだけれども、ああ高卒の友人に「教養」を語るとこうなるよな、と懐かしい思いがした。(最近大卒でもそうなんでホント学歴差別で言ってるんじゃないです)

まず前提として、「教養」ってんのは純然たる知識量とは比例しないんで、「大学教育を受ければ教養人」「院卒なら教養人」「読書人なら教養人」ってんのとは違うんですね。

具体的に名前を挙げると失礼かもなんですが、小飼弾さんとか私の数倍本を読んでいるし、先日出された本では「IT界の知の巨人」などと言われたりしていますが、率直に言えば彼は無教養なんですよ(多分ですけどいわゆる教養人はみんなそう思っていると思います)。無論それは彼が大学中退だからとか、最終学歴中学だからとか、そんなことは問題じゃあないんです。端的に言うと、彼は「いくら本を読んでも学ばず、知識量そのものが増えつづけるだけ」のマシーンのような方でして、特に社会科学、人文系に関する発言はそれはもうボロボロです。

小飼さんを馬鹿にしても意味がないし、彼はオープンソースだのPerl世界だので頑張ってるから後の戯言は笑って聞き逃してやれよとも思うので話題を戻すと、じゃあ「教養」とか「知(知識、ではないよ)」とか「常識」ってなんなの?っていうと、一言で表現するならば「だまされない力」「主体的に判断できる力」「他者の意見を受け入れて、それの薫陶を受けつつも、鵜呑みにはせず、考えを止揚させていける力」といったところでしょうか。

つまりですね、「マスゴミは糞だ、信じるな」と言われて「そうだな、糞だ!」と言ってるようじゃダメなんです。いわゆるメディア・リテラシーといってマス・メディア情報の真偽を自分で判断する力を、増田さんはロクに持ってないですと暴露してしまっているんですね。

ネウヨの話をもうひとつ挙げるならば、「民主なんかが政権を握ってしまった、日本オワタ」「麻生さんがよかったのに」ってんのも、全然ダメじゃないですか。けれども、じゃあ民主があの支持率通り素晴らしい政党かといえば、それも違うじゃないですか。

あなたは教養なんていらないと言ったけれども、残念ながら間接民主制において経済学の知識と政治学の基本、各政党政治家の特徴に関する知識が皆無なまま生きていくのは、実はかなり危険なことなんですね。私は高卒でも中卒でも、職人のような技ができたり、人望があったり、そういう人間尊敬しています。が、そういう人だとしても、教養なんか無意味かというと、そりゃあった方がいいと思うんですよ。

年収200万代の知り合いが小泉郵政選挙自民党に票を入れたとき、「おいおいお前は共産党に入れた方が絶対に得すると思うぞ」と思いました。私はその時は自民でしたけど、それは率直に言えば金があったからであって、彼の場合左翼政権下の方がとりあえずうまい飯は食えるってことが分かっていない。

何度も言うように「知識」があっても考えられないやつはバカなんですが、「考えるために必要となる知識」はないと困るんですね。本来「教養」とは、よりよく生きるため十分条件ではないですが、必要条件ではあるのです。(必要・十分条件をもしご存じないならばググってください)


話が散漫になってしまい、申し訳ない。「教養」という言葉に関する認識が違ったようなので、できるだけ多めに例を挙げてみたのですが、うまくいったとは言いがたくてごめんなさい。

もちろん勉強することと他のことをするのはトレードオフ(知らないならググってください)の関係にありますので、そこらへんの兼ね合いは各自にまかせればいいと思っていますが、ある程度は勉強、した方が得だと思いますよ。やっぱり。

2009-10-24

はてな人検索社会に貢献しているはてなIDを教えてください

 

はてなの一般ユーザー(社員除く)で社会に貢献しているIDを教えてください。

ぱっと思いついたIDを列挙してみます。

ekken:口癖が基地外。貢献度2ぐらい?

タケルンバ:学部生でも書かないようなレポートブログ。貢献度4ぐりゃい?

ululun:がんばる男。特に貢献している箇所は見つからないが頑張ってるから貢献度20あげるよ

kanose:昔がんばってた男。あなたがいなくなってから変な人(僕含む)が野放しになってるよー

otsune:perlで頑張ってる男。貢献度50ぐらい?

 

 

よろぴこ☆

2009-10-22

IT系20代中盤。

求人はCが出来てJavaも出来てDB,SQL,Perl,PHPも出来て実務が3年以上でリーダー経験詳細設計経験が出来て300万。

それに引き替えエネルギー大手に勤めているおっさんは今日もやることなかったとか抜かしやがって年収1000万。

なんなんだよこの格差は。

2009-10-15

とりあえず国内ポータルにいろいろ無駄弾うって待遇を比較してみるか

こうほ

perl使いなら選択肢が広いんだろうなあ

perlはあんまり…

rockyouasiaとかどうなんだろうな

はてなはあんまり…

so-netってのもあるか

2009-10-04

グーグルマップ壁紙にしてみる

10/18 改訂

グーグルマップ航空写真をつなげて一枚にするスクリプト

なお、取得した画像著作権グーグル他各社が保持しています。

ご利用は計画的に私的範囲でどうぞご利用ください。

#!/usr/bin/perl

use strict;
use warnings;
use Getopt::Long;
use LWP::UserAgent;
use GD;

my $cmdline = join(" ", $0, @ARGV);
my $usage = "usage: $0 -sx=116423 -sy=51603 -ex=116426 -ey=51605 -dx=4 -dy=3 -z=17 -size=300 -get=30 -dir=cache -output=output.jpg -nodebug";
my ($sx, $sy) = (0, 0);
my ($ex, $ey) = (0, 0);
my ($dx, $dy) = (4, 3);
my $z = 17;
my $size = 300;
my $get = 30;
my $dir = "cache";
my $output = "output.jpg";
my $debug = 0;
GetOptions("sx=i" => \$sx, "sy=i" => \$sy,
	   "ex=i" => \$ex, "ey=i" => \$ey,
	   "dx=i" => \$dx, "dy=i" => \$dy,
	   "z=i" => \$z,
	   "size=i" => \$size, "get=i" => $get,
	   "dir=s" => \$dir, "output=s" => \$output,
	   "debug!" => \$debug) or die "$usage\nDied";
if ($ex == 0) {
    $ex = $sx + $dx;
} else {
    $ex++;
    $dx = $ex - $sx;
}
if ($ey == 0) {
    $ey = $sy + $dy;
} else {
    $ey++;
    $dy = $ey - $sy;
}
$sx>0 and $dx>0 and $sy>0 and $dy>0 and $z>0 and $dir and $output
    or die "$usage\nBad arguments";
$dx*$dy > $size and die "Getting too large.";

$debug and print "debug: mkdir $dir\n";
mkdir $dir;
-d $dir or die "can't make dir $dir: $!";

my $base = sprintf("http://khm%d.google.co.jp/kh/v=46&z=%d", int(rand(4)), $z);
my $ua = LWP::UserAgent->new;
printf "now get %d images...\n", $dx*$dy;
for (my $x=$sx; $x < $ex; $x++) {
    for (my $y=$sy; $y < $ey; $y++) {
	my $file = sprintf("%s/%02dz%06dx%06d.jpg", $dir, $z, $x, $y);
	$debug and print "debug: check of $file\n";
	-s $file and next;
	--$get < 0 and last;
	my $req = HTTP::Request->new(GET=>+"$base&x=$x&y=$y");
	$debug and print "debug: fetch from ".$req->uri."\n";
	my $res = $ua->request($req);
	unless ($res->is_success) {
	    print "fail fetch from $file: ", $res->status_line, "\n";
	    next;
	}
	if (open(my $fh, ">", $file)) {
	    $debug and print "debug: write of $file\n";
	    binmode $fh;
	    print $fh $res->content;
	    close $fh;
	} else {
	    print "fail open in $file: $!\n";
	}
    }
}
$get < 0 and print "reach the getting limit, skip after all.\n";

printf "creating %dX%d image...\n", 256*$dx, 256*$dy;
my $image = new GD::Image(256*$dx, 256*$dy);
for (my $x=$sx; $x < $ex; $x++) {
    for (my $y=$sy; $y < $ey; $y++) {
	my $file = sprintf("%s/%02dz%06dx%06d.jpg", $dir, $z, $x, $y);
	$debug and print "debug: check of $file\n";
	-s $file or next;
	$debug and print "debug: read of $file\n";
	my $part = GD::Image->newFromJpeg($file);
	$debug and print "debug: image copy\n";
	$image->copy($part, 256*($x-$sx), 256*($y-$sy), 0, 0, 256, 256);
    }
}
#$image->string(gdSmallFont, 0, 0, $cmdline, $image->colorAllocate(255, 255, 255));
open(my $fh, ">", $output) or die "fail open $output: $!";
$debug and print "debug: write of $output\n";
binmode $fh;
print $fh $image->jpeg();
close $fh;

例えば秋葉原とか

perl gmwall.pl -sx=116423 -sy=51603 -ex=116427 -ey=51606

駅だけとか

perl gmwall.pl -sx=465701 -sy=206420 -ex=465705 -ey=206423 -z=19

使う数値はfirebugなどで拾ってください。

2009-09-30

http://anond.hatelabo.jp/20090930000930

たしかにjavascriptをきっちりマスターすれば、それは強みになるかもしれない。

しかし、いかんせんアクが強すぎる。王道になり得ない。

まず、javascriptだけで完結しない。どうしてもサーバイドが絡む。

いや、javascriptで完結できるよ、と思うかもしれないが、それは特殊だ。ニッチだ。

何を言っても今のところ、javascript組込み言語の域を出ていない。

実行環境が特殊過ぎる。

ファイルシステムがあってプロセスがあってネットワークがあるOSに透過な環境で動かない。

DOMがあってHTTPデータが運ばれてシングルタスク的な環境になってる。

そして、クラス/インスタンスモデルではなく、プロトタイプチェーンモデルだ。

初心者が最初に深く突っこむ言語としては特殊過ぎる。

サーバソフトウェアから使い捨てプログラムまで書くような言語ではない。

第二言語止まりだ。母国語にならない。

プログラミングの体験には良いかもしれない。オブジェクトを体験するには良いかもしれない。

しかし、程々にして他の言語に移った方が良い気がする。

javascriptを極める前にマルチリンガルを目指せ。

……。

当たり前か。

一つの言語で満足できるわけない。

プログラミング勉強するならJavaScriptもCもpythonもついでにjavaperlも。

2009-09-08

転職に成功したので書いておく

田舎から上京して東京のとある著名な私大に在籍。その1年目にして叔父がまさか倒産。両親が保証人になってたせいで、家族全体として多額の借金を背負う。学費稼ぎのためにコンビバイトを始めるが、逆に単位を落としがちになり、その結果、育英会奨学金が止まった。生活で精一杯のため大学中退することにした。なぜか両親の逆鱗に触れ、勘当される。このとき2000年成人式を終えたばかりの春だった。

大学中退高卒扱いだ。学歴武器仕事しようと思っていたために、どうやって生きていけばいいのか目標を見失った。一人暮らしだから無職にもなれない。まずコンビニバイトをやめようと思った。

最初は新社会人の就職活動と同じような感覚マイナビをひとしきり見てたのを覚えてる。ここで給料相場観を掴み、フロムエーとかanで求人を探した。技術が身につくなら何でも良いと思っていたが、求人からIT技術者人口が相当薄いんだろうという事を感じた。その結果「IT企業で雑用ができる」「初心者歓迎」のような説明のある企業に応募することが多くなった。

IT企業ではないが「システム部門での雑用」ができる中小企業があったので応募。「残業できますんで働かせて下さい、中退した理由は色々ありますが、とにかく仕事がしたいんです」と素直に申し出たところ、賞与がないという条件付きで採用された。月給17万前後新入社員歓迎の飲み会全裸になったのが大ウケしたのが良かった。バカ田大学のバカが来たと言うような感じでバカにされながら仕事したが、それでも真面目に雑用をこなしているうちに徐々にシスアド仕事ができるようになってきた。

この会社で覚えたことは結構ある。

この結果、最終的には社内で使うサイトを構築から任されることになった。資格でもプログラム言語でもないが「仕事する人にとって使いやすいWebサイトGUI)を作る」というデザイン技術は確実に身についたと思っている。

働き始めて2年目で初級シスアド基本情報に挑戦して両方とも合格した。このとき情報シスアドも挑戦したが午前科目で不合格。これは翌年も挑戦して合格した。

コツコツ貯めたはした金で、株式にも挑戦する。ちょうど紙幣バラ撒きのパフォーマンスで有名な「あしぎん株」騒動に乗っかり、30万円の大損をする。ここで自分には儲けるセンスがないことを思い知る。しかし仕事に対するモチベーションを大きく上げることになったと思う。

この会社では色々な知識が入ってきてレベルに応じた仕事ができるいい環境だが、入社条件があるだけに、どんなに頑張っても昇給はなさそうだと考えるうちに将来が不安になった。クレジットカードショッピング枠のリボ返済がきつくなり、返済に追われるように転職を決意する。2006年

ここで参考にしたサイトは Re就活マイコミ。物は試しと色々なIT企業面接に出向くも、ほぼ全滅。採用されたとしてもマルチまがい商法に参加するような会社だったりして、入社後すぐ辞めたりした。

面接に落とされた原因は恐らく4点。

技術専門用語で語れないこと。
例えば「ワン側の設定もできる?」「経験のあるフレームワークは?」と言われても曖昧な返事ばかりしてた。仕事場で身につけたノウハウと、その内容を指し示す用語が頭の中で全然リンクしておらず、チグハグな回答しかできないのである。それを説明するために専門用語があるのだ、と思いながらとにかく用語を勉強した。
活舌が悪いこと。
自分の声をマイクで録音し再生してみた。そしたら実際恥ずかしい活舌だった。こんな努力は誰にも見られたくないと思いながらも、とにかくマイクに録音して治す作業で、苦手なサ行を治した。まだ治りきっていないけれど、自分の声を聴いて「自分の声じゃないわぁ」と言っているうちは自分の声を理解してない、そう思うように頑張った。
人相が悪いこと。
まずマユゲを整えるようにした。知り合いに会うたび「印象変わったねー、マユゲ剃ってるーwwwおっかしーwww」と屈辱を受けるも、なんとか耐えた。そして、2ヶ月に1回は美容室に行き短髪にするよう心がけた。最初は入るの出るのも恥ずかしかったが、2回目、その美容室お姉さまに「久しぶりー!伸びるの速いねー!」と可愛く言われたのが妙に嬉しくて、それ以降美容室に抵抗なく行けるようになった。あと、自分の顔はヒゲがあったほうがカッコいいらしいと言うことも分かる。第三者の意見は大事だと思った。
自分に自信がないこと。
高級デリヘルを頼んだ。即解決した。あの150分は今でも強烈に記憶に残っている。

今までやってきた仕事をどう面接で表現するのか、何が目的で働きたいのか、今から働こうとするその会社に対してどのような手段で貢献するのかを正しく話すことができれば、それだけでいいんじゃないか、と思うようになりました。その結果、会社ニーズマッチしていないことが分かれば、素直に他あたるのも大事だなぁとも思うようになりました。

上場を目指す会社に運よく入ることができ、年収が1年目350万。しかし社内システム関連業務全体における役付きの地位がまわってきて、このご時勢で入社3年目にして900万まで伸びました。そして今に至ります。

2009-09-07

_why失踪記念age

───アタシの名前Ruby。パーザに傷を負った軽量言語ゆるふわ仕様で動的型付けの愛されランゲージ♪

アタシがつるんでる友達はどうとでも書けるPerl学校にナイショで

エンタープライズで働いてるPython。訳あって不良グループの一員になってるPHP

 友達がいてもやっぱり学校タイクツ。今日PHPとちょっとしたことで口喧嘩になった。

LL同士だとこんなこともあるからストレスが溜まるよね☆そんな時アタシはselfでmodule_evalすることにしている。

がんばった自分へのご褒美ってやつ?自分らしさの演出とも言うかな!

 「あームカツク」・・。そんなことをつぶやきながらしつこいRails案件を軽くあしらう。

カノジョー、ちょっとSNS作ってくれない?」どいつもこいつも同じようなセリフしか言わない。

Railsの男はカッコイイけどなんか薄っぺらくてキライだ。もっと等身大のアタシを見て欲しい。

 「すいません・・。」・・・またか、とYARVなアタシは思った。シカトするつもりだったけど、

チラっとRailsな男の顔を見た。

「・・!!」

 ・・・チガウ・・・今までの男とはなにかが決定的に違う。スピリチュアル感覚がアタシのカラダを

駆け巡った・・。「・・(カッコイイ・・!!・・これって運命・・?)」

男は_whyだった。連れていかれてCampingされた。「キャーやめて!」Hpricotをきめた。

「ガシッ!ボカッ!」アタシは死んだ。ベーコン(笑)

2009-08-30

http://anond.hatelabo.jp/20090830143255

あなたが無能でない限り、どんな言語の知識でも多少は他の言語に生かせる。けど、PHPは多少変わってるから、他の言語よりは生かしにくいかもね。

どの言語も、過去の言語から多少なりとも影響を受けながら作られてるので、そういう意味では、その中で一番古いperlがいいのかもしれない。

けど個人的には、CGIならまずRubyを勧めたいところ。理由は特にない。ていうか、その4つの中で俺自身はPythonしか使えない。

PerlPHPRubyPython

どれが良いんでしょうか

どこかのサイトにはPHPが良いと書かれてるんですが

文法が糞だとか書かれてて、躊躇してしまいます

このPHPの糞さは一生引きずってしまうほどの物なのでしょうか

PHPでの経験は他の言語で生かされますか?

2009-07-25

はてなって重すぎじゃね?

そもそも何で書かれてるんだっけ?Perl

鯖ももうちょい強化すべきなんじゃね??

2009-07-22

http://anond.hatelabo.jp/20090720033635

別にいいんだけどさ、細かいところで突っ込む。


なんで、Cなん?w

いや俺もガチでやるならアセンブリ言語とか、Cをやる必要はあると思うよ。

だから工学部のおにーちゃんとかがはじめに習うのは分かるよ。

ハード意識して書かれたものだし、いろんな意味教育効果も高い。


でもさ、とりあえず食っていきたいって感じで学んだんだろ?

ベンチャーも含めて色々求人とか見てからその言語に決めたのか?

きょうび刺身タンポポ載せる程度の底辺プログラマだったら、

PerlPHPJavaが圧倒的に多いってその時に気付かなかったか?


いや、Cが悪いとは言わないんだ。

ただ、お前が「なんとなくC」を選んだ気がして、ならないんだ。

身体を壊したのはお気の毒だと思うけれども、ちょっとお前計画性なさすぎじゃね?ってオモッタ

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