スレタイ(順番はRedMonk準拠)以外の言語もok
前スレ
次世代言語24 Go Nim Rust Swift Kotlin TypeScript
https://mevius.5ch.net/test/read.cgi/tech/1647887021/
探検
次世代言語25 TypeScript Swift Go Kotlin Rust Nim
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2022/04/17(日) 17:52:35.38ID:KG26dcth136デフォルトの名無しさん
2022/04/21(木) 22:55:52.73ID:hBTlXYXK >>135
Optionにget()メソッドはありません
Optionにget()メソッドはありません
137デフォルトの名無しさん
2022/04/21(木) 23:17:57.08ID:58EnvgFJ ほぼOptionのNoneと言ってるのに、null相当(nilやundefined等含む)を代入とか、Option<T>型となるため型が異なりとか
もう誤魔化して言いくるめる気にしか見えない。。。
どれだけNull安全で助かってるか、なんてコードを書いてればそんなに無いでしょ。確かにNullが無いのだから、Nullのような状態で
クラッシュ/panicする事態は減るでしょう。コンパイルが通った時点でNull安全性が保障されるなんてのも、今どきの多くの言語は
外付けながらLint系の警告をしてくれます。もちろん言語に統合されてない後付けで「美しくない」とかそういうのはあるでしょうが。
そして手続き型プログラミングを初めて数年の初心者なら沢山のミスを犯すのかもしれんけどさ、そもそも宣言と同時に初期化を
する重要性は、関数型プログラミングでも少しでもしていれば分かるはずでそんな経験もなく、旧Java系なんかからRustへ移ったら
感嘆するように見えるのかもしれんが、そんなしつこく言うほど便利な場面って具体的にどういう時よ?逆にさ?
次はNan安全言語とか、-+Inf安全言語とかやるのかい?
もう誤魔化して言いくるめる気にしか見えない。。。
どれだけNull安全で助かってるか、なんてコードを書いてればそんなに無いでしょ。確かにNullが無いのだから、Nullのような状態で
クラッシュ/panicする事態は減るでしょう。コンパイルが通った時点でNull安全性が保障されるなんてのも、今どきの多くの言語は
外付けながらLint系の警告をしてくれます。もちろん言語に統合されてない後付けで「美しくない」とかそういうのはあるでしょうが。
そして手続き型プログラミングを初めて数年の初心者なら沢山のミスを犯すのかもしれんけどさ、そもそも宣言と同時に初期化を
する重要性は、関数型プログラミングでも少しでもしていれば分かるはずでそんな経験もなく、旧Java系なんかからRustへ移ったら
感嘆するように見えるのかもしれんが、そんなしつこく言うほど便利な場面って具体的にどういう時よ?逆にさ?
次はNan安全言語とか、-+Inf安全言語とかやるのかい?
138デフォルトの名無しさん
2022/04/21(木) 23:28:25.00ID:emsRX1XQ Rustのアドバンテージを認めざるを得ないから認めつつ
それでも批判したいから言い掛かり長文
みっともない
それでも批判したいから言い掛かり長文
みっともない
139デフォルトの名無しさん
2022/04/21(木) 23:47:03.05ID:Q5xBjMYc140デフォルトの名無しさん
2022/04/22(金) 00:11:43.18ID:BeccjQpB null安全をlinterが警告してくれる言語なんてあったっけ?
141デフォルトの名無しさん
2022/04/22(金) 00:18:27.86ID:QUxpZq2Z142デフォルトの名無しさん
2022/04/22(金) 02:18:54.02ID:KwomhEH1 >>134
Goが無いのはGoでは不可能なの?
Goが無いのはGoでは不可能なの?
143デフォルトの名無しさん
2022/04/22(金) 16:02:25.23ID:7P+21PvJ Rustにいいところなんてないよ
面倒なだけ
面倒なだけ
144デフォルトの名無しさん
2022/04/22(金) 16:09:03.51ID:gIl1LNdJ 色々とプログラミングが楽で快適だからRust使ってるわ
145デフォルトの名無しさん
2022/04/22(金) 18:41:08.80ID:0TWFpVQa 普通に煽りじゃない反論ができない時点でRustニワカのキモさが良くわかる。Null安全を全否定してないのに
「指導を乞え」とか「JavaとかHaskellとか使え」とか「それ以外のケースでnullの問題踏んだことない」とか
Nullのような状態で クラッシュ/panicする事態は減るって書いてるのに文字も読めもしない。
”それほど強調して、気持ち悪く粘着してNull安全言語なんて宣伝してることがRustのために良くない”って話だよ
言語の悪口を言ってるんじゃない、おまえのようなキモくて何も答えられないで煽りだけクズを論ってんの
「指導を乞え」とか「JavaとかHaskellとか使え」とか「それ以外のケースでnullの問題踏んだことない」とか
Nullのような状態で クラッシュ/panicする事態は減るって書いてるのに文字も読めもしない。
”それほど強調して、気持ち悪く粘着してNull安全言語なんて宣伝してることがRustのために良くない”って話だよ
言語の悪口を言ってるんじゃない、おまえのようなキモくて何も答えられないで煽りだけクズを論ってんの
146デフォルトの名無しさん
2022/04/22(金) 19:03:56.53ID:EyWh3ott 自分でこれが煽りじゃない反論だと思ってるならヤバい
147デフォルトの名無しさん
2022/04/22(金) 19:15:01.24ID:J7veDPz7 Rustより良い言語が出現したらそれを検討する予定
今のところそういう言語がないためメイン言語はRustのまま
今のところそういう言語がないためメイン言語はRustのまま
148デフォルトの名無しさん
2022/04/22(金) 19:20:14.50ID:UKixTNef 煽ってるだけの書き込みにまともな返答がくるわけないじゃん
149デフォルトの名無しさん
2022/04/22(金) 19:21:33.19ID:atNXtsDe まだスレタイに出てないけど注目してる言語とかありますか?
150デフォルトの名無しさん
2022/04/22(金) 20:02:04.18ID:yAnz+P1M flixかな
scala亜種といった感じで流行るようには見えないけどね
scala亜種といった感じで流行るようには見えないけどね
151デフォルトの名無しさん
2022/04/22(金) 20:06:53.42ID:yOJfi3Zs この根源的な差が決定的かな
> プログラミング言語は以下の3つに分類される
> CとC++ ←『省メモリ高速』だが、「メモリ解放でミスると危険」
> GC言語 ←『省メモリ高速』ではないが、「メモリ解放は自動で気にしなくていい」
> Rust ←『省メモリ高速』だが、「メモリ解放は自動で気にしなくていい」
> プログラミング言語は以下の3つに分類される
> CとC++ ←『省メモリ高速』だが、「メモリ解放でミスると危険」
> GC言語 ←『省メモリ高速』ではないが、「メモリ解放は自動で気にしなくていい」
> Rust ←『省メモリ高速』だが、「メモリ解放は自動で気にしなくていい」
152デフォルトの名無しさん
2022/04/22(金) 20:15:46.28ID:QUxpZq2Z 言語じゃないけどWASMってどうよ
153デフォルトの名無しさん
2022/04/22(金) 20:25:25.90ID:UKixTNef154デフォルトの名無しさん
2022/04/22(金) 20:27:40.70ID:aYwHbJz6 >>150
これですかね
ありがとうございます
The Flix Programming Language
https://flix.dev/
https://github.com/flix/flix
プログラミング言語Flixに関するMagnus Madsen氏へのインタビュー
https://www.infoq.com/jp/news/2022/03/flix-programming-language/
Flixは多くのプログラミング言語にインスパイアされたオープンソースのプログラミング言語であり、開発者は関数型、命令型、論理型のスタイルでコードを書くことが可能である。FlixはScalaに似ており、Hindley-Milnerに基づく型システムとGoにインスパイアされた並行処理モデルを採用している。JVM言語はポリモーフィックエフェクトシステムやDatalog制約などのユニークな機能をサポートしている。
これですかね
ありがとうございます
The Flix Programming Language
https://flix.dev/
https://github.com/flix/flix
プログラミング言語Flixに関するMagnus Madsen氏へのインタビュー
https://www.infoq.com/jp/news/2022/03/flix-programming-language/
Flixは多くのプログラミング言語にインスパイアされたオープンソースのプログラミング言語であり、開発者は関数型、命令型、論理型のスタイルでコードを書くことが可能である。FlixはScalaに似ており、Hindley-Milnerに基づく型システムとGoにインスパイアされた並行処理モデルを採用している。JVM言語はポリモーフィックエフェクトシステムやDatalog制約などのユニークな機能をサポートしている。
155デフォルトの名無しさん
2022/04/22(金) 20:34:28.61ID:aYwHbJz6 >>153
どもです
https://www.ponylang.io/
フィンテックでアクターモデルのプログラミング言語Ponyを使う
https://www.infoq.com/jp/news/2016/05/pony-fintech/
Ponyはアクターモデルを使ったネイティブ言語であり、LLVMを使う。アクターモデルはErlangやAkkaで有名であり、1973年のCarl Hewitt氏他の論文から生まれた。アクターは状態管理と非同期メソッドを組み合わせる。フィールドに加え、アクターはひとつのメッセージキューとヒープを持つ。Clebsch氏によれば、Ponyのアクターは独立してガベージコレクションがされ、ErlangやAkkaとは違い、アクターそのものもガベージコレクションされるので、アクターを殺すためのメッセージのようなものは必要ない。手動でのメモリ管理は不要なのだ。
アクターは自分のヒープのガベージコレクションをmark-and-don’t-sweepアルゴリズムを使って他のアクターとは独立して行う。つまり、Ponyは到達可能なグラフに対してはnのオーダーだ。到達不可能なメモリは影響を与えない。アクターのヒープのGCにはsafepointがなく、読み込み、書き込みのバリアも、カードテーブルマーキングもコンパクト化もない。コンパクト化が必要ないので、ポインタのフィクスアップも必要ない。
どもです
https://www.ponylang.io/
フィンテックでアクターモデルのプログラミング言語Ponyを使う
https://www.infoq.com/jp/news/2016/05/pony-fintech/
Ponyはアクターモデルを使ったネイティブ言語であり、LLVMを使う。アクターモデルはErlangやAkkaで有名であり、1973年のCarl Hewitt氏他の論文から生まれた。アクターは状態管理と非同期メソッドを組み合わせる。フィールドに加え、アクターはひとつのメッセージキューとヒープを持つ。Clebsch氏によれば、Ponyのアクターは独立してガベージコレクションがされ、ErlangやAkkaとは違い、アクターそのものもガベージコレクションされるので、アクターを殺すためのメッセージのようなものは必要ない。手動でのメモリ管理は不要なのだ。
アクターは自分のヒープのガベージコレクションをmark-and-don’t-sweepアルゴリズムを使って他のアクターとは独立して行う。つまり、Ponyは到達可能なグラフに対してはnのオーダーだ。到達不可能なメモリは影響を与えない。アクターのヒープのGCにはsafepointがなく、読み込み、書き込みのバリアも、カードテーブルマーキングもコンパクト化もない。コンパクト化が必要ないので、ポインタのフィクスアップも必要ない。
156デフォルトの名無しさん
2022/04/22(金) 20:39:31.11ID:NkxiGfGV erlang系で何かしら伸びてこないのか
157デフォルトの名無しさん
2022/04/22(金) 20:56:20.88ID:UKixTNef >>156
Erlang系でElixirの次に来そうなのはGleamかな?
まだまだ新しすぎて未成熟だけど、着実にコミュニティが大きくなってる気がする
あとは他に33個ほどリストアップされてるから、なんか伸びそうなのあったら教えて
https://github.com/llaisdy/beam_languages
Erlang系でElixirの次に来そうなのはGleamかな?
まだまだ新しすぎて未成熟だけど、着実にコミュニティが大きくなってる気がする
あとは他に33個ほどリストアップされてるから、なんか伸びそうなのあったら教えて
https://github.com/llaisdy/beam_languages
158デフォルトの名無しさん
2022/04/22(金) 20:57:22.84ID:MSzkRWeB >>152
Wasm自体は十分に実用的でブラウザ上からクラウドエッジ上に至るまで様々な環境での環境非依存言語の地位確立
ただしWasm仕様へのGC導入は未来の話へと先送り
したがって実用的なWasm記述言語としてはC/C++/RustのままとなりRustがベストチョイス
Wasm自体は十分に実用的でブラウザ上からクラウドエッジ上に至るまで様々な環境での環境非依存言語の地位確立
ただしWasm仕様へのGC導入は未来の話へと先送り
したがって実用的なWasm記述言語としてはC/C++/RustのままとなりRustがベストチョイス
159デフォルトの名無しさん
2022/04/22(金) 21:14:40.69ID:gmnEH6Vv160デフォルトの名無しさん
2022/04/22(金) 21:25:22.84ID:p9LA8Dyp161デフォルトの名無しさん
2022/04/22(金) 22:15:59.43ID:AQMvQ4xM WEB+DB Press 127号で、
Elixir のPhoenix が、28ページの特集
Ruby on Rails 7, Phoenix 1.6 から、脱Webpack でesbuild へ
RailsのHotwire, PhoenixのLiveView で、websocket によるリアルタイム通信。
ここ数年、SPA でReact に奪われたシェアを回復すべき戦略
他には、Bootstrap よりも、Tailwind が多くなってきた
128号は、Terraform 特集。
Software Design 2022/1月号も、Terraform特集だった
YouTube で有名な、雑食系エンジニア・KENTA のRuby on Rails サロンでも、
Terraformで転職を差別化できると言ったから、すべての雑誌・学校も動いた
1つのサロンが転職に有効な技術を持ってしまうと、
他者が合格できなくなるので、対抗上、勉強しないといけなくなる
Elixir のPhoenix が、28ページの特集
Ruby on Rails 7, Phoenix 1.6 から、脱Webpack でesbuild へ
RailsのHotwire, PhoenixのLiveView で、websocket によるリアルタイム通信。
ここ数年、SPA でReact に奪われたシェアを回復すべき戦略
他には、Bootstrap よりも、Tailwind が多くなってきた
128号は、Terraform 特集。
Software Design 2022/1月号も、Terraform特集だった
YouTube で有名な、雑食系エンジニア・KENTA のRuby on Rails サロンでも、
Terraformで転職を差別化できると言ったから、すべての雑誌・学校も動いた
1つのサロンが転職に有効な技術を持ってしまうと、
他者が合格できなくなるので、対抗上、勉強しないといけなくなる
162デフォルトの名無しさん
2022/04/22(金) 22:38:59.17ID:y1b9XJMs Terraformが何なのかも理解せずにここプログラミング言語のスレに書き込んでいるのか
163デフォルトの名無しさん
2022/04/22(金) 22:55:47.09ID:dDLjcogg リスナーさんだか受講生だか知りませんが、KENTAさんの主張を引用するなら本人から許可を取って、
情報の許可範囲とガイドラインを守って書き込みしたほうが絶対良いと思いますね。
匿名掲示板ならアレな発言も、多少は仕方ないかもしれませんが、
他人の名を語ってそれだとさすがにまずいです。倫理とルールを守りましょう。
情報の許可範囲とガイドラインを守って書き込みしたほうが絶対良いと思いますね。
匿名掲示板ならアレな発言も、多少は仕方ないかもしれませんが、
他人の名を語ってそれだとさすがにまずいです。倫理とルールを守りましょう。
164デフォルトの名無しさん
2022/04/22(金) 23:14:15.38ID:TXL8QlLI え本人が書き込んでるんじゃないのか
165161
2022/04/22(金) 23:17:44.40ID:AQMvQ4xM KENTA
2021年のWeb系エンジニア転職を成功させる3つの技術要素、2021/4
https://www.youtube.com/watch?v=70VrB7LTe9g
Web系エンジニアを目指す人のためのプログラミング学習ロードマップ、2021/2
https://www.youtube.com/watch?v=0TABrlhci5M
上の動画で、Terraform で転職を差別化しましょうと言っている。
それで、すべての雑誌・学校も動いた。
Terraformが出来ないと、転職に負けてしまうから
米国人からすると、日本のRuby on Rails は異次元の戦い。
10年以上のプロでも、1年ぐらいの初心者に負けてしまう
日本では解雇できないから、資格などの事前審査制。
米国では国民全員がフリーランスだから、ひとまず雇っても、すぐに首にできる
2021年のWeb系エンジニア転職を成功させる3つの技術要素、2021/4
https://www.youtube.com/watch?v=70VrB7LTe9g
Web系エンジニアを目指す人のためのプログラミング学習ロードマップ、2021/2
https://www.youtube.com/watch?v=0TABrlhci5M
上の動画で、Terraform で転職を差別化しましょうと言っている。
それで、すべての雑誌・学校も動いた。
Terraformが出来ないと、転職に負けてしまうから
米国人からすると、日本のRuby on Rails は異次元の戦い。
10年以上のプロでも、1年ぐらいの初心者に負けてしまう
日本では解雇できないから、資格などの事前審査制。
米国では国民全員がフリーランスだから、ひとまず雇っても、すぐに首にできる
166デフォルトの名無しさん
2022/04/22(金) 23:32:50.63ID:dDLjcogg >>164
えまじで?
えまじで?
167デフォルトの名無しさん
2022/04/22(金) 23:40:10.10ID:BeccjQpB KENTAさんは全エンジニアの輝きの星
168デフォルトの名無しさん
2022/04/22(金) 23:47:33.75ID:dDLjcogg 讃えよー敬えー
169デフォルトの名無しさん
2022/04/23(土) 05:52:57.97ID:dsrvV+XF >>165
相変わらずのゴミ動画
相変わらずのゴミ動画
170デフォルトの名無しさん
2022/04/23(土) 07:28:43.83ID:ebXv3GDe >>151
RustがメモリをGC並みに雑に扱えたら、最高だったな。
RustがメモリをGC並みに雑に扱えたら、最高だったな。
171デフォルトの名無しさん
2022/04/23(土) 08:41:27.77ID:X7wDySqh RcもWeakも無くなればね
裏で勝手にやってくれるとかして?
プログラマ側が一切ケアしなくて良いんならスゴイよね
裏で勝手にやってくれるとかして?
プログラマ側が一切ケアしなくて良いんならスゴイよね
172デフォルトの名無しさん
2022/04/23(土) 09:12:54.44ID:eZJZo8Wb Goはコンパイル言語なのにスクリプト言語のように扱える軽量さが最大の魅力だろ
Go並にエディタの補完が軽量でコンパイル爆速のコンパイル言語を俺は知らない
Rustはライフタイムが全然わからなかったし、コンパイル遅すぎて無理だったね
GCはあった方がいいに決まってるわ
開発時の生産性が圧倒的に違ってくる
Go並にエディタの補完が軽量でコンパイル爆速のコンパイル言語を俺は知らない
Rustはライフタイムが全然わからなかったし、コンパイル遅すぎて無理だったね
GCはあった方がいいに決まってるわ
開発時の生産性が圧倒的に違ってくる
173デフォルトの名無しさん
2022/04/23(土) 09:17:17.05ID:kd0LPi6/ GoはCGo何とかしてくれればもっと使う気になれるんだけどな
174デフォルトの名無しさん
2022/04/23(土) 09:20:09.97ID:eZJZo8Wb とにかくGoは頭の悪い人でもすぐにプロジェクトに参加できるぐらいに機能がシンプルに削ぎ落とされていてコンパイル爆速ってのがポイントな言語
それに対して〇〇の機能がないーって言っても仕方ないだろ
頭の悪い人でも使いこなせる言語じゃないと企業ではなかなか普及しないと思うよ
それに対して〇〇の機能がないーって言っても仕方ないだろ
頭の悪い人でも使いこなせる言語じゃないと企業ではなかなか普及しないと思うよ
175デフォルトの名無しさん
2022/04/23(土) 09:46:22.59ID:o/e4rrgi https://without.boats/blog/notes-on-a-smaller-rust/
だれかここで言われてる言語作ってくれ
だれかここで言われてる言語作ってくれ
176デフォルトの名無しさん
2022/04/23(土) 09:52:47.90ID:XZjzYuNa177デフォルトの名無しさん
2022/04/23(土) 10:30:02.86ID:19UflQcD178デフォルトの名無しさん
2022/04/23(土) 10:34:13.57ID:WKX1mrZa ライフタイムはわかるけどこれがリージョン推論とかいった厳密な理論とどう対応しているのかがわからん
一般的なプログラマーはここまで理解しなくてもいいんやろうけど
なんでこんな単純なわかりやすい原則の背後にそんな謎な人口に膾炙されていない理論を導入しないといけないのかがわからんわ
一般的なプログラマーはここまで理解しなくてもいいんやろうけど
なんでこんな単純なわかりやすい原則の背後にそんな謎な人口に膾炙されていない理論を導入しないといけないのかがわからんわ
179デフォルトの名無しさん
2022/04/23(土) 10:59:59.69ID:BgAX+6b6 荒らしなし規制無し
3ch
NEXT2ch
45ch
ふたばちゃんねる
明和水産
3ch
NEXT2ch
45ch
ふたばちゃんねる
明和水産
180デフォルトの名無しさん
2022/04/23(土) 11:09:11.96ID:teuoZU8e >>178
ブロックスコープというあまりにも大雑把な大きな枠で扱うのではなくて
実際に使われている有効な範囲(リージョン)で細かく扱いましょう、というだけだよ
生存単位は前者で、借用単位は後者で細かく区切る
具体的コード例を含めた解説ページの例
Non-Lexical Lifetimes って?
https://qiita.com/_EnumHack/items/8b6ecdeb52e69a4ff384
ブロックスコープというあまりにも大雑把な大きな枠で扱うのではなくて
実際に使われている有効な範囲(リージョン)で細かく扱いましょう、というだけだよ
生存単位は前者で、借用単位は後者で細かく区切る
具体的コード例を含めた解説ページの例
Non-Lexical Lifetimes って?
https://qiita.com/_EnumHack/items/8b6ecdeb52e69a4ff384
181デフォルトの名無しさん
2022/04/23(土) 12:06:36.75ID:uMxflx63 プログラミング言語「Erlang」を生んだジョー・アームストロング氏死去
なお、アームストロング氏は「なぜオブジェクト指向はクソなのか」という名文を残しています。
なお、アームストロング氏は「なぜオブジェクト指向はクソなのか」という名文を残しています。
182デフォルトの名無しさん
2022/04/23(土) 12:41:02.85ID:lKjOluUR >>177
プログラマーって言ってもOS作ったりドライバ作ったりする低レイヤーやってるのと、バックエンドやWeb系の高レイヤーやってるのはいるわけで
Rustは前者の人たちが使えばいいのでは?後者の人たちがRustがーとかイキってるの見ると笑ってしまう
後者の分野ではRustはGoに勝てないでしょう
プログラマーって言ってもOS作ったりドライバ作ったりする低レイヤーやってるのと、バックエンドやWeb系の高レイヤーやってるのはいるわけで
Rustは前者の人たちが使えばいいのでは?後者の人たちがRustがーとかイキってるの見ると笑ってしまう
後者の分野ではRustはGoに勝てないでしょう
183デフォルトの名無しさん
2022/04/23(土) 12:48:09.21ID:HJoWw7qN184デフォルトの名無しさん
2022/04/23(土) 13:26:27.68ID:o/e4rrgi >>182
勝ち負けの定義次第だけど後者でもrustの方が有利な場合はあるんじゃないの
discordのバックエンドの例とかあるよね
だいたいのケースでgoが適しているって主張なら分かるけど
特定の分野で常にgoの方が適しているというのは言い過ぎかと
勝ち負けの定義次第だけど後者でもrustの方が有利な場合はあるんじゃないの
discordのバックエンドの例とかあるよね
だいたいのケースでgoが適しているって主張なら分かるけど
特定の分野で常にgoの方が適しているというのは言い過ぎかと
185デフォルトの名無しさん
2022/04/23(土) 13:31:57.99ID:BV8u7mBP これだからRust信者は嫌なんだ...12年続いて厳格に互換性を保ってる言語が短命だって?
速いわけではないって、そりゃGCが裏で動いてメモリー解放をほとんど気にしなくて良い言語と比べれば、極限の速度では有利になるのは当たり前でしょ?
それでもC99やRustなどと比べても2倍も時間が掛かるわけではない、これを速いわけではないと表現するのは、自身でも気づいていないのか隠された悪意と偏見を持ちすぎてる。
むしろRustこそ後方互換を保つためなどと言いつつEditionなどという仕組みや、ボローチェックの強化なんて短命のコンパイルが通らないような事をして、短命で終わっている
今書いてるRustが10年後コンパイルが通るのかエラーになるのか全く見えない。普通の用途ではGoで十分という話に噛みついてくる
言語の表層的な機能をどんどん導入して直行性が無く、どんどん書きにくくなっていくのに苦労に見合う速度はC99以下。唯一のメリット(?)は意識高い系がたった1つの言語をやってればマウントできる事
速いわけではないって、そりゃGCが裏で動いてメモリー解放をほとんど気にしなくて良い言語と比べれば、極限の速度では有利になるのは当たり前でしょ?
それでもC99やRustなどと比べても2倍も時間が掛かるわけではない、これを速いわけではないと表現するのは、自身でも気づいていないのか隠された悪意と偏見を持ちすぎてる。
むしろRustこそ後方互換を保つためなどと言いつつEditionなどという仕組みや、ボローチェックの強化なんて短命のコンパイルが通らないような事をして、短命で終わっている
今書いてるRustが10年後コンパイルが通るのかエラーになるのか全く見えない。普通の用途ではGoで十分という話に噛みついてくる
言語の表層的な機能をどんどん導入して直行性が無く、どんどん書きにくくなっていくのに苦労に見合う速度はC99以下。唯一のメリット(?)は意識高い系がたった1つの言語をやってればマウントできる事
186デフォルトの名無しさん
2022/04/23(土) 13:40:48.60ID:j+9QGcWO >>182
でも現実にWeb分野でもRustがじわじわと広まりつつあるよね
サーバ側はGoよりRustが高速で省メモリでGC負荷なしで有利
ブラウザ側は実用的となったWebAssemblyでRustが最適
でも現実にWeb分野でもRustがじわじわと広まりつつあるよね
サーバ側はGoよりRustが高速で省メモリでGC負荷なしで有利
ブラウザ側は実用的となったWebAssemblyでRustが最適
187デフォルトの名無しさん
2022/04/23(土) 13:46:57.71ID:o/e4rrgi >>185
不勉強でよく知らないんだけどeditionやborrow checkerの強化でコンパイル通らなくなったcrateってどういうものがあるの?
不勉強でよく知らないんだけどeditionやborrow checkerの強化でコンパイル通らなくなったcrateってどういうものがあるの?
188デフォルトの名無しさん
2022/04/23(土) 14:42:18.80ID:iqGYI4s5 長文に構うなよ
189デフォルトの名無しさん
2022/04/23(土) 17:59:39.00ID:Yf3QCfCm190デフォルトの名無しさん
2022/04/23(土) 18:14:41.34ID:DP+h97oH >>186
コンビニに行くのにF1とかソーラーカーは要らない定期。どれだけ早かろうが省エネだろうが。
JavaやC#はセダン〜バスみたいな感じかな。
Goは原付2種みたいなもんでしょ。
まず主戦場も違えばドライバーも違う。
コンビニに行くのにF1とかソーラーカーは要らない定期。どれだけ早かろうが省エネだろうが。
JavaやC#はセダン〜バスみたいな感じかな。
Goは原付2種みたいなもんでしょ。
まず主戦場も違えばドライバーも違う。
191デフォルトの名無しさん
2022/04/23(土) 18:17:56.69ID:qKl7QP1V192デフォルトの名無しさん
2022/04/23(土) 18:21:30.06ID:FZleZnGe193デフォルトの名無しさん
2022/04/23(土) 19:02:24.78ID:qKl7QP1V もう一回貼っておきますね
https://zenn.dev/igrep/articles/2021-11-wasm-reference-types
PythonにおけるCFFIみたいな用途で使う分にはきっと問題無いんだろうね
特定の目的に対してはぴったりはまるんでしょうが
それを何の前提も付けず単に「実用的」と呼ぶのは誇大広告ではないんですかね
https://zenn.dev/igrep/articles/2021-11-wasm-reference-types
PythonにおけるCFFIみたいな用途で使う分にはきっと問題無いんだろうね
特定の目的に対してはぴったりはまるんでしょうが
それを何の前提も付けず単に「実用的」と呼ぶのは誇大広告ではないんですかね
194デフォルトの名無しさん
2022/04/23(土) 19:03:19.39ID:X7wDySqh 最小限で考えると
Cにあとひとつ何かを加えたものでやっていけそう
Cに関数のオーバーロードがあればやっていけそう
コンテナクラスもほしいけどOOPを持ち込んでしまうので今回はパス
あくまで
void add(struct vector_int *v, int value)
void add(struct vector_float *v, float value)
というふうに関数と構造体だけで頑張っていけそう
Cにあとひとつ何かを加えたものでやっていけそう
Cに関数のオーバーロードがあればやっていけそう
コンテナクラスもほしいけどOOPを持ち込んでしまうので今回はパス
あくまで
void add(struct vector_int *v, int value)
void add(struct vector_float *v, float value)
というふうに関数と構造体だけで頑張っていけそう
195デフォルトの名無しさん
2022/04/23(土) 19:36:04.43ID:ugaeg6U2 Cに拘ってる奴は本気でCが使いやすいと思ってるのか冗談で言ってるのか
196デフォルトの名無しさん
2022/04/23(土) 19:53:30.81ID:texCpgrl go よりはcのが好きかな
197デフォルトの名無しさん
2022/04/23(土) 19:57:28.78ID:stnqwczt198デフォルトの名無しさん
2022/04/23(土) 20:15:34.17ID:qKl7QP1V C言語にオーバーロード?
結局C++みたいにABI建て増ししてマングリングしないといけないやつじゃん
結局C++みたいにABI建て増ししてマングリングしないといけないやつじゃん
199デフォルトの名無しさん
2022/04/23(土) 20:18:18.40ID:o/e4rrgi Cは_Genericで頑張れば
200デフォルトの名無しさん
2022/04/23(土) 21:14:20.68ID:FKp57Oo8 個人的いはCにがんばってほしい
201デフォルトの名無しさん
2022/04/23(土) 21:39:38.45ID:X7wDySqh202デフォルトの名無しさん
2022/04/23(土) 21:51:54.89ID:w3sxk/eA ジェネリックってプログラミング言語によって指すものが異なってるよな
異なるといってもレベルの低いもの高いもの玉石混交という意味で
異なるといってもレベルの低いもの高いもの玉石混交という意味で
203161
2022/04/23(土) 23:08:55.47ID:dSfqqc1i IoT, AI でも、Elixir もある
Nerves は、最小のLinux, Erlang を含む、組み込み向けOS
Nx はテンソル用。
TensorFlow, PyTorch のフロントエンド
Erlang VM のFFI で、他言語のモジュールも使える
Nerves は、最小のLinux, Erlang を含む、組み込み向けOS
Nx はテンソル用。
TensorFlow, PyTorch のフロントエンド
Erlang VM のFFI で、他言語のモジュールも使える
204デフォルトの名無しさん
2022/04/24(日) 00:35:10.40ID:tW7+nz8n Cは文字列が弱点だった
ちゃんとした文字列の型があればもっと便利だったとおもう
ちゃんとした文字列の型があればもっと便利だったとおもう
205デフォルトの名無しさん
2022/04/24(日) 01:36:20.84ID:bAmVid1d nimはもっと広まって欲しいかな。できればpython置き換えるくらいに。
206デフォルトの名無しさん
2022/04/24(日) 06:41:49.87ID:4pJnSfn9207デフォルトの名無しさん
2022/04/24(日) 09:27:58.32ID:FwnGDc6j これはなかなか面白い記事だった
原点回帰というか、ここのスレでの議論にも参考になると思う
お前らの感想を聞きたい
How the C programming language has grown
https://opensource.com/article/22/3/how-c-programming-language-has-grown
原点回帰というか、ここのスレでの議論にも参考になると思う
お前らの感想を聞きたい
How the C programming language has grown
https://opensource.com/article/22/3/how-c-programming-language-has-grown
208デフォルトの名無しさん
2022/04/24(日) 13:05:32.72ID:LSLifE01 結局言語は道具。結局は何を作るかなんだよ
ネイティブ言語に変換できるビジュアルプログラミング言語とかいいと思う
オブジェクト指向とかわかりやすいだろうし。
唯一問題なのはマウスとキーボードをせわしなく行き来することかな
以前Blockly使ってそんなの作ったけどソースコードどっかやっちゃった
210デフォルトの名無しさん
2022/04/24(日) 17:21:57.86ID:uNEChMqn なんだァ?てめェ……
211デフォルトの名無しさん
2022/04/24(日) 17:26:29.56ID:K5BkO09u そうです、わたすが変なおじさんです
212デフォルトの名無しさん
2022/04/24(日) 18:16:43.21ID:bl0Rasps Rustのスレ複製おじさんが暴れまわってるから怖くなっちゃって見てないわ
あんなスレ見てたら気がおかしくなりそう
ここはまだまし
あんなスレ見てたら気がおかしくなりそう
ここはまだまし
213デフォルトの名無しさん
2022/04/24(日) 19:14:30.43ID:tfR0akyF 頭おかしなるで
214デフォルトの名無しさん
2022/04/24(日) 19:46:35.09ID:gbNK0/9l >>181
「なぜオブジェクト指向はクソなのか」
1データ構造と機能は一緒にすべきではない
2すべてがオブジェクトである必要があります。
3データタイプ定義はあちこちに散らばってしまう
4オブジェクトはプライベートな状態を持っている
「なぜオブジェクト指向はクソなのか」
1データ構造と機能は一緒にすべきではない
2すべてがオブジェクトである必要があります。
3データタイプ定義はあちこちに散らばってしまう
4オブジェクトはプライベートな状態を持っている
215デフォルトの名無しさん
2022/04/24(日) 20:04:13.90ID:tW7+nz8n 最近はモジュールがまた流行ってるよね
rustもGoも自分から見るとモジュール指向に見える
自分はモジュール型からOOPに進化した過程を知ってるから正直モジュール型は好きじゃない
rustもGoも自分から見るとモジュール指向に見える
自分はモジュール型からOOPに進化した過程を知ってるから正直モジュール型は好きじゃない
216デフォルトの名無しさん
2022/04/24(日) 21:17:36.80ID:slsDzRA2 >すべてがオブジェクトである必要があります
C++やJavaみたいにすべてがオブジェクトじゃないオブジェクト指向言語なんていくらでもあるじゃん
C++やJavaみたいにすべてがオブジェクトじゃないオブジェクト指向言語なんていくらでもあるじゃん
217デフォルトの名無しさん
2022/04/24(日) 21:49:22.71ID:+4D6Qx5V218デフォルトの名無しさん
2022/04/24(日) 22:02:13.94ID:4j4sWWkv 真のオブジェクトっていうのは、一つのスレッドみたいなもので他のスレッドとの通信をメッセージパシングでやりとりするものと言っていたような
一方、普通にいわれているオブジェクト指向というのは単なるプログラミングの書き方の効率化の手法にすぎないって話
つまり、継承という方法で差分だけ書いていけるようにすることによる効率化だけの話だってこと。
一方、普通にいわれているオブジェクト指向というのは単なるプログラミングの書き方の効率化の手法にすぎないって話
つまり、継承という方法で差分だけ書いていけるようにすることによる効率化だけの話だってこと。
219デフォルトの名無しさん
2022/04/24(日) 22:04:35.47ID:uNEChMqn 差分プログラミングならまあクソでしょうね
220デフォルトの名無しさん
2022/04/24(日) 22:06:02.75ID:22aYjb+I 今のオブジェクト指向継承あんま使わなくね?
221デフォルトの名無しさん
2022/04/24(日) 22:09:28.03ID:HH2OM4Tz むしろ継承はクソすぎて足を引っ張る
そのためGoやRustなどの言語ではclassを廃止というか最初から採用しなかった
そのためGoやRustなどの言語ではclassを廃止というか最初から採用しなかった
222デフォルトの名無しさん
2022/04/24(日) 22:27:33.03ID:L+Cr+2nK >>216
一言でいえば、プリミティブ型のことを言ってるんじゃなく(オブジェクトに)メソッドがぶら下がる粘着性を言っている。
いまどきの言語はRustやGoならstructで、Goならダックタイピング、Rustならクレートによるimplでそのデータを扱う機能実装を行うが
さらに考えを推し進め、D言語などでは(Pythonのself引数のように)データを引数に取るUFCと呼ばれる使い方も出来る。
関数が第一級の言語要素という考え(第一級関数)は、関数型言語には必要不可欠とされmap/reduceなどの高階関数でも
常用され、クロージャ・関数オブジェクト・無名関数と幅広く展開される。
OOPLとの明確な違いは、Classに対するオブジェクトにmethodという関数が束縛をされていないことである。もちろん上記の言語は
OOPSをサポートするが、それは多態を表現できるだけの意味しかない。
以上、D言語の宣伝です。
一言でいえば、プリミティブ型のことを言ってるんじゃなく(オブジェクトに)メソッドがぶら下がる粘着性を言っている。
いまどきの言語はRustやGoならstructで、Goならダックタイピング、Rustならクレートによるimplでそのデータを扱う機能実装を行うが
さらに考えを推し進め、D言語などでは(Pythonのself引数のように)データを引数に取るUFCと呼ばれる使い方も出来る。
関数が第一級の言語要素という考え(第一級関数)は、関数型言語には必要不可欠とされmap/reduceなどの高階関数でも
常用され、クロージャ・関数オブジェクト・無名関数と幅広く展開される。
OOPLとの明確な違いは、Classに対するオブジェクトにmethodという関数が束縛をされていないことである。もちろん上記の言語は
OOPSをサポートするが、それは多態を表現できるだけの意味しかない。
以上、D言語の宣伝です。
223デフォルトの名無しさん
2022/04/25(月) 00:02:30.63ID:m7DPUXtY >>222
> Rustならクレートによるimplで
ちょっと惜しい
『トレイトによるimpl』が正しい
その後にD言語は更に進んでいるとの宣伝と書いてあるようだが
Rustにも当てはまることばかりなので違いがよくわからない
> Rustならクレートによるimplで
ちょっと惜しい
『トレイトによるimpl』が正しい
その後にD言語は更に進んでいるとの宣伝と書いてあるようだが
Rustにも当てはまることばかりなので違いがよくわからない
224デフォルトの名無しさん
2022/04/25(月) 00:27:04.32ID:GF+5hMbb DのUFCSは任意の関数に適用できるけど
Rustは第一引数がselfなassociated functionだけだよね
Rustは第一引数がselfなassociated functionだけだよね
225デフォルトの名無しさん
2022/04/25(月) 00:33:35.96ID:sDr1xuuT typescriptでclassを使わないでやったときに無限にf(g(h(x)))みたいに書いたなあ
tsにもほしいわ
tsにもほしいわ
226デフォルトの名無しさん
2022/04/25(月) 00:34:27.96ID:LqFJ2u6k どうしてDって今のgoやrustみたいにならなかったの?
227デフォルトの名無しさん
2022/04/25(月) 00:35:54.45ID:dSrWC4pO DのUFCSもメンバ関数やネスト関数などには適用できない制限がある
228デフォルトの名無しさん
2022/04/25(月) 00:39:26.69ID:cR9N6Lw+ UFCSなんかなくても最初の引数の型に対してメソッド定義するだけで目的達成可能
グローバル名関数を増やして名前空間を汚さずともその型のメソッド定義がベター
グローバル名関数を増やして名前空間を汚さずともその型のメソッド定義がベター
229デフォルトの名無しさん
2022/04/25(月) 00:47:38.84ID:pTvSoM83 >>225
GoやRustはclassなんか無くても各型に対してメソッドを定義できるのでそういうことを招かずに済むのよ
UFCSのメリットはメソッドチェーン記法が可能になることだから最初からメソッドを定義すればいいものね
GoやRustはclassなんか無くても各型に対してメソッドを定義できるのでそういうことを招かずに済むのよ
UFCSのメリットはメソッドチェーン記法が可能になることだから最初からメソッドを定義すればいいものね
230デフォルトの名無しさん
2022/04/25(月) 00:55:00.32ID:sDr1xuuT231デフォルトの名無しさん
2022/04/25(月) 00:58:26.21ID:loxtuGTD232デフォルトの名無しさん
2022/04/25(月) 01:21:04.73ID:W8ZZnspt Nim言語にもUFCSがあって関数だけじゃなくtemplateやmacroも関数と同じ文法で呼び出せるのでUFCSが使える。ただし第一引数がuntypedだとmethod call syntaxが使えない。
UFCSのメリットは標準ライブラリとか他人の書いたコードにある型とプロシージャの組に対してもmethod call syntaxが使えることだと思う。
第一引数が組み込み型のプロシージャを定義すれば組み込み型に対してmethod call syntaxが使える。
ライブラリAで定義されている型Xのオブジェクトに対してまったく別に書かれたライブラリBで定義されているgenericsなプロシージャをmethod call syntaxで呼ぶ出すことができる。
UFCSのメリットは標準ライブラリとか他人の書いたコードにある型とプロシージャの組に対してもmethod call syntaxが使えることだと思う。
第一引数が組み込み型のプロシージャを定義すれば組み込み型に対してmethod call syntaxが使える。
ライブラリAで定義されている型Xのオブジェクトに対してまったく別に書かれたライブラリBで定義されているgenericsなプロシージャをmethod call syntaxで呼ぶ出すことができる。
233デフォルトの名無しさん
2022/04/25(月) 01:28:09.79ID:5Adpat0k234デフォルトの名無しさん
2022/04/25(月) 01:31:48.98ID:W8ZZnspt >>228
オーバーロードがある言語なら引数が一つ以上あるグローバル関数を追加しても引数さえ異なれば同名の関数をグローバルに追加できる。
UFCSとオーバーロードがある言語では第一引数がFoo型の関数を定義するのはFoo型にメソッドを定義することとほぼ同じとみなせる。
オーバーロードがある言語なら引数が一つ以上あるグローバル関数を追加しても引数さえ異なれば同名の関数をグローバルに追加できる。
UFCSとオーバーロードがある言語では第一引数がFoo型の関数を定義するのはFoo型にメソッドを定義することとほぼ同じとみなせる。
235デフォルトの名無しさん
2022/04/25(月) 01:35:52.92ID:V8fkjI23 つまりUFCSは汚染でありリスク要因
定義していないメソッドが使えることになってしまう
UFCSがなくとも明確にその型に対して定義されたメソッドのみ対象で実用上困ることはない
定義していないメソッドが使えることになってしまう
UFCSがなくとも明確にその型に対して定義されたメソッドのみ対象で実用上困ることはない
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 国民 居住目的でない住宅所有者に「空室税」課せる法案を提出 ★2 [少考さん★]
- JA全農が「新おこめ券」…来年9月末の有効期限を新設、必要経費のみ上乗せ [蚤の市★]
- 【EV新税】最大2万4千円で検討 28年から、普及妨げると異論も [蚤の市★]
- 「働いて働いて」の流行語大賞に懸念 「言葉が独り歩き」 過労自殺遺族 [尺アジ★]
- アメリカ、入国時に「日本人を含む外国人観光客の最大5年分のSNS履歴の提出」義務化へ 過去10年間に使用のメールアドレスや電話番号等も★3 [Hitzeschleier★]
- 【音楽】aiko(50)の姿に騒然「どしたん?」「震えた」「泣いた」「びっくりする」「なんで…」結婚発表から4年 [Ailuropoda melanoleuca★]
- 【悲報】過労死遺族、高市早苗の流行語大賞にブチ切れwwwwwwwwwwwwwwwwwwww [802034645]
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★1
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★2
- 【悲報】高市早苗、被災民に対し「自分の命くらいは自分で守ってくださいね」と切り捨てし大炎上 [339712612]
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★2
- 【高市悲報】JA、発狂www「臨時に経費率を下げるので、どうかお米券を使ってください」 [246620176]
