次世代言語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/06(日) 19:14:22.92ID:0rwYuW6O
型に関してはうまい落とし所のがあればいいな
ガチガチでもなくゆるゆりでもないみたいなの
2019/10/06(日) 19:18:13.38ID:51w7DHEq
そのひとつが漸進的型付けで、TypeScriptはかなりいいセンいってると思う。
345デフォルトの名無しさん
垢版 |
2019/10/06(日) 19:41:24.32ID:4DnPW2me
>>342
そもそも次世代言語に動的型のやつあったっけか?
2019/10/06(日) 20:07:17.64ID:kfMA+lDl
過ちを犯した者が仕様変更しなさい

仕様変更しているのは静的型だけになった
2019/10/06(日) 21:34:54.69ID:XnVfcxYj
Haskellは安全性では一番だけど
モナドと遅延評価が難し過ぎて普通の人がコードを書くのは難しくて失敗
Cの型は単なるメモリレイアウトで実質型なしで
スタックオーバーフローなどの脆弱性を大量に生み出し失敗
Javaは割と堅牢な型システムだがnullを放置したせいで
ヌルポの山を築いて失敗
RustはCにまともな型システムを導入しようとしたが
所有権に誰もついていけず見事失敗
Goは動的言語と静的言語のいいとこどりをしようとして中途半端になって失敗
TypeScriptは漸進的型付けというありそうでなかった型システムだが
型定義が面倒すぎる上anyは嘘派と頑張らない派で対立して失敗
2019/10/06(日) 21:44:57.93ID:51w7DHEq
>型定義が面倒すぎる

面倒と思うのは既存のjsコードに型定義を付けるときくらいで、最初からtsで書いている分には
面倒と感じたことはないがなぁ。
他の静的型付け言語とかと比べてどういうところが面倒なんだろうか。
2019/10/06(日) 22:00:20.65ID:jWeq+Bvn
所有権はC++の頃からあるよ
Rustで新しく導入されたと言えるのは借用規則とライフタイム
2019/10/06(日) 22:22:11.31ID:51w7DHEq
「所有権」と呼ばれる概念は昔からあるけどそれが何を表しているかは結構バラバラなわけで、
そこは「rustの所有権システム」と解釈すべきなんだろう。
2019/10/06(日) 23:00:04.89ID:5dqrI3Cy
どうでもいいけど、今の40代って軒並み役に立たないな
オンプレのLinux操作は早いけど、それだけ
保守歴長すぎて、新規でコード書くことが一切できない
まさかRDBの設計すらろくにできないくせに、俺は35定年を乗り越えられたエンジニア、みたいにしてるのマジで笑えるわ
死んで欲しい

転職してえ
2019/10/06(日) 23:12:49.99ID:g9L650mi
人には得意不得意があるのだから「出来ないことがある」で評価すべきではありませんよ。「出来ることがない」なら無能なので切りましょう
2019/10/06(日) 23:21:31.83ID:5dqrI3Cy
>>352
わかってるよ、保守で役に立つんだから、保守やっててくれりゃいい
オンプレマシンのお守りも重要な仕事だ

だけど「設計はベテランに任せておけ」とか40代のゴミ同士で乳繰りあって盛り上がってるの見ると
ホント寒気がするんだわ
試しにDBの論理設計やらせたら、正規化もまともにやってない、型は適当、NotNullも定義してないExcel出してきやがる
20件くらい指摘上げたら、「君こだわり強いねw」とか「業務は趣味じゃないんだから」とか言い出すんだぜ
目眩がしたわ

絶対ああはなりたくない
2019/10/06(日) 23:25:04.83ID:AIMC8rVU
この手のやからは単に自分の得意分野でドヤってるだけ
2019/10/06(日) 23:25:43.60ID:DCi/8LQP
で?お前には何ができるの?
2019/10/06(日) 23:29:49.20ID:5dqrI3Cy
>>355
バックエンドもフロントエンドもできるが
少なくともあの爺どもよりは
2019/10/06(日) 23:32:44.69ID:0rwYuW6O
そのおじさんもミドルならできるんだろ
358デフォルトの名無しさん
垢版 |
2019/10/06(日) 23:46:29.22ID:4kPPzyZv
次世代言語に全く関係無い話は余所でやってくれ。
2019/10/06(日) 23:57:06.69ID:5dqrI3Cy
俺もおまえらも薄汚い無能オッサンになるんだよ
次世代言語どころか、現世代言語すら理解できないような悲しいオッサンにな

だから、有意義に過ごせよ、この何でもない毎日をよ
360デフォルトの名無しさん
垢版 |
2019/10/07(月) 00:06:28.20ID:CF5Z0+Ep
青春だねぇ
2019/10/07(月) 00:30:11.62ID:UKE8g9+n
すでに完全にオッサンから初老に一歩足いれてるワシの観察によると
若い時分に「老害は新しいモノがわかってない!これからはこういう
新しい概念を理解してないとダメだ!」みたいなこと言って意固地に
なってたタイプほど、歳食ってから老害になるパターンが多い印象
逆に仕事で金もらえるならなんでもやりますよ、みたいなやつは
歳くっても頭が柔らかい。
2019/10/07(月) 01:25:08.70ID:lrWqKXHs
>>348
とにかく型定義ファイルがだるいし
それがあってるのかという型そのものへの疑心暗鬼が生まれてしまいメンドクセとなる
あと結局型の設計がJSっぽさ満開のライブラリだと
頑張れば型付けできるがそもそもの型設計が
クソ過ぎるため型パズルを解くことになるのもだるい
TSそのものというよりそれ含めた環境が地獄なので
相当難しい
2019/10/07(月) 03:45:48.89ID:DgIv4nW8
周りのレベルが今の自分のレベルだ
転職でもしてろ
2019/10/07(月) 05:03:01.05ID:QIpZdLTg
>>361
これはガチ
金になるからって理由で流行りものに広く浅く手出してるやつの方が実践的な経験たくさん積んでるし長生きしてる
365デフォルトの名無しさん
垢版 |
2019/10/07(月) 06:31:02.27ID:3jIy+7MF
自動プログラミングの登場はいつ頃?
2019/10/07(月) 07:25:58.80ID:Hsgiqw/b
>>361
プログラミングなんて一つ覚えれば他は応用で何とでも出来るからな
言語は設計者の信念や価値観が反映されるし
最近はその傾向が非常に強く濃く出てるからな
最後はその価値観や信念を受け入れられるか否かになってるね
2019/10/07(月) 07:31:12.89ID:qCRR4hB2
>>361
アラサーだけど完全同意
年齢というより本人の性格
2019/10/07(月) 07:37:22.63ID:BzP7XqMm
若いうちにガッツリ開発した経験があればいつでもやり直せると思うが
ずっとマニュアル通りの保守運用してた人とかは厳しい
2019/10/07(月) 08:02:52.03ID:gq2Iy46j
>>362
>とにかく型定義ファイルがだるいし

それ.d.tsの話だろ。
最近はnpmもかなりts対応が進んで、ここ1年以上自分でアンビエント宣言書いてないわ。
2019/10/07(月) 08:29:56.12ID:h7448PDh
スレタイからTS消したのに結局TS・JSの話しかしてねーな
2019/10/07(月) 08:47:35.90ID:Hsgiqw/b
女子小学生の話でもする?
372デフォルトの名無しさん
垢版 |
2019/10/07(月) 10:28:20.01ID:1PlTXyoA
>>371
淫行で捕まるぞ。
373デフォルトの名無しさん
垢版 |
2019/10/07(月) 10:57:43.97ID:AHm704BC
プログラマーがJSと仲良くなる方法?
一緒にスイッチやろうぜ!これだけでいい
2019/10/07(月) 11:45:38.96ID:FkpNSZjY
結局Scalaが世界中巻き込んだ大爆死して
型なんて適当でいいんだよ派のGoが覇権取ったのは
型キチにとって最高に都合が悪いから
露骨な話題反らししたり老害ペチパー連呼したりするんやろなあ
2019/10/07(月) 11:51:24.34ID:doyjmdg4
よきにはからえでそこそこ動くなら楽だしな
2019/10/07(月) 12:29:49.51ID:m2H16U2/
型煽りが来たしそろそろOS煽りの時間か?
2019/10/07(月) 12:53:15.71ID:0xOqyS7W
むしろJSからTSへ、RubyやPHPからGoへ、で静的型への移行が進んでいるのでは
2019/10/07(月) 13:24:28.37ID:FkpNSZjY
なるほどScalaからGoとみるかRubyやPHPからGoとみるかで確かに違うか
2019/10/07(月) 13:26:01.02ID:h7448PDh
GoがScalaを意識してたとか初めて聞いたわ
2019/10/07(月) 13:39:43.24ID:FkpNSZjY
意識してたかどうかはしらんが
最初にScalaとかの型ガチガチにやる言語と比べて
貧弱すぎて草生やされてたのはよく覚えてるわ
381デフォルトの名無しさん
垢版 |
2019/10/07(月) 13:51:30.39ID:nnDn0jE7
>>371
山梨でボランティアしてこい

遭難して迷惑かけるなよ
2019/10/07(月) 14:42:10.45ID:hqvHKnpo
そもそも型付けがガチガチとかゆるゆるというのが何を指してるのか分からん
HaskellでさえunsafeCoerceとかあるんだからある意味ゆるゆるな言語であるとも言える
2019/10/07(月) 14:53:32.91ID:qCRR4hB2
Goの型が貧弱とかゆるいとか言ってる奴馬鹿丸出しだぞ
あれガチガチの静的型付けだから
2019/10/07(月) 15:04:43.63ID:l10ZvE/b
>>383
静的言語の中でも型システムがしょぼいという話なのだが
2019/10/07(月) 15:07:40.94ID:8rzZpShe
Goの特徴として前から言われていたのはAOTコンパイラ
そして案の定JITコンパイラ言語が一つ消えた

実装と文脈を無視して、仕様を切り取ってはいけない
2019/10/07(月) 15:09:20.52ID:+VKWtedr
>>384
型システムが貧弱というのと型付けがゆるいというのは違う
2019/10/07(月) 15:12:42.08ID:qCRR4hB2
>>384
いや>>374>>380みる限り明らかに型がゆるいと勘違いしてるアホだろ
GOがよく叩かれるのは機能の貧弱さであって型付けの強弱や静動とは別の問題だから
2019/10/07(月) 17:56:10.83ID:uu8PmCQO
いい加減セミコロン排除してほしい
今時の言語にセミコロンは不要
2019/10/07(月) 18:02:04.24ID:38KztbOB
フレームワークを作る側と、フレームワークに用意された関数を呼ぶだけのドカタが
同じように話し合っても意味ないだろ

RailsがRubyで生まれたのは動的型のメタプログラミングのやり易さによるものだが
ドカタにはメタプログラミングなんて想像もできないだろ?
2019/10/07(月) 18:17:40.71ID:AKFeYH7t
セミコロンは必要
2019/10/07(月) 18:31:50.82ID:x4lHC0CM
セミコロンはあっていいわ
それよりlispみたいな括弧だらけをどうにかしてほしい
dartのことなんだけど
2019/10/07(月) 18:47:51.69ID:FkpNSZjY
>>389
型は辛うじて理解できるから型型言ってりゃ意識高く見えるんだろう
2019/10/07(月) 18:49:08.97ID:Y/GBaC3O
セミコロンないとウンコしたあとケツ拭かないみたいで気持ち悪いねん
屁しか出なかったから拭かなくて大丈夫でも一応拭いとかんと気持ち悪いんや
2019/10/07(月) 18:52:21.72ID:cA3PBaOt
ごく稀に魔改造されたフレームワークを見かけるけど
今までどういう経緯でなったのか理解できなかったけど>>389みたいな発達障害の仕業だったんやな……
2019/10/07(月) 18:53:23.79ID:Hsgiqw/b
前スレではTSはJSに型を付けた安全な言語!って言ってたのにどうした?
2019/10/07(月) 19:06:20.66ID:0xOqyS7W
TSはJSに型をつけた"JSよりは"安全な言語。
Rustも"C++よりは"安全な言語。

比較級と原級はまったく意味が異なるので混同しないように。
一般に、 old, older, oldest の実年齢は old が一番高いのだ。
2019/10/07(月) 19:56:06.76ID:8rzZpShe
盾の中で最上級になっても実戦でぶつかるのは盾と盾ではない
矛にあたるのはテストだよね
2019/10/07(月) 19:57:06.96ID:Bnp8iofU
rustが安全ね。。ライフタイム、所有権を気にしすぎてベタに長い関数書きまくりの糞コードで本当に安全といえるのかね。
399デフォルトの名無しさん
垢版 |
2019/10/07(月) 20:18:58.25ID:kUyRZ0JH
ライフタイムや所有件と関数の長さは関係ない
関数の長さと安全性も関係ない
まだ40行で疲弊してるの?
2019/10/07(月) 20:29:44.09ID:/nePTJSU
コードが長いから安全じゃないって意味わからんな
このスレの一部のヤツらは安全性の概念を勘違いしてるとしか思えんわ
2019/10/07(月) 20:34:57.02ID:Bnp8iofU
だからメモリ安全性だけ主張しても意味ないつってんのに理解力ほんとないな。
2019/10/07(月) 20:47:01.42ID:eb0jB4qD
まあRustならバカ避けになるから結果的には安全性に大きく寄与するだろう
Goなんかはキャズムを超えてしまってそろそろプログラマの品質が怪しくなってきたし
2019/10/07(月) 20:50:16.22ID:gq2Iy46j
goの型付けで言えば、interface{}をreflectで解決する一種の動的型付けに
頼らなきゃならん場面が多いのが問題だなぁ。
genericsが来ればだいぶ違うんだろうが。
2019/10/07(月) 20:55:20.01ID:E3Y64K5i
所有権やらライフタイムやらにうるさいせいで
本質的じゃないボイラープレートがぼこぼこ生えて
コードベース肥大化するせいで
本質的なロジックが簡単にバグ誘発する

くらい長々説明しないとわからない頭の持ち主なんだから仕方ないよ
2019/10/07(月) 20:58:55.32ID:0xOqyS7W
実際にRust書いたこと全然なさそうなレスだな
2019/10/07(月) 21:08:43.77ID:pt1d3CZh
馬鹿でも書けると書かされたPHPはどうなりました(ウィスパーヴォイス)
2019/10/07(月) 21:15:05.45ID:qj0M/v6c
所有権とか参照のライフタイム自体は「メモリの解放責任が今どこにあるか」「参照先がいつまで生きてるか」ってだけでRustの固有概念じゃないよ
C++でもというかC++でこそ所有権と参照のライフタイムはそりゃあもうRust以上に意識しまくらなきゃいけないし
その分ボイラープレートも増える
2019/10/07(月) 21:19:00.06ID:/nePTJSU
感覚で語ってるからちゃんとした説明ができないんだよ
それを直視出来ずに他人の理解力不足にしてしまう残念さ
409デフォルトの名無しさん
垢版 |
2019/10/07(月) 22:17:46.17ID:kUyRZ0JH
所有権やらライフタイムが本質的じゃないってあたり、お里が知れるな
2019/10/07(月) 22:22:55.53ID:gq2Iy46j
そこはまぁ、所有権を管理することがプログラミングの目的じゃないから。
2019/10/07(月) 22:38:08.74ID:doyjmdg4
本来やらなくていいことだしな
412デフォルトの名無しさん
垢版 |
2019/10/07(月) 22:38:10.35ID:kUyRZ0JH
あぁそうだな、型を宣言するは目的じゃないんだったな
2019/10/07(月) 22:43:04.33ID:8rzZpShe
本来の目的に近いのがテスト
ユーザーとテスターの見分けがつかないぐらい近い
2019/10/07(月) 23:04:18.39ID:cl0wfREQ
Rustで借用チェッカうっせえってなるのほぼ可変参照の唯一性ルールだよな
これはロジック上安全でもいちゃもんつけてくるパターンが多い

ライフタイムで怒られるときはほぼ確実にこっちが間違ってる
2019/10/07(月) 23:39:59.63ID:/QhusHM8
スコープ、寿命はc/c++でメモリ配置を考えながら組んでた経験あれば
むつかしい部分ないからね
2019/10/08(火) 00:25:44.45ID:la2PCv/l
>>402
なんかやたら流行ってるよな
一時期のRubyみたいな感じになってきた
そんな簡単に使える言語じゃないと思うけど
Webアプリならフレームワークあるから似たようなもんなのかね
417デフォルトの名無しさん
垢版 |
2019/10/08(火) 05:22:36.84ID:ZkhSnZVY
流行ってますぅ?
フレームワークといっても薄いのしかないからレールズ使いはDBと接続できなくて詰みそう
2019/10/08(火) 05:26:47.18ID:oovVfqie
GOの定番フレームワークって存在するの?
2019/10/08(火) 05:59:52.12ID:rn8OOmwA
プログラミングなんて誰でもできる単純作業になるのがベストなのにすぐマウント取ろうとするやついるよね

ゴチャゴチャ言ってるけどCRUDアプリしか作れないんだろ?
2019/10/08(火) 07:08:16.00ID:Jmhr+QJq
CRUDを笑う者はCRUDに泣く
2019/10/08(火) 09:40:11.68ID:ossa+Aur
誰でもできる単純作業と言われても
世の中にはforループすら理解できない人がいるらしいし

また初心者にプログラミングを教える機会があった
https://cpplover.blogspot.com/2019/10/blog-post.html
422デフォルトの名無しさん
垢版 |
2019/10/08(火) 10:11:34.52ID:RxkelW1a
江添亮
自由ソフトウェア主義者
C++ Evangelist
C++標準化委員会の委員
ドワンゴ社員
C++11本を執筆した。
株式会社ドワンゴで働いている。

あっ…(冊子
2019/10/08(火) 10:18:37.12ID:7cKqvKOl
>>422
俺より頭良さそう
2019/10/08(火) 10:55:55.69ID:i47vOFK4
察しもクソもC++界隈だとかなり有名な人だよ
425デフォルトの名無しさん
垢版 |
2019/10/08(火) 11:44:07.49ID:xX7RkViq
何の言語の経験もなくてforループって習った直後は理解出来んかったわ
あとで自宅でゆっくり考えて数日で判った中学生の頃

アセンブラでループはそれから1年くらいかかった
426デフォルトの名無しさん
垢版 |
2019/10/08(火) 11:44:13.61ID:RxkelW1a
信者キメェ
2019/10/08(火) 11:57:02.04ID:J68M6wrj
ぼくはC言語やり始めてif文の理解に2週間ぐらいかかったなあ
2019/10/08(火) 12:01:52.82ID:i47vOFK4
>>426
もしかして俺に言ってんの?
別に誰も支持してるなんて言ってないんだけど
1bit脳だとそういう認識しかできないのか?
2019/10/08(火) 12:51:53.77ID:E6btNQcP
警察の職質にキレた挙げ句国賠起こして返り討ちにあったやべえ人じゃん
2019/10/08(火) 14:27:14.90ID:YghuclWw
江添さん最初に会った時ガリガリだったのに
ひさびさに写真見てムキムキになってて笑う
431デフォルトの名無しさん
垢版 |
2019/10/08(火) 15:17:01.34ID:RxkelW1a
>>428
そうだよテメーに言ってんだよw

信 者 キ メ ェ ぞ
2019/10/08(火) 15:47:35.74ID:zZGBOeKz
信者ってかアンチの人だと思うんだけど
2019/10/08(火) 17:07:37.21ID:CeIhp1mK
江添がC++界隈で有名なのはただの客観的事実だぞ
いい意味で有名とは一言も言われてないのに信者認定とか顔真っ赤すぎる
434デフォルトの名無しさん
垢版 |
2019/10/08(火) 18:15:20.63ID:RxkelW1a
信者日和っててワロタ
2019/10/08(火) 18:57:02.95ID:K03/ai8s
どんな下らない事でも無知を指摘されると発狂するやついるよな
2019/10/08(火) 19:18:43.21ID:Jmhr+QJq
信者ですが何かくらい言ったレよ
2019/10/08(火) 20:02:06.77ID:kGAGzuS0
公開してるコードみれば江添、まったくコード書けないんだなってのはよくわかるよ。
めちゃくちゃ短いコードであれかよと思う。
2019/10/08(火) 20:05:02.35ID:FKrJkzdL
>>431
知能も沸点も低そう
2019/10/08(火) 20:42:47.73ID:kGAGzuS0
goroutine乱用しなけりゃgoは酷いことにはならんだろ。
まあバカは乱用するんだが。
2019/10/08(火) 21:18:32.69ID:J87hrB1p
goroutineは乱用してこそ華。
2019/10/08(火) 21:55:10.10ID:yWMK3iuQ
「ポインタ乱用しなければCは酷いことにはならんだろ」ぐらい無意味な意見
2019/10/08(火) 22:19:47.29ID:Jmhr+QJq
>>439
でもGo民たち、goroutineが書きやすいって言ってたじゃん・・・
■ このスレッドは過去ログ倉庫に格納されています