次世代言語26 TypeScript Swift Go Kotlin Nim

■ このスレッドは過去ログ倉庫に格納されています
2022/06/21(火) 09:27:46.30ID:5vOFCGpG
スレタイ(順番はRedMonk準拠)以外の言語もok

※ Rustは現世代最強言語なので除外します

前スレ

次世代言語25 TypeScript Swift Go Kotlin Rust Nim
https://mevius.5ch.net/test/read.cgi/tech/1650185555/
706デフォルトの名無しさん
垢版 |
2022/07/30(土) 08:30:05.00ID:PTbJKKoA
PHPで大きくなったのにな。
Rustで小さくなるのかな。
2022/07/30(土) 08:55:54.39ID:1qBADAB3
レトロゲーは永久保存され
クラウドはサービス終了する
クラウドとはそういうもの
2022/07/30(土) 09:19:48.59ID:nZbTiPiA
>>705
Rustのプログラミング生産性の高さから当然そういう流れになっていくわな
2022/07/30(土) 09:29:11.23ID:YI8isAMR
>>705
多分ザッカーバーグはRust使えないと思うわ
2022/07/30(土) 09:54:29.08ID:zHogqexf
いきなりどうした?
ザッカーバーグがrust使う必要なんてないだろ
2022/07/30(土) 10:01:43.95ID:5YkC3TrK
>>705
そのように多くの分野で今後じわじわとRustが主流になっていくのだろう
2022/07/30(土) 10:03:14.41ID:BLhd9RDX
生産性はGoが最強
ソースはKubernetesやGoogleなど大規模なソフトウェアで使われててコンテナ周りのツールはほぼGo製であること

生産性を考えたらGC言語であることは必須である
2022/07/30(土) 10:13:42.65ID:5YkC3TrK
>>712
それはRustが今のように安定&普及する前に作られただけやろ
今から新たなものはGoではなくRustとなりつつある
2022/07/30(土) 10:35:49.96ID:ubkbv7J1
facebookなら、大規模だから効率性にコスト割いても効果があるし、維持する為の人も確保できるだろうし、いいじゃん。
2022/07/30(土) 11:02:06.99ID:BLhd9RDX
>>713
なんかそういうデータあるんですか?それってあなたの感想ですよね?
2022/07/30(土) 11:07:03.94ID:ekgh2oqS
Rustは書きやすさと保守性の良さがええね
2022/07/30(土) 11:16:02.54ID:BN91FBRx
悔しかったらrustでdockerなりkubernetesなり作ったらいいのに。
できないよね?
2022/07/30(土) 11:16:50.46ID:YI8isAMR
え?
Rustは学びにくく書きにくく保守しにくいんだけど
もしかしてc++なんかと比較してる?
2022/07/30(土) 11:17:59.70ID:BLhd9RDX
ちなみにGoが広く使われているソースね
https://landscape.cncf.io/

有名なのを適当に上げるだけでも
prometheus,helm,vitess,jaeger,argocd,istio,influxdb

とか最近のコンテナ・クラウド周りのツールはほとんどGo製だね

Rustはあまり使われてないな、使われているにしてもリソース効率やパフォーマンスがシビアなソフトウェアであって
これは生産性を犠牲にしコストを払ったうえでリソース効率やパフォーマンスを追い求めて選択しているようなソフトウェアしかない
リソース効率やパフォーマンスより生産性を重視する場合はRustがGoに勝ることは100%ありえない
当たり前ながらGC言語が生産性で勝ることはないから、ソフトウェアの特性によってRustが適していることがあるのであって
Rust信者が全てGoを置き換えるとか吹聴しているの見ると笑ってしまうわ
2022/07/30(土) 11:30:44.56ID:oF6V4sWv
クラウド周りと相性いいのはgoroutineが便利だから

Goはエラーハンドリングどうにかしてくれないと仕方なく使うことはあっても積極的に使う気にはなれない
2022/07/30(土) 11:54:45.44ID:m0SGpnW3
Rust作った人(Graydon Hoare)より
Go作った人(ケン・トンプソン)のほうが賢くて偉大だよね
2022/07/30(土) 12:07:35.65ID:1qBADAB3
多神教を許さない者だけが二者択一しなさい
2022/07/30(土) 12:09:21.35ID:m0SGpnW3
腕が四本頭脳が二個あったら二つ言語選んでいいと思うけど
2022/07/30(土) 12:10:40.26ID:YI8isAMR
そんなことを言いだしたら
結局人類はjavascriptかcの二択になってしまう
この二つは今のところ替えが効かない

そんなの嫌だ
2022/07/30(土) 12:12:50.66ID:v+3Xyc3D
C++がウンコすぎるからGoが活躍する余地があった
2022/07/30(土) 12:33:28.27ID:s2073y24
>>700
オブジェクト生成が多くなると、GC実行コストよりメモリ領域確保・解放コストの方が高くなるという話があったかと思うけど、どこだか忘れた。
スタックの話をするなら、Javaとかでもエスケープ解析してスタック利用していると思うけど。どうなのかね?
2022/07/30(土) 12:50:07.02ID:zwdjEDGk
>>726
alloc/deallocをゴリゴリ呼ぶような処理は普通に書くとGC言語がはやくなることは多々ある
低レイヤーの言語でそれやるときはまとめて確保/解放するように書く
2022/07/30(土) 12:51:57.77ID:s2073y24
そういや、c/c++みたいにスタックに置くインスタンスとヒープに置くインスタンスを区別する言語てどれくらいあるのかしらん?
2022/07/30(土) 12:54:04.01ID:EF2/0cvh
Rustさえ使えばメモリは安心安全
2022/07/30(土) 12:57:52.28ID:YI8isAMR
>>729
コードが書き終わるかどうかは保証なし
2022/07/30(土) 13:03:07.00ID:s2073y24
>>729
初心者は無理だね。
初心者を無視したHaskellとかLispの二の舞。
2022/07/30(土) 13:09:33.66ID:/CjwjaIl
Haskellになれるんなら上出来じゃん
2022/07/30(土) 13:11:20.56ID:YI8isAMR
もうHaskellでしかコード書かないとかいう記事がいっぱいあったけど
あの人たちどうしたん?

副作用とかのご高説投げ飛ばして
もうRustでしかコード書かないって言ってそうなんだけど
734デフォルトの名無しさん
垢版 |
2022/07/30(土) 13:18:47.71ID:ZTMi/t93
ここまで全然次世代言語の話無し
2022/07/30(土) 13:26:07.79ID:lvsm0et/
>>727
アロケータの性能が問題になる場合はc/c++はそれ専用のアロケータモジュールを自前で用意するのが普通。
736デフォルトの名無しさん
垢版 |
2022/07/30(土) 13:34:22.66ID:PTbJKKoA
>>733
上位互換のRustへ移行したのでは?
2022/07/30(土) 13:41:46.57ID:YBnrvLJY
>>734
このスレはRustゴブリンやGoゴブリンに乗っ取られたのでシン・次世代言語スレを建ててそこでちゃんとした次世代言語の話に花を咲かせればよいのでは。
738デフォルトの名無しさん
垢版 |
2022/07/30(土) 13:45:54.51ID:PTbJKKoA
だから5chで次世代言語と言えば織田信長しかないのに、なんで無視するのさ。
2022/07/30(土) 14:03:54.41ID:7y/PdVwP
だって君たちFlixもGleamもスルーするじゃん……
2022/07/30(土) 14:15:21.87ID:YI8isAMR
ファッションプログラマはいりません
741デフォルトの名無しさん
垢版 |
2022/07/30(土) 14:23:08.85ID:PTbJKKoA
>>740
ファッションプログラマで検索してみると、株式会社オプトの人事部インタビューが出てきた。
ずいぶん上からなご意見をお持ちのようで、これじゃあ利益を上げる優秀な人間は採用できないだろうと思った。
742デフォルトの名無しさん
垢版 |
2022/07/30(土) 14:43:34.19ID:5b4tKXes
>>739
話題を振ってください
2022/07/30(土) 15:02:59.30ID:v+3Xyc3D
次世代言語といえばPonyが良いと思うよ
2022/07/30(土) 15:04:59.08ID:v+3Xyc3D
PonyはRustよりも安全
データ競合だけでなく、デッドロック、実行時例外が起きないことも保証されてる
745デフォルトの名無しさん
垢版 |
2022/07/30(土) 15:08:15.54ID:PTbJKKoA
良いかもしれんね。
2022/07/30(土) 15:23:50.77ID:jrTi3WXO
>>735
arenaで検索してね
2022/07/30(土) 15:27:43.89ID:1qBADAB3
>>733
副作用をエラーにするHaskellコンパイラは存在しない
副作用を誹謗中傷する人間が負けてコンパイラが勝っただけ
2022/07/30(土) 15:34:56.21ID:YI8isAMR
昔聞いた話

大隈重信が若いころ
字を書くのは自分が一番上手だ誰にも負けないと吹聴していた

ある時明らかに自分より上手な人が現れてそれでもう字は書かない
書かないから下手もクソもないって言いだして残りの人生で字を書かなかった
749デフォルトの名無しさん
垢版 |
2022/07/30(土) 15:38:59.20ID:5b4tKXes
>>743
面白いね
パフォーマンスに重点を置いてるみたいだが、GCあるし、ストップザワールドは発生しないんかな
アクターの概念も興味深い、意外に実践的な言語なのかも
2022/07/30(土) 15:39:13.75ID:ubkbv7J1
>>729
メモリ安全は、CやC++みたいな代替になり得る言語に対してはアピールになるけれど、GC有り言語に対しては、意味ないよね。
2022/07/30(土) 15:58:08.34ID:1qBADAB3
並行並列マルチタスクに対してはGCがアピールになりにくい

ブラウザのクッキーを消してもサーバー側のゴミは消えないから
2022/07/30(土) 15:59:01.24ID:KHG8L45z
>>750
メモリリークは「メモリ安全」だから仕様としてカバーしないおまけ付き。
2022/07/30(土) 16:19:21.47ID:JJS+3w9D
>>750
GC言語ならNull安全機構が現代言語の基礎機能
2022/07/30(土) 16:34:35.02ID:3yfXvlmT
>>742
>>56
755デフォルトの名無しさん
垢版 |
2022/07/30(土) 18:48:59.58ID:PTbJKKoA
ジョジョかよ。
756デフォルトの名無しさん
垢版 |
2022/07/30(土) 19:17:35.02ID:7D+RM/xA
GCあり言語はもうお腹いっぱいなのでGC無しorGC制御できる言語で頼みますわ。
757デフォルトの名無しさん
垢版 |
2022/07/30(土) 19:20:31.68ID:PTbJKKoA
C++はメモリー管理を自由に変更できる。
しかし、GCはほとんど使われていない。
ということは、メモリー云々はほとんど需要がないのでは?
2022/07/30(土) 19:33:32.66ID:2sMkvp6M
>>753
ところがnull安全でないGoというダメな言語があります
新たに作られた言語の中でGoだけが様々な欠点を抱えています
退化しているGoを次世代言語と呼ぶのは滑稽でもあります
2022/07/30(土) 20:34:13.98ID:1qBADAB3
C++以外のOOPでは、null安全は実装継承のボーナスみたいな感じ
実装継承を使わなければ無駄なポインタが増える
スタックガーヒープガーと同じ理屈で実装継承を使う方が勝つ
2022/07/30(土) 20:52:20.28ID:BN91FBRx
その欠点のある言語のが有名な基盤ソフトを作ってることについてもっと頭を使って考えようね。
2022/07/30(土) 21:13:52.36ID:SZsGBOts
Goは並行並列プログラミングを特殊化したC言語って感じ
今さらそんな貧弱な言語を使うのはヤダ
2022/07/30(土) 21:26:41.67ID:YNdaXkm1
>>758
ところがNull安全は本当に絶対必須でしょうか?あなたのコードはmatchでキチンとNoneを考慮しているでしょうか?
ログあるいはコンソールにメッセージを出し、終了あるいはpanicしているだけではありませんか?
言うほど熟練のプログラマになればなるほどNull安全など、どうでも良い事を「次世代」と言うことに疑問を感じるものです
ニワカと、口だけ雄弁で高い志と低い能力を持つものは、大変に有難がる

本当のNull安全の意味は、それはNoneでもNilでもなく、関数型言語のように変数の宣言と初期化が同時一体になっている言語のことです。
関数型言語の真似をするプログラミング言語が手続き型言語が増えていますが、
Result/Optionなどというプログラミング例外からの反動から来た戻り値の粘着的統一誇るようなNullが存在できない言語を
次世代言語と呼ぶのは*甚だ*滑稽でもあります
2022/07/30(土) 21:32:41.56ID:YI8isAMR
>>762
リアルな会話でで はなはだ や こっけい と言うワードを一切聞いたことがない
おじいちゃん世代かなあ?
2022/07/30(土) 21:32:55.93ID:xwnMTwge
>>761

なんでHaskellやScalaはGoよりも前に出てるのにGoだけ流行るの?

シンプルな言語が求められてるからでは?
2022/07/30(土) 21:54:11.36ID:RPaCgO4f
>>717
OCIコンテナはRust実装あるよ
2022/07/30(土) 22:09:21.95ID:MuK8+gHd
言うほどGo流行ってないけどな

それに使われてる理由は言語がシンプルだからじゃないんだよな
2022/07/30(土) 22:15:12.45ID:PnFWbFUc
>>762
Rustを叩くならRustをもう少しちゃんと学ぼうよ
RustのNoneはOption<T>型
つまりT型の変数にNoneは絶対に代入できない
コンパイル時点で静的にNull安全が保証される
もちろん最近の言語は当然備えている必須の性質(退化しているGoを除く)
2022/07/30(土) 23:25:28.07ID:zHogqexf
> 本当のNull安全の意味は、それはNoneでもNilでもなく、関数型言語のように変数の宣言と初期化が同時一体になっている言語のことです。
とかアホなこと言ってる自称熟練プログラマの相手すんなよ...
2022/07/31(日) 00:03:18.44ID:yCe0hy+/
>>767
Noneが代入できる・できないなんて話はしていない。Noneを正確に処理しているかという話をしている、「コンパイル時点で静的に」なんて話もしていない。
Nullを表すことが出来ないという話をしている
2022/07/31(日) 00:26:51.03ID:FStFDS54
>>762
キミはNull安全に詳しいんだね
本当のNull安全とやらを見せてくれ
2022/07/31(日) 00:34:03.03ID:AhwAlAAo
>>768
その難解?な文章が理解てきるなんておまえスゴイナー
2022/07/31(日) 01:13:59.69ID:1Fc8vI4A
>>769
普通の型(ポインタや数値や文字列など全て)がNullを表すことができないのがNull安全
Null安全な言語でNullを表すときは元の普通の型に対して特殊なNullableな型を用いる
そしてNullableな型はNullableを外して元の普通の型にしないとNullableなままでは元の型として使えない
つまり元の型とは別の型となっているためコンパイラが静的にエラーとすることができる

具体的にはRustならぱ元の普通の型Tに対してNullableな型はOption<T>となりNullはNoneと表記するNull安全な言語
このように表記は異なるがSwiftやKotlinなどもNull安全な言語

一方でGoはNullをnilと表記するがそのnilがそのままポインタなどに代入可能
つまり実行時にヌルポ参照のランタイムパニックが起きるNull安全でない言語
773デフォルトの名無しさん
垢版 |
2022/07/31(日) 04:44:43.27ID:pdOIFS3A
C++20のコンセプトのほうが色々使えて良いのでは?
2022/07/31(日) 05:29:20.33ID:21uzlcdA
>>772
>具体的にはRustならぱ元の普通の型Tに対してNullableな型はOption<T>となりNullはNoneと表記するNull安全な言語
なんだよこの説明w
おっさんもNull安全の意味わかってねーじゃん
長文書く度に墓穴掘るな
2022/07/31(日) 06:15:29.02ID:j7G9Xjcb
>>774
KotlinやSwiftといったNull安全な言語は全て同じその方式だぜ
T型にNullは許容されず、Nullable<T>型にのみNullを許容
両者の型を厳格に区別することでNull安全を保証
Nullable<T>型は言語毎に記述が異なり「T?」型だったりOption<T>型だったり様々
776デフォルトの名無しさん
垢版 |
2022/07/31(日) 06:33:53.74ID:pdOIFS3A
その程度ならtype_traitsで十分では?
2022/07/31(日) 06:53:26.13ID:j7G9Xjcb
C++は何でもあるとともに、ほとんどの機能は皆に使われない、失敗した言語
言語の機能は有効に洗練して採り入れてこそ、初めて意味を持つことを示した反面教師
Null安全に関しては、言語としてNull許容を制限できなければ意味を持たず、C++はもちろんNull安全ではない
778デフォルトの名無しさん
垢版 |
2022/07/31(日) 07:06:06.96ID:pdOIFS3A
でも、C++そのものは、みんなに使われてるよね?
Rustが足元にすら近づけないほどに。
2022/07/31(日) 07:13:07.41ID:UwyiR8NW
>>778
だからなに?
使われてて色々欠点も見えてきたから新しい言語が作られてるわけで
780デフォルトの名無しさん
垢版 |
2022/07/31(日) 07:16:07.63ID:pdOIFS3A
C++で使われない機能を主役にした言語を作っても使われないのでは?
実際、使われていないし。
781デフォルトの名無しさん
垢版 |
2022/07/31(日) 07:19:03.47ID:pdOIFS3A
なんだかんだ言ってC++は強力で便利なんだよな。
自分のやりたいことが実現できる。

何でもできるのは良くないことだから機能を制限するのは理論的に正しいのかもしれない。
しかしそれが使われるようになるのは難しいと思う。
2022/07/31(日) 07:36:22.56ID:kBDjWwI8
>>781
C++が失敗したから山のように様々な言語が出来てきた
C++は何でも出来るのではなく整理されていない後付け機能が多数あるだけ
ようやくC++と同じ速度で動く諸言語が出揃ったので過去からの蓄積維持を除いて今後はC++を使うメリットは全く無い
783デフォルトの名無しさん
垢版 |
2022/07/31(日) 07:50:16.84ID:pdOIFS3A
C++はあからさまに成功した言語だと思いますが。
2022/07/31(日) 08:06:27.82ID:yP580+hE
++してないC言語は今でも組込みやらカーネル界隈では現役バリバリだけど
C++として使ってるものに関しては必ずしもC++でやらなきゃいけないわけじゃないんだよな
2022/07/31(日) 08:29:01.99ID:ytAzHhbq
みんなの共通認識
C言語は1階平屋の素朴だけど長く住めるしっかりした家
C++はそこへ2階3階とどんどん縦へ建て増し横にも増築と違法建築状態のダメな家
部屋は大量に増えたけど住みにくいので使われていない部屋が多数
2022/07/31(日) 08:29:30.15ID:UwyiR8NW
>>780
> C++で使われない機能を主役にした
なんの事を言ってるの?
それあなたが(批判するために)勝手に主役だと思ってるだけじゃないの?
2022/07/31(日) 10:36:19.32ID:MJ3nboxa
>>775
おっさんほんとに不勉強だな
そんなんじゃ新人にもバカにされるぞ
788デフォルトの名無しさん
垢版 |
2022/07/31(日) 12:12:18.58ID:pdOIFS3A
C++20のコンセプトのほうが良いのでは?
2022/07/31(日) 12:13:40.14ID:FStFDS54
C++にborrow checkerがあればC++でもいいかもな
790デフォルトの名無しさん
垢版 |
2022/07/31(日) 12:15:54.80ID:pdOIFS3A
静的解析ツール使えば良いだけでは?
2022/07/31(日) 12:20:57.48ID:rndY06V7
Null安全は次世代言語に必須だな
これを省くメリットはない

>>790
ツール不要
Null安全な言語ならコンパイラがエラーとて指摘する
792デフォルトの名無しさん
垢版 |
2022/07/31(日) 12:24:56.81ID:pdOIFS3A
静的解析ツールなら、コンパイラとは次元の違うレポートを得られる。
2022/07/31(日) 12:28:11.09ID:XG1p6vz6
静的解析ツールタダじゃないじゃん。やたら時間もかかるし。
2022/07/31(日) 12:58:08.09ID:UwyiR8NW
>>792
C++でCoverity使ってたけどそれでもメモリー安全とかヌル安全は完璧には捉えられなかったけどね
完璧に捉えられるツールがあるなら教えてくれ

>>793
Coverityは差分解析とかもできるからそんなに時間がかかるって感じはしなかったけど
2022/07/31(日) 13:06:46.97ID:QQQkQO80
なんで仕事でもないのにC++使うんだろ
何にも意味がないのに
2022/07/31(日) 13:21:03.75ID:jgEDwA8h
高抽象度なものはC++向けのインターフェースしか提供されてなくて、自前でCからのFFIラッパー書かなきゃないけないけど書きたくないからかな……
2022/07/31(日) 13:29:59.32ID:FStFDS54
既存のOSSがC++が多いからな
みんなRustに移植されてればいいのに
798デフォルトの名無しさん
垢版 |
2022/07/31(日) 13:35:33.83ID:pdOIFS3A
>>795
何でもできるからでは?
799デフォルトの名無しさん
垢版 |
2022/07/31(日) 13:38:21.32ID:pdOIFS3A
極端な話、高位合成によってC/C++をハードウェア記述に使うことが当たり前に行われているけども、Rustでは無理でしょう。
2022/07/31(日) 13:39:24.24ID:hztgN1yG
でもRustはメモリが安全だよ
801デフォルトの名無しさん
垢版 |
2022/07/31(日) 13:41:40.43ID:pdOIFS3A
2021年秋にRustへの移行を発表して以来、Metaの時価総額はどんどん下がってますしね。
市場の評価は正直だと思いますよ。
2022/07/31(日) 13:44:03.00ID:QQQkQO80
>>797
いうほどC++のOSSって多くないような…
803デフォルトの名無しさん
垢版 |
2022/07/31(日) 13:45:52.08ID:pdOIFS3A
Rustへ移行する。

お花畑系か?

企業価値が下がる。

当然の成り行き。
2022/07/31(日) 13:55:24.43ID:QQQkQO80
メタクエスト2とか1.5倍以上に値上げするのを発表したばかり
売り上げが下がってもおかしくない
805デフォルトの名無しさん
垢版 |
2022/07/31(日) 13:56:08.98ID:pdOIFS3A
https://trends.google.co.jp/trends/explore?q=%2Fm%2F0dsbpg6,%2Fm%2F0jgqg
どうやらRustは日本でだけ突出して関心を集めてるようだけど。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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