[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 08/13 18:55 / Filesize : 225 KB / Number-of Response : 1044
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

次世代言語18 Go Rust Elixir Kotlin TypeScript



1 名前:デフォルトの名無しさん [2019/10/01(火) 02:58:03.93 ID:aEwUIB6s.net]
スレタイ以外の言語もok

前スレ
次世代言語17 Go Rust Kotlin TypeScript Julia
https://mevius.5ch.net/test/read.cgi/tech/1567602619/

399 名前:デフォルトの名無しさん mailto:sage [2020/02/20(Thu) 23:30:23 ID:rlR2t2y0.net]
Ruby を書く人は、JS でも、きれいに書く

React でも、Ruby のinclude(mix-in)を入れた

mix-in で、親子の継承チェーンの間に入るから、
同名のメソッドが、親の前に、mix-in で見つかる

400 名前:387 mailto:sage [2020/02/20(Thu) 23:33:18 ID:rlR2t2y0.net]
Ruby の、require/include の違いを学びましょうと、matz も言ってたw

401 名前:デフォルトの名無しさん mailto:sage [2020/02/20(Thu) 23:53:57 ID:Bxr9L5YO.net]
class やら継承やら、久しくやってない(もっぱら関数・合成と委譲)ので、mix-in の記憶が曖昧なんだが、
React で mix-in なんてやることある?

少なくとも、独自コンポーネントの継承は随分昔からアンチパターンとわかってるから、やめた方がいいと思う
というか、最近の React ならほぼ全部 function でいけるぞ

402 名前:デフォルトの名無しさん mailto:sage [2020/02/21(金) 02:13:02 ID:by8wvtRn.net]
>>385
JSON5使えよ

403 名前:387 mailto:sage [2020/02/21(金) 03:09:32.20 ID:2TMdipPT.net]
ヘルパーメソッドなど、汎用的なモジュールを作って、子クラスでinclude(mix-in)すると、

メソッドの探索チェーンが「子 → mix-in → 親」となるので、
同名のメソッドが、親よりも先に、mix-inで見つかる

便利なインターフェースみたいなもの

404 名前:デフォルトの名無しさん mailto:sage [2020/02/21(金) 08:29:33 ID:gYJx2Nw8.net]
そういうのはロギングとか、本筋の処理と関係ない部分でやるならいいんだけどね。

405 名前:デフォルトの名無しさん mailto:sage [2020/02/21(金) 09:15:11.85 ID:fb5RhRNc.net]
継承より委譲と言われるようになって久しいが、まだこんな老害が生きていたのか

406 名前:デフォルトの名無しさん [2020/02/21(金) 09:20:51.62 ID:x3ENt9Ss.net]
>>3
エリ臭ーの説明が臭逸wwwww

407 名前:デフォルトの名無しさん mailto:sage [2020/02/21(金) 15:22:06.78 ID:LIVBire/.net]
>>3
Goもっとなんかないの?



408 名前:デフォルトの名無しさん mailto:sage [2020/02/21(金) 17:47:40.90 ID:Q29ljCA8.net]
>>386
どうせc呼ぶくらいしか需要ないんだしそれでいいだろ。
他の言語呼ぶくらいならプロセス切り離してシステム関数つかったらええわ。

409 名前:デフォルトの名無しさん mailto:sage [2020/02/21(金) 18:13:02 ID:Ih2AT/wR.net]
高級言語がC言語を呼び出すのは古い
C言語が高級言語を呼び出すのがモダン

410 名前:デフォルトの名無しさん [2020/02/21(金) 19:38:24.80 ID:rQPJsZ5x.net]
Cの書きにくさと高級言語の遅さを兼ね備える
のか…(困惑)

411 名前:デフォルトの名無しさん [2020/02/21(金) 22:00:41.03 ID:yQU53qlc.net]
Goの良くない点

入門者への分かりやすさを重視して設計したはずなのに、配列のスライスが上端を
含まない半開区間であること。閉区間にすべきだった。

412 名前:デフォルトの名無しさん mailto:sage [2020/02/21(金) 22:31:21 ID:qBSn2WyF.net]
配列のインデックスが0ベースならスライスは普通半開だけど
含んでる言語はスライス用途以外に同じ記法を用いる特殊な事情があるやつ

413 名前:デフォルトの名無しさん mailto:sage [2020/02/21(金) 22:50:10.70 ID:SL2p+l+/.net]
>>390
標準化あるいはデファクト化が重要なんすよ

自社ソフト内で使う分にはいいけど
公開APIでJSON5を返す選択は厳しい

414 名前:デフォルトの名無しさん mailto:sage [2020/02/21(金) 22:51:09.76 ID:gYJx2Nw8.net]
半開区間で表すのが常識になれば入門者が迷うこともなくなるよ。実際そうなりつつある。

415 名前:デフォルトの名無しさん mailto:sage [2020/02/21(金) 23:13:55.94 ID:SL2p+l+/.net]
>>399
>入門者への分かりやすさを重視して設計したはず

言語入門者はともかく、プログラミング入門者を対象とはしてないよ
楽しさや設計の美しさより実務を最優先にした言語

公式にも以下のようにある
> Go was designed to address the problems faced in software development at Google

416 名前:デフォルトの名無しさん [2020/02/21(金) 23:18:00.85 ID:yQU53qlc.net]
>>400
添字が0始まりだから半開区間にしなければならない理由なんてないだろ。
添字が0始まりでも閉区間のF#やPowerShellの方が入門者にとっても
それ以外の人にとっても直感的で分かりやすい。

417 名前:デフォルトの名無しさん mailto:sage [2020/02/21(金) 23:25:51.94 ID:qBSn2WyF.net]
>>404
だからそれらの言語のは配列のスライス専用の記法じゃないから

let list = [ 1 .. 10 ]

みたいな場面でも使われる
こういう時にはたしかに直感的で便利だけどスライス用途ではむしろ使い難い
RubyやPerlも同じ



418 名前:デフォルトの名無しさん [2020/02/22(土) 00:02:04.72 ID:iumKj4t4.net]
>>405
スライスでも閉区間の方がはるかに使いやすい。Pythonみたいな奇形言語の真似を
するのはやめてもらいたい。

419 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 00:12:16 ID:3tA6OTRM.net]
おまえの個人的な決めつけで閉区間のがいいとか言われても困るわ。

420 名前:デフォルトの名無しさん [2020/02/22(土) 00:38:42.23 ID:4ukU5GSv.net]
開閉と区間とか知らない言葉

421 名前:出てきた
モナドばりの失笑もんだ
[]
[ここ壊れてます]

422 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 01:10:25 ID:nfgptzfk.net]
https://tour.golang.org/moretypes/7
The following expression creates a slice which includes elements 1 through 3 of a:

a[1:4]

`1 through 3 of a` == a[1:4]
さすがGoogle謹製わかりやすい!!!

423 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 01:52:17.36 ID:dIBglAMb.net]
Rust
for x in 1..4 { println!("{}", x); }
> 1 2 3

Java
for(int i : Arrays.asList(0,1,2,3,4).subList(1,4)){ System.out.println(i); }
> 1 2 3

IntStream.range(1,4).forEach(System.out::println);
> 1 2 3

C#
foreach(var i in new int[]{0,1,2,3,4}[1..4]){Console.WriteLine(i);}
> 1 2 3

424 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 02:12:12.39 ID:nfgptzfk.net]
Rust, Ruby, Swiftあたりは選べるよ

425 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 09:34:25.17 ID:swIKwGW1.net]
(選べなくて)いいです

426 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 09:56:32 ID:3tA6OTRM.net]
閉区間だったり1始まりが好きな奴はjulia使ってればいいんじゃね?そこから出なくていいよ。

427 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 10:01:32 ID:vDAf0o9K.net]
閉区間だと[i:i-1]で空集合にするのはどうなんだ



428 名前:デフォルトの名無しさん [2020/02/22(土) 12:10:17.27 ID:BfUm9Jvt.net]
@ & $ ^ * ` -> => などを
使ってる言語は俺の中でゴミ確定


うんこをOSS公開しなくていいから

429 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 12:13:19.15 ID:ArzKKN+q.net]
配列クラス自体は言語ではなくライブラリだから
いくら言語を統一してもライブラリを何通りも作るのは合法

430 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 12:13:47.33 ID:swIKwGW1.net]
>>415
ぴーーーーーーーーえいーーーーーーちーーーーーーーーーーーーピューーーーーーーーーーーーーーーーーーー

431 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 12:28:58 ID:d8Cq9jZ5.net]
>>415
C言語アウトか
厳しい

432 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 13:02:12.00 ID:WVugcdbO.net]
つか、*を使わない言語なんてAPLくらい?

433 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 14:08:59.76 ID:qQaAG+8d.net]
Ruby のrange では、
p ( 1 .. 3 ).to_a #=> [1, 2, 3]
p ( 1 ... 3 ).to_a #=> [1, 2]

オプションで切り替えられるのも良いかも
( 1 .. 3, true )

434 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 14:36:44 ID:9VOnc80r.net]
>>408
たかが高校数学にすら出てくる用語だぞ

開区間,閉区間の意味と関連する話題
https://mathtrain.jp/kukan

435 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 14:57:36 ID:ArzKKN+q.net]
オプションよりキーワードを使おう
first=1, overrun=3
zeroth=1, last=3

436 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 16:40:01 ID:dIBglAMb.net]
Swiftの半開区間/閉区間の表現を使うとして
 (10 ..< 20) → (10 <= x < 20) 要素数: 20-10  = 10
 (10 ... 19) → (10 <= x <= 19) 要素数: 19-10+1 = 10

2分割を考える

整数区間の表現や分割は互いに代用可能
 (10 ..< 20) → (10 ..< 15) (15 ..< 20) 要素数: 5, 5
 (10 ... 19) → (10 ... 14) (15 ... 19) 要素数: 5, 5

実数区間は代用不可能 ※精度の仮定無しに <= 1.9999.. は表現不可
 (1.0 ..< 2.0) → (1.0 ..< 1.5) (1.5 ..< 2.0)
 (1.0 ... 2.0) → (1.0 ... 1.5) (1.5 ... 2.0) ※境界点のhitTestは両方に該当

閉区間では整数区間と実数区間で考え方が異なる
また、固有の値の数が多くなりがち (10...14) (15...19) → 10,14,15,19

両方あるべきとは思うけど、半開区間の方がロジックが簡潔になることが多い

437 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 16:49:53.81 ID:ArzKKN+q.net]
スカラーと行列では交換法則がー

交換法則を使ったら不正解とする方がロジックが簡潔みたいな風潮



438 名前:デフォルトの名無しさん [2020/02/22(土) 19:06:26 ID:iumKj4t4.net]
>>409
a[1:4]はa[1], a[2], a[3], a[4]にしか見えない。見た目が左右対称だから機能的にも
左右対称な閉区間を表すのが自然。半開区間を表したければ、見た目にも左右非対称な
a[1:<4]にすべきで、1文字増えるだから不満はないだろ。

a[1], a[2], a[3]を指定したいときに、3に1を足して4なんて煩わしいことをするのは
馬鹿げているから、たいていの場合は閉区間が適していて、開区間が適しているのは
>>423のような特殊な場合だけ。

半開区間は「赤上げて、白下げないで青下げて」みたいなひねくれた書き方だから、
閉区間の方が分かりやすい場合にも半開区間を強要するのは、書き間違えやすくバグの
元。お前らも半開区間の言語で、a[1], a[2], a[3]のつもりでa[1:3]と書き間違えた
ことが一度はあるだろ。いや、二度、三度どころかもっとあるはず。白状しろw

439 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 19:15:16.42 ID:WVugcdbO.net]
「俺の思い込みに合わせろ」

440 名前:デフォルトの名無しさん [2020/02/22(土) 20:24:36 ID:6IDagORl.net]
--lua
print (1 .. 4)

14

441 名前:デフォルトの名無しさん [2020/02/22(土) 20:29:39 ID:iumKj4t4.net]
>>419
*と言えば、Goの巨大数パッケージmath/bigは異様に使いにくいな。

階乗関数の整数版factと巨大整数版Factを書いてみると、C#ではfactのintを
BigIntegerに置換するだけでFactになる。アルゴリズムが本質的に同じときに
同じ書き方をできるのは、分かりやすくて良い。
https://www.ideone.com/T8WbLX

ところが、Goではfactと比べFactには余分なものがたくさん増えている。
*big.Intなんてポインタが現れるし、整数からの変換にbig.NewInt関数が必要だし、
四則演算子を使えず、掛け算は*ではなくMul関数を呼ばないといけない。
こんな実装の裏方を晒して低レベルな書き方をさせるのは、煩雑でバグの元。
C#では許されるp *= n--をGoが許さないのは、評価順序の勘違いによるバグを
防ぐためだろうが、他方で半開区間や巨大数パッケージでバグの温床を与えているのは
設計方針がちぐはぐすぎる
https://www.ideone.com/9ndenp

442 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 21:15:42 ID:dIBglAMb.net]
>>425
> 3に1を足して4なんて煩わしいこと

off位置からlen個取りたい → off..<(off+len)
"key=value"からkeyを切り出したい → 0..<(=の位置)

閉区間では1を引くなんて煩わしいことが必要とも言える
使い易さの例がマジックナンバーなのはナンセンスでは?

非対称な構文にすべきという点には異論無いけど
それ以外の部分は、君がそう思っているという以外に根拠が無いように見える

443 名前:デフォルトの名無しさん [2020/02/22(土) 22:31:04 ID:iumKj4t4.net]
>>429
範囲をマジックナンバーで指定したい場面は多い。

閉区間にするため1を引く計算は日常的に染みついているから、煩わしいと思わない。
例えば、2月22日から5日間は、22 + 5 - 1 = 26だから26日までと理解する。
変数で書く場合も、off..<(off + len)よりoff..(off + len - 1)の方が最小値と
最大値が両方明示されていて分かりやすいと思うが、人によって違うだろうし、
半開区間の方が4文字短いので、好みに応じて選べるようにするのが良い。
offを二度書かずに済む構文off+..(len - 1)とoff+..<lenがあるともっと良い。

444 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 22:34:01 ID:WVugcdbO.net]
>閉区間にするため1を引く計算は日常的に染みついているから、煩わしいと思わない。

他の人は半開区間もすぐに染みつくから問題ないのよ。

445 名前:デフォルトの名無しさん [2020/02/22(土) 2 ]
[ここ壊れてます]

446 名前:3:19:17.03 ID:40Zqn9UM.net mailto: >>399
無いなら作れば良い。
そう。Haskellならね。

組込のindexえんざんし(!!)だとこう

[1..3]!!0
>1

んで、1で始まるindex演算子が欲しければ作る。

(x:_) !!! 1 = x
(_:xs) !!! n = xs !!! (n - 1)


[1..3]!!!1
>1
[]
[ここ壊れてます]

447 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 23:41:19 ID:swIKwGW1.net]
な、なんだってー!!!!



448 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 23:46:03 ID:3tA6OTRM.net]
そんなとこでつまづく様じゃどのみちまともにプログラムできる様にはならんだろ

449 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 23:49:32.86 ID:zVGqPuAA.net]
>>432
今のところこいつが一番頭悪そう

450 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 23:54:59.87 ID:dIBglAMb.net]
>>430
ではその期間にログインした人をログイン日時から絞り込むとする

  2月22日 <= ログイン日時 <= 2月26日

仕様の具体例として上記を書くのは不具合のリスクがある

  2月22日 <= 日単位切り捨て(ログイン日時) <= 2月26日
  のように精度を揃える切り捨てを明示するか

  2月22日0時0分 <= ログイン日時 < (2月26日0時0分 + 1日間)
  のように半開区間にすべき

このような操作が必要なのは、2月22日から2月26日という表現は
実際には「2月22日から2月26日終日」という暗黙の非対称性があるため

451 名前:デフォルトの名無しさん [2020/02/22(土) 23:55:16.88 ID:iumKj4t4.net]
>>432
Haskellでは範囲を指定してリストを作るときの範囲は閉区間だな。
だから、スライス風演算子!..!を定義すれば、

Prelude> xs !..! ys = map (xs !!) ys
Prelude> [1..10] !..! [1..4]
[2, 3, 4, 5]

となる。

Haskellは言語仕様は難解で有名だが、標準インストールでREPLが提供され、
ソースファイルをいちいち作らずにいろいろ試せて便利だな。C#とF#も
コンパイラ言語だがREPLがある。GoにもREPLが欲しい。Goreという
REPLもどきを作った人はいるが、もどきなので遅くて使い物にならない。
純正で本物のREPLを提供してもらいたい。

452 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 23:57:09.96 ID:dIBglAMb.net]
>>430
一方で時間は「昼休みは12:00〜13:00の1時間」のような半開区間の表現と
12:00〜12:59のような閉区間の表現がある (秒以下もあるので中途半端だが)
ググった限りでは前者の方が一般的に見える

行程表などでの分割では 12:00〜12:30, 12:30〜13:00 のようになる

これは君が「特殊な場合」と言ったものの実例
整数区間の日付と実数区間の時刻

453 名前:デフォルトの名無しさん mailto:sage [2020/02/23(日) 00:43:44 ID:ngt5amF4.net]
配列が1から始まるウンコさに比べたら
こんなもん誤差ですよ

454 名前:デフォルトの名無しさん [2020/02/23(日) 01:27:08.73 ID:A66EETsq.net]
おじさんてほんと豆知識自慢好きだよな

455 名前:デフォルトの名無しさん [2020/02/23(日) 01:52:12 ID:4j3W7HlN.net]
>>439
配列が1から始まったら何か不都合がありますか?

456 名前:デフォルトの名無しさん [2020/02/23(日) 06:56:02.42 ID:z54NwjgJ.net]
numpyとか
数値計算専用ライブラが
充実してて使いやすればいいだけの話。
言語ネイティブのシンタックスで
そこまでサポートしなくてもいいし、
どうでもいい。

457 名前:デフォルトの名無しさん [2020/02/23(日) 07:02:30.87 ID:z54NwjgJ.net]
しかしよく考えたら
if(0 < x < 10)
くらいの比較演算は確かにあったら便利だよな
なんでこれができる言語はないのか。
もしくはbetweenとか
誤解を招くような記法を使うのではなく、
普通の不等号で挟めるのが一番わかりやすいな。



458 名前:デフォルトの名無しさん [2020/02/23(日) 08:28:32.81 ID:NXppToWn.net]
一発目でboolが出てこない特別ルールを構文解析器に埋め込まなきゃなんないからな

459 名前:デフォルトの名無しさん mailto:sage [2020/02/23(日) 08:52:16.70 ID:Sm6Vd1r9.net]
>>441
配列が2から始まったら何か不都合がありますか? []
[ここ壊れてます]

461 名前:デフォルトの名無しさん mailto:sage [2020/02/23(日) 08:53:35.92 ID:vHITJSpV.net]
if (0 < x && x < 10) と書くのと比べてもそこまで便利だとも思えん

462 名前:デフォルトの名無しさん mailto:sage [2020/02/23(日) 09:02:51 ID:SvXUu1bl.net]
>>443
Icon言語ってのがあるよ。

463 名前:デフォルトの名無しさん mailto:sage [2020/02/23(日) 09:55:59 ID:yD0p0mSx.net]
>>443
Juliaの話してます?

464 名前:デフォルトの名無しさん mailto:sage [2020/02/23(日) 10:09:37.75 ID:DWh+LsOr.net]
こんなしょーもないことでグダグダ文句言うくらいなら本人だけがjuliaでも使ってりゃいいんだよ。
こういう馬鹿に限って人に自分の感覚を強制しようとする。

465 名前:デフォルトの名無しさん mailto:sage [2020/02/23(日) 10:48:37 ID:qGGkqWra.net]
>>415
_*:;を多用する言語が目に悪くてイラッとする

466 名前:デフォルトの名無しさん mailto:sage [2020/02/23(日) 11:19:19 ID:y7plF7NK.net]
これ自分の「正しさ」を人に押しつけるパターンではないな
狼少年は自分の言葉が正しくないと知りながら人に教える
動機は、例えば何かの記憶を消すためにでたらめなデータで上書きするとか

467 名前:デフォルトの名無しさん [2020/02/23(日) 12:03:38 ID:e2r12CYr.net]
>>443
Pythonかな



468 名前:デフォルトの名無しさん mailto:sage [2020/02/23(日) 14:48:30 ID:FuQUS0ts.net]
>>444
3項演算子にすればいいだけ

469 名前:デフォルトの名無しさん mailto:sage [2020/02/23(日) 15:28:27 ID:SvXUu1bl.net]
そういうことじゃなくて、0<x<10 の 0<x の部分と単体の 0<x では異なる評価をしないとならないということ。
モナドみたいな形で解決できるかもしれないが。

470 名前:デフォルトの名無しさん [2020/02/23(日) 21:19:41 ID:eJliGvsG.net]
>>438
「○〜○」や「○から○まで」という表現は閉区間だよ。13時ちょうどは次の閉区間と
重複し、昼休みであると同時に昼休みではないことになり、厳密に言えばおかしいが、
13時とそれより0.01秒前または後との違いなんて日常感覚では知覚できないから、
このような表現でも問題なく通用している。

秒を小数で表示すれば実数になるが、(連想配列でない)配列の添字は整数しか
ないから、実数を持ち出すのはそれこそナンセンス。実数は数直線上の点だが、
整数は番号が付けられた桝目として捉えられる。配列は下図のようなメモリ格納
イメージだから、

012345
□■■■□□

黒く塗られた部分をスライスとして指定したければ、その部分の最初と最後の番号を
使ってa[1:3]と書くのが分かりやすく間違えにくい。Excelのセル番地の範囲を
指定するのに閉区間でA1:B3と書き、半開区間でA1:<C4とは書かないのと同じ。

>>441
PowerShell, Python, Rubyのように配列の添字が負の整数-iのとき最後からi番目の
要素を指す仕様の言語では、正の整数iのとき最初からi番目の要素を指す仕様(つまり
添字が1始まり)にする方が整合性が取れて分かりやすいな(実際には0始まり)。

471 名前:デフォルトの名無しさん mailto:sage [2020/02/23(日) 22:23:06.83 ID:BvZqtd/x.net]
>>455
> 配列の添字は整数しかないから、実数を持ち出すのはそれこそナンセンス
区間という概念が配列にしか使われないとでも?

> 13時ちょうどは次の閉区間と重複し、昼休みであると同時に昼休みではない
時間帯毎の集計程度の処理で容易に不具合出しそう

472 名前:デフォルトの名無しさん mailto:sage [2020/02/23(日) 23:26:10.61 ID:SvXUu1bl.net]
グラフィック処理でのピクセル座標系とグリッド座標系の違いの方が似てるかな。
昔は直感的なピクセル座標系も使われていたけど、グリッド座標系の方が合理的だということが理解されて
今じゃそっちが主流だな。

473 名前:デフォルトの名無しさん mailto:sage [2020/02/23(日) 23:33:16.75 ID:VVi+7A/g.net]
よくわかんない
ドラゴンボでたとえて

474 名前:デフォルトの名無しさん mailto:sage [2020/02/24(月) 00:07:37 ID:XuGp3j1T.net]
馬鹿が馬鹿なことを言ってるだけだわ。
電流が本当は負の方向にながれててもそのまま正負は変えてないってこ

475 名前:ニの意味を少しは理解しろ。 []
[ここ壊れてます]

476 名前:デフォルトの名無しさん mailto:sage [2020/02/24(月) 00:11:25 ID:S594+rxm.net]
つまり?

477 名前:デフォルトの名無しさん mailto:sage [2020/02/24(月) 00:16:26 ID:XuGp3j1T.net]
>>460
閉区間に合わせろやと言ってるバカは無視していいってこと。



478 名前:デフォルトの名無しさん mailto:sage [2020/02/24(月) 00:28:58 ID:S594+rxm.net]
>>461
ドラゴンボでたとえて!

479 名前:デフォルトの名無しさん mailto:sage [2020/02/24(月) 11:16:49 ID:FL3aaU5e.net]
添字が実数の場合は左辺値という概念がなくなるだろうから
[]演算子は意味のない仕様だよ
()演算子だけでいい

480 名前:デフォルトの名無しさん mailto:sage [2020/02/24(月) 11:37:27.76 ID:S594+rxm.net]
だからドラゴンボではなしてってゆってるでしょ!

481 名前:デフォルトの名無しさん mailto:sage [2020/02/24(月) 12:23:33.10 ID:Smt10ptd.net]
ドラゴボじゃだめなの?

482 名前:デフォルトの名無しさん mailto:sage [2020/02/24(月) 12:28:55 ID:S594+rxm.net]
ドラゴンボです!

483 名前:デフォルトの名無しさん mailto:sage [2020/02/24(月) 13:49:03 ID:XuGp3j1T.net]
これが面白いと思ってるんだろうな。。かわいそうに。

484 名前:デフォルトの名無しさん mailto:sage [2020/02/24(月) 15:48:18.28 ID:dJSyQnEN.net]
クソワロタwwwwwwwwwwwwwwwwww

485 名前:デフォルトの名無しさん mailto:sage [2020/02/24(月) 16:06:14.97 ID:FL3aaU5e.net]
長編すぎて売れすぎた作品で笑った記憶ある?
お笑いは意味のない芸だよ

486 名前:デフォルトの名無しさん mailto:sage [2020/02/24(月) 17:54:18.52 ID:/m2XX1oE.net]
三国志で張飛が「ぐわっ」の一言で死んだ時わろた

487 名前:デフォルトの名無しさん mailto:sage [2020/02/24(月) 18:06:27.88 ID:/m2XX1oE.net]
あまりに社会に都合がわるい真実なので隠蔽されているが
笑いは基本的には嘲笑であり相手との社会的距離による
自分の地位向上が見込めそうなとき笑いが出る

自分と近しい人だとちょっとした失敗のとき笑う、ケガとかは後で自分に面倒がくるから笑えない
自分と距離がすごくある、究極的にはフィクションだと指でつつかれて頭が吹っ飛ぶのに大笑いできるわけだ

愚かさをアピールして反射的な笑いを取る方法だと
長期になるとそいつが愚かなのはわかりきってるので笑えなくなる

状況が思いもしない方向に転換するようなときは長編でも笑える



488 名前:デフォルトの名無しさん [2020/02/24(月) 19:55:05 ID:17cy6+il.net]
>>461
範囲指定(スライスに限らない)が閉区間だけの言語
Fortran, F#, Haskell, Julia, MATLAB, Octave, Pascal, PowerShell, R, S, Scilab

どう見ても使用者の平均的な知能は半開区間だけの言語より高そうだなw

蛇に唆され禁断の果実を食べ「知恵」を得たが、「知恵」と呼べるほどのものでは
なかった。代償として産みの苦しみが増し、苦労して食物を収穫し、死んで塵に
帰らなければならなくなった――

Pythonに後続し半開区間だけにしたGoは、非合理で書きにくい記法を甘受しなければ
いけない、>>2の表現を借りるなら「イケてない労働者言語」か… その地位を
否定したいなら、改悛して閉区間も取り入れ、Pythonを駆逐してもらいたい。

489 名前:デフォルトの名無しさん mailto:sage [2020/02/24(月) 20:11:23 ID:XuGp3j1T.net]
>>472
だからその使用者の平均的な知能が高そうな言語をおまえは使ってたらええやん。
そんなことも通じない人の知能が高いとはとても思えないけれど。

490 名前:デフォルトの名無しさん mailto:sage [2020/02/24(月) 20:13:54 ID:1guin73G.net]
>>471
生きるの大変そう

491 名前:デフォルトの名無しさん [2020/02/24(月) 21:42:39 ID:17cy6+il.net]
>>473
Pythonは何から何までキモくてただ絶滅を願うのみだが、Goは基本的には
良い言語だから、直すべき所は直して、より使いやすい言語になってもらいたい。
教祖様の決定はすべて正しいので信者は黙って従えという言語ではない(Swiftは
C系列の新言語の中では良くできていると思うが)から、不満点があれば改善を
求めて構わない。

>>428にあるGoの巨大数パッケージについてはどう思う? あんな煩雑な書き方で
満足できる? C#のようにすっきり書けるようになってもらいた

492 名前:ュないか? []
[ここ壊れてます]

493 名前:デフォルトの名無しさん mailto:sage [2020/02/24(月) 22:40:17 ID:XuGp3j1T.net]
じゃあC#つかって巨大数の計算してりゃええよ。
なんで無理にどの言語も同一的にしようとするのか?愚かとしか言いようがない。
お前が挙げてる下の言語にgoに近くなるように言ったらええわ。
Fortran, F#, Haskell, Julia, MATLAB, Octave, Pascal, PowerShell, R, S, Scilab
賢い人ばっかならそっちのが意見きいてくれるだろw

494 名前:デフォルトの名無しさん mailto:sage [2020/02/24(月) 22:45:23 ID:1U5lho1x.net]
1始まりの閉区間これ最強マジお勧め

1. nが符号付整数でも
for (n = 100; n >= 1; n--) { ... }
 が有限ステップで止まる

2. nで表せる上限が65535のとき
 for (n = 1; n < 65535; n++) { ... } より
 for (n = 1; n <= 65535; n++) { ...

495 名前:デフォルトの名無しさん mailto:sage [2020/02/24(月) 22:45:56 ID:OInStaY+.net]
>>475
求めるのは構わないがそれに対する反対もまた正当

言語設計者/コアメンバの判断やコミュニティで賛成多数かなどで決まるだろうが
不要な追加は改悪になりうるので説得出来ないなら現状維持が優先される

自分の好みや引き合いに出した言語の使用者の知能が高そうという話で
より多数の使用者を抱える言語の仕様を変えられると考えるのは無理がある

496 名前:デフォルトの名無しさん mailto:sage [2020/02/24(月) 22:48:33 ID:NVuyTsWU.net]
>>475
C#のように半開区間で指定できるんだからいいじゃん

497 名前:デフォルトの名無しさん [2020/02/24(月) 23:18:53 ID:17cy6+il.net]
>>478
後方互換性がない改版はむやみにすべきではないが、不合理な点をいつまでも
引きずるのも良くない。PythonやRubyは後方互換性がない改版を敢行した。

範囲を半開区間でしか指定できずそれをa[1:4]のように書くのは、for文で言えば
for (i = 1; i <= 3; i++) を禁止し、for (i = 1; i < 4; i++) しか許さず、
しかもそれをfor i = 1 to 4と書けと言っているような滅茶苦茶な仕様。

>>479
C#のスライスの歴史は浅く、2019年9月のC#8.0で採用されたばかり。同じ.NET系で
スライスを既に持っていたF#とPowerShellに合わせて閉区間にすべきだったな。
もちろん、a[1..<4]で半開区間を表し、それをF#とPowerShellにも導入するのは
一向に構わない。



498 名前:デフォルトの名無しさん mailto:sage [2020/02/24(月) 23:36:38 ID:iQYTd9Fe.net]
>>472
数学よりの用途が比較的多い言語が並んでて興味深いな

499 名前:デフォルトの名無しさん mailto:sage [2020/02/24(月) 23:38:10 ID:OInStaY+.net]
>>480
滅茶苦茶な仕様とやらは閉区間だけの言語には言わないのか?

専用の演算子が用意されていないことを禁止と言い換えるあたりもズレているし
それともそういう動作の関数すら自分で実装出来ないのか

自分の主観を中心にしすぎだ
だから好きな言語を使えという話になる

500 名前:デフォルトの名無しさん [2020/02/25(火) 00:00:00.40 ID:AmG8+LM2.net]
>>482
閉区間だけなのは滅茶苦茶ではない。forループで言えば、Basic, Fortran, Pascalなどは
for i = 1 to 3のような書式しかなく、それでi = 1, 2, 3を網羅する。半開区間にしたければ
whileループを使う。

演算子を使えばすっきり書けるのに、何で>>428の巨大数演算みたいに関数でゴテゴテ
書かなければいけないのか。おまけに関数も自分で実装しなければならないなんて、
それこそ他の言語を使った方が良い。

501 名前:デフォルトの名無しさん mailto:sage [2020/02/25(火) 01:06:59 ID:C32G0TY+.net]
ドラゴンボに喩えられない無能ども

502 名前:デフォルトの名無しさん mailto:sage [2020/02/25(火) 02:54:50.77 ID:oSeHo6cg.net]
そんなに閉区間がいいならa.slice(1,3)とか作ればええやん・・・
と思ったが

Goはnon-localな型を直接拡張できないから
自前でラッパーを定義しないとa.slice(1,3)は無理

じゃslice(a, 1, 3)でもいいかって考えるけど
ジェネリックがないから要素の型ごとに関数定義が必要・・・
じゃマクロでコード生成すればいい・・・

503 名前:・・ってマクロもない

詰んどるやんけ
もうa[m:n+1]でええわってなる
[]
[ここ壊れてます]

504 名前:デフォルトの名無しさん mailto:sage [2020/02/25(火) 03:52:13.55 ID:1ovb/01f.net]
Go ていつもそんな感じだよなwww
言語内で出来る範囲で済んでるうちはまあまあ快適だけど
いざ「これさぁ・・何度も同じパターンでてくるからなんかうまく
楽するやりかた考えられんもんかな」ってはじめると
あーージェネリックないから全部書かないといけないのか面倒くせぇ・・
じゃマクロ・・はないのか・・じゃあどうすれば・・
えええいもういいやベタでシコシコ書こう、ってなりがち
でそういうグチ言うとジェネレーター使えとかいわれるけどあんな
ウンコみたいな機構に頼らないといけない時点でクソすぎるわ

505 名前:デフォルトの名無しさん mailto:sage [2020/02/25(火) 07:30:56.44 ID:AO5ezpPA.net]
Goは楽をするための言語ではない
確実に書くための言語なのだよ

506 名前:デフォルトの名無しさん mailto:sage [2020/02/25(火) 09:14:21.30 ID:SJd9VeEz.net]
>>486
まともなビルドシステムも作れないようなお前がうんこなんだよ

507 名前:デフォルトの名無しさん mailto:sage [2020/02/25(火) 14:22:44.48 ID:2Lu4opRy.net]
goは確実に書くための言語ではない
仕事を増やすための言語なのだよ



508 名前:デフォルトの名無しさん mailto:sage [2020/02/25(火) 19:15:23.89 ID:C32G0TY+.net]
新言語覚えただけで仕事した気になるガイジ
俺みたいな優秀なビジネスマンから見たら同じことしてるだけで偉そうにしてるゴミ

509 名前:デフォルトの名無しさん mailto:sage [2020/02/25(火) 21:30:57 ID:AO5ezpPA.net]
おまえは優秀なんだろうな
何がしたいのかわからんアホのために
仕事をし、結論をだし、さらにはその意味付けまで考え出す

馬鹿がトップにいても優秀に見えるようにふるまえる

おれはそんなに優秀じゃない
心が死ぬ

510 名前:デフォルトの名無しさん mailto:sage [2020/02/25(火) 21:40:22.90 ID:AO5ezpPA.net]
雑談スレじゃないじゃねーか
赤っ恥かいた
もう来ない

511 名前:デフォルトの名無しさん [2020/02/26(水) 19:03:12.30 ID:JAINtVGn.net]
RustもPythonないとビルドできないクソ言語。
しかも2.7系。依存が深すぎて3系にアップグレードできないw

512 名前:デフォルトの名無しさん mailto:sage [2020/02/26(水) 19:07:45.10 ID:5GhL8bDh.net]
>>493
マジンゴーZ??
2020年でサポートおわりやん
ウンコマンブリッチョか?

513 名前:デフォルトの名無しさん mailto:sage [2020/02/26(水) 21:17:35.91 ID:LEGaL302.net]
IBMがSwift開発を終了 - Chris Bailey氏とのQ&A
https://www.infoq.com/jp/news/2020/02/ibm-stop-work-swift-server/

IBMは先頃、サーバサイドSwiftの開発を中止した。これはSwiftがオープンソース化して間もなく開始されたもので、Swift Server Worl Griup[SSWG]のリーダシップも同時に譲渡されている。

GoとRust、そしてSwiftは、型安全でコンパイル可能なネイティブ言語として、CおよびC++の代替となる"現代的ネイティブ言語"としてグループ分けされることが少なくありません。

GoはKubernetesのようなクラウドテクノロジのコアインフラストラクチャや、CLIの開発などに使われるシステム言語として、真の得意分野を見つけることに成功しました。
Rustはまだ展開すべき場所を模索している段階ですが、Web Assemblyによって大きな関心を集めるようになっています。
Swiftが採用曲線において遅れを取っていることは否めない事実です。

514 名前:デフォルトの名無しさん [2020/02/26(水) 22:47:29.71 ID:dT4BwRcy.net]
TypeScriptは高カインド型作れないのを早くなんとかしてくれ
インターフェース使って無理やり実現するハックもあるけど、ポリモーフィックな関数のUnionをちゃんと単一化できないあたり雑魚いなあという印象

515 名前:デフォルトの名無しさん mailto:sage [2020/02/26(水) 23:00:43.71 ID:yGkcf64x.net]
高カインド型

516 名前:デフォルトの名無しさん mailto:sage [2020/02/26(水) 23:01:04.23 ID:yGkcf64x.net]
高力 インド型

517 名前:デフォルトの名無しさん mailto:sage [2020/02/26(水) 23:25:33.17 ID:5GhL8bDh.net]
const people: Namasute = new Indo()
people.eat(curry).yogaFire()

こんな感じか?



518 名前:デフォルトの名無しさん [2020/02/27(Thu) 00:26:44 ID:SC3VM5LZ.net]
カリー化か

519 名前:デフォルトの名無しさん mailto:sage [2020/02/27(Thu) 01:14:55 ID:G3iz3let.net]
高カインド型言いたかっただけだろこの馬鹿は。

520 名前:デフォルトの名無しさん [2020/02/27(Thu) 09:21:04 ID:OJ5+vP6y.net]
低知パキスタン型と戦わせよう

521 名前:デフォルトの名無しさん mailto:sage [2020/02/27(木) 12:48:26.71 ID:gmGuUzNT.net]
$j = new Jap(colonaUirus)
$j.touhyo(jimin) === gaiji // true

522 名前:デフォルトの名無しさん [2020/02/27(木) 13:01:06.82 ID:OJ5+vP6y.net]
VIRUSをUIRUSって書くって古代ローマ人かよお前www

523 名前:デフォルトの名無しさん mailto:sage [2020/02/27(Thu) 13:54:23 ID:z6pg265N.net]
上のIndoもIndiaではない

524 名前:デフォルトの名無しさん mailto:sage [2020/02/27(木) 15:59:54.77 ID:m23pWZMd.net]
高力インド型ってなんぞ

525 名前:デフォルトの名無しさん mailto:sage [2020/02/27(木) 17:11:17.64 ID:igir/6Hq.net]
mapの引数がlist<A>ならlist<B>を
vector<A>ならvector<B>を返したい
だが引数の型をTとすると返り値の型を宣言できない

526 名前:デフォルトの名無しさん [2020/02/27(Thu) 17:43:30 ID:jwUSyqkl.net]
c++の型出しテンプレートの不自由版みたいなもんか

527 名前:デフォルトの名無しさん [2020/02/27(Thu) 20:01:01 ID:SC3VM5LZ.net]
型宣言のないネイティブJavaScriptが
いかに最強かが分かるな



528 名前:デフォルトの名無しさん mailto:sage [2020/02/27(Thu) 20:15:45 ID:gmGuUzNT.net]
標準で型のあるなし選択できるPHPこそ最強

529 名前:デフォルトの名無しさん mailto:sage [2020/02/28(金) 15:33:40.60 ID:Oxj0VwoG.net]
void* で全部持てばいいみたいな糞議論し始めたぞ。。

530 名前:デフォルトの名無しさん mailto:sage [2020/02/28(金) 20:40:45 ID:l4cSWDtI.net]
やはりグローバル変数こそ至高

531 名前:デフォルトの名無しさん mailto:sage [2020/02/28(金) 21:49:36 ID:eKvCiVmD.net]
型という概念すらないbrainf*ckこそ最強

532 名前:デフォルトの名無しさん [2020/03/01(日) 00:36:11.71 ID:D/Yz/cH7.net]
高カインド型は、要は型引数を取るジェネリック型の総称だよ

たとえばArrayは、Array<number>とかArray<Indo>は具体型(実行時に存在する値をとりうる型という意味で、抽象クラスに対する具象クラスという意味の具体ではないことに注意)だけど、
型引数を入れてないArray<_>のままだと実行時の値をつくれない
これにnumberなど具体型を入力してやれば、はじめてArray<number>などの具体型となる

そこでArray<_>は「具体型に作用して新たな具体型を作るもので、具体型ではないなにか」と考えられ、こういうものを1階カインドとか Type → Type のカインドを持つという

同様に型引数2個のジェネリック型は2階カインドだったり、具体型は0階カインドともいう。
0階以外のカインドを持つ型を総称し高カインド型と呼ぶ

533 名前:デフォルトの名無しさん mailto:sage [2020/03/01(日) 00:39:07.10 ID:us3Jsokx.net]
Indoの配列って何だよ

534 名前:デフォルトの名無しさん [2020/03/01(日) 00:47:37 ID:D/Yz/cH7.net]
TypeScriptのジェネリクスの高階カインド型サポートがいまいちなのは、
「ジェネリック型に入れられるのが具体型に限定されていること」で、

たとえば map をサポートするジェネリックインターフェースとして
Mappable<f>を作るとする

そのインターフェースを実装できるクラスはカインド1、つまりArray< >など
型引数を1個とるクラスだけにしたい けど、できない

また、カインド Type -> Type -> Type の高カインド型に型1個入れたものは
カインドType -> Type になってほしいけど、こういうこともできない

たとえばkey-valueペアのMap<_, _>なんかは2階カインドだけど、
キータイプだけ指定した Map<string, _> を1階カインドと見なしてMappableを実装させたい(map はMapの各値を変換する関数になる) けど、これもできない

535 名前:デフォルトの名無しさん mailto:sage [2020/03/01(日) 07:11:57 ID:S7tJWbi5.net]
ゴチャゴチャ言わずも508でfinal fugure っしょ

536 名前:デフォルトの名無しさん mailto:sage [2020/03/01(日) 08:55:19 ID:Es9RVpwC.net]
機能足りないと思うやつが自分で実装してPR送るんだよ

537 名前:デフォルトの名無しさん [2020/03/01(日) 09:39:10.97 ID:wTWFPuO/.net]
高力インド型



538 名前:デフォルトの名無しさん mailto:sage [2020/03/01(日) 09:46:16.48 ID:J3IrN4Ey.net]
higher-kinded typesの日本語訳は高階型で別に良いと思うんだがな
カインド強調する意味がゼロとは言わないがデメリットのほうが大きい

539 名前:デフォルトの名無しさん mailto:sage [2020/03/01(日) 10:24:35.13 ID:TbG8Ke0I.net]
高階関数という言葉を知ってれば、そこから類推できる高階型って呼び方の方が良いよね

540 名前:デフォルトの名無しさん mailto:sage [2020/03/01(日) 11:23:12.58 ID:us3Jsokx.net]
high power indo type

541 名前:デフォルトの名無しさん mailto:sage [2020/03/01(日) 12:37:26 ID:GdO9iGlh.net]
何でもできる方がいいと思い込んでるのはバカにありがちなセンスなのでしょうがない。

542 名前:デフォルトの名無しさん mailto:sage [2020/03/01(日) 15:16:31 ID:TbG8Ke0I.net]
変につまみ食いしようとして使い勝手が悪くなるってこともあるよ
Java8から入ったStreamとOptionalみたいなのを自分で書くのすごい面倒くさい

543 名前:デフォルトの名無しさん mailto:sage [2020/03/01(日) 16:33:14 ID:hFYkB74O.net]
null禁止型の配列の初期化に必要な無引数コンストラクタ
が無かったらコンパイルエラーになるコンパイラを自分で書けない

544 名前:デフォルトの名無しさん mailto:sage [2020/03/01(日) 16:48:14 ID:us3Jsokx.net]
書く必要ないじゃん
はい論破

545 名前:デフォルトの名無しさん [2020/03/01(日) 19:10:26.22 ID:D/Yz/cH7.net]
高階型はまた別じゃね?
Higher-kinded typesじゃなくてrank-N typesのことかと

546 名前:デフォルトの名無しさん mailto:sage [2020/03/01(日) 19:27:05.36 ID:us3Jsokx.net]
高階してすぐ後悔YO

547 名前:デフォルトの名無しさん mailto:sage [2020/03/01(日) 21:22:24.37 ID:GdO9iGlh.net]
そんな糞機能がほしけりゃマクロ使ってでも実装すりゃいいんだよ。
そうすればゴミ機能ってことに気づくから。



548 名前:デフォルトの名無しさん mailto:sage [2020/03/01(日) 22:16:25 ID:0mRiQY7q.net]
高力インド人を右へ

549 名前:デフォルトの名無しさん [2020/03/02(月) 02:25:57.25 ID:fKVy9ahu.net]
>>92
https://juliacomputing.com
https://i.imgur.com/cz3K43o.jpg
情弱乙
世界の強キャラ企業は全部Juliaを絶賛してるぞ

550 名前:デフォルトの名無しさん [2020/03/02(月) 08:24:29 ID:vmTfu2dg.net]
>>529
自分が理解できなかったものを話してる人がいるからってイライラするなよw

551 名前:デフォルトの名無しさん mailto:sage [2020/03/02(月) 13:22:02.15 ID:dzgadk5u.net]
本当にいい言語は遠くから絶賛なんかじゃく、
自分ところの基幹言語としてプロジェクト全体の10%以上ぐらいの割合で採用するから。

552 名前:デフォルトの名無しさん mailto:sage [2020/03/02(月) 13:48:47.72 ID:JudLh/rB.net]
>>532
理解してるから下らねーつってんだよカス。
お前こそその機能の無駄さとバギーさを理解しろ。

553 名前:デフォルトの名無しさん [2020/03/02(月) 17:54:10.41 ID:lNfcnDid.net]
>>534
わかったわかった。
ジェネリクスについてちゃんと勉強してきてからまた読み直してくれよ。

554 名前:デフォルトの名無しさん mailto:sage [2020/03/02(月) 18:08:36.58 ID:1of+/HmK.net]
C/C++が絶賛されないのはテストしすぎてリスクの大きさが見えるからだろ
本当に科学的なやつらはテストを嫌う

555 名前:デフォルトの名無しさん mailto:sage [2020/03/02(月) 19:15:10 ID:2ci/vrTp.net]
誰でもテストは嫌いだけど?

556 名前:デフォルトの名無しさん mailto:sage [2020/03/02(月) 19:55:38 ID:JudLh/rB.net]
>>535
勉強しても問題が理解できてないのかよ。。少しは自分でコード組んでみれば?

>本当に科学的なやつらはテストを嫌う
こんな大嘘をよく平気で言えるな。

557 名前:デフォルトの名無しさん [2020/03/03(火) 00:50:53 ID:halZ50DI.net]
>>538
確かに中途半端にしかポリモーフィズム意識してないお前みてーなやつには
難しくて理解できんのでメンテできる人が限られたコードにはなるという問題はあるな…



558 名前:デフォルトの名無しさん [2020/03/03(火) 01:30:28 ID:9peK0gCx.net]
くりか

559 名前:ーえーす♪この []
[ここ壊れてます]

560 名前:デフォルトの名無しさん mailto:sage [2020/03/03(火) 01:40:19 ID:K1m6EpnB.net]
Androidアプリ開発ってGoogle自身は未だにJava使ってるのかな?

561 名前:デフォルトの名無しさん [2020/03/03(火) 14:51:04 ID:9peK0gCx.net]
Rust勉強してんだけど、
let mut n = 5;
println!("{}", n = 4);
println!("{}", n);
〜結果〜
4
5
なるほど分からん

562 名前:デフォルトの名無しさん mailto:sage [2020/03/03(火) 15:42:26.74 ID:lzYVFoFM.net]
>>542
>println!("{}", n = 4);

named parameterがformat stringで使われてないから
エラーにすべきケースかもね

563 名前:デフォルトの名無しさん [2020/03/03(火) 17:25:37 ID:9peK0gCx.net]
あー、assignmentではなく…
なるほどだけど、
えー…
Rustでは代入式は右辺の評価値ではなく空のタプルを返すとあったから確かめようとしたらこうなったw
大根乱ですよ

564 名前:デフォルトの名無しさん [2020/03/03(火) 17:31:22 ID:EXykEa9V.net]
むしろ何で代入してると思ったのか

565 名前:デフォルトの名無しさん [2020/03/03(火) 18:04:04 ID:9peK0gCx.net]

いや以下expected `i32`, found `()`でエラーになるけど代入の結果空のタプルが返ったればこそでしょ??どういう意味?
fn foo(x: i32) -> i32 {
x * 2
}
let mut n = 5i32;
let m = foo(n = 4i32);

566 名前:デフォルトの名無しさん mailto:sage [2020/03/03(火) 18:44:54 ID:uIYzrTnG.net]
nを定義しても呼び出された側からは見えないのがレキシカルスコープ
でもやっぱり見えるスコープが欲しい
これはダイナミックスコープの再発明だな

567 名前:デフォルトの名無しさん mailto:sage [2020/03/03(火) 21:48:28.93 ID:Bj/i6Nw/.net]
マクロの中がRustのコードだなんて思っちゃ火傷するぜ
https://github.com/fusion-engineering/inline-python
https://docs.rs/cpp/0.5.4/cpp/



568 名前:デフォルトの名無しさん mailto:sage [2020/03/04(水) 10:26:08 ID:g+Yoq0EE.net]
エラーを出すとどっか破綻すんのかね

569 名前:デフォルトの名無しさん mailto:sage [2020/03/04(水) 22:33:59 ID:/mNi51EN.net]
行儀の悪いことするな、で終わってもいいかもしれんが、結局>>542はどう解釈するのが正しいの?

570 名前:デフォルトの名無しさん mailto:sage [2020/03/04(水) 22:54:37 ID:yiNVycVp.net]
>>550
2行目のn=4は println!マクロの中で
`n`というnamed parameterを新しく定義してそれに4を入れてるので1行目のnとは別物
https://doc.rust-lang.org/std/fmt/index.html#named-parameters

個人的にはエラーにすべきケースだと思うけど
named parameterが明示的に使われてなくても
format stringが必要としてるパラメータの数に合致してるとエラーが出ないっぽい

let x = 100;
println!("{}, {}, {}", x, x=200, y=300); //=> 100, 200, 300

571 名前:デフォルトの名無しさん mailto:sage [2020/03/04(水) 23:01:20.25 ID:4yioSA0z.net]
fn print6(a:()){ println!("{}", 6); }
let mut n = 5;
println!("{}", n = 4); //マクロの引数: 代入じゃない(マクロの仕様次第)
println!("{}", n);
print6(n = 7); //関数の引数: これは代入
println!("{}", n);

4
5
6
7

572 名前:デフォルトの名無しさん mailto:sage [2020/03/07(土) 00:08:15.14 ID:po15mmZE.net]
書けば書くほどPython嫌いになるわ
機械学習とかやるにはいいんだろうけど、これでサーバーサイド組むとか狂気もいいとこ
やっぱ型無し言語って糞だわ

573 名前:デフォルトの名無しさん mailto:sage [2020/03/07(土) 08:46:48 ID:/ejMiS3D.net]
どの程度の型が欲しいの?

574 名前:デフォルトの名無しさん mailto:sage [2020/03/07(土) 10:01:11 ID:XLWmxUUx.net]
サーバー組むならgo使えばええやん。なぜpython?

575 名前:デフォルトの名無しさん mailto:sage [2020/03/07(土) 10:09:34 ID:po15mmZE.net]
>>555
過去のおガイジどもが色んな言語使いすぎて保守不能になって
社内標準言語がPythonとJavaScriptだけになったから

>>554
最低でもJava8
どんなに type hinting 書いても IDE は黙ったままだし補完も大して効かないし
糞of糞、糞の

576 名前:Rマウンテンがチョモランマ

__init__.pyがないとimportできない糞
pyenv使ってbuildしてもruntimeエラーがでる糞
venv,pipenv,poetry,pyflow, おまえいったいいくつパッケージ管理ツールつくるねんの糞

糞糞糞糞
[]
[ここ壊れてます]

577 名前:デフォルトの名無しさん mailto:sage [2020/03/07(土) 10:35:22 ID:Gh4Y79Ev.net]
PythonとJavaScriptだけって結論出した奴も含めておガイジやん
つまるところ一番の糞はその職場や



578 名前:デフォルトの名無しさん mailto:sage [2020/03/07(土) 10:38:36 ID:XLWmxUUx.net]
>過去のおガイジどもが色んな言語使いすぎて保守不能になって
これはまあよくある話だが
>社内標準言語がPythonとJavaScriptだけになったから
こうなるのは珍しいな。。普通は逆にこいつの言うように堅めのやつでjava一択とかなりそうな気はするが。

579 名前:デフォルトの名無しさん [2020/03/07(土) 10:49:17 ID:tB1OTpLA.net]
今javaは時期が悪いよ

580 名前:デフォルトの名無しさん mailto:sage [2020/03/07(土) 11:19:48 ID:po15mmZE.net]
>>557
わかっとるわそんなん
だがPythonが糞なのも事実

>>558
超消極的な理由で選ばれただけ
バックエンドは機械学習プロダクトもあるからPythonは必須
フロントエンドはJavaScript必須

他はなんも考えてない
笑えよ

581 名前:デフォルトの名無しさん mailto:sage [2020/03/07(土) 11:31:51 ID:XLWmxUUx.net]
またとりあえず機械学習に手を出しちゃうところも糞要素として取り上げたいw

582 名前:デフォルトの名無しさん mailto:sage [2020/03/07(土) 12:21:08.97 ID:z518jRtl.net]
>>556
>どんなに type hinting 書いても IDE は黙ったままだし補完も大して効かないし

これはIDE自体の問題か使う側の問題じゃないか?

583 名前:デフォルトの名無しさん mailto:sage [2020/03/07(土) 12:41:54 ID:po15mmZE.net]
>>562
じゃあVSCodeが糞かpythonのlspが糞かだな
糞ばっかりだ

584 名前:デフォルトの名無しさん mailto:sage [2020/03/07(土) 12:52:50 ID:3vujaOiu.net]
>>563
お前がうんこなんだと思うよ
職場でも無能と思われてそうw

585 名前:デフォルトの名無しさん [2020/03/07(土) 13:13:17 ID:e127m1PH.net]
Pythonどちらかと言うと好きな方だけど開発環境周りは糞極めてるよね

586 名前:デフォルトの名無しさん mailto:sage [2020/03/07(土) 13:30:02 ID:po15mmZE.net]
うるせーコロナで死ね
俺の言うこと聞かない言語は全て糞なんだよ糞、糞糞糞の糞

587 名前:デフォルトの名無しさん mailto:sage [2020/03/07(土) 13:40:37 ID:hl5qkDBY.net]
まあ発狂してもおかしくなさげな環境なのは同情の余地あるわな。。



588 名前:デフォルトの名無しさん mailto:sage [2020/03/07(土) 13:45:28 ID:S0pb9ZoR.net]
Pythonの
JavaScriptに対するTypescript相当
の言語欲しい

589 名前:デフォルトの名無しさん [2020/03/07(土) 15:06:23.05 ID:Zs2bgd34.net]
TypeScript作ってる当のMicrosoftがPyright出してるじゃん。何の不満が?

590 名前:デフォルトの名無しさん mailto:sage [2020/03/07(土) 15:15:02.73 ID:po15mmZE.net]
>>569
使ったことあるか?
import先もまともに検知できないガチゴミガイジだぞ

591 名前:デフォルトの名無しさん [2020/03/07(土) 15:41:21 ID:Zs2bgd34.net]
乞食の癖に贅沢言うな!じゃあお前が作れ!

592 名前:デフォルトの名無しさん mailto:sage [2020/03/07(土) 17:04:18 ID:po15mmZE.net]
>>571
そういう問題じゃねえーだろカスが!

593 名前:デフォルトの名無しさん mailto:sage [2020/03/07(土) 17:10:01 ID:/3GyPk4K.net]
要はライブラリでPythonを超えればPythonは消えるよね
でも大抵の言語はライブラリを管理するツール自体が保守不能になる
Pythonは手動またはC言語のツールに丸投げしておけば保守不能にはならない

594 名前:デフォルトの名無しさん mailto:sage [2020/03/07(土) 19:26:36 ID:XLWmxUUx.net]
まあc言語のライブラリ管理はそんな簡単じゃないがな。
低レイヤー触るとどうしてもそうなる。

595 名前:デフォルトの名無しさん mailto:sage [2020/03/07(土) 21:21:55 ID:zyQisfjb.net]
PythonがC FFI側に投げてるライブラリのバージョンの複雑さは結局ユーザじゃなくてメンテナがコスト払ってるだけな部分もあるからな……

596 名前:デフォルトの名無しさん [2020/03/07(土) 22:13:32 ID:7WCIBliR.net]
>>574,575
そんな低レイヤーうんぬんなど些細な話だ
そもそも2系から3系への移行ではPython本体やCライブラリだけでなく、
あまたの2系ライブラリのメンテナが膨大なコストを払っているのだから…
「後方互換性の断絶」とはそうゆうものだ

Python利用者はそうした神の決定に逆らうことは許されない
神の行

597 名前:「は絶対であり、聖書PEPを疑ってはならない []
[ここ壊れてます]



598 名前:デフォルトの名無しさん mailto:sage [2020/03/07(土) 22:48:02 ID:XLWmxUUx.net]
2のメンテは終了しただろ。何言ってんだこの馬鹿は。

599 名前:デフォルトの名無しさん mailto:sage [2020/03/07(土) 22:50:53 ID:z518jRtl.net]
Pythonとか言うレガシー言語の話はスレチだぞ

600 名前:デフォルトの名無しさん mailto:sage [2020/03/07(土) 23:32:00 ID:po15mmZE.net]
最新の3.8ですらJavaにすら劣るゴミという事実

601 名前:デフォルトの名無しさん mailto:sage [2020/03/08(日) 07:27:02 ID:8cCRMkvW.net]
一方で単一の言語処理系に過去バージョン互換をさせるとそれ自身の複雑さが極端に増すのは間違いない訳で
結局どこかしらでコストは払ってるんだよ
この辺はいくら次世代のいい感じの言語が出ようとも変わらないと思う

602 名前:デフォルトの名無しさん mailto:sage [2020/03/08(日) 08:57:57.34 ID:WHPmDMrq.net]
んなあたりまえのこといわれても、でっ?ていう。
最適な互換性の維持具合についてなんか意見でもあるなら言えばいいけど
なんも考えてなさげだな。

603 名前:デフォルトの名無しさん mailto:sage [2020/03/08(日) 09:38:38 ID:oRQj+xWf.net]
Pythonには2と3があるから駄目
そしてPythonをJavaに置き換えることを意識した時点で
Javaもその駄目なグループのメンバーになったようなもの

GCがある言語は多分みんな駄目になってしまう

604 名前:デフォルトの名無しさん mailto:sage [2020/03/08(日) 09:56:41 ID:I0GhLDrC.net]
>>578
ここは「次世代言語に憧れるレガシー言語労働者の愚痴スレ」だから

605 名前:デフォルトの名無しさん [2020/03/08(日) 10:06:42 ID:ZuSBaXSz.net]
いやJSもGCあるだろ…

606 名前:デフォルトの名無しさん mailto:sage [2020/03/08(日) 14:22:36 ID:jdr/SdJJ.net]
>GCがある言語は多分みんな駄目になってしまう
なんの根拠もなく現状を全く無視したことを平然とのたまう精神はどこからきてるんだろうか。

こういう輩が好みそうなのはrustですかね。

607 名前:デフォルトの名無しさん mailto:sage [2020/03/08(日) 16:42:21.18 ID:8nAE6D2E.net]
そうだね
なんの根拠もないものは全く無視されて当然
その精神がある限り、古い仕様は無視されて互換性が無くなる



608 名前:デフォルトの名無しさん [2020/03/08(日) 17:08:13 ID:aNSOANJ3.net]
仕様は根拠では?

609 名前:デフォルトの名無しさん mailto:sage [2020/03/09(月) 12:56:13.44 ID:sMpZHxT3.net]
静的型付け言語(typescript)の設計を学ぶためには、HaskellとF♯どっちが向いてるんだろう。

610 名前:デフォルトの名無しさん mailto:sage [2020/03/09(月) 13:55:56.02 ID:ufIdRt45.net]
javaでええやん

611 名前:デフォルトの名無しさん mailto:sage [2020/03/09(月) 15:09:02 ID:3YbuMVaT.net]
TypeScriptの設計を学ぶならTypeScript以外に無いだろ

612 名前:デフォルトの名無しさん [2020/03/09(月) 16:12:01 ID:yVhMK1Dj.net]
Javaとか型システム微妙言語の代表だろ

613 名前:デフォルトの名無しさん [2020/03/09(月) 16:54:47.41 ID:SsKgVmjs.net]
javaScriptの数値は浮動小数点数だけなんたな

614 名前:デフォルトの名無しさん mailto:sage [2020/03/09(月) 17:45:31.41 ID:lIxpUDM9.net]
なんでそうなったん

615 名前:デフォルトの名無しさん [2020/03/09(月) 19:28:17.56 ID:vLcN6ouJ.net]
NumberとBigIntの二種類あるよ。
かつてNumberしかなかったのは、
JS作ってるほうも「JSで数値計算?そんなやつおらへんやろ〜」って感じだったんだと思う。
実際はそんなことはなかったという歴史は知っての通り。

616 名前:デフォルトの名無しさん mailto:sage [2020/03/09(月) 20:29:51 ID:8jAtqHAE.net]
昔から知ってるやつからすると
ホームページ上で動的にデザイン変えるための言語だよなそもそもは

617 名前:デフォルトの名無しさん mailto:sage [2020/03/09(月) 20:44:02 ID:vwFp+YAO.net]
昔だけ知ってるだろ?



618 名前:デフォルトの名無しさん mailto:sage [2020/03/09(月) 21:37:38.49 ID:ZpX38Mjq.net]
TypeScript、普通にトップクラスに書きやすいから困る
json 扱うなら TypeScript さいつよ

619 名前:デフォルトの名無しさん [2020/03/09(月) 21:57:00 ID:y1num/wG.net]
JavaScriptでも、ビット演算は32bit符号付き整数に対する演算と決められてるので、
直接32bit整数の値を作れはしなくても、内部的にそのような型は存在はしてるはず

JavaScriptではビット演算はオペランドをこの32bit整数に暗黙的に型変換してから
実行するので、これを利用してNumber型を"整数型"に変換できる

620 名前:
a = Math.PI | 0
a == 3 // --> true

実際、JavaScriptにトランスパイルされるAltJSのPureScriptではInt型があるけど、
PSからコンパイルされたJS見てみると、Intは|0で実装されてるのがわかる。
[]
[ここ壊れてます]

621 名前:デフォルトの名無しさん mailto:sage [2020/03/09(月) 22:05:45.05 ID:m8/R2X0g.net]
asm.jsと言うのものがあってだな・・・
元々誰も使ってなかった上にwasmの登場で完全にいらない子になったけど

622 名前:デフォルトの名無しさん mailto:sage [2020/03/09(月) 22:09:10.66 ID:+A4ZnB3N.net]
int型の有無で言語を2つ以上作る世代は早く終わってほしい
ライブラリを追加するだけですむようにしてくれ

623 名前:デフォルトの名無しさん mailto:sage [2020/03/09(月) 22:23:03 ID:3YbuMVaT.net]
>>599
むしろ要る子だったからwasmに進化したんだが
分けて考えるのはナンセンス

624 名前:デフォルトの名無しさん mailto:sage [2020/03/10(火) 00:01:49 ID:JL6LcQ03.net]
なお誰も使わんもよう

625 名前:デフォルトの名無しさん mailto:sage [2020/03/10(火) 00:11:22 ID:XfE8NJsh.net]
>>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.

これが出発点だからな
そのレスはかなり間抜け

626 名前:デフォルトの名無しさん mailto:sage [2020/03/10(火) 00:35:40 ID:JL6LcQ03.net]
v8が優秀すぎてasmなんていらねンだわ

627 名前:デフォルトの名無しさん [2020/03/10(火) 01:26:22.74 ID:p2qIixd6.net]
優秀つってもしょせんC++で作られたプログラムだろ?C++褒め称えろよ



628 名前:デフォルトの名無しさん mailto:sage [2020/03/10(火) 02:25:56 ID:pLogcX5n.net]
出発点だったら何なんだよ
すべてのC言語プログラマはBCPLを崇め奉らなきゃいけないのか?
どっちが間抜けだよ

629 名前:デフォルトの名無しさん [2020/03/10(火) 02:57:32.01 ID:YCA0GKqZ.net]

V8はC++で作られてるでしょ?
CコンパイラはBCPLで書かれてるの?
違うでしょ?大抵CかC++で書かれてるでしょ?
何で書かれてるかと何が先祖かの区別つかないとか、頭大丈夫?w

630 名前:デフォルトの名無しさん mailto:sage [2020/03/10(火) 03:57:53 ID:Vh3kisjp.net]
つまり機械語が神

631 名前:デフォルトの名無しさん mailto:sage [2020/03/10(火) 07:40:37.31 ID:zMjjJrJs.net]
でもアセンブラとC++にはマクロがあるから
文字列指向というか

asm.jsもテキスト形式だな

632 名前:デフォルトの名無しさん mailto:sage [2020/03/10(火) 11:25:46.45 ID:JL6LcQ03.net]
マクロって何?

633 名前:デフォルトの名無しさん mailto:sage [2020/03/10(火) 11:29:46.52 ID:uPXabSQ0.net]
本質的には引数を評価しないでそのまま使う関数

634 名前:デフォルトの名無しさん [2020/03/10(火) 12:27:40 ID:TTfAesFm.net]
ももも、文字列指向www
マクロがあったらw
文w字w列w指w向www
Rustもマクロがあるから
文w字w列w指w向www

635 名前:デフォルトの名無しさん mailto:sage [2020/03/10(火) 14:14:07.58 ID:zMjjJrJs.net]
IDEも予測入力もなかった時代に入力を補完するオーパーツ的な存在がマクロ
引数があれば補完後のどこかに挿入されたりする

636 名前:デフォルトの名無しさん mailto:sage [2020/03/10(火) 14:52:47.65 ID:JL6LcQ03.net]
何それ
何が嬉しいの

637 名前:デフォルトの名無しさん mailto:sage [2020/03/10(火) 15:14:15 ID:zMjjJrJs.net]
コンパイル前にできる処理をコンパイル・実行時にやらない



638 名前:デフォルトの名無しさん mailto:sage [2020/03/10(火) 19:21:25 ID:wOkC+tNx.net]
defineマクロみたいなのは純粋な文字列置換
lisp系とか高級になるとトークンを受け取ってどのような構文木を作って返すかプログラマーが操作できる処理

639 名前:デフォルトの名無しさん mailto:sage [2020/03/10(火) 19:32:18 ID:uPXabSQ0.net]
lispのマクロと関数の違いに対する理解が浅そう。

640 名前:デフォルトの名無しさん [2020/03/10(火) 20:04:37 ID:ZpJirelH.net]
フォトジェニックマクロとか言うやつでしょ?ぼく知ってるよ

641 名前:デフォルトの名無しさん mailto:sage [2020/03/10(火) 22:20:01 ID:Ph+PgS0T.net]
赤身が好きです

642 名前:デフォルトの名無しさん mailto:sage [2020/03/10(火) 22:29:12.83 ID:JL6LcQ03.net]
要するにbabel?

643 名前:デフォルトの名無しさん [2020/03/11(水) 02:11:53 ID:zwwCe0yv.net]
スレタイにJulia入れなかったのはつまりそういうことか

644 名前:デフォルトの名無しさん [2020/03/12(木) 01:25: ]
[ここ壊れてます]

645 名前:03.61 ID:cYhZNtzC.net mailto: Rust触ってみたいんだけど逆に悪いところってなに?
いいところしか聞かないから聞きたい
[]
[ここ壊れてます]

646 名前:デフォルトの名無しさん mailto:sage [2020/03/12(木) 07:35:14.32 ID:bA+UUDN6.net]
>>622
Rust使ってると変な人にからまれるから、やめといた方がいい

647 名前:デフォルトの名無しさん mailto:sage [2020/03/12(木) 08:11:31.88 ID:6ER5Rjkf.net]
読んで字のごとく
何をやってもつっかかる
できるはずのことができない



648 名前:デフォルトの名無しさん mailto:sage [2020/03/12(木) 09:23:56.54 ID:cdl9Dqe3.net]
コミュニティーがことごとく都合の悪いことをなかったことにしている。
そんなに悪いとこがねーならとっくに他の言語を置き換えてるだろうに。

649 名前:デフォルトの名無しさん mailto:sage [2020/03/12(木) 09:34:32.26 ID:SjQQh/Ja.net]
安全教信者がうるさいって印象はある
でも言語自体はよくできてると思うわ
Let's EncryptのやらかしもRustなら防げたんだろうし

650 名前:デフォルトの名無しさん mailto:sage [2020/03/12(木) 09:37:04.12 ID:cdl9Dqe3.net]
防げるわけねーだろ。。
結局低レイヤーの配列のインデックスに演算が必要な場合はunsafeだしな。
そういうところで嘘を表に出さないようなことやってるから信用がない。

651 名前:デフォルトの名無しさん mailto:sage [2020/03/12(Thu) 09:52:08 ID:SjQQh/Ja.net]
なんの話してんの

652 名前:デフォルトの名無しさん mailto:sage [2020/03/12(木) 09:55:20.70 ID:cdl9Dqe3.net]
何にもわかってないなら言わなきゃいいのに。。

653 名前:デフォルトの名無しさん mailto:sage [2020/03/12(木) 10:35:24.94 ID:pkrQoC1s.net]
C++はユーザーに数十年間検査され欠陥が大量に見つかったがほとんど直さない
Rustはそもそも検査されてないので直すところもない

あとは正しい方を選ぶだけの簡単な作業

654 名前:デフォルトの名無しさん mailto:sage [2020/03/12(木) 10:57:04.90 ID:2DPQopCV.net]
欠陥は誰かが騒ぐからググればすぐに出てくるので
実害はない。そこを避ければいいだけ。
普通、迂回策も書いてある。

655 名前:デフォルトの名無しさん mailto:sage [2020/03/12(Thu) 10:57:34 ID:bA+UUDN6.net]
ほら、やっぱり基礎的な文法すら見てないような奴にからまれてる

656 名前:デフォルトの名無しさん mailto:sage [2020/03/12(木) 11:02:50.18 ID:xxd0OfES.net]
主要言語の消費電力・処理時間・メモリ
https://www.researchgate.net/figure/Normalized-global-results-for-Energy-Time-and-Memory_tbl2_320436353

657 名前:デフォルトの名無しさん mailto:sage [2020/03/12(木) 15:10:51.89 ID:B7szUci1.net]
>>627
どういうバグだったのか見てきたが
何もわかってないのは君のほうみたいだね

https://bugzilla.mozilla.org/show_bug.cgi?id=1619047
https://github.com/letsencrypt/boulder/pull/4690/commits/ba6b85ee126b50d19837a53a52cb6d894594935f



658 名前:デフォルトの名無しさん mailto:sage [2020/03/12(木) 15:31:45.71 ID:0Q2uMOAR.net]
少なくともピューと吹けば壊れるPHPより良い言語であることは疑いようのないTru

659 名前:デフォルトの名無しさん mailto:sage [2020/03/12(Thu) 19:35:48 ID:gx+WAl6Y.net]
>>627
なんで何もわかってないのに偉そうにしちゃうん?

660 名前:デフォルトの名無しさん mailto:sage [2020/03/12(Thu) 19:57:06 ID:vSXXsYBd.net]
>>627
誰が一番信用がないかが分かったな

661 名前:デフォルトの名無しさん [2020/03/13(金) 17:50:55.96 ID:uMGbn/tA.net]
インフラに疎いんだけど、
デプロイ(CD)ってどのファイル転送プロトコル使われることが多いの?

662 名前:デフォルトの名無しさん [2020/03/13(金) 18:07:48.25 ID:jvKiI+vV.net]
scp

663 名前:デフォルトの名無しさん mailto:sage [2020/03/15(日) 22:18:17 ID:gNXlAxhx.net]
GoogleのPWA推しはなんなんや……
File APIじゃサンドボックスからファイル

664 名前:システム一切アクセスできない
試験運用中のNative File System API試したらinput type=“file”とできることかわらなくてマジクソ
パスすら取得できないって始まる前から終わってますやん
PWAとかいうその幻想をぶち殺す
[]
[ここ壊れてます]

665 名前:デフォルトの名無しさん mailto:sage [2020/03/16(月) 03:04:15.00 ID:9SLGD+wr.net]
ローカルファイルをやめて全部サーバーにおかせようって魂胆
ま、クロウムブックだとかグーグルのネットストレージサービスの促進には役だつわな
当然、巨大ファイルをしょっちゅうガリガリやるようなアプリにはまるで使えない

666 名前:デフォルトの名無しさん mailto:sage [2020/03/16(月) 07:49:03 ID:IojLJcYy.net]
ウェブ、ローカルストレージ APIとか明らかにiOS/Androidしか考えてないよな
アプリの設定やデータだけキャッシュできればいいならそらそうか……
wasmはブラウザアクセス時にホストからダウンロードして実行とかMSのClickOnceを思い出すわ懐かしい
そしてwasmもサンドボックスの制約から逃れられないから恩恵受けるのゲームだけなんじゃなかろうか

667 名前:デフォルトの名無しさん mailto:sage [2020/03/16(月) 15:46:11 ID:sEXify1M.net]
原作と全然違うアニメが炎上するようなものか



668 名前:デフォルトの名無しさん [2020/03/17(火) 01:49:34.03 ID:EqYyAGcG.net]
Googleは自分のサービス繁栄のことしか考えてないからな
合理的なエコシステムなんて糞くらえよ

669 名前:デフォルトの名無しさん mailto:sage [2020/03/17(火) 19:34:03.42 ID:4wOPps0G.net]
で betterC はどれ

670 名前:デフォルトの名無しさん [2020/03/18(水) 10:46:35.92 ID:UiixgEyd.net]
betterCという呼称はCに対して失礼だと思う

671 名前:デフォルトの名無しさん [2020/03/18(水) 10:46:36.14 ID:UiixgEyd.net]
betterCという呼称はCに対して失礼だと思う

672 名前:デフォルトの名無しさん mailto:sage [2020/03/18(水) 11:10:47.27 ID:ysA7x2sq.net]
大事なことなので2回

673 名前:デフォルトの名無しさん mailto:sage [2020/03/18(水) 12:09:15.13 ID:LF+YjKOD.net]
じゃあ何ならいいの?
AltC?

674 名前:デフォルトの名無しさん mailto:sage [2020/03/18(水) 14:05:37 ID:m8jl3r7k.net]
>>645
C99, C11, C18, C2x

675 名前:デフォルトの名無しさん mailto:sage [2020/03/18(水) 14:40:59 ID:QhEd5Nre.net]
C99でいい

676 名前:デフォルトの名無しさん mailto:sage [2020/03/18(水) 15:23:05 ID:dFIFySqQ.net]
COVID-19

677 名前:◆QZaw55cn4c mailto:sage [2020/03/18(水) 16:17:02 ID:U9aknzyy.net]
>>651
C99 の大部分は改悪、C89 こそ正義!



678 名前:デフォルトの名無しさん [2020/03/18(水) 16:23:14 ID:0bSESAPE.net]
どこが?
具体的に。

679 名前:◆QZaw55cn4c mailto:sage [2020/03/18(水) 16:24:55 ID:U9aknzyy.net]
>>654
C99 の C++ 互換でない仕様は基本的に害悪

680 名前:デフォルトの名無しさん [2020/03/18(水) 16:39:49 ID:0bSESAPE.net]
>>654
C99 と互換でない C++ の仕様が害悪なのでは?
ボブは訝しんだ

681 名前:デフォルトの名無しさん mailto:sage [2020/03/18(水) 22:36:26.94 ID:IrvT9dn/.net]
K&Rとかいう化石以外なら何でも良いよ

682 名前:デフォルトの名無しさん mailto:sage [2020/03/19(木) 03:45:35.82 ID:VRFqiqhe.net]
>>622
Rustは、有る意味では普通の「手続き型言語」の枠組みを超えてしまっているため、
通常のプログラミング言語の代わりに使うことはほぼ出来ないことが最大の欠点。
関数言語以外ではどの言語でもほぼ共通である所の変数の代入の概念がRustでは
変更になってしまっている。

683 名前:デフォルトの名無しさん mailto:sage [2020/03/19(木) 03:51:58.51 ID:VRFqiqhe.net]
>>642
ファイルシステムに関しては、本当にサンドボックスの外に出られ無い事が
大問題ではあるが、Wasmは雰囲気だけはnativeアプリ見たいには出来る。
ダウンロード時間を含めて起動も速い:
https://yutakaaoki.github.io/demo1/index.html

684 名前:デフォルトの名無しさん mailto:sage [2020/03/19(木) 04:21:11.94 ID:VRFqiqhe.net]
>>98
KotlinとSwiftは、それぞれ、ほぼ AndroidとiOS専用なのに対し、DartとFlutterと組み合わせは、マルチプラットフォームであることが違うことは違う。

685 名前:デフォルトの名無しさん mailto:sage [2020/03/19(木) 04:23:28.20 ID:VRFqiqhe.net]
>>96
Dartは、Javaにも似ているが、初期のころのC++に似ている気がした。
原始的なC++から、型を明示した宣言を省略したような感じ。
C#やSwiftには便利さの点で負けると思うし、確かにJavaにすら負けているかもね。

686 名前:デフォルトの名無しさん mailto:sage [2020/03/19(木) 04:29:05.38 ID:VRFqiqhe.net]
>>24
Rustは、厳格すぎて余計なことに気を取られたりタイプ量が多すぎてむしろC++より生産性は下がりそうだ。
生産性という意味では、C#やJavaの方が上だろう。

687 名前:デフォルトの名無しさん mailto:sage [2020/03/19(Thu) 04:43:25 ID:H2D24Ilu.net]
>>659
結局wasmの売りってホストにデプロイされたバイトコードが如何なる環境でもChromium上で実行可能かつネイティブと迫る速度であるってことだからやっぱターゲットはゲームやモバイルアプリなんだよな
そうなると最近アナウンスされたReactNative for Windows/Macとはベクトルが違うからやっぱクロスプラットフォームって幻想だよな
実際アプリもネイティブで書いた方がメンテしやすいからなみんなネイティブで書いてるもんな



688 名前:デフォルトの名無しさん [2020/03/19(木) 06:33:09.69 ID:I3A3yd/j.net]
それはwasmじゃなくてwasiでやろうとしてることでしょ?

689 名前:デフォルトの名無しさん mailto:sage [2020/03/19(木) 12:54:55.70 ID:H2D24Ilu.net]
>>664
wasiなんてあるのか知らなかったわサンクス
node.jsでも試験的に実装されてて実際に動作するみたいやな
現状ファイルアクセスだけみたいやがネットワーク接続もできるようになるみたいやしnode.jsでwasiがサポートされてるなら完全なクロスプラットフォームが実現しそうやな

690 名前:デフォルトの名無しさん mailto:sage [2020/03/19(Thu) 13:04:19 ID:Pzb6grX0.net]
ぼくもwasiって知らんかった。このスレたまたま開いてよかった

691 名前:デフォルトの名無しさん mailto:sage [2020/03/19(Thu) 13:43:55 ID:VRFqiqhe.net]
Wasm : ブラウザで動かす。バックエンドのJSのcanvasなどを使うことで
    グラフィックも使え、GUIも可能。原則、nativeファイルシステムが使えない。

wasi : Wasmを使うがブラウザ外で動かし、今のところCUI専用。native ファイル
    システムが使えるので、サーバーサイドの node.jsやJavaの置き換えや
    組み込みに向いているらしい。

692 名前:デフォルトの名無しさん mailto:sage [2020/03/19(Thu) 13:47:08 ID:66GF5L4f.net]
webの流れ早過ぎ
業務で触ってないと追いつける気がしない

693 名前:デフォルトの名無しさん mailto:sage [2020/03/19(Thu) 13:48:24 ID:MilrfGsk.net]
wasiの変なサイトにアクセスしたら勝手にインストールされて
激重なるの?情報も抜かれる?

694 名前:デフォルトの名無しさん mailto:sage [2020/03/19(Thu) 13:56:02 ID:VRFqiqhe.net]
>>667
他にも、
Wasmer, Wasmerio(Wasmer I/O ?), Wasmtime など色々出てきている。

695 名前:デフォルトの名無しさん mailto:sage [2020/03/19(Thu) 14:39:21 ID:VRFqiqhe.net]
>>669
そんなことは無い。
すべてはブラウザのセキュリティーモデルの中で動いているので、
原則的に今までどおりのセキュリティーレベル。
というのは、結局、Wasmで出来ることはJSでできることと変わりが無いため、
JSでどう書いてもできないことは、Wasmでもできないから。
Wasmの大きな利点は、JS以外の言語が使えることで、プログラムが開発し易くなること。
たとえば、JSだと間違いになかなか気づかない箇所でもC++だとコンパイラが発見してくれ、protected属性をつけていれば、他のclassからのアクセス制御なども出来て、保護したい変数に不用意にアクセスできなく出来たりする。

696 名前:デフォルトの名無しさん [2020/03/19(Thu) 15:20:08 ID:dnKvjYNt.net]
DOS攻撃すると逆にハッカー側がダメージ負う方法ってない?
例えばレスポンスで巨大なファイル送りつけるとか(多分レスポンス受け取らないから意味なさそう)

697 名前:デフォルトの名無しさん mailto:sage [2020/03/19(Thu) 16:26:42 ID:jGrvpb5b.net]
ネットを利用するとお金がかかるようにす



698 名前:ればいいのに
なんでネットすぐタダにしてしまうん
[]
[ここ壊れてます]

699 名前:デフォルトの名無しさん mailto:sage [2020/03/19(木) 16:45:13.38 ID:H2D24Ilu.net]
>>668
俺は最新のメタはほぼすべて趣味で調べて自宅でコーディングして試してるで
仕事やとまず言語ですら最新のバージョン触れないから言語やフレームワークの新機能やトレンドはすべてプライベートでないとキャッチアップ不可能

700 名前:デフォルトの名無しさん mailto:sage [2020/03/19(Thu) 16:57:59 ID:M+e24sDQ.net]
wasi なんてワシもしらんかったわい

701 名前:デフォルトの名無しさん mailto:sage [2020/03/19(木) 17:00:48.35 ID:c1m9bpJY.net]
>>673
じつはネットもぜんぜんタダやないんやで
主に広告によって収入を得る仕組みになっとるんや
ただしサービスを受けとる側が提供してる側へ直接払うみたいな
ドストレートな金の流れにはなってへんし、そもそもサービスを
提供してる側が金をもらうようにはなってない事もようあるで
世の中タダのもんなんてあらへんで

702 名前:デフォルトの名無しさん [2020/03/19(木) 17:53:08.01 ID:hFX+dqhp.net]
>>669
その文脈でwasiはおかしい。wasmかな?

703 名前:◆QZaw55cn4c mailto:sage [2020/03/19(Thu) 19:35:41 ID:KTdRY0Ga.net]
>>657
K&R2=C89 で必要にして十分、それ以降は蛇足

704 名前:デフォルトの名無しさん [2020/03/19(木) 22:41:13.00 ID:i16Q86hT.net]
> というのは、結局、Wasmで出来ることはJSでできることと変わりが無いため、
> JSでどう書いてもできないことは、Wasmでもできないから。

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

wasmでしかできないこともあるし、JSでしか出来ないこともあるよ

705 名前:デフォルトの名無しさん mailto:sage [2020/03/20(金) 00:11:25 ID:405ti7Ej.net]
>>679
いや、言語が変えられることと、速度が速いこと以外は、Wasmが
出来ることはJSと完全一致で、JSが出来る範囲の事を超えることは出来ない。
これは絶対。

706 名前:デフォルトの名無しさん mailto:sage [2020/03/20(金) 01:17:37.81 ID:b2ihZgLg.net]
>>679
>wasmでしかできないこともあるし、JSでしか出来ないこともあるよ

これはそうだけど
セキュリティ観点でJS onlyでは出来ないけど
wasm使えば出来るってことは無いよね?

707 名前:デフォルトの名無しさん mailto:sage [2020/03/20(金) 02:27:28.05 ID:uULTB4xx.net]
うーん、俺の理解はこんな感じやな
クライアントの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を実行するランタイムでもある。



708 名前:デフォルトの名無しさん mailto:sage [2020/03/20(金) 02:35:29.88 ID:405ti7Ej.net]
>>682
>・各言語で書かれたソースコードをコンパイルして、wasmファイル(ブラウザで実行するバイナリ。プラットフォーム毎にバイナリが作られる)を生成。
「各言語で書かれたソースコードをコンパイルして、wasmファイルを生成」
の部分は正しいが、
Wasmはプラットフォームごとのバイナリではなく、あらゆるプラットフォームで共通の1つのコードだ。
だから、全く同じ *.wasm が Win/Mac/Linux/Android/iOS で、Wasmに対応したあらゆるブラウザで動作する。
なので、プラットフォームごとにキオンパイルしなおす必要は全くない。

>・よって基本AOTでJITやインタプリタはない?
Wasmは基本的にAOTではあるが、実行段階でさらにJITによってさらにコンパイルされて高速に動作される。
この

709 名前:段階でWasmの形式から、CPUのマシン語の形式に変換されることがある。
また、Wasmにはインタプリタも存在している。
[]
[ここ壊れてます]

710 名前:デフォルトの名無しさん [2020/03/20(金) 05:58:59.54 ID:qGV0eoEO.net]
>>680
> 出来ることはJSと完全一致で、JSが出来る範囲の事を超えることは出来ない。
完全一致www
まぁ色々仕様見た方がいいね

>>681
むしろセキュリティ観点からするとJSの方が安全だよ
"そこ"に関しては特別WASMだけが出来ることはないよ

711 名前:デフォルトの名無しさん mailto:sage [2020/03/20(金) 11:01:34.93 ID:405ti7Ej.net]
>>684
正しく言えば、Wasmでも、画面の見た目、グラフィック、キーボード/マウス/タッチパネルなどの
入出力、IMEなどを使った日本語入力、XHRやfetchなど、File API, native file API,
などはJSを使ってしか出来ないのでJSで出来ないことはWasmでも出来ないことになるので、
「Wasmで出来ることは使える言語と速度を除いてはJSと完全一致」
ということは正しい。

712 名前:デフォルトの名無しさん [2020/03/20(金) 17:23:27.50 ID:43c15jQs.net]
自己矛盾

713 名前:デフォルトの名無しさん mailto:sage [2020/03/21(土) 11:21:11 ID:W/MeN4A+.net]
>>676
でもワイ、毎日タダでシコりまくりんグの件

714 名前:デフォルトの名無しさん mailto:sage [2020/03/22(日) 09:31:45 ID:zQpJysa3.net]
>>658
>関数言語以外ではどの言語でもほぼ共通である所の変数の代入の概念がRustでは
>変更になってしまっている。
たいへん良いことじゃん?
変更されない変数を後から探してconstを付けて回る工数が削減される、

715 名前:デフォルトの名無しさん mailto:sage [2020/03/22(日) 16:15:40.85 ID:6GcIkd5x.net]
Rustの所有権や借用の概念は何で今まで他はこうじゃなかったのかと思ってたわ
難しいとか聞いたので構えてたけど、全く何の違和感も無かった
但し書き方が、もうちょい何とか出来なかったのかとは思うが、Rustが難しいのは概念や仕様じゃなくて書式

716 名前:デフォルトの名無しさん mailto:sage [2020/03/22(日) 16:48:50 ID:HvrypJyW.net]
>>689
参照などの書き方に統一感が無いのは、Perl の関数呼び出しにおける参照型を思い出させる。
結局、分けが分からないので、衰退して言ったようだ。

717 名前:デフォルトの名無しさん mailto:sage [2020/03/22(日) 20:50:12.50 ID:ZvBqcowf.net]
rustはコンストラクタにもう一工夫あればc++に取って変われたかもね。



718 名前:デフォルトの名無しさん mailto:sage [2020/03/22(日) 21:27:08.55 ID:6pjqYr89.net]
>>691
そのココロは?

719 名前:デフォルトの名無しさん mailto:sage [2020/03/22(日) 21:28:05.51 ID:I5Su+SV6.net]
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

720 名前:デフォルトの名無しさん mailto:sage [2020/03/22(日) 22:46:24.47 ID:bDl/VAFl.net]
欲求の大体は想像できるけど
ライブラリ等の使用準備はインスタンス駆動よりも
ブロック内に記述/用意したプロパティを言語機能で勝手に読み取り構築してくれるくらいやって欲しいね
機能関数を初めて呼んだ時点でブロック単位最優先のヤツをライブラリに渡してくれるようなの
ブロックの親子関係でマイナスになったら初めてフラグもリセット

721 名前:デフォルトの名無しさん mailto:sage [2020/03/22(日) 22:52:16.35 ID:6pjqYr89.net]
意味がワカラン

722 名前:デフォルトの名無しさん mailto:sage [2020/03/22(日) 23:25:52 ID:0rN6cFcx.net]
>>693
Swiftの間違いだろ

723 名前:デフォルトの名無しさん mailto:sage [2020/03/23(月) 10:12:42.25 ID:YjRO4AxK.net]
造語症の検査が必要だ
造語症を見抜けないことでかえってリソースが浪費される

724 名前: []
[ここ壊れてます]

725 名前:デフォルトの名無しさん mailto:sage [2020/03/23(月) 10:57:01.11 ID:qdgRIROC.net]
DropboxもクライアントをRustに書き換えか
Pythonの型アノテーション頑張ってたけど

726 名前:デフォルトの名無しさん mailto:sage [2020/03/23(月) 11:44:55 ID:IXWRbkqI.net]
>>692
書いてみりゃわかる。
状態変更や共有に気を遣うとインスタンス生成を上手くやる必要が出る。

727 名前:デフォルトの名無しさん [2020/03/23(月) 12:42:49 ID:e6B2kqQy.net]
rustのhello world 4MBになるけど最小化しようとしたら存外難しくてワロタw



728 名前:デフォルトの名無しさん mailto:sage [2020/03/23(月) 14:57:51.21 ID:+m59DBar.net]
cargo newしただけの状態をBuildしても143KBなんだが…
Goと間違ったのかな?いや流石に無いか、どういう事なんだ釣か?

729 名前:デフォルトの名無しさん mailto:sage [2020/03/23(月) 15:21:39.20 ID:cEc1Pjxt.net]
人工知能にハロワでもさせたんやろ

730 名前:デフォルトの名無しさん mailto:sage [2020/03/23(月) 15:51:42.58 ID:z2RWyRRi.net]
AppleもcをRustに置き換えしていくって言ってるよ

731 名前:デフォルトの名無しさん mailto:sage [2020/03/23(月) 16:08:07.86 ID:ryqQXgQk.net]
こマ?

732 名前:デフォルトの名無しさん mailto:sage [2020/03/23(月) 16:09:53.98 ID:z2RWyRRi.net]
ほい
https://www.phoronix.com/scan.php?page=news_item&px=Apple-From-C-To-Rust

733 名前:デフォルトの名無しさん [2020/03/23(月) 16:14:33.22 ID:QFUl7nfE.net]
本文と関係無いグロ画に悪意をおぼえる

734 名前:デフォルトの名無しさん mailto:sage [2020/03/23(月) 18:27:55 ID:KRdtMR7c.net]
rustにコンストラクタねえ?
コンストラクタに一工夫とか釣りなのかエアプなのか判断に苦しむ

735 名前:デフォルトの名無しさん [2020/03/23(月) 18:48:57 ID:Txpengd8.net]
rustのGC性能ショボすぎワロタwww

736 名前:デフォルトの名無しさん mailto:sage [2020/03/23(月) 19:06:25 ID:cjB95B7K.net]
>>701
strip -s してないだけだろう

737 名前:デフォルトの名無しさん mailto:sage [2020/03/23(月) 19:54:20 ID:IXWRbkqI.net]
>>707
すまん、refCell、mut使いまくりの馬鹿には関係ない話だな。



738 名前:デフォルトの名無しさん mailto:sage [2020/03/23(月) 20:29:15 ID:cEc1Pjxt.net]
ワイJavanist完全コンストラクタで華麗に対応

739 名前:デフォルトの名無しさん mailto:sage [2020/03/25(水) 14:31:56 ID:2CCp9AcV.net]
公式のリファレンス読んでもRustを使うメリットがわからんのやけどPythonみたいに環境がトータルとして優れてるってことか?
変数を束縛という概念で標準でイミュータブルとして定義されると何が嬉しいんや?constやreadonlyやとあかんのか?
スコープとシャドイーングもクロージャやとあかんのか?有識者からの説明求む
環境やパフォーマンスやなくて言語仕様や機能そのものは個人的にC#が最高やと思うんやけどマイノリティなんかな

740 名前:デフォルトの名無しさん mailto:sage [2020/03/25(水) 14:49:34 ID:VKn2QSTg.net]
Rustのメリットは実行時のパフォーマンスを犠牲にすることなくそこそこモダンで高度に抽象化された言語で書けること
開発効率だけで言えばC#の方が圧倒的に上だし、総合的なROIで見てもRustがC#を上回るケースは現実にはほとんどない

741 名前:デフォルトの名無しさん [2020/03/25(水) 15:02:16 ID:6ULKuSqz.net]
CもC++もDも使ってきたけど最近はPythonばっかり
Pythonが物足りなくてRust覚えようとしてたけど
C#が思いの外良くてそのままC#使ってる

742 名前:デフォルトの名無しさん mailto:sage [2020/03/25(水) 16:01:27 ID:bWSDziy7.net]
Nimは?

743 名前:デフォルトの名無しさん mailto:sage [2020/03/25(水) 16:20:35 ID:2CCp9AcV.net]
>>713
なるほど、ちゃんと調べてから質問すればよかったわすまんこ
システムプログラミングで使われるC/C++の代替がRust/Goなわけなんやね
調べてて知ったのがRust/Goはtry-catchない仕様なんめっちゃええね
そもそも例外が起きないようにプログラミング書くのに全処理をtry-catchで囲む慣習が個人的にずっと不服やったんよ
そもそも例外も変数で受け取ればええやんてのはほんま納得
Rust/Goでアプリケーション開発できるイージーな環境を誰か構築してほしい

744 名前: []
[ここ壊れてます]

745 名前:デフォルトの名無しさん mailto:sage [2020/03/25(水) 16:26:23 ID:eUPBV1Bq.net]
PythonのライブラリはCで書く
言語を2つ使うのをやめて1つにするのを狙ってるのがC++やRust

PythonはRubyと競争して勝ってしまった
競争も勝敗もないのがC#やJavaやGo

746 名前:デフォルトの名無しさん mailto:sage [2020/03/25(水) 16:51:30.87 ID:COJzGufp.net]
>>712
Rustは、例え一部であっても、参照カウンタも GarbageCollection もなしで、メモリ管理を目指そうとしていた。
束縛や借用を使えばStack変数に関してはそれはある程度成功する。
Heapオブジェクトの自動解放に関しては、Uniqueポインタ的な単一参照や参照カウンタ方式を使っている。
がしかし、循環参照してしまうと誰も使ってないHeapメモリーが自動解放されない現象が起きるので、循環参照を避けることはプログラマの責任で行う設計。

747 名前:デフォルトの名無しさん mailto:sage [2020/03/25(水) 16:56:54.91 ID:COJzGufp.net]
>>718
C/C++では、スタック変数を、関数の呼び出し元へ returnしたり、
引数に返したりすることが出来てしまうが、危険なので絶対やってはならないが、
Rustではそれに関してはコンパイル時にエラーが出るので防げる。
同様に関数の途中のブロックの中だけで有効なブロック変数も、ブロックの
外側にポインタ値を渡してはいけないが、これもRustでは防げる。



748 名前:デフォルトの名無しさん mailto:sage [2020/03/25(水) 16:59:17.07 ID:COJzGufp.net]
>>716
プログラムのし易さの目的には、Rustは向いていない。
例外を try, catch で囲む以上の面倒くささがあらゆる場面で伴う。

749 名前:デフォルトの名無しさん mailto:sage [2020/03/25(水) 17:01:41 ID:COJzGufp.net]
>>714
Pythonは、RAD系。C#も、RAD系的。
Rustは、RAD系とは正反対で、深く使いこなそうとするとCよりもC++よりもずっと難しい。

750 名前:デフォルトの名無しさん mailto:sage [2020/03/25(水) 17:39:26.59 ID:COJzGufp.net]
海外のサイトでRustを褒めている人は実際には表面的にしか理解してない。
多くの人の投稿を見ているとC++14などの新しいC++が難しいから嫌になって
その代替としてRustを使いたいと思っている。
また、うたい文句である所の「安全、ガベージコレクターなし、簡単なC統合」
などをそのまま真に受けている。
ところが現実は違う。
C++ですら複雑に感じる人は、Rustで独自のリンクリストを設計することは決して出来ないと予言しておく。
そして、それが出来ない状態でシステム作りするのは、とても危険である。
(C++が難しく感じるプログラマの99.9%は、Rustで、標準のリンクリストを僅かでも作り直すことは出来ないだろう。)

751 名前:デフォルトの名無しさん mailto:sage [2020/03/25(水) 17:40:30.68 ID:2CCp9AcV.net]
>>720
あーそうなんか残念やな

C#は登場から20年経ってようやくパフォーマンスに舵を切り始めて俺が使うことはないやろけどSystem.Runtime.Intrinsicsなんかもリリースされたから下々にもパフォーマンスを享受できるようにしてほしいわ
個人的にp/invokeをpythonのようにctypes/cdllでみたいに使いやすくしてくれへんもんかなC++/CLIでラッパー書くのしんどすぎる

752 名前:デフォルトの名無しさん mailto:sage [2020/03/25(水) 17:57:58.76 ID:Y3hcHT+A.net]
C#はMS製というのが唯一の欠点
食わず嫌いも多いであろう

753 名前:デフォルトの名無しさん mailto:sage [2020/03/25(水) 17:58:43.28 ID:cjzqzk4A.net]
>>716
全処理を囲む?それ設計の問題やろ

754 名前:デフォルトの名無しさん mailto:sage [2020/03/25(水) 18:00:18.34 ID:giqHqMXk.net]
>>722
なかなか支離滅裂な文章だな

755 名前:デフォルトの名無しさん mailto:sage [2020/03/25(水) 18:05:41.08 ID:fCjn9EhQ.net]
>>716
>そもそも例外が起きないようにプログラミング書くのに全処理をtry-catchで囲む慣習が個人的にずっと不服やったんよ

エラーハンドリングの基礎を学んだほうが良さそう
それにRustとGoではエラーハンドリングの機能や考え方は全く違うぞ

756 名前:デフォルトの名無しさん mailto:sage [2020/03/25(水) 18:34:22.72 ID:2CCp9AcV.net]
元請けが決めるんやからしゃーないやろw
そやから慣習って書

757 名前:「てるやんけ []
[ここ壊れてます]



758 名前:デフォルトの名無しさん mailto:sage [2020/03/25(水) 19:35:02.48 ID:3tnofAZc.net]
元請けのトンチキさに縛られる環境なら
RustやPythonの特徴がどうのとか考えるだけ
無駄では

759 名前:デフォルトの名無しさん mailto:sage [2020/03/25(水) 19:38:00.42 ID:KwM83K9a.net]
Rustをどうしても認めたくない人多いイメージ
海外大手を筆頭に導入が広がりだしてるのは確かなんだが

760 名前:デフォルトの名無しさん mailto:sage [2020/03/25(水) 19:54:40 ID:eUPBV1Bq.net]
海外の競争原理、和を乱す

761 名前:デフォルトの名無しさん mailto:sage [2020/03/25(水) 21:17:55.06 ID:eNR5PFXP.net]
海外の事例(○○をrustで書き直しました!)はかなりタメになる
rustはいいぞ!なんで使わないの、やくめでしょっていう話は楽しくない

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

ただ、こういうリライト記事って基本的に「既にある≒要件がとても固まってるシステム」が対象なので、
試行錯誤しながら正解を探すっていう普通のプログラミングに合うのかは分からないよね

762 名前:デフォルトの名無しさん mailto:sage [2020/03/25(水) 22:20:32.82 ID:hLf3cIQd.net]
GCに困ってないならRust使う理由無いと思うが

763 名前:デフォルトの名無しさん mailto:sage [2020/03/25(水) 23:01:17.38 ID:eUPBV1Bq.net]
GCのアルゴリズムはいっぱいある
最も単純な方法では何か困ったからいっぱい作った

764 名前:デフォルトの名無しさん [2020/03/25(水) 23:26:28.94 ID:6cLcCOlB.net]
ふつう何かを開発するのにGCとか型付けとか
関数型プログラミングとかそんなくだらない事はどーでもいいわけ。

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

GoやRustにそれらの専売性がありますか?
ないよね?それを使わざるを得ない状況がないよね?
じゃあ要らないよね。

765 名前:デフォルトの名無しさん mailto:sage [2020/03/25(水) 23:29:23.97 ID:ukHBAVn8.net]
いやそれGC使ってるからね。。

766 名前:デフォルトの名無しさん mailto:sage [2020/03/25(水) 23:43:09.74 ID:JWe47CB2.net]
Goは文法がガチでウンコ
あれ作った低学歴に説教してやりてえわ

767 名前:デフォルトの名無しさん mailto:sage [2020/03/26(Thu) 00:00:42 ID:ldfbk/zu.net]
GAEに最適だから俺はこのGoの言語を選ぶぜ



768 名前:デフォルトの名無しさん mailto:sage [2020/03/26(木) 00:11:18.82 ID:Dsy66Brp.net]
このGoに及んでくだらんことを言うな

769 名前:デフォルトの名無しさん mailto:sage [2020/03/26(Thu) 00:36:21 ID:Gvi6EW7Y.net]
>>735
サーバー書くのなら割とGoが最適解の時あるのでは

770 名前:デフォルトの名無しさん mailto:sage [2020/03/26(木) 00:42:11.16 ID:Dsy66Brp.net]
サーバーって、ショッピングの Web API サーバーとか?
あの記述力の低さで複雑なドメイン扱える気がしないな

771 名前:デフォルトの名無しさん mailto:sage [2020/03/26(Thu) 00:58:37 ID:Gvi6EW7Y.net]
>>741
そんなん言われても実際に使ってるところあるし

772 名前:デフォルトの名無しさん mailto:sage [2020/03/26(Thu) 01:50:56 ID:Dsy66Brp.net]
>>742
そんなこと言ったら、PHP 4 だって使ってるところありますよ(笑)

773 名前:デフォルトの名無しさん mailto:sage [2020/03/26(木) 01:58:57.97 ID:Gvi6EW7Y.net]
>>743
まあ確かにGoは技術力いるかもな
俺は技術力高い所がよく使ってるのは重要な指針になると思ってるんだけど、君はそう思わないタイプ?

774 名前:デフォルトの名無しさん mailto:sage [2020/03/26(木) 02:21:23.83 ID:Dsy66Brp.net]
記述力の低さを指摘したら
いっぱい使ってるし!とマジギレされたでござる

Go信者こわ

775 名前:デフォルトの名無しさん mailto:sage [2020/03/26(木) 02:24:54.88 ID:mwwmClxG.net]
そりゃphpだってfacebookは使ってるし、javaだってgoogleが使ってるわけで
そんなことで判断するのは流石にどうかと思うわ。

776 名前:デフォルトの名無しさん mailto:sage [2020/03/26(Thu) 02:34:21 ID:SQR24f3M.net]
バックエンドは長いスパンで運用しながら継続的に開発していくわ

777 名前:けだが、
そういった状況において言語の一定以上の機能性は開発生産性にほとんど寄与しないんだよね
Googleはプログラマの感情を無視して露骨にそれを主張してるから反感を買いがちだけど、
MSなんかも統計的にはその事実はよく理解してるはず
[]
[ここ壊れてます]



778 名前:デフォルトの名無しさん mailto:sage [2020/03/26(木) 06:12:20.75 ID:2gvNqqTc.net]
頑固な善人より柔軟な悪人の方が機能性があると思うやんか
でも一定以下に抑えることができなくなって悪は滅ぶ
この主張が感情ではなく統計的事実だとすると滅ぶのは誰なのか

779 名前:デフォルトの名無しさん mailto:sage [2020/03/26(木) 07:13:45.73 ID:xf2sP63i.net]
MicrosoftがProject Veronaという主要言語の研究でRustを高く評価してるな
Windowsの低水準コンポーネントをRustで書いて試用中らしい

>>732
同意、ぶっちゃけ実際の開発って仕様決まってようがRADでコアを作って形になったらそのままスケールしていくって感じが個人的にほとんどなんだよな
とにかく効率的なメタで開発したプログラムをパフォーマンスやメンテがボトルネックだから性能を追求と保守性で最適なメタでリライトしようぜって感じでRust採用って流れじゃなかろうか

780 名前:デフォルトの名無しさん [2020/03/26(木) 07:54:21.26 ID:Sq/f/q6k.net]
Rustだから効率悪いとは思わんが

781 名前:デフォルトの名無しさん mailto:sage [2020/03/26(木) 08:37:28.63 ID:mwwmClxG.net]
>>747
それはそう。
結局組織の問題だったりするわけだがプログラマとしては面白くない結論なんだろうっていうのはよくわかる。

782 名前:デフォルトの名無しさん mailto:sage [2020/03/26(木) 10:50:56.35 ID:2gvNqqTc.net]
人類は感情を煽る技術ばっかり進歩させて
逆に感情を抑えるノウハウをほとんど持ってない

783 名前:デフォルトの名無しさん mailto:sage [2020/03/26(木) 11:13:24.16 ID:Nv8FEfE5.net]
記述力なんて言葉を使うやつが
複雑なドメインを扱える気がしない

784 名前:デフォルトの名無しさん mailto:sage [2020/03/26(木) 11:46:49.87 ID:OqYbDrlw.net]
>>752
スレ違いな内容を書きたいという感情を抑えることができないのか

785 名前:デフォルトの名無しさん mailto:sage [2020/03/26(木) 19:59:58.20 ID:1Pvv4AyX.net]
>>749
後半の文節に関して、Webサービスの世界における究極のRADである Ruby on Rails の
誕生から現在に至るストーリー展開とのデジャブーを感じる
たとえば Twitter は、Rails でスタートアップして「コアをスケールアップ」していくことで
ビジネス的な成功を収め、同時に「パフォーマンスやメンテがボトルネック」だから
内部のコンポーネントを Scala/Java へ移行している

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

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

同様に、Rust が一定の認知を得て普及する可能性は高いと同時に、
すべての C++/Java/C# プロジェクトが Rust に置き換わるバラ色の未来もまた存在しないだろう

786 名前:デフォルトの名無しさん mailto:sage [2020/03/26(木) 20:18:11.18 ID:BFnt5xGK.net]
誰も言ってないことを長文で批判するのが
あちこちのスレで見るよね

787 名前:デフォルトの名無しさん [2020/03/26(Thu) 21:18:48 ID:5AygTm0o.net]
>>755
まず「文節」を辞書で引こう。
小学校の国語の授業寝てたの?www



788 名前:デフォルトの名無しさん mailto:sage [2020/03/26(Thu) 21:59:58 ID:3AJePqna.net]
PHPが絶対的王者ってマジ?
俺の世界ではRubyが王者でそのあとをGoが追ってて、PHPはゴリ押ししてようやく採用されるかどうかなんだが

789 名前:デフォルトの名無しさん mailto:sage [2020/03/26(Thu) 22:19:20 ID:5np4UAxw.net]
春になるとポエッティーノ男爵ふえるよね

790 名前:デフォルトの名無しさん mailto:sage [2020/03/26(Thu) 22:26:38 ID:Dsy66Brp.net]
PHPなんてもう名前すら聞かなくなった
あんなガイジ言語ありがたがってる程度の底辺とは付き合いがないからかもしれんが

791 名前:デフォルトの名無しさん mailto:sage [2020/03/26(Thu) 22:30:12 ID:z8spWkog.net]
いまどきRubyを好んで使うのは底辺うんこベンチャーくらいだろ

792 名前:デフォルトの名無しさん mailto:sage [2020/03/26(Thu) 22:30:42 ID:MxLRauFN.net]
駄目なのはポエムじゃなくて登場人物を出すやつだ
プログラムは無人で動くべきなんだよ

793 名前:デフォルトの名無しさん mailto:sage [2020/03/26(Thu) 23:20:27 ID:n14BBjo0.net]
>>759
ポエムじゃなくて、「転生したらPHPが絶対王者だった件」というラノベかもよ

794 名前:デフォルトの名無しさん mailto:sage [2020/03/26(Thu) 23:26:23 ID:Dsy66Brp.net]
>>763
転職して型無しゲェジのウンポコペチプー糞まみれになって気が狂って
最後はコロナに罹って電車に飛び込む話か

795 名前:◆QZaw55cn4c mailto:sage [2020/03/26(Thu) 23:37:49 ID:8/yZHzko.net]
>>758
wikipedia も PHP だし…

796 名前:デフォルトの名無しさん [2020/03/27(金) 00:20:14 ID:GUIIkCWN.net]
PHPは言語設計力0のガイジが作って、さらに機能を付け足していって更にガイジ言語になり、IT界でSIerが一番権力を持つガイジ国家日本で文系ガイジが動的なHTMLを書けるというだけで採用し、変えられずに今に至る
証拠にメルカリや最近のWeb系企業はPHPではモダンな言語でWebを作っている

でも俺はGoは好きじゃないけど

797 名前:デフォルトの名無しさん [2020/03/27(金) 00:20:58 ID:GUIIkCWN.net]
タイポ
PHPではなくモダンな言語でWebを作っている



798 名前:◆QZaw55cn4c mailto:sage [2020/03/27(金) 00:35:13 ID:HpnI1SG8.net]
>>766
>PHPではモダンな言語でWebを作っている
言ってることが矛盾していませんか?

799 名前:◆QZaw55cn4c mailto:sage [2020/03/27(金) 00:35:34 ID:HpnI1SG8.net]
>>767
了解しました

800 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 00:43:11 ID:AdoNhS+g.net]
>>769
承知しましただろうが
日本語もまともに使えないガイジ
情けない
世も末だな

801 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 00:44:19 ID:Oj6vZ37J.net]
しかしPHPで金儲けできてるなら文句は言いづらい
金儲けして何が悪いの?っていう魔法の言葉があるから

802 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 00:53:25 ID:AdoNhS+g.net]
PHPに負けてるゴミどもが喚くな

803 名前:デフォルトの名無しさん [2020/03/27(金) 02:22:06 ID:GUIIkCWN.net]
PHPに縛られてるガイジどもが喚くな

804 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 02:25:32 ID:hLiiQ+aA.net]
とりあえずPHPで作ってスタートアップしてからGoに置き換えていくのが流行ってるよな

805 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 03:09:18 ID:u+JL0HJF.net]
うちは権力の強いペチパーがいるから変えたくても変えれん

806 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 03:15:26 ID:hLiiQ+aA.net]
転職するべきでは

807 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 03:48:37.25 ID:E0iV7Jya.net]
>>707
Rustなんだから合ってるだろ;



808 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 03:49:27.86 ID:E0iV7Jya.net]
まつがえた
>>706
Rustなんだから合ってるだろ;;

809 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 05:12:38.14 ID:cwhPeqJj.net]
雑食系エンジニアサロン勝又健太氏を思いっきり論破してみた
https://www.youtube.com/watch?v=td6cX0en4oI

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

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

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

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



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

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

業界調査すると、ブラック過ぎて、他人に勧められない。
一方、5大ITerは、社員の給料を高くしたいから、都合のよい使い捨ての奴隷が欲しい
[]
[ここ壊れてます]

811 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 07:15:34.06 ID:7fKLUCpq.net]
rustな。。本当にバリバリc++書いてきて、
しかも慎重にコーディングする優秀な奴らばっかのチームなら機能するんじゃないかという気はしてきた。
まあそんなチームは日本にはないだろうなという気もする。
てか世界でもほとんどないんじゃないかな。
GAFAでも優秀なごく限られた一部だけだろう。
んでもってそういうところならc++でも十分な品質のものが書けるっていうね。。

812 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 09:06:14 ID:KIy2b3FX.net]
優秀な人材集められそうなところが
Rustに書き換えやってるわけですが

813 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 09:15:18 ID:7fKLUCpq.net]
https://github.com/fnwiya/japanese-rust-companies
この辺とかのこと言ってるなら、俺は勧めないよ。
糞製品作らされるだけなのが目に見えてる。
まあ個人の自由だからやりたいならやればいいと思うが。

814 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 09:23:14 ID:Oj6vZ37J.net]
優秀な上司を探そうという気がそもそもないよね

815 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 11:42:41 ID:cYTeLRjQ.net]
>>780
むしろ逆だわ
Rustが書けない(メモリの所有権、借用、ライフタイムの概念が理解できない)プログラマが
まともなC++のコードを書けるとは思えない
Rustはプログラマが間違えたらコンパイラが誤りを指摘してくれるが
C++はプログラマが間違えても何もしてくれないからほっとくと脆弱性まみれのプログラムになる

816 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 11:46:55 ID:AdoNhS+g.net]
でも動かないじゃん
動くPHPと
動かないRust

ビジネスチャンスを鷲掴むのはどっちだと思う?w

817 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 11:51:36.63 ID:7fKLUCpq.net]
>Rustが書けない(メモリの所有権、借用、ライフタイムの概念が理解できない)プログラマが
>まともなC++のコードを書けるとは思えない
これは正しいと思うけど、そもそもc++をまともに書ける奴は少ないし、
c++をまともに書けるやつがrustのコンパイルチェックで
得られる恩恵ってやつは君が思うほどおおきくないってのが俺個人の意見だわ。
それでもってランタイムの品質、ハードウェアに対する対応なんかを考えた場合、
c++のが上になるっていうことが考慮から外れているように見受けられる。



818 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 12:09:22 ID:KIy2b3FX.net]
>>782
こういう奴は良い会社や良いプロダクトの
例は出せやしない

819 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 12:10:19 ID:VaiYZBCN.net]
>>784
本来、変数とは読んで字のごとく「変化する数」なわけだから
本質的に mutable(変更可能な)なもの。
にも関わらずRustでは、変更可能な変数には mut を指定しなければならないので
確率論的にはソースコードの量が増えてしまうことになる。

820 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 12:14:59 ID:VaiYZBCN.net]
>>788
さらにいえば、Rustでは、型を明示する場合は、
let a:TYPE = xxx; // (1), TYPE は xxx の型
と書くが、:TYPE を省略して、
let a = xxx; // (2)
のようにもaの型を書くと自動推論する機能を持っている。
C++にもあるバージョンから auto などでこれと同様の機能が入って、
一見便利だが、型がわかりにくくて問題にある可能性がある。
逆に、C++ だと型を明示する場合には、
TYPE a = xxx; // (3)
と(1)に比べて短く書けることも重要。
Rustだと:TYPEを書くのが面倒なために、(2)ように省略してしまう
人が続出する可能性がある。


821 名前:これは問題だ。 []
[ここ壊れてます]

822 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 12:15:48 ID:VaiYZBCN.net]
>>789
誤:のようにもaの型を書くと自動推論する機能を持っている。
正:のように型を自動推論する機能を持っている。

823 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 12:21:05.07 ID:aLfv28Wa.net]
>>788
今どきimmutableな変数も受け入れられないとかどんだけ化石なんだよ

824 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 12:21:34.20 ID:aLfv28Wa.net]
あ、確率論的にヤバイやつに触ってしまった
スマヌ

825 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 12:23:58.46 ID:hY05skqC.net]
Rustだと所有権とかでエラーになる部分も警告で留めてくれる+警告潰せばだいたい安全、みたいなのがほすぃ(´・ω・`)

826 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 12:27:10.00 ID:VaiYZBCN.net]
大手が採用したとかで一見目立っているが、Google Trends で見る限り
極度の低空飛行で、人気は横ばいよりも下がり気味だ。

827 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 12:33:25.16 ID:VaiYZBCN.net]
Rustは、去年の7月辺りをピークとして人気が下がってきている。



828 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 12:36:17 ID:VaiYZBCN.net]
>>791
非難する人を「古い人」扱いすれば切り抜けられると思ったら大間違いだ。

829 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 12:39:35 ID:VaiYZBCN.net]
>>784
しかし、C++ の場合、new の働きは明確なのに対し、
Rustは、Box::new のコードを見ても、「box」という組み込みキーワードを
使ってしまっているのでそれ以上追う事は出来ず、曖昧さが残る。
C++の場合は、少なくともC++98までだとかなり原始的なレベルまで
やっていることが明確だった。C++11あたりから異常になったが。

830 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 12:51:59.02 ID:AdoNhS+g.net]
で、Rust使ったらPHPより売れるプログラム書けるの?w

831 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 13:02:00 ID:3tCJhGUU.net]
>>788,789
俺もRustは指示するわけではないが、問題点として挙げるのがほんのわずかなタイプ数だなんて、根拠としては弱いというかどうでも良い話だろ

832 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 13:07:03 ID:VaiYZBCN.net]
>>799
C++が使いこなせる程度の適正があるプログラマにとっては、タイプ量の増加
は苦痛以外の何者でもない。
彼らは特にC++でバグに悩まされたりしてるわけじゃないのだから。

833 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 13:44:45.27 ID:ShoDX97I.net]
タイプ量なんかより大事なことがあるって分かる奴が
Rustをつくりだして、または使ってるんだろうなw

834 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 13:52:21.68 ID:KIy2b3FX.net]
連日あちこちのスレで荒らしてる奴なので
相手するだけ無駄

835 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 14:09:16 ID:VaiYZBCN.net]
タイプ量はとても大事だ。
頭が賢ければ、タイプする体力と時間が不要なのだよ。
頭が悪い人は、体力と時間で勝負するしかないからタイプ量が多い言語を使うしかない。

836 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 14:40:34.92 ID:gM1jKcLP.net]
タイプ量はどうでもいい
読みやすいかどうか

837 名前:デフォルトの名無しさん [2020/03/27(金) 14:42:32.41 ID:VaiYZBCN.net]
let a:i32 = x;

int a = x;
なら、後者は短いのに分かり易い。コンパイラに伝達される情報は同じだし。



838 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 14:54:06 ID:VaiYZBCN.net]
Rustで、
let a = x; //(1)

let a:i32 = x; //(2)
なら、そもそもコンパイラに伝わる情報が違い、後者は記述量が多くてもバグの少ないプログラミングに役立つ。
後から読み直しても a を i32 型にしたいプログラマの意図が分かって分かり易い。
だから、記述量が増えても後者は良い面を持つ。
ところが、Cで
int a = x; //(3)
と書けば、Rustの(2)と全く同じ情報がコンパイラに伝わり、エラーチェックのレベルも同程度だから、
Cは、少ない記述量で同じ事ができると言える。

(1)と(2)の違いと、(2)と(3)の違いを混同してはならない。
前者は記述量が多くなっても安全性向上という意味で意味が有るのに対し、後者は、書くのが長くなるだけで全く意味が無いのだから。

839 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 15:00:14.28 ID:ShoDX97I.net]
ガイジかこいつ

840 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 15:01:10.96 ID:I9gCjo9A.net]
型推論て今時どの言語にもあるんじゃね
GoやJavaにさえある
つまり問題視する方がお

841 名前:ル子い []
[ここ壊れてます]

842 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 15:11:19.11 ID:VaiYZBCN.net]
型推論することで安全性が駄目になるから、Cでは型を明示して宣言するようになったんだ。
その哲学を壊す言語が増えてきているだけ。

843 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 15:13:12.70 ID:u+JL0HJF.net]
タイプ量タイプ量ってさぁ
型無し言語かhaskellでもやってろ

844 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 15:17:28.55 ID:E0iV7Jya.net]
型の選択みたいな重要なことをコンピューター任せにしてしまって良いのでしょうか?!

845 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 15:17:37.12 ID:M0gPeD08.net]
null安全を考慮した言語よりnullの方が良いと
主張していたアホだから

846 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 15:19:37.09 ID:E0iV7Jya.net]
Cも暗黙の型変換があるからイクナイ
高度な型推論はいずれチューリング完全性を有して機械的手続きでは御しきれなくなる
そして人類が機械でないという証拠は今のところ無い

847 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 15:42:26 ID:VaiYZBCN.net]
>>808
型推論は、C++は template が深くて複雑すぎて、templateを使っているときに、
人間側が結果や変数の本当の型が分からなくなってきたので、しょうがなく
最近になって導入された。
もしこれをちゃんと手で書くと複雑で長い型になり過ぎる。
templateはソースがあるが読んでも複雑すぎて多くのC++プログラマには型が分からない。
また、templateはRADのような簡単に機能を使いたいときに使えるように設計された
ものなのに、型が難しすぎてわからないということは本末転倒であった。
そのためにしょうがなく型推論できる機能がC++に導入された。



848 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 15:44:18.61 ID:VaiYZBCN.net]
>>810
型を打つこと自体は良いんだ。
>>806 を読むべし。

849 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 15:46:21 ID:VaiYZBCN.net]
>>812
そうじゃない。
nullable指定を明示的に行うことは良いと思うが、
nullを絶対悪として、NullObjectとPolymorphismで対応することで
nullを完全排除しようとしている一部の人に対して反論していただけだ。

850 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 15:53:09.55 ID:Oj6vZ37J.net]
結局これ「型」の宣伝だからね
この謎のゴリ押しにタダ乗りして得をしてるのはRustも同じ

851 名前:デフォルトの名無しさん [2020/03/27(金) 15:58:44.21 ID:6mKroLAz.net]
let a = 1;
型無し数値リテラルはデフォルトでi32でintと変わらないし数値リテラルで変えたい時は明示的にする
だから
long int a = 1;
より
let a = 1i64;
または
let a: i64 = 1;
の方がデフォルト以外の型が現れるかつタイプ数も少ない

こういうやつらはなんで後置型指定でletで変数宣言するか意図を理解してない
そもそもNull最高とか言ってるやつらに構っても意味ないな
一生C/C++とかJava、PHP、VB触ってろよ無能

852 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 16:00:21.15 ID:VaiYZBCN.net]
>>818
違う。C/C++では、
long int a = 1;
とも書けるが、typedefやusingなどを使えば、
i64 a = 1;
と非常に古くから書ける。

853 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 16:02:26.87 ID:zbLM5N3A.net]
そもそもCの理解も怪しいよな

854 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 16:06:14.83 ID:gM1jKcLP.net]
>>806
型推論できるのは冗長性があるからで
冗長性にもいい面悪い面がある
悪い面は変更に弱くなる
あっちかえたらこっちもってね
rustはそのへんバランスとろうとしている
効果はさておき
そのへんまで考察しないと浅いよ

855 名前:デフォルトの名無しさん [2020/03/27(金) 16:10:41 ID:sMse3dA+.net]
>>819
普段C++触るけど同じ型指定なのに二通りの書き方あるのはC++の悪いところだと思う
Cの資産引き継ごうとしててC++特有のカオスによりしてる

856 名前:デフォルトの名無しさん [2020/03/27(金) 16:15:28 ID:9RtDMjhb.net]
C/C++ は typedef した型を区別出来れば良かったのにな

857 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 18:30:43 ID:E0iV7Jya.net]
別のclasssにすれば区別できるお、
intと同じ振る舞いをするがintと区別されるclass、みたいな



858 名前:竄ツは必要に駆られてたまに作る []
[ここ壊れてます]

859 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 19:41:47.93 ID:1SbgdhCL.net]
C++は最悪templateで筋肉解決できるけどCでtypedefを別の型にしちゃうとインターフェイス相応のものもderiveマクロ相応のものもそもそもないし、組み込み型のオペレーター群を指定する方法もないから記述がべろべろになってしまうんだよな
C++はそれと統一性をもたせざるを得なかったから現状がある
良しか悪しきかは知らん

860 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 20:40:39 ID:t91Qh+gU.net]
型なんて屁みたいなもんでガチャガチャ言ってる入口さん
どんだけ効率的に書けて実行出来るか焦点はforeach と食わすリストよ
動的なリストでも分岐無くすとかキャッシュ乗り鬼効率な凄いのをくれ

861 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 21:51:32 ID:vVxM6cgA.net]
その屁みたいなもんが無くなったらNumPyやCythonの無いPythonのようなもので
それはもうウンコやん

862 名前:デフォルトの名無しさん [2020/03/27(金) 22:51:32 ID:YevT+Fte.net]
phpはシンタックスがゴミ
(そもそもなんだよ $ -> => って...)
パッケージ管理もゴミ
ログ出力の見やすさもデバッグのしやすさもゴミ
バージョン乱立
フレームワーク乱立
土台の言語仕様自体がゴミなの棚に上げて
コーディング規約の強要
やることなすこと全部他言語の猿真似
動的片付けの癖にプリミティブ型がメソッドや属性すら
持ってない
JavaやRailsやJavaScriptはいい加減糞PHPを
著作権侵害で訴えろや
消えうせろ、潰れちまえパクリウンコゴミ溜め言語が

863 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 23:03:13.17 ID:AdoNhS+g.net]
>>828
で?君はPHPで書かれたプロダクトより良いプロダクトを持っておりゅかね??

864 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 23:19:21 ID:h10m8k5F.net]
Rubyは

次世代の日本を担う素晴らしい言語


Railsは、流行りのWebサイトでほとんど使われてる。

Qiitaも、Rails
最近流行ってた、質問箱も、Rails


雇われから脱出し、マックザッカバーグを目指すならRails一択!!!!!!!

865 名前:デフォルトの名無しさん mailto:sage [2020/03/27(金) 23:52:10 ID:oRj/lH5B.net]
phpもそうだしエクセルもそうなんだけど、濫用するヤツが増えると悪評が一気に増える
もしかしたらm4がphp並みに嫌われる世界もあったかもしれないと思う
言語の適用範囲を高めるためには、抽象度の高い概念を基本とした方が良い。できるなら数学的に議論可能なレベルで

866 名前:デフォルトの名無しさん [2020/03/28(土) 00:26:31 ID:UNB7xn0N.net]
マックザッカーバーグを目指すから、
Facebookに倣ってPHPにするは!

867 名前:デフォルトの名無しさん mailto:sage [2020/03/28(土) 00:51:24.52 ID:ZE1QO4UJ.net]
FacebookほどPHP憎んでそうな企業もないと思うが
HackやらReactやら



868 名前:デフォルトの名無しさん [2020/03/28(土) 02:26:30.25 ID:7+pamnWR.net]
なんでReact??
そもそもフロント技術だし、しかもフレームワークだし、ベースがJSだからPHPと全然違う
PHPは糞言語なのは間違いないけど論点違うだろ

869 名前:デフォルトの名無しさん mailto:sage [2020/03/28(土) 02:37:43.77 ID:ZE1QO4UJ.net]
関数型、immutable、思想の話

870 名前:デフォルトの名無しさん [2020/03/28(土) 03:00:20 ID:7+pamnWR.net]
じゃあ尚更PHPとの比較は外した方がいいな
関数型、immutableってJSがESで取り込んでいった方針だから

871 名前:デフォルトの名無しさん mailto:sage [2020/03/28(土) 03:06:32 ID:5hSs4v6h.net]
Facebookつながりで書いてるだけやろ

872 名前:デフォルトの名無しさん [2020/03/28(土) 03:39:20.77 ID:UNB7xn0N.net]
ちなみにザッカーバーグのfacebookはrubyもrailsも全く関係ない。
安定のrubyガイジ妄想クオリティ。

873 名前:デフォルトの名無しさん mailto:sage [2020/03/28(土) 04:46:49.21 ID:N90Naszz.net]
Railsで作られたサイトは、山ほどあるけど、Laravelで作られた有名なサイトは、少ない。

というか、見たことない。

Laravel使いは、誰も使わないサービスを量産してお金を稼ぐ負の存在。。。!?


技術だけじゃなく、ビジネスで勝負したいならRails一択!!!!!

874 名前:デフォルトの名無しさん mailto:sage [2020/03/28(土) 07:02:49.77 ID:jVMyeik2.net]
人はパンのみにて生くるにあらずという名セリフを知らないのかよ

875 名前:デフォルトの名無しさん mailto:sage [2020/03/28(土) 13:06:34 ID:zHaA6Kc0.net]
本屋のrubyの本消滅していてワロタ

876 名前:デフォルトの名無しさん mailto:sage [2020/03/28(土) 14:11:57.48 ID:lvHGCPQW.net]
ZOZO は、Laravel

レールは続く】 Ruby on Rails Part21 【これからも
https://medaka.5ch.net/test/read.cgi/php/1545146635/103

世界を驚かせた、表示速度が異常なサイトも、Rails 製だった!
https://dev.to/

877 名前:デフォルトの名無しさん mailto:sage [2020/03/29(日) 11:04:58.76 ID:IJ+/NVut.net]
Goだとクリティカルになる場合だけRustを使う、あとは面倒なだけだから(マークアップ以外は)絶滅して無問題、わりとマジで



878 名前:デフォルトの名無しさん mailto:sage [2020/03/29(日) 14:53:46.23 ID:mFLaDIgK.net]
wasmて使用言語混ぜて分割コンパイルとか出来るん?

879 名前:デフォルトの名無しさん mailto:sage [2020/03/29(日) 15:19:30.65 ID:Kzf4aDfw.net]
>>844
Wasmはマシン語に相当するものなので、Wasm自体には使用言語に関する混合に関して何の制限も無い。
ただし、nativeアプリの場合と同じで、C言語の関数を通じてお互いに呼び出しあうなどは必要。
なお、今のところ、最低限マシン語とC言語の仕組みに関して知識がないと難しい。
(最低、アドレスやポインタについての理解がいる。)

880 名前:デフォルトの名無しさん mailto:sage [2020/03/29(日) 15:27:11 ID:Kzf4aDfw.net]
>>845
例えば、LLVMをバックエンドに持つコンパイラであって、LLVMの中の
%struct.XXXX のアラインメントのとり方が同じであって、かつ、
export、importする関数がC言語のインターフェースを持っているならば、
Wasm用のリンカでリンクが可能。

この条件を満たさない場合、リンクするのは難しいが、以下のようにすれば、
実行段階でお互いに関数を呼び出しあうことが出来る。
・それぞれの言語処理系でリンクを行って、*.wasm ファイルを作る。
 これらは、「Module」と呼ばれる。
・ModuleをWasmとして機能させるには、JSでInstace化を行う。
・この際に、それぞれの関数名を import すれば、お互いに関数を呼び出しあうことが可能。
・この場合、文字列や配列の様なものにアクセスし合いたい場合、ポインタ値がJSレベルでは
 単なる整数値になるので、それを、Memory と呼ばれる線形メモリーの ArrayBufferの
 アドレス値とすることで、可能。

881 名前:デフォルトの名無しさん mailto:sage [2020/03/29(日) 21:23:25 ID:s3Co173K.net]
並列処理一番簡単に書けるスクリプト言語なに?

882 名前:デフォルトの名無しさん [2020/03/29(日) 21:30:38.73 ID:aoCWY+mA.net]
go

883 名前:デフォルトの名無しさん mailto:sage [2020/03/29(日) 21:33:30.37 ID:Erzf/uFl.net]
php

884 名前:デフォルトの名無しさん [2020/03/29(日) 21:33:38.94 ID:AoSt3bhf.net]
>>847
PureScript

885 名前:デフォルトの名無しさん mailto:sage [2020/03/29(日) 21:44:17 ID:MKM75DKF.net]
bash

886 名前:デフォルトの名無しさん mailto:sage [2020/03/29(日) 21:47:11 ID:s3Co173K.net]
バラバラじゃん
人によって違うのか

887 名前:デフォルトの名無しさん [2020/03/29(日) 21:51:55 ID:AoSt3bhf.net]
そらそうやろ
何個言語あってプログラマ何人おると思ってるねん



888 名前:デフォルトの名無しさん mailto:sage [2020/03/29(日) 22:23:37 ID:GFdzppn9.net]
コロナ菌に強い言語は?

889 名前:デフォルトの名無しさん mailto:sage [2020/03/29(日) 22:55:19 ID:Erzf/uFl.net]
php

890 名前:デフォルトの名無しさん mailto:sage [2020/03/29(日) 23:14:39 ID:Sg0tN/NI.net]
>>847
Make

891 名前:デフォルトの名無しさん mailto:sage [2020/03/29(日) 23:23:25 ID:AoSt3bhf.net]
TypeScriptで質問なんだけど、全く新しい型を導入する方法ってあるのかな?
構文がわからないから疑似コードで書くけど、

t

892 名前:ypedef X; // Xという新しい型を定義

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

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

こういうことがしたいんだけど…
[]
[ここ壊れてます]

893 名前:デフォルトの名無しさん mailto:sage [2020/03/29(日) 23:53:44 ID:Erzf/uFl.net]
TypeScript は構造的部分型だから無理

type Nekko = {
name: string
age: number
}

type Inu = {
name: string
age: number
}

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

それとも makeX 以外で X を作れなくしたいという話?
別に X を満たせば、 makeX 以外が X 作ってもよくない?
makeX が作った X と、makeX 以外が作った X が別物なのであれば、
それらは別の型だろう

894 名前:デフォルトの名無しさん mailto:sage [2020/03/29(日) 23:54:30 ID:Erzf/uFl.net]
なんか頭おかしそうな奴とID被ってて最悪・・・

895 名前:デフォルトの名無しさん mailto:sage [2020/03/30(月) 00:09:09 ID:2aeq6Dek.net]
型の表現力が低くて嫌だねそれ。0以上の数を表す型とか作れないじゃん

896 名前:デフォルトの名無しさん [2020/03/30(月) 00:15:47 ID:byCSvntg.net]
>>847
erlang かな
むしろ全て機能を並列処理で書くしか無い割り切りというか

897 名前:デフォルトの名無しさん mailto:sage [2020/03/30(月) 00:42:47 ID:Oymj8mf6.net]
>>847
スクリプト言語ではないが、GPGPU 用のC言語に似た言語は、そもそも
最初から並列処理を前提にしている。



898 名前:デフォルトの名無しさん mailto:sage [2020/03/30(月) 01:02:40 ID:DOS6yDxg.net]
>>860
プロパティが一致しなければ別の型になるので、
piotrwitek/utility-types の nominal type 使うなどして、自分で識別子を与えればできる
JavaScriptというカオスな言語・膨大な資産を利用するには、仕方ない面もある

899 名前:デフォルトの名無しさん mailto:sage [2020/03/30(月) 19:47:31.17 ID:UMPMfaDu.net]
並列処理などお前らが書く必要はない。
ライブラリを使え。

900 名前:デフォルトの名無しさん mailto:sage [2020/03/30(月) 20:46:42 ID:kgJURof2.net]
erlangtって、堅牢かもしれんが縛りがきつくて決して簡単だとは思えないが。

901 名前:デフォルトの名無しさん mailto:sage [2020/03/30(月) 21:04:07.42 ID:bUcOwvrU.net]
Objective-C → Swift や Java → Kotlin
と同じ感じで Erlang → Elixir がある

902 名前:デフォルトの名無しさん [2020/03/30(月) 21:09:02.33 ID:08TDMd3Q.net]
>>864
やっぱりPureScriptでAffがナンバーワン!

903 名前:デフォルトの名無しさん mailto:sage [2020/03/30(月) 21:15:44.17 ID:kgJURof2.net]
いや文法がどうとかじゃなくて、データを一切共有しないアクターモデル自体がね。

904 名前:デフォルトの名無しさん mailto:sage [2020/03/30(月) 23:04:26.22 ID:N7kDQWeU.net]
Erlang、

905 名前:デフォルトの名無しさん [2020/03/30(月) 23:41:35.89 ID:mSBWf3OZ.net]
並列処理は、データベース管理システムで結合したマルチプロセスでほとんどの場合十分だろ、って思ってしまう
局所的な高速化だったらライブラリ使えになっちゃうし

906 名前:デフォルトの名無しさん mailto:sage [2020/03/31(火) 01:01:31.54 ID:G9etW8qy.net]
>>867
JSは自前でWorker使った並列処理書かないと
並列化はされてないんじゃないの?

907 名前:デフォルトの名無しさん mailto:sage [2020/03/31(火) 09:07:30 ID:tO4cMY6a.net]
どこもzenの話題がないな。



908 名前:デフォルトの名無しさん mailto:sage [2020/03/31(火) 09:22:07.43 ID:c3F4yVlK.net]
zenzen話題にならないね、全然

909 名前:デフォルトの名無しさん mailto:sage [2020/03/31(火) 09:49:27 ID:PWbizjT8.net]
当然だろ

910 名前:デフォルトの名無しさん mailto:sage [2020/03/31(火) 11:26:57.93 ID:S3VhPMDw.net]
zig/zen/c2にはCの壁は崩せんかなぁ
いい感じではあるけどいい感じから更に上回って採用するほどではないという

911 名前:デフォルトの名無しさん mailto:sage [2020/03/31(火) 13:17:16.39 ID:OTxurRkT.net]
cの壁崩す前にcの前に散っていった言語の特徴でもまとめておいた方がよっぽど前向きだよ。

912 名前:デフォルトの名無しさん mailto:sage [2020/03/31(火) 13:25:17.44 ID:c3F4yVlK.net]
僕たちはCの世界で契約したんだ

913 名前:デフォルトの名無しさん mailto:sage [2020/03/31(火) 1 ]
[ここ壊れてます]

914 名前:4:38:03.91 ID:EXHwmcq2.net mailto: UNIXにしろWindowsにしろOSのAPIがCの関数だから
アプリもCで書くのが一番自然になる
[]
[ここ壊れてます]

915 名前:デフォルトの名無しさん mailto:sage [2020/03/31(火) 15:39:54.43 ID:chhHfIYK.net]
cしか書けない人はこういう極論を言う

916 名前:デフォルトの名無しさん [2020/03/31(火) 15:45:01.73 ID:54ZUq6ql.net]
極論であると同時に正論でもある稀有な例。

917 名前:デフォルトの名無しさん mailto:sage [2020/03/31(火) 16:43:37 ID:chhHfIYK.net]
正論も何もnativeでABI準拠できればいいのであって
cである必然性はない



918 名前:デフォルトの名無しさん [2020/03/31(火) 16:47:11.45 ID:54ZUq6ql.net]
つまりわざわざC以外にする必要性もないわけだね

919 名前:デフォルトの名無しさん mailto:sage [2020/03/31(火) 17:06:20.65 ID:chhHfIYK.net]
システムコールだけが言語選択の基準
って思考から脱却しろ
あほらし

920 名前:デフォルトの名無しさん mailto:sage [2020/03/31(火) 17:34:36.26 ID:WCUraC1a.net]
Cおじいちゃんって職場で若者にマウント取ってそう

921 名前:デフォルトの名無しさん mailto:sage [2020/03/31(火) 17:37:12.28 ID:mFEQEhdF.net]
C調言葉にご用心〜♪

922 名前:デフォルトの名無しさん mailto:sage [2020/03/31(火) 17:38:37.75 ID:c3F4yVlK.net]
でもPHPの方が生産性高いよね

923 名前:デフォルトの名無しさん mailto:sage [2020/03/31(火) 17:40:28 ID:qnv4SZcB.net]
アセンブリでマウント取る爺様方がだいたい鬼籍に入って次はCでマウント取る爺様方の時代になった感じやね

924 名前:デフォルトの名無しさん [2020/03/31(火) 18:01:22.91 ID:uDSFrRRV.net]
C#からCのAPI呼ぶとき
構造体とか配列のポインタとか面倒だな・・・

925 名前:デフォルトの名無しさん mailto:sage [2020/03/31(火) 18:27:57.93 ID:S3VhPMDw.net]
Cベースはむしろマシなんだよほとんどの言語でFFIあるし
問題は処理系依存マシマシのC++ベースAPI/ABI

926 名前:デフォルトの名無しさん mailto:sage [2020/03/31(火) 18:58:18.61 ID:DEnjdkJH.net]
>>888
C#のFFIはかなり良い方だろ
C側でラッパーを一切書くことなくC#から呼び出せる
何より、トラブルの元になりがちな変なコードジェネレータの類がなくて、宣言した通りに正しく素直に動くってのが素晴らしい
そのストレスフリーさに比べたら、C#側で関数や構造体の宣言を書き直さなきゃいけないのは余裕で受け入れられる冗長性だと思う

927 名前:デフォルトの名無しさん mailto:sage [2020/03/31(火) 21:40:41 ID:OTxurRkT.net]
別にcで書けって話でなくて、cのそういう側面くらい常識として知っとけって
だけなのに、なんかコンプレックス刺激されちゃう奴がいるのな。



928 名前:デフォルトの名無しさん mailto:sage [2020/03/31(火) 22:05:04.60 ID:HDRrREDo.net]
>>891
C がわかる、てだけでドヤるのも大概だけれども
それよりももっと性質が悪いのは C がわからないコンプをこじらせているやつ

929 名前:デフォルトの名無しさん mailto:sage [2020/03/31(火) 22:28:42 ID:G9etW8qy.net]
次スレは「次世代言語を夢見るレガシー言語労働者達のマウンティング合戦スレ」に改題で

930 名前:デフォルトの名無しさん [2020/04/01(水) 10:12:43 ID:5VJq6KKK.net]
解決しそうだけど
何このモヤモヤ感
https://qiita.com/hmuronaka/items/619f8889e36c7b5db92d

931 名前:デフォルトの名無しさん [2020/04/01(水) 17:19:13.73 ID:XWi3lCYB.net]
C#はわからん

932 名前:デフォルトの名無しさん [2020/04/01(水) 18:46:22 ID:60SS71wY.net]
ヒカルと店長からこれまで話してこなかった真面目な話があります
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

933 名前:デフォルトの名無しさん mailto:sage [2020/04/01(水) 20:24:09.70 ID:GB ]
[ここ壊れてます]

934 名前:jVGlaM.net mailto: >>896
グロ
[]
[ここ壊れてます]

935 名前:デフォルトの名無しさん [2020/04/02(木) 20:08:57.64 ID:SaXsz2/b.net]
標準ライブラリが豊富な言語ってC++, Javaとかになるの?

936 名前:デフォルトの名無しさん [2020/04/02(Thu) 22:35:51 ID:0tSRYO67.net]
C++は豊富とは言えない。

937 名前:デフォルトの名無しさん mailto:sage [2020/04/02(Thu) 22:39:04 ID:D0Dsg/MO.net]
Cの非標準ライブラリまとめ言語
と言われたくない人達



938 名前:デフォルトの名無しさん [2020/04/02(木) 23:17:47.62 ID:iuGcEdKM.net]
プログラム板でこのスレしか人いないのほんと草

939 名前:デフォルトの名無しさん mailto:sage [2020/04/02(木) 23:53:07.21 ID:tEUzHDBS.net]
Javaと並ぶのはないんじゃないの?

940 名前:デフォルトの名無しさん mailto:sage [2020/04/03(金) 00:01:45.98 ID:0E621fjE.net]
.NETも標準ライブラリ豊富だろ
つか、今時スレが言語スレだが言語だけで語る滑稽さ
次世代言語というより、標準ライブラリも含めた次世代環境がほしい

941 名前:デフォルトの名無しさん mailto:sage [2020/04/03(金) 00:21:31.40 ID:v6FKoEXq.net]
最近の言語はどれも環境そろってるだろ。
適当なインストーラーとライブラリ管理はあるし。
ビルド通らねー糞が!とかもだいぶ減った。

942 名前:デフォルトの名無しさん [2020/04/03(金) 00:44:59.65 ID:WSo5wZTZ.net]
rustはpythonがらみでエラー出てビルド通らなかった。
本気だして調べる気力もなく、関連ファイル削除して男友達と焼肉食いに行った。
わざわざ男友達と書いたのは、女友達なんかいないからだ。

943 名前:デフォルトの名無しさん mailto:sage [2020/04/03(金) 01:46:29 ID:y4LIlYUL.net]
>>905
わざわざどうでもいいつまらないことを書き込むところが女友達のいない原因だろう

944 名前:デフォルトの名無しさん mailto:sage [2020/04/03(金) 01:54:07 ID:b0rZIsH6.net]
>>905
1行目からイミフ

945 名前:デフォルトの名無しさん mailto:sage [2020/04/03(金) 07:20:23.73 ID:x2AIwLRG.net]
>>907
rust自身のビルドが、Pythonに依存しているって話じゃない?

946 名前:デフォルトの名無しさん mailto:sage [2020/04/03(金) 10:41:31.87 ID:TFqtSApO.net]
Pythonはいいぞ
Makefileより読みやすく
Python自身のビルドはLLVMのビルドより10倍か100倍速い

947 名前:デフォルトの名無しさん mailto:sage [2020/04/03(金) 10:53:44.07 ID:b0rZIsH6.net]
型無しの時点でゴミという現実



948 名前:デフォルトの名無しさん mailto:sage [2020/04/03(金) 14:42:39 ID:Tc814Ws0.net]
型が無いんじゃなくて型を差別してないのさ
どんな型が来ても受け入れるおおらかさがある

949 名前:デフォルトの名無しさん mailto:sage [2020/04/03(金) 15:11:10.65 ID:v6FKoEXq.net]
動的な型なだけだな。
ネストした構造をループ処理するときなんかは確かに楽なことも多い。

950 名前:デフォルトの名無しさん mailto:sage [2020/04/03(金) 15:32:53.86 ID:b0rZIsH6.net]
それを世間一般では型無し糞言語と言うんだよ

951 名前:デフォルトの名無しさん mailto:sage [2020/04/03(金) 15:51:03.27 ID:MTkh8ajj.net]
強い動的型付けだし型アノテーションだいぶ充実してきたしでだいぶマシだと思うけどなぁ

弱い動的型付けと同一視するのは誤りの元だし、漸進的型付けの存在を無視するのもまた評価を誤りかねないですよ

952 名前:デフォルトの名無しさん mailto:sage [2020/04/03(金) 16:37:43.22 ID:UYNPUerC.net]
Pythonの型アノテーションは実際には全くと言っても差し支えないほど使われていないから無視して問題ない
そろそろ後付け静的型の代表的成功例であるTypeScriptと何が違ったのかを真剣に議論すべき時期にきてる

953 名前:デフォルトの名無しさん mailto:sage [2020/04/03(金) 16:50:18.12 ID:v6FKoEXq.net]
したけりゃすりゃいいじゃん。

954 名前:デフォルトの名無しさん mailto:sage [2020/04/03(金) 17:36:01 ID:qlrRurvi.net]
TypeScriptの方が使いやすい型システムしてるのわかる

955 名前:デフォルトの名無しさん mailto:sage [2020/04/03(金) 17:42:02 ID:HJoja6bN.net]
型無しは苦手だけどbashは認める

956 名前:デフォルトの名無しさん [2020/04/03(金) 18:10:28.37 ID:VVxcL9Mv.net]
>>902
C#は多いけど標準かって言われるとな・・・
C/C++も「標準」に拘ると何もできないω

957 名前:デフォルトの名無しさん mailto:sage [2020/04/03(金) 22:01:00.40 ID:9+J0Mjhv.net]
型なし言語でも宣言時に初期化と代入を済ませれば問題がない



958 名前:デフォルトの名無しさん mailto:sage [2020/04/03(金) 22:20:48.78 ID:bCeKFD21.net]
動的だと、神関数が、作れるからオススメ。

func add_god(a,b){


959 名前:return a + b
}

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


神関数、があれば、コードの削減が可能!!!!!!!!!
ノーコード時代には動的型付け言語一択!!!!!!!!
[]
[ここ壊れてます]

960 名前:デフォルトの名無しさん mailto:sage [2020/04/03(金) 23:12:24 ID:IuiLyZOy.net]
型無しのデバッグ作業に駆り出された事有るけど、マジで地獄やぞ。絶滅はよ

961 名前:デフォルトの名無しさん mailto:sage [2020/04/03(金) 23:39:58.52 ID:b0rZIsH6.net]
ガチのマジで型無し糞言語の良さがわからん
死ねとまでは言わないが生まれてこなければよかったのに

962 名前:デフォルトの名無しさん mailto:sage [2020/04/03(金) 23:46:38.92 ID:y4LIlYUL.net]
型無し言語より>>921に絶滅してほしい

963 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 01:01:37.87 ID:ImIgGAA9.net]
何回言われても直す気がないからもう悪意だと認識してるけど、動的型付けと型なしは全く別のものとしてそもそも存在してるので、動的型付けを型なしと呼びまた強い型付けと弱い型付けの区別を無視する限りこの議論が有意義に進むことはないよ

964 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 01:03:28.27 ID:9qrNMGHe.net]
このへんでも読めば?
https://myuon.github.io/posts/type-system-poem/

965 名前:デフォルトの名無しさん [2020/04/04(土) 01:04:40.59 ID:PddOPzm8.net]
型があれば静的解析に有効というのは間違い無いのだが
静的解析すれば全てのバグを取り除けるというのは間違い

966 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 01:34:09 ID:ezNPGdHf.net]
> 静的解析すれば全てのバグを取り除けるというのは間違い

そもそもそんな主張誰もしていない

967 名前:デフォルトの名無しさん [2020/04/04(土) 02:58:03 ID:bmDmb45p.net]
スクリプト界隈もlintから始まってflowだTypeScriptだ型定義は素晴らしい!静的型付けバンザイ!
とかあれだけ動的型付け素晴らしいからの静的型付け面倒臭いとかディスッといてこの状況は大草原ですわ
まぁ何事もトレードオフだからケースバイケースで使い分ければいいんだが
今頃ブレイクスルーだなんだと大騒ぎなのは滑稽ですな
js界隈も結局サーバサイドレンダリングに回帰してるしファッションや音楽と同じで10〜20年スパンでサイクルすんのかね



968 名前:デフォルトの名無しさん [2020/04/04(土) 04:34:22.45 ID:aJleCvsu.net]
JSを本業にしてる層って最近の若者で学生時代にちょっと触り始めた生意気なガキが多いから気にしない方が健全

969 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 07:59:21.83 ID:ImIgGAA9.net]
CのunionとかC++のオブジェクトスライシングの話を見てたら型が無いからクソみたいな言説は発生しないはずなんだがな……

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

デジタルな分野扱ってるからって判断までI/Oにするもんじゃない

970 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 08:04:15.02 ID:7gXG4pCc.net]
静的解析マンセーな輩はただテストコード書く技量がないだけ。

971 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 09:42:25 ID:BgK/PXFy.net]
>>932
君は >>921 の関数に、整数、小数、文字列、オブジェクト、真偽値、日付型・・・
たくさんの引数を与えて
一生懸命テストを書くのだろうな

それは素晴らしいことだと思うよ
感動で涙がで、でますよ

972 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 09:47:00 ID:7gXG4pCc.net]
またそう言う極論をほざくところが静的解析マンセー厨らしいよ。

973 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 09:48:28 ID:BgK/PXFy.net]
>>934
おやおや・・・君もテストコード書く技量がないだけ??

974 名前:デフォルトの名無しさん mailto:sage [2020/0 ]
[ここ壊れてます]

975 名前:4/04(土) 09:50:52 ID:BgK/PXFy.net mailto: それともコメントに、
この引数は整数でございます。小数、文字列、オブジェクト、真偽値、日付型・・・は教育によろしくないので与えないでいただけますと幸い至極でございます。
とでも一生懸命書くのかな??

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

あれっw
[]
[ここ壊れてます]

976 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 10:24:55 ID:4+4qlucB.net]
Pythonは現実的
言語名が不明な「静的型」は現実みが浅い

977 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 10:34:48.74 ID:LqQwLSmR.net]
Pythonは有名ライブラリにことごとく型がついてないので
やっぱりクソ



978 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 10:48:28.81 ID:g5yerRCZ.net]
>>937
現実みが浅い、って日本語として気持ち悪い

979 名前:デフォルトの名無しさん [2020/04/04(土) 11:05:52.17 ID:L/BdUORC.net]
逆に静的型付けの何がいいのか知りたい
JavaScriptやpyなんか連想配列や辞書
定義するのもコンソール出力もめっちゃ便利やぞ
コンパイルエラーの手間もないしめっちゃデバッグが楽

980 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 11:12:33.09 ID:oHbtMe0Y.net]
>>932
それな
全員がそうだとは言わないけどテスト設計できないやつが大半

981 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 11:46:08.97 ID:nZpdiFMX.net]
// この関数を使えばなんでもできます
func god(args...){}

これだけで基幹システム作ったわ
1年掛かる工数を3日に短縮できる動的言語ってやっぱ神だわ

982 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 11:54:03.53 ID:BgK/PXFy.net]
>>942
うーんこの神
みずほ案件も型無し糞言語を使っていれば3人日で完成していた

983 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 12:50:45.86 ID:7gXG4pCc.net]
>>940
メソッドの実装探すのに苦労する。

984 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 13:09:18.66 ID:XKUUvXNa.net]
public class HelloWorld {
public static void main(String[] args) {
System.out.println("hello, world");
}
}


やっぱJavaだわ
記述量が多いから努力した気になれるし成長した気にもなれる
静的型付けだから動的野郎にもマウント取れるし
昔ながらの大企業でよく使われてるから日本の伝統も感じられるし
今後50年は食いっぱぐれないし
Oracleに転職できるかもしれない

985 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 13:11:54.28 ID:ebeS0Dvl.net]
またそう言う極論をほざくところが型無し糞言語マンセー厨らしいよ。

986 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 13:15:24.41 ID:c4e/DrqX.net]
30年後50年後にコードを書く文化って残ってるのかな

987 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 14:40:47.29 ID:4+4qlucB.net]
英語圏の文化で面白いのがプログラムしかない
これが無くなったら英語自体がオワコン



988 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 17:38:57 ID:VsggCgGE.net]
>>941
動的派の書くテストは正常系を一発通すだけのものが多くて、あれでテストちゃんと書いてますと言われても首を傾げてしまう
動的型のコードがデグレで動かなくなるのは日常茶飯事であるし、そもそも最初から全く動かないウンコであることも珍しくない
だから最低でも変更の度に自動テストで一度動しておけば品質は大幅に上がるのだが、とはいえ血便が下痢便になる程度
一方、静的型はプログラマの品質に対する意識の高さや静的型検査の恩恵のため、動かすだけのテストにはあまり意味がない
起こりうる様々なケースを試したり挙動の変更を厳密に監視したりと、静的型においては自動テストに求められる基準は遥かに高くなる

989 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 17:54:20 ID:f2T6dYaQ.net]
>>933のいうとおりだな。人間どうミスするかわからんから、
整数、少数..本来は全部やるべきだな

エラーの原因の大半

990 名前:は人間のちょっとしたミスだからな

>>934は勝手に都合のいい解釈でそういうテスト省こうとしてるだけやんw
[]
[ここ壊れてます]

991 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 17:57:18 ID:j3yAmUj/.net]
過激派静的言語マンってミスが一切許されない職場で働いてそう

動的だと一週間で終わるものを三ヶ月ぐらい掛けて実装してそう

992 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 17:59:36 ID:f2T6dYaQ.net]
>>949
なるほど、まさしく>>934は「異常系」のテストは、極論と自己都合解釈して省こうとしてるのですね

993 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 18:06:51 ID:ebeS0Dvl.net]
>>951
型無し糞言語脳って、型チェックがあればそもそも発生しないバグのチェックに何日費やしてるんだろうな

静的型だと0秒で終わるバグを三ヶ月ぐらい掛けて修正してそう

994 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 19:42:07.40 ID:ebMvcEKD.net]
ワイ「この作業、手動でやるとめんどいしpythonで自動化するかぁ」

型おじさん「……型は?」

ワイ「え?」

型おじさん「簡単なスクリプトだからって舐めてない?引数とかに色んな型が入ること想定してる?」

ワイ「いや……」

型おじさん「あのさぁ!!!!!型が無いと万が一のこともあるよねぇ!?!?!?エラーが起きてサーバぶっ壊れるかもしれないだろ!?!?」

ワイ「サーバが壊れる!?どうしたんですか」

型おじさん「ああああああああ!!!!!!!!」

次の日にそのおじさん退職したわ
前の職場でも型型騒いで辞めたらしい
お前らも気をつけろよ

995 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 19:46:39.69 ID:C11LX2Y6.net]
>>954
そんな低レベルな職場に一生居たくないと思ったんだろう。
かわいそうに。

996 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 20:02:34.31 ID:4KWBPZA4.net]
型おじ釣られすぎだろ
ネット初心者かよ

997 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 20:03:33.83 ID:dzVJGpcL.net]
>>954
最近多いんだよねー
Pythonとかちょっとかじった程度で
「俺プログラマーやってます」って顔する子

最初の入り口が動的型付け言語なんだよね最近の子って
そんなもんじゃ使いものにならねっての



998 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 20:04:21.63 ID:0WjGsUHg.net]
長文でクソおもんない作り話書いてて楽しそうですね

Juliaなんかはパフォーマンス向上目的での型の導入だけど、型安定とかわざわざドキュメントに記すなら言語側でそもそも制約を強めてエラーにしてしまうとかでよかったんじゃないかと思ってしまう

999 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 20:17:41.20 ID:ebeS0Dvl.net]
やっぱり型無し糞言語池沼ってガイジだなw

1000 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 21:08:43.70 ID:g5yerRCZ.net]
pythonの型とかどうでもいいよ。次世代言語の話をしよう。

1001 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 21:13:34.71 ID:xxHp0w1Z.net]
N88-BASICにも型の概念はあったからなあ…

1002 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 21:22:41.67 ID:nlgyx7EU.net]
classイコール型みたいな言語だと考慮しないといけない事項が多すぎるし記述量は馬鹿みたいに多い
なので、そういう言語しか知らない人が「静的型付けは煩わしい」と思うのは仕方ないことかもしれん、と思う

一度はOCamlを使って欲しい
OCamlは正格評価だし、型は強力で作りやすくて使いやすいし、OOPとも丁度いい距離を取ってる
smalltalkほど死んじゃいないし、Haskellほどアカデミックじゃない
次世代言語じゃない!と言うなら、ReasonMLでも良い。OCaml -> Javascriptみたいな環境もある

1003 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 22:28:52.51 ID:oHbtMe0Y.net]
>>949
正常系を一発通すだけで十分なのかどうかは仕様次第
ただオープンソースではよくあるのは開発者がテスト軽視してるだけで
動的言語か静的言語か関係ない

>>950
>>921の関数に対してどういうテストをすべきかは仕様次第
仕様は不明だけど考えうる限り網羅的にテスト

1004 名前:キべきって考え方自体が
テスト設計したことない人の考え方だよ
[]
[ここ壊れてます]

1005 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 22:57:35.78 ID:f2T6dYaQ.net]
こいつの人間は間違わないっていう前提にたってる品質管理が草

1006 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 23:05:06.65 ID:ebeS0Dvl.net]
俺は天才と信じている異常者(低学歴・障害者手帳持ち) = 型無し糞言語ガイジ

1007 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 23:05:29.19 ID:wh1EiJLW.net]
web プログラミングのように外は危険がいっぱいという状況と
機械学習のように入力情報は保証されているという状況では
当然テストの質が異なる
議論がすれ違っているのはその辺の違いかと



1008 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 23:09:15.46 ID:oWvr86T9.net]
それ型の有無関係ない話じゃん
それこそ論点ずれてる

1009 名前:デフォルトの名無しさん [2020/04/04(土) 23:12:02.58 ID:H4c+c10U.net]
そもそもテストと型は無関係なんですかそれは

1010 名前:デフォルトの名無しさん [2020/04/04(土) 23:21:54.26 ID:L/BdUORC.net]
Javaとpythonで争ってたところに
唐突に岡村提案されてて草

1011 名前:デフォルトの名無しさん [2020/04/05(日) 00:17:54.25 ID:bKlpD2Cq.net]
データに型は必要ない。
データの内容によって命令を使い分ければ良いのだ。

機械語で十分って事では?

1012 名前:デフォルトの名無しさん mailto:sage [2020/04/05(日) 00:34:46.44 ID:GfhXthds.net]
>>970
確かに。
ポインタも整数も同じ整数レジスタで行うね、マシン語だと。
整数演算で可能な型ならビット数以外の型情報が無い。

1013 名前:デフォルトの名無しさん mailto:sage [2020/04/05(日) 00:37:30.12 ID:GfhXthds.net]
>>971
それで、マシン語だと間違った演算でもコンパイル時にエラーがでにくかったが
C言語で細かな型が導入されて間違いをコンパイラが発見することに成功した。
ところが最近のスクリプト言語では明確な型宣言がないものが流行り出し、
かつての問題点がまた出てくるようになってしまった。

1014 名前:デフォルトの名無しさん [2020/04/05(日) 00:56:47 ID:d7/7NuuZ.net]
ほう…マシン語でコンパイルを

1015 名前:デフォルトの名無しさん mailto:sage [2020/04/05(日) 01:07:09.53 ID:N+saKT+1.net]
普通に静的型+型推論でええやん
型書けない言語はもうありえんわ
一時期PHP使ってたことあるけど、正気の沙汰じゃなかった

1016 名前:デフォルトの名無しさん mailto:sage [2020/04/05(日) 01:15:27.47 ID:O4a3Y/9V.net]
TypeScriptが一番しっくりくるという悲しい現実

1017 名前:デフォルトの名無しさん mailto:sage [2020/04/05(日) 01:22:54.32 ID:k4Q+DqWZ.net]
PureScriptに慣れてしまったらTypeScriptの構文はやぼったいわ



1018 名前:デフォルトの名無しさん mailto:sage [2020/04/05(日) 01:23:18.72 ID:GfhXthds.net]
>>973
当時はアセンブルと言っていたが、若い人にはコンパイルといったほうが通じ易いらしいので。

1019 名前:デフォルトの名無しさん mailto:sage [2020/04/05(日) 01:36:39.25 ID:oP415tbW.net]
>>962
岡村さん何してはるんですか

1020 名前:デフォルトの名無しさん [2020/04/05(日) 02:12:33.78 ID:d7/7NuuZ.net]
今の若い人はマシン語はコンパイルするものと習うのですか?
コンパイル言語を知っている人向けにアセンブルを説明するのに「コンパイルみたいなもの」と説明するのではなく?

1021 名前:デフォルトの名無しさん mailto:sage [2020/04/05(日) 02:16:10.20 ID:dvIeqTXE.net]
次世代じゃないけどOCamlはええぞ。大体の言語のエッセンスを見直すきっかけになる

ちゃんとした型推論と簡潔な型表記があれば静的型付けでも書くのは面倒じゃないって分かったり
クラスってプログラムの必須構成要素なんかじゃないって気づけたり(むしろ用途は凄く限定されるべきもの)
遅延評価って実際にどんだけ便利なの、とか、分かる

1022 名前:デフォルトの名無しさん [2020/04/05(日) 02:16:21.31 ID:bKlpD2Cq.net]
アセンブラと機械語は一対一に対応していないんだよな。
配置が決定しないと使えない機械語が有るので。

1023 名前:デフォルトの名無しさん mailto:sage [2020/04/05(日) 02:30:40.57 ID:k4Q+DqWZ.net]
型がいらない/めんどくさいと主張する層は、
大方自分の意図をメソッドのボディによって表現することしか知らないのだろう

HaskellやらOCamlやらある程度の型システムの強度を持っている言語の経験があるプログラマは、
自分の意図の大部分を型で表現することに慣れているから、型がいらないとか正気か?となる

1024 名前:デフォルトの名無しさん [2020/04/05(日) 02:48:33 ID:bKlpD2Cq.net]
型が無いのはとても良いことです。

1025 名前:デフォルトの名無しさん mailto:sage [2020/04/05(日) 02:49:08 ID:c8uove51.net]
関数型で型が重用されるのは、高階関数によって型が至るところでアドホックに生み出されるため、
型がないとプログラムを正しく組むことが事実上不可能だからだよ
関数型では型は主にプログラムの形式的な正しさを守るためのテクニカルなツールとして用いられていて、
むしろドメインモデルを型で記述するみたいなのは意外にも関数型では重視されなかったりする

1026 名前:デフォルトの名無しさん [2020/04/05(日) 02:49:14 ID:bKlpD2Cq.net]
プログラミングが必要なくなればもっと良いです。

1027 名前:デフォルトの名無しさん [2020/04/05(日) 02:50:35 ID:bKlpD2Cq.net]
でも今はまだ無理です。
素直に型を使いましょう。



1028 名前:デフォルトの名無しさん mailto:sage [2020/04/05(日) 03:09:06.75 ID:k4Q+DqWZ.net]
>>984
言ってることが何一つ理解できないんだが
ほんとに関数型言語の経験か、型システムを専門に研究した経験のどっちかでもある?

1029 名前:デフォルトの名無しさん mailto:sage [2020/04/05(日) 03:27:35 ID:O4a3Y/9V.net]
>>980
標準ライブラリなんとかして

1030 名前: mailto:sage [2020/04/05(日) 03:31:26.32 ID:1D4UZmeK.net]
>>980
haskell と比較した ocaml の利点をぜひ!

1031 名前:デフォルトの名無しさん [2020/04/05(日) 06:23:20.59 ID:bKlpD2Cq.net]
タイプ数を節約できることでは?

1032 名前:デフォルトの名無しさん [2020/04/05(日) 10:17:02 ID:/6aVgV0B.net]
ん?OCamlってかなり標準ライブラリ豊富って聞いてたけど違うの?

1033 名前:デフォルトの名無しさん mailto:sage [2020/04/05(日) 11:56:52.59 ID:ZlQTcj/v.net]
そんなに引数に何が来るかわからないという状況が多いのかなあ
このメソッドは何をするかがはっきりしていれば、そんなに型を気にする
必要はないと思うけどなあ。一つのクラスでたくさんのことをさせているのか?

1034 名前:デフォルトの名無しさん mailto:sage [2020/04/05(日) 12:17:46.87 ID:aRq634GN.net]
メタプログラミングは動的型の方が楽。思いついたアイデアを簡単に試せる
Haskellのマクロとか使いにくいったら無いし、あんなので試行錯誤したくない
RailsもRubyで産まれて、静的型言語に不完全な形でパクられた

だから、ゼロからフレームワークを作る創造的な人達は動的型を好み、
アイデアをパクって実装したり、フレームワーク使うだけのドカタは静的型を好むわけだよ

1035 名前:デフォルトの名無しさん mailto:sage [2020/04/05(日) 12:33:48 ID:N+saKT+1.net]
こんなトンデモ論を持ち出さないと、動的型言語を擁護できないのか(笑)

1036 名前:デフォルトの名無しさん mailto:sage [2020/04/05(日) 12:35:55.88 ID:aRq634GN.net]
>>994
創造性のないドカタっぽいレスですね
知能低そうw

1037 名前:デフォルトの名無しさん mailto:sage [2020/04/05(日) 12:42:23 ID:N+saKT+1.net]
うわぁ・・・



1038 名前:デフォルトの名無しさん mailto:sage [2020/04/05(日) 12:51:43 ID:9ug9dps/.net]
メタプログラミングの結果を駆使する立場ならともかく
メタプログラミング自体を行う奴らは試行錯誤とかあんましないレヴェルなんじゃね
書いたら動いてバグがほとんど無い(
もちろんテストはする

1039 名前:デフォルトの名無しさん [2020/04/05(日) 12:55:49 ID:bKlpD2Cq.net]
釣りなら釣りと分かるように書かないと、タダの馬鹿だと思われるのでは。

1040 名前:デフォルトの名無しさん [2020/04/05(日) 12:58:04.13 ID:bKlpD2Cq.net]
>>993 は普通に考えれば釣りなんだけど、本気で顔真っ赤にしながら主張する人もいるから、
どこかに釣りの痕跡残しておかないと、後で釣りでしたと言っても信じてもらえなくなる。

1041 名前:デフォルトの名無しさん [2020/04/05(日) 13:01:44.09 ID:bKlpD2Cq.net]
縦読み入れておくのが良いのでは。

1042 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 187日 10時間 3分 41秒

1043 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<225KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef