スレタイ以外の言語もok
前スレ
次世代言語17 Go Rust Kotlin TypeScript Julia
https://mevius.5ch.net/test/read.cgi/tech/1567602619/
次世代言語18 V Julia 他
■ このスレッドは過去ログ倉庫に格納されています
2019/09/30(月) 23:11:51.54ID:gS2Jpksn
212デフォルトの名無しさん
2019/10/05(土) 12:54:38.51ID:+P5r5Pn+ 個人の勝手でコードぐちゃぐちゃになるってどういう組織なのよ
どんな体験からそんな保守的になったのか興味あるわ
どんな体験からそんな保守的になったのか興味あるわ
213デフォルトの名無しさん
2019/10/05(土) 12:57:47.72ID:6NInSiPP 個人の勝手うんぬんって、完全にマネジメントの問題じゃん
それが型のせいで〜とか、思考回路ショート寸前すぎない?
それが型のせいで〜とか、思考回路ショート寸前すぎない?
214デフォルトの名無しさん
2019/10/05(土) 13:00:54.85ID:e/Rh94Kn215デフォルトの名無しさん
2019/10/05(土) 13:01:24.64ID:Kv3wO+aL TSってaltJSの中じゃ保守的な方ってイメージだったんだが
言語機能としてはC#やJavaと大差ない程度なのに1人抜けたらメンテ出来ないってヤバいでしょ
言語機能としてはC#やJavaと大差ない程度なのに1人抜けたらメンテ出来ないってヤバいでしょ
216デフォルトの名無しさん
2019/10/05(土) 13:09:22.15ID:bTVdb/1I 型キチが大暴れしてコードしっちゃかめっちゃかにするのを
型キチ本人のせいじゃなくてマネジメントのせいにするとか
まじで自分は悪くない正義なんだ思想でゲボ吐きそう
ScalaでScalaz使い倒した上にimplicit地獄で複雑怪奇に絡み合った製品コードを
「これがきれいでシンプルでバグもない!」って強弁した挙げ句
誰も触れないからメンテお前が一人でやれって言われた途端退職したキチと同類なんだろうなお前ら
今のScalaの惨状みてると、日本中といわず世界中で似たようなことあったんだろうなって思うは
型キチ本人のせいじゃなくてマネジメントのせいにするとか
まじで自分は悪くない正義なんだ思想でゲボ吐きそう
ScalaでScalaz使い倒した上にimplicit地獄で複雑怪奇に絡み合った製品コードを
「これがきれいでシンプルでバグもない!」って強弁した挙げ句
誰も触れないからメンテお前が一人でやれって言われた途端退職したキチと同類なんだろうなお前ら
今のScalaの惨状みてると、日本中といわず世界中で似たようなことあったんだろうなって思うは
217デフォルトの名無しさん
2019/10/05(土) 13:13:28.85ID:BGs0A1AU そりゃちょっと勉強すれば誰でもメンテはできるだろうけど型ガイさんのために学習コストを払うのが前提だよね……😅
218デフォルトの名無しさん
2019/10/05(土) 13:14:23.42ID:Kg0A79VG ここの人たちGAFAとかに勤めてなさそう
219デフォルトの名無しさん
2019/10/05(土) 13:17:59.64ID:tTcT8bvF220デフォルトの名無しさん
2019/10/05(土) 13:20:34.36ID:xQy0rF4i 型アンチが型を嫌う理由が型に1ミリも関係ない私怨で草
動的型ならしっちゃかめっちゃかにならなかったわけじゃあるまいし
そいつ本人とコードレビューが機能してないのがダメなだけ
そいつがRubyやら生JS使ってても同じことが起こっただろう
動的型ならしっちゃかめっちゃかにならなかったわけじゃあるまいし
そいつ本人とコードレビューが機能してないのがダメなだけ
そいつがRubyやら生JS使ってても同じことが起こっただろう
221デフォルトの名無しさん
2019/10/05(土) 13:20:47.37ID:bTVdb/1I キチに見限られるとか本望ど真ん中で草
222デフォルトの名無しさん
2019/10/05(土) 13:22:53.78ID:rY1OpV0v とりあえず「コードしっちゃかめっちゃか」の例を見てみたい
223デフォルトの名無しさん
2019/10/05(土) 13:23:19.56ID:+HXFD6yk 型キチ推しがType Scriptでanyを推奨
224デフォルトの名無しさん
2019/10/05(土) 13:23:25.13ID:bTVdb/1I だから型そのものが嫌いなんじゃなくて
型キチのおもちゃになるくらいならそんなもんいらないとしか言ってねえっての
型そのものの有用性くらいわかっとるわ
型キチの藁人形論法寒気するわ
型キチのおもちゃになるくらいならそんなもんいらないとしか言ってねえっての
型そのものの有用性くらいわかっとるわ
型キチの藁人形論法寒気するわ
225デフォルトの名無しさん
2019/10/05(土) 13:24:23.29ID:K6vy6GrL まぁまぁ落ち着きなさい
型パズルでもして遊んできなさい(^_^)
型パズルでもして遊んできなさい(^_^)
226デフォルトの名無しさん
2019/10/05(土) 13:26:06.48ID:Kv3wO+aL そんなん勝手にしろとしか
私怨をこのスレで発散されても困るんだが
私怨をこのスレで発散されても困るんだが
227デフォルトの名無しさん
2019/10/05(土) 13:26:35.49ID:xQy0rF4i その理論ならコードレビューが機能してなかったらRubyやJSでもメタプロ厨のオモチャになって解読不能なコードが出てくるだけだろ
キチガイを排除できない態勢がクソなだけ
キチガイを排除できない態勢がクソなだけ
228デフォルトの名無しさん
2019/10/05(土) 13:31:40.03ID:6NInSiPP229デフォルトの名無しさん
2019/10/05(土) 13:36:24.02ID:bTVdb/1I レビュワー「こんな複雑怪奇なコード通せるかバカ。分かるように書け」
型キチ「これが一番シンプルで分かりやすい!!分からないお前らがバカ!!」
上「リリース日決まってるし作り直す時間ないしちゃんと動きはするんでしょ?通してやって」
型キチ擁護さんには画期的な腹案を持ちはっとるんどすなあ
型キチ「これが一番シンプルで分かりやすい!!分からないお前らがバカ!!」
上「リリース日決まってるし作り直す時間ないしちゃんと動きはするんでしょ?通してやって」
型キチ擁護さんには画期的な腹案を持ちはっとるんどすなあ
230デフォルトの名無しさん
2019/10/05(土) 13:38:01.64ID:xQy0rF4i 完全にマネジメントの問題で草
そのロクに読めない複雑怪奇なコード出してくるヤツをプロジェクトの中心に据えたのは誰なんですかね
そのロクに読めない複雑怪奇なコード出してくるヤツをプロジェクトの中心に据えたのは誰なんですかね
231デフォルトの名無しさん
2019/10/05(土) 13:40:42.55ID:tTcT8bvF232デフォルトの名無しさん
2019/10/05(土) 13:42:13.27ID:JSHhtZtD キチガイが型無し言語で書いたコードより、型キチが静的型付け言語で書いたコードの方がマシだからな
静的型付けが理解出来ないから前者の方がいいというのはただの勉強不足
静的型付けが理解出来ないから前者の方がいいというのはただの勉強不足
233デフォルトの名無しさん
2019/10/05(土) 13:43:25.00ID:oMST/mlK スクリプトとかいうゴミの話はやめてちゃんと機械語吐き出すまともな言語の話しようぜ
234デフォルトの名無しさん
2019/10/05(土) 13:53:52.42ID:6NInSiPP >>232
1000000000%そのとおり
1000000000%そのとおり
235デフォルトの名無しさん
2019/10/05(土) 13:57:21.34ID:d7bLgDqu TypeScriptを使うメリットを具体的に上げられる人いるの?
236デフォルトの名無しさん
2019/10/05(土) 14:08:51.86ID:VWTAP42j あまり語られないが、interfaceで設計できるのが最大のメリットだと思う
地味な使い道としては、JSON Schemaへの変換ツールとして非常に実用的。
地味な使い道としては、JSON Schemaへの変換ツールとして非常に実用的。
237デフォルトの名無しさん
2019/10/05(土) 14:20:09.12ID:xdqQKQ1c 最低限型の合ったコードを書くことを
プロジェクトの開発者全員に
強制できてレビュアーの負担が減ること
プロジェクトの開発者全員に
強制できてレビュアーの負担が減ること
238デフォルトの名無しさん
2019/10/05(土) 14:36:59.56ID:D63M/WEV Go言語とか見ても分かるように、型ガチガチにやらないことが次世代のトレンドってことだな
239デフォルトの名無しさん
2019/10/05(土) 14:53:55.44ID:6syy3iPc 必要ならTypeScriptでanyを使うしC#でdynamicを使う
240デフォルトの名無しさん
2019/10/05(土) 14:56:45.32ID:mM4GDxRu それな
おまけに型推論で、自分で型書かなくても良い感じにしてくれるし
TS叩いてるやつって、PHPくらいしか触ったことないゴミだろ
おまけに型推論で、自分で型書かなくても良い感じにしてくれるし
TS叩いてるやつって、PHPくらいしか触ったことないゴミだろ
241デフォルトの名無しさん
2019/10/05(土) 15:04:57.76ID:mtV0hE5K242デフォルトの名無しさん
2019/10/05(土) 15:24:15.40ID:1kVSHcIG 型は強制されない方が便利とかVB6の時代にタイムスリップしてきたみたい
243デフォルトの名無しさん
2019/10/05(土) 15:27:16.50ID:mM4GDxRu 旧Javaの冗長な型の反動で型無し言語が持て囃され、やっぱり型無し言語は糞、型推論でやってこうがトレンドだというのに
ここのおじいちゃんたちは「型は冗長!型はない方がいい!」
四半世紀前くらいからタイムスリップしてきたのかな?
ここのおじいちゃんたちは「型は冗長!型はない方がいい!」
四半世紀前くらいからタイムスリップしてきたのかな?
244デフォルトの名無しさん
2019/10/05(土) 15:28:19.62ID:mM4GDxRu 極論で喚くだけのゴミ
booleanでしか物事を理解できず、バランスというものを知らないらしい
booleanでしか物事を理解できず、バランスというものを知らないらしい
245デフォルトの名無しさん
2019/10/05(土) 15:45:19.95ID:dIxkfe+5 本当に型がそんなに大事ならGoは覇権を取れなかっただろうな
Scalaが死んでGoが覇権を取ったのは、>>243の過程からさらに揺り戻しで
「厳しすぎたり表現力ありすぎたりする、型ガイホイホイの言語じゃダメだ」って流れが来てるってことだろ
Scalaが死んでGoが覇権を取ったのは、>>243の過程からさらに揺り戻しで
「厳しすぎたり表現力ありすぎたりする、型ガイホイホイの言語じゃダメだ」って流れが来てるってことだろ
246デフォルトの名無しさん
2019/10/05(土) 15:48:21.15ID:KxOnTWto そのGoもGo2でジェネリクス入るけどな
247デフォルトの名無しさん
2019/10/05(土) 15:59:31.66ID:ZxO1UIOF char **argv の時点で既に難易度のバランス崩壊してるようなことは言われてた
248デフォルトの名無しさん
2019/10/05(土) 18:11:40.37ID:b9+wkgN8 >>207
Cはキャストでどうにでもなるけどそれが全ての型がない言語を代表してるとでも
旧ObjectWorksだと何も困ることはなかったな
任意のインスタンスに存在しないメッセージ投げようとしても警告が出てセーブできないし
無理やりevalで実行時解釈させようとしてもエラートラップするだけで原因はすぐわかるようになってる
引数はいわゆるanyだがどのクラスに限定するのか記述することもできる(そうしたいのなら)
型で縛ってる言語は労力かかるわりに仕上がり悪いことが多いね
Cはキャストでどうにでもなるけどそれが全ての型がない言語を代表してるとでも
旧ObjectWorksだと何も困ることはなかったな
任意のインスタンスに存在しないメッセージ投げようとしても警告が出てセーブできないし
無理やりevalで実行時解釈させようとしてもエラートラップするだけで原因はすぐわかるようになってる
引数はいわゆるanyだがどのクラスに限定するのか記述することもできる(そうしたいのなら)
型で縛ってる言語は労力かかるわりに仕上がり悪いことが多いね
249デフォルトの名無しさん
2019/10/05(土) 18:18:15.93ID:b9+wkgN8 そもそも型推論はコードの安全性を高めるのが目的というよりも
型が定まることにより最適化の恩恵を受けられるというのが本来の筋だと思うんだよな
型が定まることにより最適化の恩恵を受けられるというのが本来の筋だと思うんだよな
250デフォルトの名無しさん
2019/10/05(土) 18:35:30.31ID:/whshWN1 型ガイとか型キチって表現は嫌いだけど、今は一般的なプロダクトでは型に持たせる表現力は控え目にしながらジェネリクスくらいは入るかって感じかなぁと思ってるよ
金融で型に持たせた機能で処理の妥当性をできる限り保証していきますって分野にだけ関数型言語でリッチな型を使うとか、Rustみたいに低レイヤーの捕捉しにくいバグ要因に対してだけある程度の機械的検査性だけ持たせるって使い分けの方針でさ
動的で強い型付けの言語も漸進的型付けやアノテーションの形で使えるものは使うって感じじゃん?
金融で型に持たせた機能で処理の妥当性をできる限り保証していきますって分野にだけ関数型言語でリッチな型を使うとか、Rustみたいに低レイヤーの捕捉しにくいバグ要因に対してだけある程度の機械的検査性だけ持たせるって使い分けの方針でさ
動的で強い型付けの言語も漸進的型付けやアノテーションの形で使えるものは使うって感じじゃん?
251デフォルトの名無しさん
2019/10/05(土) 18:51:46.65ID:+P5r5Pn+ うーん何言ってるかわかんない
252デフォルトの名無しさん
2019/10/05(土) 19:35:19.59ID:mtV0hE5K ScalaやRustみたいな型ガチガチにやる言語は今日日流行らないってことよ
253デフォルトの名無しさん
2019/10/05(土) 19:40:25.62ID:T+9tzQZ1 理想のエンジニア「こういう機能があればユーザーは喜ぶだろうか?UXとかも考慮しないとな……」
現実のエンジニア「型が〜!!モナドが〜!!!動的wwwww」
俺悲しいよ……😭
現実のエンジニア「型が〜!!モナドが〜!!!動的wwwww」
俺悲しいよ……😭
254デフォルトの名無しさん
2019/10/05(土) 20:00:15.91ID:ZxO1UIOF コンテナ
スマポ
モナド
こいつらの目的は、ライブラリでできることを言語本体から分離すること
分離できなかった原因の一つがたまたま型システムだったから型の話をしてるだけ
スマポ
モナド
こいつらの目的は、ライブラリでできることを言語本体から分離すること
分離できなかった原因の一つがたまたま型システムだったから型の話をしてるだけ
255デフォルトの名無しさん
2019/10/05(土) 20:08:36.34ID:b9+wkgN8 コンパイラにできることは型が正しいか検査することだけであって
正しい処理をしたかどうかなんて担保できないんだよね
型の辻褄は合わせました、ロジックは間違ってて要求仕様を満たしてません
こういうのを何度も見てると本末転倒とさえ思える
型に振り回されすぎて実際のコードがゴミになってる
これはいかんね
正しい処理をしたかどうかなんて担保できないんだよね
型の辻褄は合わせました、ロジックは間違ってて要求仕様を満たしてません
こういうのを何度も見てると本末転倒とさえ思える
型に振り回されすぎて実際のコードがゴミになってる
これはいかんね
256デフォルトの名無しさん
2019/10/05(土) 20:10:26.40ID:GA2Bx1T0 新規に少人数でゴチャっと作るなら型無し言語が早いと思うが、
その後軌道に載って人数増やして機能追加を加速して行くとなったら、静的型付け言語の方に圧倒的なアドバンテージがあるぞ
そのへん疎かにしてるからバグだらけで機能追加もままならないとか糞サービスになる
その後軌道に載って人数増やして機能追加を加速して行くとなったら、静的型付け言語の方に圧倒的なアドバンテージがあるぞ
そのへん疎かにしてるからバグだらけで機能追加もままならないとか糞サービスになる
257デフォルトの名無しさん
2019/10/05(土) 20:11:40.34ID:WaZRqS3Y >>253 みたいな下側の話をするためのしょーもない場所にわざわざやってきてまで煽りたいだけの人間が居る事の方が俺は悲しいよ
258デフォルトの名無しさん
2019/10/05(土) 20:19:05.31ID:b9+wkgN8 >>256
少人数でも大人数でも動的なほうが問題起こしにくいよ
コード量も少なくて労力がかからないというのは利点しかない
機能追加にしても動的だと合わせやすいけれども静的型付けだと
どうしても綿密にやらないといけない割に不具合起こしやすくなる
強い型付けは想定されていなかったことに対して非常に弱い側面あるね
少人数でも大人数でも動的なほうが問題起こしにくいよ
コード量も少なくて労力がかからないというのは利点しかない
機能追加にしても動的だと合わせやすいけれども静的型付けだと
どうしても綿密にやらないといけない割に不具合起こしやすくなる
強い型付けは想定されていなかったことに対して非常に弱い側面あるね
259デフォルトの名無しさん
2019/10/05(土) 20:31:02.07ID:xdqQKQ1c それはさすがに嘘つきすぎ
人数や規模が増えるとバグは動的型付けの方が圧倒的に増える、加速度的に増える
動的型付けならバグってても実際にそこ通るまで検出されないだけ
今時の言語は型推論が強いから静的型付けでもそこまでコード量は増えない
人数や規模が増えるとバグは動的型付けの方が圧倒的に増える、加速度的に増える
動的型付けならバグってても実際にそこ通るまで検出されないだけ
今時の言語は型推論が強いから静的型付けでもそこまでコード量は増えない
260デフォルトの名無しさん
2019/10/05(土) 20:32:05.04ID:b9+wkgN8 個人的におかしいと思うのは
強い型付け言語の利点としてなぜかコードの安全性なるものが神話化してしまったことなんだね
それは全く担保できないことなんだけれども。
大きな利点があるとすればコンパイラがより最適化しやすくなる、ということだけだけど
HaskellなんかのUnboxed Valueがさっぱり早くないところを見ると疑問もある
強い型付け言語の利点としてなぜかコードの安全性なるものが神話化してしまったことなんだね
それは全く担保できないことなんだけれども。
大きな利点があるとすればコンパイラがより最適化しやすくなる、ということだけだけど
HaskellなんかのUnboxed Valueがさっぱり早くないところを見ると疑問もある
261デフォルトの名無しさん
2019/10/05(土) 20:34:18.71ID:b9+wkgN8262デフォルトの名無しさん
2019/10/05(土) 20:39:16.96ID:xdqQKQ1c263デフォルトの名無しさん
2019/10/05(土) 20:42:37.53ID:D0zXpfE2 >>261
動的型付けで実引数に与えられる可能性のある型すべてに対してどうやってテストするの?
動的型付けで実引数に与えられる可能性のある型すべてに対してどうやってテストするの?
264デフォルトの名無しさん
2019/10/05(土) 21:10:09.93ID:GA2Bx1T0 >>258
機能追加で動的だと合わせやすいとか全く異次元で信じられないよ
俺は今機能追加するときには、自分が作ったコードだろうが他人が作ったコードだろうが、まずは型を頼りに仕様を把握して、既にある型に沿って追加コードを書いていくよ
必要なら既存のコードの変更もするわけだけどその時も型を頼りにIDEの機能を使ってリファクタリングとか頻繁にする
自分の作った数年前のコードなんて、型無しで保守するとか恐怖だよ
機能追加で動的だと合わせやすいとか全く異次元で信じられないよ
俺は今機能追加するときには、自分が作ったコードだろうが他人が作ったコードだろうが、まずは型を頼りに仕様を把握して、既にある型に沿って追加コードを書いていくよ
必要なら既存のコードの変更もするわけだけどその時も型を頼りにIDEの機能を使ってリファクタリングとか頻繁にする
自分の作った数年前のコードなんて、型無しで保守するとか恐怖だよ
265デフォルトの名無しさん
2019/10/05(土) 21:12:33.20ID:5LWIufpy HaskellとかScalaとかでそこそこの規模以上の開発したことあるなら
「静的で強い型付けしてるから開発とテストサイクルが速い」なんて口が裂けても言えないと思うが
「静的で強い型付けしてるから開発とテストサイクルが速い」なんて口が裂けても言えないと思うが
266デフォルトの名無しさん
2019/10/05(土) 21:15:46.21ID:5LWIufpy 一ヶ所変えるだけであらゆる関数の引数や返り値の型を全部変える必要が出てきて
それに伴って既存テストコードも全部動かなくなって
何が正しいのかから全部決め直しになるみたいな地獄を経験したことない奴が
「静的型の方が開発サイクル速い」とかフカしてるの見るのおぞましいわ
それに伴って既存テストコードも全部動かなくなって
何が正しいのかから全部決め直しになるみたいな地獄を経験したことない奴が
「静的型の方が開発サイクル速い」とかフカしてるの見るのおぞましいわ
267デフォルトの名無しさん
2019/10/05(土) 21:20:06.05ID:GA2Bx1T0268デフォルトの名無しさん
2019/10/05(土) 21:20:41.96ID:mM4GDxRu ID:b9+wkgN8
動的型がどれだけ頭の悪い似非エンジニアに汚染されてるか、よくわかるレスですね
動的型がどれだけ頭の悪い似非エンジニアに汚染されてるか、よくわかるレスですね
269デフォルトの名無しさん
2019/10/05(土) 21:21:55.40ID:mM4GDxRu >>266
一ヶ所変えるだけであらゆる関数の引数や返り値の型を全部変える必要が出てきて
それに伴って既存テストコードも全部動かなくなって
何が正しいのかから全部人力Grepになるみたいな地獄を経験したことない奴が
「動的型の方が開発サイクル速い」とかフカしてるの見るのおぞましいわ
一ヶ所変えるだけであらゆる関数の引数や返り値の型を全部変える必要が出てきて
それに伴って既存テストコードも全部動かなくなって
何が正しいのかから全部人力Grepになるみたいな地獄を経験したことない奴が
「動的型の方が開発サイクル速い」とかフカしてるの見るのおぞましいわ
270デフォルトの名無しさん
2019/10/05(土) 21:25:50.02ID:GA2Bx1T0 おまえらが馬鹿にしてる Java だって IntelljIDEA や AndroidStudio のリファクタリング機能でテストコードも含めて何の苦もなく引数の型変更とかできる
逆に型無かったらこれをサクッとやるのは難しい
逆に型無かったらこれをサクッとやるのは難しい
271デフォルトの名無しさん
2019/10/05(土) 21:28:01.46ID:47UJflGv マネージャーとの面談にて
マネージャー「最近の調子はどんな感じなんだ?」
型キチ「概ね大丈夫です……ただ、動的型付け言語が一部のプロダクトで使われてるのだけが不満で……」
マネージャー「か、型?それだけが問題なのか?」
型キチ「それだけ!?!????????!?型があるかないかだけでメンテナンス性と可読性が全然違うんですよ!???ギャオオオン!!!」
悲しいね
マネージャー「最近の調子はどんな感じなんだ?」
型キチ「概ね大丈夫です……ただ、動的型付け言語が一部のプロダクトで使われてるのだけが不満で……」
マネージャー「か、型?それだけが問題なのか?」
型キチ「それだけ!?!????????!?型があるかないかだけでメンテナンス性と可読性が全然違うんですよ!???ギャオオオン!!!」
悲しいね
272デフォルトの名無しさん
2019/10/05(土) 21:28:01.60ID:GA2Bx1T0 ああ型無し言語は引数の型は無いんだったなwメソッド名の変更をさくっとできるとかに読み替えてくれ
273デフォルトの名無しさん
2019/10/05(土) 21:28:29.00ID:rY1OpV0v >一ヶ所変えるだけであらゆる関数の引数や返り値の型を全部変える必要が出てきて
これはわからんでもないが
>それに伴って既存テストコードも全部動かなくなって
なんでそうなるのか意味不明
これはわからんでもないが
>それに伴って既存テストコードも全部動かなくなって
なんでそうなるのか意味不明
274デフォルトの名無しさん
2019/10/05(土) 21:37:33.45ID:b9+wkgN8 >>269
それは現実離れした極論だね
修正が必要になるのはどの言語でも変わらないよ
テストコードが動かない場合、あるいはtest protocolが失敗するケースでは問題が起きてるから修正にはなるがそれだけだ
引数に全く違うオブジェクトが入ってきた場合の振る舞いはすぐにトラップするからわかるよ
全体修正なんてことにはならないしなったこともない
それは現実離れした極論だね
修正が必要になるのはどの言語でも変わらないよ
テストコードが動かない場合、あるいはtest protocolが失敗するケースでは問題が起きてるから修正にはなるがそれだけだ
引数に全く違うオブジェクトが入ってきた場合の振る舞いはすぐにトラップするからわかるよ
全体修正なんてことにはならないしなったこともない
275デフォルトの名無しさん
2019/10/05(土) 21:39:22.95ID:b9+wkgN8276デフォルトの名無しさん
2019/10/05(土) 21:42:13.51ID:b9+wkgN8 >>264
旧仕様のクラスのままで新仕様のクラスをテストする、ということが動的の場合はできるのだ
こう言ったことに限らずあらゆる局面で柔軟性が高いのは利点だよ
開発サイクルの速さはこういうことにもつながっている
旧仕様のクラスのままで新仕様のクラスをテストする、ということが動的の場合はできるのだ
こう言ったことに限らずあらゆる局面で柔軟性が高いのは利点だよ
開発サイクルの速さはこういうことにもつながっている
277デフォルトの名無しさん
2019/10/05(土) 21:46:35.13ID:oarnWrY2 モナドが難し過ぎてHaskellでmain関数書けないんだが
こんなもん普通の言語に導入するのは無理がある
こんなもん普通の言語に導入するのは無理がある
278デフォルトの名無しさん
2019/10/05(土) 21:50:21.79ID:b9+wkgN8 >>264
重要なことを書くのを忘れた
「型を追わなくていい」んだな
そこに注力する必要がなく、適切なprotocolと定義があるかを見ることが重要になる
型付け言語と動的の場合それぞれアプローチが変わってくる
重要なことを書くのを忘れた
「型を追わなくていい」んだな
そこに注力する必要がなく、適切なprotocolと定義があるかを見ることが重要になる
型付け言語と動的の場合それぞれアプローチが変わってくる
279デフォルトの名無しさん
2019/10/05(土) 21:51:05.52ID:rjAFvvxm 関数型言語は関数型を使ってる自分に酔ってシコるためだけに存在する言語だからね
シコScalaやシコHaskellは勉強しなくていいよ
シコScalaやシコHaskellは勉強しなくていいよ
280デフォルトの名無しさん
2019/10/05(土) 21:58:36.88ID:oMST/mlK F#のことも思い出してあげて
281デフォルトの名無しさん
2019/10/05(土) 21:59:25.58ID:mjKpzDld 座標を扱う時に直交座標も極座標も数値型の組に過ぎないから型があってるだけでは不十分
みたいな話ならまだ分かるんだが
みたいな話ならまだ分かるんだが
282デフォルトの名無しさん
2019/10/05(土) 22:03:01.36ID:kmFdI7ZB283デフォルトの名無しさん
2019/10/05(土) 22:08:26.33ID:b9+wkgN8 CLOSなんかでも総称関数で想定外のオブジェクトが渡されたら大変なことになるなんて言う人いないと思うが
最終的に呼ばれるはずだったslotが存在しないオブジェクトを扱おうとしていたら直ちにトラップか
コンパイルする処理系だと事前に警告だから
どこをどうやっても全体修正なんてことにはならない
強い型付けをしても想定通りに動かないコードが出来上がってしまうのは
すなわち型だけで安全性を高めることはできない証左とも言える
その理由の一つに一般的に型とは振る舞いを定義しているものではないからだ
型が合わなければ通さない、合っていれば通す、ただそれだけのことであって
通した後の処理まで面倒見ているわけじゃあない
本末転倒になっているのはこの部分だね
最終的に呼ばれるはずだったslotが存在しないオブジェクトを扱おうとしていたら直ちにトラップか
コンパイルする処理系だと事前に警告だから
どこをどうやっても全体修正なんてことにはならない
強い型付けをしても想定通りに動かないコードが出来上がってしまうのは
すなわち型だけで安全性を高めることはできない証左とも言える
その理由の一つに一般的に型とは振る舞いを定義しているものではないからだ
型が合わなければ通さない、合っていれば通す、ただそれだけのことであって
通した後の処理まで面倒見ているわけじゃあない
本末転倒になっているのはこの部分だね
284デフォルトの名無しさん
2019/10/05(土) 22:35:01.34ID:mM4GDxRu こんなお花畑野郎とは絶対に一緒にコード書きたくねえな
型以前の問題だったわ
型以前の問題だったわ
285デフォルトの名無しさん
2019/10/05(土) 22:35:41.62ID:Sq/oJs63 こいつの言ってる安全性ってなんなんだ
勝手に神話を作って勝手に信じたのか
勝手に神話を作って勝手に信じたのか
286デフォルトの名無しさん
2019/10/05(土) 22:41:21.63ID:mM4GDxRu マネージャーとの面談にて
マネージャー「最近の調子はどんな感じなんだ?」
型キチ「概ね大丈夫です……ただ、静的型付け言語が一部のプロダクトで使われてるのだけが不満で……」
マネージャー「か、型?それだけが問題なのか?」
型キチ「それだけ!?!????????!?型が理解できないし勉強できないメンテナンスできない人がいるんですよ!???ギャオオオン!!!」
悲しいね
マネージャー「最近の調子はどんな感じなんだ?」
型キチ「概ね大丈夫です……ただ、静的型付け言語が一部のプロダクトで使われてるのだけが不満で……」
マネージャー「か、型?それだけが問題なのか?」
型キチ「それだけ!?!????????!?型が理解できないし勉強できないメンテナンスできない人がいるんですよ!???ギャオオオン!!!」
悲しいね
287デフォルトの名無しさん
2019/10/05(土) 22:42:02.16ID:oMST/mlK ここ型議論しかしてねーな
288デフォルトの名無しさん
2019/10/05(土) 22:42:41.02ID:qlkFezQz 次スレは動的型付けvs静的型付けで
289デフォルトの名無しさん
2019/10/05(土) 22:46:40.57ID:q6Mq9TVB >>286
型キチさん、型チェック忘れてますよw
型キチさん、型チェック忘れてますよw
290デフォルトの名無しさん
2019/10/05(土) 22:48:19.61ID:jHn/y5Ac 型ガイさんって正直Javaしか使ったことかいんでしょ?
怒らないから言ってみ?
怒らないから言ってみ?
291デフォルトの名無しさん
2019/10/05(土) 22:58:09.58ID:HsbLVS7B 型無しガイジはPHPスレに帰れ
292デフォルトの名無しさん
2019/10/05(土) 23:06:51.84ID:+P5r5Pn+ 型があれば処理が正しいなんて言ってるやついないじゃん
そんな神話聞いたことないわ
存在しない脅威について怯えるのは出来ないエンジニアにありがち
そんな神話聞いたことないわ
存在しない脅威について怯えるのは出来ないエンジニアにありがち
293デフォルトの名無しさん
2019/10/05(土) 23:08:33.06ID:xdqQKQ1c マジで無能はオールオアナッシングでしかものを考えられない
294デフォルトの名無しさん
2019/10/05(土) 23:10:04.39ID:D0zXpfE2 >強い型付けをしても想定通りに動かないコードが出来上がってしまうのは
>すなわち型だけで安全性を高めることはできない証左とも言える
JavaScriptは強い型付け言語ですけど
動的型付け/静的型付けと強い型付け弱い型付けの区別もついてないレベルで
こんなご高説垂れてたのか
>すなわち型だけで安全性を高めることはできない証左とも言える
JavaScriptは強い型付け言語ですけど
動的型付け/静的型付けと強い型付け弱い型付けの区別もついてないレベルで
こんなご高説垂れてたのか
295デフォルトの名無しさん
2019/10/05(土) 23:11:42.96ID:N1TCJDW/ 型ガイさんって正直Java(8未満)しか使ったことかいんでしょ?
怒らないから言ってみ?
怒らないから言ってみ?
296デフォルトの名無しさん
2019/10/05(土) 23:18:15.71ID:FrQq6pik 静的型付けネガる人って何でもStringとか何でもMapとか、あるいは配列の1番目はx座標で2番目はy座標を返すメソッド!
とかやっちゃう人なのでは?型が簡単に作れて使える世界を知らないだけでは?
とかやっちゃう人なのでは?型が簡単に作れて使える世界を知らないだけでは?
297デフォルトの名無しさん
2019/10/05(土) 23:21:21.08ID:+P5r5Pn+298デフォルトの名無しさん
2019/10/05(土) 23:47:46.68ID:GA2Bx1T0299デフォルトの名無しさん
2019/10/06(日) 01:56:56.91ID:Jx24UgF2 Scalaが次世代言語になれなかったのは事実
成功して現世代と言えるくらいになった次世代言語が型がゆるいGoくらいっていうのも事実
でもScalaが自滅したのは強い静的型付けだった「から」じゃないし
Goが流行ったのは型がゆるい「から」じゃないはずなんだけど
なんでそういう関係ないところで型の有用性について議論したがるかね
成功して現世代と言えるくらいになった次世代言語が型がゆるいGoくらいっていうのも事実
でもScalaが自滅したのは強い静的型付けだった「から」じゃないし
Goが流行ったのは型がゆるい「から」じゃないはずなんだけど
なんでそういう関係ないところで型の有用性について議論したがるかね
300デフォルトの名無しさん
2019/10/06(日) 03:17:49.98ID:+G1RWlUz >>248
んで?今でもあんたはそのobjectworks使った仕事してるの?
んで?今でもあんたはそのobjectworks使った仕事してるの?
301デフォルトの名無しさん
2019/10/06(日) 03:28:03.73ID:+G1RWlUz >>283
誰一人として型だけで安全なコードができるなんて言ってないのにお前は誰に向かって書いてるんだ?
誰一人として型だけで安全なコードができるなんて言ってないのにお前は誰に向かって書いてるんだ?
302デフォルトの名無しさん
2019/10/06(日) 03:55:19.89ID:qGnSK/oz >>272
少なくともpythonに関しては、JetBrainsのIDEといえどtype hintingが無いと結構失敗する
少なくともpythonに関しては、JetBrainsのIDEといえどtype hintingが無いと結構失敗する
303デフォルトの名無しさん
2019/10/06(日) 04:39:46.87ID:qGnSK/oz >>298
それは暗黙の型変換が行われるだけで、その結果は言語仕様で定義されてるから、型システムとしては型安全性があると言える
型安全性があるのが強い型付けで、無いのが弱い型付け、とされる
でもそう定義する界隈があるってだけで、それが絶対的な定義ではないとは思うけどな
それは暗黙の型変換が行われるだけで、その結果は言語仕様で定義されてるから、型システムとしては型安全性があると言える
型安全性があるのが強い型付けで、無いのが弱い型付け、とされる
でもそう定義する界隈があるってだけで、それが絶対的な定義ではないとは思うけどな
304デフォルトの名無しさん
2019/10/06(日) 05:02:55.75ID:Wdhy4bzT 型キチってScala関連の書き込みには全くレスつけてくれないけど
そういうことなんだなって察してしまうわ
そういうことなんだなって察してしまうわ
305デフォルトの名無しさん
2019/10/06(日) 06:23:26.43ID:fUZ1yjK2 型の話が出るといつもコンプレックス丸出しの奴がギャーギャー騒ぎ始めるねえ
scalazで落ちこぼれたのは分かったけどもw
scalazで落ちこぼれたのは分かったけどもw
306デフォルトの名無しさん
2019/10/06(日) 08:25:41.74ID:NwgqgfWG 自分の脳内で作り上げた想像上の人間がScalaスレに書き込んでないことから何かを察するの、すげえな
307デフォルトの名無しさん
2019/10/06(日) 08:49:16.02ID:+7lGQsyI 型についてそこまでこだわっても品質なんてそこまで変わらんとも思うが、
しかし言語選択で今一番影響あるのは型の強さとかあるなしかもな。
まあperlとかphpレベルで暗黙変換しなけりゃ俺はいいかなと思うけど。
動的静的よりも暗黙変換をどれくらい許すかのが個人的には重要かな。
しかし言語選択で今一番影響あるのは型の強さとかあるなしかもな。
まあperlとかphpレベルで暗黙変換しなけりゃ俺はいいかなと思うけど。
動的静的よりも暗黙変換をどれくらい許すかのが個人的には重要かな。
308デフォルトの名無しさん
2019/10/06(日) 08:51:44.92ID:/3sFCHyh 一般的型キチさんの開発環境
Java6、SVN、Eclipse、Windows、WinMerge、秀丸エディタ、オンプレミス、エクセル、社内Wiki、Outlook
一般的動的マンの開発環境
Ruby・Python・PHP、Git、IntelliJ、Mac、Docker、AWS・GCP、スプレッドシート、esa、Slack
悲しいなぁ……😭😭😭
Java6、SVN、Eclipse、Windows、WinMerge、秀丸エディタ、オンプレミス、エクセル、社内Wiki、Outlook
一般的動的マンの開発環境
Ruby・Python・PHP、Git、IntelliJ、Mac、Docker、AWS・GCP、スプレッドシート、esa、Slack
悲しいなぁ……😭😭😭
309デフォルトの名無しさん
2019/10/06(日) 09:03:37.01ID:IHuQntPK 本業C#だがMacがWindowsになる程度だしクソ企業と普通の企業の差では
あと表計算ソフトはスプレッドシートと名を変えようがダメ
あと表計算ソフトはスプレッドシートと名を変えようがダメ
310デフォルトの名無しさん
2019/10/06(日) 09:13:51.42ID:+azYdc8M >>308
そんなにMacが好きならSwiftやiWork使えよww
そんなにMacが好きならSwiftやiWork使えよww
311デフォルトの名無しさん
2019/10/06(日) 09:19:36.17ID:51w7DHEq 「俺Mac取ったー!おまえWindowsな!」
小学生かw
小学生かw
■ このスレッドは過去ログ倉庫に格納されています
