次世代言語18 Go Rust Elixir Kotlin TypeScript

レス数が900を超えています。1000を超えると表示できなくなるよ。
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/29(日) 15:27:11.95ID:Kzf4aDfw
>>845
例えば、LLVMをバックエンドに持つコンパイラであって、LLVMの中の
%struct.XXXX のアラインメントのとり方が同じであって、かつ、
export、importする関数がC言語のインターフェースを持っているならば、
Wasm用のリンカでリンクが可能。

この条件を満たさない場合、リンクするのは難しいが、以下のようにすれば、
実行段階でお互いに関数を呼び出しあうことが出来る。
・それぞれの言語処理系でリンクを行って、*.wasm ファイルを作る。
 これらは、「Module」と呼ばれる。
・ModuleをWasmとして機能させるには、JSでInstace化を行う。
・この際に、それぞれの関数名を import すれば、お互いに関数を呼び出しあうことが可能。
・この場合、文字列や配列の様なものにアクセスし合いたい場合、ポインタ値がJSレベルでは
 単なる整数値になるので、それを、Memory と呼ばれる線形メモリーの ArrayBufferの
 アドレス値とすることで、可能。
2020/03/29(日) 21:23:25.95ID:s3Co173K
並列処理一番簡単に書けるスクリプト言語なに?
848デフォルトの名無しさん
垢版 |
2020/03/29(日) 21:30:38.73ID:aoCWY+mA
go
2020/03/29(日) 21:33:30.37ID:Erzf/uFl
php
850デフォルトの名無しさん
垢版 |
2020/03/29(日) 21:33:38.94ID:AoSt3bhf
>>847
PureScript
2020/03/29(日) 21:44:17.08ID:MKM75DKF
bash
2020/03/29(日) 21:47:11.25ID:s3Co173K
バラバラじゃん
人によって違うのか
853デフォルトの名無しさん
垢版 |
2020/03/29(日) 21:51:55.62ID:AoSt3bhf
そらそうやろ
何個言語あってプログラマ何人おると思ってるねん
2020/03/29(日) 22:23:37.56ID:GFdzppn9
コロナ菌に強い言語は?
2020/03/29(日) 22:55:19.13ID:Erzf/uFl
php
2020/03/29(日) 23:14:39.66ID:Sg0tN/NI
>>847
Make
2020/03/29(日) 23:23:25.57ID:AoSt3bhf
TypeScriptで質問なんだけど、全く新しい型を導入する方法ってあるのかな?
構文がわからないから疑似コードで書くけど、

typedef X; // Xという新しい型を定義

function makeX<T> (t T): X { /* ... */ }

// makeXで作られた値以外を渡したらいつもコンパイルエラー
function soSomethingWithX( x: X ) :void { /* ... */ }

こういうことがしたいんだけど…
2020/03/29(日) 23:53:44.28ID:Erzf/uFl
TypeScript は構造的部分型だから無理

type Nekko = {
name: string
age: number
}

type Inu = {
name: string
age: number
}

これらは同じ扱いになる
っていう話?

それとも makeX 以外で X を作れなくしたいという話?
別に X を満たせば、 makeX 以外が X 作ってもよくない?
makeX が作った X と、makeX 以外が作った X が別物なのであれば、
それらは別の型だろう
2020/03/29(日) 23:54:30.67ID:Erzf/uFl
なんか頭おかしそうな奴とID被ってて最悪・・・
2020/03/30(月) 00:09:09.76ID:2aeq6Dek
型の表現力が低くて嫌だねそれ。0以上の数を表す型とか作れないじゃん
861デフォルトの名無しさん
垢版 |
2020/03/30(月) 00:15:47.42ID:byCSvntg
>>847
erlang かな
むしろ全て機能を並列処理で書くしか無い割り切りというか
2020/03/30(月) 00:42:47.60ID:Oymj8mf6
>>847
スクリプト言語ではないが、GPGPU 用のC言語に似た言語は、そもそも
最初から並列処理を前提にしている。
2020/03/30(月) 01:02:40.38ID:DOS6yDxg
>>860
プロパティが一致しなければ別の型になるので、
piotrwitek/utility-types の nominal type 使うなどして、自分で識別子を与えればできる
JavaScriptというカオスな言語・膨大な資産を利用するには、仕方ない面もある
2020/03/30(月) 19:47:31.17ID:UMPMfaDu
並列処理などお前らが書く必要はない。
ライブラリを使え。
2020/03/30(月) 20:46:42.03ID:kgJURof2
erlangtって、堅牢かもしれんが縛りがきつくて決して簡単だとは思えないが。
2020/03/30(月) 21:04:07.42ID:bUcOwvrU
Objective-C → Swift や Java → Kotlin
と同じ感じで Erlang → Elixir がある
867デフォルトの名無しさん
垢版 |
2020/03/30(月) 21:09:02.33ID:08TDMd3Q
>>864
やっぱりPureScriptでAffがナンバーワン!
2020/03/30(月) 21:15:44.17ID:kgJURof2
いや文法がどうとかじゃなくて、データを一切共有しないアクターモデル自体がね。
2020/03/30(月) 23:04:26.22ID:N7kDQWeU
Erlang、
870デフォルトの名無しさん
垢版 |
2020/03/30(月) 23:41:35.89ID:mSBWf3OZ
並列処理は、データベース管理システムで結合したマルチプロセスでほとんどの場合十分だろ、って思ってしまう
局所的な高速化だったらライブラリ使えになっちゃうし
2020/03/31(火) 01:01:31.54ID:G9etW8qy
>>867
JSは自前でWorker使った並列処理書かないと
並列化はされてないんじゃないの?
2020/03/31(火) 09:07:30.53ID:tO4cMY6a
どこもzenの話題がないな。
2020/03/31(火) 09:22:07.43ID:c3F4yVlK
zenzen話題にならないね、全然
2020/03/31(火) 09:49:27.32ID:PWbizjT8
当然だろ
2020/03/31(火) 11:26:57.93ID:S3VhPMDw
zig/zen/c2にはCの壁は崩せんかなぁ
いい感じではあるけどいい感じから更に上回って採用するほどではないという
2020/03/31(火) 13:17:16.39ID:OTxurRkT
cの壁崩す前にcの前に散っていった言語の特徴でもまとめておいた方がよっぽど前向きだよ。
2020/03/31(火) 13:25:17.44ID:c3F4yVlK
僕たちはCの世界で契約したんだ
2020/03/31(火) 14:38:03.91ID:EXHwmcq2
UNIXにしろWindowsにしろOSのAPIがCの関数だから
アプリもCで書くのが一番自然になる
2020/03/31(火) 15:39:54.43ID:chhHfIYK
cしか書けない人はこういう極論を言う
880デフォルトの名無しさん
垢版 |
2020/03/31(火) 15:45:01.73ID:54ZUq6ql
極論であると同時に正論でもある稀有な例。
2020/03/31(火) 16:43:37.28ID:chhHfIYK
正論も何もnativeでABI準拠できればいいのであって
cである必然性はない
882デフォルトの名無しさん
垢版 |
2020/03/31(火) 16:47:11.45ID:54ZUq6ql
つまりわざわざC以外にする必要性もないわけだね
2020/03/31(火) 17:06:20.65ID:chhHfIYK
システムコールだけが言語選択の基準
って思考から脱却しろ
あほらし
2020/03/31(火) 17:34:36.26ID:WCUraC1a
Cおじいちゃんって職場で若者にマウント取ってそう
2020/03/31(火) 17:37:12.28ID:mFEQEhdF
C調言葉にご用心〜♪
2020/03/31(火) 17:38:37.75ID:c3F4yVlK
でもPHPの方が生産性高いよね
2020/03/31(火) 17:40:28.69ID:qnv4SZcB
アセンブリでマウント取る爺様方がだいたい鬼籍に入って次はCでマウント取る爺様方の時代になった感じやね
888デフォルトの名無しさん
垢版 |
2020/03/31(火) 18:01:22.91ID:uDSFrRRV
C#からCのAPI呼ぶとき
構造体とか配列のポインタとか面倒だな・・・
2020/03/31(火) 18:27:57.93ID:S3VhPMDw
Cベースはむしろマシなんだよほとんどの言語でFFIあるし
問題は処理系依存マシマシのC++ベースAPI/ABI
2020/03/31(火) 18:58:18.61ID:DEnjdkJH
>>888
C#のFFIはかなり良い方だろ
C側でラッパーを一切書くことなくC#から呼び出せる
何より、トラブルの元になりがちな変なコードジェネレータの類がなくて、宣言した通りに正しく素直に動くってのが素晴らしい
そのストレスフリーさに比べたら、C#側で関数や構造体の宣言を書き直さなきゃいけないのは余裕で受け入れられる冗長性だと思う
2020/03/31(火) 21:40:41.75ID:OTxurRkT
別にcで書けって話でなくて、cのそういう側面くらい常識として知っとけって
だけなのに、なんかコンプレックス刺激されちゃう奴がいるのな。
2020/03/31(火) 22:05:04.60ID:HDRrREDo
>>891
C がわかる、てだけでドヤるのも大概だけれども
それよりももっと性質が悪いのは C がわからないコンプをこじらせているやつ
2020/03/31(火) 22:28:42.75ID:G9etW8qy
次スレは「次世代言語を夢見るレガシー言語労働者達のマウンティング合戦スレ」に改題で
894デフォルトの名無しさん
垢版 |
2020/04/01(水) 10:12:43.54ID:5VJq6KKK
解決しそうだけど
何このモヤモヤ感
https://qiita.com/hmuronaka/items/619f8889e36c7b5db92d
895デフォルトの名無しさん
垢版 |
2020/04/01(水) 17:19:13.73ID:XWi3lCYB
C#はわからん
896デフォルトの名無しさん
垢版 |
2020/04/01(水) 18:46:22.78ID:60SS71wY
ヒカルと店長からこれまで話してこなかった真面目な話があります
https://www.youtube.com/watch?v=WiPoQWJfFt0&;t=900s
全部話します。YouTuberヒカルが生まれるまでの話しと今の本音
https://www.youtube.com/watch?v=97FsyM7G1jw
高校生の自分に教えたいこと
https://www.youtube.com/watch?v=y0SY32zOExc
嫌われながら好きなことで、生きていく「起業家-ヒカル」
https://www.youtube.com/watch?v=OcsN5iD7C-s
【本音対談】これからYouTubeをはじめるあなたへ【DJ社長×ヒカル】
https://www.youtube.com/watch?v=IDL3dLxyPuk
【好きなことで、生きていく】『レペゼン地球-DJ社長-』
https://www.youtube.com/watch?v=PPnbEiXSYM8
2020/04/01(水) 20:24:09.70ID:GBjVGlaM
>>896
グロ
898デフォルトの名無しさん
垢版 |
2020/04/02(木) 20:08:57.64ID:SaXsz2/b
標準ライブラリが豊富な言語ってC++, Javaとかになるの?
899デフォルトの名無しさん
垢版 |
2020/04/02(木) 22:35:51.75ID:0tSRYO67
C++は豊富とは言えない。
2020/04/02(木) 22:39:04.07ID:D0Dsg/MO
Cの非標準ライブラリまとめ言語
と言われたくない人達
901デフォルトの名無しさん
垢版 |
2020/04/02(木) 23:17:47.62ID:iuGcEdKM
プログラム板でこのスレしか人いないのほんと草
2020/04/02(木) 23:53:07.21ID:tEUzHDBS
Javaと並ぶのはないんじゃないの?
2020/04/03(金) 00:01:45.98ID:0E621fjE
.NETも標準ライブラリ豊富だろ
つか、今時スレが言語スレだが言語だけで語る滑稽さ
次世代言語というより、標準ライブラリも含めた次世代環境がほしい
2020/04/03(金) 00:21:31.40ID:v6FKoEXq
最近の言語はどれも環境そろってるだろ。
適当なインストーラーとライブラリ管理はあるし。
ビルド通らねー糞が!とかもだいぶ減った。
905デフォルトの名無しさん
垢版 |
2020/04/03(金) 00:44:59.65ID:WSo5wZTZ
rustはpythonがらみでエラー出てビルド通らなかった。
本気だして調べる気力もなく、関連ファイル削除して男友達と焼肉食いに行った。
わざわざ男友達と書いたのは、女友達なんかいないからだ。
2020/04/03(金) 01:46:29.30ID:y4LIlYUL
>>905
わざわざどうでもいいつまらないことを書き込むところが女友達のいない原因だろう
2020/04/03(金) 01:54:07.26ID:b0rZIsH6
>>905
1行目からイミフ
2020/04/03(金) 07:20:23.73ID:x2AIwLRG
>>907
rust自身のビルドが、Pythonに依存しているって話じゃない?
2020/04/03(金) 10:41:31.87ID:TFqtSApO
Pythonはいいぞ
Makefileより読みやすく
Python自身のビルドはLLVMのビルドより10倍か100倍速い
2020/04/03(金) 10:53:44.07ID:b0rZIsH6
型無しの時点でゴミという現実
2020/04/03(金) 14:42:39.21ID:Tc814Ws0
型が無いんじゃなくて型を差別してないのさ
どんな型が来ても受け入れるおおらかさがある
2020/04/03(金) 15:11:10.65ID:v6FKoEXq
動的な型なだけだな。
ネストした構造をループ処理するときなんかは確かに楽なことも多い。
2020/04/03(金) 15:32:53.86ID:b0rZIsH6
それを世間一般では型無し糞言語と言うんだよ
2020/04/03(金) 15:51:03.27ID:MTkh8ajj
強い動的型付けだし型アノテーションだいぶ充実してきたしでだいぶマシだと思うけどなぁ

弱い動的型付けと同一視するのは誤りの元だし、漸進的型付けの存在を無視するのもまた評価を誤りかねないですよ
2020/04/03(金) 16:37:43.22ID:UYNPUerC
Pythonの型アノテーションは実際には全くと言っても差し支えないほど使われていないから無視して問題ない
そろそろ後付け静的型の代表的成功例であるTypeScriptと何が違ったのかを真剣に議論すべき時期にきてる
2020/04/03(金) 16:50:18.12ID:v6FKoEXq
したけりゃすりゃいいじゃん。
2020/04/03(金) 17:36:01.98ID:qlrRurvi
TypeScriptの方が使いやすい型システムしてるのわかる
2020/04/03(金) 17:42:02.39ID:HJoja6bN
型無しは苦手だけどbashは認める
919デフォルトの名無しさん
垢版 |
2020/04/03(金) 18:10:28.37ID:VVxcL9Mv
>>902
C#は多いけど標準かって言われるとな・・・
C/C++も「標準」に拘ると何もできないω
2020/04/03(金) 22:01:00.40ID:9+J0Mjhv
型なし言語でも宣言時に初期化と代入を済ませれば問題がない
2020/04/03(金) 22:20:48.78ID:bCeKFD21
動的だと、神関数が、作れるからオススメ。

func add_god(a,b){
return a + b
}

add_god(1,2)
add_god("a","b")
add_god(1,"a")


神関数、があれば、コードの削減が可能!!!!!!!!!
ノーコード時代には動的型付け言語一択!!!!!!!!
2020/04/03(金) 23:12:24.05ID:IuiLyZOy
型無しのデバッグ作業に駆り出された事有るけど、マジで地獄やぞ。絶滅はよ
2020/04/03(金) 23:39:58.52ID:b0rZIsH6
ガチのマジで型無し糞言語の良さがわからん
死ねとまでは言わないが生まれてこなければよかったのに
2020/04/03(金) 23:46:38.92ID:y4LIlYUL
型無し言語より>>921に絶滅してほしい
2020/04/04(土) 01:01:37.87ID:ImIgGAA9
何回言われても直す気がないからもう悪意だと認識してるけど、動的型付けと型なしは全く別のものとしてそもそも存在してるので、動的型付けを型なしと呼びまた強い型付けと弱い型付けの区別を無視する限りこの議論が有意義に進むことはないよ
2020/04/04(土) 01:03:28.27ID:9qrNMGHe
このへんでも読めば?
https://myuon.github.io/posts/type-system-poem/
927デフォルトの名無しさん
垢版 |
2020/04/04(土) 01:04:40.59ID:PddOPzm8
型があれば静的解析に有効というのは間違い無いのだが
静的解析すれば全てのバグを取り除けるというのは間違い
2020/04/04(土) 01:34:09.53ID:ezNPGdHf
> 静的解析すれば全てのバグを取り除けるというのは間違い

そもそもそんな主張誰もしていない
929デフォルトの名無しさん
垢版 |
2020/04/04(土) 02:58:03.09ID:bmDmb45p
スクリプト界隈もlintから始まってflowだTypeScriptだ型定義は素晴らしい!静的型付けバンザイ!
とかあれだけ動的型付け素晴らしいからの静的型付け面倒臭いとかディスッといてこの状況は大草原ですわ
まぁ何事もトレードオフだからケースバイケースで使い分ければいいんだが
今頃ブレイクスルーだなんだと大騒ぎなのは滑稽ですな
js界隈も結局サーバサイドレンダリングに回帰してるしファッションや音楽と同じで10〜20年スパンでサイクルすんのかね
930デフォルトの名無しさん
垢版 |
2020/04/04(土) 04:34:22.45ID:aJleCvsu
JSを本業にしてる層って最近の若者で学生時代にちょっと触り始めた生意気なガキが多いから気にしない方が健全
2020/04/04(土) 07:59:21.83ID:ImIgGAA9
CのunionとかC++のオブジェクトスライシングの話を見てたら型が無いからクソみたいな言説は発生しないはずなんだがな……

型があっても言語としての使い方がクソならクソだし、静的解析のないLLだからってランタイムにきちんと型エラー吐いてくれるものが比較的マシという評価になるのは間違いないでしょ

デジタルな分野扱ってるからって判断までI/Oにするもんじゃない
2020/04/04(土) 08:04:15.02ID:7gXG4pCc
静的解析マンセーな輩はただテストコード書く技量がないだけ。
2020/04/04(土) 09:42:25.07ID:BgK/PXFy
>>932
君は >>921 の関数に、整数、小数、文字列、オブジェクト、真偽値、日付型・・・
たくさんの引数を与えて
一生懸命テストを書くのだろうな

それは素晴らしいことだと思うよ
感動で涙がで、でますよ
2020/04/04(土) 09:47:00.19ID:7gXG4pCc
またそう言う極論をほざくところが静的解析マンセー厨らしいよ。
2020/04/04(土) 09:48:28.05ID:BgK/PXFy
>>934
おやおや・・・君もテストコード書く技量がないだけ??
2020/04/04(土) 09:50:52.18ID:BgK/PXFy
それともコメントに、
この引数は整数でございます。小数、文字列、オブジェクト、真偽値、日付型・・・は教育によろしくないので与えないでいただけますと幸い至極でございます。
とでも一生懸命書くのかな??

それでIDEの静的解析に警告を受けたら
「やっぱり型無し糞言語でも安全!!型はいらない!!!」
とか言うのかな

あれっw
2020/04/04(土) 10:24:55.54ID:4+4qlucB
Pythonは現実的
言語名が不明な「静的型」は現実みが浅い
2020/04/04(土) 10:34:48.74ID:LqQwLSmR
Pythonは有名ライブラリにことごとく型がついてないので
やっぱりクソ
2020/04/04(土) 10:48:28.81ID:g5yerRCZ
>>937
現実みが浅い、って日本語として気持ち悪い
940デフォルトの名無しさん
垢版 |
2020/04/04(土) 11:05:52.17ID:L/BdUORC
逆に静的型付けの何がいいのか知りたい
JavaScriptやpyなんか連想配列や辞書
定義するのもコンソール出力もめっちゃ便利やぞ
コンパイルエラーの手間もないしめっちゃデバッグが楽
2020/04/04(土) 11:12:33.09ID:oHbtMe0Y
>>932
それな
全員がそうだとは言わないけどテスト設計できないやつが大半
2020/04/04(土) 11:46:08.97ID:nZpdiFMX
// この関数を使えばなんでもできます
func god(args...){}

これだけで基幹システム作ったわ
1年掛かる工数を3日に短縮できる動的言語ってやっぱ神だわ
2020/04/04(土) 11:54:03.53ID:BgK/PXFy
>>942
うーんこの神
みずほ案件も型無し糞言語を使っていれば3人日で完成していた
2020/04/04(土) 12:50:45.86ID:7gXG4pCc
>>940
メソッドの実装探すのに苦労する。
2020/04/04(土) 13:09:18.66ID:XKUUvXNa
public class HelloWorld {
public static void main(String[] args) {
System.out.println("hello, world");
}
}


やっぱJavaだわ
記述量が多いから努力した気になれるし成長した気にもなれる
静的型付けだから動的野郎にもマウント取れるし
昔ながらの大企業でよく使われてるから日本の伝統も感じられるし
今後50年は食いっぱぐれないし
Oracleに転職できるかもしれない
レス数が900を超えています。1000を超えると表示できなくなるよ。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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