次世代言語21 Go Nim Rust Swift Kotlin TypeScript

■ このスレッドは過去ログ倉庫に格納されています
2020/04/19(日) 15:06:02.92ID:jAOW5aqE
スレタイ以外の言語もok

前スレ
次世代言語18 Go Rust Elixir Kotlin TypeScript (実質20)
https://mevius.5ch.net/test/read.cgi/tech/1569866283/
132デフォルトの名無しさん
垢版 |
2020/06/19(金) 11:57:46.89ID:imkL+tNk
>>131
えー!!
教えてくれてありがとう
でもさ、言語ってさコンパイラ作ったら終わりじゃないじゃん
cmake、Mavenのようなビルドツール
Webフレームワーク
IDE
デバッカ(C++の場合finstrument-functionsよる実行時関数トレースまで出来る)
プロファイリング
Valgrindみたいな仮想機械
静的コード解析
コンパイラによる最適化
などなど言語作るって本当に大変だと思うんだけどRustがオープンソースでそこまでしてくれてるのかなーって思ったんだ
開発メンバーが優秀でもそこまで自分たちじゃ作れないもん
2020/06/19(金) 12:19:28.67ID:Q7Nlzsqk
全部込みなら結局.NETが最強ってわけよ
2020/06/19(金) 12:40:44.64ID:fVZkw9Lt
.NET使いが本当に.NET使えてるのか疑問に思うわ
2020/06/19(金) 12:55:25.35ID:Nn1N7UYA
>>134
「本当に言語(やフレームワーク)を使う」ってどういう意味?
2020/06/19(金) 15:23:42.80ID:Ipe4ECyW
Valgrindは言語非依存だろ
137デフォルトの名無しさん
垢版 |
2020/06/20(土) 15:52:56.50ID:NfAnNyQw
結局V言語のメモリ管理ってどうなったのさ?
2020/06/20(土) 16:06:26.98ID:s+0TrQkE
だから詐欺だって言ったじゃん
139デフォルトの名無しさん
垢版 |
2020/06/21(日) 20:59:09.47ID:jqoo3LUF
>>132
大企業のバックアップがいくつかあるから
うちでは小さな企業だけどいくつも製品に適用してる
2020/06/22(月) 01:34:11.04ID:vjvn7WrE
素人質問なんだけどNimってGCだからRustよりメモリ消費量が増大するのかな?
GCが優れてたらRustの出番なくなる気がするんだけど
2020/06/22(月) 07:52:04.28ID:YYa85moB
その僅かなGCもクリティカルになる場合で必要だから出番は無くならない
2020/06/22(月) 08:59:44.79ID:OECHtCBQ
そうかなあ
Rustのメモリ管理はどっちかというと、人間にとってある程度の予測可能性は犠牲にしつつもGCほどには不確定ではないっていう、
GC頼りからのクォリティアップのための選択肢としての性格が強い印象
本当に厳密に全てを人間が把握する必要があるような用途ならメモリは静的に確保するのが基本なんで、むしろC/C++で十分
143デフォルトの名無しさん
垢版 |
2020/06/22(月) 11:06:52.85ID:HUDePNlz
GCの問題ってメモリの使用量より実行コストなのでは
何にせよ「優れていてたら」という曖昧な評価を前提に議論するようなことではない
2020/06/22(月) 12:53:01.15ID:pgI7+Dvz
>>142
個人的印象じゃなくて仕様から動作説明しろよ
2020/06/22(月) 13:08:53.95ID:vjvn7WrE
>>143
コンパイル時間は多少かかるけど最適化されたcが出てくるから実行は早いんだよ
https://pbs.twimg.com/media/DoLuLlsUUAATlmC.jpg
https://twitter.com/nim_lang/status/1045659954923724802

ただGCにも限界あるし大きいファイル高速に処理したりとかは無理なんだろうな
https://twitter.com/5chan_nel (5ch newer account)
2020/06/22(月) 13:20:43.45ID:cZQabspg
まずGCがなんたるかを勉強してこい
2020/06/22(月) 14:27:48.17ID:5DKYw5ah
Rustはdropのタイミングでfreeされるんだから完全にコントロール出来るだろ
148デフォルトの名無しさん
垢版 |
2020/06/23(火) 02:21:40.09ID:LtGjLWJA
freeしてもすぐ解放されないよ
厳密にやるならそもそもヒープ使わないだろうし
glibcも使わないんじゃないの
2020/06/23(火) 11:33:30.58ID:bQuRMpOx
こういう反論されると話の最初の前提を勝手に変えだす
奴と議論するのは無益
150デフォルトの名無しさん
垢版 |
2020/06/23(火) 11:35:56.34ID:4kHZmTBE
動くゴールポスト
勝つとルールが変わる
2020/06/23(火) 11:53:24.52ID:EpfZjwCv
言い忘れたからって
現実に前提が存在してるときはしょうがないだろ!
2020/06/25(木) 11:21:03.93ID:XA10qT73
ガンダムみたいに戦闘しながら議論した方がいいかもね
そうすれば議論は勝敗やゴールとはあまり関係ないという事実がわかりやすい
2020/06/25(木) 12:30:00.05ID:i+VkGREF
基本議論しかできない掲示板でひどい開き直り
2020/06/25(木) 12:50:45.88ID:XA10qT73
ニュータイプは戦果を出すことしかできない機械なのか
という議論もガンダムでやったやつだ
2020/06/25(木) 14:19:19.47ID:oLCCqb60
次世代言語(笑)
やっぱり実績のある言語じゃないと

Announcing Perl 7
https://www.perl.com/article/announcing-perl-7/
2020/06/25(木) 14:27:20.56ID:t7+TBcnO
そういえば次世代みこそ薄いけど富岳はFortran,C,C++,Java,Python,Rubyだそうだ
京はFortran,C,C++,Java,Python,R,Rubyっぽい?のでR除外の理由が気になるところ
パッチ当てが追いつかなったって説はあるが
157デフォルトの名無しさん
垢版 |
2020/06/25(木) 15:34:28.47ID:2XRewe5U
描き忘れたに+1
2020/06/26(金) 03:31:18.99ID:4Xp41V6m
皆、移行したから

R, Matlab → Python → Julia
159デフォルトの名無しさん
垢版 |
2020/06/26(金) 21:12:36.04ID:Op8/e6Io
スレタイにflutterいれろよ
2020/06/26(金) 21:34:30.95ID:cCyoeEbx
言語じゃないし
2020/06/26(金) 21:39:30.43ID:TT3ZMIPw
言語じゃねぇし。Rails入れろ、WordPress入れろと言ってるようなもん。
2020/06/26(金) 22:07:41.65ID:Hs7cx7hb
DartならKotlinと同世代だしスレタイに入る資格あるんじゃね
ようやくNULL安全になりそうってレベルだけど
2020/06/27(土) 06:45:52.74ID:mR8TbkIn
>>100
>調べに草w

上手いこと言ってて草w
164デフォルトの名無しさん
垢版 |
2020/06/27(土) 09:16:57.07ID:e0+LQFD/
nimなんて聞いた事ないのねじ込んでくるなよ
スレタイから外せ
165デフォルトの名無しさん
垢版 |
2020/06/27(土) 10:11:44.16ID:QSLeN3Uh
喰わず嫌い良くない
Nim やってみなよ
2020/06/27(土) 10:22:27.59ID:aTkq7ke+
Nim Nanて何処Nimo使われてNaimoN
167デフォルトの名無しさん
垢版 |
2020/06/27(土) 15:27:43.23ID:e0+LQFD/
つかスレタイからElixer外したやつ誰だ?
なんで外したん?
2020/06/27(土) 15:31:40.51ID:Xu05bxNt
>>167
スレ立てる奴が好きに付け外ししていいから。
169デフォルトの名無しさん
垢版 |
2020/06/27(土) 16:50:26.92ID:PIc799Td
この半年くらいでRustが一つ抜けてしまったから他はどうでもいいわ
2020/06/27(土) 17:12:05.58ID:NFShXxR/
スレタイ入り言語ランキング
Rust:19回
Go:13回
Kotlin:12回
TypeScript:12回
Swift:8回
Haskell:7回
Scala:5回
Elixir:4回
Dart:3回
Julia:3回
Erlang:2回
Bospue:1回
Crytal:1回
V:1回
2020/06/27(土) 17:39:03.98ID:qbf/CKsA
つまり大器晩成だとおだてられ続けて気が付けば還暦を過ぎていたクソ言語
2020/06/27(土) 19:38:02.86ID:dHy1PVbN
Dart(Flutter)は新しい言語に興味を示さないタイプの同僚が
これはいいと使い始めてるからちょっと興味ある
2020/06/28(日) 08:45:17.63ID:UQNu08lk
Zigも入れようぜ!
2020/06/30(火) 12:15:19.76ID:FwIuBGzE
Zigは演算子がダサいから無理
175デフォルトの名無しさん
垢版 |
2020/07/01(水) 11:46:50.25ID:IfUrt5hg
スレありますか?
https://ja.crystal-lang.org/
https://ja.wikipedia.org/wiki/Crystal_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E)
2020/07/05(日) 20:04:09.93ID:0gld4/HX
Dartマジ無理
177デフォルトの名無しさん
垢版 |
2020/07/06(月) 10:37:27.36ID:vjiPzzt6
スレありますか?
http://kuina.ch/kuin/tutorial1
https://github.com/kuina/KuinInKuin
https://github.com/kuina/Kuin
2020/07/06(月) 12:34:42.05ID:KZ2tcQsg
クソ単発ガイジ
179デフォルトの名無しさん
垢版 |
2020/07/17(金) 12:19:32.48ID:x8/LfrV9
Haskell、いつの間にかマルチスレッド書き易くなってたから再参入して良い?


932 デフォルトの名無しさん[] 2020/07/13(月) 11:46:57.33 ID:Bw4cVoP9
Haskellによる並列・並行プログラミング読み進む内に、普通のシングルスレッドプログラムを簡単にマルチスレッドにする方法が書いてあった。

import Control.Parallel.Sterategies

main = (print.f) [9999800..1000000]

f xs = map g xs `using` parList rseq

g n = sum [1..n]

上の通り、シングルスレッドプログラムに
import~と、`using`~を追加するだけ。

コンパイルと実行の時にもコマンド引数が必要で、コンパイルの時、

>ghc -O2 filename.hs -threaded

と言うふうに速さ重視の最適化とスレッド対応を明記。

実行時にはスレッド数をNnの形で指定する。(ここでは2スレッドを指定)

./filename +RTS -N2

普通のプログラミング言語だと、シングルスレッドとマルチスレッドでは似ても似付かないコードになるから、これには感動した。
(2スレッドと4スレッドでもコードが違う事がまま有る中、これは本当に感動)

Haskellマジお勧め。
2020/07/19(日) 15:03:03.44ID:Xms4b6hK
Haskellにはseq=簡単、モナド=難しいという俗説があるようだ
181デフォルトの名無しさん
垢版 |
2020/07/19(日) 15:26:10.25ID:mM+s32W9
モナドは一言でいえば「箱から出して、何かして、箱に戻す」と言う動きに付けた名前。
モナドのreturn関数は箱では無く、階層として捉えたと考えられる。
「階層から降りて、何かして、元の階層へ『戻る』」

ただそれだけなのに、名前が無い(モナドとしか名前が無い)から、具体的に何なんだと言われても困るってだけ。
182デフォルトの名無しさん
垢版 |
2020/07/19(日) 15:29:14.11ID:mM+s32W9
詳しくは拙著「あっけなく覚えるHaskell」(kindle本)をご購入下さい。
2020/07/19(日) 15:43:05.45ID:UW3G0u72
こんな説明が下手なやつも珍しい
2020/07/19(日) 15:45:54.45ID:Xms4b6hK
モナド=型を書かない人には難しい
seq=型を書いたらモナドの再発明
2020/07/19(日) 16:06:36.18ID:kKBDrrZH
クラステンプレートのメソッドがモナド則満たしたものをモナド言ってるだけだぞ。
なおプログラム的に制約を満たすかどうかはチェックしない模様
2020/07/19(日) 16:25:35.06ID:OIQ5n+6G
プログラム的にモナド則を満たすか検証できる型システムを入れるのはめちゃくちゃ大変だし型推論も大変な事になるし記述しなきゃいけない量も爆発するから…
187デフォルトの名無しさん
垢版 |
2020/07/20(月) 21:31:52.03ID:kCiG6sTQ
もしかしてHaskellが難しいって言ってる人達って、モナドが何か分からないから難しいって言ってるだけだったり?
モナドが何かとかの理論的背景は難しいけど、モナドの使い方自体は難しくない。
スクーターの運転は難しく無いけどスクーターの構造は難しいのと一緒。
それでスクーター難しいってのは的外れ。

Haskellそのものは簡単。
それを支えるモナドや圏論の理論が難しい。

そこは切り分けなきゃ。
2020/07/20(月) 21:37:51.03ID:uvZgkaZD
初心者に説明する人が切り分けてないので。
嬉しそうに理論的背景を唱えてくる。
効果はばつぐんで深い眠りに落ちる。
2020/07/20(月) 23:31:34.22ID:L10CJ4Gi
哲学のモナドとまったく何の関係もないのだと納得するまで混乱しまくった
190デフォルトの名無しさん
垢版 |
2020/07/21(火) 00:09:36.21ID:O3jPbwEs
Haskellで書かれているので次期LinuxはWindowsの20倍速いという噂。
2020/07/21(火) 01:06:01.32ID:pGVS9bJf
うそだろwwwwww
2020/07/21(火) 21:35:47.16ID:nyC/Po7o
Linuxカーネルが難しい?Rustで実装しよう!
https://medium.com/nttlabs/linux-kernel-module-with-rust-d5363c2f9085

まとめ
現状、RustでのLinuxカーネルモジュール実装は、Rustだけなく、C言語でのカーネル開発知識も必要になり、C言語で実装したほうが簡単ということが分かりました。
しかし、全てのLinuxカーネルモジュールを、Rustで書き直すとなれば、この先10年間ぐらい、エンジニアみんなの仕事を作ることができます。業界愛ですね。
193デフォルトの名無しさん
垢版 |
2020/07/21(火) 23:46:13.85ID:4GG7eaxB
Dが出た頃に同じ様な話を聴いた覚えがある
MonaOSとか今どうなってるかなω
2020/07/22(水) 00:15:45.05ID:z4DE/LFz
C++と違ってRustにLinusが切れてないのは大きい
2020/07/22(水) 00:19:40.79ID:YZRjR+YG
ちゃちいコンパイラで判断できる安全性を判断するためだけに
Rustに書き換えるのか?
ナンセンスだ
196デフォルトの名無しさん
垢版 |
2020/07/22(水) 01:48:12.20ID:nm/iTumD
誰かが、RustでUnixライクなOS実装すれば、流行るかもね
2020/07/22(水) 08:26:18.70ID:C3ALD0gE
後のRunixである
2020/07/22(水) 08:38:41.88ID:VhKfQKt/
絶対この書き方しかしないのにチェーンメソッド連連書かされるのを省いたトランスコンパイラ作れば流行りそう
2020/07/22(水) 10:02:06.83ID:2Lry9Yzr
linuxのヘッダーマクロ地獄は確かにcで書く意味あるのか考えたくはなるわな。
コードジェネレーターとかやろうとしなかったのは気になるところ。
200デフォルトの名無しさん
垢版 |
2020/07/22(水) 17:20:34.61ID:rcYeJgob
なんでマクロごときでコードジェネレーターなんて出てくるんだ?純粋に疑問
2020/07/22(水) 17:37:18.31ID:2Lry9Yzr
マクロごときってw馬鹿は黙ってろよ
202デフォルトの名無しさん
垢版 |
2020/07/22(水) 20:44:27.83ID:7mpqS8Jd
>>187
Cや手続き型、副作用前提でやってたことをすべて代替できないとう意味で難しいんだろ
諸君らが愛してくれたscalaは死んだ。 何故だ!?
2020/07/23(木) 05:32:18.04ID:JJDBOEYA
_ だからさ
204デフォルトの名無しさん
垢版 |
2020/07/23(木) 10:48:15.71ID:LFdUt9xs
>>202
Haskellにも副作用はあるよ。
参照透明性が崩れないだけで。

一応メモリを扱う関数もある。
Haskellでハード寄りのプログラム書くならCで良いとは思うが。
2020/07/23(木) 10:57:16.86ID:1c3WMgKJ
>>202
c++の糞なとこばっかまねたからだぞ。
無駄に多い機能、無駄に長いビルド時間、安定しない実装。
どれもこれも糞だろ。
206デフォルトの名無しさん
垢版 |
2020/07/23(木) 11:10:31.34ID:LFdUt9xs
あ、手続き脳と関数脳の話か。
慣れたら関数脳の方が楽なのになぁ。

あと、手続き型言語の副作用のある処理を数学的に表すとこう。みたいな相関が見えて来るのは知見を広める意味でも触っておいた方が良い。
207デフォルトの名無しさん
垢版 |
2020/07/23(木) 13:04:58.57ID:Y70b/8hZ
実用的じゃないから誰も触らない
2020/07/23(木) 13:06:52.89ID:Eu0fAWmh
しくじっても、誰も笑わない
209デフォルトの名無しさん
垢版 |
2020/07/24(金) 04:50:25.42ID:6ZonvnML
Kotlin もよろしく
2020/07/24(金) 15:49:49.14ID:qTzVDhtt
C++とRustはsoとdllを諦めてるけどどうするんだろう
アプリにカーネルを丸ごと静的リンクするOSを作るのか
211デフォルトの名無しさん
垢版 |
2020/07/28(火) 19:04:04.55ID:KJ/jhVY+
Windowsなんて金優先のクローズドゴミ野郎だから対応しなくてもいいじゃん
2020/08/01(土) 10:58:02.60ID:AZmFmctv
macOSなんて金優先のクローズドゴミ野郎だから対応しなくてもいいじゃん
2020/08/06(木) 21:46:11.32ID:3hCyvjau
次世代ちっくな感じで大きめのwebアプリ作りたくなった会社は何言語使うのが正解かな?
2020/08/06(木) 21:55:44.41ID:64oFcyvB
>>213
マイクロサービスでpolyglot
2020/08/08(土) 15:20:26.95ID:Uq9PeiVW
>>213
Elm+Elixir/Phoenix
2020/08/09(日) 22:32:36.25ID:gljEqah4
GoとTSが安定だろうな
2020/08/09(日) 23:05:46.62ID:+Z5N4eB3
>>213
ASP.NET Core
218デフォルトの名無しさん
垢版 |
2020/08/11(火) 00:58:08.53ID:jdRsH5YI
ここにもMSガイジ湧いてて草
219デフォルトの名無しさん
垢版 |
2020/08/11(火) 01:00:35.20ID:jdRsH5YI
>>212
林檎ってことある事に
人の神経逆撫でしてくるよな
ヘッドセット買った後に
スマホにヘッドホン端子のジャック着いてないのに
気づいた時は本当に殺意を覚えたわ
2020/08/11(火) 01:17:36.94ID:6Dh6cPB7
>>218
TypeScriptもMicrosoftな
2020/08/11(火) 03:26:24.11ID:X5c8vKvD
耐障害性のある、Erlang VM 上で動作する、Elixirは、Ruby を関数型にした言語で、
Heroku, Nintendo Switch、ドワンゴ、LINE などの分散型でフォールトトレラントなアプリで使われている

作者のJose Valim は、Ruby on Rails のコミッター

Ruby の伝道師で「達人プログラマー」の著者・Dave Thomas の本も出てる。
プログラミングElixir、2016
222デフォルトの名無しさん
垢版 |
2020/08/16(日) 03:33:43.19ID:DO9VjcLp
もう何日も書き込みが無い
次世代言語なんて幻想はもうどこにもないんだ

プロセッサだって、もって後数回しかシュリンクできない
2020/08/16(日) 10:30:41.58ID:csiWOmGY
RustとGoで良いだろ、マークアップ除いて後は要らん。わりとマジで
2020/08/16(日) 11:49:34.88ID:9EO0Sudk
まあどんな言語使ってもそんな生産性変わらんわってのが広まってるんだろ。
この言語使えば〜みたいな詐欺はもう流行らん。
2020/08/16(日) 12:15:40.03ID:Gx64LiTB
逆にどの言語使っても生産性変わらんから
スクリプト言語から速度的に優位なgoに移ってきてる気がする
2020/08/16(日) 13:38:06.99ID:A8I8zPK7
言語でもツールセットでも生産性変わる
多言語使わないやつにはわからない

用途に適した言語、道具が揃ってる言語を選ぶ能力の有無が
生産性を左右する最大の要素
227デフォルトの名無しさん
垢版 |
2020/08/16(日) 18:40:27.51ID:PSKVDlvX
三流プログラマは自分がコードを書いているときの効率を生産性と評価するんだよね
それは誤りだと気づく能力が生産性を左右する最大の要素
2020/08/16(日) 21:11:53.03ID:A8I8zPK7
>>227
それは全体最適を理解する最初の一歩でしかないので
生産性を左右する最大の要素にはなりえない
2020/08/16(日) 22:30:13.57ID:Degs0Zl8
Ruby on Rails なんて、いかに自分でコードを書かないかが、生産性を決める。
ほぼ、技術選定を同じ。
だから、Rails をやった人は、若くして重役になる。
上流工程だから

有名なYouTuber、雑食系エンジニア・KENTA も言ってる。
サーバー側・上流工程がプロジェクトを請け負って、価格を決める

逆に、下流工程専門のJava 土方は、奴隷から上がれない。
でも、コーディングばっかり出来るから、一人でやれるから、煩わしくない。
他人と協調しなくても良いから。
その代わり、給料は上がらない

Rails には、credentials、データベース機能、S3 へ保存、websocket、サムネイル作成、メール送受信など、
アプリに必要な全機能が揃っている
2020/08/17(月) 02:06:21.48ID:CkOUws2q
railsは最近のフレームワークに比べると
設計古い分だけ苦しいんだよなあ
なんでもかんでもそろってるというのはあるけど

それに輪をかけてRubyの古さはどうしようもない
231デフォルトの名無しさん
垢版 |
2020/08/17(月) 10:16:37.44ID:JNS55LaW
RいるずとかRびぃとかで生産性が上がると思ってる香具師は三流
2020/08/17(月) 10:32:02.74ID:gOpuo4mW
railsで全てを悟ったような事を言う奴って
railsしか触ったこと無い奴が多い

上流とか下流とかいう奴も
設計書見なけりゃプログラム書けない奴が多い

有名なYoutuberはわざわざ「有名な」なんて付けない
有名なら「有名な」なんてつける必要が無いから
有名なヒカキンとは言わんだろ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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