Pythonのお勉強 Part75 (969レス)
Pythonのお勉強 Part75 http://mevius.5ch.net/test/read.cgi/tech/1743698824/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
795: デフォルトの名無しさん (ワッチョイ bebd-hBFX) [sage] 2025/08/25(月) 23:52:22.89 ID:N2pfjYln0 >>794 一般論もクソも、副作用を考慮することで複雑性が高まることは自明であり、書くのが自分だけだろうと関係ない。 account.deposit(amount) これが実はaccountはCatクラスのインスタンスで、depositは引数に応じた声色でスピーカーから鳴き声を鳴らすメソッドで、amountには声色を指定する文字列が入っている可能性は否定できないだろう? accountとは本当に銀行口座なのか、実はディズニーランドではないのかなどと常に疑ってかからなければならない。 しかしお前は普段そんな心配はしていない。何故か?それはお前自身や周囲の人間がそこまでのバカではないとお前が信じているからだ。 同様に、lambdaに副作用書くバカは自分含めチームにいないと信じることにするなら、lambdaを見るたびにどんな副作用があるのか、同じ引数で2度呼び出されても問題ないのか、 といった余計な心配に脳のリソースを割く必要がなくなり、生産性が向上する。 http://mevius.5ch.net/test/read.cgi/tech/1743698824/795
796: デフォルトの名無しさん (ワッチョイ 8610-ZAtR) [sage] 2025/08/26(火) 07:53:15.97 ID:lpW4FrXI0 生産性の向上っていうのが誰視点なのかって話。 高階関数の実装者側は、そもそも渡される関数の副作用に対してできることは何もない(どんな副作用かも分からないんだから当然)のだから、元々「余計な心配にリソースを割く」こと自体がない。引数として渡される関数には副作用がないか、副作用を持つとしても高階関数の処理に影響は与えないという前提で書くだけでしょ。引数として副作用のあるlambdaを渡して、それが原因で高階関数の処理に影響を与えたら、それは呼び出し側が悪いってスタンスで書くしかない。 高階関数の呼び出し側は、特に高階関数のコードが読める状況なら(典型的には自分だけで書いている状況なら)、引数として渡す関数・lambdaに副作用があったとしても、それが高階関数の処理に影響を与えるか否かを判断できる。高階関数の処理に影響を与えない副作用がある関数・lambdaを与えるのは別に問題はないのではないか、それでも何か避けた方が良い固有の問題点があるのかどうかというのか792の疑問ね。 コードを読む人は、高階関数に引数として渡される関数・lambdaには副作用がないか、副作用を持つとしても高階関数の処理に影響は与えないという前提で読むだけ。 実際に副作用のあるlambdaを書くことはほとんどないけれど、780みたいな単純な代入処理はたまにlambdaで済ませたくなることもある。そういうときに、一般論とか教条主義的なスタンスを超えた問題が何があるのかなという疑問だったんだが。 http://mevius.5ch.net/test/read.cgi/tech/1743698824/796
797: デフォルトの名無しさん (ワッチョイ 6a1a-uCg5) [] 2025/08/26(火) 09:39:12.77 ID:tZRcIfkk0 >>796 他人とちゃんと話し合って決めろよ http://mevius.5ch.net/test/read.cgi/tech/1743698824/797
798: デフォルトの名無しさん (ワッチョイ dd8d-hBFX) [sage] 2025/08/26(火) 09:58:03.54 ID:qtH/IdiV0 >>796 皆がお前のようにいちいち小難しいことを考えているわけではない、ってことだ。 一定以上のレベルのプログラマであればlambdaで副作用書いてるのを目にした時点で一般常識に照らして「こいつバカじゃないのか」という疑念を持つ。 お前のように細かいことを深く考えた上でやっているとは普通は思わない。 そしてバカを疑いながらのリーディングは通常よりも注意力を要し、結果的に時間がかかる、即ち可読性は低下する。 http://mevius.5ch.net/test/read.cgi/tech/1743698824/798
799: デフォルトの名無しさん (ワッチョイ 6a1a-uCg5) [] 2025/08/26(火) 10:13:17.81 ID:tZRcIfkk0 >>796 は仕事じゃないんだろうな http://mevius.5ch.net/test/read.cgi/tech/1743698824/799
800: デフォルトの名無しさん (ワッチョイ a9f6-ut8q) [] 2025/08/26(火) 11:02:48.24 ID:GdDdRaCq0 800get http://mevius.5ch.net/test/read.cgi/tech/1743698824/800
801: デフォルトの名無しさん (ワッチョイ 7954-IRdO) [sage] 2025/08/28(木) 07:37:52.10 ID:yOq6T87r0 デフォルト名前空間付きタグがどうやっても取得できない http://mevius.5ch.net/test/read.cgi/tech/1743698824/801
802: デフォルトの名無しさん (ワッチョイ 29eb-ZAtR) [sage] 2025/08/29(金) 09:32:22.26 ID:sEZGPQSB0 dataclassは比較的新しいモジュールだけど、急速に普及した印象がある。namedtupleより分かりやすいので良い。 http://mevius.5ch.net/test/read.cgi/tech/1743698824/802
803: デフォルトの名無しさん (ワッチョイ 4ad1-Y9fL) [] 2025/08/30(土) 18:55:38.52 ID:hbOtSRYd0 goやrustみたいな最初から型がある言語のほうが良かったなぁ(´・ω・`) http://mevius.5ch.net/test/read.cgi/tech/1743698824/803
804: デフォルトの名無しさん (ワッチョイ 7954-IRdO) [sage] 2025/08/30(土) 19:03:44.19 ID:qOwp6KvW0 むしろもっとperlみたいにゆるゆるな方が好み http://mevius.5ch.net/test/read.cgi/tech/1743698824/804
805: デフォルトの名無しさん (ワッチョイ c6b3-ZAtR) [sage] 2025/08/30(土) 19:07:15.61 ID:9+bLWO6W0 パフォーマンスの点と他者の書くコードに型指定を強制できないという点は仕方ないけれど、それ以外は、型で実現したいことって概ねPytnonでもできるようになってない? そうでもない? http://mevius.5ch.net/test/read.cgi/tech/1743698824/805
806: デフォルトの名無しさん (ワッチョイ ca02-NWkk) [sage] 2025/08/30(土) 19:57:54.62 ID:Inltr+l10 >>803 型を明記しないと、パッと見でわからないよね 実行してデバッグしないと http://mevius.5ch.net/test/read.cgi/tech/1743698824/806
807: デフォルトの名無しさん (ワッチョイ ca02-NWkk) [sage] 2025/08/30(土) 19:58:14.61 ID:Inltr+l10 >>806 ただ、 コンパイルしないのはラクだな http://mevius.5ch.net/test/read.cgi/tech/1743698824/807
808: デフォルトの名無しさん (ワッチョイ feeb-VoZ8) [sage] 2025/08/30(土) 20:59:13.62 ID:LdU2fVxg0 Pythonが出てきた頃はPerl全盛だったけどCGIとかP言語はもう死語だろうな http://mevius.5ch.net/test/read.cgi/tech/1743698824/808
809: デフォルトの名無しさん (ワッチョイ 132b-482X) [] 2025/08/31(日) 10:31:20.51 ID:GjhCFU0W0 python出てくる前はpython的な言語ってなんだたの? lisp? http://mevius.5ch.net/test/read.cgi/tech/1743698824/809
810: デフォルトの名無しさん (アウアウウー Sae7-8tKF) [] 2025/08/31(日) 10:48:14.97 ID:8dn8jVHLa 当時から既に広く使われていて最もpython的と言うならTcl/Tkだよ http://mevius.5ch.net/test/read.cgi/tech/1743698824/810
811: デフォルトの名無しさん (ワッチョイ 6f6c-O/rL) [sage] 2025/08/31(日) 20:58:12.37 ID:aib5LYmb0 >>809 シェルスクリプト もしくは rexx http://mevius.5ch.net/test/read.cgi/tech/1743698824/811
812: デフォルトの名無しさん (ワッチョイ 6f76-P3Uo) [] 2025/08/31(日) 21:10:05.20 ID:yW7onUoP0 立ち位置的にはPerlでしょ $とか%とかだりーなーとか思いつつ、ライブラリあるしみんな使ってるから使うかーって感じだった 今もオフサイドがとかうるせーなーとか思いつつ、結局Perlの時と同じでまあ言語なんかなんでもいいかに落ち着いて使ってる http://mevius.5ch.net/test/read.cgi/tech/1743698824/812
813: デフォルトの名無しさん (ワッチョイ 738e-Uwoy) [sage] 2025/08/31(日) 21:34:01.42 ID:1n2Iv0Hx0 シェルスクリプトの代わりにはならんかったよ 初期導入されてたのってRedHatくらいだったし Luaみたいな組み込み言語の側面はあったから Tcl/Tkはしっくりくる http://mevius.5ch.net/test/read.cgi/tech/1743698824/813
814: デフォルトの名無しさん (ワッチョイ a327-jRKo) [] 2025/08/31(日) 21:38:06.39 ID:Uf/mN+Cj0 >>809 シェルスクリプト VBScript http://mevius.5ch.net/test/read.cgi/tech/1743698824/814
815: デフォルトの名無しさん (ワッチョイ cfc5-O/rL) [] 2025/08/31(日) 21:38:24.47 ID:pHIfhBnQ0 awkだろにわかどもが http://mevius.5ch.net/test/read.cgi/tech/1743698824/815
816: デフォルトの名無しさん (ワッチョイ a327-jRKo) [] 2025/08/31(日) 21:39:09.43 ID:Uf/mN+Cj0 Pythonの言語仕様はクソだが、とりあえず無償だったのでいろんな製品に採用されただけ。 http://mevius.5ch.net/test/read.cgi/tech/1743698824/816
817: デフォルトの名無しさん (ワッチョイ 6f6c-O/rL) [sage] 2025/08/31(日) 21:40:53.43 ID:aib5LYmb0 >>812 >>813 perlの前がなんだったかって話だぞ わかってんのか? ラリーウォール自体が話してるんだが なんだこいつらキチガイか? http://mevius.5ch.net/test/read.cgi/tech/1743698824/817
818: デフォルトの名無しさん (ワッチョイ a327-jRKo) [] 2025/08/31(日) 21:41:11.62 ID:Uf/mN+Cj0 >>815 それはシェルスクリプト内で使うもの なんでもawkでやるやつは昔から嫌われている。 いまでもawkで作り込まれていてメンテナンスがたいへんな業務システムがえるわ。 http://mevius.5ch.net/test/read.cgi/tech/1743698824/818
819: デフォルトの名無しさん (ワッチョイ 6f6c-O/rL) [sage] 2025/08/31(日) 21:41:37.92 ID:aib5LYmb0 >>815 sed awk シェルスクリプトだな ちゃんと書くと http://mevius.5ch.net/test/read.cgi/tech/1743698824/819
820: デフォルトの名無しさん (ワッチョイ a327-jRKo) [] 2025/08/31(日) 21:43:14.03 ID:Uf/mN+Cj0 >>817 それならC言語だろうに スクリプト言語だとシェルスクリプト Pythonだって外部プログラムの呼び出しばかりでPython独自のライブラリは少ない。 http://mevius.5ch.net/test/read.cgi/tech/1743698824/820
821: デフォルトの名無しさん (ワッチョイ cfc5-O/rL) [] 2025/08/31(日) 21:46:31.03 ID:pHIfhBnQ0 >>818 Perlの前ってことは正しいだろ http://mevius.5ch.net/test/read.cgi/tech/1743698824/821
822: デフォルトの名無しさん (ワッチョイ 3354-uCOC) [sage] 2025/08/31(日) 21:47:36.14 ID:F59m/DJE0 pythonが出てくる前の話なんだからperlだろ perlの前はawk http://mevius.5ch.net/test/read.cgi/tech/1743698824/822
823: デフォルトの名無しさん (ワッチョイ cfc5-O/rL) [] 2025/08/31(日) 21:59:07.78 ID:pHIfhBnQ0 Pythonの前だったわ Asm->c/fortran->awk/sed/bash->perl->python->chatgpt/claude が言語の歴史として正しいか http://mevius.5ch.net/test/read.cgi/tech/1743698824/823
824: デフォルトの名無しさん (ワッチョイ 6f6c-O/rL) [sage] 2025/08/31(日) 22:07:25.17 ID:aib5LYmb0 >>820 ズレまくってるな ここまで文脈わからないのが居るのこえー http://mevius.5ch.net/test/read.cgi/tech/1743698824/824
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 145 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.009s