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

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2022/04/17(日) 17:52:35.38ID:KG26dcth
スレタイ(順番はRedMonk準拠)以外の言語もok

前スレ
次世代言語24 Go Nim Rust Swift Kotlin TypeScript
https://mevius.5ch.net/test/read.cgi/tech/1647887021/
2022/04/30(土) 02:17:19.37ID:Z7DxbzXv
>>387
Goだけがどの話題でも機能不足との結論になっていて悲しいです
2022/04/30(土) 02:24:06.80ID:iqR9XqAh
クラス継承しか知らないプログラマーは何でも継承で表現しようとするために失敗しているわけだから
継承のないプログラミング言語で修行させればそこは学習できるはずだ
2022/04/30(土) 03:12:19.75ID:TIk5gKqZ
実際言うほど継承使わないからなぁ
共通的な部分を継承で済ます場合はあるけど
データもその共通部分がはっきりしているなら親クラスで定義するけど
ただフレームワークを使ってたらコントローラはControllerから継承みたいなのはどうしてもあるが
2022/04/30(土) 03:18:56.57ID:QdZCFn9O
>>397
そこは移譲ではダメなの?
2022/04/30(土) 05:30:17.12ID:ES8eyWNp
typescriptは不要だな。jscript .netといっしょで空虚だ。
2022/04/30(土) 08:27:54.46ID:UilcMqZz
マイクロソフト、JavaScriptに型宣言を追加しつつトランスパイラ不要の「Types as Comments」をJavaScript仕様策定会議のTC39に提案へ
https://www.publickey1.jp/blog/22/javascripttypes_as_commentsjavascripttc39.html
2022/04/30(土) 11:29:38.19ID:8xaJAFlZ
継承自体は悪くなくて設計が悪い
実際継承使わないパターンが多くなったのでそれもどうでもいい

クラスに当たるものに委譲で継承的なことをすると状態が問題になる
そしたら状態を持つのが悪いと言うまた不思議な話になる

そしてどんどん学習時間取られてみんな疲弊していく
2022/04/30(土) 11:37:07.51ID:8xaJAFlZ
委譲元のクラスが単体では問題なく動くのに組み合わせるとテストを通らない

よく見ると以上元のクラスの内部状態が必要になってるけど公開されていない
完全な設計ミス

interfaceに必要な要素を追加…などできずデフォルト実装を追加
こうしてゴミが出来上がる
2022/05/01(日) 13:19:33.60ID:GvRRQSqT
継承はそのオブジェクトの内に閉じた処理、オブジェクトの外の処理でもリスコフ置換原則が成立する範囲ではスマートでいいと思うよ
ただ現実的な話、ビジネスルール自体がそうなってないケースが多い
オブジェクトの外の処理は多くの場合、処理対象の子クラスの型で分岐を求められる
これにオブジェクト指向で対処しようとすると、めんどくさいデザインパターンの洪水に呑まれる

オブジェクトの内側のことは継承でエレガントに実現しておk(嫌いなら使わなくてもおk)
外側のことは地道にpattern matchingで泥臭く頑張る
これでいいと思うね
2022/05/01(日) 14:26:43.52ID:TYpzgypv
キチガイ隔離すれの本領発揮
2022/05/01(日) 15:30:58.63ID:1sKYDrOo
RustもJuliaやGoみたいに廃れて消えていく気がしている。
https://qiita.com/AKKYM/items/78c04840bc72d9db834d
2022/05/01(日) 15:37:27.28ID:KjQtFKQ9
ポエムすぎ。
2022/05/01(日) 16:13:59.61ID:KIr6c+FR
このRustと同じ分類となる、更に便利な言語が登場しないと、Rustを置き換えることが出来ないだろう

> プログラミング言語は以下の3つに分類される
> CとC++ ←『省メモリ高速』だが、「メモリ解放でミスると危険」
> GC言語 ←『省メモリ高速』ではないが、「メモリ解放は自動で気にしなくていい」
> Rust ←『省メモリ高速』だが、「メモリ解放は自動で気にしなくていい」
2022/05/01(日) 16:14:52.25ID:1l9w5D7n
>>405
妄想でつか?
2022/05/01(日) 21:23:49.61ID:Z7VnuZFm
JuliaはFORTRANを駆逐できましたか?
2022/05/01(日) 22:23:58.30ID:BE/fpmM/
https://mun-lang.org/
Mun触ったことのある人いる?
ぱっと見GCつきのrustみたいに見える
2022/05/01(日) 23:42:24.67ID:/piMIc6O
>>410
文法や基本型はRustと同じっぽいね
ドキュメントを見る限りでは非常に小さいサブセットで開発途上なのかよくわからない
2022/05/02(月) 12:37:31.52ID:LXFM7yFt
>>407
その分類、そもそもニーズが大きくない気がするし、
このまま競合は現れずに行きそうだよね。
2022/05/02(月) 13:23:34.89ID:2hhO4/Db
>>410

Dlang: C++風のGC言語
Crystal: Ruby風のGC言語
nim: Python風のGC言語
Vlang: Go風のGC言語
Mun: Rust風のGC言語 ← New!

こういうこと?
2022/05/02(月) 13:56:24.42ID:nH+No7UX
VlangはGC無かったと思った
2022/05/02(月) 14:17:19.74ID:2hhO4/Db
>>414
ほんとだ、ありがとう
2022/05/02(月) 16:08:02.28ID:btF26FKd
>>412
重視されているからこそ
C/C++からRustへの移行(安全化)だけでなく
各種GC言語からRustへの移行(高速化)が起きている現実
2022/05/02(月) 16:39:23.58ID:zwMG9j3G
>>416
ないわ~
pythonからRustってありえないよ
2022/05/02(月) 17:38:01.22ID:/8s7agyt
NumPy, SciPyのライブラリの実装FORTRANをCにベタ移植して更にC++でラップしたような物ばかりだったけどRsutへの移行は順調に進んでいますか?w
2022/05/02(月) 18:06:45.99ID:+Vpltyoe
それらPythonの使い方は単なる皮言語だからな
次世代言語スレで皮言語を持ち出す時点で頭おかしい
2022/05/02(月) 18:19:24.75ID:cySxIzYo
>>418
どの分野でもどの言語でも同じだけど
他の言語に移行するのは新たな物(仕組み・システム)を作る時だよ
そのまま移植は非常にレアケース
例えば古すぎるたり性能面で難があるけどアルゴリズムだけだから再設計せずそのまま他言語へ移植など
2022/05/02(月) 18:33:01.46ID:LXFM7yFt
>>416
GCあり言語では、データ構造は気にしても、
メモリ操作を意識している人は、少数じゃない?
だから置き換えは、結構ハードル高いと思うけれど。

>>417
Pythonは、グルー言語でもあるから、
単純な置き換えは、そうそう進まなさそうだよね。
2022/05/02(月) 18:40:21.71ID:YtZJWkql
>>421
メモリ操作とは具体的になあに?
めったにない特殊なケースは除くとしてハードルが高いことなんて無いんじゃないかしら
2022/05/02(月) 18:48:20.40ID:/8s7agyt
>>422
低レイヤー言語だとメモリ読む前にキャッシュしたりアライメント揃えたりするでしょ
2022/05/02(月) 18:52:18.84ID:qXzB3q2R
>>423
何それ?
よほど特殊なことをしない限りそんなコードを書くことはないよ
C言語でもアライメント気にせずに変数に値が入るし変数そのものがキャッシュだし
2022/05/02(月) 18:55:15.58ID:/8s7agyt
>>424
426デフォルトの名無しさん
垢版 |
2022/05/02(月) 19:01:36.90ID:srM4fb0r
>>424
他人のこさえたライブラリと構造体を受渡するときなんかは意識せざるを得んよな。
コレはレアケース?
2022/05/02(月) 19:06:45.80ID:TE2kIXA8
>>426
それはFFIと言って低レイヤー言語だけの問題ではない
PythonでもJavaScriptでもある

元の話題
>>423
> 低レイヤー言語だとメモリ読む前にキャッシュしたりアライメント揃えたりするでしょ
2022/05/02(月) 19:16:29.24ID:nqnbrNKO
例えばSIMD命令使うのが "よほど特殊なこと" に該当するかどうかという話?
2022/05/02(月) 19:29:07.60ID:TE2kIXA8
この流れでFFIもSIMDも関係ないと思います
GCあり言語の普通のプログラムをGCなし言語へ置き換える話をしています

>>421
> GCあり言語では、データ構造は気にしても、
> メモリ操作を意識している人は、少数じゃない?
> だから置き換えは、結構ハードル高いと思うけれど。

>>422
> メモリ操作とは具体的になあに?
> めったにない特殊なケースは除くとしてハードルが高いことなんて無いんじゃないかしら
2022/05/02(月) 19:31:38.61ID:LXFM7yFt
メモリ操作って言い方が曖昧なら、スタックとヒープを意識するかしないかって言い方ならどう?

GCあり言語でスタックとヒープを意識するような事ってあまり無いと思うんどけど。
2022/05/02(月) 19:44:24.10ID:xCWuNsuo
>>430
GCなし言語でどうしてもスタックとヒープを意識しないとプログラミングできないことってある??
2022/05/02(月) 20:03:38.83ID:nqnbrNKO
>>431
ありなしで言ったらあるでしょ
性能意識するコードとか
2022/05/02(月) 20:09:21.38ID:9bp9MTNx
>>432
それは性能をよっぽど気にする特殊な場合だけでしかもその中の一部のコードだけやろ
それ以外は関係ないやん
2022/05/02(月) 20:41:15.68ID:hiZvMXbQ
言うほど低レイヤーコード書いてるやつはここにはおらん。
だから話がおかしな方向に行く。
2022/05/02(月) 20:50:55.80ID:cNSfGfye
>>434
GCあり言語のコードをGCなし言語にする話だから
低レイヤーコードなんて一切関係ない
2022/05/02(月) 22:55:54.22ID:54UIx2Ed
スタックは普通に意識するでしょう、末尾最適化されてないナンチャッテ意識高い系の再帰呼び出しとか直すけど・・・
GCアリ言語でも無しでも、スタックサイズは普通に意識する。
ヒープは言うほどRustは組み込みに使わないし、トヨタが使うというてもそれはメモリコンパクションのあるようなOSが載ってる場合だから
本当の組み込みじゃないし、でもアロケーターが64byte-4kでもVec::with_capacity(size);とか普通にIO系の処理では意識するでしょ
2022/05/02(月) 23:14:26.49ID:zFIpg6hX
>>436
Rustはヒープ無しでも動作するからヒープを意識しなくていいのはその通りだが
ヒープが有る場合でもVec::with_capacity(size);等は動作最適化を手動でする時のみ必要であって、
プログラマーは何もしなくても全自動でcapacity拡張してくれるから意識しなくてもよい
2022/05/02(月) 23:25:13.41ID:nqnbrNKO
>>433
そもそもの質問が「ヒープ意識しないとプログラムできないことってある?」だから、反論になってないよ
頻度は問題にしてなくて有無の話だから
2022/05/02(月) 23:32:26.49ID:uvbh46KP
>>438
それは君の方がおかしい
今回のこの文脈ではそこは意識する必要がない

>GCあり言語の普通のプログラムをGCなし言語へ置き換える話をしています

ベクタの使用領域の大きさはどちらの言語でも自動的に拡張してくれるのに任せればよいから意識しなくてよい
2022/05/02(月) 23:45:32.15ID:2hhO4/Db
GCありの言語で循環参照するようなデータの持ち方をしまくってるようなコードだったりすると、
そのまま移植できないだろうし面倒かな?
場合によってはRustでいうArenaみたいなのまで持ち出して再設計しないといけなそう

移植なんてしたことないしあくまでも想像だけど
2022/05/03(火) 00:46:48.18ID:Hze7UEQ+
>>437
”Rustはヒープ無しでも動作する”、不正確でダウトといっても良い。”Box<T>を使わない場合、Rustは最小のメモリで動作する”
一般的に最小のメモリとはプログラムをメインメモリにロードした領域であり、それ以外にも、ヒープ解析すればRustの場合は、
Config structなどが多数メモリにロードされていることが分かります。後半の文は意味不明。
2022/05/03(火) 00:49:19.56ID:owaZy9f2
GCあり言語って一絡げにできるほど似通ってるんだっけ
2022/05/03(火) 01:10:00.15ID:Fo6zlgca
>>441
知識が浅すぎる
Rustはヒープ無しでも動作する、で正しい
そのためRustの標準コアライブラリcore::はヒープ無しで動作するように作られている
std::のうちcore::以外の部分はヒープを用いており明確に両者は区別されている

>> ”Box<T>を使わない場合、Rustは最小のメモリで動作する”

意味不明
Box<T>はヒープを使う型の一つに過ぎない
それ以降の記述は全く意味不明
2022/05/03(火) 02:44:39.08ID:x2jyG4Fk
まじきち隔離所、顔真っ赤になってww
2022/05/03(火) 02:45:30.07ID:fvC5V6zC
まーたRust信者がスレハイジャックしてる
2022/05/03(火) 02:51:30.24ID:K+UwgLRo
ベアメタル等OSなしでも動作しないといけないため
Rustはヒープを前提とせずに動くよう設計されている
2022/05/03(火) 04:29:19.13ID:5MBm6VS9
>>444
本当はスレ民のことが気になって仕方ないだろ?
隠しても無駄www
2022/05/03(火) 06:00:49.14ID:iYuWu8Ht
なぜせっかくRustで作られたブラウザを除外するかね?

「NHKプラス」、「Firefox」での視聴が不可能に 5月23日から推奨ブラウザを「Microsoft Edge」「Google Chrome」「Safari」に限定 [孤高の旅人★]
https://asahi.5ch.net/test/read.cgi/newsplus/1651490664/
2022/05/03(火) 06:33:11.84ID:fvC5V6zC
>>448
そのどれかのブラウザがインストールされてない端末って何がある?
Linuxと組み込みくらい?
2022/05/03(火) 08:05:32.71ID:JBdnv4nv
「Firefoxはバグ
2022/05/03(火) 08:06:08.35ID:JBdnv4nv
訂正:firefoxはバグが多いの?
2022/05/03(火) 10:17:41.36ID:vk1zxqeV
Chromeより軽くてFirefoxオススメ
2022/05/03(火) 11:37:27.15ID:+GUXg/j9
>>448
もし本当に視聴不可となったら技術力が無さすぎる
昔ならともかく今の時代にブラウザ依存なコードを書くのはダメなプログラマーの典型
視聴不可ではなく動作確認するブラウザの数を絞るなら理解できる
2022/05/03(火) 11:57:44.21ID:TRGOwhZ/
> 「Firefox」など、上記3ブラウザ以外での動作はもともと確認しておらず、推奨ブラウザには加えていなかったという。
> 「5月23日以降に予定している設備更新に伴い、Firefoxでは動画が完全に再生できなくなる

どういう設備更新なんだろうな・・・
WebKit系じゃないと使えない仕組みがあるのか
2022/05/03(火) 12:01:19.67ID:WbhGI2Ja
今どきはブラウザ依存な書き方する方が面倒だろう。普通にテストしてないだけでは。
2022/05/03(火) 12:02:22.58ID:WbhGI2Ja
>>454
あ、本当に動かなくなるのか。
2022/05/03(火) 12:10:09.97ID:DDJgB2x8
chromiumにしか実装されていない独自拡張機能に依存したAPIに手を出したとか??
でもSafariで動くなら違うか
Firefoxでだけ動かないコードなんて可能なのか??
2022/05/03(火) 12:29:47.29ID:wY2/8p8r
Chromiumは現代のIE6ですから
2022/05/03(火) 12:49:05.47ID:owaZy9f2
そういえばchromeにrust使う話ってどうなったんだ?
2022/05/03(火) 19:12:46.20ID:iYuWu8Ht
>>459
ああ、ごめん。さぼってたわw
2022/05/03(火) 19:19:05.53ID:fvC5V6zC
たしかFirefoxもまだ全部はRustに治せてないんだろ
2022/05/03(火) 19:33:27.34ID:5FiUhjhg
>>461
君は何らかの大きなシステム開発に関わったことがないのかね?
どんな言語と言語の場合でも一気にやることは不可能かつムダ
新規部分や改修部分に絞って手を付けていく
2022/05/03(火) 20:16:20.57ID:fvC5V6zC
>>462
なるほど
だからよそと違ってバグまみれとか言われるんやなw
2022/05/03(火) 20:22:09.94ID:jGM9XRro
Chromeの方がセキュリティバグ多いよな
頻繁にバージョンアップしろと言ってくる
2022/05/04(水) 19:26:52.80ID:mmwxiGlB
>>464
JVN iPedia - 脆弱性対策情報データベース。https://jvndb.jvn.jp/
期間指定なし
・safari 884件
・edge 1054件
・firefox 1989件
・chrome 3464件
期間指定2018/01から
・safari 48件
・edge 391件
・firefox 492件
・chrome 937件

とはいえ、Chromeのほうがローリングリリース・ローリングアップデートの期間が短い(現在は4週間)2021/3頃から6週間から変更された。
以前はFirefoxはローリングリリースを採用していないかった。またChormeの使用者がFirefoxより10倍なので脆弱性も発見されやすい。
何かと問題なSafariの脆弱性がこれだけのはずが無く、脆弱性報告数=危険なブラウザとははっきり言えない
2022/05/04(水) 19:52:07.53ID:htgGZwEX
途中まで数字で語ってるのに最後だけ願望になっててワロタ
2022/05/04(水) 21:47:24.52ID:8rho1RVn
go-tour-ko.appspot
.com
2022/05/05(木) 01:24:23.06ID:e3BB3pKX
>>466
Appleに報告した脆弱性、数カ月放置の後に「現在、調査中です」の返答
https://appleinsider.com/articles/21/09/27/apple-still-investigating-unpatched-security-flaws-in-ios-15
2022/05/05(木) 09:45:52.65ID:M81p8ixH
木を見て森を見ずという言葉を考えた昔の人はいいセンスしてる
2022/05/05(木) 13:55:59.94ID:R5uUYm15
Appleって莫大な利益を何に消費しているのだろうね
471デフォルトの名無しさん
垢版 |
2022/05/05(木) 17:00:01.71ID:SGcHNlDo
>>448
そもそもNHKは見ないのでどうでも良い。
2022/05/05(木) 19:17:07.87ID:C9QWuoSO
>>470
そんなこと気にして何になるの?
473デフォルトの名無しさん
垢版 |
2022/05/05(木) 19:26:31.90ID:kRCOTufr
>>472
ウィグル弾圧に使われてる可能性が高い。
474デフォルトの名無しさん
垢版 |
2022/05/05(木) 19:30:55.61ID:kRCOTufr
Rust厨がウザいからだろ。
475デフォルトの名無しさん
垢版 |
2022/05/05(木) 19:32:25.99ID:kRCOTufr
いまどきウェブ見てて落ちるブラウザなんてファイアフォックスくらいだし、そこらへんは忠実にネスケ以来の伝統を受け継いでて驚く。
2022/05/05(木) 19:35:07.40ID:Z9g54GsT
トリビア:Firefoxユーザーはレベルが高いの致命的なバグがあっても自分で治して使っている
2022/05/05(木) 20:13:12.39ID:3l2hzI76
>>475
ここ数年間の常用者だがFirefoxが落ちたことがない
もしデマカセを言っているのでないのならばどういう状況で落ちたのか語ってほしい
2022/05/05(木) 20:34:46.36ID:CLlK/Ylr
かまちょかまちょ
2022/05/05(木) 21:13:15.17ID:/HQ4632l
>>475
Chromeは週一ぐらいで落ちる
IME変換中に間違えてファンクションキーを押すと落ちる
2022/05/05(木) 21:25:28.06ID:i3pjo8Ig
落ちるOSってありそう
2022/05/05(木) 21:27:55.65ID:gPHNd8vO
>>477
数か月前に頻繁にメモリ不足で落ちてた。タブがクラッシュする
2022/05/05(木) 21:55:22.29ID:V626dp+O
>>481
それメモリが少なすぎたとか
メモリを超える巨大なデータを読み込んだとか
無数にタブを開いたとかそういうオチだろ
483デフォルトの名無しさん
垢版 |
2022/05/05(木) 22:30:44.53ID:VIM8YOLC
逆に100兆個のタブを開いて落ちないブラウザってどれ?
2022/05/05(木) 22:35:06.99ID:NMIyHyw2
メモリ不足で落ちないブラウザもないと思います
2022/05/06(金) 04:53:59.90ID:qTXbaZrR
メモリ不足を、クラッシュせずに通知くらい【余裕】にできないと。

当たり前のこともできない。所詮現世人類の我々の技術力はそこまでということだ――
486デフォルトの名無しさん
垢版 |
2022/05/06(金) 06:06:43.53ID:dyg36AcX
>>477
Windowsでタブレットモードにしてると頻繁に落ちるな。
487デフォルトの名無しさん
垢版 |
2022/05/06(金) 06:07:47.49ID:dyg36AcX
落ちるというか、無限ループしてるっぽいんだよな。
入力を受け付けず、タスクマネージャで見るとCPUをぶん回してる。
2022/05/06(金) 06:15:30.69ID:pLpPuHCg
Linuxでは落ちないよ
489デフォルトの名無しさん
垢版 |
2022/05/06(金) 06:56:47.40ID:dyg36AcX
頻繁に落ちるのに、落ちないとか信者が言い張るのも、ネスケ以来の伝統だよな。
2022/05/06(金) 07:00:58.40ID:eCfsRziE
英語設定のLinuxだけど落ちないよ?
バグってるのはサイトかホストなのでは?
2022/05/06(金) 09:07:58.30ID:PZ471HHG
Windowsでここ何年か使ってるけれど、
特に気になる動作は無いけれどな。

Edgeの印刷で返ってこない方が辛い。
2022/05/06(金) 09:58:30.45ID:+sslkA2r
FireFoxで微妙に表示が崩れるとChromeだとちゃんと表示されるのか気になる
表示させてみて同じだとホッとして違ってたらがっかり
2022/05/06(金) 10:03:00.35ID:szMyvzcx
Safariが恨めしそうにこちらを見ている
2022/05/09(月) 20:38:44.58ID:X0x/BBIp
Rustが、Goの最大の競合相手であることが明らかになったってよw

プログラミング言語「Go」、開発者の満足度やニーズは?
https://japan.zdnet.com/article/35187065/
また調査では、Goの主なライバル言語が「Rust」「Python」「Java」「TypeScript」であることも明らかになった。RustとGoは、どちらもシステムプログラミング言語であり、開発者には広く評価されているが、「JavaScript」や「Python」ほどの人気はないようだ。

 しかしこの調査では、Amazon Web Services(AWS)、Google、Microsoftの支持を受けているRustが、Goの最大の競合相手であることが明らかになった。Goの代わりに選ぶとしたらどの言語を選ぶかという設問では、回答者の25%がRustを選ぶと述べており、17%がPython、12%がJava、8%がTypeScript、8%がC#と回答していた。

 「最もよく選ばれているのは、Rust、Python、Javaだ。RustとGoの機能セットは補完的な関係にあるため、あるプロジェクトに必要とされる機能がGoにない場合、Rustは優れた選択肢になるかもしれない」とMerrick氏は述べている。
2022/05/09(月) 20:53:04.96ID:S0Cki9Rv
>>494
競合なのは事実だろうけどGoやってるような人はRustも必要になれば普通に使えるでしょ
エンジニア目線では特に対立関係にないから煽っても無意味だぞ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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