タグ

ProgrammingとPerlに関するagwのブックマーク (433)

  • 初めて Perl でコードを書く時に知っておきたかったこと - あらびき日記

    この記事は abicky.net の 初めて Perl でコードを書く時に知っておきたかったこと に移行しました

    初めて Perl でコードを書く時に知っておきたかったこと - あらびき日記
  • なぜ国内でPerlが急速に萎んだのか

    2005年 Railsの襲来2005年に突如現れたRailsによって国内でRuby利用者が急増したのがPerl滅亡への第一歩となった。書きやすさに作者がとことんこだわって作られたRubyの魅力を一度知ってしまうとPerlの古くさく読み辛く書き辛い文法に誰もがうんざりし始める。 2007年 JavaScriptブームAjaxで再発見されたJavaScriptのブームもPerl終焉に若干ながら貢献している。ブラウザというPerlが全く手を出せないジャンルの王者JavaScriptの持つ華やかさに誰もが憧れ、そして手元のPerlの古くささに反吐が出始める。不器用で不細工なところも含めて愛していた女房とつつましく送っていた人生に、突然ぴちぴちのボイン女子大生が転がり込んで来たようなものである。 スマホ/ソーシャルゲームバブルiPhone市場が格的に立ち上がり、Perlとは全くの無関係であるスマホ

    なぜ国内でPerlが急速に萎んだのか
  • テストにコケる度にシーザーが死ぬ仕組みを作りました - その手の平は尻もつかめるさ

    タイトルは釣りです。 App::WithSound をリリース致しました。 https://github.com/moznion/App--WithSound https://metacpan.org/module/MOZNION/App-WithSound-v1.0.2/with-sound (2013.03.06 追記) App::WithSound はv1.1.0 にバージョンアップしました。 コマンドの成功・失敗時だけでなく、コマンドの実行中にも音声を再生出来るようになっています。 https://metacpan.org/module/MOZNION/App-WithSound-v1.1.0/with-sound (追記ここまで) App::WithSound? コマンドが成功するか失敗するかによって、その結果に対応した音声が流れるアプリケーションです。 まず、このモジュールはm

    テストにコケる度にシーザーが死ぬ仕組みを作りました - その手の平は尻もつかめるさ
  • 変数に型がないということの利点について考える - Perl入門ゼミ

    Perl › 読み物 PHPPerlRubyPythonなどのスクリプト言語に対して、変数に型がないということを否定的にとらえる人もいるかと思います。特にC言語やJavaなどの静的言語を使ってきた人にとっては、型がないということが不安材料として目に映ることが多いのではないかと思います。 けれども、型がないということは、当に素晴らしいことです。型がないことによって、たくさんの面倒から解放されるからです。 どのような型の値でも代入できる まず基的なこととして変数に型がなければどのような型の値でも代入できるということです。つまり、受け取るときに、どのような型の値を受け取るのかを意識する必要がありません。 my $str = 'Hello'; my $num = 1; my $nums = [1, 2, 3]; my $person = {age => 2, name => 'taro'

    変数に型がないということの利点について考える - Perl入門ゼミ
  • ついに顕在化しはじめた「Perlリスク」

    英語圏ではかなり前からPerlで開発し続けることのリスクについて語られていたが、いよいよ具体的な弊害が出て来ているようなので、かいつまんでメモ。日でもそう遠くない未来だと思う。 若手エンジニアの不足Objective-Cのように需要が逼迫しているのに人材の供給が増えず需給ミスマッチが起っているわけでは無く、需要も供給も減るという状況下でわずかだが需要が上回っているとう性質の悪い状況がPerlに起きている。特に深刻なのは安価な若手エンジニアの採用が絶望的に難しいという現実だ。Rubyが台頭して数年経ちPythonがメインストリームの先頭を突っ走る2013年において新しくPerlを勉強しようとする若者はよほどの物好きしかいない。30~40歳Perlエンジニアを雇うのはそれほど難しく無いだろうがコストがかかる。安価な20代前半の若手エンジニアを雇いたいという企業の思いとは裏腹にPerlを新た

    ついに顕在化しはじめた「Perlリスク」
  • Perlの食えない事情 - 演算子編 - アリ

    Perlえない事情 より おっと、そうです、Perlには演算子が多すぎるのでした。せっかくの機会なので、Perlの演算子を紹介します。 ビーナス演算子: 0+, +0 数値として評価してくれます。意外とよく見かけますね。 なぜこの演算子を使う必要があるのかというと、Perlは文字列と数値を明確に区別できないからです。scalarを文字列として解釈するならば文字列として、 print 0+ '10'; #=> 10 print 0+ '123b'; #=> 123 print '1.2e3' +0; #=> 1200 print [] +0; #=> 4303367864 ちなみに、文字列として評価するときにはこのようにするとかっこいいと言われています。 $obj.q(); 一見メソッド呼び出しのように見えますが $obj . ''; と等価です。 ベビーカー演算子: @{[ ]} 文字

    Perlの食えない事情 - 演算子編 - アリ
  • TechCrunch | Startup and Technology News

    TechCrunch Daily News Every weekday and Sunday, you can get the best of TechCrunch’s coverage. Startups Weekly Startups are the core of TechCrunch, so get our best coverage delivered weekly.

    TechCrunch | Startup and Technology News
  • タブのスペース化はタブ幅よりも重要である : 404 Blog Not Found

    2006年04月30日03:46 カテゴリOpen Source タブのスペース化はタブ幅よりも重要である あえて断言します。君たちは半分しかわかっていないと。 Charsbar::Note - タブとスペースの話 あえて断言しときます。こんなモンはバッドノウハウなんであって、ベストプラクティスでもなんでもない、と。 最速インターフェース研究会 :: タブとスペースと萌ディタの話なんかそもそもタブを使わずにスペース4で統一せよってのはフォントサイズをピクセル単位で指定したがるデザイナの言い分みたいで気にわない。君たちは、patchのことをきれいさぱーり忘れている。 人のコードを直したり、人にコードを直してもらったりしなくてもいいというのであれば、君たちのいい分ももっともだ。しかし、人とコードをやりとりする時にpatchをやりとりする場合、tabは頭が痛い以外の何者でもない。 以下に二つの

    タブのスペース化はタブ幅よりも重要である : 404 Blog Not Found
  • Perlで生でrand関数をごちゃごちゃ使うコードはもう嫌だ | hirobanex.net

    Hachioji.pm#12で発表したネタです。Data::WeightedRoundRobin使ったら、rand使うようなコードが、いい感じにすっきり見やすくかけましたよーという話です。 嫌なコードの概要 要件 「以下のような感じで、実行する処理をランダムで変更してよ!」って要件がたまにありますね。 3割の確率でhogeを実行 3割の確率でmogeを実行 2割の確率でfooを実行 1割の確率でbarを実行 1割の確率でjarを実行 ファクトリーメソッドパターン的な実装ですね。 ごにょごにょするとこんな感じの実装に my $rand = rand(); my $method; if($rand < 0.3){ $method = 'hoge';#3割 }elsif($rand >= 0.3 && $rand < 0.6){ $method = 'moge';#3割 }elsif($rand

  • 2012年はプログラミング言語を作りたい - Islands in the byte stream (legacy)

    当は2011年の1-3月の間にやろうと思っていたのだが、卒業の危機などがあり思うように進まなかった。しかし今年Perl/XS以外にもC++, Objective C++, Java, ActionScript, JavaScript, Rubyなどでコーディングする機会があり、自分が欲しい言語が具体的になってきた。 私が欲しいのは、Perlの次を担えるような言語だ。それは必ずしも私の言語でなくてもいいのだが、とにかく「next Perl」が欲しい。 Perl言語のいいところは何か。それは言語に密結合した正規表現構文とテキスト処理機能、シンボルテーブルなど内部データ構造*1や後付けのOOP*2のような原始的な機能の露出、標準ドキュメントフォーマット*3とビューア*4、RAIIとダイナミックスコープだ。私は、これらすべてを備えている言語をPerl以外に知らない。 一方で、不要な機能もある。特

    2012年はプログラミング言語を作りたい - Islands in the byte stream (legacy)
  • perl - から未だに目を離せない四つ、あるいはただ一つの理由 : 404 Blog Not Found

    2011年01月31日22:30 カテゴリCultureLightweight Languages perl - から未だに目を離せない四つ、あるいはただ一つの理由 やはりお鉢がまわってきたので。 回答希望。ラクダかわいい以外で。@dankogai さんとか? 「〜今あえてPerlを取る理由というのが個人的には思い浮かばない。生粋のPerl使いならきっと流暢な解答を用意してくれると思う。」 プログラミング言語人気TOP10の簡易解説 http://ht.ly/3NaTkless than a minute ago via HootSuite佐藤 治男 HalSato プログラミング言語人気TOP10の簡易解説用途的にPythonRubyと被るので、今あえてPerlを取る理由というのが個人的には思い浮かばない。生粋のPerl使いならきっと流暢な解答を用意してくれると思う。 ベタ プログラミ

    perl - から未だに目を離せない四つ、あるいはただ一つの理由 : 404 Blog Not Found
  • 「lexical closure」の違いじゃなくてブロック「block scope」有無の違いだった - karasuyamatenguの日記

    『スクリプト言語間における「lexical closure」の違い』の整理。 http://d.hatena.ne.jp/karasuyamatengu/20101008/1286568265 http://d.hatena.ne.jp/karasuyamatengu/20101007/1286477371 matz 2010/10/09 16:07 えーとですね。まだ、言語ごとにやってることが違うんですよ。 つまり、PerlRubyはブロック内だけで毎回新しい変数localvarを作ってる(の で、closure間で変数を共有していない)のに対して、Python(関数レベルしかス コープがない)などはもっと広いスコープでlocalvarが有効でclosure間で同じ 変数を共有しています。localvarのスコープがループの中だけの言語 (Ruby,Perl)とclosuresとloc

    「lexical closure」の違いじゃなくてブロック「block scope」有無の違いだった - karasuyamatenguの日記
  • There are so many ways to shuffle it : にぽたん研究所

    YAPC::Asia 2010 で LT をさせていただきました。 5 分枠で 100 枚のスライドになったので、かなり早口になりました。 銅鑼は鳴りませんでしたが、きっと 4:58 ぐらいギリギリにおさまったとおもいます。 トーク自体は日語で行ないましたが、英語圏の方も結構いらっしゃるので、全セリフを決めておき、LT に英語字幕をつける試みをしてみました。 ただシャッフルするだけなのに、やりかたがこれほどまでに出てくるということに、TIMTOWTDI な Perl の特性がよくあらわれているとおもいます。 スライドは slidshare にアップしたものをご覧ください。 毎週毎週一緒に楽しく頭をかかえながらシャッフルをひねり出した弊社の同僚、元同僚の皆様に感謝します。 今年も YAPC::Asia 楽しかったー!

    There are so many ways to shuffle it : にぽたん研究所
  • Algorithm - 0と1を次々と返す簡単なお仕事 : 404 Blog Not Found

    2010年09月03日05:30 カテゴリLightweight LanguagesMath Algorithm - 0と1を次々と返す簡単なお仕事 ごもっとも。 0と1を次々返す方法 - a2c.get.diary TrueだったらFalseで、FalseだったらTrueにしたい。 なんかそんなことそこかしこで必要で、その為の便利なものが あるのかなぁと思ったんだけど無いぽい Closure 来は一番おすすめなのだが… JavaScript ()が煩わしいが、perlrubyよりは自然。 #!/usr/bin/js var flipflop = function(p){ p = !p; return function(){ return p = !p; }; }; var fl = flipflop(); console.log(fl()); console.log(fl()); c

    Algorithm - 0と1を次々と返す簡単なお仕事 : 404 Blog Not Found
  • perl - 配列の∪と∩ : 404 Blog Not Found

    2010年05月01日13:15 カテゴリLightweight Languages perl - 配列の∪と∩ これを解くためには、配列の∩(交わり、intersection)がわかればいいのですが… Perl Cookbook (English) Christiansen / Torkington [邦訳: Perlクックブック] perlPHPで解決したいです。 複数(最大200程度)の配列があり、 それぞれ有している数字(それぞれ最大50程度)のうち、 二つ以上の値が同じ配列名を抜き出す。 という事をし.. - 人力検索はてな複数(最大200程度)の配列があり、 それぞれ有している数字(それぞれ最大50程度)のうち、 二つ以上の値が同じ配列名を抜き出す。 実にエレガントな方法が、Perl Cookbookに載っています。 以下、実例。 #!/usr/bin/perl use st

    perl - 配列の∪と∩ : 404 Blog Not Found
  • 第14回 Rakudo:実装する方法だってひとつではないのです | gihyo.jp

    2010年4月に出るのは…… 先日、いわゆるPerl 6の実装が2010年4月をめどにRakudo *(Rakudo Star)の名前でリリースされる、という記事が紹介されました。 そのネタ元となった記事を書いたパトリック・ミショー(Patrick Michaud)氏は、2009年4月17日のNordic Perl Workshopを皮切りに、2009年6月22日のYAPC|10(YAPC::NA⁠)⁠、2009年7月22日のOSCON、2009年8月4日のYAPC::EUと、立て続けにRakudoの発表を行い、そのまとめとして当該記事を掲載したのですが(ちなみにRakudo *の公開時期はすでにOSCONの時点で明言されていました⁠)⁠、その3日後にご人によるフォロー記事が出ているように、この短い紹介記事では意図が伝わりにくい面もあったようです。 そこで、今回はRakudoとはどのよう

    第14回 Rakudo:実装する方法だってひとつではないのです | gihyo.jp
  • Perl5とPerl6は同じ血統ではない、Perlは2つの系統へ

    Perlの最新バージョンであるPerl5と、現在開発中のPerl6との関係は、 「Perlという大家族の一員ではあるが、同じ血統ではない」 ということが基合意されたと、ブログ「Japan Perl Association運営ブログ」のエントリ「Perl5 and Perl6」で同団体代表理事の牧大輔氏が書いています。 Perl5とPerl6は同じ血統ではないとはどういうことでしょう? Perl6の開発スタートは2000年 Perl6は、高機能化し複雑になってきたPerl5の実装を見直し、次世代のPerlにふさわしいPerlを作ろうと2000年に開発が始まりました。 Perl6は新しく言語仕様から作り直しているため、Perl4や5に対する後方互換性がなくなることが発表されています。ということは、現在のPerl5で書かれた膨大なソフトウェア資産を維持するには、Perl5の実装を何らかの形で維

    Perl5とPerl6は同じ血統ではない、Perlは2つの系統へ
  • Perl 5は生き返った! 新たな前進を再開したPerl

    Perl 5コアの開発はここ数年、負の連鎖が続いていた。リリースは滞り、開発者は去り、将来の見通しはどんどん悪くなっていった。ここで話すのは、Perl 5の開発におけるこの悪い流れがどのようにして、楽しく、前向きで、エキサイティングなものに変わったか、というストーリーだ」 Perl 5のコアデベロッパーで、ActiveStateの技術リードでもあるJan Dubois氏は、4月13日に同社のブログにポストしたエントリ「Perl 5 is Alive」で、このように書き出しています。 Perlは、機能が高度化し複雑になったPerl 5までのバージョンを見直し、新たに作り直そうと、2000年にPerl 6の開発が始まりました。しかしPerl 6は10年たったいまでもリリースされておらず(今月に最初のバージョンがリリースされるといわれていましたが…)、一方でPerl 6の開発が始まってからは、

    Perl 5は生き返った! 新たな前進を再開したPerl
  • Perlで学ぶコルーチン

    The future of SEO is trending toward a more human-first and user-centric approach, powered by AI intelligence and collaboration. Are you ready? Watch as we explore which SEO trends to prioritize to achieve sustainable growth and deliver reliable results. We’ll dive into best practices to adapt your strategy around industry-wide disruptions like SGE, how to navigate the top challenges SEO professio

    Perlで学ぶコルーチン
  • Graphviz で歌詞を可視化してみる - Λάδι Βιώσας

    昨日の続きです。Graphviz で何か面白い事を出来ないかなあ、と考えて、ミクシーのマイミクリスト相関図とか、エログサイトのサイト間リンクを可視化とか色々考えて作ってみたりしたものの、どれもありふれてるネタのような気がして今イチな感じ。 で、、、今日ふと旧友に会ったら、最近 Perfume を聞いてる、という話を聞きました。そこで、おーそうだ歌詞を可視化(ダジャレ)してみたら面白いんじゃないか(←ダジャレが)と思いついたので、早速作ってみた。 コードはこんな感じ。 # -*- coding: utf-8 -*- require 'MeCab' require 'kconv' require 'rubygems' require "graphviz" c = MeCab::Tagger.new("-O wakati") lyrics = open(ARGV[0]).read.toutf8

    Graphviz で歌詞を可視化してみる - Λάδι Βιώσας