[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2ch.scのread.cgiへ]
Update time : 10/13 04:35 / Filesize : 243 KB / Number-of Response : 957
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

次世代言語議論スレ[Rust Kotlin Haskell]第6世代



1 名前:デフォルトの名無しさん [2017/08/28(月) 21:53:37.12 ID:5I+bTEeA.net]
※前スレ
次世代言語議論スレ[Go Rust Scala Haskell]第5世代
mevius.2ch.net/test/read.cgi/tech/1497311647/

596 名前:デフォルトの名無しさん mailto:sage [2017/09/21(木) 18:44:57.78 ID:V4ctP0WJ.net]
次世代言語では、データとかを引数で渡すって方法に新たな工夫が欲しいね

597 名前:デフォルトの名無しさん mailto:sage [2017/09/21(木) 20:03:14.13 ID:1e+K8/4+.net]
>>596
たとえば?

598 名前:デフォルトの名無しさん mailto:sage [2017/09/21(木) 22:58:59.34 ID:2mLwGNyW.net]
doubleとintを間違える可能性は確かにあるけど
座標とかはdoubleとdoubleだったりintとintだったりするだろ
それを間違える可能性まで網羅しないと致命的じゃないか

型システムに都合の良い範囲を想定してしまったらかえって想定外の盲点が増えてしまう

599 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 01:01:11.41 ID:yLA4yX5X.net]
>>598
型システムがきちんとしてる言語であなたが考えてるような設計はしない

600 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 01:09:22.44 ID:VcH/r1aN.net]
intとdoubleを明確に区別するといえばOCamlだが、あれは流石にやりすぎと感じる。にわか感想だけど

601 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 03:19:07.10 ID:g4HdW9MF.net]
暗黙の型変換の邪悪さは経験積めばわかる
あとIntへの型変換はHaskellが一番ドイヒー

602 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 05:18:45.27 ID:A2XKXMkJ.net]
経験積めばわかる、ですむなら静的型いらねぇよ

603 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 05:39:47.03 ID:g4HdW9MF.net]
>>602
ソースの見通しが悪くなってバグの検出が難しくなる

604 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 07:53:43.74 ID:eIMWXunI.net]
IDE補完が効きまくるという点で静的型が好き。
phpStormとか使うとphpでも補完効きまくるようになるん?



605 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 08:34:49.37 ID:ig88NjIH.net]
>>601
10年以上Haskellメインで使ってますが、
あなたの言うIntへの型変換の「酷さ」が分かりません。

他言語と比べて何か問題あるのでしょうか。

606 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 09:10:52.08 ID:eIMWXunI.net]
>>605
Haskellメインの現場ってどういう環境です?研究職?

607 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 09:45:24.85 ID:eeRMTLx0.net]
Haskellみたいなのを研究に使っていたら逆にやう゛ぁいわ
メインはホビーだろ

608 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 09:49:39.95 ID:Q4+Qj6om.net]
まず初めに現場かホビーかの分岐があるのになぜ現場に限定するのか

609 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 11:00:09.62 ID:g4HdW9MF.net]
>>605
え?計算毎にいちいちNum経由にするのが酷くないって?
お前もしかしてHaskell使ったこと無いんじゃないの?

610 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 11:06:23.68 ID:g4HdW9MF.net]
Haskellメイン(仕事とは言ってない)

コンパイラとかの文字列処理や、モデルの妥当性検証とかに使うならまだしも、
数値計算でHaskellw
Repa位しか優位性ないだろ

611 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 11:40:01.90 ID:ig88NjIH.net]
>>609
Numは型ではなく型クラスです。

具体的には、どの型からInt型への変換が酷いのでしょうか。
Stream Fusion は働かないのでしょうか。

612 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 11:45:22.74 ID:ig88NjIH.net]
>>609
失礼、Stream Fusion と言うより、書き換え規則ですね。

書き換え規則が働けば、大抵の型変換は必要最小限のオーバーヘッドで行われる筈です。

613 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 11:47:26.66 ID:g4HdW9MF.net]
>>611
Numが型だとも型クラスでないとも言ってないし、
Stream Fusionだろうと変換はいるけど?
お前さっきから何知ったかぶってるの?

614 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 11:48:26.85 ID:g4HdW9MF.net]
>>612
「はずです」って、それ結局自分で書くだけだろ?



615 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 11:49:20.78 ID:g4HdW9MF.net]
こういう机上だけで語るクソ野郎がいるからHaskellは嫌い

616 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 12:01:58.15 ID:Q4+Qj6om.net]
例えばInt型の3って名前の関数をNumタイプクラスの3って名前の仮想関数に変換する関数で
変換してそれをDoubleを使う関数にいれるパターンだよな。

617 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 12:09:13.20 ID:XD+YRvZx.net]
だから具体的なコード書けって。変な勘違いしてるかもしれないんだから

618 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 12:33:30.94 ID:A2XKXMkJ.net]
仮想関数は酷いってのは常識になりつつある
オーバーロードはいいがオーバーライドは酷い
だがオーバーロードとオーバーライドを勘違いする非常識なやつもまだいっぱいいる

619 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 12:52:13.95 ID:7Suyvrun.net]
オーバーロードこそゴミだろ
型が柔軟になればなるほど邪魔になる

620 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 13:14:10.74 ID:ig88NjIH.net]
>>601
ある型の値をInt型の値へ変換する際にあなたにとって酷いことが起きる、
あるいはあなたにとって酷いプログラムコードになる、という話ですよね。

>>609
Int型への変換の話の中で「Numを経由する」という言い方を聞いて、
あなたが Num を型だと勘違いしていると思いました。
大変失礼しました。

ある型の値をInt型の値へ変換する際は一度Num型クラスのインスタンス型の値へ変換し、
それを改めてInt型の値へ変換しないといけない、
あるいはそういう型が多い。
あなたはそう思っているのでしょうか。

もしそのような場合でも、私書き換え規則があれば経由しないようにできると私は言いました。
標準ライブラリの中で定義されている型で、
頻繁にInt型への変換が必要と思われる型に対しては、
書き換え規則がライブラリ内に書かれています。
自分で書く場合も一度書けば済むだけみます。
これが酷いのでしょうか。

改めて聞きますが、具体的にはどの型の値をInt型の値へ変換する際に、
Num型クラスのどの型の値を経由しなければならないのでしょうか。

621 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 13:37:46.62 ID:g4HdW9MF.net]
>>620
>改めて聞きますが、具体的にはどの型の値をInt型の値へ変換する際に、
>Num型クラスのどの型の値を経由しなければならないのでしょうか。
だから全部自分で書いた話だろそれ
VanillaじゃIntとIntegerすら必要だろ

そんな事言ったら何らかの形で暗黙の型変換許してる言語全部そうだわ
お前マジで頭の病院行ったほうがいいんじゃねえの?

622 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 13:55:56.62 ID:Q4+Qj6om.net]
どっちもどっちだな。
両方病院言ったほうがいいかも。

623 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 14:14:32.59 ID:A2XKXMkJ.net]
言語の問題を医学部に丸投げするなよ
今ここで必要なのは法学部か文学部のような能力だという現実を受け入れろよ

624 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 14:19:32.05 ID:ig88NjIH.net]
>>621
Integer型の値をInt型へ変換する際に、
Num型クラスのどのインスタンス型にまず変換する必要があるのか、
その型を教えて頂けないでしょうか。



625 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 14:52:17.51 ID:XD+YRvZx.net]
具体的なコードを示せないのは、具体的なコードを示すとボロが出るからw

626 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 14:56:44.72 ID:g4HdW9MF.net]
>>624
はあ?Int側にするならNum Integer経由だろ?
お前さっきから関係ない話ばっかりじゃねーか

627 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 15:01:10.70 ID:g4HdW9MF.net]
>>625
書くまでもない気がするが一応な
https://ideone.com/MjF75Z
https://ideone.com/es7fao

628 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 15:10:56.24 ID:XD+YRvZx.net]
ほわ?そのコードの何が問題なんだ?
上も下も非常に妥当な挙動に見えるんだけど、いったいどうなって欲しいんだ?

629 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 15:11:44.73 ID:g4HdW9MF.net]
ああ、意図がわかった
こいつIntegralをNumって言った事とっかかりに揚げ足取りしたいんだな
IntegralはReal通してNumのサブクラスですよクソ野郎

630 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 15:14:53.86 ID:g4HdW9MF.net]
>>628
このクソ冗長なコードが妥当?w
これを解決するための機能まで作っておいて?w

631 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 15:28:32.33 ID:ig88NjIH.net]
>>627
fromIntegral 関数は、Integer型の値をInt型の値へ変換する際に、
どのような他の型へも変換しません。
経由しません。

Inreger型の値をInt型の値へ変換するのにNum Integer を経由、
という言い方がおかしいと思うのですが。

632 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 15:41:26.97 ID:g4HdW9MF.net]
>>631
言葉遊びばかりだな
fromIntegralはfromIntegerを使う時点でNum経由
あといちいち俺が言っていないことさも言ったかのように決めつけて反論するの、やめてくれないかな?

633 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 15:41:29.25 ID:Q4+Qj6om.net]
でもIntをDoubleに変換するときは2回変換するんだろ。

634 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 15:54:31.81 ID:g4HdW9MF.net]
そもそもHaskellで数値計算なんて
チューンしたところでLL並の速度なのに何を躍起になってんだか…
このクソ野郎には適材適所という言葉を送りたい



635 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 15:59:41.73 ID:ig88NjIH.net]
>>632
fromIntegral = fromInteger . toInteger

Integer型の値からInt型の値への変換はどこも経由しません。

例えばWord型の値からInt型の値への変換は、
書き換え規則を働かせないようにわざわざすれば、
Integer型の値へ変換されてからInt型の値へ変換されます。

ですが、このような変換の書き換え規則を働かせないようにするメリットがありません。
初めから標準ライブラリに書かれていて、
プログラマは意識する事無くそれを使っているのだから。

ちなみに、私は>>627のコードが冗長だとは特に思わないです。
文字fromIntegralが長いと感じるのであれば、
fiにでも変えればいい話ですし。

636 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 16:07:10.71 ID:Q4+Qj6om.net]
だから冗長な文を書くんだろうな

637 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 16:16:34.49 ID:2BEAGAP4.net]
上のが通ったらそれ暗黙の型変換じゃね?
そのほうが怖いわ

638 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 16:20:54.19 ID:XD+YRvZx.net]
>>630
え、何? まさかそこで暗黙の型変換して欲しいの?

639 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 16:25:12.12 ID:g4HdW9MF.net]
>>635
だからそれfromInteger使ってんだろ
そしてIntとWordが例外なのに、さも他に定義されてるように言いやがるし
詭弁が多すぎ

640 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 16:30:27.19 ID:g4HdW9MF.net]
>>637
あらゆる型で変換が必要だからおかしいんだよ
比較的面倒くさいOCamlでさえ1キャストで済む

641 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 16:31:40.02 ID:ig88NjIH.net]
>>639
他にも色々な型の書き換え規則が定義されています。

ここで全て挙げるのはさすがに勘弁してほしいので、
興味がおありなら標準ライブラリを調べてみてください。

642 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 16:36:07.88 ID:g4HdW9MF.net]
>>641
いやお前が言い出したんだから、お前が挙げるんだよw
よくもまあこんな適当な事をw

643 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 16:37:20.96 ID:g4HdW9MF.net]
そしてこれが現実w
hackage.haskell.org/package/base-4.10.0.0/docs/src/GHC.Real.html#line-442

644 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 16:37:24.43 ID:XD+YRvZx.net]
そもそもIntとIntegerを混ぜて演算する時なんてそうあるか?
浅学非才な俺には設計が悪いとしか思えないんだけど。どういう時に必要なんだ……



645 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 16:42:22.60 ID:g4HdW9MF.net]
>>644
逆だぞ
そんな型揃えてまで速度欲しい具体的な演算を想定したら
Haskell自体を使わない

646 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 17:05:23.17 ID:XD+YRvZx.net]
>>645
いや、速度関係なく、取り敢えず型は揃えとかない?
関数作る時にわざわざ一つの引数はIntegerで一つはIntとかせんだろ?
俺は大体全部Intで作ってるから、Integerは即Intにしてるわ。みたいな

647 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 17:09:55.82 ID:ig88NjIH.net]
>>643
そのファイルだけではなく、他にもあります。
grepかけてみてください。

648 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 17:53:28.33 ID:ZDWEQPwS.net]
>>619
おっと、型クラスへの罵倒はそこまでだ!

649 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 20:04:54.06 ID:yMB3txhD.net]
そもそも人が
型とか、型クラスとか、
パブリック/プライベートとか
ポインタだとか
そういう言語側の都合を意識しちゃ
次世代言語として
ダメだと思うんだけどどう?

650 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 20:08:01.73 ID:XD+YRvZx.net]
HaskellやらOCamlやらの型は補助ツールであって言語の都合ではなかろ?

651 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 20:24:36.31 ID:yMB3txhD.net]
え〜、でも、そういうのも
言語側が裏で判断して処理してくれればいいじゃん
A.I.でもディープラーニングでもなんでも使ってさ
ハスケルでもエリクサーでも
古いコンピュータ言語の慣習にとらわれてて
全然、次世代って感じしないじゃん

652 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 20:26:22.11 ID:eEMHecr4.net]
型がない言語にろくなものはないな…

653 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 20:33:12.38 ID:ZDWEQPwS.net]
>>652
型がない言語って具体的に何?

654 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 20:37:05.38 ID:b6yHr9//.net]
車の自動ブレーキと一緒で
危険な操作をできなくする方向で言語は進化してきているから
別に古い習慣とかじゃなく、そういう方向へ進化していくものだから



655 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 20:40:16.61 ID:b6yHr9//.net]
危険な操作を禁止するといっても
やりたいことが出来なくなっては意味が無いので
その辺の制約の付け方が次世代で評価されるポイント

656 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 21:16:44.42 ID:A2XKXMkJ.net]
変な操作を禁止する方向と
変な現象を報告するだけの方向があるぞ

そして両者の存在を認める方向と、相手の存在を禁止する方向がある

657 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 03:41:51.45 ID:qWNtk5Ea.net]
むしろ自動ブレーキじゃなくてオートマチック車が
マニュアル車より速くなったとき次世代だと思うな。

658 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 10:32:28.92 ID:j6VCxv0o.net]
具体的には?

659 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 10:47:51.80 ID:qWNtk5Ea.net]
アセンブラが人間が書くよりCの最適化のほうが速くなったときとか。

660 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 10:48:52.56 ID:2jyO0MAw.net]
ほぼもうなってんじゃん

661 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 16:51:55.93 ID:sz6/Tcc0.net]
車もDCTの登場でオートマのほうが速くなったな。

662 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 19:13:02.33 ID:nrpIGIl5.net]
禁止するだけだともっと糞な方向に行くだけだろう。
規則で禁止しまくった SIer の現状を見ろ。
そうじゃなくてより安全な方向を提示するほうが正しい。

663 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 19:54:26.15 ID:2jyO0MAw.net]
そりゃそうよ。次世代と言われてるやつは大抵方向まで提示してるっしょ

664 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 20:21:34.37 ID:3qopZopL.net]
米Appleが「Swift 4.0」を公開、以前のコードを修正無しに利用できる互換性モードを新たに導入
2017年9月22日17:10 末岡洋子
https://mag.osdn.jp/17/09/22/171000

Swift 5の目標が確定、新たな発展プロセスを定義
https://www.infoq.com/jp/news/2017/09/swift-5-development-plan



665 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 21:09:08.49 ID:3CWlI3/Q.net]
>>653
多分PHPのことを言ってるんじゃないかな。
結局動的言語ってテンプレート文字列使ってプログラミングするのと変わんないんじゃないかと思う。

666 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 23:08:02.02 ID:z4fPY7jV.net]
PHPとPerlはもはや門前払いだわ

667 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 23:30:11.90 ID:2jyO0MAw.net]
パールは多重ディスパッチ搭載されてるところが割と好き。使ったことないけど

668 名前:デフォルトの名無しさん mailto:sage [2017/09/24(日) 00:17:35.00 ID:ZBUgGWmA.net]
>>647
まだ言ってるよw

669 名前:デフォルトの名無しさん mailto:sage [2017/09/24(日) 00:33:10.78 ID:sQZN3/qk.net]
やけんペェ〜ルとプェチピィ使ってる公害はさっさと処分しましょうね〜

670 名前: mailto:sage [2017/09/24(日) 01:03:00.91 ID:g+SOx1mh.net]
まー、MT車でもニュートラルにしてブレーキペダル踏んでないとセルを回せない、なんて仕組みになったりしてるしな。
安全性としては進化しつつ、機能・機構としては複雑になったり踏切からの緊急脱出の手段を一つ捨てるといった退化してる。

結局、言語も何が正解かは使う人間と用途次第だろ。

「ポインタを捨てたりNullableとそうでない型すらもわけるのが正しい言語」「型なんて飾りです、キャストすりゃいいんです、電文?unionで解釈しましょう」みたいな言語が相容れうる訳がない。

671 名前:デフォルトの名無しさん mailto:sage [2017/09/24(日) 09:15:54.71 ID:XPNHEl2X.net]
多重ディスパッチわりと好きなんだけど、搭載されてる言語少ないよなあ

672 名前:デフォルトの名無しさん mailto:sage [2017/09/24(日) 09:18:19.02 ID:L7/sMAP/.net]
しかし時系列でみれば新しい言語ほど何かをするための専用の構文が追加される
傾向があって、その専用の構文では「それ」しか出来ない制限があることで
危険なことが出来なくなったり、読みやすくなったりしているのだから
次世代言語とはそういうものだろう

673 名前:デフォルトの名無しさん mailto:sage [2017/09/24(日) 11:08:39.74 ID:fyfssP0K.net]
ちょっと議論が抽象的すぎんよぉ
具体的に行こうぜ具体的に

674 名前:デフォルトの名無しさん mailto:sage [2017/09/24(日) 11:10:15.91 ID:sQZN3/qk.net]
バイナリで語れよ



675 名前:デフォルトの名無しさん mailto:sage [2017/09/24(日) 15:15:34.52 ID:FsQtGtar.net]
>>672
それ自称シンプル言語()のGolangだろ
array、slice、map,chan。全てが専用構文
次世代言語は演算子もメソッド呼び出しだったりするから専用構文は少ないよ

676 名前:デフォルトの名無しさん mailto:sage [2017/09/24(日) 15:20:28.63 ID:0P71vbb3.net]
関数型言語の時代が来る事なんて一生ないよ

677 名前:デフォルトの名無しさん mailto:sage [2017/09/24(日) 16:49:57.99 ID:tjbSkdrA.net]
もうそこまで新しい言語上の概念もないしな。

678 名前:デフォルトの名無しさん mailto:sage [2017/09/24(日) 18:21:51.74 ID:y8Y2Gp0g.net]
COBOL「私を殺すと言ってた言語は、みんな死んだよ」
www.nurs.or.jp/~ogochan/essay/archives/5033

679 名前:デフォルトの名無しさん mailto:sage [2017/09/24(日) 18:23:00.77 ID:fyfssP0K.net]
LLVMって第一級関数ないんだよな……
HaskellとはバックエンドにLLVMあるんだけど、どうやって実装してるんだろ?

680 名前:デフォルトの名無しさん mailto:sage [2017/09/24(日) 18:51:05.70 ID:ueXBBIg3.net]
新しい概念がなくても、古すぎて記憶にない概念を蒸し返すだけで十分たのしそうだな

681 名前:デフォルトの名無しさん mailto:sage [2017/09/24(日) 18:53:11.57 ID:fU9iGs3X.net]
>>679
インタプリタで実装できるんだから、極端な話、インタプリタをそのまま埋め込んでしまえばいい。
それをいかに効率化するかは最適化次第だけど、基本的にはエミュレーションだよ。
CPU命令セットとの親和性の高い一部の低レベルな言語を除けば、
コンパイラというのは君が想像してるより非常に複雑でソースからかけ離れたコードを生成するもんなんだよ。

682 名前:デフォルトの名無しさん mailto:sage [2017/09/24(日) 19:10:03.30 ID:fyfssP0K.net]
>>681
いやまあ、せやね。Haskell が吐くアセンブラ複雑すぎてビビったことあるわ
しっかしやっぱりインタプリタ埋め込みかあ。Haskellもそうしてるんだろうか?

683 名前:デフォルトの名無しさん mailto:sage [2017/09/24(日) 23:54:19.09 ID:tjbSkdrA.net]
c/c++ のコンパイラしか知らんけどそんなに複雑なものが必要かね。
あんまりイメージできないな。

684 名前:デフォルトの名無しさん mailto:sage [2017/09/25(月) 00:13:26.46 ID:8jaeeQ+5.net]
C++だってラムダはそれなりに複雑と思うな〜



685 名前:デフォルトの名無しさん mailto:sage [2017/09/25(月) 00:29:03.12 ID:10sBRTwD.net]
ブラウザがDOM操作とかgetとかpostとかするのもインタプリタのように見える
JSをいくら最適化しても複雑なデータ構造はそのままだから

686 名前:デフォルトの名無しさん mailto:sage [2017/09/25(月) 00:30:46.06 ID:Kozaluvh.net]
>>664
まだ仕変とかABIとか言ってるのかよこの言語。
いい加減枯れろよ

687 名前:デフォルトの名無しさん mailto:sage [2017/09/25(月) 01:47:53.39 ID:/lG4wgeA.net]
ポストC++としてはD言語が最適だわ
やっぱnullは便利

688 名前:デフォルトの名無しさん mailto:sage [2017/09/25(月) 10:51:28.03 ID:8jaeeQ+5.net]
Dは指針に欠けていて、書けるコードの種類が多すぎる。
最近はクラスは使わないとか言われた時はビックリしたわ。割と好きだけどさ

テンプレートとオーバーロードの充実っぷりはC++の比じゃないし、プロパティあるし、UFCSある所とか好きだけど、演算子の定義を構造体中に書かないといけない所だけは解せない

689 名前:デフォルトの名無しさん mailto:sage [2017/09/25(月) 12:10:20.51 ID:Vj0qyvjj.net]
>>679
llvmのレベルでクロージャー定義されたらつぶし効かなくなるだろ
llvmにそれを期待するのが間違ってる

690 名前:デフォルトの名無しさん mailto:sage [2017/09/25(月) 12:40:19.83 ID:8jdzqYUG.net]
>>689
期待はしてないぞ。ヒープに関数を展開する機能がないのに、どうやってヒープに関数を展開してるんだろう?って疑問を覚えているだけだぞ

691 名前:デフォルトの名無しさん mailto:sage [2017/09/25(月) 12:54:44.69 ID:Vj0qyvjj.net]
>>690
llvmを持ち出す意味がわからん
cで実装されてる関数型言語はどうやってクロージャー実現してんだろ?とか
jitってどうやったら実現できんだろ?
という疑問の持ち方ならわかる

692 名前:デフォルトの名無しさん mailto:sage [2017/09/25(月) 13:05:30.42 ID:8jdzqYUG.net]
>>691
「Cで実装されてる関数型言語はどうやってクロージャを実装してるんだろう」でもほとんど同じ意味だけど、別にLLVMでもいいじゃん。俺がLLVMの方を意識してるからLLVMって書いてるだけだが

Jitの方はよくわからん。関数型言語一般でJit使ってるの?

693 名前:デフォルトの名無しさん mailto:sage [2017/09/25(月) 13:25:06.64 ID:X0v0rcqt.net]
すごい素朴には
class {
unsigned int eax;
...
void add();
...
}
みたいなアセンブラ実行クラス作ればできんじゃないの?

694 名前:デフォルトの名無しさん mailto:sage [2017/09/25(月) 15:00:43.13 ID:AJsPQEJa.net]
そもそも関数を動的に生成する必要はない
クロージャは環境を引数に取る関数として実装するのが普通だ



695 名前:デフォルトの名無しさん mailto:sage [2017/09/25(月) 15:37:00.33 ID:C5otDHV+.net]
動的に関数を作るのはコンビネーターで結合させるんだろ。

696 名前:デフォルトの名無しさん mailto:sage [2017/09/25(月) 15:40:30.80 ID:AszBb3kH.net]
その前にまず再帰関数で100の階乗を計算すればいい
関数を100個作るやり方とは違うやり方がわかる

697 名前:デフォルトの名無しさん mailto:sage [2017/09/25(月) 20:30:11.80 ID:Vj0qyvjj.net]
>>692
単なる疑問ということはわかった
物理cpuとそのabiを扱うことを前提にしてるllvmと
λ計算を理論的基礎にしてる関数型言語とでは
メモリモデルが全く違うんだからいきなりマッピングを考えるのは
無理があるとだけ

698 名前:デフォルトの名無しさん mailto:sage [2017/09/26(火) 00:58:41.50 ID:PCoWV6xx.net]
ハスカルデスクトップソフト作れるようになった?

699 名前:デフォルトの名無しさん mailto:sage [2017/09/26(火) 13:49:21.20 ID:3DlL6rrx.net]
だからそれは
データは制御フローに影響を与えるし
制御フローはデータに影響を与える
このように双方が影響しあってプログラムが展開していく
(まるで電磁波のようだ)
この複雑性はソフトウェアが有用であり続けるためには仕方が無い

なので
・制御フローがデータに何か書き込むタイミング
・制御フローがデータを読み取って分岐するタイミング
の二つをトラップして言語やシステムで何かサポートしてやろう
というのが基本的な考え方なんだよ

700 名前:デフォルトの名無しさん mailto:sage [2017/09/26(火) 14:35:36.67 ID:dFfa0kvi.net]
制御フロー?は座標系や文字のエンコーディングに影響を与えるやつですか?
エンコーディングに依存しないデータが欲しいです

701 名前:デフォルトの名無しさん mailto:sage [2017/09/26(火) 16:08:19.45 ID:hWBvxAV0.net]
つまり、いつ実行するか?今でしょ。
ということだな。

702 名前:デフォルトの名無しさん mailto:sage [2017/09/26(火) 21:28:19.34 ID:ghZl2iPU.net]
マイクロソフト、量子コンピュータ向けプログラミング言語を発表 https://ndjust.in/t7GAzsXB

俺の予測したとおり次世代言語は機械学習に最適化された言語ってことだな

703 名前:デフォルトの名無しさん [2017/09/27(水) 05:16:13.47 ID:phMqkxHz.net]
どうせ博士クラスの研究者しか扱えない代物なんでしょ?

704 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 08:06:15.29 ID:RgM5LnyS.net]
この中に1人だけ、量子コンピューティングと機械学習を混同してドヤってるバカがいます。



705 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 08:58:09.74 ID:iTQClNYA.net]
>>704
相手にしてるお前なんなん?
恥ずかしいからやめて。

量子コンピュータの用途が何%機械学習を経由するであろうか、お前は全て見通しているとでもいうのか?
お前のその自己矛盾に気づかない頭の悪さよりよっぽどマシな発言だと思うが。

706 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 09:00:05.94 ID:iTQClNYA.net]
そして俺はそんなアホを相手にするアホ以上の何者でもないことは断っておこう。

707 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 09:43:14.65 ID:VJzN3SRS.net]
少なくとも今現役の量子コンピュータは機械学習専用ってくらい
それくらいしか使いみちがないと思うんだが。
他の用途で使えるの?

708 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 09:48:07.08 ID:iTQClNYA.net]
>>707
単独の最適化問題って機械学習関係あるの?

709 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 09:49:46.52 ID:S3cenggq.net]
別に今使ってるパソコンが量子コンピューターに置き代わっても
処理速度が向上してうれしいだろ。

710 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 10:00:45.88 ID:ihq9cuYE.net]
バイナリ変数の二次多項式の最小化しか解けないのだが。

711 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 10:36:08.63 ID:S3cenggq.net]
日本人は量子コンピューターのなかで機械学習をやってるように物事をみるが
西洋人は機械学習を量子コンピューターでやっているようにしか見えないらしい

712 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 13:42:52.32 ID:t1YPNFYO.net]
機械学習やりたいからやってるだけの人の気持ちがわからない
わからないなら真似しなければいいのに
量子力学上の理由で機械学習をやってるという設定で人の真似をするモンスターがいる

713 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 17:06:07.52 ID:BP44oxnY.net]
結局は大きい部屋を占領する量子コンピューター(冷却の都合で小型化困難)で
端末から2進数コンピューターのエミュレーションさせてそうw

714 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 18:07:06.65 ID:7dA/9JOQ.net]
これだけ過去の資産であふれかえってたら
そう簡単に移行できないね



715 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 21:35:28.14 ID:Z//p6YWO.net]
お前らずっと型型うるさいな。だまってSmalltalkかjsかRuby使ってろよ。
そんなんじゃrustで発狂するぞ。

>>649
>パブリック/プライベートとか
カプセル化が幻想だっていい加減気付いてほしい。
有用なのも抽象データ型だけだし。

716 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 21:39:54.28 ID:t1YPNFYO.net]
>>714
行きたいところがあれば大抵一人で行けるからみんなで移行はしないのであって
みんなで行けないから一人で行くのではない

717 名前:デフォルトの名無しさん [2017/09/27(水) 23:40:28.56 ID:ECh+B8hR.net]
>>715
> 有用なのも抽象データ型だけだし。

個人的にはデータと操作を一緒にして 型 としなくてもいいかもって思うことある。

でも複数のデータをまとめる機能とオーバーロード・ジェネリクス可能な関数、それと名前空間は欲しい。

718 名前:デフォルトの名無しさん mailto:sage [2017/09/27(水) 23:54:51.33 ID:t1YPNFYO.net]
最初の引数名をthisかselfするとデータと操作が一緒
それ以外の名前にするとデータと操作が一緒じゃない
これは幻想

719 名前:デフォルトの名無しさん mailto:sage [2017/09/28(木) 04:02:34.66 ID:y9L3Umrp.net]
オブジェクト指向はスケールしないパターンマッチングとしか言いようがないな。
抽象データタイプの値コンストラクタの引数は評価されなくてもサンクの為の
メモリーを消費するかな。

720 名前:デフォルトの名無しさん mailto:sage [2017/09/28(木) 04:11:56.16 ID:y9L3Umrp.net]
結局、言語なんて何使っても一緒というのが結論だな。Cを除いて

721 名前:デフォルトの名無しさん mailto:sage [2017/09/28(木) 06:49:19.68 ID:BQWTKxzA.net]
じゃあCOBOLで

722 名前:デフォルトの名無しさん mailto:sage [2017/09/28(木) 12:13:20.80 ID:9BGh9eWC.net]
>>720
結論なんてないさ
結論がないということはどれでも一緒なんだろうという推理は微妙に間違っている

723 名前:デフォルトの名無しさん mailto:sage [2017/09/28(木) 14:09:34.89 ID:Wk7uxpKF.net]
>>719
それは君の理解が浅いからだな。ばーか

724 名前:デフォルトの名無しさん mailto:sage [2017/09/28(木) 15:55:46.02 ID:y9L3Umrp.net]
要するに構文が単純になるとコンテキスト依存になってパースが
線型時間スペースで不可能になりコードを生成に向かないジレンマなんだよな。



725 名前:デフォルトの名無しさん mailto:sage [2017/09/28(木) 21:56:38.55 ID:QyC1nyMw.net]
理解が浅い、じゃなくて変な理解をしているか使う言葉にオレオレ文脈を入れてるかだろう
1レス内に意味の通じない言葉や理屈が複数あると突っ込むことも面倒臭いから、よっぽど親切な人に出会わないと自覚できない

726 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 00:23:21.75 ID:QjWIl+U1.net]
幽霊には主体性がない
人を怖がらせるのも自由意志ではなく信賞必罰か何かのルールに従っているだけ
逆にルールを破るのも他人が言ったことを鵜呑みにする形で破る

727 名前:デフォルトの名無しさん [2017/09/29(金) 01:30:00.14 ID:ppl3WHHK.net]
%%%3%%%
000-DOK<NAZE-0.8112162>
001-3800%\73NMB/1,81,2,NB"IKKI"%
002-91.81%ML7"8.122231746668193,43@ML.4@"%^23.1444
003-1.33321444718%"YLD""SO"%{71.%{62.1339816{331.422231765%<<<NL6
004-LOOP%Go To"000"%

VCL

728 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 01:36:36.52 ID:kiQUSPyl.net]
まあ統一言語を欲するのは銀の弾丸を信じるのと同じくらい愚かだってことだよ。

729 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 03:47:22.75 ID:UluMyDjB.net]
一言語で何でもやろうとすると
C++みたいに複雑になり過ぎる

730 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 04:58:15.94 ID:UyK8hEcX.net]
自然科学の雄たる物理学のこれまでの試みを全否定でワロた。
そういう所謂愚かな天才たちのお陰で今がある訳だが。

731 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 08:27:55.49 ID:RLeXl8wr.net]
銀の弾丸を求める方がまだマシだね

732 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 08:29:27.12 ID:SkRkhnTn.net]
物理学はバカにはできないのと同様、いい言語はバカにはできないのでこの世にはPHPが存在するのです……

733 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 09:30:18.50 ID:KptQPoVN.net]
このスレってタイトルの割には中身カスだね
巡回やめ

734 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 11:04:49.63 ID:Ge6Tlx2B.net]
>>730
ニュートン力学で十分なところを相対性理論だの量子力学だので解こうとするのは
高度なアプリケーションをマシン語で書くようなものでは
原理的には単一の言語で書けるというのと
実際にそれで書くというのは違う



735 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 12:23:50.97 ID:/3JVpH8G.net]
なるほど、言葉という点からするとそりゃそうか。分かりやすい喩えだね。

736 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 18:13:13.46 ID:Nb5uhyxU.net]
プログラミング言語を手軽にプログラミングできる言語を開発すれば
あらゆる問題に対処できる言語になるんじゃないかな

737 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 18:20:21.61 ID:LiYG09Uz.net]
プログラム言語のシンタックスはスケールしないからな。
要するに一次元のストリングスをパースする実行性の限界なんだよな。

738 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 19:22:42.97 ID:kiQUSPyl.net]
「言語」がカバーしようとする範囲はある意味では「物理学」の範囲を超えてるしな。
文学だろうと心理学だろうと社会学だろうと記述しようとしているようなもんだよ。

739 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 19:53:59.09 ID:K1n6MHEs.net]
そんなことより世の中 車輪の再発明と移植がおおすぎるから
どんな言語で書かれたライブラリもどんな言語からでも呼び出せる
ライブラリの標準フォーマットと仕組みを作ってほしい
そしたら言語のシェアなどもう気にする必要ない

740 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 20:02:43.96 ID:JlXHMRox.net]
>>739
たしかに統一ライブラリは必要だよね
Java のライブラリをC#で共用するのはうけるだろうか?

741 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 20:29:00.72 ID:Nb5uhyxU.net]
でも統一ライブラリとなるとオブジェクト指向とかが必須になるような
マクロとか許可すると意味不明なことになるから

でもそうなると言語自体の進化がしづらくなるかも?

742 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 20:44:30.11 ID:v+2E5EyQ.net]
>>737
映画メッセージの話みたいだな。
人間の認識能力を進化させて言語を+次元化するしかないな。

ところでUE4のブループリントって正直使いづらいんだけど
あれってメリットあんのかね。ビジュアルスクリプティングっていまいち
シンドいんだよなぁ。

743 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 21:04:07.14 ID:6ZguHByP.net]
.NETみたいな

744 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 21:37:17.79 ID:L7twK2Cs.net]
>>740
普通にWebAPI経由でいいやん



745 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 22:27:07.00 ID:YRRMW80I.net]
いや統一ライブラリに一番近いのはCでしょ

746 名前:デフォルトの名無しさん mailto:sage [2017/09/29(金) 23:25:07.49 ID:nd/SbQEJ.net]
メジャーな言語だと大体FFIあるしな

747 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 00:51:21.85 ID:Juh3JZfh.net]
>>739
MicroServiceも知らないのかい?

748 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 01:03:28.54 ID:J50qyRrt.net]
言語は統一できない
コンパイル済みのライブラリに言語の痕跡が残っているからライブラリも統一できない

749 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 01:07:04.15 ID:lpKILp3q.net]
gRPCおすすめ
言語違っても呼び出せる

750 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 02:52:34.28 ID:Lz4Zzbqz.net]
>>748
プログラム言語の機械翻訳?

751 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 08:20:51.39 ID:iIQSfMFY.net]
>>736
アラン・ケイがそんな研究してた
助成金が尽きてやめちゃったけど
言語自体にPEGベースの解析器生成器を組み込んで
既存の言語も含め、ドメインに適した言語を適宜構築・実行できるようにして
2万行でWindowsみたいなGUI OSを書けるようにするってやつ

STEPS プロジェクトご紹介
d.hatena.ne.jp/propella/touch/20091219/p1

STEPS プロジェクトご紹介その2
d.hatena.ne.jp/propella/touch/20111022/p1

752 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 09:30:03.37 ID:Vg7VBsmM.net]
>>751
PEGいいよね。PEG.js使ってるけど簡単に言語が作れそうな予感
独自HTMLモドキパーサー書いてつかってるわ。

753 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 09:58:40.63 ID:F2cNQzRT.net]
PEGベースってメモリー酷く消費するから使いたくないな。

754 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 10:47:06.01 ID:mj2lGBa5.net]
そう言うだろうと思って、統一はしないで各自で好きなものを自由に使えるようにした
ここまで予想できてたやつは頭良いな



755 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 10:51:55.84 ID:Sn83lOLK.net]
Racket もそんな感じを目指してなかったか。

756 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 12:51:28.75 ID:Sn83lOLK.net]
>>690
clang.llvm.org/docs/BlockLanguageSpec.html
C言語にすらクロージャが導入されてるし。

757 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 22:40:20.15 ID:VjEq+HDI.net]
糞ペチプーの標準ライブラリをHaskellで呼び出すプロジェクトとかあったら発狂しそう

758 名前: mailto:sage [2017/10/01(日) 00:21:40.89 ID:14LFf82H.net]
phpを単に糞と言うにはphpを知らなすぎるんじゃないかなぁ、と思うが。
あれはただの歯ブラシだけど、最高の歯ブラシだよ。歯を磨くことに関しては。

759 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 00:40:48.00 ID:5jXWEgsq.net]
>>758
そういう比喩は結局なにに向いてるって言ってるのかわからんよね。
フレームワークを駆使するような規模のコードには合わないって言ってるのかな?

760 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 00:42:01.71 ID:BdI8d/N5.net]
しったかブーメランガイジに絡むな��

761 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 01:17:26.87 ID:unGk0Arz.net]
>>758
君はPHPのコンセプトは知ってるようだが、現実を知らんのだね
PHPは便器に突っ込まれた糞ブラシだよ
汚物まみれで害を撒き散らす

PHPのプロジェクトは例外なく糞まみれだった
糞みたいなプロジェクトに糞みたいな運用に糞みたいな技術者
今さらPHPを選ぶ奴は糞、センスないと言ってもいい

762 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 03:04:52.91 ID:0gcknzCm.net]
いまだにそんな事言ってる奴のがよっぽどセンスない
速度上がってから案件増えてるよ

763 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 03:40:25.93 ID:Zsb0mqkq.net]
PHPは案件が増えるほど、技術者の質が下がっていく、、、

764 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 05:23:27.13 ID:yhU1ELrC.net]
「PHPプロジェクトは糞ばかり」への返答が「PHPプロジェクトは増えている」ってなんだよ。大した日本語だな



765 名前:デフォルトの名無しさん [2017/10/01(日) 05:38:37.40 ID:ogXt//ms.net]
サーバーの話?
PHPってjavaやC使うほどでもなく
ライトな技術で実装できるからPHPにしてるんでしょ?

766 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 09:47:56.64 ID:unGk0Arz.net]
>>762
やっぱペチパーって能なし脳なしセンスなし技術なしのガイジですわ

まぁ俺の関係のない最底辺の土方イット産業で
せいぜい糞ブラシで糞こねくりまわしとけや

767 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 09:52:15.80 ID:0gcknzCm.net]
>>764
>>766
いかにもロクに仕事もできない奴が言いそうな事だな
道具は時と場合で選ぶもんだぞ口だけの無能共

768 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 09:52:38.54 ID:unGk0Arz.net]
>>765
ペチパーに技術選定なんてできるわけないだろ
ペチパーはPHPしか知らないからPHPを選ぶんだよ
そして単価50万レベルの障害者を寄せ集めて
ヘビーな糞の山をこさえる
開発が糞まみれなら保守も運用も糞まみれ

そして障害者ペチパーは糞みたいな経歴書を元に
糞みたいな案件に流されていくこと糞のごとし
糞の輪廻転生

769 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 09:55:13.81 ID:unGk0Arz.net]
>>767
でたよ、ペチパー最後の砦だな
「道具は時と場合で選ぶ」
これ言ってりゃPHPでも正当化できると信じてる

糞ブラシを選ぶ時も場合もねえって言ってるんだよ、ガイジw

770 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 09:59:27.21 ID:unGk0Arz.net]
道具を時と場合で選んだ結果がPHPって
どう思いますか?(微笑)

771 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 10:02:06.28 ID:0gcknzCm.net]
でそのクソサイト相手に無駄に力を注いでコスト増やしてるバカがお前だ

772 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 10:05:51.06 ID:0gcknzCm.net]
>>770
じゃお前のおすすめの構成教えてよ
もちろんPHP並の安値で利益率も高い奴で

773 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 10:07:57.31 ID:unGk0Arz.net]
>>772
PHPしか書けない人に何いってもなぁ

ねえ、前世でどんな悪いことしたんだ?
糞ブラシで便器掃除の仕事しないと生きていけないって
かわいそう

774 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 10:14:13.92 ID:0gcknzCm.net]
>>773
はい逃げた



775 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 10:21:57.72 ID:Muro9JmU.net]
スレタイ嫁
phpは確かに糞だが次世代言語に関係ねえだろ

776 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 10:24:41.77 ID:0gcknzCm.net]
こんだけボロクソ言っといて話題そらして済まそうとか草
はよ出せや

777 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 10:32:26.85 ID:Rnpa+1Du.net]
ガイジガイジ騒いでるだけのエアプ野郎いい加減うぜえ
コテハンの数十倍うぜえ

778 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 10:36:48.53 ID:IyPJ0XJg.net]
いい加減うるせーよ
PHP禁止

779 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 10:51:22.35 ID:0gcknzCm.net]
何自演で逃げようとしてんだよ
はよ出せ

780 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 10:55:33.43 ID:IyPJ0XJg.net]
すぐ自演認定とか糖質かよ
ガガイのガイw

781 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 10:57:02.64 ID:Muro9JmU.net]
スレタイ嫁

782 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 10:57:59.75 ID:0gcknzCm.net]
即レスで連投してたのに
都合悪くなったら途端にレスを止めて単発IDで斜め上の話題そらし
次は匿名を理由にレッテル貼りかな?
小学生かよ

783 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 10:59:04.91 ID:0gcknzCm.net]
>>781
俺が出してんのは次世代言語の話題だぞ?
はよ出せやクズ

784 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 10:59:58.81 ID:Muro9JmU.net]
>>783
>>775



785 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 11:03:11.77 ID:0gcknzCm.net]
>>784
PHPでなく代替えの話なんだけど?
まさに次世代言語に相応しい話題だろ

786 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 11:07:07.55 ID:IyPJ0XJg.net]
自称次世代言語議論スレ[PHP PHP PHP] [無断転載禁止]©2ch.net
mevius.2ch.net/test/read.cgi/tech/1506823587/

787 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 11:08:51.66 ID:0gcknzCm.net]
話題そらす事しかできない哀れなガイジ連呼君

788 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 11:11:18.64 ID:AELHct99.net]
>>786
糞ワロピオ

789 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 11:14:34.80 ID:0gcknzCm.net]
>>786
まともに日本語も読めなかったのかな?

790 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 11:16:28.81 ID:AELHct99.net]
>>789
スレ移動しましょうよ、スレタイ嫁

791 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 11:17:23.66 ID:0gcknzCm.net]
散々偉そうな事言って結局議論の放棄で終わったな

792 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 11:18:07.67 ID:0gcknzCm.net]
>>790
いや次世代言語の代替えだせって真面目に言ってんだけど?

793 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 11:18:43.22 ID:AELHct99.net]
>>792
続きはこちら

自称次世代言語議論スレ[PHP PHP PHP] [無断転載禁止]©2ch.net
mevius.2ch.net/test/read.cgi/tech/1506823587/

盛り上げていきましょう!w PHP!w

794 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 11:22:28.86 ID:AELHct99.net]
基地害大腸菌(糞)は無事隔離できたようやね

>>786
スレ立てGJやで



795 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 11:23:07.63 ID:kJ8csjIE.net]
次世代言語()で悦に入ってる奴より
ペチパーでもSlack作るような奴ののほうが
数百万倍価値がある

796 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 11:26:29.40 ID:AELHct99.net]
>>795
そのSlackのようなものを作った某ワークスは
PHPが糞だったからとんでもない損切りをせざるをえなかったのですがそれは

しかもSlackはPHPじゃないからね嘘までついちゃって必死だな糞ペチパーは

797 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 11:26:29.96 ID:0gcknzCm.net]
>>794
いやお前が逃げただけだろ?

798 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 11:30:08.56 ID:yhU1ELrC.net]
荒れてて草

799 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 11:32:03.68 ID:WA8PJzoP.net]
>>795
てきとうなものつくるだけじゃ価値はないな。
保守し続けながら、アップデートしていくのが現代のソフトウェアの課題だから。

800 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 11:42:13.84 ID:AELHct99.net]
自称次世代言語議論スレ[PHP PHP PHP] [無断転載禁止]©2ch.net
mevius.2ch.net/test/read.cgi/tech/1506823587/

PHPのホットな話題はこちらへ

801 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 11:44:34.97 ID:kJ8csjIE.net]
>>796
はは、それ某ワークスの技術力が低いからだろw
その違いもわからんとかクサっ

802 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 11:51:30.21 ID:AELHct99.net]
>>801
自称次世代言語議論スレ[PHP PHP PHP] [無断転載禁止]©2ch.net
mevius.2ch.net/test/read.cgi/tech/1506823587/

PHPのホットな話題はこちらへ クサっ

803 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 13:27:30.62 ID:t00k+6e7.net]
>>792
代替

804 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 15:37:04.38 ID:7ywnpNtw.net]
>>773
G unk0



805 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 16:45:23.64 ID:Kxlb0HsF.net]
次世代PHPスレは流石に笑う

806 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 17:28:58.04 ID:TUvpXpRh.net]
旧世代代表やろPHPて
頭おかしいんちゃうか

807 名前: mailto:sage [2017/10/01(日) 18:07:49.52 ID:14LFf82H.net]
>>759
フレームワークが、Railsのパクリみたいな無理矢理他の思想を持ってきたようなものなら、合わないと思う。

>>761
汚物を汚物と認識して、一定の範囲で閉じ込めて使う分には全く問題ないよ。
歯ブラシで台所を磨こうとするからおかしくなる。
便利だし形が似てるから使うもんでもない。
プロジェクトが糞まみれだったなら、そりゃプロジェクトが悪いわ。おそらく、どこもかしこもphpで書いてあるようなプロジェクトだろうけど。
DBへのバッチをphpで書いてるプロジェクトはゴミだと思うが、DB周りはそれなりの言語で、画面だけphpとjQuery、なんて諦めがあって良いと思うよ。

808 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 18:18:14.66 ID:YXjJncWi.net]
また意味不明なことを
DB周りがそれなりに強いと自分で言ってるのに何故DBバッチをPHPで書いてはいけないのか?
PHPの問題はペチパーのコーダーとしての品質の低さ。言語自体の問題ではない。
閉じ込めて使うべきというのは同意するが、それはペチパーの得意分野がフロントだから。
それ以外までペチパーに手を出させるとシステムの品質は著しく低下する。バッチをPHPで書いてはいけないのはそういうこと。

809 名前:808 mailto:sage [2017/10/01(日) 18:29:30.88 ID:YXjJncWi.net]
ああすまん、読み違えてたわ
それなりの言語→PHPではなく他の言語
と置き換えれば矛盾はないな
でも単純に言語を置き換えても決して品質が向上することはない。
全てPHPで書かれてるプロジェクトの品質が低いのはコーダーの品質が低いから。あくまで人の能力の問題。

810 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 18:42:01.00 ID:yhU1ELrC.net]
そいつの文を読もうとするから……

811 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 18:54:18.97 ID:TUvpXpRh.net]
それもう無理矢理PHP使う必要ないよね、っていう
複数言語使って学習コスト上げるだけだよね、っていう

812 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 19:45:13.63 ID:5jXWEgsq.net]
phpの問題点はどんな言語仕様も取り込んでいることだと思う。
正直ダックタイピングの動的言語にインターフェースがある理由がよくわからん。
いや。まぁいいんだけど。
なんというかできないことが明確って結構重要だよね。
なんでもできる分、人によって全然やり方が変わる。
c++みたいな嫌な感じがする。

とGoをよく触るようになって思いました。

813 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 19:59:18.22 ID:tmbSNjLz.net]
>>812
typescript「…」

814 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 20:26:31.04 ID:YXjJncWi.net]
型はむしろやり方を統一するのに役立つだろ
ソースに型書かないなら結局ドキュメントに書くんだから



815 名前: mailto:sage [2017/10/01(日) 20:27:13.36 ID:14LFf82H.net]
>>808
バッチとするには遅すぎるし、例外の扱いは適当だし、向いてない。
何より、仕様として180秒以上動いてれば殺すとかそういう設定項目がある時点で、あれはSSI用の言語。

向いてる向いてないを、コーダのせいにしてはいかん。
歯科衛生士を台所を歯ブラシで磨く名人にする必要は無い。

>>811
学習させなくてももう使える奴がいくらでも居るからな、phpは。
perl全盛の頃に、C組とperl組に別れてたようなもん。

>>812
よくわかる。

816 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 21:09:45.37 ID:Uy9r/fJ2.net]
PHPって型チェックができねえんだな
オブジェクト指向の半分くらい良さが無くなってるわ

817 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 22:28:16.16 ID:TUvpXpRh.net]
>>814
ペチパーはドキュメントも書かないがなw

818 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 23:49:31.21 ID:RKpZ0NGu.net]
言語仕様とは別に規約とかベストプラクティスがあるって何かおかしくない?

819 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 02:04:01.28 ID:sbwrnD0w.net]
それでうまくいってんならいいんじゃね?
#pragma once
みたいに実装がどうなってんのか怪しいものより
インクルードガードのが俺は好きだけどね

820 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 02:24:33.63 ID:oa9amvOn.net]
わたしもインクルガーのほうがすき

821 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 07:05:30.26 ID:1XMfMWOU.net]
Dのimportのが好きだわ

822 名前:デフォルトの名無しさん [2017/10/02(月) 15:33:54.77 ID:hE+5Iy+f.net]
(´・ω・`)あのー
いまいろいろみてたら
関数型リアクティブプログラミング言語Elm
こういうのあったの
2012年に生まれた言語みたい
これも次世代言語なの?
リアクティブプログラミングってすごいの?
Haskellの仲間なの?

823 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 17:21:07.36 ID:48oqYDIq.net]
>>822
ここは議論するスレなので、自分で調べて「自分の意見」が言えるようになってから、出直した方がいいと思います。

824 名前:デフォルトの名無しさん [2017/10/02(月) 17:58:49.31 ID:hE+5Iy+f.net]
(´・ω・`)はい



825 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 22:27:08.28 ID:s3lqZu5f.net]
なんか懐かしいな、そういやElmってあったな

826 名前:デフォルトの名無しさん mailto:sage [2017/10/03(火) 11:33:59.51 ID:1PTxbey1.net]
>【衝撃】2chの移譲先「5ch」の代理人がしばき隊であることが判明 なにが始まるんです…
https://twitter.com/htmk73/status/914989085269168128


■専ブラ(2ちゃんねるブラウザ)からお〜ぷん2ちゃんねるを見るには?
【おーぷん2ちゃんねる】は全ての2ちゃんねるブラウザに標準対応してます。 ◆お〜ぷん2ちゃんねるボード一覧URL のボードを検索してください

●お勧めの広告なし2chブラウザ ついんてーる twintail の環境設定でお〜ぷん2ちゃんねるボードを入れるだけで使えます。
www.geocities.co.jp/SiliconValley/5459/

827 名前:デフォルトの名無しさん mailto:sage [2017/10/03(火) 15:51:12.88 ID:aErAbfBu.net]
真面目な話Rust触ってると、クソのPHPですらマシに見えてくるから困る

言語を名乗ること自体が冒涜の極みの存在Rust

828 名前:デフォルトの名無しさん mailto:sage [2017/10/03(火) 18:11:45.30 ID:upqeSfz9.net]
例のコンパイルすら出来ない君か。

829 名前:デフォルトの名無しさん mailto:sage [2017/10/03(火) 18:45:21.65 ID:9EEmWhET.net]
>>822
react系というかreduxはそいつの影響
受けてるらしいよね。ということで潜在的な需要は高そう。

830 名前:デフォルトの名無しさん mailto:sage [2017/10/03(火) 18:46:54.01 ID:9EEmWhET.net]
typescriptでも十分助けになるけどね。optionalは偉大だわ。今日も潜在的なバグを知らず知らずに回避してることがわかって感動した。

831 名前:デフォルトの名無しさん mailto:sage [2017/10/03(火) 19:20:44.46 ID:JmJFDhWq.net]
Rustコンパイルできないって普段どんなコード書いてんだろ

832 名前:デフォルトの名無しさん mailto:sage [2017/10/03(火) 19:25:56.04 ID:KmXggyRJ.net]
イケてないのに人気がある golang vs イケてるのに人気がない Nim
wolfbash.hateblo.jp/entry/2017/10/02/163017

833 名前:デフォルトの名無しさん mailto:sage [2017/10/03(火) 19:31:53.29 ID:upqeSfz9.net]
Nim はまだ発展途上過ぎる。
ブロックコメントが入ったのも最近だろう。

834 名前:デフォルトの名無しさん mailto:sage [2017/10/03(火) 23:32:56.72 ID:VvnGZhVU.net]
Rustはスマポを使うべきところで参照を使うとコンパイルできないね
スマポは1種類ではなくて左辺値みたいなスマポと右辺値みたいなスマポがある



835 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 00:03:11.19 ID:5eMqfOkE.net]
スマートポン?

836 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 06:05:52.94 ID:I8P8RQcn.net]
>>832
否定はできないけどエコシステムを含めて評価して欲しいところ。
nim < Go が世間の評価なんだから自分の感覚がずれているということをわかってもらいたいな。

多分goが色々仕様が足りないようにみえるのは言語の再考だからだと思う
例えばclassって本当にいるのか?って考えてるのはすごいこと。
普通は皆つけちゃうよね。そこでclassを採用しなかった。

ジェネリクスも多分いちばんいい形で実装されると思う。

837 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 07:02:44.52 ID:VzltHPaW.net]
どう見てもガイジなんだからまともに相手する必要ねえだろ
しかも新人かと思えばいい歳したオッサンとか、もう色々と終わっとる

838 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 08:01:52.09 ID:6fGy+UI9.net]
Nim<GOが世間の評価ってことはないだろ。そもそも世間はNimなんて知らないんじゃないか?

839 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 08:09:59.02 ID:pULpEgLQ.net]
世間の評価って本当にいるのか?って考えてるのはすごいこと。
多分いちばんいい形で評価されると思う。

840 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 12:00:16.50 ID:DiJewy83.net]
Nimこれまで避けてたけど、これ結構よくね?

841 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 14:31:49.82 ID:B2XamLw4.net]
書き易く読み易い
動作もそこそこ速い
でも流行らないNim

842 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 17:38:53.01 ID:LT+9qEc0.net]
"Hello,world!"::print
とか書ける言語出ないかな

843 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 17:44:46.88 ID:eKN2AIaa.net]
>>842
C#やKotlinやRubyでStringにメソッド生やせば普通にできる

844 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 18:15:56.42 ID:l7XMNd9h.net]
Nim なら "Hello,world!".echo と書ける



845 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 19:03:11.59 ID:LT+9qEc0.net]
rubyだとprint!ならできたけどprintはダメだった
a 500 :: varset
succ(x) x+1 :: def
みたいにひたすらこの形式のみにしたらどうかな、とか思った

846 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 21:11:06.92 ID:hjCUawIk.net]
Dもいけるぞ"Hello,world!".writeln(うろ覚え)

847 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 21:22:38.73 ID:ObffTMEn.net]
ちなみに Smalltalk は最初の Smalltalk-72 から Smalltalk-78 まではずっと 'Hello,world!' print
だけど Smalltalk-80 以降は最新の Pharo、Squeak を含め Transcript show: 'Hello,world!' に

ただひとつ変わり種の GNU Smalltalk だけが今も変わらず 'Hello,world!' print
https://ideone.com/p1HVKw

848 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 21:41:15.01 ID:LT+9qEc0.net]
やはりSmalltalkですか
でも今見直したらFactorも "Hello,world!" print だった

より純粋なオブジェクト指向とかスタック指向を目指すなら後置関数にこだわるのも良い気がする

849 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 23:07:25.22 ID:rikHP6KZ.net]
Juliaなら
"Hello, world!" |> println
とか行ける |> は左の引数を右の関数に適用する演算子
多分高階関数を気軽に扱える言語なら大体似たようなことができると思う

850 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 23:34:13.26 ID:1ZpMsI7I.net]
こういうくだらないシンタックスで盛り上がれるっていいよね。

851 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 23:55:10.27 ID:VzltHPaW.net]
もっとくだらなくてゴミみたいな自称次世代言語下痢糞プェチピィについて語ろうゾ

852 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 00:04:04.93 ID:0B54PbO+.net]
Nimのシンタックスが「俺の求めていたものはこれなんだ」って感じでしっくりきている

853 名前:デフォルトの名無しさん [2017/10/05(木) 10:00:21.57 ID:6CUoA44/.net]
>>840
同意

854 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 12:08:45.40 ID:2VHNud46.net]
発見したんだけれど語だとAさんBさんの間に自分がいると、自分の前にAさんがいて後ろにBさんが
いるってかくけれど、
にほんごだとAさんの後ろに自分がいてその後ろにCさんがいるのように自分中心
に書かないだろ。
これが日本人にオブジェクト指向があわない証拠だとおもうな。



855 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 12:56:26.82 ID:U9Ub2sS/.net]
そういう話じゃないと思うけどね。
単純に実行効率とメンテナンス性のバランスとるのが下手なだけ。

856 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 13:06:01.46 ID:2VHNud46.net]
それは東洋的な発想はプログラムに向かないってことだよね。

857 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 13:52:09.38 ID:DNu4hyXr.net]
島猿は観念論的な思考が苦手だからな

858 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 17:54:15.12 ID:hq5BCXwT.net]
でも英語だと命令形は動詞が先に来るけど、日本語だと後に来るので、
その点ではオブジェクト指向的な気がする

Lispみたいに前置にこだわった感じの関数型は英語的だと思う

859 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 17:57:02.28 ID:Jc3a3LA7.net]
得意なら半年で習得できるとか自分勝手にハードル上げて勝手に挫折して苦手になるのだ
10年かかると最初から思ってたら挫折もしない

860 名前: mailto:sage [2017/10/05(木) 19:36:48.36 ID:5X6CpPIC.net]
ってか習得するもんでも無いんじゃないの?
やりたい事をやりたいように出来ればそれで良い気がする。

自動車整備の達人はレンチの達人かもしれんが、ただのレンチの達人は自動車整備出来んだろ。
新型のレンチ試して習得する前に、どう使うかを考えた方が余程良いかと思う。

861 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 22:08:07.44 ID:5FiWY82n.net]
goはjavaの境界ワイルドカード型が理解できなかった奴らに支持されてるんじゃないの?
javaのパラメトリック多相が複雑だからって後発言語ではin/outになったじゃん。

862 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 22:25:32.14 ID:DNu4hyXr.net]
最初にジェネリックの変性にin, outを使ったのってC#だっけ?
あれ思いついた奴は天才だろ
あれだけ意味不明だったJavaのワイルドカードが一瞬で誰でも一目で理解できるものになってしまった

863 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 22:27:03.03 ID:jfAiiqib.net]
null安全でない言語は、もはやレガシー言語だ
https://qiita.com/koher/items/e4835bd429b88809ab33

864 名前:デフォルトの名無しさん [2017/10/05(木) 23:53:50.11 ID:9FcQYtba.net]
in, outとかはAdaにあったけどあれとは違うの?



865 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 00:57:54.53 ID:AmbKZ1TQ.net]
ええだ、ええだ

866 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 01:50:35.56 ID:mbAUXPYs.net]
gcのときといっしょの浅はかな議論
nullがなくなろうと意味的なnullは必要なんだよ
だから絶対にそこにバグは入り込む
バグり方が変わるだけ
下手に動き続けるよりヌルポの瞬間に潔くクラッシュしてくれた方が
調査しやすいという考え方もある

867 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 07:22:04.51 ID:Pjx+vQ2Q.net]
>>866
意味的なnullを想定しない箇所については型でnull を弾くよう静的検査するべきということなんだが?

868 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 08:25:43.72 ID:mbAUXPYs.net]
意味がないとは言わない
おれもあれば使う
が思うほど効果ない

869 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 12:24:07.66 ID:28ESsb6Q.net]
null安全言語使うとホント幸せだよな。

結果的にここにnullの可能性がある変数が到達しないってことを言語として保証してくれるってすごすぎる。

書いてみると分かるけど返り値がnullの可能性があるかどうかは
内部で使うapiに依存してたりして、外側から見ると予測できない。
だから人間がやろうとしたら、結局使う側で全ての引数にnullチェック入れるしか無い。
まぁ面倒だからnullPointerExceptionを出しちゃうわけですけど。

コンパイラが把握してくれれは必要最低限のチェックで済むから精神衛生上も大変よろしい。
こういう進化はどんどんしていって欲しい。

870 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 12:36:51.70 ID:nzqIzLrY.net]
>>868
必要性を感じるようなコードに出会ったことがないんだね、幸せなやつ

871 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 12:52:52.70 ID:sp3JMBsg.net]
機能としては悪くないと思うけどnull安全とかいう頭悪いワードでバカを勘違いさせるのやめろ
nullで落ちるならnullチェックすればいいというわけじゃない

872 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 13:13:58.43 ID:W7gYVrEG.net]
まあないよりはマシだろうけどくらいの意味合いだな。
レイヤーを下りれば結局人間が判断することになることが多い。

873 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 15:41:59.82 ID:HTxWyqCb.net]
null safety理解してないやつ結構いるのね

874 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 17:29:24.43 ID:28ESsb6Q.net]
>>862
これ詳しく。typeScriptでジェネリクス使うようになった新参だからなんのことかわからん。



875 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 19:11:52.24 ID:avQrunR/.net]
NullPointerExceptionがことさら悪いことのように言われるが
俺にはどーも単に他のバグ(?)と違いが分からない
意図通り書かれてないからバグ(?)るんであって
いつだって、書かれたとおりに動いてるだけのことであって

876 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 20:00:20.02 ID:VLsCvj8e.net]
>>875
ググれ

877 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 20:21:56.80 ID:Rv6hBe2m.net]
nullで初期化して後で代入しようしたら急に例外が来て脱出することがある
その例外を処理する途中でバグるから他のバグよりも深刻

例外を投げない言語なら問題ない

878 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 20:59:37.31 ID:7QyvSB4A.net]
>>874
interface Hoge<TIn, TOut> { convert(val: TIn): TOut; }
class B extends A { ... }
このとき、Hoge<A, B> のオブジェクトを Hoge<B, A> として扱っても理屈上問題ないはずだろ?
それを可能にするのがジェネリックの変性という概念。
ちょっと考えたら分かるはずだが、変性が適用できるのは型パラメータが入力または出力のどちらか一方にしか使われていない場合だけ。
さらに、型引数が入力と出力どちらであるかによって、変化の許される継承の方向が逆になることも分かるだろう。
C#では、interface Hoge<in A, out B> のように型パラメータの方向を限定してやることで変性を与えることができる。
これ Java だとHogeを使う側で Hoge<? extends A, ? super B> と書くんだけど、意味不明だろ?

879 名前:878 mailto:sage [2017/10/06(金) 21:07:24.53 ID:7QyvSB4A.net]
すまんちょっと訂正
C#では、interface Hoge<in TIn, out TOut>のように

880 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 00:18:08.77 ID:ay0KJt9o.net]
>>862
ガビン・キングか誰かが同時期に+-考えて後にceylonに導入されてる。

>>864
あれは入力変数と出力変数と入出力変数

>>878
ムダに長いな。
いちばん重要なのはどの型変数が入力/出力用か定義した側は分かってるから
宣言部だけに書けばいいのにjavaの仕様だと利用する側も利用する型を
書かなきゃいけない無駄が無くなること。

javaも型推論の範囲広げてくれればダイヤモンド演算子で済むんだけど。

話は変わるけど「意味的なnull」の場合はnullable typeとoptionalどっちがいんだろうな。
optionalがモナドかどうかは抜きにして。

881 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 01:10:07.86 ID:ZhYAfijB.net]
>>878
すまんいまいちわからん。

in outの指定がなくても推論できそうな気がするんだけど。
それがどう便利になるのか、、、、
推論のための情報を増せるってことかね。

882 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 01:14:59.49 ID:ZhYAfijB.net]
>>875
コンパイラ側で実行時エラーが減らせるならそれに越したことはないと思うんだが。
特にコード書いてる最中に指摘してくれるから頭がいい人が隣に座ってくれてる感ある

883 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 01:45:27.02 ID:oYr2GY5l.net]
> 頭がいい人が隣に座ってくれてる感ある

この例え、ちょっとワロタ

884 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 08:15:36.29 ID:Wf+VpSRV.net]
>>881
全く違う。推論じゃなくて、Hoge<A, B>をHoge<B, A>にアップキャストできるってこと。



885 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 08:31:36.09 ID:Wf+VpSRV.net]
具体的な例を上げると、
例えば型パラメータに応じたオブジェクトを作成して返すFactory<T>インターフェースがあったとして
Factory<DBConnection>型をパラメータとして要求するメソッドに対して
Factory<OracleDBConnection>オブジェクトを直接渡せるってことだ
型推論じゃなくて型パラメータの互換性までを考慮したアップキャスト

886 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 09:04:26.26 ID:U1Wl1fD6.net]
アップキャストって文字列みてレス内容スキップした

887 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 09:25:02.60 ID:FzxjfsDf.net]
List<object>にList<string>を代入できるってことだろ。

888 名前:デフォルトの名無しさん [2017/10/07(土) 09:58:03.30 ID:h9TjUWM8.net]
>>885,887
抽象度さがってるんだから、アップキャストじゃなくてダウンキャストじゃねーの?

889 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 10:27:19.45 ID:fUAr46yo.net]
コンパイラやランタイムがキャストする方向

890 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 11:54:57.90 ID:ODmPff4g.net]
>>888
よく考えろ
広げる方向へのキャストだよ

891 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 14:40:09.93 ID:U1Wl1fD6.net]
俺はもう
(単なるType **を)ダブルポインタ
(単なるポインタ型の値渡しを)ポインタ渡し
(謎の用語)アップキャスト
(謎の用語)ダウンキャストの飛び出して来ない世界に旅立ちたい

892 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 16:36:46.84 ID:7mvjIKWG.net]
ポインタ(型の値)渡し
いかんのか?

893 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 17:33:27.49 ID:ZhYAfijB.net]
>>885

やっぱ具体的なコードがないとよくわからんな

<T extends Hoge>XXX のHogeの部分を自由に指定できるようになるってこと?

894 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 18:36:11.03 ID:3J6O2fHU.net]
class ExtendsX a where { toX :: a -> X }
class SuperY a where { fromY :: Y -> a }

Haskellなら単なる関数にするだろ
キャストという謎の用語を使う必要がない



895 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 18:37:08.45 ID:U1Wl1fD6.net]
>>892
い(ちごや、み)かんでしょ

あとJavaしか知らない人が背伸びしようとして?
(参照型変数の値渡しのことを)参照渡し
これもいつまでたっても無くならない

896 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 19:08:57.97 ID:ODmPff4g.net]
>>893
var f1: Factory<OracleDBConnection> = getOracleDBConnectionFactory();
var f2: Factory<DBConnection> = f1;
var conn: DBConnection = f1.create();
こういうこと
いちいち無駄な型パラメータを使う必要がない

897 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 19:09:53.49 ID:ODmPff4g.net]
>>896
訂正
3行目はf2

898 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 19:45:02.40 ID:3J6O2fHU.net]
fmap :: (a -> b) -> Factory a -> Factory b

899 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 00:02:28.18 ID:CO5NODlU.net]
>>885,887
できねーよ。

>Factory<DBConnection>型をパラメータとして要求するメソッドに対して
>Factory<OracleDBConnection>オブジェクトを直接渡せるってことだ
>List<object>にList<string>を代入できる
これが出来るのはFactory<T>/Factory<U>やList<T>/List<U>が共変のときのみ。
それを緩めるのがjavaの上限境界ワイルドカード型。

>>898
それじゃモナドだろ。変性の話な。
変換の話ししてんのはID:Wf+VpSRVだけだから型変換は忘れろ。

おまえらPECS理解してなさすぎ。ポケモンで説明してやるよ。

List<? extends ゼニガメ>があった時このリストに入るのはゼニガメ、カメール、カメックス。これが上限境界ワイルドカード型。

set<T super ピクシー>(T value)というメソッドのときピクシー、ピッピ、ピィが入力できるんだよ。これが下限境界ワイルドカード型。

ValueT<?> value = foo.get<ポッポ>()とあった場合は?はポッポに変身したメタモン。これが非境界ワイルドカード型。

ただし、非境界ワイルドカード型はjavaの場合は型消去されてすべての型のsuper typeを表すObject型になる。つまりに何にも変身してないメタモンのまま。
これはjavaがnone-reifiableだからでreifiableな言語ならポッポに変身したメタモンならポッポのまま。

900 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 00:06:17.55 ID:CO5NODlU.net]
X none-
O non-

901 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 00:20:35.53 ID:z2et5JhT.net]
C++から離れて以来、<>括弧に拒否反応出る

902 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 01:23:41.59 ID:RGO+IW57.net]
ダブルポインタとか言うバカに構文木を教えるために括弧を強制してやったのに

903 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 06:33:17.35 ID:gfyVN7gN.net]
>>899
それをC#だとキャストできるという話なんだが、頭おかしいのか?

904 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 07:01:36.88 ID:gfyVN7gN.net]
このように、>>899のように俺は分かってる感を出してる奴にとってすらジェネリックの変性は理解が難しいんだよな
ちなみにKotlinだと型定義時の指定と型使用時の指定の両方をサポートしてたりする
TypeScriptの場合はキャストが完全なstructual-subtypingベースで、型名やジェネリックは型定義のエイリアスに過ぎない
だから特に変成を明示的に指定する必要はない



905 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 09:49:48.11 ID:83iEE1/H.net]
C++「仮想関数とtemplateは直交する」
Go「templateやめた」
Haskell「仮想関数やめた」
Java「直交やめた」

906 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 10:08:21.08 ID:Eg4i3QFB.net]
>TypeScriptの場合はキャストが完全なstructual-subtypingベースで、型名やジェネリックは型定義のエイリアスに過ぎない
>だから特に変成を明示的に指定する必要はない

TypeScriptの場合は必要ないと言うより、個々に指定できないから固定ルールでごまかしてるってのが近いと思うが。

907 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 11:22:02.79 ID:83iEE1/H.net]
ごまかしてるというのは擬人化しすぎというか
擬人化だけならいいが擬人化してから罪悪感を植えつけるのは科学ではない
政治に近い

908 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 13:03:47.11 ID:2gMmrTuo.net]
>>899
この文脈で脈絡のないモナドとか出してる時点で
いつもの知ったかぶり野郎ってわかんだね

909 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 13:11:52.16 ID:2gMmrTuo.net]
>>906
structural subtypingあるのにできないって、随分中途半端な言語なんだな

910 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 13:58:01.39 ID:N1KoImhE.net]
ジェネリクス一つとっても言語によって結構変わるんだなってことしかわからん。

911 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 15:08:02.99 ID:83iEE1/H.net]
言語を決めようとするなよ
言語は決めたがコードは書けない無駄な状態ができるだけだから
決められない状態の次の瞬間に書き終えるのが正しい

912 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 15:20:15.14 ID:93IJP3PA.net]
>>911
ポエムかよw

913 名前: mailto:sage [2017/10/08(日) 19:27:00.87 ID:j8mHa+JP.net]
ラダーでも描くか

914 名前:デフォルトの名無しさん mailto:sage [2017/10/10(火) 00:29:11.40 ID:nhSeKmwJ.net]
>>881
T extends Foo
U super Bar
だと人間がその型変数が入力用か出力用かわかりづらいからin/outの方がわかりやすいって言ってるだけ。

>>903
キャストじゃないって言ってるだろ。



915 名前:デフォルトの名無しさん mailto:sage [2017/10/10(火) 02:22:58.57 ID:sTZmKFl8.net]
PHP出身のオッサンマジでつっかえなくてワロタ
mapとlistの区別もできないガイジ
年上に敬語使いたくなくなったの初めてだわ

916 名前:デフォルトの名無しさん [2017/10/10(火) 03:11:06.93 ID:5pISAq8F.net]
PHPはちょっと前までリストは無かったかならぁ。
あったのは数値インデックスをキーとするマップだった。
でもPHP7からまともになったと噂で聞いたがどうなんだい?

917 名前:デフォルトの名無しさん mailto:sage [2017/10/10(火) 03:24:21.13 ID:IR1b7wv8.net]
動的言語ってだけでクソ

918 名前:デフォルトの名無しさん mailto:sage [2017/10/10(火) 03:36:14.32 ID:sTZmKFl8.net]
>>916
ウンコにカレーかけたらカレーになるか?
そういうことだ

919 名前:デフォルトの名無しさん mailto:sage [2017/10/10(火) 07:24:37.15 ID:6OEY56cJ.net]
概念なんて知らなきゃ知らない
知ってりゃ知ってる程度の話で
ただやった事あるかないかの差だろう
やればすぐに覚える
その程度で上になった気になってマウント取れる頭が羨ましいわ

920 名前:デフォルトの名無しさん mailto:sage [2017/10/10(火) 08:19:53.37 ID:rShZoZ8i.net]
>>914
だからC#ではキャストなんだよ
知らないなら黙ってろよ

921 名前:デフォルトの名無しさん mailto:sage [2017/10/10(火) 10:39:53.93 ID:/pjPidVz.net]
道徳がないのに用語の定義だけ守るなんて滑稽だわ

922 名前:デフォルトの名無しさん mailto:sage [2017/10/10(火) 13:11:11.72 ID:CR13gByh.net]
>>919
まぁ、逆にそういう基礎的なことを知らない時点で他も推して知るべしってなってイライラする気持ちもわかる。
多分、色々あったんだよ

923 名前:デフォルトの名無しさん [2017/10/10(火) 13:30:28.05 ID:lvgfa+uM.net]
自己学習をしない老人ほど役に立たないものはない
若者にバカにされたくなかったら勉強を怠るなということさ

924 名前: mailto:sage [2017/10/10(火) 18:49:40.52 ID:DF0+rUls.net]
まあ、敬語を使う基準や使ってはいけない基準が「年上」ってのも相当だけどな。
他人であれば敬語以外の選択肢が出てくる時点で異常。
上司であれ部下であれ、客であれ飼い主であれ、友達じゃねえんだから。

ほんとにドヤ顔したいなら、理解させたら良いのに。
理解させる事が出来ないなら、そいつ以下な気がするわ。
少なくともそいつより賢くないとできない事が、そいつに教えるって事なんだし。



925 名前:デフォルトの名無しさん mailto:sage [2017/10/10(火) 19:22:18.97 ID:/pjPidVz.net]
無料で教えるのは難しくないね
ブラックジャックのように報酬はいくらでも出すと言わせるのが難しい

926 名前: mailto:sage [2017/10/10(火) 22:24:43.37 ID:iLP+BZ6B.net]
別に手弁当で教えなくても、理解させりゃ良いと思うが。
教えるって直接何かを伝える以外にも色々あるじゃん。覚えなきゃ切るって言ったり何でも。
それなら賢くなくても出来るか。

927 名前:デフォルトの名無しさん mailto:sage [2017/10/10(火) 23:06:31.17 ID:fjptMfzZ.net]
>>920
C#でも同じだバカ。
パラメタ型がキャストできたら型引数が部分多相になるだろうが。
おまえが代入互換性とキャストの区別もついてないだけなんだよ。

928 名前:デフォルトの名無しさん mailto:sage [2017/10/10(火) 23:08:02.34 ID:ximXNc4+.net]
まあ若い人が今新しいと思ってるものが将来のレガシーコードを生んでることが多いんだけどね。
今巷にあるテストのないコード見てるとそれが良くわかる。

929 名前:デフォルトの名無しさん mailto:sage [2017/10/10(火) 23:27:37.58 ID:Hng7vpUg.net]
そりゃ今あるものはいずれレガシーになるでしょ

930 名前:デフォルトの名無しさん mailto:sage [2017/10/10(火) 23:43:31.35 ID:8cUJeS6O.net]
実績おじさんのドレガシーはマジ勘弁

931 名前:デフォルトの名無しさん mailto:sage [2017/10/10(火) 23:46:43.26 ID:ximXNc4+.net]
>>929
メンテしやすいかどうかは言語機能とは無関係なことが多い。

932 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 00:02:13.85 ID:wRfMxQMF.net]
話の脈絡の無さが怖いわ。

933 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 00:07:23.11 ID:5ft9QxZH.net]
>>927
いいから具体的なC#コードで説明してくれ

934 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 01:38:41.04 ID:YaLB6Rv/.net]
未だにMVCとか言ってそう

んで、全部Cにロジック書いてそう



935 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 09:28:50.53 ID:viUxhdEA.net]
MVCって古いの?
やっぱMVVMが主流?

936 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 09:32:41.32 ID:KC3ar1qW.net]
>>935
適用対象が違う

937 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 09:35:16.45 ID:viUxhdEA.net]
MVCって古いの?

938 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 09:59:29.85 ID:zxckWzxc.net]
とりあえず有名な物批判すれば通ぶれるってメンタルだろ
構ってちゃんにまともに取り合おうとするな

939 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 11:18:23.60 ID:FXPTh88o.net]
悪いものは更新する
正義なら古くてもそのまま
これだけの話なのに
おそらく正義か悪かを判断したくないから、新しいか古いかだけで決めようとするんだろ

940 名前: mailto:sage [2017/10/11(水) 18:05:13.39 ID:Q0CgrKbU.net]
わからんのだろう、それが一体どういう場合にどういう悪になるか、とか、
悪は悪だが必要悪だとか、悪は悪だがそれを避けるコストが、我慢して使うコストを圧倒的に上回ってるとか。

ちょっと前の話なら、ClassicASPを嗤ってた割に、SSRとか言ってはしゃいでた奴とかいたが、心底アホなんだなぁって思ったよ。

941 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 20:11:14.56 ID:g/AsaciR.net]
避けるコストが我慢して使うコスト上回るってelectronとかか?

942 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 22:21:07.88 ID:YaLB6Rv/.net]
スカラー型程度で嬉ション漏らしてPHPにも型を!
とか言ってる連中ってマジで頭おかしいんちゃうか
あまりのレベルの低さに草も生えない

943 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 22:23:00.80 ID:zxckWzxc.net]
案の定MVCバカにしてるのも例の奴だったか

944 名前: mailto:sage [2017/10/11(水) 22:23:46.07 ID:76AReSDy.net]
>>941
割と色んなものに当てはまると思うよ。
できればもう書きたくないけどプロジェクトは大規模だし、改修範囲は把握してるし、
動作環境も固定されてるとある機械の制御端末なので、VB6のプログラム改修してパッチ出します、とか真顔でやってるプロジェクトある。
よーやるわ、と思うが。

>>942
建設的にやれば?



945 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 22:32:54.93 ID:wTw7h0wv.net]
なぜペチパーは頑なにPHPに拘るのか不思議には思う
JavaScriptはしょうがないにしても、今どきPHPを積極的に採用する理由が見当たらない

946 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 22:37:50.49 ID:zxckWzxc.net]
>>945
WordpressつこてるならPHP以外ないだろ
というかむしろWordpressとECぐらいしか新規案件見ない

947 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 22:41:53.70 ID:LTsyra25.net]
>>944
そういうことか。
古いjavaならoracleがAPIを削除し始めたから、
そのうち強制移行だろうけどイントラネットみたいなところで生き続けて、
言語仕様の進化から取り残されるんだろうな。
VMレベルで互換性失うのはまだ先だろうけど。

948 名前: mailto:sage [2017/10/11(水) 22:48:53.10 ID:76AReSDy.net]
>>945
javascriptはしょうがないで書くような言語でも無いかと。
よくできてると思うよ。
上からまっすぐ降りてくる言語しかできん奴はjs嫌いだろうけど。
型が柔軟なのも良いけどな。なんでも突っ込むのは頭おかしいが、代数的データ型として使う分には良い具合の無茶が出来る。awaitが使えるようになって、ますます良い具合。

phpは置けば動くあの簡単さが良いんだろ、多分。

949 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 22:53:12.14 ID:mJo8X84s.net]
次スレにNim入れるか?いらんか?

950 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 22:53:28.87 ID:/Z9HBCDN.net]
某Drupal案件は最悪だったな
よくわからんモノシリックFWに、低単価で寄せ集められたクズどもがどうしようもないゴミ山こさえて
どうにかこうにかまともな風に仕立て上げた頃に、新任のCTO就任
早々に言い出したのが「こんなレガシーではいけない!次は・・・Symfonyだ!」
あっという間にみんな撤退したよ

一応未だに企業は残ってるから、あれを保守して何とかやってるんだろうな
Symfonyエンジニアも絶賛募集してるから、レガシーからレガシーへの移行も諦めてないんだろう

あんなゴミでも営業や企画次第で優秀な金儲けの道具になるんだから
エンジニアリングって何だろう、って切なくなる思うことがあるよ

951 名前: mailto:sage [2017/10/11(水) 22:55:49.93 ID:76AReSDy.net]
>>947
ASP生きてる会社もあるよ、聞いた所だと。
純然たるソフト屋なら対策するだろうけど、製造業やら医療のシステムってたとえイントラでもすぐにスクラッチで作れるもんじゃないしね。台帳保存の法規制とか諸々含め。
windows7のVDI環境もあるし、IEのエンタープライズモードもあるし、多分使わなくなっても5年は動態保存してる。

952 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 09:19:49.86 ID:psiPw/kX.net]
大抵の言語でもフレームワークでも向き不向きがあって
よほどのレガシー以外で普通に生き残ってるのは
それなりに理由がある。
すぐ優劣みたく言う人はスキル低そうとしか思わんな

953 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 09:23:32.76 ID:psiPw/kX.net]
あ、別の上のレスについて言ってるわけじゃないよ

954 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 09:59:53.96 ID:6P6d2PA3.net]
F77は余程のレガシーに入りますか〜?



955 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 11:04:53.10 ID:NcrW6M9b.net]
「代わりはいくらでもいる」とかなんとか脅して丸投げするのが不可能になるだけだから
自力で読み書きするなら何の問題もない

956 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 21:49:54.65 ID:BJ7mXHtm.net]
問題は流行り廃りが激しいことじゃない?

>>954
未だにCOBOLの求人あるぐらいだから"余程"じゃないなw






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<243KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef