X



次世代言語18 Go Rust Elixir Kotlin TypeScript
■ このスレッドは過去ログ倉庫に格納されています
0683デフォルトの名無しさん
垢版 |
2020/03/20(金) 02:35:29.88ID:405ti7Ej
>>682
>・各言語で書かれたソースコードをコンパイルして、wasmファイル(ブラウザで実行するバイナリ。プラットフォーム毎にバイナリが作られる)を生成。
「各言語で書かれたソースコードをコンパイルして、wasmファイルを生成」
の部分は正しいが、
Wasmはプラットフォームごとのバイナリではなく、あらゆるプラットフォームで共通の1つのコードだ。
だから、全く同じ *.wasm が Win/Mac/Linux/Android/iOS で、Wasmに対応したあらゆるブラウザで動作する。
なので、プラットフォームごとにキオンパイルしなおす必要は全くない。

>・よって基本AOTでJITやインタプリタはない?
Wasmは基本的にAOTではあるが、実行段階でさらにJITによってさらにコンパイルされて高速に動作される。
この段階でWasmの形式から、CPUのマシン語の形式に変換されることがある。
また、Wasmにはインタプリタも存在している。
0684デフォルトの名無しさん
垢版 |
2020/03/20(金) 05:58:59.54ID:qGV0eoEO
>>680
> 出来ることはJSと完全一致で、JSが出来る範囲の事を超えることは出来ない。
完全一致www
まぁ色々仕様見た方がいいね

>>681
むしろセキュリティ観点からするとJSの方が安全だよ
"そこ"に関しては特別WASMだけが出来ることはないよ
0685デフォルトの名無しさん
垢版 |
2020/03/20(金) 11:01:34.93ID:405ti7Ej
>>684
正しく言えば、Wasmでも、画面の見た目、グラフィック、キーボード/マウス/タッチパネルなどの
入出力、IMEなどを使った日本語入力、XHRやfetchなど、File API, native file API,
などはJSを使ってしか出来ないのでJSで出来ないことはWasmでも出来ないことになるので、
「Wasmで出来ることは使える言語と速度を除いてはJSと完全一致」
ということは正しい。
0686デフォルトの名無しさん
垢版 |
2020/03/20(金) 17:23:27.50ID:43c15jQs
自己矛盾
0688デフォルトの名無しさん
垢版 |
2020/03/22(日) 09:31:45.18ID:zQpJysa3
>>658
>関数言語以外ではどの言語でもほぼ共通である所の変数の代入の概念がRustでは
>変更になってしまっている。
たいへん良いことじゃん?
変更されない変数を後から探してconstを付けて回る工数が削減される、
0689デフォルトの名無しさん
垢版 |
2020/03/22(日) 16:15:40.85ID:6GcIkd5x
Rustの所有権や借用の概念は何で今まで他はこうじゃなかったのかと思ってたわ
難しいとか聞いたので構えてたけど、全く何の違和感も無かった
但し書き方が、もうちょい何とか出来なかったのかとは思うが、Rustが難しいのは概念や仕様じゃなくて書式
0690デフォルトの名無しさん
垢版 |
2020/03/22(日) 16:48:50.31ID:HvrypJyW
>>689
参照などの書き方に統一感が無いのは、Perl の関数呼び出しにおける参照型を思い出させる。
結局、分けが分からないので、衰退して言ったようだ。
0694デフォルトの名無しさん
垢版 |
2020/03/22(日) 22:46:24.47ID:bDl/VAFl
欲求の大体は想像できるけど
ライブラリ等の使用準備はインスタンス駆動よりも
ブロック内に記述/用意したプロパティを言語機能で勝手に読み取り構築してくれるくらいやって欲しいね
機能関数を初めて呼んだ時点でブロック単位最優先のヤツをライブラリに渡してくれるようなの
ブロックの親子関係でマイナスになったら初めてフラグもリセット
0697デフォルトの名無しさん
垢版 |
2020/03/23(月) 10:12:42.25ID:YjRO4AxK
造語症の検査が必要だ
造語症を見抜けないことでかえってリソースが浪費される
0698デフォルトの名無しさん
垢版 |
2020/03/23(月) 10:57:01.11ID:qdgRIROC
DropboxもクライアントをRustに書き換えか
Pythonの型アノテーション頑張ってたけど
0699デフォルトの名無しさん
垢版 |
2020/03/23(月) 11:44:55.37ID:IXWRbkqI
>>692
書いてみりゃわかる。
状態変更や共有に気を遣うとインスタンス生成を上手くやる必要が出る。
0700デフォルトの名無しさん
垢版 |
2020/03/23(月) 12:42:49.16ID:e6B2kqQy
rustのhello world 4MBになるけど最小化しようとしたら存外難しくてワロタw
0701デフォルトの名無しさん
垢版 |
2020/03/23(月) 14:57:51.21ID:+m59DBar
cargo newしただけの状態をBuildしても143KBなんだが…
Goと間違ったのかな?いや流石に無いか、どういう事なんだ釣か?
0706デフォルトの名無しさん
垢版 |
2020/03/23(月) 16:14:33.22ID:QFUl7nfE
本文と関係無いグロ画に悪意をおぼえる
0707デフォルトの名無しさん
垢版 |
2020/03/23(月) 18:27:55.44ID:KRdtMR7c
rustにコンストラクタねえ?
コンストラクタに一工夫とか釣りなのかエアプなのか判断に苦しむ
0708デフォルトの名無しさん
垢版 |
2020/03/23(月) 18:48:57.41ID:Txpengd8
rustのGC性能ショボすぎワロタwww
0712デフォルトの名無しさん
垢版 |
2020/03/25(水) 14:31:56.32ID:2CCp9AcV
公式のリファレンス読んでもRustを使うメリットがわからんのやけどPythonみたいに環境がトータルとして優れてるってことか?
変数を束縛という概念で標準でイミュータブルとして定義されると何が嬉しいんや?constやreadonlyやとあかんのか?
スコープとシャドイーングもクロージャやとあかんのか?有識者からの説明求む
環境やパフォーマンスやなくて言語仕様や機能そのものは個人的にC#が最高やと思うんやけどマイノリティなんかな
0713デフォルトの名無しさん
垢版 |
2020/03/25(水) 14:49:34.17ID:VKn2QSTg
Rustのメリットは実行時のパフォーマンスを犠牲にすることなくそこそこモダンで高度に抽象化された言語で書けること
開発効率だけで言えばC#の方が圧倒的に上だし、総合的なROIで見てもRustがC#を上回るケースは現実にはほとんどない
0714デフォルトの名無しさん
垢版 |
2020/03/25(水) 15:02:16.86ID:6ULKuSqz
CもC++もDも使ってきたけど最近はPythonばっかり
Pythonが物足りなくてRust覚えようとしてたけど
C#が思いの外良くてそのままC#使ってる
0716デフォルトの名無しさん
垢版 |
2020/03/25(水) 16:20:35.23ID:2CCp9AcV
>>713
なるほど、ちゃんと調べてから質問すればよかったわすまんこ
システムプログラミングで使われるC/C++の代替がRust/Goなわけなんやね
調べてて知ったのがRust/Goはtry-catchない仕様なんめっちゃええね
そもそも例外が起きないようにプログラミング書くのに全処理をtry-catchで囲む慣習が個人的にずっと不服やったんよ
そもそも例外も変数で受け取ればええやんてのはほんま納得
Rust/Goでアプリケーション開発できるイージーな環境を誰か構築してほしいな
0717デフォルトの名無しさん
垢版 |
2020/03/25(水) 16:26:23.15ID:eUPBV1Bq
PythonのライブラリはCで書く
言語を2つ使うのをやめて1つにするのを狙ってるのがC++やRust

PythonはRubyと競争して勝ってしまった
競争も勝敗もないのがC#やJavaやGo
0718デフォルトの名無しさん
垢版 |
2020/03/25(水) 16:51:30.87ID:COJzGufp
>>712
Rustは、例え一部であっても、参照カウンタも GarbageCollection もなしで、メモリ管理を目指そうとしていた。
束縛や借用を使えばStack変数に関してはそれはある程度成功する。
Heapオブジェクトの自動解放に関しては、Uniqueポインタ的な単一参照や参照カウンタ方式を使っている。
がしかし、循環参照してしまうと誰も使ってないHeapメモリーが自動解放されない現象が起きるので、循環参照を避けることはプログラマの責任で行う設計。
0719デフォルトの名無しさん
垢版 |
2020/03/25(水) 16:56:54.91ID:COJzGufp
>>718
C/C++では、スタック変数を、関数の呼び出し元へ returnしたり、
引数に返したりすることが出来てしまうが、危険なので絶対やってはならないが、
Rustではそれに関してはコンパイル時にエラーが出るので防げる。
同様に関数の途中のブロックの中だけで有効なブロック変数も、ブロックの
外側にポインタ値を渡してはいけないが、これもRustでは防げる。
0720デフォルトの名無しさん
垢版 |
2020/03/25(水) 16:59:17.07ID:COJzGufp
>>716
プログラムのし易さの目的には、Rustは向いていない。
例外を try, catch で囲む以上の面倒くささがあらゆる場面で伴う。
0721デフォルトの名無しさん
垢版 |
2020/03/25(水) 17:01:41.23ID:COJzGufp
>>714
Pythonは、RAD系。C#も、RAD系的。
Rustは、RAD系とは正反対で、深く使いこなそうとするとCよりもC++よりもずっと難しい。
0722デフォルトの名無しさん
垢版 |
2020/03/25(水) 17:39:26.59ID:COJzGufp
海外のサイトでRustを褒めている人は実際には表面的にしか理解してない。
多くの人の投稿を見ているとC++14などの新しいC++が難しいから嫌になって
その代替としてRustを使いたいと思っている。
また、うたい文句である所の「安全、ガベージコレクターなし、簡単なC統合」
などをそのまま真に受けている。
ところが現実は違う。
C++ですら複雑に感じる人は、Rustで独自のリンクリストを設計することは決して出来ないと予言しておく。
そして、それが出来ない状態でシステム作りするのは、とても危険である。
(C++が難しく感じるプログラマの99.9%は、Rustで、標準のリンクリストを僅かでも作り直すことは出来ないだろう。)
0723デフォルトの名無しさん
垢版 |
2020/03/25(水) 17:40:30.68ID:2CCp9AcV
>>720
あーそうなんか残念やな

C#は登場から20年経ってようやくパフォーマンスに舵を切り始めて俺が使うことはないやろけどSystem.Runtime.Intrinsicsなんかもリリースされたから下々にもパフォーマンスを享受できるようにしてほしいわ
個人的にp/invokeをpythonのようにctypes/cdllでみたいに使いやすくしてくれへんもんかなC++/CLIでラッパー書くのしんどすぎる
0727デフォルトの名無しさん
垢版 |
2020/03/25(水) 18:05:41.08ID:fCjn9EhQ
>>716
>そもそも例外が起きないようにプログラミング書くのに全処理をtry-catchで囲む慣習が個人的にずっと不服やったんよ

エラーハンドリングの基礎を学んだほうが良さそう
それにRustとGoではエラーハンドリングの機能や考え方は全く違うぞ
0729デフォルトの名無しさん
垢版 |
2020/03/25(水) 19:35:02.48ID:3tnofAZc
元請けのトンチキさに縛られる環境なら
RustやPythonの特徴がどうのとか考えるだけ
無駄では
0730デフォルトの名無しさん
垢版 |
2020/03/25(水) 19:38:00.42ID:KwM83K9a
Rustをどうしても認めたくない人多いイメージ
海外大手を筆頭に導入が広がりだしてるのは確かなんだが
0732デフォルトの名無しさん
垢版 |
2020/03/25(水) 21:17:55.06ID:eNR5PFXP
海外の事例(○○をrustで書き直しました!)はかなりタメになる
rustはいいぞ!なんで使わないの、やくめでしょっていう話は楽しくない

最近だったらDiscordをrustで書き直したって記事が面白かった
https://blog.discordapp.com/why-discord-is-switching-from-go-to-rust-a190bbca2b1f

ただ、こういうリライト記事って基本的に「既にある≒要件がとても固まってるシステム」が対象なので、
試行錯誤しながら正解を探すっていう普通のプログラミングに合うのかは分からないよね
0734デフォルトの名無しさん
垢版 |
2020/03/25(水) 23:01:17.38ID:eUPBV1Bq
GCのアルゴリズムはいっぱいある
最も単純な方法では何か困ったからいっぱい作った
0735デフォルトの名無しさん
垢版 |
2020/03/25(水) 23:26:28.94ID:6cLcCOlB
ふつう何かを開発するのにGCとか型付けとか
関数型プログラミングとかそんなくだらない事はどーでもいいわけ。

numpyやpandas、数学ライブラが充実してるから
pyを使う
組み込みで機械動かせるからC系を使う
ブラウザはJavaScriptで動作するからJavaScriptを使う
モバイル開発専用の言語だからkotlinやswiftを使う
みんな使ってるからJavaを使う

GoやRustにそれらの専売性がありますか?
ないよね?それを使わざるを得ない状況がないよね?
じゃあ要らないよね。
0741デフォルトの名無しさん
垢版 |
2020/03/26(木) 00:42:11.16ID:Dsy66Brp
サーバーって、ショッピングの Web API サーバーとか?
あの記述力の低さで複雑なドメイン扱える気がしないな
0744デフォルトの名無しさん
垢版 |
2020/03/26(木) 01:58:57.97ID:Gvi6EW7Y
>>743
まあ確かにGoは技術力いるかもな
俺は技術力高い所がよく使ってるのは重要な指針になると思ってるんだけど、君はそう思わないタイプ?
0745デフォルトの名無しさん
垢版 |
2020/03/26(木) 02:21:23.83ID:Dsy66Brp
記述力の低さを指摘したら
いっぱい使ってるし!とマジギレされたでござる

Go信者こわ
0746デフォルトの名無しさん
垢版 |
2020/03/26(木) 02:24:54.88ID:mwwmClxG
そりゃphpだってfacebookは使ってるし、javaだってgoogleが使ってるわけで
そんなことで判断するのは流石にどうかと思うわ。
0747デフォルトの名無しさん
垢版 |
2020/03/26(木) 02:34:21.84ID:SQR24f3M
バックエンドは長いスパンで運用しながら継続的に開発していくわけだが、
そういった状況において言語の一定以上の機能性は開発生産性にほとんど寄与しないんだよね
Googleはプログラマの感情を無視して露骨にそれを主張してるから反感を買いがちだけど、
MSなんかも統計的にはその事実はよく理解してるはず
0748デフォルトの名無しさん
垢版 |
2020/03/26(木) 06:12:20.75ID:2gvNqqTc
頑固な善人より柔軟な悪人の方が機能性があると思うやんか
でも一定以下に抑えることができなくなって悪は滅ぶ
この主張が感情ではなく統計的事実だとすると滅ぶのは誰なのか
0749デフォルトの名無しさん
垢版 |
2020/03/26(木) 07:13:45.73ID:xf2sP63i
MicrosoftがProject Veronaという主要言語の研究でRustを高く評価してるな
Windowsの低水準コンポーネントをRustで書いて試用中らしい

>>732
同意、ぶっちゃけ実際の開発って仕様決まってようがRADでコアを作って形になったらそのままスケールしていくって感じが個人的にほとんどなんだよな
とにかく効率的なメタで開発したプログラムをパフォーマンスやメンテがボトルネックだから性能を追求と保守性で最適なメタでリライトしようぜって感じでRust採用って流れじゃなかろうか
0750デフォルトの名無しさん
垢版 |
2020/03/26(木) 07:54:21.26ID:Sq/f/q6k
Rustだから効率悪いとは思わんが
0751デフォルトの名無しさん
垢版 |
2020/03/26(木) 08:37:28.63ID:mwwmClxG
>>747
それはそう。
結局組織の問題だったりするわけだがプログラマとしては面白くない結論なんだろうっていうのはよくわかる。
0752デフォルトの名無しさん
垢版 |
2020/03/26(木) 10:50:56.35ID:2gvNqqTc
人類は感情を煽る技術ばっかり進歩させて
逆に感情を抑えるノウハウをほとんど持ってない
0755デフォルトの名無しさん
垢版 |
2020/03/26(木) 19:59:58.20ID:1Pvv4AyX
>>749
後半の文節に関して、Webサービスの世界における究極のRADである Ruby on Rails の
誕生から現在に至るストーリー展開とのデジャブーを感じる
たとえば Twitter は、Rails でスタートアップして「コアをスケールアップ」していくことで
ビジネス的な成功を収め、同時に「パフォーマンスやメンテがボトルネック」だから
内部のコンポーネントを Scala/Java へ移行している

Rust に関して言えば、必須の低水準言語は C であることは変えようが無いという前提のもとで、
それよりやや高水準をターゲットとしている C++ のシェア侵食が起こり得ると考える

それはWebサービスの世界で Rails が PHP の牙城に食い込んでいった歴史の再現だ
もちろん昔も今も PHP の絶対的王者たる地位に揺るぎがあろうはずもなく、
一部の熱狂者たちが Rails のシェアを支えているに過ぎないという事実と重なる

同様に、Rust が一定の認知を得て普及する可能性は高いと同時に、
すべての C++/Java/C# プロジェクトが Rust に置き換わるバラ色の未来もまた存在しないだろう
0757デフォルトの名無しさん
垢版 |
2020/03/26(木) 21:18:48.36ID:5AygTm0o
>>755
まず「文節」を辞書で引こう。
小学校の国語の授業寝てたの?www
0758デフォルトの名無しさん
垢版 |
2020/03/26(木) 21:59:58.46ID:3AJePqna
PHPが絶対的王者ってマジ?
俺の世界ではRubyが王者でそのあとをGoが追ってて、PHPはゴリ押ししてようやく採用されるかどうかなんだが
0760デフォルトの名無しさん
垢版 |
2020/03/26(木) 22:26:38.95ID:Dsy66Brp
PHPなんてもう名前すら聞かなくなった
あんなガイジ言語ありがたがってる程度の底辺とは付き合いがないからかもしれんが
0762デフォルトの名無しさん
垢版 |
2020/03/26(木) 22:30:42.51ID:MxLRauFN
駄目なのはポエムじゃなくて登場人物を出すやつだ
プログラムは無人で動くべきなんだよ
0764デフォルトの名無しさん
垢版 |
2020/03/26(木) 23:26:23.33ID:Dsy66Brp
>>763
転職して型無しゲェジのウンポコペチプー糞まみれになって気が狂って
最後はコロナに罹って電車に飛び込む話か
0766デフォルトの名無しさん
垢版 |
2020/03/27(金) 00:20:14.31ID:GUIIkCWN
PHPは言語設計力0のガイジが作って、さらに機能を付け足していって更にガイジ言語になり、IT界でSIerが一番権力を持つガイジ国家日本で文系ガイジが動的なHTMLを書けるというだけで採用し、変えられずに今に至る
証拠にメルカリや最近のWeb系企業はPHPではモダンな言語でWebを作っている

でも俺はGoは好きじゃないけど
0767デフォルトの名無しさん
垢版 |
2020/03/27(金) 00:20:58.83ID:GUIIkCWN
タイポ
PHPではなくモダンな言語でWebを作っている
0768◆QZaw55cn4c
垢版 |
2020/03/27(金) 00:35:13.11ID:HpnI1SG8
>>766
>PHPではモダンな言語でWebを作っている
言ってることが矛盾していませんか?
0771デフォルトの名無しさん
垢版 |
2020/03/27(金) 00:44:19.56ID:Oj6vZ37J
しかしPHPで金儲けできてるなら文句は言いづらい
金儲けして何が悪いの?っていう魔法の言葉があるから
0773デフォルトの名無しさん
垢版 |
2020/03/27(金) 02:22:06.66ID:GUIIkCWN
PHPに縛られてるガイジどもが喚くな
0774デフォルトの名無しさん
垢版 |
2020/03/27(金) 02:25:32.34ID:hLiiQ+aA
とりあえずPHPで作ってスタートアップしてからGoに置き換えていくのが流行ってるよな
0779デフォルトの名無しさん
垢版 |
2020/03/27(金) 05:12:38.14ID:cwhPeqJj
雑食系エンジニアサロン勝又健太氏を思いっきり論破してみた
https://www.youtube.com/watch?v=td6cX0en4oI

初心者に、Rails を推奨する、雑食系エンジニア・KENTA を批判して、
Java, PHP を勧める、モローに対して、批判殺到w

PHP は、プログラマー向けの本がほとんどない。
WordPress の説明本ばかりだから、上達しない

Java は、数倍の勉強時間が掛かる。
人間の成長率を、同じ勉強時間で比べていないだろ

それと雇用形態が異なる。
Java は5大ITer を頂点とする、使い捨て奴隷・土方系。
建設業と同じで、1社経由するごとに、3割抜かれる

時給5千円 * 180時間 = 1人月90万円でも、
元請けが30万円、1元請けが20万円、2元請けが10万円と抜いていく

COBOL, Java, VB というのが3大土方言語。
でも銀行の更新時期が過ぎたから、仕事が無くなった

業界調査すると、ブラック過ぎて、他人に勧められない。
一方、5大ITerは、社員の給料を高くしたいから、都合のよい使い捨ての奴隷が欲しい
0780デフォルトの名無しさん
垢版 |
2020/03/27(金) 07:15:34.06ID:7fKLUCpq
rustな。。本当にバリバリc++書いてきて、
しかも慎重にコーディングする優秀な奴らばっかのチームなら機能するんじゃないかという気はしてきた。
まあそんなチームは日本にはないだろうなという気もする。
てか世界でもほとんどないんじゃないかな。
GAFAでも優秀なごく限られた一部だけだろう。
んでもってそういうところならc++でも十分な品質のものが書けるっていうね。。
■ このスレッドは過去ログ倉庫に格納されています

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