次世代言語18 Go Rust Elixir Kotlin TypeScript

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2019/10/01(火) 02:58:03.93ID:aEwUIB6s
スレタイ以外の言語もok

前スレ
次世代言語17 Go Rust Kotlin TypeScript Julia
https://mevius.5ch.net/test/read.cgi/tech/1567602619/
2020/03/10(火) 00:11:22.94ID:XfE8NJsh
>>602
https://github.com/WebAssembly/design/blob/12ee148fb5cfa33331dbffadae06752b1759a7bf/HighLevelGoals.md

> WebAssembly High-Level Design Goals
> 4. Design v.1 as a Minimum Viable Product: basically what you can do with asm.js.

これが出発点だからな
そのレスはかなり間抜け
2020/03/10(火) 00:35:40.04ID:JL6LcQ03
v8が優秀すぎてasmなんていらねンだわ
605デフォルトの名無しさん
垢版 |
2020/03/10(火) 01:26:22.74ID:p2qIixd6
優秀つってもしょせんC++で作られたプログラムだろ?C++褒め称えろよ
2020/03/10(火) 02:25:56.91ID:pLogcX5n
出発点だったら何なんだよ
すべてのC言語プログラマはBCPLを崇め奉らなきゃいけないのか?
どっちが間抜けだよ
607デフォルトの名無しさん
垢版 |
2020/03/10(火) 02:57:32.01ID:YCA0GKqZ

V8はC++で作られてるでしょ?
CコンパイラはBCPLで書かれてるの?
違うでしょ?大抵CかC++で書かれてるでしょ?
何で書かれてるかと何が先祖かの区別つかないとか、頭大丈夫?w
2020/03/10(火) 03:57:53.48ID:Vh3kisjp
つまり機械語が神
2020/03/10(火) 07:40:37.31ID:zMjjJrJs
でもアセンブラとC++にはマクロがあるから
文字列指向というか

asm.jsもテキスト形式だな
2020/03/10(火) 11:25:46.45ID:JL6LcQ03
マクロって何?
2020/03/10(火) 11:29:46.52ID:uPXabSQ0
本質的には引数を評価しないでそのまま使う関数
612デフォルトの名無しさん
垢版 |
2020/03/10(火) 12:27:40.09ID:TTfAesFm
ももも、文字列指向www
マクロがあったらw
文w字w列w指w向www
Rustもマクロがあるから
文w字w列w指w向www
2020/03/10(火) 14:14:07.58ID:zMjjJrJs
IDEも予測入力もなかった時代に入力を補完するオーパーツ的な存在がマクロ
引数があれば補完後のどこかに挿入されたりする
2020/03/10(火) 14:52:47.65ID:JL6LcQ03
何それ
何が嬉しいの
2020/03/10(火) 15:14:15.03ID:zMjjJrJs
コンパイル前にできる処理をコンパイル・実行時にやらない
2020/03/10(火) 19:21:25.93ID:wOkC+tNx
defineマクロみたいなのは純粋な文字列置換
lisp系とか高級になるとトークンを受け取ってどのような構文木を作って返すかプログラマーが操作できる処理
2020/03/10(火) 19:32:18.89ID:uPXabSQ0
lispのマクロと関数の違いに対する理解が浅そう。
618デフォルトの名無しさん
垢版 |
2020/03/10(火) 20:04:37.71ID:ZpJirelH
フォトジェニックマクロとか言うやつでしょ?ぼく知ってるよ
2020/03/10(火) 22:20:01.26ID:Ph+PgS0T
赤身が好きです
2020/03/10(火) 22:29:12.83ID:JL6LcQ03
要するにbabel?
621デフォルトの名無しさん
垢版 |
2020/03/11(水) 02:11:53.77ID:zwwCe0yv
スレタイにJulia入れなかったのはつまりそういうことか
622デフォルトの名無しさん
垢版 |
2020/03/12(木) 01:25:03.61ID:cYhZNtzC
Rust触ってみたいんだけど逆に悪いところってなに?
いいところしか聞かないから聞きたい
2020/03/12(木) 07:35:14.32ID:bA+UUDN6
>>622
Rust使ってると変な人にからまれるから、やめといた方がいい
2020/03/12(木) 08:11:31.88ID:6ER5Rjkf
読んで字のごとく
何をやってもつっかかる
できるはずのことができない
2020/03/12(木) 09:23:56.54ID:cdl9Dqe3
コミュニティーがことごとく都合の悪いことをなかったことにしている。
そんなに悪いとこがねーならとっくに他の言語を置き換えてるだろうに。
2020/03/12(木) 09:34:32.26ID:SjQQh/Ja
安全教信者がうるさいって印象はある
でも言語自体はよくできてると思うわ
Let's EncryptのやらかしもRustなら防げたんだろうし
2020/03/12(木) 09:37:04.12ID:cdl9Dqe3
防げるわけねーだろ。。
結局低レイヤーの配列のインデックスに演算が必要な場合はunsafeだしな。
そういうところで嘘を表に出さないようなことやってるから信用がない。
2020/03/12(木) 09:52:08.63ID:SjQQh/Ja
なんの話してんの
2020/03/12(木) 09:55:20.70ID:cdl9Dqe3
何にもわかってないなら言わなきゃいいのに。。
2020/03/12(木) 10:35:24.94ID:pkrQoC1s
C++はユーザーに数十年間検査され欠陥が大量に見つかったがほとんど直さない
Rustはそもそも検査されてないので直すところもない

あとは正しい方を選ぶだけの簡単な作業
2020/03/12(木) 10:57:04.90ID:2DPQopCV
欠陥は誰かが騒ぐからググればすぐに出てくるので
実害はない。そこを避ければいいだけ。
普通、迂回策も書いてある。
2020/03/12(木) 10:57:34.97ID:bA+UUDN6
ほら、やっぱり基礎的な文法すら見てないような奴にからまれてる
2020/03/12(木) 11:02:50.18ID:xxd0OfES
主要言語の消費電力・処理時間・メモリ
https://www.researchgate.net/figure/Normalized-global-results-for-Energy-Time-and-Memory_tbl2_320436353
2020/03/12(木) 15:10:51.89ID:B7szUci1
>>627
どういうバグだったのか見てきたが
何もわかってないのは君のほうみたいだね

https://bugzilla.mozilla.org/show_bug.cgi?id=1619047
https://github.com/letsencrypt/boulder/pull/4690/commits/ba6b85ee126b50d19837a53a52cb6d894594935f
2020/03/12(木) 15:31:45.71ID:0Q2uMOAR
少なくともピューと吹けば壊れるPHPより良い言語であることは疑いようのないTru
2020/03/12(木) 19:35:48.05ID:gx+WAl6Y
>>627
なんで何もわかってないのに偉そうにしちゃうん?
2020/03/12(木) 19:57:06.51ID:vSXXsYBd
>>627
誰が一番信用がないかが分かったな
638デフォルトの名無しさん
垢版 |
2020/03/13(金) 17:50:55.96ID:uMGbn/tA
インフラに疎いんだけど、
デプロイ(CD)ってどのファイル転送プロトコル使われることが多いの?
639デフォルトの名無しさん
垢版 |
2020/03/13(金) 18:07:48.25ID:jvKiI+vV
scp
2020/03/15(日) 22:18:17.86ID:gNXlAxhx
GoogleのPWA推しはなんなんや……
File APIじゃサンドボックスからファイルシステム一切アクセスできない
試験運用中のNative File System API試したらinput type=“file”とできることかわらなくてマジクソ
パスすら取得できないって始まる前から終わってますやん
PWAとかいうその幻想をぶち殺す
2020/03/16(月) 03:04:15.00ID:9SLGD+wr
ローカルファイルをやめて全部サーバーにおかせようって魂胆
ま、クロウムブックだとかグーグルのネットストレージサービスの促進には役だつわな
当然、巨大ファイルをしょっちゅうガリガリやるようなアプリにはまるで使えない
2020/03/16(月) 07:49:03.33ID:IojLJcYy
ウェブ、ローカルストレージ APIとか明らかにiOS/Androidしか考えてないよな
アプリの設定やデータだけキャッシュできればいいならそらそうか……
wasmはブラウザアクセス時にホストからダウンロードして実行とかMSのClickOnceを思い出すわ懐かしい
そしてwasmもサンドボックスの制約から逃れられないから恩恵受けるのゲームだけなんじゃなかろうか
2020/03/16(月) 15:46:11.75ID:sEXify1M
原作と全然違うアニメが炎上するようなものか
644デフォルトの名無しさん
垢版 |
2020/03/17(火) 01:49:34.03ID:EqYyAGcG
Googleは自分のサービス繁栄のことしか考えてないからな
合理的なエコシステムなんて糞くらえよ
2020/03/17(火) 19:34:03.42ID:4wOPps0G
で betterC はどれ
646デフォルトの名無しさん
垢版 |
2020/03/18(水) 10:46:35.92ID:UiixgEyd
betterCという呼称はCに対して失礼だと思う
647デフォルトの名無しさん
垢版 |
2020/03/18(水) 10:46:36.14ID:UiixgEyd
betterCという呼称はCに対して失礼だと思う
2020/03/18(水) 11:10:47.27ID:ysA7x2sq
大事なことなので2回
2020/03/18(水) 12:09:15.13ID:LF+YjKOD
じゃあ何ならいいの?
AltC?
2020/03/18(水) 14:05:37.85ID:m8jl3r7k
>>645
C99, C11, C18, C2x
2020/03/18(水) 14:40:59.49ID:QhEd5Nre
C99でいい
2020/03/18(水) 15:23:05.35ID:dFIFySqQ
COVID-19
2020/03/18(水) 16:17:02.71ID:U9aknzyy
>>651
C99 の大部分は改悪、C89 こそ正義!
654デフォルトの名無しさん
垢版 |
2020/03/18(水) 16:23:14.96ID:0bSESAPE
どこが?
具体的に。
2020/03/18(水) 16:24:55.32ID:U9aknzyy
>>654
C99 の C++ 互換でない仕様は基本的に害悪
656デフォルトの名無しさん
垢版 |
2020/03/18(水) 16:39:49.24ID:0bSESAPE
>>654
C99 と互換でない C++ の仕様が害悪なのでは?
ボブは訝しんだ
2020/03/18(水) 22:36:26.94ID:IrvT9dn/
K&Rとかいう化石以外なら何でも良いよ
2020/03/19(木) 03:45:35.82ID:VRFqiqhe
>>622
Rustは、有る意味では普通の「手続き型言語」の枠組みを超えてしまっているため、
通常のプログラミング言語の代わりに使うことはほぼ出来ないことが最大の欠点。
関数言語以外ではどの言語でもほぼ共通である所の変数の代入の概念がRustでは
変更になってしまっている。
2020/03/19(木) 03:51:58.51ID:VRFqiqhe
>>642
ファイルシステムに関しては、本当にサンドボックスの外に出られ無い事が
大問題ではあるが、Wasmは雰囲気だけはnativeアプリ見たいには出来る。
ダウンロード時間を含めて起動も速い:
https://yutakaaoki.github.io/demo1/index.html
2020/03/19(木) 04:21:11.94ID:VRFqiqhe
>>98
KotlinとSwiftは、それぞれ、ほぼ AndroidとiOS専用なのに対し、DartとFlutterと組み合わせは、マルチプラットフォームであることが違うことは違う。
2020/03/19(木) 04:23:28.20ID:VRFqiqhe
>>96
Dartは、Javaにも似ているが、初期のころのC++に似ている気がした。
原始的なC++から、型を明示した宣言を省略したような感じ。
C#やSwiftには便利さの点で負けると思うし、確かにJavaにすら負けているかもね。
2020/03/19(木) 04:29:05.38ID:VRFqiqhe
>>24
Rustは、厳格すぎて余計なことに気を取られたりタイプ量が多すぎてむしろC++より生産性は下がりそうだ。
生産性という意味では、C#やJavaの方が上だろう。
2020/03/19(木) 04:43:25.86ID:H2D24Ilu
>>659
結局wasmの売りってホストにデプロイされたバイトコードが如何なる環境でもChromium上で実行可能かつネイティブと迫る速度であるってことだからやっぱターゲットはゲームやモバイルアプリなんだよな
そうなると最近アナウンスされたReactNative for Windows/Macとはベクトルが違うからやっぱクロスプラットフォームって幻想だよな
実際アプリもネイティブで書いた方がメンテしやすいからなみんなネイティブで書いてるもんな
664デフォルトの名無しさん
垢版 |
2020/03/19(木) 06:33:09.69ID:I3A3yd/j
それはwasmじゃなくてwasiでやろうとしてることでしょ?
2020/03/19(木) 12:54:55.70ID:H2D24Ilu
>>664
wasiなんてあるのか知らなかったわサンクス
node.jsでも試験的に実装されてて実際に動作するみたいやな
現状ファイルアクセスだけみたいやがネットワーク接続もできるようになるみたいやしnode.jsでwasiがサポートされてるなら完全なクロスプラットフォームが実現しそうやな
2020/03/19(木) 13:04:19.10ID:Pzb6grX0
ぼくもwasiって知らんかった。このスレたまたま開いてよかった
2020/03/19(木) 13:43:55.40ID:VRFqiqhe
Wasm : ブラウザで動かす。バックエンドのJSのcanvasなどを使うことで
    グラフィックも使え、GUIも可能。原則、nativeファイルシステムが使えない。

wasi : Wasmを使うがブラウザ外で動かし、今のところCUI専用。native ファイル
    システムが使えるので、サーバーサイドの node.jsやJavaの置き換えや
    組み込みに向いているらしい。
2020/03/19(木) 13:47:08.94ID:66GF5L4f
webの流れ早過ぎ
業務で触ってないと追いつける気がしない
2020/03/19(木) 13:48:24.36ID:MilrfGsk
wasiの変なサイトにアクセスしたら勝手にインストールされて
激重なるの?情報も抜かれる?
2020/03/19(木) 13:56:02.78ID:VRFqiqhe
>>667
他にも、
Wasmer, Wasmerio(Wasmer I/O ?), Wasmtime など色々出てきている。
2020/03/19(木) 14:39:21.98ID:VRFqiqhe
>>669
そんなことは無い。
すべてはブラウザのセキュリティーモデルの中で動いているので、
原則的に今までどおりのセキュリティーレベル。
というのは、結局、Wasmで出来ることはJSでできることと変わりが無いため、
JSでどう書いてもできないことは、Wasmでもできないから。
Wasmの大きな利点は、JS以外の言語が使えることで、プログラムが開発し易くなること。
たとえば、JSだと間違いになかなか気づかない箇所でもC++だとコンパイラが発見してくれ、protected属性をつけていれば、他のclassからのアクセス制御なども出来て、保護したい変数に不用意にアクセスできなく出来たりする。
672デフォルトの名無しさん
垢版 |
2020/03/19(木) 15:20:08.64ID:dnKvjYNt
DOS攻撃すると逆にハッカー側がダメージ負う方法ってない?
例えばレスポンスで巨大なファイル送りつけるとか(多分レスポンス受け取らないから意味なさそう)
2020/03/19(木) 16:26:42.06ID:jGrvpb5b
ネットを利用するとお金がかかるようにすればいいのに
なんでネットすぐタダにしてしまうん
2020/03/19(木) 16:45:13.38ID:H2D24Ilu
>>668
俺は最新のメタはほぼすべて趣味で調べて自宅でコーディングして試してるで
仕事やとまず言語ですら最新のバージョン触れないから言語やフレームワークの新機能やトレンドはすべてプライベートでないとキャッチアップ不可能
2020/03/19(木) 16:57:59.44ID:M+e24sDQ
wasi なんてワシもしらんかったわい
2020/03/19(木) 17:00:48.35ID:c1m9bpJY
>>673
じつはネットもぜんぜんタダやないんやで
主に広告によって収入を得る仕組みになっとるんや
ただしサービスを受けとる側が提供してる側へ直接払うみたいな
ドストレートな金の流れにはなってへんし、そもそもサービスを
提供してる側が金をもらうようにはなってない事もようあるで
世の中タダのもんなんてあらへんで
677デフォルトの名無しさん
垢版 |
2020/03/19(木) 17:53:08.01ID:hFX+dqhp
>>669
その文脈でwasiはおかしい。wasmかな?
2020/03/19(木) 19:35:41.74ID:KTdRY0Ga
>>657
K&R2=C89 で必要にして十分、それ以降は蛇足
679デフォルトの名無しさん
垢版 |
2020/03/19(木) 22:41:13.00ID:i16Q86hT
> というのは、結局、Wasmで出来ることはJSでできることと変わりが無いため、
> JSでどう書いてもできないことは、Wasmでもできないから。

え?
間違ったことは教えちゃダメよーダメダメ🙅‍♂

wasmでしかできないこともあるし、JSでしか出来ないこともあるよ
2020/03/20(金) 00:11:25.98ID:405ti7Ej
>>679
いや、言語が変えられることと、速度が速いこと以外は、Wasmが
出来ることはJSと完全一致で、JSが出来る範囲の事を超えることは出来ない。
これは絶対。
2020/03/20(金) 01:17:37.81ID:b2ihZgLg
>>679
>wasmでしかできないこともあるし、JSでしか出来ないこともあるよ

これはそうだけど
セキュリティ観点でJS onlyでは出来ないけど
wasm使えば出来るってことは無いよね?
2020/03/20(金) 02:27:28.05ID:uULTB4xx
うーん、俺の理解はこんな感じやな
クライアントのwasm対応ブラウザからホストにデプロイされたwasmのバイナリをリクエストしてダウンロードされたバイナリをブラウザで実行。
wasmの実行はブラウザ依存で対応ブラウザさえあれば組込だろうとどんな環境でも実行可能かつ高速なのが魅力。

wasm ←
・CaaS、コンテナみたいなもの。
・wasmは現状ブラウザ標準のFile APIしか使用できないのでネイティブファイルシステムにアクセスできない。
・ChromeではNative File System APIが試験導入されてるが、現状できることはinput type=“file”のFile APIとかわらない(これは試した)。
・各言語で書かれたソースコードをコンパイルして、wasmファイル(ブラウザで実行するバイナリ。プラットフォーム毎にバイナリが作られる)を生成。
・よって基本AOTでJITやインタプリタはない?

wasi ←
・PaaS、仮想マシンみたいなもの。
・wasmから利用できるプラットフォーム毎のネイティブファイルシステムAPIを抽象化した実装。
・wasiの機能・使用方法
→ watからモジュール(ライブラリ)を参照して使用する。
→ wasiを使用して書かれたソースコードをwasi対応バイナリとしてコンパイルする、コンパイルされたファイルはwasmだったりしなかったり。
→ wasmを実行するランタイムでもある。
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にはインタプリタも存在している。
684デフォルトの名無しさん
垢版 |
2020/03/20(金) 05:58:59.54ID:qGV0eoEO
>>680
> 出来ることはJSと完全一致で、JSが出来る範囲の事を超えることは出来ない。
完全一致www
まぁ色々仕様見た方がいいね

>>681
むしろセキュリティ観点からするとJSの方が安全だよ
"そこ"に関しては特別WASMだけが出来ることはないよ
2020/03/20(金) 11:01:34.93ID:405ti7Ej
>>684
正しく言えば、Wasmでも、画面の見た目、グラフィック、キーボード/マウス/タッチパネルなどの
入出力、IMEなどを使った日本語入力、XHRやfetchなど、File API, native file API,
などはJSを使ってしか出来ないのでJSで出来ないことはWasmでも出来ないことになるので、
「Wasmで出来ることは使える言語と速度を除いてはJSと完全一致」
ということは正しい。
686デフォルトの名無しさん
垢版 |
2020/03/20(金) 17:23:27.50ID:43c15jQs
自己矛盾
2020/03/21(土) 11:21:11.63ID:W/MeN4A+
>>676
でもワイ、毎日タダでシコりまくりんグの件
2020/03/22(日) 09:31:45.18ID:zQpJysa3
>>658
>関数言語以外ではどの言語でもほぼ共通である所の変数の代入の概念がRustでは
>変更になってしまっている。
たいへん良いことじゃん?
変更されない変数を後から探してconstを付けて回る工数が削減される、
2020/03/22(日) 16:15:40.85ID:6GcIkd5x
Rustの所有権や借用の概念は何で今まで他はこうじゃなかったのかと思ってたわ
難しいとか聞いたので構えてたけど、全く何の違和感も無かった
但し書き方が、もうちょい何とか出来なかったのかとは思うが、Rustが難しいのは概念や仕様じゃなくて書式
2020/03/22(日) 16:48:50.31ID:HvrypJyW
>>689
参照などの書き方に統一感が無いのは、Perl の関数呼び出しにおける参照型を思い出させる。
結局、分けが分からないので、衰退して言ったようだ。
2020/03/22(日) 20:50:12.50ID:ZvBqcowf
rustはコンストラクタにもう一工夫あればc++に取って変われたかもね。
2020/03/22(日) 21:27:08.55ID:6pjqYr89
>>691
そのココロは?
2020/03/22(日) 21:28:05.51ID:I5Su+SV6
AppleのCloudサービス(iCloud, iTunes, Siri, Maps)はRustへ移行するってさ

Following a very successful first foray into Rust we are migrating an established codebase from C to Rust, and building new functionality primarily in Rust.
https://jobs.apple.com/en-us/details/200144575/software-engineer
https://jobs.apple.com/en-us/details/200117537/software-engineer
2020/03/22(日) 22:46:24.47ID:bDl/VAFl
欲求の大体は想像できるけど
ライブラリ等の使用準備はインスタンス駆動よりも
ブロック内に記述/用意したプロパティを言語機能で勝手に読み取り構築してくれるくらいやって欲しいね
機能関数を初めて呼んだ時点でブロック単位最優先のヤツをライブラリに渡してくれるようなの
ブロックの親子関係でマイナスになったら初めてフラグもリセット
2020/03/22(日) 22:52:16.35ID:6pjqYr89
意味がワカラン
2020/03/22(日) 23:25:52.06ID:0rN6cFcx
>>693
Swiftの間違いだろ
2020/03/23(月) 10:12:42.25ID:YjRO4AxK
造語症の検査が必要だ
造語症を見抜けないことでかえってリソースが浪費される
2020/03/23(月) 10:57:01.11ID:qdgRIROC
DropboxもクライアントをRustに書き換えか
Pythonの型アノテーション頑張ってたけど
2020/03/23(月) 11:44:55.37ID:IXWRbkqI
>>692
書いてみりゃわかる。
状態変更や共有に気を遣うとインスタンス生成を上手くやる必要が出る。
700デフォルトの名無しさん
垢版 |
2020/03/23(月) 12:42:49.16ID:e6B2kqQy
rustのhello world 4MBになるけど最小化しようとしたら存外難しくてワロタw
2020/03/23(月) 14:57:51.21ID:+m59DBar
cargo newしただけの状態をBuildしても143KBなんだが…
Goと間違ったのかな?いや流石に無いか、どういう事なんだ釣か?
2020/03/23(月) 15:21:39.20ID:cEc1Pjxt
人工知能にハロワでもさせたんやろ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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