17/12/13 18:37:50.43 sjTFpswL.net
>>259
おう、高級言語よりアセンブリの方が速いし一生アセンブリ使っとけよ
263:デフォルトの名無しさん
17/12/13 18:38:50.92 sjTFpswL.net
>>258
何度も返ってくる物:rxjs
一度だけ返ってくるもの:Promise+async/await
264:デフォルトの名無しさん
17/12/13 20:43:44.45 VZwg/vs9.net
>>261
借りてきすぎて統一感ゼロ。
いっそコールバック書くか、全部イベントでこなすかや全部rxか、全部Reduxのほうが潔い。
awaitで延長される変数のライフタイムが勿体無さすぎる。
265:デフォルトの名無しさん
17/12/13 20:52:20.95 4nENptHR.net
>>260
そういう世界もあるので一概に笑えんし、少なくとも取ってつけたで満足して「これがあるから問題ない」と開き直るよりは、
コントロールを保ってモノ作ってると思うけどな。
ポリフィル(笑)
266:デフォルトの名無しさん
17/12/13 22:30:27.71 sjTFpswL.net
>>262
いやいや適材適所だろ
267:デフォルトの名無しさん
17/12/14 00:54:59.81 R6Bq4sFz.net
rxもかなりめんどくさい。概念はシンプルなのに
操作メソッドあんなにいるもんか?って思うわ。
268:デフォルトの名無しさん
17/12/14 02:18:11.50 YzSVtILw.net
Advent見てても人気ねぇし、Rxは流行らんな。
269:デフォルトの名無しさん
17/12/14 07:59:53.12 NBF/BshK.net
時代はBlack
270:デフォルトの名無しさん
17/12/14 08:03:
271:21.17 ID:cqXlNk/G.net
272:デフォルトの名無しさん
17/12/14 08:04:38.89 cqXlNk/G.net
>>218
>動的型言語の「綴りミスも許さない」方針にはついていけない
変数宣言の有無と型付けを区別できない人はプログラム書かないほうがいいと思う
273:デフォルトの名無しさん
17/12/14 08:05:20.86 cqXlNk/G.net
>>218
>動的型言語の「綴りミスも許さない」方針にはついていけない
変数宣言の有無と型付けを区別できない人がプログラムを書くのは型エラーです
大事なことなので3回書きました
274:デフォルトの名無しさん
17/12/14 08:07:43.17 cqXlNk/G.net
>>225
>それで動的型にする見返りがあるんなら良いんだが、何もないからなぁ
>邪悪なことがしたい、以外のメリットが無い
こういう人って
邪悪なことって具体的にリストアップしてよ
と言うと二度と帰ってこないw
275:デフォルトの名無しさん
17/12/14 08:22:58.23 hzCFy3Z8.net
Yコンビネータ書きたいとかだろ
276:デフォルトの名無しさん
17/12/14 08:29:14.79 cqXlNk/G.net
Yコンビネータは再帰型で静的に型付くだろ
277:デフォルトの名無しさん
17/12/14 08:29:49.77 vWSIvs9F.net
>>264
適材適所なのかなぁ。
目下の問題を解決するためにこうなっちゃいました、いい感じなんで標準クラスにするべき!に見える。
どーせwebworkerとかserviceworker、webdsocketにイベントの投げ合いなんだし、もとのようにイベントで制御するのが一番に見えるけどな。
一度きりならonce、何回も呼ばれるからon。
eventEmitterってブラウザでも使えなかったっけ?
無けりゃそれぐらい書いても良いけど。
278:デフォルトの名無しさん
17/12/14 08:31:59.97 GokG4kFP.net
連投ガイジ
279:デフォルトの名無しさん
17/12/14 10:21:22.17 vseOcHr4.net
動的型付けの恩恵を一切受けないコードを書くなら
動的型でも型推論で補完が効くし、
補完が効かないなら動的型の恩恵を受けるようなコードを
知らないうちに書いてるってことだよ
280:デフォルトの名無しさん
17/12/14 12:16:59.44 vWSIvs9F.net
なんでもガイジだなぁ
281:デフォルトの名無しさん
17/12/14 12:51:31.09 rvUZFKGD.net
なんでもガイジというか、ガイジがいっぱい沸いているだけ
282:デフォルトの名無しさん
17/12/14 13:13:13.86 kS2O37CV.net
同じ人間でも脳の構造の違いにより考え方が全然違う。
つまり生まれつき脳の仕組みが全く違う人達がいる。
283:デフォルトの名無しさん
17/12/14 16:27:32.32 w0b2qkK/.net
仕組みが全く違うというのがもし本当なら
速度のみを測定するベンチマークが信用できなくなる
だから仕組みは同じで速度だけが違うと考えるのが無難である
284:デフォルトの名無しさん
17/12/14 19:49:58.30 ZmHWuRBr.net
>>274
rxはSubject使い始めると一気に邪悪化するからな
285:デフォルトの名無しさん
17/12/15 00:41:45.52 8bhjGnw1.net
型無しガイジどもは死ね
迷惑なんじゃ
286:デフォルトの名無しさん
17/12/15 07:01:30.05 18KhAamS.net
型推論より要件推論ください。
287:デフォルトの名無しさん
17/12/15 07:10:42.24 lXr5oGUf.net
プロミスってモナドだよな。いい意味で。
288:デフォルトの名無しさん
17/12/15 08:27:21.30 TYCzXsyM.net
型があれば解決するかのように思ってる人が生き方を改めてほしいな。
実際問題、それだけに頼って地雷踏んだときはコアダンプ読む型なんて飾りですみたいなオッサン呼ぶ事になるんだし。
289:デフォルトの名無しさん
17/12/15 08:32:03.35 onuFSj3r.net
だがそれは型による静的検証をしない理由にはまったくならない
290:デフォルトの名無しさん
17/12/15 09:26:28.87 y+u48ms5.net
別にやればいいじゃんとしか言いようがない。
大抵糞どうでもいいキャストを付け加えるどうでもいい作業に時間を追われるだけだけどな。
291:デフォルトの名無しさん
17/12/15 09:27:43.95 onuFSj3r.net
底辺凄いな(こなみかん
292:デフォルトの名無しさん
17/12/15 09:41:39.57 TYCzXsyM.net
型による静的検証で満足する理由にもならん。
293:デフォルトの名無しさん
17/12/15 09:51:32.76 KrZVgz++.net
静的型があれば全て解決するとは誰も言ってないが
動的より良いというだけだぞ
294:デフォルトの名無しさん
17/12/15 10:01:44.25 EYhpAKtT.net
そらフレームワークに乗っかって用意された関数を呼ぶだけのドカタには
静的型の制約なんて関係ないだろうね
メタプログラミングなんてした事ないでしょ?めんどくさいよ静的型だと
295:デフォルトの名無しさん
17/12/15 10:19:01.73 CUNT7XlU.net
こいつ相手をドカタかつメタプログラミングをしたことない奴と決めつけて何がしたいんだ……
296:デフォルトの名無しさん
17/12/15 10:29:03.83 Wavcz0jA.net
なんで静的型のほうが動的型より良いって前提で話を進めるんだこいつらは……
そんなに静的型が好きならYesodでRailsレベルのシステム構築してみろっつーの
297:デフォルトの名無しさん
17/12/15 10:44:03.14 CUNT7XlU.net
そんな面倒なこと要求するならお前も何か動的言語でRails並のもの実装しろよな
298:デフォルトの名無しさん
17/12/15 10:47:18.85 Wavcz0jA.net
静的型なら動的型より生産性高いって主張してる側が実装しろよ
なんで実証をこっちがやんなきゃいけないんだよ
299:デフォルトの名無しさん
17/12/15 10:49:44.96 CUNT7XlU.net
実証責任を押し付ける上にテーマまで押し付けんなよ
テーマ量子化学で良ければ無限に実証してやるがやるか?
300:デフォルトの名無しさん
17/12/15 10:55:43.94 Wavcz0jA.net
静的型の言語はいちいちキャスト書いたり無駄にコード量がかさむ抽象クラス書いたりしてコード当たりの生産性低くなるし
メタプログラミングがかなり面倒になるしで、動的型と比べて工数が倍以上かかる
型チェックで検出できる程度のエラーなんて単体テスト書きゃ確認できる程度のモン
テスト書きたくないクソプログラマ未満には魅力的に映るんだろうがな
301:デフォルトの名無しさん
17/12/15 10:57:08.06 Wavcz0jA.net
>>297
ってこっちは主張してて、その実例として、RailsとYesodを提示してる
静的型を優位に推したいなら、逆の事例でも提示してみろって話だ
302:デフォルトの名無しさん
17/12/15 11:06:17.66 lXr5oGUf.net
動的と静的は兄弟のようなものでお助けあっていきているんだね。
303:デフォルトの名無しさん
17/12/15 11:23:17.29 CUNT7XlU.net
おぅん?
なんだその妄想。静的型でもテスト書くぞ
それにJavaじゃあるまいしちゃんと書いてりゃキャストはいらんしょ
メタプログラミングはともかく、その二つは言語の問題じゃない
言語の問題じゃない所を挙げて優位を主張すれば良いなら
↓みたいなこと書けばいいのか?
動的型は引数の型情報をちゃんと書かないから人のコード読むのめっちゃしんどくて生産性が低くなるし、テストが足りずにいざ動かしたら意外な所で引っかかるボケコードも存在する(しかも型があれば引っかからないような所)
いちいちクラスのメタ的なマニアックな機能を使って書いた本人以外の読解がそれなりにしんどいコードにして拡張性を下げたりし始めるし
コードを読む時間が倍以上かかる
実例としては動的型付けとしてaseとpyquante、静的型付けとしてvaspとbigDFTでも提示しておこうかな
こんな感じでええんか?
304:デフォルトの名無しさん
17/12/15 11:27:03.08 CUNT7XlU.net
挑発に乗って色々滅茶苦茶書いたものの実は俺は静的信者では無かったりする
305:デフォルトの名無しさん
17/12/15 11:52:43.43 Wavcz0jA.net
>>300
コードリーディングの過程で型情報がほしいって言うのは一理あるな。そのために間違った方のハンガリアン記法使うのもアホ臭い
ちゃんと設計してればキャストはいらないっていうのは、静的型言語では整数と浮動小数点数の組み合わせで四則演算すらできないって問題がある。OCamlがわかりやすいな
これを無理矢理できるようにHaskellみたくNum型クラスみたいなのを導入するとオーバーヘッドがかさむ
テストについては、結局型が通るか通らないか程度はテスト書く過程で見れるだろって話で、きちんとテスト書けばその程度の差は優位性にはならないんじゃないかってことな
そりゃテスト書かないと静的型でも動的型でも壊れたコードだ
306:
17/12/15 12:14:1
307:9.47 ID:kyib3K1A.net
308:デフォルトの名無しさん
17/12/15 12:18:48.75 Wavcz0jA.net
OCamlは今時の静的型付け言語ではないのか?
309:デフォルトの名無しさん
17/12/15 12:21:43.33 Wavcz0jA.net
Scalaはこの問題を暗黙の型変換で対応してるが、これはこれで闇を醸造してるよな
310:デフォルトの名無しさん
17/12/15 12:26:18.04 yHEncU/L.net
演算子オーバーロードを嫌う人がいるのは事実
演算子オーバーロードすると実行時にオーバーヘッドがかさむというのは嘘八百
311:デフォルトの名無しさん
17/12/15 12:26:29.05 Q6E9xMBX.net
組み込みの数値型は自動変換する言語が多いし
静的・動的と関係ないね
312:デフォルトの名無しさん
17/12/15 12:39:33.81 TYCzXsyM.net
>>290
そうでもなかろう。
蛇足という言葉もある。
生産性ってのはもう少し厳密に扱われるべきだと思う。○○の場合は、とか。
313:デフォルトの名無しさん
17/12/15 12:41:17.66 TYCzXsyM.net
>>302
間違ってない方のハンガリアンならば、型なんてどうでも良いと言う事もわかると思う。
ユーザ定義型に出来れば言う事無いけどね。
314:デフォルトの名無しさん
17/12/15 12:50:20.64 Wavcz0jA.net
>>309
そうだな。正しい方のハンガリアン記法なら、静的型のコンパイラに頼るよりはるかに健全な運用ができる
別に静的型でもやりゃいいと思うが、コンパイラに頼るのに慣れると面倒に感じるのかね?
315:デフォルトの名無しさん
17/12/15 12:56:07.91 Wavcz0jA.net
静的型でチェックできることは、単体テストを書く過程で自然とチェックできる
静的型のチェックにより、メタプログラミングが書けなくなり、本質的でない型合わせのための余計なキャストも増える
結局この二点なんだよな
316:デフォルトの名無しさん
17/12/15 12:58:02.72 Wavcz0jA.net
可読性についてはまあわからんでもない。正しい方のハンガリアン記法でも、接頭辞の管理はコード上にないからな
IDEのサポート込めば確かにリーディング速度は上がると言える
317:
17/12/15 13:19:56.65 kyib3K1A.net
>>311
>静的型でチェックできることは、単体テストを書く過程で自然とチェックできる
逆だ、
単体テストでのチェック内容の一部は、テストを書くまでもなく静的型でチェックできる、だ
テストを書くまでもなく、成果物の品質を一定のレベルまで引き上げるのが静的型の特徴だ
メタプログラミングはそれようの総称型を使えばよい
本質的でないキャストは総称型(ジェネリクス)で基本的に全廃できる
318:デフォルトの名無しさん
17/12/15 13:45:16.34 Wavcz0jA.net
>>313
>テストを書くまでもなく、成果物の品質を一定のレベルまで引き上げる
だからって単体テスト書かないって訳でもなかろう
その単体テストを書く過程で型検査などは自然とテストされるということ
型チェックをテスト書かない言い訳にするのはそれこそ最悪
319:デフォルトの名無しさん
17/12/15 13:46:32.11 Wavcz0jA.net
ジェネリクスで不要なキャストが撤廃できるなら、それはそうなんだろう
上で挙げた四則演算問題がジェネリクスでなんとかなるとも思えんが
320:デフォルトの名無しさん
17/12/15 13:59:37.30 6UtRgQBN.net
>>313
ジェネリクスをきちんと使えばキャストはほぼ全てなくせるが、
メタプロはジェネリクスだけじゃどうにもできないだろ。
あと、ジェネリクスとC++のテンプレートは似ているようで全然違う。
メタプロに関しては動的言語のほうが簡単なのは事実。
ただ、本当にメタプロが必要になるケースになんてあまりないと思うんだが。
>>314
別にテストを書かない言い訳とかじゃなくて、
静的型なら動的型に比べてテストを書く量を減らせるということだろ。
テストを全く書かなくなることはないけど、テストの量を減らせるというだけでも
そこには立派な価値があるということが言いたいんだ思うが。
321:デフォルトの名無しさん
17/12/15 14:00:37.68 U+kqpzL7.net
四則演算問題って何?
322:デフォルトの名無しさん
17/12/15 14:07:11.13 6UtRgQBN.net
>>317
たぶん>>302の
>静的型言語では整数と浮動小数点数の組み合わせで四則演算すらできないって問題がある。
てやつのことだろ。
それって、単に言語の性格の違いのような気がするんだが。問題と呼ぶほどのものか?
323:デフォルトの名無しさん
17/12/15 14:58:25.54 57xWWF8w.net
走らせないとわからないテストより前に、コンパイルでエラーが検出できたほうがいいやろ
テストについて�
324:黷ゥら勉強しなおしなさい
325:デフォルトの名無しさん
17/12/15 15:13:05.84 yHEncU/L.net
静的型と動的型の対立をいくら勉強しても新しい発見はない
次世代の静的型を考えてるやつらは現在の静的型と対立するのだ
静的型と静的型を対立させる
どっちが勝つか全く予測できないから全く新しい成果を出せるのだ
326:デフォルトの名無しさん
17/12/15 15:50:55.50 y+u48ms5.net
コンパイラがバグもなく絶対的に正しければな。
コンパイラにそこまでの期待を背負わせた結果がc++の現状なわけだ。
ユーザーの仕様要求にはぼろくそ文句言う奴に限って、
コンパイラに理不尽な要求してる奴が多いってのはほんとなんなんだろうな。。
327:デフォルトの名無しさん
17/12/15 15:54:40.37 Wavcz0jA.net
>>319
コンパイルだって走らせないと動かないとおもうんだが
結局テスト走らせるのもコンパイル経由するんだからかわんねえだろ
328:
17/12/15 15:59:44.12 kyib3K1A.net
>>322
かわるねえ、テストはテスト書かなければならないし、すると書いたテストが間違っている可能性も否定できない
コンパイル時の型チェックは、つまるところソースの矛盾をつくのだから、それだけでソースの検証になりうる
ただ、型情報はコンパイル結果には含まれないのが普通だから、いうなれば無駄を書いているわけだ…
329:デフォルトの名無しさん
17/12/15 16:03:06.34 Wavcz0jA.net
>>323
結局「型チェックあるからテストの手が抜ける」論者か。話にならんな
330:
17/12/15 16:10:07.80 kyib3K1A.net
>>324
それはお前の思い込み、テスト不要とはひとこともいっていないだろう?
331:デフォルトの名無しさん
17/12/15 16:17:12.00 85mmUd/p.net
動的型付け言語でメソッド先頭に引数型チェックをずらずら書いてるコードを見た時は心底アホだなと思いました
332:デフォルトの名無しさん
17/12/15 16:19:20.03 6UtRgQBN.net
>>324
その言い方は「手を抜く」ことに関して批判しているのように聞こえるな。
プログラマなら手を抜くことに積極的なのはむしろ褒められるべきことだと思うが。
手を抜かないことを美徳とするなら伝統工芸の職人さんにでもなれば。
少なくともそんな考え方をするような人間はプログラマには向いていないよ。
333:デフォルトの名無しさん
17/12/15 16:28:14.91 Tb7zQwK9.net
>>326
そんなに自分のバカさを自慢しなくても…皆よくわかっているから
334:デフォルトの名無しさん
17/12/15 17:07:38.29 WQPs5rl9.net
>>302
javaの場合はクラス間のキャストと整数、小数間のキャストが同じ構文だから分かりにくいけどあれ全くの別物だから
後者はどちらかというと関数に近い
例えばStringをObjectにキャストしても変数の値(=メモリアドレス)は変わらない
でもlongをdoubleに変換したら変数の値自体が変わる
これは大きな違い
335:デフォルトの名無しさん
17/12/15 17:10:15.06 WQPs5rl9.net
静的型付けでもテストはいるけど数を減らせる
わざわざ機械がチェック出来る事を人がやる意味は?
あとオーバーヘッドどうのこうのって動的型付けの方がオーバーヘッドでかいやん
336:
17/12/15 18:14:48.74 kyib3K1A.net
>>326
いや、それが、Java の本番コードでは執拗な null チェックはかかせないようですよ、はじめてみたときは目をうたがったな…
337:デフォルトの名無しさん
17/12/15 19:17:26.70 Tb7zQwK9.net
>>330
静的型はより少ないテストデータで同等の品質を確保できるという実証データはある?
338:
17/12/15 19:24:35.38 kyib3K1A.net
>>332
URLリンク(developers.srad.jp)
あまり参考にならないかもしれない
339:デフォルトの名無しさん
17/12/15 19:39:38.59 57xWWF8w.net
>>331
今時NotNullアノテーションで対応するけどな
340:デフォルトの名無しさん
17/12/15 19:42:37.27 Q6E9xMBX.net
スレタイの言語はどれも静的型付けやなw
341:デフォルトの名無しさん
17/12/15 20:07:05.04 6UtRgQBN.net
>>332
説得力のある実証データはたぶんないだろうな。
342:だが逆説的に、動的型でも静的型と同等のテスト量で同等の品質を確保できる という実証データがないだろうこともやはり同じだ。 「型付け」と「テスト量と品質」に関係性は「あるかもしれない」し、「ないかもしれない」。 そのことについて議論する価値はあるかもしれないが、 説得力のある実証データがないことが静的型付けを批判する理由にはなり得ない。
343:デフォルトの名無しさん
17/12/15 20:17:29.09 6UtRgQBN.net
ちなみにあまり説得力のない実証データなら腐るほどある。
何故それらに説得力ないかというと、
テストの品質というものを正確に数値化できないからだろうな。
つまり、品質を正確に数値化する方法がない限りはそのことについては誰も実証はできない。
まずは品質の数値化について誰もが納得できるような方法を考えることからだ。
そして、それが簡単にできれば苦労はしていない。
344:デフォルトの名無しさん
17/12/15 21:49:32.08 HGhk3PLi.net
静的型と動的型の言語で、同程度の品質を担保するために必要なテストの量が変わらないと仮定するなら、
メタプログラミングのしやすさとコードリーディングの難易度を天秤にかけるだけの話になりそうだ
キャストについては、さすがにGoのinterfaceやらJavaのObjectは別として、それが本当に「本質的でない」場面があるとはどうしてもピンと来ない
上で例に出されてるOCamlの浮動小数点数と整数の演算だって、本来この2つを四則演算した結果が
浮動小数点数になるか整数になるかは本来非自明だから、どっちかに明示的に型を揃えろっていうのは
静的型動的型関係ない問題だと自分は思う
メタプログラミングについてはこれももう出てるけど、本当にそれが必要かって言われるとなあ
確かに記述量自体は短くなるけど、間違いなく可読性とトレードオフになる
345:デフォルトの名無しさん
17/12/15 22:40:22.38 19GjPIYk.net
「ノコギリと刺し身包丁の優劣」みたいな無意味な話はつまらん。
346:デフォルトの名無しさん
17/12/15 23:34:56.14 WQPs5rl9.net
メタプログラミングみたいなのは型システム関係なくunsafeみたいな感じで一部分に閉じ込めて使うのが普通だからな
347:デフォルトの名無しさん
17/12/15 23:53:14.51 /50W1d3E.net
最近は、Pythonでも型アノテーション書くようにしてるよ。
見返した時に、コメントで型情報を書くよりは
楽なんで(;´∀`)
348:デフォルトの名無しさん
17/12/16 00:22:41.60 ocig5iu9.net
>>335
TypeScriptは動的だよ。
349:デフォルトの名無しさん
17/12/16 00:39:35.88 TWnq2dTt.net
>>342
静的型でもあり動的型でもある不思議な言語
350:デフォルトの名無しさん
17/12/16 00:56:52.03 puMNteBt.net
TypeScriptは静的な型検査をしたいから作ったんじゃないんか?
351:デフォルトの名無しさん
17/12/16 01:22:56.08 TZZbndKv.net
新しい言語の新しい議論でもあるのかと思って開いてみたら
20年前くらいの動的vs静的の罵り合いしかなかった
5ch死んでるな
352:デフォルトの名無しさん
17/12/16 01:34:19.93 fQ+nYBte.net
そう思うなら貴方にはこのスレは向いていなかったのでしょう。どうぞ卒業なさいませ
353:デフォルトの名無しさん
17/12/16 07:38:33.30 g6YeJGmB.net
20年は言いすぎだが確かに今更な話題だな
354:デフォルトの名無しさん
17/12/16 07:39:24.99 0YcySKum.net
>>336
>説得力のある実証データがないことが静的型付けを批判する理由にはなり得ない。
完全に同意するし、同様に、
説得力のある実証データがない以上は動的型付けを批判する理由にはなり得ない。
と思うね。
355:デフォルトの名無しさん
17/12/16 10:07:20.76 pj2GdbCH.net
説得力のある実証データが無いとは限らない得ない。
発見されてない可能性のあるものを存在しないと断定し得ない。
356:デフォルトの名無しさん
17/12/16 11:54:08.21 0YcySKum.net
>>349
信頼できる具体的なデータを出してから出直してきな、ばーか!
357:デフォルトの名無しさん
17/12/16 12:02:59.86 pj2GdbCH.net
信頼できる具体的なデータがないことはなり得ない。
完全に同意するし、同様に、
信頼できる具体的なデータがない理由にはなり得ない。
358:デフォルトの名無しさん
17/12/16 14:57:13.50 GPVNoJ1v.net
そういう白いカラスを探すような真似をせんでも。
動的静的、どちらも良いものだし、どちらにも反対側に寄せるような機能も
359:今時はある。 そういう意味では「静的型付け言語だから間違いが少ない」と言う発想は明後日というか「間違うなと言うだけの話」として扱われても仕方ないっちゃ仕方ない。 今まで一回もキャストやポインタデリファレンスを使ったコードを書いたことがない奴だけがギリギリ石を投げても良いと思うが、そんなやつはごく少数だろ。 チェックが厳しくなるのは良い事だが、それがないと物が作れない(はず)なんて言うのは補助輪付きの自転車を指して「これが至高の自転車だ、なぜなら倒れないからだ!」って言うのと同じくらい暴論。
360:デフォルトの名無しさん
17/12/16 14:58:31.90 GPVNoJ1v.net
そういう奴がRustのコンパイラにバタバタと倒れていくのは至極愉快だけどな。
最初からそれぐらい考えて作っとけよ、と。
361:デフォルトの名無しさん
17/12/16 15:18:00.92 4mgESDS3.net
数値を引数にとる関数作ったら
境界値やゼロ値をテストするのが静的型
数値文字列オブジェクト思い付く限り全てテストしないと発狂するガイジが型無し池沼
こういうことでしょ?
362:デフォルトの名無しさん
17/12/16 15:28:08.68 Dp1B/626.net
>>354
境界値やゼロ値をテストするコード書けば、文字列オブジェクトが入ってきたらエラーになるから
動的型でもそんなテストは必要ありません。
そんな当たり前の事も分からないなんて、君は本当に低脳だな。
363:デフォルトの名無しさん
17/12/16 15:32:04.21 GPVNoJ1v.net
逆の発想でしょ。
数値以外で呼んでなけりゃいいんだから、呼び出し箇所で引数が数値と推論できなければエラーにしときゃいいじゃん。解析上で。
仕様として数値しか取らないなら、数値に対するテストで十分でしょ。
静的言語でも数値以外を渡す方法が無いわけでも無い。程度論。
静的言語でもヒステリックなチェックが必要な案件もやっただけに、ホントに夢見てるんだろうなって思うわ。
引数を手当り次第にチェックする、という解法しか出て来ないのがそもそもキチガイじみてる。
364:デフォルトの名無しさん
17/12/16 15:34:15.25 GPVNoJ1v.net
スタックもメモリも疑え、みたいなプログラム書いたこと無いんだろうな。
365:デフォルトの名無しさん
17/12/16 15:41:18.50 4mgESDS3.net
お前も頭がパーエッチパーなのか?
366:デフォルトの名無しさん
17/12/16 15:47:08.12 0YcySKum.net
>>358
おまえはまず自分がバカであることを自覚しろ
話はそれからだ
367:デフォルトの名無しさん
17/12/16 17:20:40.73 4mgESDS3.net
型無し能無し糞バカパーエッチパーのバカがなんだって?
早く10年熟成のウリジナル社内フレームワーク保守する作業に戻れよ
368:デフォルトの名無しさん
17/12/16 20:13:15.10 GPVNoJ1v.net
どーやっても無関係のPHPをけなしたいんです!
というある種の精神的ハンディキャップを持ってるみたいだから仕方あるまい。
369:デフォルトの名無しさん
17/12/16 20:18:13.50 GPVNoJ1v.net
考えてみたけど、むしろPHPの問題は型があったとしても多分変わり無く問題としてあり続けると思うな。
370:デフォルトの名無しさん
17/12/16 20:50:00.94 GPVNoJ1v.net
QCやると>>337は痛感するがな。
品質保証しなかった物が万一起こす損害と、品質保証したから避けられた損害はイコールじゃないし、
品質保証してしまった時点で、避けた損害の計上は机上の空論になってしまう。
避けるも何も起こらなかったんじゃないの?と過剰な心配とみなされがち。
起こっていたに違いない、と言うのは確かに空論だからな。
「改善できている品質」自体を点数化(そしてある程度これは王道もある)しても、「改善しなかった場合の品質」が見積値のままなので、恣意的と言われても仕方が無い。
同様の問題にコストカットもあるが、これも最初から織り込んで当初目的を果たしてしまうと話がややこしくなる。対費用効果が品証と同様に、実績値と見積値の比較になる。正しい
371:比較じゃないのは確か。 一番、営業部や企画部や、ことによると開発部とも喧嘩になる数字。 なので、これに関して実証値を出せと言うのは、同じ事を、2つの方法で、全く同じ能力の人間が、二の轍を避けるというバアイスをかけないために初見で行った場合、の数値を出せと言う、無茶苦茶な要求になる。 パラレルワールドが発生してそれが一つの状態として観察出来る神が存在しない限りイチャモンのつけ放題。 要は無意味。
372:デフォルトの名無しさん
17/12/16 20:53:09.27 GPVNoJ1v.net
バイアスがどう間違ったかバアイスになってるわ。以外に読めるもんだな。ごめん。
373:デフォルトの名無しさん
17/12/16 22:08:20.37 /LKsQL98.net
>>355
phpでも?
374:デフォルトの名無しさん
17/12/16 22:37:18.69 ocig5iu9.net
>境界値やゼロ値をテストするコード書けば、文字列オブジェクトが入ってきたらエラーになるから
それをテストで確かめるんだろうが
375:デフォルトの名無しさん
17/12/16 23:57:56.53 g6YeJGmB.net
間違えない前提ならテストもいらんなw
376:デフォルトの名無しさん
17/12/17 00:07:22.96 lzYKowQo.net
>>362
当たり前やン
PHP7になって型サポートが入った!!とか嬉ション漏らしてるペチパー見て
心底あの界隈のレベルの低さに辟易した
377:デフォルトの名無しさん
17/12/17 00:17:16.85 w0yPK3Np.net
>>366
そこなんだよなぁ。
>>355は、動的静的どちらでも同じようにテストを書くことになるんだから
「結果、テストを書く手間(量)は一緒だろ」と言いたいんだろうが、
型については「テスト時に確かめるのが動的」、「コンパイル時に確かめてくれるのが静的」という違いがある。
「テスト時だろうがコンパイル時だろうがきちんと確かめることには変わりないんだからいいだろ」
という意見が動的派の主張のような気がするんだが(俺の勘違いだったら指摘してくれ)、
個人的にはテスト自体にバグが含まれる可能性があるという点で違うので、静的のほうが好ましいと思う。
コンパイラにバグがない保証はないがその可能性はかなり低いし、
まして、どこの誰が書いたかも分からないテストと比べればどちらが信用できるかは明らか。
静的でもテスト自体にバグが紛れることはもちろんあるが、型についてはコンパイル時にチェックされるので、
型チェックだけに焦点を絞ってみれば、やはり静的言語の方が信頼性は上だろう。
378:デフォルトの名無しさん
17/12/17 00:30:03.31 w0yPK3Np.net
>>367
すごく良い意見だと思う。
そもそもテストがあるのは人間は間違えるからというのが前提だからで、
そしてそのテストを書くのも人間なのでテスト自体も間違えている可能性がある。
それでもテストを書くのはチェックによって間違いを完全になくすことはできなくても
ある程度まで減らすことはできるという考えがあるからだろう。
そして、その考え方でいくとテストを重ねれば重ねるほど信頼性は上がるということになる。
つまり、テストのテストを行えば2重チェックとなりさらに信頼性が上がることになるが、
テストのテストを書くというのはあまりにもアホらしいので普通そんなことはしない。
つまり、通常のテストでのチェックは1重のチェックまでが限界となる。
それに対してコンパイラはコンパイラ自体がしっかりとテストされている。
つまり、コンパイラによる型チェックは言い換えればコンパイラ自体によるチェックと
コンパイラのテストによるチェックの2重チェックを同時に受けていることになる。
この考え方でいけば、ただのテストは1重のチェックだが、コンパイラによるチェックはそれだけで2重チェックとみなせる。
つまり、コンパイラによるチェックのほうが信頼性が高いということになるはずだ。
一応理論はしっかりと通っているはず。
自分で書いといてこんなこと言うのもなんだが「なんだかこじつけな気がして、あまり気に入らない」。
誰か論破してくれ。
379:デフォルトの名無しさん
17/12/17 01:33:04.30 DD3iPSz/.net
コンパイラにバグはないとかさ。。
とりあえずvcを一通り使ってみてから言ってほしいな。
浅はかすぎる。
まあしかし静的チェックと動的チェックを両方やるならいいと思うよ。
これは結局、仕様と実際の動作のどっちもしっかりチェックする必要があるってこと。
380:デフォルトの名無しさん
17/12/17 02:06:25.44 an2T/Jmb.net
一般的な話をvc固有の問題で批判する方が浅はかと言わざるを得ない
381:デフォルトの名無しさん
17/12/17 02:24:22.59 lzYKowQo.net
型も書けないような奴が
正しいテストを書けるだろうか?(irony)
382:デフォルトの名無しさん
17/12/17 08:41:58.60 cjnEvY5x.net
それ以前に、めんどくさいからって型書きたがらないような奴は現実にはほとんどテストなんか書いてないんだよ
動的型でテスト書けば問題ないだの必要なテストが増えるだのテストの正しさだのというのははっきり言って机上の空論
そもそも彼等はテストを書かない
383:デフォルトの名無しさん
17/12/17 08:51:42.24 ROemoGKg.net
そんなこというと、動的型付け言語を使っているから型を書いていないって人より
auto/varを使って意識的に型を書かない人の方がテストを書かない傾向があるって
言っているように聞こえるけど。
384:デフォルトの名無しさん
17/12/17 09:04:39.97 cjnEvY5x.net
>>375
そりゃ静的型でも型書かない奴は山ほどいるだろ
テストを書いているということを議論の前提にしていることが全くもって非現実的だと言ってるんだよ
385:デフォルトの名無しさん
17/12/17 09:06:12.54 qBUEKR93.net
テストの目的は実装のバグを探すことだけか?
むしろ仕様をチェックすることが最も重要だよ
バグは直せばいいだけだが、仕様はうっかり変更されたら直せない
死んだ人が帰ってこないのと同じ
動的型の言語仕様を捨てて静的型に移行するのが難しい理由もその辺にありそうだ
386:デフォルトの名無しさん
17/12/17 09:14:23.72 i+M+l/V2.net
テストすら正しく書ける気がしないドカタにはメタプログラミングなんて無理
387:デフォルトの名無しさん
17/12/17 09:48:44.61 G+5q9UaX.net
>>377
テストの目的は変化を検出することだよ
作って運用開始して終わりならテストなんか手動で十分
388:デフォルトの名無しさん
17/12/17 11:35:01.56 v3Bx338J.net
>>368
それもまぁ程度論だろ。
一部の人間があったら良いなと思ってたものが出来たから嬉しいってだけの話で、
全体に対してどうと思うほうがちょっとおかしいよ。
389:デフォルトの名無しさん
17/12/17 11:41:57.99 v3Bx338J.net
テストのテストを馬鹿にしてるが、書くからな。
何重まで上に上がる?というのは論点がずれてて、要件定義書でテスト仕様書をテストする。(詳細設計なんかは無視する)
紙の上でかもしれんし、直交表書くかもしれんし、色々あるが、
要件定義や詳細設計からテストだけ書いて、その妥当性も判断せずにオールグリーンこれでオッケー、ならそれは間違ってると思う。
間違えない前提ならテストは要らない、はその通りで、どの開発レイヤにも「この場ではこれは間違っていないとみなす」というブラックボックスがある程度発生していく。
単体試験なんかで担保して、レイヤがあがるにつれてブラックボックスは増えていく。
そこにワザワザ、ヒステリックテストをする必要は無い。
ブラックボックス側から数値しか出さないなら、数値以外をチェックするのは過品質に近い。
390:デフォルトの名無しさん
17/12/17 12:06:03.05 pDfY69my.net
>>369
細かくいうと「結局製品として必要な質を担保するのに必要なテストコードは変わらない」っていう主張な。少なくとも自分はこう思ってる
あくまで主観だし定量的に示せないんで上で上がってる通り空論といってもいいがな
少なくともコンパイルとLinter通った時点での品質は静的型が上なのは否定しない
が、自分の経験上、型チェック程度は他のテストのついででチェック進むから、そのせいでテストコードがかさむとかそういうケースはそうそうないはずなんだよな
391:デフォルトの名無しさん
17/12/17 12:11:02.52 pDfY69my.net
もちろん「テストコードと、一種の証明である型チェックの性質は違う」とかそういう理屈も理解してるが、
結局「製品としての質担保」という観点で見るなら、その程度の手段の差は全くもって関係なくなる、というのが自分の考え
この辺はテストに求める役割に対する考え方の違いかもしれん
392:デフォルトの名無しさん
17/12/17 12:14:39.63 pDfY69my.net
あとPHPディスに絡めようとしてるやつ�
393:ェいるが、PHPは静的型動的型の以前の部分に問題があるし、 この議論で少なくとも自分が動的型言語の念頭においてるのはPythonやRubyだからな?
394:デフォルトの名無しさん
17/12/17 12:18:57.69 028c4ua0.net
>>370
論破じゃなく、補足になるが、特に業務でプログラミングするならコスパ考慮して選んでるからねえ。
現実の工数は、要件変動も含めその時点でのコンパイラ・インタープリタで拾えない部分の不整合によるものが大きい(まだ合理化されてないとも言えるが)。
プログラミング言語の歴史見ると判るが、静的・動的とも互いに相手のいいところを取り入れて進化してきてる。
同時に、世の中のニーズ(個人が計算リソースを持つようになった、など)に対応した形でも変わってきている。
これは適用可能な領域を広げようとした結果。
オレ個人の例で言えば、業務要件==>計算モデル==>候補言語を複数選択。
その後、プロジェクト要件(期間、要求品質、メンバースキル、関係者が蓄積しているプログラミング資産など)との組み合わせが適しているものを勧めている。
なので言語仕様やライブラリ含めた挙動だけ比較しても、それはツールとしての現在の瞬間の姿を見てるだけなので、その評価が未来にも、業務にも適用できると考えるなら早計。
395:デフォルトの名無しさん
17/12/17 12:57:26.41 v3Bx338J.net
>>382
静的型が上というか、帳尻があっている、と言うことはわかるから、一つの方向としては正しいと思う。
ただ、本当にあっているか?小数は桁落ちしてないか?まで考えると、静的型でも、どの道ピアレビューなんかで担保するしかない。
これは言うとおり、ついでに型が充分かも見る、という動的言語のピアレビューと工数としては変わらん。
396:デフォルトの名無しさん
17/12/17 13:01:33.13 2YAiyrnb.net
静的型のメリットで最も大きいのは依存関係が静的にほぼ完全に把握できることでしょ
自社事業の開発で常に動いているものを弄るなら、これ以上に心強いものはない
397:デフォルトの名無しさん
17/12/17 13:10:12.04 v3Bx338J.net
依存関係はどっちでも同じ程度じゃないの?
RoRみたいに、そのディレクトリに置いたら勝手に使用される、を想像してたら違うのかもしれんけど。
動的型も静的型も、リテラルでのimportやrequire、参照設定とusingでそれなりに決まる部分もあれば、
Node.jsだと変数でのrequireや、CなんかでのLoadLibraryなんかでも動的ロードなんかで全く決まらん事もあるんだし。
依存関係の解決はちゃんとそれ用に何か用意した方が良いと思うけど。
398:デフォルトの名無しさん
17/12/17 13:23:12.52 qBUEKR93.net
モジュールの依存関係は型と関係ないね
「モジュール=型」とかいう超怪しい等式に依存するのは嫌だね
399:デフォルトの名無しさん
17/12/17 14:46:20.78 x6mh3PiV.net
テストコードはテスト対象のコードより明快なものが一般的で、明快であれば人の目で判別しやすいってのも考慮すべきよ
テストを重ねるほど品質が上がるってのは空論だし、1重しかテストしないのは妥協してるからというわけでもないよ
400:デフォルトの名無しさん
17/12/17 15:54:09.19 F+iLZcQ1.net
>>388
IDEのメソッド呼出元の検索とか使ったことないのか?
規模が大きくなるとあれがないとやってられなくなるぞ
401:デフォルトの名無しさん
17/12/17 16:41:56.81 PjBbAu1N.net
>>370
形式手法でコード自動生成しててもやっぱり高信頼性のためにはテストは必須だぜ?
402:デフォルトの名無しさん
17/12/17 17:52:05.86 v3Bx338J.net
>>391
なんだ、そんな事か。長々書いて損した。
動的言語のIDE使ったことある?
いや、IDEじゃなくてもいいや。VSCodeと適当なNode.jsのプロジェクトでさえ、それなりに効くだろ。
>>390
テスト自体は1重でも良いとして、何らかの方法でテストの正当性は担保しないの?
それじゃただ書いたコードが書いた意図どおり動いてる確認で、意図が正しいかのテストにはなってない気がする。
意図が正しいかの証明は要件定義と設計書の間でのみ行われる、ってのが普通なのかな。
403:デフォルトの名無しさん
17/12/17 19:31:01.08 AwDJJh6p.net
要件に寄らず、テストは最低8重ないとダメ
スレのレベルが低すぎる……♂
404:デフォルトの名無しさん
17/12/17 23:06:04.33 lzYKowQo.net
>>391
良く訓練されたPHPerは超力Grepを使いこなすから問題ないんだよなぁ
405:デフォルトの名無しさん
17/12/17 23:23:38.60 qBUEKR93.net
メソッド呼出元検索、、今回ほど仕様バグが沸き起こる思いをしたことが無い…
406:デフォルトの名無しさん
17/12/17 23:39:30.09 LyzNAsst.net
>>393
> 意図が正しいかのテスト
って何だよ意味不明。
必要なテストがされているかが重要だろ。
数だけ多くたってダメなんだよ。
407:デフォルトの名無しさん
17/12/17 23:57:38.71 lzYKowQo.net
つまり、動的型言語は山ほどテスト書かないとダメって言いたいんだろw
408:デフォルトの名無しさん
17/12/18 00:07:07.45 oET30lFX.net
一応確認なんだけど動的言語じゃなく動的型付け言語の話なんだよね?
409:デフォルトの名無しさん
17/12/18 00:58:28.12 9GZmy5yv.net
>>398
テスト書く量は同じだよ
410:デフォルトの名無しさん
17/12/18 04:30:42.74 p9HDlb+0.net
>>400
ねーよ
411:デフォルトの名無しさん
17/12/18 08:13:16.77 9GZmy5yv.net
>>401
強い型付けの動的型言語なら、値に対するテストを書けば型に対するテストは不要です
assert(x > 0) というテストを書いたのに、さらにxが文字列かどうかテストする必要ははありませんね
反論するなら反例を出してくださいね
クソくだらない長文はいらないので
412:デフォルトの名無しさん
17/12/18 08:13:41.10 UBkq3PS9.net
>>397
わからんならしたことがないって事だ。
413:デフォルトの名無しさん
17/12/18 08:28:29.94 9Kb0ajxH.net
>>402
型ってのを、CPUのプリミティブでしか考えなくて良い業務プログラムならそうだな。
問題は、今時そんなトイプロジェクトが少ないって事。
414:デフォルトの名無しさん
17/12/18 09:01:45.44 yq3smURe.net
>>402
自演乙
415:デフォルトの名無しさん
17/12/18 10:20:33.66 /BfrEM8a.net
>>404
つまり、幽霊型とか依存型あたりを使い倒さないと今時のプロジェクトはまわらない、という認識でいいのか?
そりゃその辺りを使い倒さないと回らないプロジェクト前提なら、動的型付けでは無理な話になるが
それが必須な状況が、動的型付け言語のメタプログラミング並みに思い付かないぞ
416:デフォルトの名無しさん
17/12/18 12:43:07.93 h27G1UNw.net
>>402
用途による。
弱い型付け言語でも、型無言語でも値に対するテストで充分な場合もあるし(要は、不正値が渡されてる時点で異常であって、その場合の動作は不定として構わないという要件の場合。よくある)
逆に強い型付け言語でも、強い磁界やノイズ源の間際で使われるようなものを書くときにはキチガイじみたテストもする。
a=170,b=85,a+b==255みたいなアサーションすら稼働コードにも並ぶし、それが成立しなかったらリセットかかるようにする。
417:デフォルトの名無しさん
17/12/18 12:54:00.44 mr3x/gYU.net
ちなみにvscodeでnode.jsのコード補完が効くのはtypescriptの型情報の恩恵を得てるから
418:デフォルトの名無しさん
17/12/18 21:36:27.12 9Kb0ajxH.net
>>406
むしろ動的型付けの出番が増えるけどな。
昔ながらの単純なOAアプリには不要だが。
419:デフォルトの名無しさん
17/12/19 01:10:12.61 lENhGj5D.net
>>407
長文書かずに反例を出せ、って書き込みにアンカーつけてまで
反例無しの長文書いててワロタ
420:デフォルトの名無しさん
17/12/19 02:4
421:5:28.87 ID:4MuASRxE.net
422:デフォルトの名無しさん
17/12/19 04:16:57.53 6mJgSo5a.net
>>406
幽霊型や依存型って動的型付けなら普通にコードでやっていることを
静的な型で表現しようとしてがんばってる例のあれのこと?
423:デフォルトの名無しさん
17/12/19 07:49:40.76 yvsoeKM9.net
>>412
>静的な型で表現しようとしてがんばってる例
まあそういう事になるよね。
もともと計算モデルが違う(=問題解決へのアプローチが違う)
プログラミング言語同士を比較すれば、「一方は率直に実装できる」
フィーチャーが有るのは当たり前だしね。
理想はプロジェクト毎に最適の計算モデル、言語、スキルを揃える事だが
現実には、そういう要素が有ることを知らなかったり、教育投資を捨てたく
ないって理由で、合っていないモデルで無理やり進めてるのが現実。
424:デフォルトの名無しさん
17/12/19 08:55:34.79 9wTQQ92p.net
>>410
反例じゃん?
425:デフォルトの名無しさん
17/12/19 09:24:51.77 ngbi4CU2.net
>>402「強い型付け言語である場合、値のテストをすれば型のテストはいらない」
>>407「弱い型付け言語でも型のテストがいらない場合がある。また、強い磁場中の利用であればa=170,b=85,a+b==255のようなキチガイじみたテストをする」
あガガイのガイ
426:デフォルトの名無しさん
17/12/19 13:04:54.40 lG4ryEsW.net
>>412
動的型で項書き換え最適化や実行前の証明が普通になされているというなら、まあそうだね
427:デフォルトの名無しさん
17/12/19 13:08:42.98 9wTQQ92p.net
うん、反例の一つかと。
~あるし、~する(こともある)。
前者は言う通りにそれ以下のテストだけど、後者は型テストももちろんするし、その周辺のメモリの値すらテストする、って事なんだが。
カナリア知らんとかはやめてくれよ。
428:デフォルトの名無しさん
17/12/19 13:20:03.85 /xuMeQeJ.net
次世代で証明されると期待される定理を今使う
クレジットカードみたいなやつ
動的型付けってそういう仕組みなんだね
429:デフォルトの名無しさん
17/12/19 13:22:38.78 ngbi4CU2.net
ID:9wTQQ92p
こいつくせえな話が通じてねえ
例のガイジか
430:デフォルトの名無しさん
17/12/19 13:31:22.89 xjqFNtfj.net
ガイ・スティール・ジュニア略してガイジ。
431:デフォルトの名無しさん
17/12/19 14:57:09.50 9wTQQ92p.net
通じてないのはそっちだと思うけど。
理解できければ全部レッテル貼って理解を放棄するクセはいかがかと思うが。
432:デフォルトの名無しさん
17/12/19 15:34:54.93 xjqFNtfj.net
人に理解してもらえることが当たり前だと思ってるようでは人生経験浅すぎるな。
現実とはそういうものだよ。
433:デフォルトの名無しさん
17/12/19 18:04:10.11 9wTQQ92p.net
そこまでは言ってないがな。
まぁ、どうおかしいか理解させられない時点で同じ穴の狢かそれ以下なんだろ。
理解させる、という側の能力だけを評価するなら。
そこまで卑下しなくても良いのに。
434:デフォルトの名無しさん
17/12/19 18:52:02.43 ngbi4CU2.net
>どうおかしいか理解させられない時点で同じ穴の狢
あDHDには何回か丁寧に説明してやったし、その度に「そういうことか。理解してなかった」って言われて来た
もううんざりだ。おまえであることがわかった以上もう説明せんよ
435:デフォルトの名無しさん
17/12/19 19:28:03.33 cqTye8WP.net
「AならばB」に対して「Aでないときには~」って話をして
反例になってると思う>>417ってプログラマとしてヤバない?
436:デフォルトの名無しさん
17/12/19 19:54:56.57 /xuMeQeJ.net
ヤバい人がいても最近は誰も批判しない
批判は建設的じゃないと考えられているから
437:デフォルトの名無しさん
17/12/19 20:05:56.79 XSrelQ4n.net
>>426
それが実現すれば理想的なんだが現実はそう上手くはいかない。
こんな会話が発生している時点で建設的じゃない批判が起こっているという悲しい事実。
438:デフォルトの名無しさん
17/12/19 20:47:02.26 dep2iFkQ.net
現実もほったらかしにしてるわ。
だからまともにテストのない
439:コードがあちこちにある。。
440:デフォルトの名無しさん
17/12/19 21:09:05.12 +t5AZThl.net
>>424
ほら、理解させられないw
441:デフォルトの名無しさん
17/12/19 21:45:39.68 hKOvQSVX.net
次世代言語の話をしろよ…
442:デフォルトの名無しさん
17/12/19 22:19:39.18 IFsKBc84.net
次世代言語は静的型か動的型か?
443:デフォルトの名無しさん
17/12/19 22:22:03.65 VYW2hLxr.net
静的型に決まってるやろ…
444:デフォルトの名無しさん
17/12/19 22:42:35.74 ngbi4CU2.net
動的言語Clojureさん
445:デフォルトの名無しさん
17/12/19 22:47:01.55 Vp6Wk3js.net
暗黙的な静的型付けが主流になると思う
頭の良い人間が多相を明示的に駆使して必死に辻褄合わせするんじゃなく、
コンパイラがフロー解析を頑張ることで人間に負担をかけずに厳密な静的型付けを実現する
メジャーどころだとTypeScriptはそういう方向へ向かいつつあるね
446:デフォルトの名無しさん
17/12/19 23:52:06.32 LaOLTVhQ.net
型無し旧世代ガイジどもは死ね
447:デフォルトの名無しさん
17/12/19 23:55:12.83 IFsKBc84.net
ドカタ部門やハッカー部門など、部門ごとに次世代言語を決めた方が良さげ
448:デフォルトの名無しさん
17/12/20 01:24:03.63 fcm+RWAl.net
HaskellのIOモナドみたいのが主流になってきたら
実行時型付けも局所的に使えるけど
全体としては静的型付け、みたいな感じになりそう
449:デフォルトの名無しさん
17/12/20 01:28:01.05 HrNa8kdY.net
コードのどの部分で静的型チェックするのかってのが争点になるかもね。
450:デフォルトの名無しさん
17/12/20 01:40:49.86 RSIhrBYE.net
>>435
動的型付け言語の方が新しいんだよなあ
451:デフォルトの名無しさん
17/12/20 02:07:25.86 KBs5e3Jn.net
新しければ常にいいなら世の中楽だな
452:デフォルトの名無しさん
17/12/20 02:08:13.16 yTANvvcN.net
新しいものが良くないのは地獄すぎる
453:デフォルトの名無しさん
17/12/20 06:17:59.95 megjw+LT.net
2世議員とかな
454:デフォルトの名無しさん
17/12/20 07:55:10.76 YSR/eiRE.net
>>439
プッ 恥ずかしい子・・・
455:デフォルトの名無しさん
17/12/20 08:39:38.13 ODk3G9Dt.net
>>441
単に新しいものでは地獄がまだ見えてないかもしれないだけかもしれんぞ。
456:デフォルトの名無しさん
17/12/20 08:44:51.44 megjw+LT.net
人間万事塞翁が馬ということだな。
457:デフォルトの名無しさん
17/12/20 22:58:07.90 HrNa8kdY.net
とりあえず言っとくが
cobol だって perl だって vba だって php だって当時は新しかったんだよ。
458:デフォルトの名無しさん
17/12/23 01:16:52.24 t3UiuX8x.net
多重ディスパッチ
459:デフォルトの名無しさん
17/12/24 00:50:02.64 g6gmcbUh.net
Lispは神の言語
460:デフォルトの名無しさん
17/12/24 01:04:50.15 WikwUycQ.net
>>448
lisp のどのような特徴が、あなたをして神の言語と判断させるのか?
461:デフォルトの名無しさん
17/12/24 03:09:03.29 zxcNg14q.net
LISPは神がかってるけどSmalltalkはゴミ
462:デフォルトの名無しさん
17/12/24 12:09:04.21 L0WbVZsM.net
神さまが話していたので神の言語です
463:デフォルトの名無しさん
17/12/24 14:00:03.00 Em2lfTvP.net
もう30年くらい前なのか、むかし16M位のメモリーのワークステーションで
LISPやってた連中は、メモリが足りないからLISPは流行らないんだみたいな言い訳言ってたけど、
個人用PCに32Gのメモリーが詰める時代になっても同じこと言ってるんだろうな。
464:デフォルトの名無しさん
17/12/24 14:10:43.44 g6gmcbUh.net
実は俺はsetqとか嫌い
465:デフォルトの名無しさん
17/12/24 15:59:57.85 On/fo7aB.net
アンアン
o
o_ /)
/<<
12月24日の午後9時から翌25日の午前3時までの6時間は
1年間で最もセックスをする人の多い「性の6時間」です。
貴方の知り合いや友人ももれなくセックスをしています。
普段はあどけない顔して世間話してるあの娘もセックスをしています。
貴方が片想いしているあの綺麗な女性もセックスをしています。
貴方にもし年�
466:の娘さんや姉・妹がいて、いま家にいないのでしたら間違いなくセックスしてます。 貴方と別れたあの娘も貴方がその娘にやってきたことを別の男にやられています。 貴方の将来の恋人や結婚する相手は、いま違う男のいちもつでヒィヒィ言っています。 すべてを諦めましょう。そして、ともに戦いましょう。
467:デフォルトの名無しさん
17/12/24 20:13:00.27 cn7uv5Fd.net
lisp が流行らんことから導ける唯一のことは結局algol系のシンタックスじゃないと
流行らんということ。
468:デフォルトの名無しさん
17/12/25 00:45:32.17 KmZOPanU.net
やっぱり括弧が辛かったのか
469:デフォルトの名無しさん
17/12/25 01:01:15.56 0H4Emls0.net
意識高そうに見えてしまったとか
470:デフォルトの名無しさん
17/12/25 01:22:46.82 LEWwY/wL.net
彼らは意識高い系じゃない、自意識高い系だ
471:デフォルトの名無しさん
17/12/25 01:59:00.89 qFggHRB9.net
かっこつけすぎなんだよ
472:デフォルトの名無しさん
17/12/25 03:56:16.62 lJA7pJsS.net
括弧がわかりにくいからインデントで分かりやすくする。
だから括弧にはほとんど意味は無い。
それパイソンやん。
473:デフォルトの名無しさん
17/12/25 07:03:51.04 0H4Emls0.net
実際最古のPythonと言っても過言ではない
474:デフォルトの名無しさん
17/12/25 12:03:25.79 kkhOzk4j.net
Lispの系譜にあるPythonが生き残って
Smalltalkの系譜にあるRubyが死んだのは
必然だったな
475:デフォルトの名無しさん
17/12/25 13:04:23.59 kMbU4vvz.net
今時(2017)のSmalltalkの始めかた
URLリンク(medium.com)
476:デフォルトの名無しさん
17/12/25 19:46:02.89 eOxdg9cU.net
rubyって「お前はもう死んでいる」状態なのに、
それは言わない御約束なのかな?
477:デフォルトの名無しさん
17/12/25 20:02:13.61 P1YyQnZH.net
Rubyの元はPerlだろ。
478:デフォルトの名無しさん
17/12/25 22:50:10.19 Z5v7fEWF.net
多重継承やぞ
479:デフォルトの名無しさん
17/12/25 23:39:38.77 qFggHRB9.net
インデントもまともにつけられないクズペチパー以下のゴミ屑は論外として、
括弧は多少あった方が見やすい
pythonはちょっとクセがある
480:デフォルトの名無しさん
17/12/26 00:51:10.57 Qxp4eKO0.net
松本さんはlisp の影響がでかいと言ってはいる
URLリンク(gihyo.jp)
481:デフォルトの名無しさん
17/12/26 01:50:36.25 sagFdw2O.net
smalltalkは実開発前における分析設計用ツールとしていいんでないかと個人的には思う。
482:デフォルトの名無しさん
17/12/26 10:35:41.47 Hd2qVaf/.net
サービスやどのくらい急ぐかにもよるけど「動作する仕様書」としてそのまま本番投入って荒技も使えるしね
スタートアップ界の異端児!産業機器 x IT x SmalltalkのSORABITO株式会社
URLリンク(thepedia.co)
483:デフォルトの名無しさん
17/12/26 12:42:11.47 9JscEoEu.net
そして負の遺産になるわけですね
484:デフォルトの名無しさん
17/12/27 00:30:29.97 AqtANtDH.net
>>471
コレメンサスンゴなんだよなぁンゴ
485:デフォルトの名無しさん
17/12/27 09:48:57.79 X35AiWNh.net
Smalltalkのコードって死ぬほど読みにくいよね。
やっぱり古臭い言語はダメだな。処理系もなんかモッサリしてて古臭いし
486:デフォルトの名無しさん
17/12/27 11:00:24.41 gUZ1SoEG.net
次世代言語スレで旧時代の死体蹴りは感心しない
487:デフォルトの名無しさん
17/12/27 12:07:11.37 V4t27acZ.net
>>473
Haskellのほうがひどいぞ
488:デフォルトの名無しさん
17/12/27 12:36:42.15 P2OckTcS.net
こんな話題にまでHa
489:kellぶち込んで来て どんだけHaskell嫌いなんだ……
490:デフォルトの名無しさん
17/12/27 16:45:18.19 bNHoEe3v.net
嫌いってのは対等な関係だから割とうまくいってる
もっと差別的な感じになったらやばい
491:デフォルトの名無しさん
17/12/27 16:49:33.78 TP7XdM/O.net
Haskellの今は知らないがfull importしまくってたり色んな演算子を作って使いまくって変数名も省略しまくりで
お世辞にも読みやすいとは言えなかったぞ
492:デフォルトの名無しさん
17/12/27 17:06:39.65 bNHoEe3v.net
変数名というか型名がaとかbとかcとか
だがジェネリクスの可読性が低くてもジェネリクスが淘汰されることはない
493:デフォルトの名無しさん
17/12/27 20:16:36.09 +xQq+KE3.net
ソースコードの不備をAIで見つける富士通
URLリンク(itpro.nikkeibp.co.jp)
英数字や記号といった文字列の固まりであるソースコードを、
テキストデータとしてではなく、画像として分析するという。
494:デフォルトの名無しさん
17/12/27 20:18:47.38 hw44w6Qj.net
>>480
面白そうな技術だけど、ビジュアルがヤバいw
495:デフォルトの名無しさん
17/12/27 22:15:48.54 nTLYpIDf.net
どうせlintでもかければ良い話なんだろうなって気がするわ。
496:デフォルトの名無しさん
17/12/28 07:34:29.86 Vjf7k8ZG.net
画像ベースだと
教師データで使用頻度の高い変数名を使うと高得点
みたいな奇妙なテクニックが生まれないんかね
497:デフォルトの名無しさん
17/12/28 09:27:42.05 wX0EFIYP.net
画像でやってるからそういうのは起こりにくいのかも。
498:デフォルトの名無しさん
17/12/28 16:46:02.76 jPNGBgQQ.net
インデントが無駄に深くなってて、無駄な空白が広くとられてるとかは
結構簡単に診断できるかもね。
でもそれって人間が見てもわかることだよな。。
499:デフォルトの名無しさん
17/12/28 21:23:58.74 uNABt/+g.net
美しいコードがあったら1回しか書かないのはもったいないからコピペする
500:デフォルトの名無しさん
17/12/29 15:51:08.69 qAknRtUW.net
>>480
写真のオッサンどものザ・無能・SI感がヤバみ
501:デフォルトの名無しさん
17/12/29 16:46:08.27 EmauInAe.net
>>485
人間が見てもわかること、って気軽に言うけど、それ「普通の彼氏がほしい」くらいの無茶振りだと思うぞ。
定量化してくれるんなら便利じゃん。
あと、画像を解析してるから、内容の是非じゃなくてバグを生みやすいような姿を検知してる、ってのは
古株のおっさん連中への強烈なエクスキューズになると思うわ。
内容の是非を判定するモノに関しては、どうしても静的解析と仲良くできなかったような連中が狂ったようにアンチする。
Rustスレみたいになる。
502:デフォルトの名無しさん
17/12/29 17:37:53.13 cw3UbRdF.net
>>488
いやだから定量化のツールなんて今まで腐る程作られてるわけだけれど
結局、それを無視する輩に何言っても無駄だってことなんだがな。
人間の指摘は無視して機械の指摘は受け入れるとかどこか歪んでると思わんのかね?
ルールベースだろうと機械学習だろうと結局は受け入れ側の問題なんだが。
503:デフォルトの名無しさん
17/12/29 18:16:14.48 FHAe2y9o.net
>>489
富士通が作ったとなるとおじさんたちには説明しやすそうだけどな
504:デフォルトの名無しさん
17/12/29 18:43:36.76 JTMw5+UW.net
筋が悪いと思う
目的は定量評価そのものではなく、悪いところを改善することだろ?
ディープラーニングでスコアを付けられたところで、どうやったら良くなるのか分からんだろ
決められた最低スコアを満たすために深夜にPG達が死んだ魚のような
505:目でインデントをいじくって試行錯誤する姿が目に浮かぶわ
506:デフォルトの名無しさん
17/12/29 18:47:44.63 cw3UbRdF.net
>>490
いや富士通がやったことだからやばげなんだろw
googleがやったとかならおじさん受けはいいかもしれんが。
507:デフォルトの名無しさん
17/12/29 19:02:44.12 NmAcZsuY.net
アメリカに尻尾ふる日本人
508:デフォルトの名無しさん
17/12/29 19:27:10.69 EmauInAe.net
>>489
確かに定量化のツールは腐るほどあるが、
「本当の意味での見た目」を定量化したのは割と初めてじゃない?
面白いと思うけど。
無視する輩ってどこから来たのかわからんが、たいがいそういう奴は決まってしまえば無視はしない。
無視する事は出来ないから導入自体を見送らせる。
そこで、ルールベースじゃなくて「雰囲気」を一つの指標にするってのはアリだと思うけど。
機械の指摘ももちろんだが、機械の指摘をもって人間が指摘するんだから、あんまかわらん。
それに、そもそも人間の指摘も無視するわけじゃないだろ。
人間の指摘を無視するやつはそもそもプロジェクトでは長生き出来んだろ。社会人なんだから。
二元論じゃなくて、新しい尺度じゃね?
受け入れ側の問題と断ずるのは簡単だが、何故受け入れさせる事が出来ないか、ってのはそれを推す側の問題だと思う。
509:デフォルトの名無しさん
17/12/29 20:10:55.59 JTMw5+UW.net
教師データをどう用意したのかは激しく疑問だな
Apache Foundationとかの定評アルOSSのソースを○、
富士通のSIのソースを×として学習させて、与えられた画像が○の方である確率をスコアとするんだろうかw
510:デフォルトの名無しさん
17/12/29 22:23:50.72 cw3UbRdF.net
>>494
才クロマティック数とかさ、普通に気にしてりゃそこまでひどいことにはならんわけよ。
ツールの数はおれは十分だと思ってるけれど、結局そういう地道な数値なんてのはむしするわけだ。
ただただ新しい指標作りましたっていうアリバイ発明のためだけってのは
この業界では昔からいっくらでもあるわけで警戒するのが普通なんだよ。
URLリンク(msdn.microsoft.com)
受け入れられない理由はそいつの能力と与えられる時間の割合の話にしかならん。
地道に受け入れる体制をつくるかそういう奴を切るかの二つしかないのに
糞みたいな幻想にしがみついてるだけだわ。
511:デフォルトの名無しさん
17/12/29 23:18:07.67 aTe03Y1I.net
>>496
お前さんの書き込み見ると、アンチを装った信者って評価になるけどな。
512:デフォルトの名無しさん
17/12/30 09:00:14.39 HRZmB+5I.net
>>492
お前がプロパーエアプなことはよくわかった。
513:デフォルトの名無しさん
17/12/30 12:24:14.46 YiXNzhkf.net
ワインゴ大将軍、循環的複雑度でコードのヤバみ検知してる最先端エンジンでその富士山・・?のなんとかよりずっと前から最先端だけど話する?
514:デフォルトの名無しさん
17/12/30 12:37:15.29 IKvN98q1.net
>>499
技術的には全くどうでもいいけど、
それを客にどう売り込んでるかとか導入後実際に成果出てるのかとかとかは気になる
515:デフォルトの名無しさん
17/12/30 12:37:56.63 sz1BobDC.net
>>496
無視するんじゃなくて、理解出来ない人間も居るんだし、そいつらを黙らせるのにも便利だと。
アリバイじゃないよ。わかったふりをさせて承認印を押させるような行為がアリバイだろ。
大体、営業や経営がシステムの事を深く理解する必要は無いし、大本営直下の人間ってのはそのどちらか寄り。
それは戦略上の必要悪なんだから、切る切らないの議論としては話にならん。
そいつらが見る時に、今までは言っちゃえば騙して盲判を押させてただけだろ。
地道なツールを無視するんじゃない。それは今までどおり開発
516:部で使えばいいじゃない。
517:デフォルトの名無しさん
17/12/30 13:01:46.50 KDbqwYpR.net
マ板でやれ
518:デフォルトの名無しさん
17/12/30 13:04:53.13 mW/VKMch.net
perlやhaskellをやったら、コードはやっぱり短い方が良いなって思うよ
でもコードの長さという指標はほとんど無視されているのが悲しい
519:デフォルトの名無しさん
17/12/30 17:37:07.61 9QvS1nQQ.net
haskellってそういうジャンルなのかよ
受け入れられないわけだ
520:デフォルトの名無しさん
17/12/30 18:01:18.34 WOZO0R3V.net
違うよ
521:デフォルトの名無しさん
17/12/30 22:23:23.78 mW/VKMch.net
短くするつもりは全然ないのになぜか短い
これなら受け入れられるか?
やばい全然勉強してないとか言いながら高得点を取る現象と同じ
522:デフォルトの名無しさん
17/12/31 04:59:15.58 BxCzRdag.net
やりたいことが全部標準ライブラリーに入ってるからじゃね?
523:デフォルトの名無しさん
17/12/31 06:58:35.57 pbtZtK9w.net
ちょっと聞きたいんだけど
便利なライブラリが揃っているって
事と
その言語が優れているって事は
全く別の事だよな?
524:デフォルトの名無しさん
17/12/31 10:00:35.36 mQmAaKpB.net
Haskellで1年前のコードをデバッグするの本当に地獄。
525:デフォルトの名無しさん
17/12/31 10:22:03.98 rHg6Qc+M.net
Lisp系はどうなる
526:デフォルトの名無しさん
17/12/31 10:22:23.79 rHg6Qc+M.net
>>508
そうだけどなにか
527:デフォルトの名無しさん
17/12/31 11:09:20.17 OUK6bPn9.net
>>508
優劣の基準によるだろ。
528:デフォルトの名無しさん
17/12/31 13:25:14.78 G5F8BPZR.net
いろんな言語の悪口言ってるw
Debunking Myths About Programming Languages (and More)
URLリンク(www.youtube.com)
529:デフォルトの名無しさん
18/01/01 12:19:03.55 bFOlOWpA.net
>>510
マクロを追ってくのは面倒ではあるが
一つ一つ展開してけばそこまで無理ゲーではない。
しかしhaskellみたいに正格評価でない言語はバイナリイメージが描きにくいし
やっぱり辛いんじゃないかな。
530:デフォルトの名無しさん
18/01/01 12:39:18.50 /aa2tlFp.net
Haskellのバイナリはイメージ出来んな
でも出来る必要あるか?
531:デフォルトの名無しさん
18/01/01 12:49:38.56 UOCN9gps.net
する必要がない人が使うんだろ。
良いじゃん、バイナリサイズが大きかったり、メモリ消費が多かったり、動作が遅ければ計測すれば。
大きくなるだろうな、メモリたくさん使うだろうな、これじゃ遅いだろうな、なんて気づきは無駄らしい。計測が全てらしいわ。
また半狂乱になって必要性の無さを説くのを眺めるのもめんどくさいし、そういう言語だって理解でいいんじゃねえの?
532:デフォルトの名無しさん
18/01/01 12:55:17.85 /aa2tlFp.net
どうせPythonとかでもバイナリイメージ描かんじゃろ?
533:デフォルトの名無しさん
18/01/01 13:07:46.20 /aa2tlFp.net
Haskellは動的言語以上にそっちの方向いっとる
そっちの極みやね
534:デフォルトの名無しさん
18/01/01 14:34:14.61 aCS5pbMF.net
くすくす
535:デフォルトの名無しさん
18/01/01 15:17:11.09 2Vcmk2Ln.net
おまえら、いつも「これはどんなバイナリ」とか考えながらコーディングしてんの?
バカじゃないの?
536:デフォルトの名無しさん
18/01/01 15:18:05.17 ry7dOet7.net
俺も数学科出身なんだけど、層の理論ってプログラムと関係ないと思う。
だけど、↓みたいに数学的基礎付けが欲しい人はいるのもわかるが。
Haskellと層
URLリンク(qiita.com)
537:デフォルトの名無しさん
18/01/01 16:45:32.23 bFOlOWpA.net
バイナリイメージっつーか
結局デバッグってどの時点かで想定の値と違ってるところを探るってことになるわけで、
その評価のタイミングとか考える必要があるじゃん。
そういう評価のタイミングがわかりにくい言語だとデバッグがきついんだよ。
538:デフォルトの名無しさん
18/01/01 18:17:03.86 /aa2tlFp.net
一応、タイミングという概念から解放されるための参照透過性なのでは?
539:デフォルトの名無しさん
18/01/01 19:33:22.97 bFOlOWpA.net
解放されたいのはわかるが実際は違うんだから仕方ない。
言語でいくら定義しようが、ノイマンマシーンはそんな風には動かないんだから。
540:デフォルトの名無しさん
18/01/01 19:46:21.62 /faDXLzU.net
実行できない仕様記述言語の方が初心者に優しい
バイナリとかメモリとか気にする必要がないことが明確になる
実行できる機能を追加したら言語の評価が下がる
もちろん実質的な価値は上がるが、評価と実質が乖離するのは初心者には難しい
541:デフォルトの名無しさん
18/01/01 20:16:05.10 yhABuCD4.net
実際Haskell 使ってて、タイミング気にしないといけない状況って何よ?
542:デフォルトの名無しさん
18/01/01 21:49:32.98 /aa2tlFp.net
Haskell最大の謎仕様は「Num」だと思う
543:デフォルトの名無しさん
18/01/01 22:38:37.64 sFrCkJSv.net
>>526
メモリが無限にあるならサンクがどれだけ作られても気にならないけど
実際は違うから適当なタイミングでサンクを潰す必要がある
544:デフォルトの名無しさん
18/01/01 22:59:07.73 yhABuCD4.net
それもそうか。たしかに妙なところで妙な泥臭さが顔を出すな
545:デフォルトの名無しさん
18/01/02 10:01:13.65 EAVq+O5u.net
>>470
読んでみて面白いと思ったけど、「動作する仕様書」ってのがいまいちイメージ出来ない。
参考になるURLとか知ってる人居ますか?
546:デフォルトの名無しさん
18/01/02 11:37:28.22 rfQ6c9kP.net
>>527
同時にそれはオブジェクト指向の謎でもある
実数と整数の間に "is a" 関係は存在しないのか?
547:デフォルトの名無しさん
18/01/02 12:30:30.49 oC5uWYs9.net
>>517
動的言語じゃん。
まあそれでもどう解釈されるかとか、これじゃinline展開されんな、とかはJavascriptでも考えるが。
>>520みたいにしない人はしなくても良いようなプログラム書いてるんだろうし、無駄だよ、この議論は。
548:デフォルトの名無しさん
18/01/02 14:12:57.96 AAYv0JXv.net
>>530
古いけどこれとか参考にならないかな?
「分析・設計ツールとしてのSmalltalk」
URLリンク(web.archive.org)
549:デフォルトの名無しさん
18/01/02 22:00:37.83 EAVq+O5u.net
>>533
サンクス、読んでみる。
550:デフォルトの名無しさん
18/01/03 00:13:36.77 BD5Fg5Uh.net
本当に必要なのは、コンパイルの通る仕様書じゃないか?
動作する仕様書です!なんて出して、「それで動くんだからいいじゃん、はい保守」
なんて言われた日にゃ地獄の始まりだろ
551:デフォルトの名無しさん
18/01/03 00:23:34.96 36t783to.net
Smalltalkerにはソレで十分なんですよ
なんとなく動けばok。エラー?握り潰せば?の世界だから
552:デフォルトの名無しさん
18/01/03 00:35:45.41 BQWr3hBa.net
動作はするけどなんだか速度が遅いから最新機種の方がいいじゃん、はい購入
これがマネタイズだ
553:デフォルトの名無しさん
18/01/03 07:32:07.83 jID8SJMc.net
>>535
あまりに動的性を追求しすぎててインタープリタ言語と勘違いされがちだけど
Smalltalkも(VMで動くJavaがそうであると言える程度には)コンパイラ言語なので
「動く」以上はコンパイルは「通っている」んだな、一応w
もちろん533が言いたいのはそういうことじゃないことは分かっているんで、マジレスすると
型システムのチェック(のことだよね?)を通すのにコスト(主に人員や時間)をかけられる程度に
急ぎでない(つまり「仕様が固まっている」)のならSORABITOとかで求められる
「必要なら本番投入も可能な動く仕様書」的側面はきっとあまり役には�
554:ァたないだろうね
555:デフォルトの名無しさん
18/01/03 08:02:43.84 jID8SJMc.net
>>535,536
こっちにもマジレスすると、実際そのとおりで
Smalltalkの設計者ら(アラン・ケイだけど)は
ひどいと「地獄」とまで形容されるそれ、つまり本番投入後の要求変更を必要不可避なものとして捉え
天国とまでいかずとも他言語には難しい後からの大胆な仕様変更をも支援できる動的性を
この処理系(環境を含む)に付与することに腐心し、それはある程度奏功している
「ソフトウェア工学」は矛盾語法か? -- アラン・ケイ
URLリンク(metatoys.org)
Smalltalkの底を流れる設計思想 -- ダン・インガルス
URLリンク(web.archive.org)
TDDの「ひどい仮実装でもとりあえずグリーンにするのを優先し、そこから重複を除去(リファクタリング)」
というとんでもない発想が生まれ得たのもSmalltalkのこの大胆な変更への追随力があったから
556:デフォルトの名無しさん
18/01/03 10:49:31.30 JTHdffOK.net
>>535
きみには孫請けSIer根性が染み付いているようだねッ 彡⭐
557:デフォルトの名無しさん
18/01/03 13:41:42.24 0ljbskXf.net
Pythonよりすっきり書ける言語がないという事実
558:デフォルトの名無しさん
18/01/03 15:29:23.56 BD5Fg5Uh.net
>>541
lamdaが糞
finalがない
privateがない
はい完全究極ロンパリオン・ギガアタックEx
559:デフォルトの名無しさん
18/01/03 15:36:20.12 0ljbskXf.net
>>542
そんなゴミクソ仕様の塊よりすっきり書ける言語がないという事実
560:デフォルトの名無しさん
18/01/03 16:16:41.94 1ORngv96.net
>>542
×lamda
○lambda
>>542
Y コンビネータをすら記述できない lambda 仕様が特にコンパイル言語にも氾濫しているが、いったい何の役に立つんだ?老害避けのつもりか?
561:デフォルトの名無しさん
18/01/03 16:25:14.58 BD5Fg5Uh.net
>>543
おまえのいうすっきりって何だよ
俺はTypeScriptですっきり書けてるが?
562:デフォルトの名無しさん
18/01/03 16:44:08.47 CJ7nUX51.net
Zコンビネータじゃ駄目なんか?
563:デフォルトの名無しさん
18/01/03 17:44:23.37 BD5Fg5Uh.net
俺なんかXenoExtraUltraGigaJetHyperUltraMiracleSuperコンピータだが文句あるか?
564:デフォルトの名無しさん
18/01/03 18:27:49.94 1ORngv96.net
>>547
君の芸風とても好きだ!
>UltraGigaJetHyper**Ultra**
565:デフォルトの名無しさん
18/01/03 18:51:02.03 ykBugU3C.net
またTypeScriptか。
いい加減ちょっと落ち着いてほしいな、推しの人は。
言語仕様はごった煮、出来上がるのは微妙に汚いJavaScript。
async awaitをネイティブのasyncじゃなくてトランスパイルした結果なんて変数のライフタイム無茶苦茶長くなるし。
言語としてのTypeScriptはいろんな意味で何でもできて良いと思うけど、今の実装としてのTypeScriptって微妙だと思うんだが。
単に書く時にスッキリかけても、ちょっと違う気がする。
566:デフォルトの名無しさん
18/01/03 18:56:17.97 Dz+CQN9J.net
>>549
普通にコンパイルオプションの問題だし。
outputをes2017に指定すればいいよ
567:デフォルトの名無しさん
18/01/03 19:05:06.06 ykBugU3C.net
>>550
そうじゃなくて。だからネイティブのじゃなくてトランスパイルさせたらって前提付けたんだけどな。
なんかあそこまでやるなら、JSとの相互運用諦めてもっと汚いコード出せば良いのに、と思ってしまうんよ。
568:デフォルトの名無しさん
18/01/03 19:38:05.02 Dz+CQN9J.net
>>551
TypeScriptのトランスパイルコードを直接いじることは無いからなぁ。
なんでそんな状況になったの?
569:デフォルトの名無しさん
18/01/03 20:25:39.92 ykBugU3C.net
>>552
弄ることは無いが、あるべき姿になるようにTS側で書き分ける事はあるかな。
くっそ遅い関数がなんで遅いのかを調べにかかった時に、モヤモヤした覚えがある。
genericsとか、型ごとの関数をちゃんと作ってほしいけど、一つだったり。今違うかったらすまん。
その時は、これでJIT結果捨てる事になってる…って気づいて、素直に沢山関数を作った。
コンパイラと言うならもう少しVMの仕様を鑑みても良いと思う。
570:デフォルトの名無しさん
18/01/03 20:47:23.87 ojwn4PN+.net
特定のブラウザの現在のバージョンに最適化しろってこと?
お前それ自分がコンパイラ作る立場ならやろうと思うか?
やろうと思うならお前がコード書いてプルリク出してやればいい
確実にリジェクトされるだろうけどな
571:デフォルトの名無しさん
18/01/04 00:44:42.33 nu/rOVYa.net
wasmが普通になったら状況変わるかね?
572:デフォルトの名無しさん
18/01/04 01:19:26.61 j8WFIzPh.net
wasmが吐き出すjavascript気になるマンが出てくるに100000000000000ジンバブエドル
573:デフォルトの名無しさん
18/01/04 02:20:20.25 Gm3YPo14.net
気にしないでいいって保証が欲しいのはよくわかるよ。
574:デフォルトの名無しさん
18/01/04 10:28:15.71 eEA4RdWc.net
確かにTypeScriptは実際に書いてるとめちゃくちゃ次世代感あるが、
それはReactとかReduxとかのメジャーを作ってる奴らが関数型厨だからで、
次世代なのは、言語というよりはライブラリという感じがする。
575:デフォルトの名無しさん
18/01/04 11:33:00.27 j8WFIzPh.net
PHP書かされてたときは辺境の島国で首輪に繋がれて石器で木の実取ってる気分になったわ
576:デフォルトの名無しさん
18/01/04 11:37:57.37 dTmScpvt.net
>>554
特定のブラウザじゃなくて。そういう発想がセンス無いの。
複数の型で同じ関数を呼ぶとかストールするのはほとんど当たり前と言っても過言じゃなかったりするけど、それを「特定のブラウザの問題でしょ?それよりこんな新しい機能ついたよ」って毎回押し切ってくるのがTypeScript。
AssemblyScriptなんかは好きだけどね。
TS使うプロジェクトにはたまにプルリク送ってるけど、最終的にはTSっぽくないTSのコードになるよ。
577:デフォルトの名無しさん
18/01/04 13:22:41.64 h9oQFOEG.net
>>560
そんなもんJITがやるべきことでしょ
578:デフォルトの名無しさん
18/01/04 13:34:10.72 dTmScpvt.net
>>561
だから、特定のどうの、ではなくて、概ね大半の処理系でJITに乗るようなコンパイル結果出せって言ってるんだけど?
無理した小奇麗なJSっぽいコード出さなくても良いじゃん、って。
V8だと何バイト以下なら関数はインライン化される、とか細かい癖も確かにあるけど、だからこそ小奇麗で無くていいと思うんだが。
579:デフォルトの名無しさん
18/01/04 13:38:00.17 dTmScpvt.net
もしかして、今TypeScriptでジェネリクス使っても、JITは結果破棄しないのかな?
そうならごめん。
580:デフォルトの名無しさん
18/01/04 13:55:58.71 lDvme0sw.net
要はTypeScriptの実装が良くないということなんだろうけど、使う側からしたら
パフォーマンスやフットプリントが許容範囲を超えない限りは気にしないかな。
581:デフォルトの名無しさん
18/01/04 15:47:07.60 dTmScpvt.net
実装が中途半端、かな。JSに引きずられすぎだと思う。
Cで言うとexternしない関数が関数としての形を保たなくても良いのと同じ様に、exportしてないものを似たようなJSのコードにする必要は(もはや)無いと思うんよね。
許容範囲次第なのは確かだけど。
言語としては新しくて良いと思うが、処理系として微妙ってのはそういう所。
582:デフォルトの名無しさん
18/01/04 19:02:23.91 h9oQFOEG.net
>>564
ジェネリックをソースレベルで展開なんかしたらフットプリントが増えて
JavaScriptで一般的に言われるパフォーマンス(つまりロード時間)は落ちるよ
583:デフォルトの名無しさん
18/01/04 19:07:31.76 a9q0dcb4.net
おまえらなんかよりずっと賢い連中が作ってるんだから
問題なんかあるわけねえだろ
バカか?オレオレFW作りたがり坊やのペチプァなのか?
584:デフォルトの名無しさん
18/01/04 19:52:37.93 c10UOky1.net
>>566
ブラウザだけで動かしたい訳でもないし、起動時のパースのフットプリントをどうこう言うのであれば、今のNodeのnode_modules自体、既に無茶苦茶でしょ。
それも、最初に一発パースするからそうなるんであって、bootstrapとその後に分ければいいんでないの?
>>567
ペチプァ言いたいだけだろうが、ペチプァ連呼して悦に入って問題を理解できないやつにゴタゴタ言われたくはない。
585:デフォルトの名無しさん
18/01/04 20:16:17.73 nTAtbfT4.net
ID:dTmScpvt言ってる事そんなにわけわからんくもないのになんでこんな事になってんだ?
586:デフォルトの名無しさん
18/01/04 20:29:50.34 UC9+Q2Sj.net
正義を徹底するより中途半端の方がいいと思ってる奴はいっぱいいるから
587:デフォルトの名無しさん
18/01/04 20:47:32.62 lDvme0sw.net
>>566
トランスパイラである以上多かれ少なかれそういうオーバーヘッドは避けられるものじゃないと
思うけど、問題はそこでTypeScriptがBabel等と比較して出来が良くないのかどうかだね。
588:デフォルトの名無しさん
18/01/04 20:49:37.08 h9oQFOEG.net
過剰な最適化は開発のスピードを落とすしバグも増やすからな
589:デフォルトの名無しさん
18/01/04 21:19:25.60 SwPhpZjo.net
いいか、喚くだけなら頭がPoorのペチPoorでもできるんだよ
わかるか?わからんやつはペチプァだけだが
590:デフォルトの名無しさん
18/01/04 21:23:18.84 typzK5sH.net
ちょっと笑った
591:デフォルトの名無しさん
18/01/04 22:58:20.94 ZFKdQPiM.net
ペチPoorは良いな。俺も使わせてもらおう
592:デフォルトの名無しさん
18/01/04 23:59:42.42 /Un6+mBC.net
ペチPoohでもいいぞ
593:デフォルトの名無しさん
18/01/05 04:33:36.96 Lhuo9IQi.net
>>573
おまえは気が狂っている。
一刻も早く病院へ行け。
594:デフォルトの名無しさん
18/01/05 07:47:15.22 QF8nYsKX.net
>>577
草
595:デフォルトの名無しさん
18/01/05 10:36:04.85 OSZVMsU9.net
>>577
おっ 頭がPoorのペチPoorか?
596:デフォルトの名無しさん
18/01/05 12:08:39.39 2QFGEILP.net
ペチPoorはおつむもおちんぎんもPoorでかわいそうね
597:デフォルトの名無しさん
18/01/05 12:50:08.59 WQychI9E.net
>>572
そろそろコンパイラと言うなら、最適化フェーズに入って欲しいわ。
ずーっと(確かに欲しいのはわかるが今でなくて良いだろうと言いたくなる)新機能つけ続けてるじゃん、
598:デフォルトの名無しさん
18/01/05 13:38:22.06 rGChZwpO.net
>>580
やめたれw
599:デフォルトの名無しさん
18/01/05 13:40:21.34 9YdInhdK.net
>>581
そろそろ課金するフェーズだろ
お金を払ったら悪口言っていいし、悪口言われたくないならお金稼ぐのをやめればいい
600:デフォルトの名無しさん
18/01/05 14:12:44.72 WQychI9E.net
>>583
課金するフェーズはまあ別に妥当な値段なら買うよ、マジで。課金して良くなるならね。
VSより高いとなるとちょっと考えるけど。
自分でプルリクせえとなっても、suggestionの段階で同じ様なパフォーマンスのためにJSの形変える系の話は、みんな却下されてたはず。
要は皆>>570の様な形で、中途半端で良いと思ってて、どん詰まりはもっと先だろと楽観視してる。
もはや単なるリンタ。
601:デフォルトの名無しさん
18/01/05 18:22:04.71 rGChZwpO.net
推測するな 計測せよ
って言葉知らんのか?
602:デフォルトの名無しさん
18/01/05 18:43:32.98 /3vfwTze.net
知らん
603:デフォルトの名無しさん
18/01/05 18:44:03.04 /3vfwTze.net
考えるな、感じろ。なら知ってる。
604:デフォルトの名無しさん
18/01/05 18:47:50.38 2QFGEILP.net
それ知らんのはガイジ
605:デフォルトの名無しさん
18/01/05 20:49:35
606:.32 ID:WQychI9E.net
607:デフォルトの名無しさん
18/01/05 21:06:34.87 Z2M9SnI/.net
>>584
そもそもTypeScriptは単なるリンタだろ
お前がプルリクを出すべきなのはTypeScriptではなくV8
608:デフォルトの名無しさん
18/01/05 21:20:50.22 2QFGEILP.net
「推測するな 測定せよ」みたいないわゆる格言に対してそんなガキみたいな屁理屈捏ねられてもね……
609:デフォルトの名無しさん
18/01/05 21:25:02.92 5kzCv3dH.net
TypeScriptをlint扱いは流石に草
610:デフォルトの名無しさん
18/01/05 22:31:21.64 EMt1frzJ.net
推測も測定も両方しろよ。
611:デフォルトの名無しさん
18/01/05 23:22:56.45 iSZmj121.net
もうPooHPでも書いてろよ
612:デフォルトの名無しさん
18/01/06 14:22:11.98 pmlj07ym.net
>>590
違うらしいよ、信者様によると。
613:デフォルトの名無しさん
18/01/06 14:24:10.80 pmlj07ym.net
>>591
意味を理解しない格言や誤謬を招かんとする格言の使い方には一言言いたくなるじゃん。
そう信じて計測だけする奴が可哀想だ。
614:デフォルトの名無しさん
18/01/06 14:27:48.16 ul9KuZX2.net
どう考えてもV8にコミットするのが筋だわな
別にTS批判君が全ブラウザをやらなくても、効果的な改良なら他もすぐに追従するだろう
まさかJIT結果だのVMの仕様だのキリッが付きそうなレスしてるのにC++やネイティブコンパイル分からないとか言わないよね
615:デフォルトの名無しさん
18/01/06 15:18:49.96 Zbelr2Bx.net
臭い奴がおるな
616:デフォルトの名無しさん
18/01/06 16:25:24.67 vE17HoYT.net
wasmにGCが搭載された暁には
いくらでも頑張って欲しい
617:デフォルトの名無しさん
18/01/06 16:48:12.08 pmlj07ym.net
>>597
いや違うだろ。
なんでTSのコンパイル結果がクソなのをV8が面倒見るべきかわからんが。
普通にコンパイラとして真面目にコンパイルすりゃいいのに、って話で、
トランスパイラならトランスパイラと名乗れば良いのに。
よくもまぁこういう擁護ができるなぁと思うわ。
V8や他のJSエンジンは、JavaScriptの処理系であって、TypeScriptの処理系じゃねえんだから。
それこそ、TypeScriptが吐き出した中途半端なJSに対するチューニングなんか必要ないだろ。
V8側のスタンスは「最初からJSで書きゃ良いだろ、asyncが欲しい?考えてやるよ」と機能の面では歩み寄ってきたじゃん。
そういう意味で、wasmに振って、ちゃんとコンパイルするAssemblyScriptはいい方向だと思うが、
tscの方向性は微妙としか言い切れんと思う。
TS自体がなんで未だにJSに引きずられる必要があるのかわからんが、皆がそれで良しとする理由は「中途半端で良いから」なの?
618:デフォルトの名無しさん
18/01/06 16:51:40.90 pmlj07ym.net
コンパイルした時点で型が消えるのに、JITに引数の型に対して何種類か載せ続けるべき関数(ジェネリクスだった関数)なのか、それともany受けてるただの関数なんか、それこそプロファイル取ること自体無駄じゃん。
最初から型ごとに吐きゃ良いのにって思っちゃいかんのか?
619:デフォルトの名無しさん
18/01/06 17:16:11.92 vE17HoYT.net
名前の通りbetterJS以上の認識は無いな
少なくともtscだろうとtstだろうと単なる名前に拘る奴は居ないと思う
>いかんのか?
いいと思うよ
620:デフォルトの名無しさん
18/01/06 18:35:08.26 bW7JkyTC.net
>>600
実行時に型ごとにJITを分けるのって割と一般的な最適化手法だろ
型ごとにjsを生成すると言っても結局それらはみんな同じコードであって型情報なんて残らないんだから、
621: それが適切に最適化されるかどうかなんて処理系次第だろ jsに型アノテーションを導入しろというなら理解できるが、あんたの主張は無茶な言いがかりにしか見えないな
622:デフォルトの名無しさん
18/01/06 18:41:14.50 bW7JkyTC.net
補足
最適化されるかは処理系次第、といったのは、結局、型ごとにjs生成しようが
JITは実行時の型を利用して最適化することには変わりないんだから、本質的には大した違いはないという意図だぞ
ヘボいと言うなら複数の型に適切に対応できないJITがヘボいんだよ
623:デフォルトの名無しさん
18/01/06 18:58:45.67 wyffhFco.net
>>580
主治医の先生にもそう言ったのか?
ちゃんと薬のめよ。
624:デフォルトの名無しさん
18/01/06 20:51:20.91 jSg6g7bL.net
>>605
PooHPoorさん・・・w
625:デフォルトの名無しさん
18/01/07 09:04:05.50 WSf4F++k.net
>>603
型ごとに生成すりゃJIT破棄しないだろ。
ちょっとは挙動わかって言いがかりつけてんの?
626:デフォルトの名無しさん
18/01/07 09:48:25.87 X58Odkk6.net
>>607
まともな実装なら型が数種類あるくらいならJIT破棄しないよ
627:デフォルトの名無しさん
18/01/07 12:37:05.15 3N9WbZKm.net
妄想でごちゃごちゃ言ってないで検証コード載せなさいよ
どっちが馬鹿かはっきりするでしょ
628:デフォルトの名無しさん
18/01/07 13:26:29.62 WSf4F++k.net
>>608
あ、そうなんだ。それは良い風に変わってるんだな。
俺が見たときはほとんど整数、たまにエラーを表すオブジェクトのときに、毎回オブジェクトの時にJIT捨ててたけど、古いといえば古い話だし。
まぁプロファイル次第なんだろうな。
>>609
どっちが馬鹿とかじゃなかろうが。
そういう発想がマウンティングとかいう発言に繋がってんの?
629:デフォルトの名無しさん
18/01/07 13:30:35.11 +RrxdpdM.net
マウンティングで検索したら誰も言ってなくてワロタ
630:デフォルトの名無しさん
18/01/07 13:47:09.28 WSf4F++k.net
>>611
ホントだな。
過去スレの印象で言ってるもんだと思ってたわ。
631:デフォルトの名無しさん
18/01/07 13:59:18.12 vkdahwds.net
まあ新しい言語やるやつの動機の7割はマウント取りたいで合ってるよ。
632:デフォルトの名無しさん
18/01/07 14:07:56.16 tEoGaVYL.net
x >= y または x < y などと変数でごちゃごちゃ書いてないで定数にすればわかる
変数は妄想だ
妄想するな計測せよ
633:デフォルトの名無しさん
18/01/07 14:37:44.54 8Eqg8PLM.net
2 >= 1
634:デフォルトの名無しさん
18/01/07 15:41:02.61 WSf4F++k.net
変な荒れかたするもんだな。
635:デフォルトの名無しさん
18/01/07 19:02:21.52 KS5M1w7d.net
まあ個人の体験談みたいなものを根拠に主張したって賛同はされんわな
コードが出てこないと改善の有用性も見えないし抽象的な話で止まってしまうよ
636:デフォルトの名無しさん
18/01/07 21:38:26.68 BUQO0mIV.net
そーだな、ぜひともHaskellで書いた次世代言語らしいサンプルが見たいもんだ。
他の言語は出たのにな。
637:デフォルトの名無しさん
18/01/07 21:51:35.49 tEoGaVYL.net
HaskellとKotlinとTypeScriptのサンプルが出なかった時の話だろうか
638:デフォルトの名無しさん
18/01/07 21:58:24.02 Oi0ICvXY.net
サンプルコードが出るとダメな言語は一目瞭然だったりするからな
Sから始まる言語とか
639:デフォルトの名無しさん
18/01/07 22:23:27.72 tEoGaVYL.net
ダメな言語の批判ばかりだよな
よかった言語の名前は出せない空気になってる
640:デフォルトの名無しさん
18/01/07 22:26:14.15 WFi36oCb.net
5chは初めてか
641:デフォルトの名無しさん
18/01/07 22:52:11.69 +RrxdpdM.net
そいつは例のあDHDだろう。Haskellユーザーがいないこのスレで触ったこともないHaskellを叩き続けるガイジだから触れない方が良い
642:デフォルトの名無しさん
18/01/07 22:59:52.18 L6/hrCeD.net
文句なしの打っ千切り糞言語賞ナンバーワンはPから始まるあの言語だよなぁ
643:デフォルトの名無しさん
18/01/07 23:22:37.67 +RrxdpdM.net
PooHPoorの話はおいといて、好きな言語の話をするのは良いな
644:デフォルトの名無しさん
18/01/07 23:53:28.58 L6/hrCeD.net
ブレストの「批判をするな」がいかに大切かわかる空気感だね
645:デフォルトの名無しさん
18/01/08 00:10:42.98 vJNmJMtg.net
ブレストは頭の中だけで行動が伴わないので批判しなくていい
厳しく批判されるのは実行に移そうとした時
646:デフォルトの名無しさん
18/01/08 02:24:37.62 +UJAnfcM.net
マンセーしたきゃ勝手にすりゃいいじゃん。
現実で文句言われるよりここで言われる方がマシだろ。
647:デフォルトの名無しさん
18/01/08 10:50:08.35 si2lRCsu.net
現実でニコニコ
ネットで陰口
美しい国ジャップランド土人村
648:デフォルトの名無しさん
18/01/08 13:31:41.59 ojmRQEAO.net
ネットは筆記試験のようなものだよ
筆記試験もネットと同じような批判をされて面接重視になった
649:デフォルトの名無しさん
18/01/08 14:51:35.25 isNCSjM0.net
>>629
おま環だろ?
650:デフォルトの名無しさん
18/01/08 18:13:08.29 e0/LavPD.net
おま国だろ
651:デフォルトの名無しさん
18/01/08 20:27:12.48 TtlW0DEg.net
Elmってどうなんだろ。インスパイアされたhyperappとかいうのがあるけど。
新しいjsライブラリは結構TypeScriptサポートしていて嬉しい
652:デフォルトの名無しさん
18/01/08 22:54:56.01 e0/LavPD.net
全てのJSプロジェクトはTypeScriptにしろ
棒案件で立ち上げ時にクソバカの老害オッサンがJSでコード書き始めたせいで
どんだけ苦労したか
653:デフォルトの名無しさん
18/01/08 23:52:24.85 KF2MtXIW.net
TypeScriptは認めるがBabelはほんとやめてほしい
わざわざビルドを面倒にするだけの見返りはどう考えても無い
654:デフォルトの名無しさん
18/01/09 00:49:10.43 Eu2F6gCU.net
Babelないとjsxも書けないし新しい文法も使えないぞ
糞まみれの生JSに戻る気か?
655:デフォルトの名無しさん
18/01/09 00:53:34.69 mcq0XcNK.net
下痢便が軟便になる程度だろ
656:デフォルトの名無しさん
18/01/09 17:04:26.38 vMJYxq5i.net
TypeScriptもいずれノーマルjsに吸収される
657:デフォルトの名無しさん
18/01/09 17:11:58.74 MVMyukKY.net
>>638
それ理想的だね。型を最初からサポートしたほうが良い。
typescriptを中心に据えてオプションで型無しをサポートする方針にしたほうが処理性能向上に寄与する気がする。
あとnumber型を廃止して
658:デフォルトの名無しさん
18/01/09 18:53:23.55 dlYDsmgP.net
>>623
もう叩いてないぞ。
割と興味出てきたのに、誰も、ここが良い!を言わないからつまんねえのって思ってるだけだよ。
スレタイに入れたいだけじゃねえの?って。
正直、使ってみた感じは悪くないけど、この便利な言語でこういう事すると楽かな?みたいなのがあんまり思いつかんので、良いサンプルは見たいな。
GoのGoroutineやchanの気軽さとか、erlangのプロセスの考え方みたいなのとか。
659:デフォルトの名無しさん
18/01/09 18:54:28.23 5zS3VIoD.net
>>623
スレタイに入れた奴が居るはずだろw
660:デフォルトの名無しさん
18/01/09 19:50:56.76 MVMyukKY.net
Haskell使った有名なアプリってなんかあるの?
661:デフォルトの名無しさん
18/01/09 19:55:51.91 WTFA4htZ.net
xmonad
662:デフォルトの名無しさん
18/01/09 20:14:49.53 EVhg342m.net
monadius
663:デフォルトの名無しさん
18/01/09 21:09:47.45 Dcv/I53t.net
これとか?
URLリンク(code.facebook.com)
664:デフォルトの名無しさん
18/01/09 21:25:06.32 p1Q0x2y+.net
データフィルタ的に使うのなら確かにいいかもな。
665:デフォルトの名無しさん
18/01/09 23:27:20.37 MVMyukKY.net
>>643
linuxを、デスクトップ用途で使うならいいけどなぁ。
wafとかで革新的なやつとか無いのかね?
666:デフォルトの名無しさん
18/01/13 21:15:44.50 c6t40eQY.net
>>6
667:42 Pandoc
668:デフォルトの名無しさん
18/01/15 20:41:07.18 MfcsBHji.net
関数型プログラミングの流行も落ち着いた感じかね?
669:デフォルトの名無しさん
18/01/15 21:19:36.73 +I1W8YzH.net
さいなー
670:デフォルトの名無しさん
18/01/15 23:18:02.53 GwTCehVf.net
落ち着いたも何も、みんな身につけ終わっただけだろ
671:デフォルトの名無しさん
18/01/16 13:33:12.35 9RwiafIQ.net
せやな
672:デフォルトの名無しさん
18/01/16 22:37:54.03 rkvgxjqz.net
ビットコインの流行「奴は流行の中で最弱」
673:デフォルトの名無しさん
18/01/16 23:05:29.36 VmDdoWU7.net
関数型の後Pythonに戻ったら、それまでとも違うけど関数型でもないコードになった
674:デフォルトの名無しさん
18/01/17 10:07:53.77 9HqucL9D.net
pythyonって関数型書きやすい?
675:デフォルトの名無しさん
18/01/17 10:31:26.77 I48MtSJA.net
書きにくい
676:デフォルトの名無しさん
18/01/17 10:57:56.45 9HqucL9D.net
lambdaが書きづらいからとか?
やっぱ関数型プログラミングはRubyのほうが強いのか
677:デフォルトの名無しさん
18/01/17 11:09:34.12 I48MtSJA.net
Rubyと比べてどうかは知らんけど、Pythonのデータ構造や文法ならいわゆるPythonicな書き方が書きやすく読みやすいので関数型特化する必要がないので、関数型には書きにくい
678:デフォルトの名無しさん
18/01/17 11:22:30.71 dt2TzLE6.net
なぜ関数型とRubyが、目的と手段なんですか
理想主義と現実主義ではだめなんですか
679:デフォルトの名無しさん
18/01/17 11:24:00.75 VP9/FI9R.net
関数型って何をさすのか
よくそれだけで会話が通じるなと思うわ
680:デフォルトの名無しさん
18/01/17 11:51:37.31 dt2TzLE6.net
言語の標本集合をさすんじゃないですか
現実の言語にはばらつきがありますが、平均すれば理論値に収束する筈だとか
681:デフォルトの名無しさん
18/01/17 13:21:41.39 VP9/FI9R.net
標本がどうのこうのじゃなくて
会話噛み合ってないだろってことだよ
頭でっかちさん
682:デフォルトの名無しさん
18/01/17 13:35:55.43 dt2TzLE6.net
そうやって悪態をつくのも会話ができない人の典型
683:デフォルトの名無しさん
18/01/17 13:57:51.64 PYB4eJ3B.net
rubyのfirst classですらないlambdaだって書きやすくはねーだろ
684:デフォルトの名無しさん
18/01/17 18:38:24.63 XaYj/w5S.net
>>660
ほんとにな。
ラムダ一つとったって型なし、型あり
型にしたって、型に依存する型、型に依存する項(関数など)、項に依存する型とか色々あるのに。
685:デフォルトの名無しさん
18/01/17 20:11:35.06 ZAXr3Ump.net
PythonicとかPythonistaとか、改めて見るとすごい呼称だ。
686:デフォルトの名無しさん
18/01/17 21:11:15.44 zdlnY+SA.net
>>655
書きにくいから、Python の公式文書では lambda で書いたコードを
手続き型の for ループへ書き換えることを推奨している
URLリンク(docs.python.jp)
687:デフォルトの名無しさん
18/01/17 21:34:21.77 zdlnY+SA.net
>>658
あれれ、日本国内ではそういう認識が浸透してるの?
世界的には Python の lambda が欠陥であることは広く知られていて、
改善に向けた議論も重ねられたけど、結局、作者のGuido氏が
「解けないパズル(unsolvable puzzle)」と匙を投げたという残念な
結論のまま現在に至っているという共通認識があります
スレリンク(tech板:197番)/
やっぱり日本在住の Pythonista がガラパゴスなのは昔から同じですね
スレリンク(tech板:70-71番)
688:デフォルトの名無しさん
18/01/17 22:01:34.45 jFkmgXk5.net
python のラムダの使い道ってほとんどがソートに渡す比較関数くらいだと思う。
689:デフォルトの名無しさん
18/01/17 22:47:35.07 I48MtSJA.net
世界的な認識のソースでも貼ってそうな場所にあるリンクが2chの別スレ�
690:ヨのリンクで困惑している
691:デフォルトの名無しさん
18/01/18 05:27:53.26 zo82h2qj.net
Pythonあまり知らんけど、上のリンク見てて思ったのは、
1. 自分で高階関数を作れない(ラムダ式が利用できる関数が少ないと書いてある)
2. where節みたいなスコープの限定されたローカルな書き捨ての関数を用意する文法がない(読みにくいでしょ?とか書いてある)
この辺の縛りがあるからでないかい?
692:デフォルトの名無しさん
18/01/18 09:22:04.51 AIUmpkCu.net
ごめん、>>671は寝ぼけて適当なこと書いたぽいから、無視しといて。
693:デフォルトの名無しさん
18/01/18 21:25:08.77 oG29giIx.net
関数型っのがどういう定義かは分からないけれど、
HaskellとPythonを比べると、パターンマッチが
なくて再帰が書きにくいと感じたり、
基本破壊的だから、わざわざ非破壊で書くのが
めんどくさいと感じる。
内包表記は似ていて良いかな。