はてなキーワード: Perlとは
日本の geek って、perl/php/javascript をボクが一番うまく使えるんだって人のことなんだね。
コンピュータサイエンス的な理論もしったこっちゃない。
id:miyagawa 言わずと知れたPerl界の大エース
id:mala LivedoorReaderを作ったJavascriptの凄い人 若干25歳
id:amachang id:malaと並んでJavascript界を代表するハッカー
id:otsune はてなスターを大量に付けるスクリプトが書ける
id:dankogai 日本のPerlハッカーの父親的存在
組み込みって言っても、最近は、ほとんど、マーベルかシグマテル、なくてもARM系の亜種、大手家電メーカーの独自チップとほとんど決まり切ってるから、さすがにコンパイラが無いって事はほとんど無いんじゃないかと。
Cのコンパイラさえあれば、Perlでもなんでも、クロスコンパイルかければ済んじゃうし。
まぁ、速度でないだろうけど。
元増田っす
言語仕様がコンパクトなのがなぜ良いのかと言うと、実は2つ理由があります。
1つめは「全体像を把握するのが楽」という理由で。C++やJAVAだと全体像を把握するだけで疲れてしまうわけです。(使い方は奥深いけどね)
2つめはCOBOLを学ぶのと同じ後ろ向きの理由だけど、これからも活躍の場が多いだろうという予測。いまだに組み込みとかハードよりのところだとCは現役だったり、新製品の開発でももりもり使われてます。コンパイラが簡単に作れるし移植も楽だから。(これがCOBOLとかJAVAだと、開発環境を整えるのが大変なので選択されない。未来はわからないけれどもね)
標準ライブラリまで含めても、Cは異常に小さいよ。速いし。
Cのポインタってのは、値渡しのみにするとスタックでコンパイラをすっきりかけるけど、じゃあどうやって柔軟に運用させるべーと考えた妥協の産物です。
だから標準ライブラリにすら文字列・集合・リスト・配列を便利に扱えるものは入ってないし、ガーベジコレクションも多重のスレッドもヒープも入ってないわけです。(だからスタックと静的割り当てだけなんとかすればコンパイラが作れちゃう)知らなかったから作れなかったんじゃなくて、あえて切り捨ててる。
方向性として「間違いを少なくプログラミングする」とか「効率よくプログラミングする」ではなく、「コンパイラを簡単に作れるのが1番。でもできるだけプログラミングしやすいよう」にしてる。
そういう言語を2番目以降に学ぶのが良いのは、ハードよりの考え方(正確には、コンパイラよりの考え方)が出来るようになるから。これが「ポインタと言う概念を理解できる」ということに含まれてる。
メモリを意識したりポインタの概念を理解しておくと「なんで暴走するのか」「どうすると自分の足を撃てるのか」が理解できる。限界も面倒くささも便利さもわかるからね。(ポインタだからっつって暴走するんじゃなくて、C言語のポインタの実装だから、なんだけども。あと、ほんとは機械語=アセンブリを学ぶのが良いとは思うけど、それはハードルが高い。出来ることも少なくなっちゃう)
ポインタが暴走するから隠蔽する・使わないようにする・ミスっても平気にする、ミスらないようにするというのは、言語としては正しい方向性だと思う。
誰がどう考えても「存在しない配列を参照したらエラーを返さずに黙って暴走する(そこにあるメモリを見ちゃう)」「仕様として不定な動作が多い」なんてのはまずいでしょう。けれども、なぜまずいのか知らないまま便利な言語に慣れちゃうのは、感覚として良くない様な気がする。
C#だと信じられないくらい簡単にアプリ作れるし、PythonやPerlは普段使いの言語としてはすっごく便利。でもそれって、パック野菜やお惣菜を買ってきて晩御飯を作るようなものじゃないかな、と。ピーラーやミキサーは便利だし炊飯器はなきゃ炊事なんてやってられない。それでも、その道を学ぶのであれば「レシピを見れば料理は作れる」「包丁となべで調理できる」「なべかまでご飯は炊ける」なんてのは、必要じゃないかなあと。
今あえてC言語を学ぶのは、それが学びやすい(情報が手に入りやすい)最後の言語だから。
(まあ、何を目指すかによって違うとは思うけどね。僕の言ってんのは「いまあえてスペイン語だ!」って言ってるようなもんだし。違うか)
3Kだの7Kだの言われるプログラマー1年目のオレが
プログラミング言語の種類にはC、VB、JAVA、Delphi、PHP、Perlとか無数にあるが
どれでもいいからひとつ好きなの選んで学べ。
どれにしようかと迷うぐらいならCかJAVAやっとけ。
いきなり難しいことしようとは考えず、入門書通りに文字を表示したり
掛け算したりそういうのを確実にやれ。
FizzBuzzっていう基礎さえできてれば屁をこく方が難しいプログラミングがある。
1からどんどん数を増やしていくプログラミングだ。
3の倍数になった場合は数字の変わりに「Fizz」と表示させて
5の倍数になった場合は数字の変わりに「Buzz」と表示させる。
3と5の公倍数になった場合は数字の変わりに「FizzBuzz」と表示させるシンプルなプログラムだ。
プログラミングできるって言っておいてこれもできない奴が結構いるわけだ。
とりあえず入門書買って順々に進んで行け。
大抵のサイトはやり方と簡単な説明だけで詳細な説明が載ってないから本は買え。
そして一気にやろうとするな。先週やったことを30分でもいいから今週にもしろ。
あと、目標を立てろ。1日10ページとか1章とかそんなんでいいから
そして最後の5分は今日やったことをノートでもブログにでも書け。
本とかの練習問題では目標タイムとか書いてあるからそれを守るように解いていけ。
時間を多めにとってある入門書の練習問題程度で目標タイムに届かなかったら前の章からやり直せ。
仕事は生産性が非常に大切だ。 仕事遅いのにできる人より残業して給料貰ってる汚い大人にはなるなよ。
とりあえず基礎だ基礎。
普通なら応用に進むのが普通だろうと思うが、これからプログラマになるわけだから
環境を変えてやってみるのもいいと思う。基礎さえ確実にマスターしておけば
応用的なものはその都度調べることの繰り返しで結構覚えれるもの。
ここからはメモ帳からサクラエディタや秀丸エディタに変えてプログラミングしてみたり
EclipseやVisual Studioを使ってこういったツールが非常に便利であることを体験しろ。
仕事はこういったツールがないとやっていけない。
そして意外とこういったツールを使いこなせていないプログラマが沢山いる。
使いこなすことによって仕事量が増えるだけでなく、ミスも減らすことができる。
http://blog.livedoor.jp/dankogai/archives/51136258.html
この本についてはどうでもよいのだが,このエントリーでいいたいことがわからない.
今世紀においてこれまで書かれた中で、最重要の一冊
って今世紀ってまだ8年しかたってないじゃんと思った.この表現はおもしろいので今度から使おう.「今世紀中にやります」を髣髴とさせる表現だ.
本書を読了して、私はやっと理解できた。
梅田さんが、なぜ、それも日本ではなくシリコンバレーにおいて、「弾さんは英語が出来てうらやましい」と、ふと軽く、しかし底知れぬ諦念をもって嘆息したのかが。
あれ?
「梅田さんが、なぜ、それも日本ではなくシリコンバレーにおいて、「弾さんは英語が出来てうらやましい」と、ふと軽く、しかし底知れぬ諦念をもって嘆息したのかが私はやっと理解できた」ってことだよね.じゃあこの次は,「そして、なぜ私が一年半もの間、原稿書き以外の有償の仕事を全く放棄し、Perl 5.8の開発に没頭していたのかが私はやっと理解できた」ってこと?おいおい自分がやったことなんだから「やっと理解できた」っておかしくないか?なんの理由もなくあるいはなんでやってるのか理解できないままperlを開発してたのか?
それからこのエントリーを書いた人は梅田さんが「弾さんは英語が出来てうらやましい」と言った理由が理解できたそうなんだけど,ぼくはまったく理解できないんですけど….それはこのあとの文章で示してくれるのかな?
次,
日本語に、危機が迫っている。
しかしそれは、ジジババが言う「近頃の若い者たちときたら、ろくに言葉も使えない」
みたいな。
日本語の「変質」のことではない。
この「みたいな」のあとにマルはいらんやろと思った.つかこのひと改行おおすぎ,こういうもんなの?
何か少しでもできることはあるのか。
引用の引用.ってこの引用もおかしいだろ.なんつーかもっと情報量のあるところを引用しようよ.
P. 313
だから,引用するところが変じゃね?量が少ないからかな.このエントリーを使って,
筆者は言った
日本語もきちんと「乗せることが」できる。
と.ってこういうことでしょ.いやここは全然だいじじゃなくてむしろ枝葉のところじゃないの?
次は,
逆になぜ今まで大丈夫だったかを考えれば、なぜ今は「絶対、大丈夫」ではないかは明白である。日本語は、島国であるという「距離」と1億3000万 (日本の人口よりわずかに多いのは、わずかではあるが日本人でない話者もいるから)、世界の50人に一人、それも最も経済的に豊かな方の一人が話し手であるという「質量」によって「自然」に護られてきた。なぜ日本語が「ねんごろに扱われなかった」かといえば、そうする必要がなかったからである--今までは。
「そうする必要になかったからである」ってくるのは意外.ここは「必要があったからである」ってくると思った.これは多分「ねんごろに扱われなかった」っていう表現を使ったからだろう,きっと.あーいまもう一回読み直してみると全然気にならないかも.やっぱ二重否定はわかりにくいと思う.
次,
これがぼくが最初にわからなかった,なんでperlを開発したのかわからなかった理由か!つまりperlを開発していたときは「えもしれぬ衝動に突き動かされて」いて理由なんてわかんなかったんだけどいまそれが「日本語の延命策」だったことが理解できたってことか.すごいレトリックだ!
この両方が埋まった時、日本語を護るものは、もはや何もない。
それでは、一体どうしたらいいか。
いや、それを問う前に、日本語は護るに値するものなのか。
この疑問のはさみ方はよいと思った.そんだけ.
最後の主張
一つ。今何もしなければ、来世紀には日本語は本当に滅びうる、ということ。
うーん,どっちもそれがなぜかってことが書かれてないんだよな.なんでかっていう理由が示してないと,同意できないなあ.もしかして納得しなくていいの?
日本語ってむずかしい.
どれくらいのレベルでPerlを使えるようになればいいだろうか。
DCONWAY(http://search.cpan.org/~dconway/)くらいのレベルが要求されるんだろうか。
#!/usr/bin/perl -w use strict; print <<END; <html><body> <h1>Hello! World.</h1> </body></html> END
class Foo def bar'baz' # return baz end end
Could not load class (App::Mobirc::Plugin::HTMLFilter::DoCoMoCSS) because : Can't locate XML/LibXML.pm in @INC (@INC contains: /home/pc/mobirc/lib /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl .) at /home/pc/mobirc/lib/App/Mobirc/Plugin/HTMLFilter/DoCoMoCSS.pm line 5.
どっか変なところある?
真っ当なエラーメッセージだと思うけど。
Could not load class (App::Mobirc::Plugin::HTMLFilter::DoCoMoCSS) because : Can't locate XML/LibXML.pm in @INC (@INC contains: /home/pc/mobirc/lib /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl .) at /home/pc/mobirc/lib/App/Mobirc/Plugin/HTMLFilter/DoCoMoCSS.pm line 5.
BEGIN failed--compilation aborted at /home/pc/mobirc/lib/App/Mobirc/Plugin/HTMLFilter/DoCoMoCSS.pm line 5.
Compilation failed in require at /usr/local/lib/perl/5.8.8/Class/MOP.pm line 151.
at /usr/local/lib/perl/5.8.8/Class/MOP.pm line 133
Class::MOP::load_first_existing_class('App::Mobirc::Plugin::HTMLFilter::DoCoMoCSS') called at /usr/local/lib/perl/5.8.8/Class/MOP.pm line 157
Class::MOP::load_class('App::Mobirc::Plugin::HTMLFilter::DoCoMoCSS') called at /usr/local/share/perl/5.8.8/MooseX/Plaggerize.pm line 20
App::Mobirc::load_plugin('App::Mobirc=HASH(0x8d7e490)', 'HASH(0x8d7536c)') called at /home/pc/mobirc/lib/App/Mobirc.pm line 44
App::Mobirc::_load_plugins('App::Mobirc=HASH(0x8d7e490)') called at /home/pc/mobirc/lib/App/Mobirc.pm line 35
Class::MOP::Class:::around('CODE(0x8ab5250)', 'App::Mobirc', '/home/pc/mobirc/config.yaml') called at /usr/local/lib/perl/5.8.8/Class/MOP/Method/Wrapped.pm line 129
Class::MOP::Method::Wrapped::__ANON__('App::Mobirc', '/home/pc/mobirc/config.yaml') called at /usr/local/lib/perl/5.8.8/Class/MOP/Method/Wrapped.pm line 89
App::Mobirc::new('App::Mobirc', '/home/pc/mobirc/config.yaml') called at mobirc/mobirc line 36
pc@ubuntu-vm:~$ sudo mobirc/mobirc
Could not load class (App::Mobirc::Plugin::HTMLFilter::DoCoMoCSS) because : Can't locate XML/LibXML.pm in @INC (@INC contains: /home/pc/mobirc/lib /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl .) at /home/pc/mobirc/lib/App/Mobirc/Plugin/HTMLFilter/DoCoMoCSS.pm line 5.
BEGIN failed--compilation aborted at /home/pc/mobirc/lib/App/Mobirc/Plugin/HTMLFilter/DoCoMoCSS.pm line 5.
Compilation failed in require at /usr/local/lib/perl/5.8.8/Class/MOP.pm line 151.
at /usr/local/lib/perl/5.8.8/Class/MOP.pm line 133
Class::MOP::load_first_existing_class('App::Mobirc::Plugin::HTMLFilter::DoCoMoCSS') called at /usr/local/lib/perl/5.8.8/Class/MOP.pm line 157
Class::MOP::load_class('App::Mobirc::Plugin::HTMLFilter::DoCoMoCSS') called at /usr/local/share/perl/5.8.8/MooseX/Plaggerize.pm line 20
App::Mobirc::load_plugin('App::Mobirc=HASH(0x8d799e0)', 'HASH(0x8d7089c)') called at /home/pc/mobirc/lib/App/Mobirc.pm line 44
App::Mobirc::_load_plugins('App::Mobirc=HASH(0x8d799e0)') called at /home/pc/mobirc/lib/App/Mobirc.pm line 35
Class::MOP::Class:::around('CODE(0x8ab4390)', 'App::Mobirc', '/home/pc/mobirc/config.yaml') called at /usr/local/lib/perl/5.8.8/Class/MOP/Method/Wrapped.pm line 129
Class::MOP::Method::Wrapped::__ANON__('App::Mobirc', '/home/pc/mobirc/config.yaml') called at /usr/local/lib/perl/5.8.8/Class/MOP/Method/Wrapped.pm line 89
App::Mobirc::new('App::Mobirc', '/home/pc/mobirc/config.yaml') called at mobirc/mobirc line 36
ここみる http://d.hatena.ne.jp/h_kenan/20080717
apt-get から install Encode
svn から Encode
cd [Encode Dir] してから sudo perl Makefile.PL
モジュール一括インストール? sudo -H cpan App::Mobirc
make && make test して出てきた not installed を f**k
=> install Test::Spelling
sudo gnome-terminal
cd /home/pc/.cpan/build/HTML-DoCoMoCSS-0.01
・・・いけたか?
・・・
・・・
・・・
はいむりー
この仕事辞めようと思っている。
学校でC++とかJAVAとかVBとか…色々ごちゃごちゃ習ってたけど、正直現場のノウハウなんぞサパーリな状態だった。
だから、その会社にプログラマが居なかった事は物凄く不幸だった。
WEBシステム開発部門を作るという事で、私を含めプログラム未経験者が二人採用されたんだ。
細かいこと言うと、私と一緒に入社した人は、一応PHPやPerlは組んだことが有るけど、「現場のノウハウを知らない」という点は私と同じだった。
入社してからは、もう全部手探り。
開発環境の整え方なんぞ全然分かってない。
取り敢えずPHPやれ、と言われたから、結構必死で勉強しながらメールフォームとか簡単なコード書いた。
当時は画面が切り替わる度に変数が初期化されたりするのが不思議だった。
一緒に入った同僚は、「Postgre専門だからMySQLはよく分からん」と言う。
仕事の渡され方は大概丸投げ。
その仕様ってのが結構曖昧。何というか、「流れ」だけ説明される。
「管理画面で商品を登録すると、商品一覧に追加されるんだけど、登録する時に一緒にカテゴリを設定できるように…」
「カテゴリは大カテゴリ・中カテゴリ・小カテゴリがあって、管理画面で登録できるように…」
とか、そんな感じ。
こういうのを聞いてプログラミング出来るのが当たり前なんだろうけど、私は凄く苦手だった。
苦手だからってやらない訳にはいかないからやってたけど、難しく考えるからだろう、時間がかかった。
後、基本的に画面イメージがない。
仕事を渡されると、全部任される。
テーブルの設計をしながら仕様を確定していって、画面イメージを作成していく。
最初の内は、正規化すら全然知らなかったからぐだぐだなテーブルばっかり設計して、コードを組む段階になってヒーヒー言ってた。
最初から書き直す事もしばしばだった。
もっと効率良くやりたい、と助言を乞おうにも、先輩なんて居ない。
同僚はその辺の作業進行は上手いものの、開発レベルは私と同じぐらい。コードはスパゲッティ。
友人達もプログラムやってたりするけど、WEBプログラムじゃないから相談しても色々と噛み合わない。
仕方がないから、うまいやり方は無いか、とひたすら暗中模索でやってきた。
で、そんな事を1年程続けた辺りで、長年プログラミングしてきた人と交流する機会が有った。
短い間だったけど、その人が教えてくれた知識でかなりショックを受けた。
開発環境の整え方とか、テストケースとか、フレームワークの事とか、えーと、まぁ、なんて言うか、プログラミングの考え方(みたいなもん)とか。
(ちょっと上手く言えない。現時点でも私は、とてもじゃないが自分の事をプログラマだなんて胸を張って言えない程未熟だと思っているし)
そして、ショックを受けたのは同僚も同じだった。
正直今まで自分がやってきた事の全部をひっくり返された気分だった。
全部が全部無駄だったという訳じゃないが、今まで非効率的で馬鹿で遠回りな事ばかりしていた。
その後はSubversionやTracが導入された。
同時期に私は新しい案件を任された。
その案件の規模は小さめで、私は今まで不安定だった開発スタイルを整えようと、半分賭けでその案件をcakePHPで構築しようと決めた。
無論、全然分からないから参考書とか公開されてるソース見たりとか、ネットの情報とかで勉強しながら、だけど。
symfonyとかZend Frameworkとかでも良かったと思うんだけど、
たまたま先のプログラマの人がcakePHP使ってる、と言ってたから「じゃあそれにするか」とcakePHPを選んだ。
違いも分からんから最初は何でもいいや、と思ったってのも有る。
何度も躓いたり挫折しかけたりしたが、なんとか構築しきった。
つたないものでは有るが使い回しの効くメソッドなりを作れたし、正直凄く嬉しかった。
その頃には、ある程度ではあるがフレームワークでの開発が手に馴染んでいた。
そんでも一人でじめじめコーディングするスタイルは変わらなかったから、コードの中身はお察しくださいなスパゲッティ。
もうこの会社に居続けても意味が無い、と思った。ひとりよがりなコードを量産するだけだ。
だから、「今年いっぱいで会社を辞めようかと思います」と告げた。
それが大体半年前。
今年が終わるまで@2ヶ月ぐらい。
こんな経験年数半端な人材って、需要有るんかなぁ。女だしなぁ…、というかそもそも転職回数が多いのが一番痛い。ブラック企業ひきすぎ。
無知を乗り越えるという性質のやる気はあるから、がらっと業種を変えても良いかもしれない。
というか、ぶっちゃけ残業時間がえらい事になってたから、IT業界はもうしたくないな、と思う一方で、
やっぱりプログラム好きだからプログラマやりたいという思いが有る。
でもプライベートでやりたい事あるから、あんまり仕事で時間を割かれるのも困る。
後、親が元気な内に孝行しときたい。
こないだ、カーチャンのスレ見てたのがかなり効いてる。
「あんた転職するんでしょ? 転職前に休み作ってよ。一緒に旅行行きたいから」とか言ってるし…
「仕事が忙しいから」とか「疲れてるんだから休ませてくれ…」とか言って全然孝行出来なかったから、そろそろ生活における仕事の割合を減らしていきたいところ。
でも、
難しいよなぁ。
転職、どうしたもんだかなぁ。
初めは小学生の頃か。
実物のスペースインベーダーの記憶はない。
しかし、それを皮切りにアーケードゲームのみならず、ゲームウォッチ、ケームセンター嵐などを経て、ファミコンが登場する「ゲーム」の時代だった。
「ゲーム」がコンピューターゲームの意味になった時代だった。小学生も「コンピューター」にワクワクした。
21世紀はコンピューターにより人工知能ができる。そんな時代だった。
でも、アルファベットを知らない小学生にBASICは難しかった。ぴゅう太がせいぜいだった。
「PRINT」で文字を表示する。「GOTO」で行き先を変える。それは分かった。でも何をすればよいか分からなかった。
だから「ベーマガ」で16進数を打った。でも動かなかった。何度も調べ、直し、試した。デバッグした。
でも動いた。自分の入れた文字で数字でコンピュータが動いた。自分で動かした。動かせた。
高専に進んだ。Turbo Pascalでコラムスもどきを作った。
小学生のころから6年が過ぎていた。
Turbo Cも使った。IDEで使うそれは、インタプリタのノリだった。
FM-Rでレイトレースもした。一晩かけて、エラーが起きていた。
でも、構造化プログラミングを学んだ。ポインタも学んだ。マシン語の知識が役立った。
Solarisも使った。EmacsやXも使った。オブジェクト指向も知らずC++にも触れた。
awkやsedで正規表現を学んだ。そしてperlに出会った。
コラムスもどきを作ってから6年が過ぎていた。
perlで掲示版の書き込みをチェックし、madokaで遊んだ。CGIを書いたりした。
perlと出会ってから6年が過ぎていた。
はてなに出会った。JavaScriptに出会った。
Bookmarklet、greasemonkey、Ajax。オブジェクトだらけだった。
初めはゲームだった。でも最初だけだった。
気が付いたら24年が経っている。
今、pythonで書いている。
ようやく、言語の違いには慣れてきた。でも、まだLISPを使った事はない。
道はまだまだある。未知の世界につながっている。
作りたい物が本当は何かは分からない。作れる物が本当は何かは分からない。
どんなふうに動くのかは分かってない気がするけれど、分かっている事もある。
それが今の私のstatusだ。
Web 系の言語(って何?)に対して、 Google で 「○○ 入門」で検索してみる
…21世紀にもなってまだKENTかよ、という気は若干しなくもないですが、入門レベルだけで終わる需要が多いことも考えるとこんなもんだと思います。
「書籍もサイトも全部糞、公式のマニュアルのみ正確正当」というPHPです(そう思うなら翻訳しっかり訳してくれ)。公式マニュアルは手元に置いておきましょう。
日本語ドキュメントのいいのが無いのだけが欠点であるところのPythonさんです。まあこんなもんだと思います。
さて、順番的にオチです。Rubyです。
まず、講義用の1枚ページが引っかかりました。このサイト自体はなんにも悪くありませんが、このサイトが国内で1位になるのってどうなのよ。どうなのよう。
次に、PerlでもPHPでもPythonでもあった、同一団体が同一フォーマットで各言語の検索結果上位に食い込ませてるページがヒットです。いや内容が妥当なら問題ないですが。
で、3番目は大学に在籍さんのページです。ぬう。
ネタ元:http://pc11.2ch.net/test/read.cgi/tech/1170047838/61
追記
ブクマで「プログラミング」関連のタグをつけてる人には実は内容伝わってないんじゃいかと危惧中
やっぱ最後に持ってくるんじゃなく2行目くらいにすぱっと結論書いて判断仰ぐべきですかそうですか