次世代言語18 V Julia 他

■ このスレッドは過去ログ倉庫に格納されています
2019/09/30(月) 23:11:51.54ID:gS2Jpksn
スレタイ以外の言語もok

前スレ
次世代言語17 Go Rust Kotlin TypeScript Julia
https://mevius.5ch.net/test/read.cgi/tech/1567602619/
2019/10/17(木) 19:50:07.02ID:Lb/VWL6h
>>709
違う
ソース読めばわかるが、「AWSでRustがサポートされる」のではなく、「AWSがRustを支援することにした」だ
711デフォルトの名無しさん
垢版 |
2019/10/17(木) 19:54:13.82ID:taho93zc
この世のC言語/C++のライブラリが全てRustで書き直されてLinuxもRustで書き直されたら天下取れるのになあ
夢物語だけど
2019/10/17(木) 20:05:14.96ID:mB2FKAkA
さすがに本気出したC++には速度で負ける模様
713デフォルトの名無しさん
垢版 |
2019/10/17(木) 20:11:27.12ID:UjGHV1nI
LinuxはCだが?C++の本気とかちゃんちゃらおかしい。
2019/10/17(木) 20:36:42.15ID:1mHvnb1C
ほんとお前らみたいな馬鹿ってC++が嫌いだよなw
2019/10/17(木) 20:39:51.36ID:+k9ttGJ/
今更、Rustに書き直すとか馬鹿だろ
2019/10/17(木) 22:34:30.43ID:LVoG2HXB
こないだ出たsudoのしょーもないバグも「整数値-1を無効値として扱う」みたいなんじゃなくちゃんと「無効を表す値」が存在する最近の言語ならそもそも回避できたのにな
今普通に動いてる既存の物ってのはそれだけで強いよなぁ
2019/10/17(木) 23:40:54.35ID:LBezDrpM
>>716
バカはおまえだ。
内部的には何らかのビット列をわりあてることになるんだよ。
その選び方は性能にはっきり影響する。
2019/10/17(木) 23:52:32.65ID:JsyCjuj5
型さえあれば救われたのに
2019/10/18(金) 00:01:46.17ID:jb1wNmPP
老害イラッイラで草
2019/10/18(金) 00:15:16.52ID:YKg3bugE
型ゆえに人は苦しまねばならぬ
型ゆえに人は悲しまねばならぬ

こんなに苦しいのなら
こんなに悲しいのなら
型などいらぬ!!!
2019/10/18(金) 00:24:55.92ID:vLu077dK
>>720
はいランタイムエラー
2019/10/18(金) 00:47:51.11ID:B/ouUg1P
人はそれを脆弱性と呼ぶ
2019/10/18(金) 00:56:05.28ID:4X7KT/ZF
やはりRustの時代か
2019/10/18(金) 04:11:17.15ID:hSszLl+1
>>711
全て書き換えるのは夢物語だが、
Linuxを書き換えるくらいならおまい個人でもできるだろ
頑張れ!
2019/10/18(金) 04:18:44.11ID:zx2NxSRO
大学か大学院に入り直したい
同じことの繰り返しに飽きた
2019/10/18(金) 04:38:32.95ID:5559SrY6
起業すれば
2019/10/18(金) 10:25:44.63ID:nBQ7bEKe
>>710
なるほど
チャイナマネーぶちこんで、Rustでビルドしたプログラムには
自動的にバックドアが仕込まれるか
勝手に情報を中国政府所有のサーバに送りつけるかするってことか
2019/10/18(金) 11:06:47.57ID:8rWpCRm0
糖質も見てます
2019/10/18(金) 15:36:43.09ID:qpQdHQHW
モナドの使い方がお前らには見えていないのを見たぞ
これ半分アルミホイルだろ
2019/10/18(金) 20:30:58.03ID:LI8e8Xij
雑なの承知で書くけど
null safeやリストへのmap/flatMapの便利さが何となく分かったなら
モナド大体分かったということでOK
2019/10/18(金) 21:16:13.30ID:V/rb7rbM
IOモナドはどう理解すればいいの?
2019/10/18(金) 21:55:39.27ID:1uLeEMt/
>>73
mapはわかるがflatmapはわからんな
733デフォルトの名無しさん
垢版 |
2019/10/18(金) 21:58:53.77ID:Jaff414t
mapの良さは分かるけどモナドが理解できた勢に加わりたくない
2019/10/18(金) 22:06:39.93ID:4X7KT/ZF
あれLispのとどうちがうんだ
2019/10/18(金) 23:00:00.81ID:uhy/qlU/
JSのflatMapはmapと違って配列自身を返せるから
次のメソッドチェーンの処理をより柔軟にできるぐらいしか使い所がない気がする
2019/10/18(金) 23:00:56.75ID:liCy40EB
バカはどんな言語実装になろうと決して他人のコード読まんのだよ。
だから言語を変えれば解決するとか馬鹿の妄想なのだ。
2019/10/18(金) 23:04:17.96ID:liCy40EB
>>731,732
どっちも型合わせ以上の意味はない。
2019/10/18(金) 23:45:28.18ID:lmpJOwiE
関数のcomposability(合成可能性)を高めるために
モノイド、ファンクタ、モナドなんかの型クラスがある

モノイド = appendable
ファンクタ = mappable
モナド = flatmappable

↓この説明が過去見た中では一番わかりやすい
http://adit.io/posts/2013-04-17-functors,_applicatives,_and_monads_in_pictures.html
2019/10/18(金) 23:47:21.40ID:LI8e8Xij
>>731
理解しなくてOK
純粋関数型を好きになる日がもし来たらそのとき大体の先を考えよう
2019/10/18(金) 23:56:52.67ID:LI8e8Xij
物事には順序があって、順序の基には段階や必要性があるわけで
つまり初手ラスボス配置はよくない
2019/10/19(土) 00:23:04.53ID:nhl9y3vZ
>>738
そういう説明はだいたい理解した最後に頭の整理するために読むものなんだよ
わかってない人に無意味
2019/10/19(土) 00:30:41.62ID:nhl9y3vZ
>>731
worldを隠したいという動機があってそれをうまく実現する体系がモナド
こういうふうに問題解決のストーリーで理解していくとわかる
合成可能性とかはその結果なので最初は忘れていい
2019/10/19(土) 01:08:13.73ID:VwkXsBh7
>>651
Android開発というキラーアプリがあるし
InteliJのインテリセンスがマジ優秀やし
2019/10/19(土) 01:34:27.34ID:IO8pKqwE
>>738
サンキュー
Haskell には Maybe というものがあるぐらいしか知らんので、
もやもやーってしか理解してなかったけど大体分かった
(使ってみろと言われてもすぐにはできないだろうけど)

苦労してゆっくり英語とコード読んだ後、最後尾に日本語訳へのリンクあって草
2019/10/19(土) 02:02:29.47ID:nZE9Kj9C
>>743
Java は Android なんか無い頃から SIer 御用達だったんや
開発環境はだいたい Eclips
2019/10/19(土) 02:03:53.22ID:nZE9Kj9C
flatMap の初歩的な使い方といえばこれ
map が返すのは適用する関数が成功したも結果もエラーの結果も全部入った配列になるけど、flatMap なら適用する関数が成功した結果だけが入った配列を返すようにできる
その場合の flatMap で適用する関数は、成功時には結果が一個入った配列を、エラー時には要素0個の配列を返すようにする
747デフォルトの名無しさん
垢版 |
2019/10/19(土) 07:27:33.50ID:seQh7iKV
それってfilterでやればよくね?
つーかモナドモンスターは成仏してくれ
2019/10/19(土) 07:39:01.77ID:UzQZhlPI
他の方法挙げたら切りが無いと思うけど
for文で駄目なわけじゃないし

少し読みやすい(慣れによる)、少し短い、少し速い とか
道具の使い分けなんてそんなもん
749デフォルトの名無しさん
垢版 |
2019/10/19(土) 07:47:59.52ID:seQh7iKV
そんなもんて言うけどその少しが大事だろ
750デフォルトの名無しさん
垢版 |
2019/10/19(土) 08:01:53.19ID:zsc0MtR6
いくつかの言語が備えている例外機構の真逆の仕組みがモナドよな
2019/10/19(土) 08:34:08.79ID:UzQZhlPI
>>749
「〜でよくね」はその少しを気しない(使い分けない)方の表現では?
2019/10/19(土) 08:58:11.03ID:7c9LDTMs
flatmapがモナドとか言ってる奴何一つ型を分かってない
flatmapはモナドのbindを拡張した概念であって、bindそのものじゃない
要するにflatmapが使える時点でモナドじゃない、モナドのような何かだ
それをモナドと混同してる時点で論外
そいつの話を聞く必要はない
2019/10/19(土) 09:36:17.45ID:g/FUkYaY
>要するにflatmapが使える時点でモナドじゃない、モナドのような何かだ
自分がなにもわかってないっていう自己紹介かな

「モナドとして振る舞える」ものはモナドだよ
モナドよりできることが多かったとしても
2019/10/19(土) 10:16:08.33ID:QmPBAH4r
モナド警察現るw
モナド = bindableでもいいけどbindって何?ってなるだろ
flatmapはmapの続きで理解できるからbindって言葉よりも理解しやすい

Optional<T>を例にすると
mapはOptional<T> -> ( T -> U ) -> Optional<U>
Optional<T>とTをUに変換する関数を受け取ってOptional<U>を返す

flatmapはOptional<T> -> ( T -> Optional<U> ) -> Optional<U>
Optional<T>とTをOptional<U>に変換する関数を受け取ってOptional<U>を返す

mapの場合、受け取る関数が( T -> Optional<U> )だと結果がOptional<Optional<U>>になって二重に包まれる
flatmapはこういう二重に包まれた結果にならないようmapする機能とネストした型をflattenする機能が合体したもの

IOやStateには当てはまらないとかいう奴も居るけど
mapだとIO<IO<T>>になるところをflattenしてIO<T>にするのは同じ
flattenするルールが包みの種類によって違うだけ
2019/10/19(土) 10:28:11.66ID:qf1Nei7K
まあこうなるからモナドを再利用するより再発明した方が話が早い
過去の発明と「混同」すべきでないと警察に指摘されても何も問題ない
また俺なんか新発明しちゃいましたか?
それだけの話
2019/10/19(土) 10:33:43.56ID:UzQZhlPI
序盤中盤 >>730
ラストダンジョン >>752-754
2019/10/19(土) 10:46:34.37ID:QmPBAH4r
flatmapは何がうれしいのかというと

例えば
1. ファイルを開いて
2. 内容をテキストとして読んで
3. パースしてJSONに変換する
とした場合、

3つとも何らかの要因でエラーが発生しうるから
それぞれ結果がエラーが発生するかもしれないというコンテキスト(EitherとかResultと呼ばれるもの)で包まれる
open: FilePath -> Result<File, Error>
read: File -> Result<Text, Error>
parse: Text -> Result<Json, Error>

でそれらの処理をつなげた場合に3重に包まれた結果じゃなく
最終的なflattenされたResult<Json, Error>を返すようにするために使うのがflatmap

mapはコンテキストを引き継ぎながら中身に関数を適用する
flatmapはそれに加えてコンテキストがネストしないようflattenしてくれる
それによって合成できる関数のパターンが増えてシンプルに処理を書けるようになる

というのが俺の理解
2019/10/19(土) 10:55:13.52ID:JHoWAbaJ
結局わからん
オプショナルと任意の関数と関数適用する方法とマップ関数があって
どれがどこまでモナドなん?
2019/10/19(土) 11:31:51.65ID:Vj3c/7EH
モナドは、いつもお前達の心の中に
760デフォルトの名無しさん
垢版 |
2019/10/19(土) 11:51:16.95ID:UGu3ZZer
キミはキミ自身のモナドを見つけなければならない
761デフォルトの名無しさん
垢版 |
2019/10/19(土) 11:53:37.69ID:g7gJ/kc1
C++嫌いな人はRustなんかよりGoへ逝けば良いのに
2019/10/19(土) 12:20:09.69ID:Xn59Im0u
goは言語マニアのプライドを満たさないので嫌なんだとさ。
2019/10/19(土) 13:07:15.02ID:p0j/nLAi
GCの存在が前提のGoはC++の代替にはならない
2019/10/19(土) 13:07:39.41ID:qf1Nei7K
マニアの心をすべて読むことはできない
できると思ってる奴はモンスターだし
できない要素を排除すれば消去法でできると思ってる奴もモンスターだ
2019/10/19(土) 13:14:05.47ID:vl9XIooB
C++の代替ならDもありますよ
2019/10/19(土) 13:26:35.49ID:YPBtRkHI
スレタイのVはどうした
2019/10/19(土) 13:30:03.22ID:QmPBAH4r
>>758
OptionalやResultがモナド
768デフォルトの名無しさん
垢版 |
2019/10/19(土) 13:47:36.04ID:UGu3ZZer
Vは詐欺だから。
2019/10/19(土) 14:21:06.55ID:qf1Nei7K
もし被害者がいたらね
いなかったらトロッコ問題をもっと簡単にしたような問題
2019/10/19(土) 16:56:06.90ID:g/FUkYaY
>>761
そもそもC/C++自体がすでに第一選択の言語じゃなくて、応答性やパフォーマンスの問題で消去法で選ばれる言語だし、
Goはそれで弾かれる側の言語なんで無理無理

Goが選択肢に入るような要件ならC++は選択肢に入らないし、逆もまた然り
771デフォルトの名無しさん
垢版 |
2019/10/19(土) 17:20:33.83ID:seQh7iKV
>>751
たしかに
filterがよくね?が正しかったわ
そもそもエラー無視すんなよと思うけど
2019/10/19(土) 17:48:35.99ID:Xn59Im0u
で、応答性やパフォーマンスの問題になるようなコードを書いてない輩が
ドヤるために馬鹿言いだしてるという現状。
2019/10/19(土) 17:53:30.96ID:g/FUkYaY
こいつにとっての世界は5chだけなんだろうな……
2019/10/19(土) 18:21:42.30ID:nfcTVmiP
>>772
Goなんて寝言言ってないで、実用性マックス型無し糞言語汚物PHPを保守する作業に戻るんだ
2019/10/19(土) 18:28:50.17ID:4NOLt1ht
ネイティブアプリなら今でもC++が第一の選択肢なんだよなあ
2019/10/19(土) 18:51:26.98ID:KDnhpsev
GoはJavaの代替品のイメージだな、WEB系だと
2019/10/19(土) 19:08:40.00ID:VwkXsBh7
C++だってガベージコレクタを実装したり、light weight threadを実装して
Goと同じようなことができるもん!
2019/10/19(土) 19:11:11.25ID:VYVT60v2
作ればあるもん!
2019/10/19(土) 19:12:46.30ID:FDDEQhYS
C++もがんばれば高階関数だって書けるもん!
780デフォルトの名無しさん
垢版 |
2019/10/19(土) 21:14:27.31ID:VTwpCKbs
WEBプログラマーみたいな最下層のプログラマーが兎や角言ってもな
2019/10/19(土) 21:21:26.37ID:nfcTVmiP
ふむ・・・ではCでガーベジコーレクションを実装してみてはどうだろうか?
2019/10/19(土) 21:23:34.19ID:hFXd5nKw
SIerにいる人って実年齢より老けて見えるよな
無駄なストレス溜まってて可哀想
2019/10/19(土) 21:32:32.75ID:5V/NayDn
お前らの社畜スキルの議論はどうでもいいけどさ、個人で作ったアプリはないの?w
2019/10/19(土) 21:39:01.20ID:TPhFrENC
>>782
多分ここにいるのそういう人たちだと思う
SIerとか一生客にマウントとられる仕事だし
技術力はつかないし
まともな技術者は絶対やめる
2019/10/19(土) 21:40:49.31ID:nfcTVmiP
おまいらってSIerの話題とPHPの話題にだけは食いつきいいよな

 つ ま り
2019/10/19(土) 21:43:26.62ID:TPhFrENC
みんなSIer!!
2019/10/19(土) 21:56:40.19ID:sZ+sUW+s
自社開発のゲームやらWebやらアドテクでしか働いたことないから客って意味がよくわかんない😅😅😅

基本情報の試験に書いてある技術以外の部分もよくわかんない😅あれって半分奴隷の資格だろ😅
2019/10/19(土) 22:07:15.11ID:UYNGVxoZ
考えなしに安易に自社開発に行くのはお勧めしないな
SIerから大手SaaSベンダーへ行ったけど保守的だし裁量ないし結局ユーザーは神様だしでクッソつまんなかったわ
辞めて他業界の内製へ行ったら給料爆上げで個人の裁量も大きく技術的レベルも前職より遥かに上
2019/10/19(土) 22:14:40.70ID:TPhFrENC
日本の自社開発なんて大して儲かってないからな
一部のソシャゲが儲かってるくらいでそれも請負だから
実質SIerみたいなもんだしな
2019/10/19(土) 22:15:39.74ID:nfcTVmiP
という夢をみたんだ(手取り16万)
2019/10/19(土) 22:18:09.60ID:JHoWAbaJ
お金をこねくり回すだけのゲームをしている奴が一番お金をもうけているように見える
2019/10/19(土) 22:41:51.74ID:Xn59Im0u
いつのまにかバカみたいなマウント談話になるの、どうしようもねーな。
rustだろうとc/c++だろうとgoだろうとjavaだろうとphpだろうと馬鹿が使えば同じだよ。
793デフォルトの名無しさん
垢版 |
2019/10/19(土) 23:43:19.11ID:XsLcHx28
ひょっとしてプログラムできるようになるのって
特定の言語だけできてもしょうがないんじゃ………
2019/10/19(土) 23:51:14.10ID:VwkXsBh7
チューリングマシンでプログラミングができたら潰しが利く
2019/10/20(日) 00:19:35.88ID:LUEl7nlG
プログラミングだけできる人ってもうそんなに需要ないだろ
AWSとかGCPの機能をフルに使ってプログラミングできる人が必要

オンプレは論外すぎる。平成のジジイは帰れ
796デフォルトの名無しさん
垢版 |
2019/10/20(日) 01:10:08.18ID:B4kaAeDD
まあなんでも本を読めばわかるようになるしできるようになるよ
なんだってそうだろ
2019/10/20(日) 01:45:11.49ID:fYS/zneR
>>791
でも儲けたお金で買えるものは案外少ないだろ
言語に不満があったり争いごとでイライラした場合に買うものがない
誰のものでもない言語とか平和とかを自分のお金で買うのが原理的に難しい
2019/10/20(日) 02:20:04.45ID:6gNkUHAs
すまん、平成生まれの爺おる?www
2019/10/20(日) 02:27:48.89ID:t594s67n
0歳児で5chに書き込みするとか天才だな
2019/10/20(日) 02:48:48.39ID:6gNkUHAs
なおワシ昭和生まれ
2019/10/20(日) 02:49:07.77ID:L4Y1NTzq
要するにmapとかflatmap程度のことを何か偉そなことを知ってるげに見せるためにモナモナ言ってるってことでおk?
2019/10/20(日) 02:49:24.44ID:6gNkUHAs
これを叙情トリックと言います
2019/10/20(日) 08:17:19.28ID:ADDbXmaX
雑食系エンジニアのKENTA のキャリアパスは、Ruby, Go, Elixir, Kotlin。
Web 系サーバー側で、サーバー構築運用を握ったから、わずか数年で、最上流に立てた!

Java みたいな、5大SIer・多重下請け構造・階層ピラミッド・土方系なら、一生奴隷!
この階層に組み込まれると、1社経由する度に、3割抜かれる(システムの請負料金・保証料金)
土建業の5大ゼネコンと、全く同じ仕組み。
奴隷商人。N国の言う、既得権益

ちなみに、遂に、Cobol の仕事は消滅したw

サーバー屋の方が、プログラマーよりも階層が上になる。
サーバー屋が、各言語のプログラマーを集める立場

Ruby の最先端の自社サービス、GitHub, Airbnb, Kickstarter、
Cookpad、食べログ、Gunosy など

自社サービスの方が、SIer階層ピラミッドよりも、上になる。
だからエンジニアは、階層ピラミッドの仕事は適当にこなして、
自分の勉強・成長を重視して、技術を盗んだら、自社サービスへ転職する

DevOpsエンジニアになる方法と将来性について
https://www.youtube.com/watch?v=hM2j9VlChwo

2019年のDevOps/MLOpsエンジニアの標準的スキルセット
https://qiita.com/poly_soft/items/8dd105341869f93b129c

Terraform, Packer は、HashiCorp か。
Ruby による今世紀最大の起業家、Vagrant のMitchell Hashimoto も、Ruby から、Go へ行ったのか?

他には、CircleCI, GitHub Actions
2019/10/20(日) 08:23:53.79ID:BNymtYHC
KENTAはもういいから
805デフォルトの名無しさん
垢版 |
2019/10/20(日) 10:05:55.14ID:Xl2t0ZNf
>>781
っ Ruby
806デフォルトの名無しさん
垢版 |
2019/10/20(日) 10:10:12.79ID:Xl2t0ZNf
>>791
金は金があるところに集まる

お金はお金が一番好きなんだ
2019/10/20(日) 11:02:24.64ID:klE+RcqE
お金とタワマンを交換した人はお金があまり好きではなかった
808デフォルトの名無しさん
垢版 |
2019/10/20(日) 11:13:29.24ID:LrxuqhUZ
群れずに蒸れました
2019/10/20(日) 14:47:04.54ID:rm60Tndc
>>768
池沼かなw
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況