はてなキーワード: perlとは
anond:20220413001558のコメントに付いているスターを紹介。
b:id:Yutorigenさん がスターを付けました。
b:id:kitaindia00さん がスターを付けました。
b:id:c0ntinueさん がスターを付けました。
b:id:okaz931さん がスターを付けました。
b:id:nemusgさん がスターを付けました。
b:id:ROYGBさん がスターを付けました。
b:id:hanyAさん がスターを付けました。
b:id:souki-paranoiastさん がスターを付けました。
b:id:suzutaku7さん がスターを付けました。
b:id:forcutieさん がスターを付けました。
b:id:off10nさん がスターを付けました。
b:id:sy0923さん がスターを付けました。
b:id:kommunityさん がスターを付けました。
b:id:junglejungleさん がスターを付けました。
b:id:misato-girlさん がスターを付けました。
b:id:coguchiさん がスターを付けました。
b:id:takeumajinさん がスターを付けました。
b:id:tana_bataさん がスターを付けました。
b:id:dakaraneさん がスターを付けました。
b:id:ank0uさん がスターを付けました。
b:id:hogegeさん がスターを付けました。
b:id:bongkuraさん がスターを付けました。
b:id:kanjitokanaさん がスターを付けました。
b:id:kuroi122さん がスターを付けました。
b:id:l_f_htnさん がスターを付けました。
b:id:hara_boonさん がスターを付けました。
b:id:afurikamaimaiさん がスターを付けました。
b:id:yramnekoさん がスターを付けました。
b:id:sikimute2323さん がスターを付けました。
b:id:susuharaiさん がスターを付けました。
b:id:Baybridgeさん がスターを付けました。
b:id:fnoithunderさん がスターを付けました。
b:id:IthacaChasmaさん がスターを付けました。
b:id:yanagi53さん がスターを付けました。
b:id:sajiwoさん がスターを付けました。
b:id:namo_naさん がスターを付けました。
b:id:tobigitsuneさん がスターを付けました。
b:id:feat908さん がスターを付けました。
b:id:teisiさん がスターを付けました。
b:id:getchaさん がスターを付けました。
b:id:heyachoさん がスターを付けました。
b:id:rakko_fuさん がスターを付けました。
b:id:blogpantsさん がスターを付けました。
b:id:yusuke-kさん がスターを付けました。
b:id:LU_tuneさん がスターを付けました。
b:id:ttnumra432さん がスターを付けました。
b:id:chaorukoさん がスターを付けました。
b:id:graynoraさん がスターを付けました。
b:id:graynoraさん がスターを付けました。
b:id:enkaginさん がスターを付けました。
b:id:rarereさん がスターを付けました。
b:id:progresswhyさん がスターを付けました。
b:id:perl-o-palさん がスターを付けました。
b:id:rindenlabさん がスターを付けました。
b:id:bopperjpさん がスターを付けました。
b:id:pon00さん がスターを付けました。
b:id:jz5_publicさん がスターを付けました。
b:id:masaff5656さん がスターを付けました。
b:id:Qalicenさん がスターを付けました。
b:id:kerariさん がスターを付けました。
b:id:nippondanjiさん がスターを付けました。
b:id:nagasodeさん がスターを付けました。
b:id:me69bo32さん がスターを付けました。
b:id:pellerさん がスターを付けました。
b:id:lionsageさん がスターを付けました。
b:id:ikuwomaruさん がスターを付けました。
b:id:zenkamonoさん がスターを付けました。
b:id:kumpoteさん がスターを付けました。
b:id:ackey1973さん がスターを付けました。
b:id:miulunchさん がスターを付けました。
b:id:strangeさん がスターを付けました。
b:id:sweetyouさん がスターを付けました。
b:id:namasutenohitoさん がスターを付けました。
b:id:udofukuiさん がスターを付けました。
b:id:maidcureさん がスターを付けました。
b:id:ultimatebreakさん がスターを付けました。
b:id:ykhmfst2012さん がスターを付けました。
b:id:businessartさん がスターを付けました。
b:id:businessartさん がスターを付けました。
b:id:businessartさん がスターを付けました。
b:id:dfvuiklさん がスターを付けました。
b:id:mocchirioimoさん がスターを付けました。
b:id:wwakainkyoさん がスターを付けました。
b:id:numtostringさん がスターを付けました。
b:id:frostyrosesさん がスターを付けました。
b:id:nora27さん がスターを付けました。
b:id:ribotさん がスターを付けました。
b:id:komayuriさん がスターを付けました。
b:id:arcomさん がスターを付けました。
b:id:memoryalphaさん がスターを付けました。
b:id:ooblogさん がスターを付けました。
b:id:ma-fuyuさん がスターを付けました。
b:id:dada_loveさん がスターを付けました。
b:id:mmm1717さん がスターを付けました。
b:id:ruccaさん がスターを付けました。
b:id:surume000さん がスターを付けました。
b:id:snowmann129さん がスターを付けました。
b:id:early48さん がスターを付けました。
b:id:Betto00000さん がスターを付けました。
b:id:worpeさん がスターを付けました。
b:id:worpeさん がスターを付けました。
b:id:worpeさん がスターを付けました。
b:id:kawabata100さん がスターを付けました。
b:id:NAMUAMIDIEさん がスターを付けました。
b:id:tomomotomoさん がスターを付けました。
b:id:tttkmさん がスターを付けました。
b:id:solunaris149さん がスターを付けました。
b:id:yamigomeさん がスターを付けました。
b:id:chibicoro0148さん がスターを付けました。
b:id:sm3823さん がスターを付けました。
b:id:clavierさん がスターを付けました。
b:id:Annihilatorさん が乞食を引用してスターを付けました。
b:id:youco45さん がスターを付けました。
b:id:aovenさん がスターを付けました。
b:id:a_akoさん がスターを付けました。
b:id:ravellさん がスターを付けました。
b:id:neo_Neutralさん がスターを付けました。
b:id:son_tokuさん がスターを付けました。
b:id:gensoさん がスターを付けました。
b:id:marilyn-yasuさん がスターを付けました。
b:id:suichaさん がスターを付けました。
b:id:metroさん がスターを付けました。
b:id:qpkowasoundさん がスターを付けました。
b:id:gmkzmrnさん がスターを付けました。
b:id:yasumi-08yasumi-08さん がスターを付けました。
b:id:gomaberryさん がスターを付けました。
b:id:kidz-jokerさん がスターを付けました。
b:id:akitakyoさん がスターを付けました。
b:id:neko_no_muzzleさん がスターを付けました。
b:id:sionsouさん がスターを付けました。
b:id:wk_ssさん がスターを付けました。
b:id:sgtnkさん がスターを付けました。
b:id:am1130pm2330さん がスターを付けました。
b:id:keys250さん がスターを付けました。
b:id:mit-mitさん がスターを付けました。
b:id:monotonusさん がスターを付けました。
b:id:ugo_uozumiさん がスターを付けました。
b:id:tontonNeko2010さん がスターを付けました。
b:id:akira28さん がスターを付けました。
b:id:iteruakiさん がスターを付けました。
b:id:parsecさん がスターを付けました。
b:id:megane1972さん がスターを付けました。
b:id:Bartonさん がスターを付けました。
b:id:mesotaroさん がスターを付けました。
b:id:mesotaroさん がスターを付けました。
b:id:jiji6さん がスターを付けました。
b:id:ina6raさん がスターを付けました。
b:id:daijoyさん がスターを付けました。
b:id:notr85さん がスターを付けました。
b:id:nekokujiraさん がスターを付けました。
b:id:fromdusktildawnさん がスターを付けました。
b:id:atsuskpさん がスターを付けました。
b:id:Hamukoroさん がスターを付けました。
b:id:edamametomatoさん がスターを付けました。
b:id:shifa334さん がスターを付けました。
b:id:onasussuさん がスターを付けました。
b:id:Sapplethreeさん がスターを付けました。
b:id:shields-pikesさん がスターを付けました。
b:id:augsUKさん がスターを付けました。
b:id:manotchさん がスターを付けました。
b:id:uuchanさん がスターを付けました。
b:id:uturiさん がスターを付けました。
b:id:str239さん がスターを付けました。
b:id:misarine3さん がスターを付けました。
b:id:mibemibebebebeさん がスターを付けました。
b:id:michiki_jpさん がスターを付けました。
b:id:satoshieさん がスターを付けました。
b:id:satoshieさん がスターを付けました。
b:id:paraboさん がスターを付けました。
b:id:marshiさん がスターを付けました。
b:id:anus3710223さん がスターを付けました。
b:id:anus3710223さん がスターを付けました。
b:id:mozuyanniarazuさん がスターを付けました。
b:id:nakanohitonadoinaiyoさん がスターを付けました。
b:id:sakamoto_tarouさん がスターを付けました。
b:id:Mofuyukiさん がスターを付けました。
b:id:kanehamaさん がスターを付けました。
b:id:Bookmarkerさん がスターを付けました。
b:id:tadateruさん がスターを付けました。
b:id:amematarouさん がスターを付けました。
b:id:y-kawazさん がスターを付けました。
b:id:inuinuimuさん がスターを付けました。
b:id:deztecjpさん がスターを付けました。
b:id:lubie575さん がスターを付けました。
b:id:saigon99さん がスターを付けました。
b:id:legnumさん がスターを付けました。
b:id:Nan_Homewoodさん がスターを付けました。
b:id:vanish_l2さん がスターを付けました。
b:id:kujooさん がスターを付けました。
b:id:Jtaroooooさん がスターを付けました。
b:id:phallusiaさん がスターを付けました。
b:id:the-hosiさん がスターを付けました。
b:id:nurehaさん がスターを付けました。
b:id:nemuxnemuさん がスターを付けました。
b:id:nemuxnemuさん がスターを付けました。
b:id:nemuxnemuさん がスターを付けました。
b:id:luthyphenさん がスターを付けました。
b:id:hate1229さん がスターを付けました。
b:id:fishmaさん がスターを付けました。
b:id:brimley3さん がスターを付けました。
b:id:b_taroさん がスターを付けました。
b:id:sally327さん がスターを付けました。
b:id:coherent_sheafさん がスターを付けました。
b:id:fursealさん がスターを付けました。
b:id:fursealさん がスターを付けました。
b:id:bzb05445さん がスターを付けました。
b:id:bzb05445さん がスターを付けました。
b:id:bzb05445さん がスターを付けました。
b:id:maroonさん がスターを付けました。
b:id:okamo2011さん がスターを付けました。
b:id:kusunoeさん がなんでもタダで使わせろって乞食みたいを引用してスターを付けました。
b:id:InvisibleStarさん がスターを付けました。
b:id:htamaakiさん がスターを付けました。
b:id:koroharoさん がスターを付けました。
b:id:tabyyさん がスターを付けました。
b:id:ET777さん がスターを付けました。
b:id:kazkunさん がスターを付けました。
b:id:sawarabi0130さん がスターを付けました。
b:id:m_uchinoさん がスターを付けました。
「はてな民」とかいう雑な括りでなく、iwwに☆を付けた者のIDを抽出した上で
「こいつら↓は、弱者に優しいフリするのを金輪際やめろ」と主張したほうが、誤爆がなくてより良かったな。今回は俺が代わりにやってやったぞ
b:id:nakanohitonadoinaiyo
https://www.publickey1.jp/blog/22/javascripttypes_as_commentsjavascripttc39.html
Javascriptが登場したころはVBでさえ、型宣言は省略せずにしっかりしようって言われてたのに、その後Perl、Javascript、Ruby、PHP、Pythonなど、動的型の言語が広まってしまう。
その後に一部で関数型の言語が流行ったり、Rust、Go、TypeScript等が影響力をもって、JS,Ruby,Pythonでも型チェックのしくみを取り入れようという動きがでてくる。
@kis (id:nowokay) さんの以下の記事についてです。
https://nowokay.hatenablog.com/entry/2021/09/25/042831
ブコメにもあるようにちょっと内容が雑というかわかりにくいせいで賛否両論になってしまっていて、もしかしたら近いうちにアンサー記事が出るかもしれませんが、自分自身の理解を助けるためにも言わんとしていることを推測しつつ、自分の認識もまとめておこうと思い書くことにしました。明らかに誤読してそうな箇所があれば、指摘してください。
まずは前提を書いておかないと論点がぼやけると思うのでいちおう。
その他の前提:
2000年代に入って関数型プログラミングが脚光を浴び始めたのは、コンピュータ資源が潤沢になりパフォーマンスをそれほど気にしなくってよくなったことが大きな理由ではないか、という認識があります。
関数型プログラミング言語の内部実装を読んだことがないので推測ですが、データを不変にするということはその都度メモリ領域を新たに割り当てることになり、そのオーバーヘッドがプログラムのパフォーマンスに影響を与えるので、パフォーマンス要件がをシビアな場合、どうしてもメモリ割り当てや計算効率を考えるとミュータブルにせざるをえないと思います。が、ウェブアプリケーションに限っていえば、データベースアクセスやネットワークアクセスのレイテンシが大きいので、そうした相対的に細かいオーバーヘッドを無視しても(大抵の場合は)問題にならなくなった、というのが「時代」の流れなんだという認識です。
いっぽうで別の観点もあって、REST API や FaaS が一般化して、関数単位で処理を分割し、アプリケーション外部に配置することが当たり前になってきた現状があり、マイクロサービスのようにアプリケーション自体もモジュールの一単位として考えると、アプリケーション内部のモジュール同士でも関数ベースでやりとりする形になっても不自然ではないと考えられます。
元記事にもありますが、RPC の派生(実装?)として生まれた Java の CORBA や Microsoft の DCOM みたいな振る舞い付きのオブジェクト(コンポーネント)を共有しようという世界観は廃れ、REST API のような単一の振る舞い(エンドポイント)とそれにひもづく JSON のようなデータ構造のみを受け渡すやり方が一般的になったアプリケーション間通信の潮流と、計算機資源が潤沢になって再度脚光を浴びた関数型プログラミングが、レイヤーの違いを飛び越えてひとつになろうとしているのではないか、と。
つまり、元記事に書かれている「時代に合ってない」というのは、「データ構造と振る舞いが一体となったオブジェクト」のような「なにか」は、そうした背景があるために、どこにも存在する必要がなくなってきているのではないか、と解釈しました。
なので、以下のコメントはちょっと論点がずれてると思いました。
はあ?「再利用する方法としてはWeb APIが主流」って、その中身をオブジェクト指向で設計することは、全く矛盾しません。 部品化の単位は、慣習や柵などで大きく変わります。オブジェクト指向とはほぼ無関係です。
https://b.hatena.ne.jp/entry/4708813645995359202/comment/suikyojin
なんでサービスとして外とやり取りする話とサービスの内部設計の話をごっちゃにしてんだ。なんか理解度が怪しくない
https://b.hatena.ne.jp/entry/4708813645995359202/comment/ssssschang
たしかに、アプリケーション単位とアプリケーション内部のモジュール単位とでその表現形式を合わせる必要はないんですが、元記事の言わんとしていることはこの一文に端的に表れていると思います。
ソフトウェアの記述をまとめるという視点では主にステートレスな関数を分類できれば充分で、データと振る舞いをまとめたオブジェクトというのは大きすぎる、システムを分割して管理しやすくするという視点ではオブジェクトというのはライフサイクルやリソース管理の視点が足りず小さすぎる、ということで、オブジェクト指向の粒度でのソフトウェア管理は出番がなくなっているのではないか、と思います。
「オブジェクト指向でなぜつくるのか」という本がありますが、「え、いまどきオブジェクト指向でつくらなくない?」っていつも思います。内容的には、もうほとんどはオブジェクト指向関係ないソフトウェア工学の紹介になっていますね。
当該書籍は読んだので後半はまぁわかるんですが、前半は「え、いまでもオブジェクト指向でつくるのが主流じゃないの?」って思ってしまいます(オブジェクト指向の定義が「データ構造と振る舞いが一体となったオブジェクトの集まりとしてソフトウェアを組織化すること」なのであれば)。
Joe Armstrong が "Why OO Sucks" を書いたのが2000年とのことなのですが、そろそろこうした議論は収束に向かってほしいと個人的には思います(とっくに収束していると感じている方もいらっしゃるでしょうけど)。
偶然にこの会社の本を本屋で手にとってしまって、その場でチラチラ読んでいったら、色々な大学のインターン生が各々「リライト」したような感じの記事を書いていて、最後に「感謝!」みたいなポエムを社長が書いてあって、すごく腹がたったんだよ。プログラマー界隈だと、PHP, Perl, Ruby, Java, Python, etc を使って毎度似たような本を書くライターがいるのは知られている。で、まぁ、そんな彼らでも評価すべき箇所は、一応は自分でコードを書いていて、コードに責任を持っていることだ。なのに、こいつは自分はコードは書いてないけど、本を出して売れたオレは凄いって手法を使ってビジネスをしようとするのみえすぎる。つまり、投資家に信頼させる根拠に出版されたという本を使い、インターンは単位のために「書かない」という選択肢がないのに著名させられるって、一時期問題になった量産型ブログと何が違うんだ、って思ったのさ。なんというか、奴隷の書いたテキスト、現代版の『アンクルトムの小屋』みたいな悲哀がきつい本が流通されているのを認めてしまったときに、怒るなっていうのが無理だろ?
forkしてAnal Perlを作ろう
Perlつかっている方おられた!