- 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/
- 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
|

|