スレタイ以外の言語もok
前スレ
次世代言語17 Go Rust Kotlin TypeScript Julia
https://mevius.5ch.net/test/read.cgi/tech/1567602619/
探検
次世代言語18 Go Rust Elixir Kotlin TypeScript
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2019/10/01(火) 02:58:03.93ID:aEwUIB6s792デフォルトの名無しさん
2020/03/27(金) 12:21:34.20ID:aLfv28Wa あ、確率論的にヤバイやつに触ってしまった
スマヌ
スマヌ
793デフォルトの名無しさん
2020/03/27(金) 12:23:58.46ID:hY05skqC Rustだと所有権とかでエラーになる部分も警告で留めてくれる+警告潰せばだいたい安全、みたいなのがほすぃ(´・ω・`)
794デフォルトの名無しさん
2020/03/27(金) 12:27:10.00ID:VaiYZBCN 大手が採用したとかで一見目立っているが、Google Trends で見る限り
極度の低空飛行で、人気は横ばいよりも下がり気味だ。
極度の低空飛行で、人気は横ばいよりも下がり気味だ。
795デフォルトの名無しさん
2020/03/27(金) 12:33:25.16ID:VaiYZBCN Rustは、去年の7月辺りをピークとして人気が下がってきている。
796デフォルトの名無しさん
2020/03/27(金) 12:36:17.11ID:VaiYZBCN >>791
非難する人を「古い人」扱いすれば切り抜けられると思ったら大間違いだ。
非難する人を「古い人」扱いすれば切り抜けられると思ったら大間違いだ。
797デフォルトの名無しさん
2020/03/27(金) 12:39:35.97ID:VaiYZBCN >>784
しかし、C++ の場合、new の働きは明確なのに対し、
Rustは、Box::new のコードを見ても、「box」という組み込みキーワードを
使ってしまっているのでそれ以上追う事は出来ず、曖昧さが残る。
C++の場合は、少なくともC++98までだとかなり原始的なレベルまで
やっていることが明確だった。C++11あたりから異常になったが。
しかし、C++ の場合、new の働きは明確なのに対し、
Rustは、Box::new のコードを見ても、「box」という組み込みキーワードを
使ってしまっているのでそれ以上追う事は出来ず、曖昧さが残る。
C++の場合は、少なくともC++98までだとかなり原始的なレベルまで
やっていることが明確だった。C++11あたりから異常になったが。
798デフォルトの名無しさん
2020/03/27(金) 12:51:59.02ID:AdoNhS+g で、Rust使ったらPHPより売れるプログラム書けるの?w
799デフォルトの名無しさん
2020/03/27(金) 13:02:00.57ID:3tCJhGUU >>788,789
俺もRustは指示するわけではないが、問題点として挙げるのがほんのわずかなタイプ数だなんて、根拠としては弱いというかどうでも良い話だろ
俺もRustは指示するわけではないが、問題点として挙げるのがほんのわずかなタイプ数だなんて、根拠としては弱いというかどうでも良い話だろ
800デフォルトの名無しさん
2020/03/27(金) 13:07:03.48ID:VaiYZBCN801デフォルトの名無しさん
2020/03/27(金) 13:44:45.27ID:ShoDX97I タイプ量なんかより大事なことがあるって分かる奴が
Rustをつくりだして、または使ってるんだろうなw
Rustをつくりだして、または使ってるんだろうなw
802デフォルトの名無しさん
2020/03/27(金) 13:52:21.68ID:KIy2b3FX 連日あちこちのスレで荒らしてる奴なので
相手するだけ無駄
相手するだけ無駄
803デフォルトの名無しさん
2020/03/27(金) 14:09:16.05ID:VaiYZBCN タイプ量はとても大事だ。
頭が賢ければ、タイプする体力と時間が不要なのだよ。
頭が悪い人は、体力と時間で勝負するしかないからタイプ量が多い言語を使うしかない。
頭が賢ければ、タイプする体力と時間が不要なのだよ。
頭が悪い人は、体力と時間で勝負するしかないからタイプ量が多い言語を使うしかない。
804デフォルトの名無しさん
2020/03/27(金) 14:40:34.92ID:gM1jKcLP タイプ量はどうでもいい
読みやすいかどうか
読みやすいかどうか
805デフォルトの名無しさん
2020/03/27(金) 14:42:32.41ID:VaiYZBCN let a:i32 = x;
と
int a = x;
なら、後者は短いのに分かり易い。コンパイラに伝達される情報は同じだし。
と
int a = x;
なら、後者は短いのに分かり易い。コンパイラに伝達される情報は同じだし。
806デフォルトの名無しさん
2020/03/27(金) 14:54:06.18ID:VaiYZBCN Rustで、
let a = x; //(1)
と
let a:i32 = x; //(2)
なら、そもそもコンパイラに伝わる情報が違い、後者は記述量が多くてもバグの少ないプログラミングに役立つ。
後から読み直しても a を i32 型にしたいプログラマの意図が分かって分かり易い。
だから、記述量が増えても後者は良い面を持つ。
ところが、Cで
int a = x; //(3)
と書けば、Rustの(2)と全く同じ情報がコンパイラに伝わり、エラーチェックのレベルも同程度だから、
Cは、少ない記述量で同じ事ができると言える。
(1)と(2)の違いと、(2)と(3)の違いを混同してはならない。
前者は記述量が多くなっても安全性向上という意味で意味が有るのに対し、後者は、書くのが長くなるだけで全く意味が無いのだから。
let a = x; //(1)
と
let a:i32 = x; //(2)
なら、そもそもコンパイラに伝わる情報が違い、後者は記述量が多くてもバグの少ないプログラミングに役立つ。
後から読み直しても a を i32 型にしたいプログラマの意図が分かって分かり易い。
だから、記述量が増えても後者は良い面を持つ。
ところが、Cで
int a = x; //(3)
と書けば、Rustの(2)と全く同じ情報がコンパイラに伝わり、エラーチェックのレベルも同程度だから、
Cは、少ない記述量で同じ事ができると言える。
(1)と(2)の違いと、(2)と(3)の違いを混同してはならない。
前者は記述量が多くなっても安全性向上という意味で意味が有るのに対し、後者は、書くのが長くなるだけで全く意味が無いのだから。
807デフォルトの名無しさん
2020/03/27(金) 15:00:14.28ID:ShoDX97I ガイジかこいつ
808デフォルトの名無しさん
2020/03/27(金) 15:01:10.96ID:I9gCjo9A 型推論て今時どの言語にもあるんじゃね
GoやJavaにさえある
つまり問題視する方がお菓子い
GoやJavaにさえある
つまり問題視する方がお菓子い
809デフォルトの名無しさん
2020/03/27(金) 15:11:19.11ID:VaiYZBCN 型推論することで安全性が駄目になるから、Cでは型を明示して宣言するようになったんだ。
その哲学を壊す言語が増えてきているだけ。
その哲学を壊す言語が増えてきているだけ。
810デフォルトの名無しさん
2020/03/27(金) 15:13:12.70ID:u+JL0HJF タイプ量タイプ量ってさぁ
型無し言語かhaskellでもやってろ
型無し言語かhaskellでもやってろ
811デフォルトの名無しさん
2020/03/27(金) 15:17:28.55ID:E0iV7Jya 型の選択みたいな重要なことをコンピューター任せにしてしまって良いのでしょうか?!
812デフォルトの名無しさん
2020/03/27(金) 15:17:37.12ID:M0gPeD08 null安全を考慮した言語よりnullの方が良いと
主張していたアホだから
主張していたアホだから
813デフォルトの名無しさん
2020/03/27(金) 15:19:37.09ID:E0iV7Jya Cも暗黙の型変換があるからイクナイ
高度な型推論はいずれチューリング完全性を有して機械的手続きでは御しきれなくなる
そして人類が機械でないという証拠は今のところ無い
高度な型推論はいずれチューリング完全性を有して機械的手続きでは御しきれなくなる
そして人類が機械でないという証拠は今のところ無い
814デフォルトの名無しさん
2020/03/27(金) 15:42:26.54ID:VaiYZBCN >>808
型推論は、C++は template が深くて複雑すぎて、templateを使っているときに、
人間側が結果や変数の本当の型が分からなくなってきたので、しょうがなく
最近になって導入された。
もしこれをちゃんと手で書くと複雑で長い型になり過ぎる。
templateはソースがあるが読んでも複雑すぎて多くのC++プログラマには型が分からない。
また、templateはRADのような簡単に機能を使いたいときに使えるように設計された
ものなのに、型が難しすぎてわからないということは本末転倒であった。
そのためにしょうがなく型推論できる機能がC++に導入された。
型推論は、C++は template が深くて複雑すぎて、templateを使っているときに、
人間側が結果や変数の本当の型が分からなくなってきたので、しょうがなく
最近になって導入された。
もしこれをちゃんと手で書くと複雑で長い型になり過ぎる。
templateはソースがあるが読んでも複雑すぎて多くのC++プログラマには型が分からない。
また、templateはRADのような簡単に機能を使いたいときに使えるように設計された
ものなのに、型が難しすぎてわからないということは本末転倒であった。
そのためにしょうがなく型推論できる機能がC++に導入された。
815デフォルトの名無しさん
2020/03/27(金) 15:44:18.61ID:VaiYZBCN816デフォルトの名無しさん
2020/03/27(金) 15:46:21.71ID:VaiYZBCN >>812
そうじゃない。
nullable指定を明示的に行うことは良いと思うが、
nullを絶対悪として、NullObjectとPolymorphismで対応することで
nullを完全排除しようとしている一部の人に対して反論していただけだ。
そうじゃない。
nullable指定を明示的に行うことは良いと思うが、
nullを絶対悪として、NullObjectとPolymorphismで対応することで
nullを完全排除しようとしている一部の人に対して反論していただけだ。
817デフォルトの名無しさん
2020/03/27(金) 15:53:09.55ID:Oj6vZ37J 結局これ「型」の宣伝だからね
この謎のゴリ押しにタダ乗りして得をしてるのはRustも同じ
この謎のゴリ押しにタダ乗りして得をしてるのはRustも同じ
818デフォルトの名無しさん
2020/03/27(金) 15:58:44.21ID:6mKroLAz let a = 1;
型無し数値リテラルはデフォルトでi32でintと変わらないし数値リテラルで変えたい時は明示的にする
だから
long int a = 1;
より
let a = 1i64;
または
let a: i64 = 1;
の方がデフォルト以外の型が現れるかつタイプ数も少ない
こういうやつらはなんで後置型指定でletで変数宣言するか意図を理解してない
そもそもNull最高とか言ってるやつらに構っても意味ないな
一生C/C++とかJava、PHP、VB触ってろよ無能
型無し数値リテラルはデフォルトでi32でintと変わらないし数値リテラルで変えたい時は明示的にする
だから
long int a = 1;
より
let a = 1i64;
または
let a: i64 = 1;
の方がデフォルト以外の型が現れるかつタイプ数も少ない
こういうやつらはなんで後置型指定でletで変数宣言するか意図を理解してない
そもそもNull最高とか言ってるやつらに構っても意味ないな
一生C/C++とかJava、PHP、VB触ってろよ無能
819デフォルトの名無しさん
2020/03/27(金) 16:00:21.15ID:VaiYZBCN820デフォルトの名無しさん
2020/03/27(金) 16:02:26.87ID:zbLM5N3A そもそもCの理解も怪しいよな
821デフォルトの名無しさん
2020/03/27(金) 16:06:14.83ID:gM1jKcLP >>806
型推論できるのは冗長性があるからで
冗長性にもいい面悪い面がある
悪い面は変更に弱くなる
あっちかえたらこっちもってね
rustはそのへんバランスとろうとしている
効果はさておき
そのへんまで考察しないと浅いよ
型推論できるのは冗長性があるからで
冗長性にもいい面悪い面がある
悪い面は変更に弱くなる
あっちかえたらこっちもってね
rustはそのへんバランスとろうとしている
効果はさておき
そのへんまで考察しないと浅いよ
822デフォルトの名無しさん
2020/03/27(金) 16:10:41.99ID:sMse3dA+823デフォルトの名無しさん
2020/03/27(金) 16:15:28.13ID:9RtDMjhb C/C++ は typedef した型を区別出来れば良かったのにな
824デフォルトの名無しさん
2020/03/27(金) 18:30:43.63ID:E0iV7Jya 別のclasssにすれば区別できるお、
intと同じ振る舞いをするがintと区別されるclass、みたいなやつは必要に駆られてたまに作る
intと同じ振る舞いをするがintと区別されるclass、みたいなやつは必要に駆られてたまに作る
825デフォルトの名無しさん
2020/03/27(金) 19:41:47.93ID:1SbgdhCL C++は最悪templateで筋肉解決できるけどCでtypedefを別の型にしちゃうとインターフェイス相応のものもderiveマクロ相応のものもそもそもないし、組み込み型のオペレーター群を指定する方法もないから記述がべろべろになってしまうんだよな
C++はそれと統一性をもたせざるを得なかったから現状がある
良しか悪しきかは知らん
C++はそれと統一性をもたせざるを得なかったから現状がある
良しか悪しきかは知らん
826デフォルトの名無しさん
2020/03/27(金) 20:40:39.66ID:t91Qh+gU 型なんて屁みたいなもんでガチャガチャ言ってる入口さん
どんだけ効率的に書けて実行出来るか焦点はforeach と食わすリストよ
動的なリストでも分岐無くすとかキャッシュ乗り鬼効率な凄いのをくれ
どんだけ効率的に書けて実行出来るか焦点はforeach と食わすリストよ
動的なリストでも分岐無くすとかキャッシュ乗り鬼効率な凄いのをくれ
827デフォルトの名無しさん
2020/03/27(金) 21:51:32.40ID:vVxM6cgA その屁みたいなもんが無くなったらNumPyやCythonの無いPythonのようなもので
それはもうウンコやん
それはもうウンコやん
828デフォルトの名無しさん
2020/03/27(金) 22:51:32.05ID:YevT+Fte phpはシンタックスがゴミ
(そもそもなんだよ $ -> => って...)
パッケージ管理もゴミ
ログ出力の見やすさもデバッグのしやすさもゴミ
バージョン乱立
フレームワーク乱立
土台の言語仕様自体がゴミなの棚に上げて
コーディング規約の強要
やることなすこと全部他言語の猿真似
動的片付けの癖にプリミティブ型がメソッドや属性すら
持ってない
JavaやRailsやJavaScriptはいい加減糞PHPを
著作権侵害で訴えろや
消えうせろ、潰れちまえパクリウンコゴミ溜め言語が
(そもそもなんだよ $ -> => って...)
パッケージ管理もゴミ
ログ出力の見やすさもデバッグのしやすさもゴミ
バージョン乱立
フレームワーク乱立
土台の言語仕様自体がゴミなの棚に上げて
コーディング規約の強要
やることなすこと全部他言語の猿真似
動的片付けの癖にプリミティブ型がメソッドや属性すら
持ってない
JavaやRailsやJavaScriptはいい加減糞PHPを
著作権侵害で訴えろや
消えうせろ、潰れちまえパクリウンコゴミ溜め言語が
829デフォルトの名無しさん
2020/03/27(金) 23:03:13.17ID:AdoNhS+g >>828
で?君はPHPで書かれたプロダクトより良いプロダクトを持っておりゅかね??
で?君はPHPで書かれたプロダクトより良いプロダクトを持っておりゅかね??
830デフォルトの名無しさん
2020/03/27(金) 23:19:21.19ID:h10m8k5F Rubyは
次世代の日本を担う素晴らしい言語
Railsは、流行りのWebサイトでほとんど使われてる。
Qiitaも、Rails
最近流行ってた、質問箱も、Rails
雇われから脱出し、マックザッカバーグを目指すならRails一択!!!!!!!
次世代の日本を担う素晴らしい言語
Railsは、流行りのWebサイトでほとんど使われてる。
Qiitaも、Rails
最近流行ってた、質問箱も、Rails
雇われから脱出し、マックザッカバーグを目指すならRails一択!!!!!!!
831デフォルトの名無しさん
2020/03/27(金) 23:52:10.33ID:oRj/lH5B phpもそうだしエクセルもそうなんだけど、濫用するヤツが増えると悪評が一気に増える
もしかしたらm4がphp並みに嫌われる世界もあったかもしれないと思う
言語の適用範囲を高めるためには、抽象度の高い概念を基本とした方が良い。できるなら数学的に議論可能なレベルで
もしかしたらm4がphp並みに嫌われる世界もあったかもしれないと思う
言語の適用範囲を高めるためには、抽象度の高い概念を基本とした方が良い。できるなら数学的に議論可能なレベルで
832デフォルトの名無しさん
2020/03/28(土) 00:26:31.23ID:UNB7xn0N マックザッカーバーグを目指すから、
Facebookに倣ってPHPにするは!
Facebookに倣ってPHPにするは!
833デフォルトの名無しさん
2020/03/28(土) 00:51:24.52ID:ZE1QO4UJ FacebookほどPHP憎んでそうな企業もないと思うが
HackやらReactやら
HackやらReactやら
834デフォルトの名無しさん
2020/03/28(土) 02:26:30.25ID:7+pamnWR なんでReact??
そもそもフロント技術だし、しかもフレームワークだし、ベースがJSだからPHPと全然違う
PHPは糞言語なのは間違いないけど論点違うだろ
そもそもフロント技術だし、しかもフレームワークだし、ベースがJSだからPHPと全然違う
PHPは糞言語なのは間違いないけど論点違うだろ
835デフォルトの名無しさん
2020/03/28(土) 02:37:43.77ID:ZE1QO4UJ 関数型、immutable、思想の話
836デフォルトの名無しさん
2020/03/28(土) 03:00:20.11ID:7+pamnWR じゃあ尚更PHPとの比較は外した方がいいな
関数型、immutableってJSがESで取り込んでいった方針だから
関数型、immutableってJSがESで取り込んでいった方針だから
837デフォルトの名無しさん
2020/03/28(土) 03:06:32.88ID:5hSs4v6h Facebookつながりで書いてるだけやろ
838デフォルトの名無しさん
2020/03/28(土) 03:39:20.77ID:UNB7xn0N ちなみにザッカーバーグのfacebookはrubyもrailsも全く関係ない。
安定のrubyガイジ妄想クオリティ。
安定のrubyガイジ妄想クオリティ。
839デフォルトの名無しさん
2020/03/28(土) 04:46:49.21ID:N90Naszz Railsで作られたサイトは、山ほどあるけど、Laravelで作られた有名なサイトは、少ない。
というか、見たことない。
Laravel使いは、誰も使わないサービスを量産してお金を稼ぐ負の存在。。。!?
技術だけじゃなく、ビジネスで勝負したいならRails一択!!!!!
というか、見たことない。
Laravel使いは、誰も使わないサービスを量産してお金を稼ぐ負の存在。。。!?
技術だけじゃなく、ビジネスで勝負したいならRails一択!!!!!
840デフォルトの名無しさん
2020/03/28(土) 07:02:49.77ID:jVMyeik2 人はパンのみにて生くるにあらずという名セリフを知らないのかよ
841デフォルトの名無しさん
2020/03/28(土) 13:06:34.70ID:zHaA6Kc0 本屋のrubyの本消滅していてワロタ
842デフォルトの名無しさん
2020/03/28(土) 14:11:57.48ID:lvHGCPQW ZOZO は、Laravel
レールは続く】 Ruby on Rails Part21 【これからも
https://medaka.5ch.net/test/read.cgi/php/1545146635/103
世界を驚かせた、表示速度が異常なサイトも、Rails 製だった!
https://dev.to/
レールは続く】 Ruby on Rails Part21 【これからも
https://medaka.5ch.net/test/read.cgi/php/1545146635/103
世界を驚かせた、表示速度が異常なサイトも、Rails 製だった!
https://dev.to/
843デフォルトの名無しさん
2020/03/29(日) 11:04:58.76ID:IJ+/NVut Goだとクリティカルになる場合だけRustを使う、あとは面倒なだけだから(マークアップ以外は)絶滅して無問題、わりとマジで
844デフォルトの名無しさん
2020/03/29(日) 14:53:46.23ID:mFLaDIgK wasmて使用言語混ぜて分割コンパイルとか出来るん?
845デフォルトの名無しさん
2020/03/29(日) 15:19:30.65ID:Kzf4aDfw >>844
Wasmはマシン語に相当するものなので、Wasm自体には使用言語に関する混合に関して何の制限も無い。
ただし、nativeアプリの場合と同じで、C言語の関数を通じてお互いに呼び出しあうなどは必要。
なお、今のところ、最低限マシン語とC言語の仕組みに関して知識がないと難しい。
(最低、アドレスやポインタについての理解がいる。)
Wasmはマシン語に相当するものなので、Wasm自体には使用言語に関する混合に関して何の制限も無い。
ただし、nativeアプリの場合と同じで、C言語の関数を通じてお互いに呼び出しあうなどは必要。
なお、今のところ、最低限マシン語とC言語の仕組みに関して知識がないと難しい。
(最低、アドレスやポインタについての理解がいる。)
846デフォルトの名無しさん
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の
アドレス値とすることで、可能。
例えば、LLVMをバックエンドに持つコンパイラであって、LLVMの中の
%struct.XXXX のアラインメントのとり方が同じであって、かつ、
export、importする関数がC言語のインターフェースを持っているならば、
Wasm用のリンカでリンクが可能。
この条件を満たさない場合、リンクするのは難しいが、以下のようにすれば、
実行段階でお互いに関数を呼び出しあうことが出来る。
・それぞれの言語処理系でリンクを行って、*.wasm ファイルを作る。
これらは、「Module」と呼ばれる。
・ModuleをWasmとして機能させるには、JSでInstace化を行う。
・この際に、それぞれの関数名を import すれば、お互いに関数を呼び出しあうことが可能。
・この場合、文字列や配列の様なものにアクセスし合いたい場合、ポインタ値がJSレベルでは
単なる整数値になるので、それを、Memory と呼ばれる線形メモリーの ArrayBufferの
アドレス値とすることで、可能。
847デフォルトの名無しさん
2020/03/29(日) 21:23:25.95ID:s3Co173K 並列処理一番簡単に書けるスクリプト言語なに?
848デフォルトの名無しさん
2020/03/29(日) 21:30:38.73ID:aoCWY+mA go
849デフォルトの名無しさん
2020/03/29(日) 21:33:30.37ID:Erzf/uFl php
850デフォルトの名無しさん
2020/03/29(日) 21:33:38.94ID:AoSt3bhf >>847
PureScript
PureScript
851デフォルトの名無しさん
2020/03/29(日) 21:44:17.08ID:MKM75DKF bash
852デフォルトの名無しさん
2020/03/29(日) 21:47:11.25ID:s3Co173K バラバラじゃん
人によって違うのか
人によって違うのか
853デフォルトの名無しさん
2020/03/29(日) 21:51:55.62ID:AoSt3bhf そらそうやろ
何個言語あってプログラマ何人おると思ってるねん
何個言語あってプログラマ何人おると思ってるねん
854デフォルトの名無しさん
2020/03/29(日) 22:23:37.56ID:GFdzppn9 コロナ菌に強い言語は?
855デフォルトの名無しさん
2020/03/29(日) 22:55:19.13ID:Erzf/uFl php
856デフォルトの名無しさん
2020/03/29(日) 23:14:39.66ID:Sg0tN/NI >>847
Make
Make
857デフォルトの名無しさん
2020/03/29(日) 23:23:25.57ID:AoSt3bhf TypeScriptで質問なんだけど、全く新しい型を導入する方法ってあるのかな?
構文がわからないから疑似コードで書くけど、
typedef X; // Xという新しい型を定義
function makeX<T> (t T): X { /* ... */ }
// makeXで作られた値以外を渡したらいつもコンパイルエラー
function soSomethingWithX( x: X ) :void { /* ... */ }
こういうことがしたいんだけど…
構文がわからないから疑似コードで書くけど、
typedef X; // Xという新しい型を定義
function makeX<T> (t T): X { /* ... */ }
// makeXで作られた値以外を渡したらいつもコンパイルエラー
function soSomethingWithX( x: X ) :void { /* ... */ }
こういうことがしたいんだけど…
858デフォルトの名無しさん
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 が別物なのであれば、
それらは別の型だろう
type Nekko = {
name: string
age: number
}
type Inu = {
name: string
age: number
}
これらは同じ扱いになる
っていう話?
それとも makeX 以外で X を作れなくしたいという話?
別に X を満たせば、 makeX 以外が X 作ってもよくない?
makeX が作った X と、makeX 以外が作った X が別物なのであれば、
それらは別の型だろう
859デフォルトの名無しさん
2020/03/29(日) 23:54:30.67ID:Erzf/uFl なんか頭おかしそうな奴とID被ってて最悪・・・
860デフォルトの名無しさん
2020/03/30(月) 00:09:09.76ID:2aeq6Dek 型の表現力が低くて嫌だねそれ。0以上の数を表す型とか作れないじゃん
861デフォルトの名無しさん
2020/03/30(月) 00:15:47.42ID:byCSvntg862デフォルトの名無しさん
2020/03/30(月) 00:42:47.60ID:Oymj8mf6863デフォルトの名無しさん
2020/03/30(月) 01:02:40.38ID:DOS6yDxg >>860
プロパティが一致しなければ別の型になるので、
piotrwitek/utility-types の nominal type 使うなどして、自分で識別子を与えればできる
JavaScriptというカオスな言語・膨大な資産を利用するには、仕方ない面もある
プロパティが一致しなければ別の型になるので、
piotrwitek/utility-types の nominal type 使うなどして、自分で識別子を与えればできる
JavaScriptというカオスな言語・膨大な資産を利用するには、仕方ない面もある
864デフォルトの名無しさん
2020/03/30(月) 19:47:31.17ID:UMPMfaDu 並列処理などお前らが書く必要はない。
ライブラリを使え。
ライブラリを使え。
865デフォルトの名無しさん
2020/03/30(月) 20:46:42.03ID:kgJURof2 erlangtって、堅牢かもしれんが縛りがきつくて決して簡単だとは思えないが。
866デフォルトの名無しさん
2020/03/30(月) 21:04:07.42ID:bUcOwvrU Objective-C → Swift や Java → Kotlin
と同じ感じで Erlang → Elixir がある
と同じ感じで Erlang → Elixir がある
867デフォルトの名無しさん
2020/03/30(月) 21:09:02.33ID:08TDMd3Q >>864
やっぱりPureScriptでAffがナンバーワン!
やっぱりPureScriptでAffがナンバーワン!
868デフォルトの名無しさん
2020/03/30(月) 21:15:44.17ID:kgJURof2 いや文法がどうとかじゃなくて、データを一切共有しないアクターモデル自体がね。
869デフォルトの名無しさん
2020/03/30(月) 23:04:26.22ID:N7kDQWeU Erlang、
870デフォルトの名無しさん
2020/03/30(月) 23:41:35.89ID:mSBWf3OZ 並列処理は、データベース管理システムで結合したマルチプロセスでほとんどの場合十分だろ、って思ってしまう
局所的な高速化だったらライブラリ使えになっちゃうし
局所的な高速化だったらライブラリ使えになっちゃうし
871デフォルトの名無しさん
2020/03/31(火) 01:01:31.54ID:G9etW8qy872デフォルトの名無しさん
2020/03/31(火) 09:07:30.53ID:tO4cMY6a どこもzenの話題がないな。
873デフォルトの名無しさん
2020/03/31(火) 09:22:07.43ID:c3F4yVlK zenzen話題にならないね、全然
874デフォルトの名無しさん
2020/03/31(火) 09:49:27.32ID:PWbizjT8 当然だろ
875デフォルトの名無しさん
2020/03/31(火) 11:26:57.93ID:S3VhPMDw zig/zen/c2にはCの壁は崩せんかなぁ
いい感じではあるけどいい感じから更に上回って採用するほどではないという
いい感じではあるけどいい感じから更に上回って採用するほどではないという
876デフォルトの名無しさん
2020/03/31(火) 13:17:16.39ID:OTxurRkT cの壁崩す前にcの前に散っていった言語の特徴でもまとめておいた方がよっぽど前向きだよ。
877デフォルトの名無しさん
2020/03/31(火) 13:25:17.44ID:c3F4yVlK 僕たちはCの世界で契約したんだ
878デフォルトの名無しさん
2020/03/31(火) 14:38:03.91ID:EXHwmcq2 UNIXにしろWindowsにしろOSのAPIがCの関数だから
アプリもCで書くのが一番自然になる
アプリもCで書くのが一番自然になる
879デフォルトの名無しさん
2020/03/31(火) 15:39:54.43ID:chhHfIYK cしか書けない人はこういう極論を言う
880デフォルトの名無しさん
2020/03/31(火) 15:45:01.73ID:54ZUq6ql 極論であると同時に正論でもある稀有な例。
881デフォルトの名無しさん
2020/03/31(火) 16:43:37.28ID:chhHfIYK 正論も何もnativeでABI準拠できればいいのであって
cである必然性はない
cである必然性はない
882デフォルトの名無しさん
2020/03/31(火) 16:47:11.45ID:54ZUq6ql つまりわざわざC以外にする必要性もないわけだね
883デフォルトの名無しさん
2020/03/31(火) 17:06:20.65ID:chhHfIYK システムコールだけが言語選択の基準
って思考から脱却しろ
あほらし
って思考から脱却しろ
あほらし
884デフォルトの名無しさん
2020/03/31(火) 17:34:36.26ID:WCUraC1a Cおじいちゃんって職場で若者にマウント取ってそう
885デフォルトの名無しさん
2020/03/31(火) 17:37:12.28ID:mFEQEhdF C調言葉にご用心〜♪
886デフォルトの名無しさん
2020/03/31(火) 17:38:37.75ID:c3F4yVlK でもPHPの方が生産性高いよね
887デフォルトの名無しさん
2020/03/31(火) 17:40:28.69ID:qnv4SZcB アセンブリでマウント取る爺様方がだいたい鬼籍に入って次はCでマウント取る爺様方の時代になった感じやね
888デフォルトの名無しさん
2020/03/31(火) 18:01:22.91ID:uDSFrRRV C#からCのAPI呼ぶとき
構造体とか配列のポインタとか面倒だな・・・
構造体とか配列のポインタとか面倒だな・・・
889デフォルトの名無しさん
2020/03/31(火) 18:27:57.93ID:S3VhPMDw Cベースはむしろマシなんだよほとんどの言語でFFIあるし
問題は処理系依存マシマシのC++ベースAPI/ABI
問題は処理系依存マシマシのC++ベースAPI/ABI
890デフォルトの名無しさん
2020/03/31(火) 18:58:18.61ID:DEnjdkJH >>888
C#のFFIはかなり良い方だろ
C側でラッパーを一切書くことなくC#から呼び出せる
何より、トラブルの元になりがちな変なコードジェネレータの類がなくて、宣言した通りに正しく素直に動くってのが素晴らしい
そのストレスフリーさに比べたら、C#側で関数や構造体の宣言を書き直さなきゃいけないのは余裕で受け入れられる冗長性だと思う
C#のFFIはかなり良い方だろ
C側でラッパーを一切書くことなくC#から呼び出せる
何より、トラブルの元になりがちな変なコードジェネレータの類がなくて、宣言した通りに正しく素直に動くってのが素晴らしい
そのストレスフリーさに比べたら、C#側で関数や構造体の宣言を書き直さなきゃいけないのは余裕で受け入れられる冗長性だと思う
891デフォルトの名無しさん
2020/03/31(火) 21:40:41.75ID:OTxurRkT 別にcで書けって話でなくて、cのそういう側面くらい常識として知っとけって
だけなのに、なんかコンプレックス刺激されちゃう奴がいるのな。
だけなのに、なんかコンプレックス刺激されちゃう奴がいるのな。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- テレビ朝日 本社から男性が転落し死亡。関連会社社員か 当たった通行人が左肩軽傷 [阿弥陀ヶ峰★]
- テレビ朝日本社から20~30代の関連会社社員とみられる男性が転落し死亡 六本木けやき坂通りの通行人にはけが人なし [少考さん★]
- 小島瑠璃子さん、代表取締役を務める会社を破産申請 [牛丼★]
- 「残クレ」でマイホーム、国が銀行向け保険 新型住宅ローン普及促す -日経 ★3 [少考さん★]
- 日本、G7への中国招待を懸念 議長国フランスに慎重な対応要請 [どどん★]
- 【サッカー】日本代表、FIFAランキング“4位”の強豪イングランドとの対戦が正式決定! 来年3月に聖地ウェンブリーで激突へ [久太郎★]
- 千晴におちんちん舐めてもらいたい♥
- 姉は貧乳で妹は巨乳ってパターンよくあるよな
- 【高市維新】 日本維新の会さん。 身を切りまくり。 自分や同僚議員、秘書の会社に「公金」を支出しまくっている事が続々と判明 [485983549]
- 【悲報】ジャップ、日中戦争に賛成が5割弱...軍歌の音が聞こえる... [856698234]
- ひまだねー
- youtubeでネタバレコメントするの楽しい
