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

■ このスレッドは過去ログ倉庫に格納されています
2021/11/28(日) 16:59:19.16ID:gZqbEyz/
スレタイ以外の言語もok

前スレ
次世代言語22 Go Nim Rust Swift Kotlin TypeScript
https://mevius.5ch.net/test/read.cgi/tech/1629590343/
2022/03/04(金) 12:49:38.60ID:/ow399Ux
>>515
さすがにチューリング完全をプログラミング言語じゃないと疑うのは不勉強。
brain f*ckですらプログラミング言語言われているのに。
2022/03/04(金) 13:23:54.20ID:4zB49VIz
よくチューリング完全を引き合いに出す人いるけど、その定義だと感覚的に合わないものまでプログラミング言語の枠に収まるし、prologはそんなこと考えるまでもなくプログラミング言語だろ
しかも(俺は>>515ではないが)515が言いたいのは自然言語に近いと言いたいだけだと思う
実際中身は手続き型の言語と大差ないんだけどw
2022/03/04(金) 14:11:55.85ID:L8b5lnOt
>>522
自然言語は形式言語じゃないから、もしそうならもっと勉強不足だな。
2022/03/04(金) 14:21:38.82ID:4zB49VIz
お前の頭が固いだけ
2022/03/04(金) 14:49:04.72ID:e8gLPWot
自然言語は全く関係ないな
手続き型言語しかやったことのない似非プログラマーには宣言型言語がそう見えるのか
2022/03/04(金) 15:28:18.85ID:4zB49VIz
頭固いねw 例えば、

親(ひろし,ももこ).
親(友蔵,ひろし).
親(友蔵,すみれ).
親(すみれ,ももこ).
男(ひろし).
男(友蔵).
女(すみれ).
女(ももこ).
祖父(X,Y):-男(X),親(X,Z),親(Z,Y).
?-祖父(X,Y).
X = 友蔵, Y = ももこ

みたいなことができるってこと
二個出るけどw
2022/03/04(金) 16:28:33.22ID:ZrKtVmP5
プロログはパターンマッチ型データベースに見える
あと同じのが二つ出るのは近親相姦してるからだ
2022/03/04(金) 20:48:14.68ID:ZrKtVmP5
prologのノリがどの言語にも持ち込まれてないのも問題だ
2022/03/04(金) 21:08:30.47ID:QzxUwnVT
サーバのバックエンドでwebsocketやるのに一番いいのはGoだよね?
2022/03/04(金) 21:22:57.44ID:4zB49VIz
そんなのなんでもいいのでは?
2022/03/04(金) 21:24:03.32ID:yR2IphvK
>>528
あ、Prologが話題に出たのでFlixを勧めておきます。 https://flix.dev/
2022/03/04(金) 21:28:27.24ID:e8gLPWot
>>529
JavaScriptからRustまで何でもサポートしてるから好きな言語を使えばいい
速さや省メモリを求めるならRust
2022/03/04(金) 21:35:37.03ID:4zB49VIz
最速を求めるならアセンブラで書けw
2022/03/04(金) 21:37:10.95ID:4zB49VIz
"Flix is inspired by OCaml and Haskell with ideas from Rust and Scala."ってどこにもprologさんいないんだがw
2022/03/04(金) 21:40:05.97ID:2lVDRIvt
>>533
それはコンパイラを舐めすぎ
2022/03/04(金) 21:40:43.17ID:yR2IphvK
>>534
"First-class Datalog Constraints"!
2022/03/04(金) 21:45:34.71ID:4zB49VIz
>>535
お前本当にアセンブラで書いたことないだろw
手でプロセッサやキャッシュを最適にするように書くと、最速ロジックの-O3からさらに数倍速くなるよw

>>536
論理型なら今はPrologでいいと思う
2022/03/04(金) 21:53:49.99ID:RxmAHNVk
今時プロセッサ決め打ちとかあるもんなの?
2022/03/04(金) 21:57:30.37ID:4zB49VIz
アセンブラにするならその辺ある程度は諦めてたな
要件次第だけどw
2022/03/04(金) 22:31:46.55ID:CBAI4YxM
>>528
if文をどの節で処理するかで表現するとか
ループを再帰で書くとか癖が強いからなあ
再帰を理解してくれない人も多いし
2022/03/04(金) 22:53:14.64ID:4zB49VIz
日本はPrologまだ使われてる国とかwikipediaか何かに書いてあったよw
世界でどういう状況かは推して知るべしw
2022/03/04(金) 23:28:26.59ID:ByaH8Iv1
C11こそ真の次世代言語だ

トーバルズ氏、Linuxカーネルを「C89」から「C11」コードに移行する準備
https://japan.zdnet.com/article/35184296/
2022/03/04(金) 23:37:07.33ID:2tyOtSaX
>>542
理由が興味深いね
ブロック内スコープ変数宣言をの有用性に気付いたみたい

> Linus Torvalds氏はLinuxカーネルメーリングリスト(LKML)に
> 「この種の非投機的なバグが発生する理由は、C99スタイルの
> 『ループ内での変数宣言』という選択肢をわれわれが今まで持ち合わせてこなかったためにほかならない。
> つまり、list_for_each_entry()といったものすべては基本的に常に、最後のHEADエントリーをループ外にリークさせる。
> というのも、ループ本体内でイテレーター変数を宣言できないためだ」と記している。
2022/03/05(土) 00:50:53.23ID:TqcF1vbz
>>543
なにがそんなに有効なのかわからんわ
どこでも変数宣言できたら、どこで宣言されてるかわかりづらいだろ
変数宣言は一番最初って決まってたほうがよくね?
2022/03/05(土) 00:56:06.36ID:IxOGShAZ
>>544
イテレーター変数(ループ内だけで使う変数)をわざわざ関数の一番上で宣言するのは
すごく古臭いスタイルって気がする
2022/03/05(土) 01:08:06.36ID:lbLi/sOl
CPUの投機実行関係のバグに関するやつだから結構めんどい話だな
2022/03/05(土) 01:31:43.43ID:GsTUxSAJ
>>542
いつまでC使うの?
2022/03/05(土) 05:34:52.76ID:EWrQPP5R
Cに回帰しようよ
2022/03/05(土) 08:41:45.95ID:UxduI4YM
>>547
おすすめの言語は何?
2022/03/05(土) 09:49:50.73ID:O/czQsw9
大変興味深いよな
世の中の色々大事なソフトウェアってやっぱCで書かれてんのよね
Linuxの恩恵はC89の恩恵
他のどんな言語でこれがなし得るというのよ
そう考えると世の中ゴミ言語ばっかだな
2022/03/05(土) 10:54:16.91ID:u03lzKn4
その理論ならCOBOLもいい言語だな
552デフォルトの名無しさん
垢版 |
2022/03/05(土) 10:59:24.96ID:5tAMjVxe
>>550
まるで大事なソフトはLinuxカーネルしかないみたいな言いぶりだな。
こうやって捏造されてくのか。
2022/03/05(土) 12:48:23.26ID:b38ED9f7
C言語はベストパフォーマンスを出せるプログラミング言語
ただしLinuxコードでも何度も起きて来たように
C言語は慎重に厳格なコードチェックを常に継続する必要があり
ちょっとスキができると様々な穴が生じてしまう

そこで誕生したのがC言語と同じベストパフォーマンスを出せるRust
Rustは強力な言語機能によりプログラミング効率が上がるだけだなく
メモリ安全性やデータ競合などの問題をコンパイル時にあぶり出し実行時の安全を保証する
つまりC言語の利点を持ったままさらに便利に安全なプログラミングをすることができるのがRustである
2022/03/05(土) 12:58:16.16ID:EWrQPP5R
ほんとかよ
2022/03/05(土) 13:40:33.23ID:QgP52ag+
ベストパフォーマンスwww
さすがw
2022/03/05(土) 13:42:18.69ID:6VIYcmrk
rustはlibc使ってる
お釈迦様cの手のひらからは逃れられない
2022/03/05(土) 13:43:51.14ID:C4PmhV7a
C言語はGCがないし、整数をポインタに変換できるし
正しくない言語は大事ではないから一個でいい

正しい言語は大事だから色々な方言を作ったり定期的に捨てて作り直したりする
2022/03/05(土) 14:13:05.07ID:GsTUxSAJ
ループ本体に変数を宣言できないから
C11に移行するって動機があまりにも前時代的すぎんか?
2022/03/05(土) 14:30:57.69ID:hdaSjS7b
10年も吟味して気付いたありがたい御言葉だぞ
2022/03/05(土) 15:37:44.81ID:zsDIUHb7
記事だけだとよく理解できんな。ブロック内の変数宣言はC89でも可能じゃないか?
2022/03/05(土) 15:48:32.78ID:uqzOnvYQ
for (int n = 0; ...) みたいな for のスコープの変数宣言のことっぽい?
2022/03/05(土) 15:50:43.81ID:gGGEnXYc
rubyなんかK&Rだぞ?
int foo(bar)
char* bar;
{
return 0;
}
2022/03/05(土) 16:00:58.43ID:AqnMHu7I
その時代のCコンパイラは確かに後から宣言はできなかったよ
2022/03/05(土) 16:27:21.01ID:AqnMHu7I
こういうのだな
$ gcc -x c -std=c90 -Wpedantic - <<EOF
int main() {
int a = 0;
a += 1;
int c;
c = a;
return 0;
}
EOF
<stdin>: In function ‘main’:
<stdin>:4:9: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
$
565デフォルトの名無しさん
垢版 |
2022/03/05(土) 16:54:20.54ID:CRIoLrg1
>>561
それですな。
566デフォルトの名無しさん
垢版 |
2022/03/05(土) 16:55:50.22ID:CRIoLrg1
>>564
それはどうみてもイテレーター関係無いだろ。
2022/03/05(土) 16:58:47.76ID:AqnMHu7I
ちゃんと記事読んだら違ってたなC99ならこれだ
https://godbolt.org/z/T1Pdnj5Yb
$ gcc -x c -std=c90 -Wpedantic - <<EOF
int main() {
for (int i = 0; i < 10; ++i);
return 0;
}
EOF
<stdin>: In function ‘main’:
<stdin>:2:5: error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode
<stdin>:2:5: note: use option ‘-std=c99’, ‘-std=gnu99’, ‘-std=c11’ or ‘-std=gnu11’ to compile your code
$
2022/03/05(土) 17:41:51.00ID:6VIYcmrk
池の水全部抜きますじゃなくて
linuxを全てrustで書きますが始まったら起こしてくれ
2022/03/05(土) 17:44:45.04ID:AqnMHu7I
それだと一生眠ったままだなw
2022/03/05(土) 17:49:05.42ID:6VIYcmrk
多分そうなるな
大量のmod地獄が待ってるからなあ
rustの仕組みを変えるか自動的に全部解決するツールを作るしかない
2022/03/05(土) 17:50:51.66ID:AqnMHu7I
なあに我々にはunsafeがある
2022/03/05(土) 20:31:07.36ID:VcENWEwx
>>568
Rustが次々と採用されていってる案件はいずれも新規と大改修
今動いていて問題もないものを書き直すことはない
新規か何らかの弱点が見えていてシステム改修すべき機会などでRust採用
2022/03/05(土) 20:38:19.88ID:AqnMHu7I
> Rustが次々と採用されていってる案件
存在しない案件が実績として次々と計上。。。詐欺かな?w
2022/03/05(土) 22:08:15.20ID:vk+PU+My
>>562
それだいぶ前だよ
2022/03/05(土) 22:11:42.53ID:vk+PU+My
linuxのlistってgenericsっぽい作りになってて
任意の構造体に埋め込めるのよね
そのためにマクロでforeachとかあってそのせいっぽいな
仕様のせいじゃなくてそのマクロのせいだろw
2022/03/05(土) 22:58:00.53ID:AqnMHu7I
Cでのリストの良くある作り方みたいなモノ+これを使えばより安全的なマクロが多数用意されてるだけだろ・・・
その辺の実装を書く前提としてC仕様にC89を仮定してたってこと
↓にlist_for_each_entry他、リストの使い方が日本語でいろいろ載ってる
https://debimate.jp/2019/04/07/linux-kernel-list%E6%A7%8B%E9%80%A0%E3%82%92%E6%93%8D%E4%BD%9C%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AEapilist%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9/
実際のコードはC89〜C11までいろいろあるんじゃね
2022/03/05(土) 23:01:37.79ID:AqnMHu7I
メインラインの多くはC89でC99もある程度と予想(推測)
2022/03/05(土) 23:07:24.44ID:b38ED9f7
C/C++やJavaなどからRustへ移行するパターンも多いけど
こういう形でプログラムコードをJavaScriptからRustへ移行する例も増えてきた

https://publickey1.jp/blog/22/amazon_prime_videowebassemblywasm_vm.html
Amazonはプロトタイプとして低レイヤのJavaScriptのコンポーネントのいくつかをRustのコードで書いてコンパイルし、WebAssemblyのバイナリにしたところ、JavaScriptのコードと比較して10倍から25倍も高速になったことを発見します。

これによりAmazon Prime VideoのアプリケーションにWebAssemblyを取り入れることを決定。

JavaScript VMの部分にWebAssembly VM(Wasm VM)をランタイムとして追加し、ユーザーのデバイス上へデプロイした上で、これまでJavaScriptで実現していたレンダラ、アニメーション、シーンとリソース管理の部分をRustコードから生成したWebAssemblyで置き換えました。
2022/03/05(土) 23:20:19.93ID:AqnMHu7I
それはたまたま実験結果として速くて置き換えた事例がたまたまあっただけだろ
他のwasmを使える言語との比較でもなければ、コードもなくどこまで安全かも分からんだろう上に
実際の置き換えでの効果については記載が何もないw

Rustやばやば言語ですなw
2022/03/05(土) 23:26:50.19ID:b38ED9f7
効果も全て>>578の記事に載っている
そしてアマゾンの今回の対象は、テレビやFire TVにスマートフォンなどの再生デバイス上でWebAssemblyを動かしその生成コードはRustで記述しているという話
2022/03/05(土) 23:36:13.20ID:AqnMHu7I
どこに対する何なのか改善ポイントが何なのかもさっぱりで、効果が何に対応してるのか分からんものを勝手に効果と思い込んでるだけでは?w
2022/03/05(土) 23:39:28.82ID:Koe9vBH8
>>577
なんでコンパイラオプションで指定してないと
思ったの?
2022/03/05(土) 23:40:02.16ID:AqnMHu7I
Rustなんて誰も気にしてないなw
https://trends.google.co.jp/trends/explore?date=today%205-y&;q=%2Fm%2F0dsbpg6,%2Fm%2F07sbkfb,%2Fm%2F05z1_
https://i.imgur.com/iYPHVO0.png
2022/03/05(土) 23:40:34.73ID:b38ED9f7
>>581
それも全て記事に書かれている
日本語の記事なのに読めない知能ならばあきらめなさい
2022/03/05(土) 23:44:42.83ID:AqnMHu7I
>>582
最近カーネルコンパイルしてないからw 自分で使う実験モジュールをたまにビルドする程度w

>>584
書いてないから書いてないって言ってるのにw 知能不足はお前w
2022/03/05(土) 23:48:12.62ID:Koe9vBH8
>>585
カーネルコンパイルを自分ですることと
文法規約守るためにオプションつけること考えるのは
関係ないよね
2022/03/05(土) 23:49:20.88ID:b38ED9f7
>>585
Rustで書いたWebAssemblyにすることでフレームレートmsから使用メモリ量まで激減したと>>578の記事に載っている
2022/03/05(土) 23:51:08.33ID:VcENWEwx
>>579
WASM記述はRustを使えないという事情がない限りはRust一択になっている
GC言語はそのランタイムのデカさと発生により普通は採用されておらずC++やRustを書けない特殊な場合のみ
そして過去資産がアドバンテージのC++もここでは既存のソフトのWASMへの移植を除いて新規案件となるためRustがWASM記述トップ言語となっている
2022/03/05(土) 23:52:15.07ID:AqnMHu7I
>>586
オプションがついてるかどうかの事実を知らんと書いただけだがw 他に何と書けばいいんだよwwww
2022/03/05(土) 23:54:58.01ID:AqnMHu7I
>>587
因果関係なんて書いてないじゃんw

>>588
Rust一択になってると思い込んでるだけでは?w
CだってC#だってあるし、多分他にもあるのでは?w
2022/03/05(土) 23:57:13.15ID:Koe9vBH8
>>589
なんでオプションもつけずにやってると
おかしなことを思ったのか疑問になるだろ?
他のレスみても技術も知識も低いというのが答えぽいな
2022/03/05(土) 23:57:44.30ID:b38ED9f7
>>590
すべてそれも>>578の記事に書いてある
WebAssemblyとRust採用でアマゾンは劇的な効果を上げた
2022/03/05(土) 23:59:15.89ID:VcENWEwx
>>590
WASM記述言語のシェアトップがRustとなっている現実を受け入れられないのですか?
2022/03/06(日) 00:01:15.07ID:rSXv4Rng
>>590
C#でたああああああああああ
2022/03/06(日) 00:03:57.83ID:oRBcPyqI
>>589
オプション付けずにやってるかどうかなんて、実際に最新のビルドログを確認して見たわけでもないのにわかんねーだろw
その程度のことをこれだけかけて説明させてるお前の頭が悪いだけw

>>592
因果関係って言葉の意味知ってる?w

>>593
それは否定してないだろw 調査条件は知らんけどなw
文字列渡してDOMに貼っただけ程度ばかりかもしれんしw
2022/03/06(日) 00:05:41.64ID:oRBcPyqI
>>594
昔はBlazor1位だったと記憶してただけだけどw 無知とは恐ろしいねw
2022/03/06(日) 00:10:10.02ID:oRBcPyqI
>>595 で589へのレスは>>591の間違いだったw
2022/03/06(日) 00:18:58.77ID:oRBcPyqI
Rust推しは日付が変わるとID紐付けを嫌ってすーっといなくなるんだなw
どんだけやましいことばかりしてんだよw
599デフォルトの名無しさん
垢版 |
2022/03/06(日) 00:33:57.94ID:oRBcPyqI
>>583 をスレ的な言語に合わせてみた(TypeScriptは前回JavaScriptあったので排除)
https://trends.google.co.jp/trends/explore?date=today%205-y&;q=%2Fm%2F09gbxjr,%2Fm%2F09gp44h,%2Fm%2F0dsbpg6,%2Fm%2F010sd4y3,%2Fm%2F0_lcrx4
https://i.imgur.com/e7PBEJo.png

Rust何年経っても全然伸びねーよなw
Goはgenerics入るのもあって、上り調子w
2022/03/06(日) 00:40:46.20ID:rSXv4Rng
>>599
Goとここまで差があるのか
2022/03/06(日) 00:46:30.36ID:oRBcPyqI
日本だけにするとまた違った見え方になるよw
いずれにしてもWeb検索の頻度ベースだから、実際のところ何を目的にした検索になってるのかは知らないけどねw
602デフォルトの名無しさん
垢版 |
2022/03/06(日) 02:09:32.43ID:c8iVtviN
当然Goはプログラミング言語以外の検索結果を含んでる
2022/03/06(日) 02:16:19.87ID:XU+V9ZSH
>>567
linuxの話ならstdはgnu89だしpedanticはつけてないんじゃないの
GNU拡張使いまくってるので
2022/03/06(日) 02:23:27.79ID:oRBcPyqI
>>603
確かにそうだな
使えないとOS的には致命的w
2022/03/06(日) 02:27:34.11ID:oRBcPyqI
>>602
そこは他の言語と同程度の誤差だと思うぞ
結果セットではなくクエリ側だと思うしな
実際に辿ったリンク先の内容の共起性からそうだと判断されてるんだと思う
606デフォルトの名無しさん
垢版 |
2022/03/06(日) 02:38:53.27ID:c8iVtviN
https://trends.google.co.jp/trends/explore?date=all&;q=%2Fm%2F09gbxjr
goが登場したのが2009年11月で
2009年10月前のスコアがすでに20あって現在は34
トレンド機能は短いワードだと正確な情報が取れないことは明白
607デフォルトの名無しさん
垢版 |
2022/03/06(日) 02:49:17.27ID:c8iVtviN
https://trends.google.co.jp/trends/explore?date=all&;q=%2Fm%2F0dsbpg6
rustが登場したのが2010年7月で
その前のスコアは3で現在は91
rustは順調な成長が見て取れるからgoよりはまだ正確に補足されてる

goのワードでのグラフは意味不明な膨らみがあるんだが
golangで調べればちゃんと成長が見えて補足されてるから
goのワードでは全くトレンドを補足できてないことが分かる
https://trends.google.co.jp/trends/explore?date=all&;q=golang
608デフォルトの名無しさん
垢版 |
2022/03/06(日) 03:02:53.77ID:T8opxkUl
>>605
言い訳はよ
2022/03/06(日) 03:08:00.64ID:oRBcPyqI
別に共起のルールが現在に合ってるだけじゃね?w
たまたま過去でもそういうのを拾ってるだけだろw
しかもそこまで古いと収集データそのものが現在のロジックに適合できていない可能性が高い
つまり何の問題もないってことw
610デフォルトの名無しさん
垢版 |
2022/03/06(日) 03:09:22.77ID:T8opxkUl
苦しすぎ
ID:oRBcPyqIは出禁な
2022/03/06(日) 03:10:20.33ID:rSXv4Rng
goから関係のないものを除外できないのか?
2022/03/06(日) 03:15:37.45ID:oRBcPyqI
苦しすぎなのはお前の方w 注意書き読めよw
https://i.imgur.com/sTnl0g1.png
2022/03/06(日) 13:09:46.04ID:W+HcxztG
googleより自分の方が正しいと思う者だけが書き込んだ結果
をまとめるのがgoogleの仕事
2022/03/06(日) 13:21:24.33ID:oRBcPyqI
https://about.google/
「Google の使命は、世界中の情報を整理し、世界中の人がアクセスできて使えるようにすることです。」

だそうだし、Googleが正しいとかそういう話じゃないw
集めた元データが古すぎて現行と違うという注意書きあるの無視して「結果がおかしい!」とか言ってもしょうがないだけw
そんな古いデータ見なければいいだけw
2022/03/06(日) 15:08:47.15ID:W+HcxztG
それだけではない
未来のデータも見る前にフライングすればいい
コンパイル時に分かることを実行時に調べるのはアマチュア
2022/03/06(日) 15:32:48.07ID:oRBcPyqI
些末過ぎる書き方の問題w
まあC++はかなり頑張るけどw
2022/03/07(月) 19:27:08.91ID:soRNFAyV
>>607
ノイズ乗ってるって話なら、
rustも同名のゲームがあるから
あまり当てにならないかもね。
2022/03/08(火) 00:18:07.69ID:qJWSdqLU
またしても go はクソ、何がクソといってまず名前がクソ、っていう俺の常日頃の主張が証明されたな
なんでこんな名前にしたのか、決める前に止めるやつはいなかったのかと問いつめたい
2022/03/08(火) 00:59:02.63ID:2Ie6O3y5
ちゃんとプログラミング言語って括りのGoなので、リンク先のコンテンツが分類としてプログラミング関係なんだと思うぞ
2022/03/08(火) 02:11:00.88ID:wlomX7u1
Surface GoとかDuckDuckGoとかコンピュータ関連用語でGo含む固有名詞多いからプログラミングに絞ってもノイズは乗ってそうな気がする
他言語との比較はできないけどGo単独の傾向を見るならgolangの方が正確かと
2022/03/08(火) 02:33:52.14ID:59Y5NzBD
名前がクソと言えばC
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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