◎正当な理由による書き込みの削除について:      生島英之とみられる方へ:

次世代言語10[Rust Swift TypeScript Dart] ->画像>3枚


動画、画像抽出 || この掲示板へ 類似スレ 掲示板一覧 人気スレ 動画人気順

このスレへの固定リンク: http://5chb.net/r/tech/1524607347/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

1デフォルトの名無しさん
2018/04/25(水) 07:02:27.60ID:OmWDt0SE
スレタイ以外の言語もok

前スレ
次世代言語9[Haskell Rust Kotlin TypeScript Dart]
http://2chb.net/r/tech/1520298555/
2デフォルトの名無しさん
2018/04/25(水) 08:23:02.74ID:1NoCN6vJ
お疲れ様。
立たないから、不安になってた。
ラスト駆け足にして申し訳ない。
3デフォルトの名無しさん
2018/04/25(水) 09:28:23.07ID:m/ckuvL0
乙。だがDartを次世代言語としちゃうのはどうも。内部文字コード今どきUTF16だし。
4デフォルトの名無しさん
2018/04/25(水) 10:14:22.33ID:c9IPFnub
次世代言語は内部コードも次世代なのかね
5デフォルトの名無しさん
2018/04/25(水) 10:51:14.42ID:DJTOPjzb
たてなかった俺が言う権利はないのは承知の上で
いい加減Rust外そうぜ。まだ言語としての体をなしてない
6デフォルトの名無しさん
2018/04/25(水) 11:54:04.59ID:UGZNqwGC
そもそもスレタイに言語が入ってるから変な事になるんだと俺も思ってる。
取り払ったら?と何度か言ってきたけど、残したい派はどういう主張で残したいの?
7デフォルトの名無しさん
2018/04/25(水) 13:31:48.01ID:34EuLWwz
>>5
FirefoxやDropboxじゃ既に実用言語として使われてる。
OSでさえも(あくまで実験用だが)Redoxが作られてる。
"impl trait"もそろそろstableになるし、もう必要な機能はほとんど揃ってるだろ?
何が「言語としての体をなしていない」だよ。いい加減しつこいぞ。
8デフォルトの名無しさん
2018/04/25(水) 13:41:49.73ID:7v0IZdro
rustのメモリオーナーシップモデルを誰かわかりやすく説明頼む。
9デフォルトの名無しさん
2018/04/25(水) 13:43:57.34ID:7v0IZdro
>>4
当然のようにutf8じゃ無いの。goはそうだし。
他の言語はどうなん?rustとか
10デフォルトの名無しさん
2018/04/25(水) 13:44:00.31ID:XHIJveIX
>>3
他の内部文字コード決まってる言語ではどんなの使ってるの?
11デフォルトの名無しさん
2018/04/25(水) 13:47:47.63ID:XHIJveIX
>>9
goのutf8ってのはソースコードじゃなくて内部もそうなの?
12デフォルトの名無しさん
2018/04/25(水) 14:18:31.99ID:nHHF6bSw
内部コードはJava,Swiftみたいに適宜切り替えしてくれたり
Rubyみたいに任意指定できる方が次世代感ある
13デフォルトの名無しさん
2018/04/25(水) 14:19:20.11ID:C8IJjrkB
内部コードは次世代言語の条件なのか
14デフォルトの名無しさん
2018/04/25(水) 14:39:38.40ID:a8S1QIj9
jsがutf16だとは聞いた。dartがutf16なのはjsに引きづられた形なんかな。
15デフォルトの名無しさん
2018/04/25(水) 17:34:00.77ID:OD7ofyMJ
>>12
javaって切り替えるの?utf16だと思ってた
16デフォルトの名無しさん
2018/04/25(水) 19:53:51.72ID:gDuej7jR
>>7
全然揃ってねえよ
NLLとかnever typeとかないからクソみたいな回避テク使わないとコンパイル通らないだろ
17デフォルトの名無しさん
2018/04/25(水) 20:33:25.95ID:8FHv2h9+
Java9からStringはLatin1/UTF16を切り替えて使うようになってるね
18デフォルトの名無しさん
2018/04/25(水) 21:11:17.40ID:DpZH2sjp
String<UTF8>
String<UTF16>
これでいい
ゼロコスト抽象化以外の解決策を誰も答えられない
19デフォルトの名無しさん
2018/04/25(水) 22:36:19.51ID:34EuLWwz
>>16
まあ、NLLを有効にしないと面倒な回避が必要になるケースは確かに存在するけど、
「面倒」というだけで「解決できない問題」というのは存在しないし、NLLが欲しくなるケース
自体も「時々」程度で「いつも」ではないので、「それがないと絶対に困る」って程ではない。
それに「クソみたいな回避テク」とか大袈裟に言ってるが、
せいぜい1~3行程度の少しばかり直感的ではないコードが増える程度。
never typeに関してもunreachable!マクロは使えるんだからそれほど問題にはならない。
「言語としての体をなしていない」ってのはあまりにも大袈裟すぎる。
どっちもnightlyでは既に使えるんだから多分そのうちstable化されるだろうし。
20デフォルトの名無しさん
2018/04/26(木) 00:22:35.41ID:Jjph1LBJ
>>8
一つのインスタンスを指す変数を二つ以上にしないようにする。
スコープの外にある変数のメンバなどにスコープの内側の変数を代入させない。
(スコープが外れたらインスタンスは解放するルールで統一するため。)

基本はこんなとこ。
これでメモリ開放のタイミングについて困ることが減る。
21デフォルトの名無しさん
2018/04/26(木) 06:42:47.13ID:ZHnBWzlR
>>20
結構コードに制約が大きそう。
これって幸せになりそうな制約になる?
いまいちピンとこなくて、、、
22デフォルトの名無しさん
2018/04/26(木) 08:51:52.99ID:xsS7Mz8h
>>21
メモリ管理にGCが要らない、かな。
直接の生産性へのメリットよりも、コンパイル結果が正しくて速くて省メモリな事のメリットの方が大きいかと。
23デフォルトの名無しさん
2018/04/26(木) 09:07:01.95ID:AXOUbClX
実際には大して速くもなければ省メモリでもないけどねRust
もっとコンパイラ頑張れよ
24デフォルトの名無しさん
2018/04/26(木) 09:35:53.93ID:QG/6kNZy
>>23
C++と張り合えるレベルでGoよりは全然速いし省メモリ。
コンパイラもまだ改善の余地がある。ポテンシャルとしては十分だろ。
25デフォルトの名無しさん
2018/04/26(木) 09:38:23.42ID:IQkzbrFr
RustでもDでもなんでもいいからさっさとC++を駆逐してくれ
26デフォルトの名無しさん
2018/04/26(木) 09:50:30.78ID:E0/AuDcr
Rustの人
コードは面倒になるがオーバーヘッド無しでオーナーシップがどうのこうの

c++の人
遅くてもいいところは楽して shared_ptr で済ませとくか
27デフォルトの名無しさん
2018/04/26(木) 14:05:39.94ID:VsMsl4lM
>>24
もしかして小さいメモリしか乗っていないような組み込み系でrustが活躍する可能性がある?
メモリオーナーシップモデルはswift5 or 6で乗ると聞いてるし、それでiOSアプリの省メモリ化が進んだらかなりすげーってなりそう。

でも、ロジックの書き方に制約が強そうで、
それがコードの見通しに寄与するなら良いんだけど、そもそも学習コストがヤバそう。
28デフォルトの名無しさん
2018/04/26(木) 14:23:10.66ID:LZqqVlEY
共同ツール 1
https://seleck.cc/685

https://trello.com/
ボードのメニュー → Power-Upsから拡張可能 Slack DropBoxなど
Trello Chrome拡張機能 elegant
http://www.kikakulabo.com/service-eft/
trelloのオープンソースあり

共同ツール 2
https://www.google.com/intl/ja_jp/sheets/about/

共同ツール 3
https://slack.com/intl/ja-jp
https://www.dropbox.com/ja/
https://bitbucket.org/
https://ja.atlassian.com/software/sourcetree
https://sketchapp.com/extensions/plugins/
http://photoshopvip.net/103903

https://goodpatch.com/blog/sketch-plugins/
29デフォルトの名無しさん
2018/04/26(木) 14:50:14.90ID:QG/6kNZy
>>27
Goよりは省メモリなんだけどCと比べるとやっぱりメモリ食うんだよね。(C++と比べても少し多め)
組み込み系だとそこらへんどの程度までなら許容範囲内なのかな?とかが個人的な疑問点。
仮にメモリ的に許容範囲内だったとしても現状では全く流行る気配がない…

Swiftは確か参照カウンタだったよね?だったら元から比較的省メモリなんじゃないの?
あまり詳しくないからよく分からないけど、効果は薄そうな気がする…

学習コストに関しては「GCがない」且つ「高度な抽象化機能を持つ」言語の宿命として受け入れるしか…
Mozillaが「C++で大規模マルチスレッドプログラミングとかムリゲーじゃね?」ってなったから
Rustを作ったわけで…C++と比べて「落とし穴」が少ないって意味ではRustの方が学習コストは低いはず…
30デフォルトの名無しさん
2018/04/26(木) 17:15:59.51ID:caL+fw/q
C++とRustにとってGCはオプション
オプションを色々変えるだけで、プロペラ機にもヘリコプターにもなるみたいな感覚
これが次世代だと思うか欠陥品と思うかは人それぞれ
31デフォルトの名無しさん
2018/04/26(木) 19:48:41.90ID:4J8LjQ8d
単純にrustの文法とかコンセプトがクッソ気持ち良いと思うんだが
こーいうのはバカと初心者には分からんのやろなあ(笑)
32デフォルトの名無しさん
2018/04/26(木) 19:55:20.68ID:uzUvsYRA
いくら良いものでも他を煽って貶めてるユーザーが居ると印象悪くなるから止めて他の言い回しにしてくれ
33デフォルトの名無しさん
2018/04/26(木) 20:04:13.05ID:4J8LjQ8d
すまんな(´・ω・`)
34デフォルトの名無しさん
2018/04/26(木) 20:37:06.94ID:Jjph1LBJ
てかGCのあるなしが混じった環境とか一番危険だけどな。
35デフォルトの名無しさん
2018/04/26(木) 20:52:04.18ID:Jjph1LBJ
rustの問題点は31みたいなバカが多いとこだな。
36デフォルトの名無しさん
2018/04/26(木) 22:46:38.06ID:SrAD/Kxg
まあ、明確な根拠のない言語叩きとか、言語使い叩きは辞めよう。
根拠のない殉教者じみた信者もいかんけど。
37デフォルトの名無しさん
2018/04/27(金) 01:47:23.20ID:N4ZSDtcd
まあ掌を返すのが気持ち悪いなら根拠が必要だが
むしろ常識がひっくり返るのを見てみたいなら常識に根拠がなくても全く問題ない
38デフォルトの名無しさん
2018/04/27(金) 09:58:41.97ID:BNvpvGEw
ぜひrustの気持ちよさを文章化して欲しい。難しいとは思うが。
39デフォルトの名無しさん
2018/04/27(金) 10:48:26.87ID:9+8ML8qz
Rustは「書きたいコードが直感的に書けない」っていうくっそ気持ち悪い点をなんとかしないと
いかに机の上でのお勉強だけできるバカが絶賛しても寒いだけ

HaskellとかLISPもそういうとこあるけど
40デフォルトの名無しさん
2018/04/27(金) 10:53:24.36ID:6bqCxxKP
Rustは知らんがHaskellもLispも割と直観的に書けるが
41デフォルトの名無しさん
2018/04/27(金) 11:50:35.46ID:CtLujT77
おれの偏見も含めた個人的意見だが、
Goが気持ちいいって思うタイプは多分Rustは気持ち悪いって思うヤツが多いはず
Rustが気持ちいいって思うタイプは逆にGoが気持ち悪いって思うヤツが多いはず

結局書くことと読むことのどちらに重きを置いているかの違いだと思ってる
42デフォルトの名無しさん
2018/04/27(金) 12:11:04.65ID:9+8ML8qz
>>40
いちいちモナドとか継続とかこねくりまわすののどこが直感的なんだよ
研究室に帰って二度と現場に口出すな
43デフォルトの名無しさん
2018/04/27(金) 12:18:17.00ID:9+8ML8qz
>>41
抽象化フリークにとっては関数型とかRustとか好きな言語だろうなとは思う
現実に現場で物作ってる人にとっちゃそんなもんはクソの役にも立たん
44デフォルトの名無しさん
2018/04/27(金) 12:20:03.45ID:6bqCxxKP
>>42
すまん、不勉強のカスの直観は知らんわw
45デフォルトの名無しさん
2018/04/27(金) 12:22:19.18ID:9+8ML8qz
>>44
一生勉強だけしてろ
46デフォルトの名無しさん
2018/04/27(金) 12:24:15.92ID:6bqCxxKP
>>45
すまん、勉強した上で物も作っててすまんw本当にすまんw
47デフォルトの名無しさん
2018/04/27(金) 12:24:34.09ID:+93nc9U9
>>45
オブジェクト指向が出てきた時のコボラーみたいだな
48デフォルトの名無しさん
2018/04/27(金) 12:35:55.27ID:UfKjHLrH
>>46
おお!ついにhaskellでの実際のプロダクト例が聞けるんだな!
是非語ってくれ。是非haskellでないといけない根拠が聞きたい。
使いたいから使ってるんじゃなくて、他の言語が満足に使えないんでもなくて、
haskellでないと問題を解決できないからhaskellなんだという実例が聞きたいわ。
49デフォルトの名無しさん
2018/04/27(金) 12:42:59.00ID:6bqCxxKP
>>48
すまん、俺がHaskell をプロダクトに使ってるとは一言も書いてなくてすまん……
実際Haskell なんか使うくらいならLispとかOcamlとか使うよなあ!?
50デフォルトの名無しさん
2018/04/27(金) 13:02:40.29ID:KOwTm7Pr
>>47
実際今世の中はオブジェクト指向捨てる方向だろ?Goしかり、Rustしかり
オブジェクト指向は間違いだったじゃないか

Rustもあんだけごてごてしてるが、オブジェクト指向捨てたのは評価してるぞ
51デフォルトの名無しさん
2018/04/27(金) 13:05:01.38ID:CtLujT77
>>48
めんどくさいヤツだな。
Haskellに限らず特定の言語じゃないと解決できない問題なんてほとんど無いだろ。
極論で言えば、C/C++さえあればWebクライアント以外は全て出来るんだ。
ホントに極論だがAndroidでさえNDK(C/C++用API)を公開してるから
Java系の言語である必要性なんてどこにもない。
結局は適材適所でその判断基準は十人十色。
52デフォルトの名無しさん
2018/04/27(金) 13:12:31.08ID:CtLujT77
>>50
Rustはオブジェクト指向捨ててないよ…捨ててたらimplが存在するのはおかしい…
Rustはオブジェクト指向も関数型もどっちも取り入れたマルチパラダイム。
個人的にはC#をもう少し関数型に寄せた感じかな。
53デフォルトの名無しさん
2018/04/27(金) 13:14:27.24ID:2VB/zMjd
「綺麗を謳っているわりに関数名が汚いからHaskell 嫌い」←わかる
「モナドがわからんからHaskell はゴミ!」←不勉強のカス
54デフォルトの名無しさん
2018/04/27(金) 13:15:18.79ID:KOwTm7Pr
>>52
じゃあクラスを捨てたに言い換えるわ
55デフォルトの名無しさん
2018/04/27(金) 13:16:24.87ID:KOwTm7Pr
>>53
モナドがわからんとは一言も言ってないぞ
「直感的に書けない」っていってるだけだ
すまんな
56デフォルトの名無しさん
2018/04/27(金) 13:17:13.00ID:2VB/zMjd
>>55
誰だおめえ
57デフォルトの名無しさん
2018/04/27(金) 13:22:25.90ID:KOwTm7Pr
>>56
誰でもいいだろ
58デフォルトの名無しさん
2018/04/27(金) 13:22:30.62ID:TIvGg1QY
rustの良さはやはりコンパイラがある程度チェックしてくれるところだと思う。
59デフォルトの名無しさん
2018/04/27(金) 13:27:51.04ID:KOwTm7Pr
Rust、コンパイラの機嫌取らないと、文法合っててもプログラム書けないってのがわからんのだよな

Cでいう未定義動作避けたいのはわかるが、書き手のフラストレーションためる方向なのが良くない
60デフォルトの名無しさん
2018/04/27(金) 13:28:26.58ID:2VB/zMjd
>>57
ほんじゃあどうでもいいわHaskell について書いてた本人以外が俺の文の中の第三者のレスの表現にケチをつけるな
失せな
61デフォルトの名無しさん
2018/04/27(金) 13:31:09.80ID:zMk0R3Co
ゲーム制作向きの次世代言語って無いのかな
62デフォルトの名無しさん
2018/04/27(金) 13:31:45.97ID:2VB/zMjd
おとなしくC#でUnityでシコシコしてな
63デフォルトの名無しさん
2018/04/27(金) 14:10:16.50ID:ouRrzssA
【マイトLーヤとPS4】 FFとDQの最新作、VR開発は危険、プレーヤーの日常感覚を損なうおそれ
http://2chb.net/r/liveplus/1524621704/l50
64デフォルトの名無しさん
2018/04/27(金) 15:56:18.74ID:zEArYeu7
関数型言語入門を読んだけど、宣言的に書けるというのはそれなりに感動したけどな。

でも実用的かというとまだわかんないなぁ。
RxをiOSアプリに導入したときも、正直読みづらくしかならなかったんだよね。
宣言的にかけるって、順序性にあんまり意味が無くなってくるんだけど、
そうするとコードへの宣言の書き順をどうすべきか?というセンスが問われるようになる。結構変数名を考えるくらいのコストになる。
しんどい。
65デフォルトの名無しさん
2018/04/27(金) 18:19:36.74ID:1Y+iNj/V
その関数型グループに入れられてしまったらもう古いメンバーと同じ古い言語になる
同じグループのメンバーなら同じに決まってるだろ
66デフォルトの名無しさん
2018/04/27(金) 18:52:43.46ID:UfKjHLrH
>>49
うん、lispというかgaucheは俺も使ってるな。
67デフォルトの名無しさん
2018/04/27(金) 18:54:09.98ID:UfKjHLrH
>>51
それは極論でしょ。
アセンブラさえあれば何でもできるって言ってるわけじゃないんだよ。
例えば軽量スレッドとか、例えば軽量プロセスとか、プロセス間通信とか。
68デフォルトの名無しさん
2018/04/27(金) 19:34:27.44ID:lqPRSLem
>>66
それ、この前podcastで作者の人が話してるの聞いたな。
結構すごい言語なん?
69デフォルトの名無しさん
2018/04/27(金) 20:13:28.50ID:ngrXngQ/
haskell、バグ少なくかけるとか謳い文句にしてる割にパッケージ管理ソフトが
盛大にバグってるとかバカジャネーノってなるわ。
70デフォルトの名無しさん
2018/04/27(金) 20:29:00.50ID:ngrXngQ/
c++11, rust, haskell あたりはシンタックスお勉強ごっこが
好きな輩にほんと大人気なんだよな。
別にそれはそれで個人で楽しんでる分には構わんが、人に押し付けてくるバカはほんと迷惑だわ。
71デフォルトの名無しさん
2018/04/27(金) 20:56:43.49ID:1Y+iNj/V
明らかに難度高い押し付けは拒否しやすい
これくらい簡単だろ?って押し付けられるパターンの方が迷惑だよ
72デフォルトの名無しさん
2018/04/27(金) 21:02:57.26ID:6cRvI9Lw
おお!ついにgaucheでの実際のプロダクト例が聞けるんだな!
是非語ってくれ。是非common lispではいけない根拠が聞きたい。
使いたいから使ってるんじゃなくて、他の言語が満足に使えないんでもなくて、
gaucheでないと問題を解決できないからgaucheなんだという実例が聞きたいわ。
73デフォルトの名無しさん
2018/04/27(金) 21:55:20.17ID:69sTJ/GT
プログラミング言語もブランド指向!?Go言語が新ロゴやブランドパンフレット
https://news.mynavi.jp/article/20180427-623333
74デフォルトの名無しさん
2018/04/27(金) 22:21:02.52ID:CtLujT77
>>67
いやその「軽量スレッド」がないと実現できない問題ってなんだよ?
軽量プロセスはネイティブスレッドとの違いが勉強不足でよくわかってないんだ。すまん。
プロセス間通信に関してはどういう意図でその言葉を使ったのが知らないが、
出来ない言語の方が少ないと思うんだが…

そもそもHaskellの並行処理は確か軽量スレッドだったはずだし、
プロセス間通信も普通に出来るぞ。

やっぱり、特定の言語じゃないと解決できない問題なんてかなり限られてくるはずだが…
何が言いたいんだ?
75デフォルトの名無しさん
2018/04/27(金) 22:41:09.97ID:UfKjHLrH
>>68
凄いかすごくないかは別として、素直かな。
76デフォルトの名無しさん
2018/04/27(金) 22:45:20.82ID:UfKjHLrH
>>72
何を煽ってるかわからんが、プロダクトとしては内製社内システムだよ。
CAD関連ののデータを触るシステム。
データ構造としてはS式で表すのが一番素直なシステム。
他の言語でデータをごちゃごちゃしてステートマシンの塊で処理するより、データ構造自体が手続きと言うかパラメトリックな式表現になってるほうが素直って感じ。

で、そっちは煽るだけじゃなくて、何作ってるの?
77デフォルトの名無しさん
2018/04/27(金) 22:51:51.30ID:UfKjHLrH
>>74
ネイティブスレッドであると都合が悪いってのは、極論はハードのスペックが上がれば無視できるとは思うし、微妙だったかな。
プロセス間通信も語弊があって、軽量スレッド同士のプロセス間通信がどう成されるかかもしれん。
erlangみたいな、疑わしきはプロセスごと殺して再投入みたいな思想や、プロセスの起動/再起動の単位や、プロセスへのメッセージみたいに、処理系の思想や備えられてる足回りか特徴的ならば、それはその言語であるから解決できる問題だと思う。

逆説的だけど。他の言語でそれを担保するにはコストがかかりすぎる、って。
78デフォルトの名無しさん
2018/04/27(金) 22:55:37.14ID:CtLujT77
>>69
この言い分も「めんどくせぇヤツだな」っていつも思ってたんだよ。
バグが減るって言ってるだけで無くなるとは一言も言ってないのに
なんでバグが見つかっただけで「話が違うじゃねぇか」みたいに騒ぎ出すわけ?
別にHaskellもRustも押し付けるつもりは全く無いし、
気に入らんなら文句を言っても構わんが、もう少しマトモなこと言ってほしい。
79デフォルトの名無しさん
2018/04/27(金) 23:19:57.84ID:1Y+iNj/V
バグを減らすことに完璧に無関心にならない限り、取り付く島があると思って騒ぎ出す
80デフォルトの名無しさん
2018/04/27(金) 23:24:23.63
>>77
erlangを使ったことがないから、なんとなく程度にしか分からんが、
そういう意味なら「副作用を記述しないコードの実現」がHaskellでしか解決できない問題じゃないか?
副作用は減らせるならそれに越したことはないんだし(その時点から否定するヤツは論外です)。
まぁ、Haskellみたいな純粋関数型は少々やり過ぎ感はあるし、最近はRustやSwiftみたいに
「副作用は記述できるけど極力避けましょう」みたいな思想を持った言語も増えてきたけど。
81デフォルトの名無しさん
2018/04/27(金) 23:26:45.89ID:bqnCmOTp
軽量プロセスは良く知らんけどコルーチンは排他も待ち合わせも手軽で軽くて良いが
どうせコア数だけスケールさせようとスレッド使うから今日ではあまり意味がない
シングルコア時代の優れた概念
82デフォルトの名無しさん
2018/04/27(金) 23:28:49.08ID:6cRvI9Lw
>>76
同じ文を書いただけなのに煽ってる扱いってことは君はHaskellユーザーか誰かを煽ってるんだね?
俺が言いたいのは、自分が使ってる言語に関して説明できないようなことを他人に求めるなということだよ
83デフォルトの名無しさん
2018/04/27(金) 23:34:06.59ID:UfKjHLrH
>>80
モナドは?
84デフォルトの名無しさん
2018/04/27(金) 23:34:37.37ID:ngrXngQ/
>>78
cabal みたいな一番重要なパッケージ管理ソフトが無限ループしたり、
ここまでぶっ壊れてるって話にならんだろ。。
しかもデバッグが他よりも圧倒的にめんどくセー言語だっつーのにさ。
いろんなトレードオフ見たときに宣伝文句と比較して全く割にあってないっつー話だよ。
85デフォルトの名無しさん
2018/04/27(金) 23:34:49.56ID:6cRvI9Lw
>>76
あと、common lispじゃだめな理由を説明出来てないぞ
出来ないよなあ?だって別にcommon lispでもいいもんな
それと同じで、どうしてもHaskell じゃないといけない理由なんて普通はねえよ。OCamlとかあるんだから

あと、聞かれたから答えるけど、俺は普段はFortran とPythonで量子化学プログラム作ってるよ
86デフォルトの名無しさん
2018/04/27(金) 23:36:13.33ID:UfKjHLrH
>>82
当たらずとも遠からず。
俺が根拠のあるプロダクトの話がなければただの煽りだろうし、haskell推しに根拠のあるプロダクトの話があれば煽りではなくなると思っての書き込みだよ。
なので、煽りかどうかはhaskell推しがプロダクトを出せれば煽りではないという返事になる。
87デフォルトの名無しさん
2018/04/27(金) 23:38:15.62ID:UfKjHLrH
>>85
聞いてないよ、普段どんな言語使ってるかなんてw

common lisp以外では妥当ではない、が根拠かねえ。

何かそんなにhaskellのプロダクトを言う事に抵抗あるの?
88デフォルトの名無しさん
2018/04/27(金) 23:43:09.85ID:uFcuTWSA
>>87
ほーんじゃあ言い直すわ
「普段は量子化学プログラム作ってるよ」

二行目は「Common lispでは妥当ではない」か「gauche以外では妥当でない」の間違いか?

そして大事なことだが俺はHaskell ユーザーじゃねえしHaskellの擁護もしていねえ。当然Haskellのプロダクトなんて知ったこっちゃねえ。
おまえがめちゃくちゃ言ってるから指摘してるだけだ
89デフォルトの名無しさん
2018/04/27(金) 23:43:59.89ID:uFcuTWSA
おっとID変わったけどID:6cRvI9Lwな
90デフォルトの名無しさん
2018/04/27(金) 23:46:57.82ID:CtLujT77
>>83
モナドに関してはおれは「便利に使えればそれでいいや」ってタイプなので
理論的なことはよく分かっちゃいないんだ。すまんな。
それに色々言ったけど、おれはHaskellよりRust推しなんだ。
Rustには「モナドもどき」しかない。
そしてその「モナドもどき」でおれは十分だと思ってる。
91デフォルトの名無しさん
2018/04/27(金) 23:48:55.22ID:uFcuTWSA
だいたい「~以外は妥当じゃない」みたいな理由が通るなら「Haskell 以外は妥当じゃない」も通るじゃねえか>>48の後半は何なんだよいったい
92デフォルトの名無しさん
2018/04/27(金) 23:51:31.54ID:nEX/UwzN
何かうるせえ奴らが何人かいるな。
オナニーでもして寝てろや。
93デフォルトの名無しさん
2018/04/27(金) 23:52:15.35ID:uFcuTWSA
>>92
は?俺のことか?
そんな指図するならオカズでも貼れやw
94デフォルトの名無しさん
2018/04/27(金) 23:57:30.25ID:69sTJ/GT
>>93
次世代言語10[Rust Swift TypeScript Dart] 	->画像>3枚
95デフォルトの名無しさん
2018/04/27(金) 23:58:53.73ID:CtLujT77
>>84
だったらそこまで書いた上で批判してくれ。
そうじゃないとバカが喚いてるようにしか見えないんだ。
「話にならん」とか「割りに合わない」とかは人によって意見が違うんで、
それ以上はどうこう言うつもりはないよ。残念ながら君には合わないってだけの話だ。
96デフォルトの名無しさん
2018/04/28(土) 00:02:19.96ID:Iob7Aa9f
>>94
ご丁寧に主食まで貼ってんじゃねえよ。吹いたわwww
97デフォルトの名無しさん
2018/04/28(土) 00:05:41.33ID:pEXwgWhN
>>94
うーん……��
これでオナニーして寝るのか……
ちょっと気合入れるか…… おやすみ……����
98デフォルトの名無しさん
2018/04/28(土) 00:16:49.87ID:4irn3/UI
>>95
まあ大した問題じゃないと言い張るならそれも良いよ。
99デフォルトの名無しさん
2018/04/28(土) 00:20:33.03ID:NwTUb6yX
>>76
lisp系って結構いいもんなの?
熱狂的なファンいることは知っていたが()だらけの式を見てるとゲンナリする
100デフォルトの名無しさん
2018/04/28(土) 00:22:57.42ID:ovKub3hM
>>81
どうせ台数でスケールさせようとマルチプロセス使うから
スレッド使わずコルーチン使って1コアだけ使い切るプロセスにして
コア数だけプロセスを実行する、ってパターンは現在でも通用すると思うんだけどなあ
101デフォルトの名無しさん
2018/04/28(土) 00:25:05.82ID:vhHaRzQ+
>>99
S式はWebAssemblyに採用されたな
102デフォルトの名無しさん
2018/04/28(土) 00:33:07.25ID:MdGr+A0E
lispの凄さを誰か説明してくれ
103デフォルトの名無しさん
2018/04/28(土) 00:35:44.22ID:d4LpEQEN
Land of lispでも読んでろ
104デフォルトの名無しさん
2018/04/28(土) 01:04:58.41ID:VDyKIUAr
>>102
電池が入ってないpython
並行処理とパターンマッチがないerlang
105デフォルトの名無しさん
2018/04/28(土) 01:07:10.41ID:+3LcQamd
かつては言語に新機能入れてもLispの後追いって事が多かったけど
もうそんな状況じゃないからね
でも継続はあまり採用されないな
106デフォルトの名無しさん
2018/04/28(土) 01:10:47.61ID:d4LpEQEN
LispはPythonと違って一応最適化されたコンパイル済みバイナリ配布できるだろ
107デフォルトの名無しさん
2018/04/28(土) 03:05:06.25ID:urFfore0
軽量スレッドはシューティングゲーム作るときは弾1発1発に使えるから重宝するんだけどな
ハードが進化すればどうでもいいとは言っても
流石にゲームがネイティブスレッドを1000も使ってたらスイッチコストも馬鹿にならんし
何よりタスクマネージャで見たユーザーがびっくりするw
108デフォルトの名無しさん
2018/04/28(土) 10:01:33.85ID:6ZMjGPsq
>>88
そうか、じゃあずっとhaskellでそれ作っててくれ。
109デフォルトの名無しさん
2018/04/28(土) 10:02:54.13ID:6ZMjGPsq
>>99
良いもんだよ。
CADの分野ではシステムに組み込まれた言語としても割と使われてる。
図研のとか、Autodeskのとか。
110デフォルトの名無しさん
2018/04/28(土) 10:06:24.06ID:6ZMjGPsq
>>88
あ、読み違えたわ。
haskellユーザでないなら、別に黙ってりゃ良いじゃん。
haskellは良いものだ!って言うだけで何も具体例を出さない奴が居て、結局何が良いの?に答えが出なかったりしたから、
スレタイからhaskellが抜けたりしたわけ。

そのへんの過去スレは読んでのそういう発言?
滅茶苦茶でも何でもないよ。
お前の喧嘩の売り方がメチャクチャだよ。
111デフォルトの名無しさん
2018/04/28(土) 10:07:40.95ID:6ZMjGPsq
>>88
よく考えたら言い直しにもなってないな。
haskellでのプロダクト例を聞いてるのに、普段使ってないよ、なんて、何を言い直してるかわからん。
反論するならきっちり反論して。
112デフォルトの名無しさん
2018/04/28(土) 10:09:51.46ID:O9ADumhq
>>109
https://practical-scheme.net/wiliki/wiliki.cgi?Lisp%3AS式の理由

ここ読んだ。lisperは直接構文木を書いてるのか!
メタプログラミング得意そう。
113デフォルトの名無しさん
2018/04/28(土) 10:14:28.48ID:WJL9r3At
>>112
そうそう。それはデータであり、かつ評価できる式でもある。
114デフォルトの名無しさん
2018/04/28(土) 10:23:14.19ID:O9ADumhq
jsとかgoとかだといちいちparserカマして抽象構文木を作った上じゃないとプログラムからコード解析できないけど、
lispだとそのままコード解析できるわけね。
なんか面白そう。
115デフォルトの名無しさん
2018/04/28(土) 10:29:10.39ID:6ZMjGPsq
>>114
逆に、データもS式になってれば、それもパーサ要らないしね。
jsに対するjsonのように。
jsonのようにサブセットな訳でも無いので、そうしておくと、
そもそもデータに値の代わりに式を入れとくことも出来るから、融通がきく。
116デフォルトの名無しさん
2018/04/28(土) 10:37:43.93ID:O9ADumhq
lispすごそうやんけ。
の割に、あんまり聞かないのは単に分野が違うだけ?web系で聞いたことないなー。
117デフォルトの名無しさん
2018/04/28(土) 10:43:43.65ID:7FInXxAw
>>112
古典的な lisp では lisp で lisp のマクロも書くし
メタプログラミングは日常茶飯事というか「メタ」である特別さもなかった
古典的には lisp は LISP と書くのだけど

LISP 系の言語ではリストを万能データ構造として凡そ
配列以外の全て(プログラム自体を含む)をリストで表すので、
データ構造の宣言的な記述は省略される。
これはコードを書くときは楽だけど読むのには面倒か。


((foo 1) (bar 2)) というリストで辞書を表現するとして、
foo や bar がキーであるとか値はキーの直後の要素だとかを
宣言的に記述しておく箇所はコメント以外ない
118デフォルトの名無しさん
2018/04/28(土) 10:53:18.40ID:Iob7Aa9f
>>110,>>111
おれはID:uFcuTWSAじゃないがどう考えてもお前の方がメチャクチャだよ。
結局「common lispじゃなくてgaucheじゃないといけない」理由の説明できてないし。
お前のその返し(>>72に対しての>>76)じゃS式扱える言語ならなんだって構わないじゃないか。
gaucheユーザーのお前に>>72の論破できないのと同じように、Haskellユーザーも>>48を論破できない。
「自分でさえ論破できないことを他人に向かって言ってんじゃねえよ」ってことだろ?
119デフォルトの名無しさん
2018/04/28(土) 11:02:02.15ID:4irn3/UI
まあc++でコンパイラ毎に全くコンパイルされる内容が違う状況とか
味わってみれば lisp みたいに構文化されてるコードを最初から書いた方が良くね?
って気にはなる。
確かにプログラムを全く書いたことないやつに薦めるのはどうかと思うが、
ある程度プログラムやったことある奴ならそこまで敷居は高くないんじゃないかな。
120デフォルトの名無しさん
2018/04/28(土) 11:21:40.18ID:6ZMjGPsq
>>118
そもそも「あるわけがない」と煽ってるわけではない。
あるなら是非語れ、は真実。何回言っても「そういう煽り返しできる程度すら」挙がってこなかったから。

論破する必要なんかないんだよ。
「あるんだよ、こんなのなんだよ、haskellすげえっしょ」って言えればそれでいいだけなのに、

煽られたと思って、全く同じ文章で返事してくるほうが頭おかしいの。
その返事がgaucheであれなんであれ、煽られたと俺が受け取ったのは「全く同じ文章で返されたこと」であって、内容ではない。
121デフォルトの名無しさん
2018/04/28(土) 11:23:15.23ID:6ZMjGPsq
>>118
あ、言葉足らずだったな。
S式で表せる言語なら何でも構わない、それは真だよ。
common lispではいけない理由、は俺は触れてないだろ。
よく読んでよ。
122デフォルトの名無しさん
2018/04/28(土) 11:23:55.62ID:VDyKIUAr
(h (g (f x)))をx.f().g().h()に変えても括弧の数は変わらん
foldrがfoldlに変わるだけだ
畳み込みという概念を知るだけのために凡人は何年も修行しないといけないのが現実
123デフォルトの名無しさん
2018/04/28(土) 11:30:39.49ID:1KWTHO6L
Haskellのプロダクトならpandocがあるやん
124デフォルトの名無しさん
2018/04/28(土) 11:34:26.69ID:6ZMjGPsq
Parsecあるからなあ。
それは確かに「なるほど」と思ったわ。
125デフォルトの名無しさん
2018/04/28(土) 12:01:18.46ID:MXOeskUv
>>120はねえ

『論破する必要なんかないんだよ。「あるんだよ、こんなのなんだよ、haskellすげえっしょ」って言えればそれでいいだけなのに、』

って言ってるけどね

>>108のレスでは『そうか、じゃあずっとhaskellでそれ作っててくれ。』

って言ってるね

こいつは例の「あ」で、Haskell について知らないことを晒されたことを未だに根に持っているだけで、本当はHaskell になんて微塵も興味がないんだよ
以前もHaskell のプロダクトを教えてもらってたのに未だに聞いて回っているしね
相手にするだけ無駄無駄
126デフォルトの名無しさん
2018/04/28(土) 12:07:45.30ID:VDyKIUAr
別に凄くない普通の言語のために何年も修行しないといけない現実と戦ってるんだろう
今すぐ教えろ
一瞬で理解させろって
127デフォルトの名無しさん
2018/04/28(土) 12:33:56.14ID:MXOeskUv
>>116
Lispはまあぶっちゃけ滅んじゃったからねえ……
マクロとかいい感じに使えて良い言語だけど、ライブラリも割と貧弱で自分で構成していかないといけないから、他の言語でライブラリが充実してる今のご時世にわざわざweb屋が使うメリットはないんじゃないかな?
標準ライブラリが充実してる数少ないLispとしてRacketをオススメしておくから気になるなら触ってみるといいよ
128デフォルトの名無しさん
2018/04/28(土) 12:42:45.26ID:6ZMjGPsq
>>125
テンション上げて説明してくれてありがとうね。
でも>>123のほうがはるかに価値のある書き込みだったよ。
129デフォルトの名無しさん
2018/04/28(土) 12:45:30.74ID:6ZMjGPsq
知らないことを晒されて根に持ってる訳でなはいんだけどなぁ。
そのことを説明できる能力もなく、ただただ「凄いんだ」「アセンブリレベルの話なんか高級言語では考える必要もない」という低レベルな主張を繰り返されたから、
何故なの?じゃあ考える必要がない程度のもの作ってるんでは?
に答えが貰えなかったから、さあ語れって言ってるのにね。

信者って悲しいわ。
130デフォルトの名無しさん
2018/04/28(土) 12:46:34.26ID:6ZMjGPsq
>>126
違うよ。
する価値がないと思ってるから、次世代だ、する価値がある、と言うのならば、する価値を見せてみろって言ってる。
131デフォルトの名無しさん
2018/04/28(土) 12:49:52.15ID:6ZMjGPsq
根に持ってるとかそういうバイアスがかかるから、「名乗れ」と言われて名乗ってやった「あ」を外してる(そしてhaskell以外の話題ではフツーにやりとりしてる)のに、
またバイアスかけてどーすんのかなー、自分の好きな話だけしたいお花畑なのかな?
haskellが蓮華なのかな?って思うわ。

毎回haskellが話題に出るたびに虚しいな、このやりとり。
132デフォルトの名無しさん
2018/04/28(土) 12:53:56.83ID:MXOeskUv
コテを外されたからNG出来なくて困っちゃうよねえ
どうせバイアスがかかることが今回証明されたんだからもう一回コテ付けちゃいなよ
133デフォルトの名無しさん
2018/04/28(土) 12:55:50.41ID:VDyKIUAr
時間に価値がないと思えば何年でも続けられる
或いは時間に価値があるのは直感的に明らかと思うならば根拠のない直感にも価値はある
134デフォルトの名無しさん
2018/04/28(土) 13:05:36.78ID:6ZMjGPsq
>>132
どうせバイアスを「かける」ことが証明されたんだろw

議論の上の「よく読んで」という指摘に「こいつの人格が悪い」という人格攻撃に走った時点で議論としては終わってるよ。
悲しいね。自覚がないって。
135デフォルトの名無しさん
2018/04/28(土) 13:05:52.35ID:pEXwgWhN
今回は「あ」がめちゃくちゃ言ってるからHaskell ユーザー以外から「それの論法はおかしいだろ」って突っ込まれてる構図であって、Haskell ユーザーは全然登場していない。
まさかその構図が見えてないのか……?
136デフォルトの名無しさん
2018/04/28(土) 13:06:24.25ID:6ZMjGPsq
ああ、いつの間にか「議論スレ」でも無くなってるのなw
137デフォルトの名無しさん
2018/04/28(土) 13:07:13.14ID:6ZMjGPsq
>>135
登場していないのか、登場していないことになってるのかは、胸のうちだからわからんよ。
138デフォルトの名無しさん
2018/04/28(土) 13:08:50.21ID:6ZMjGPsq
俺も信者は悲しいなって言ってるだけで、誰が信者だとは言ってなかろう。
139デフォルトの名無しさん
2018/04/28(土) 13:12:15.02ID:Y8wRxMn5
>>134
宣言しておくね
俺は君と議論する意味はないと思ってるから、君と気付き次第バイアスをかけるよ
140デフォルトの名無しさん
2018/04/28(土) 13:14:43.02ID:6ZMjGPsq
>>139
バイアスをかけるという宣言のある議論の場っておかしいねw
素敵な花畑がほしいという自己紹介どうもありがとうね。
141デフォルトの名無しさん
2018/04/28(土) 13:15:19.49ID:Iob7Aa9f
>>137
いや分かってるよ。
>>48に突っ込んでるID:uFcuTWSAもID:CtLujT77もどっちもHaskellユーザーじゃないって言ってる。
まぁ、それさえも嘘かもしれないじゃないかと言われればそれまでだが…
142デフォルトの名無しさん
2018/04/28(土) 13:19:50.48ID:6ZMjGPsq
>>141
後者は使ってるけど推しではないと俺も思ってるけど、思ってるだけだよ。
嘘でもホントでもなく、知り得ないことだから仕方ない。

単純にわかるのは、煽って反応するやつが一定数居るって現実だけだけど、それで充分かと。
143デフォルトの名無しさん
2018/04/28(土) 13:21:04.02ID:Y8wRxMn5
>>140
少なくともHaskell に関しては、君はHaskell を知らないんだからHaskell について語る土俵に立ってないよね
にもかかわらず君は最初、まるでHaskell について知っているようかのようなふりをしながら議論に参加していたんだ
そんなのバイアスをかけられて当然だよ
144デフォルトの名無しさん
2018/04/28(土) 13:22:41.20ID:6ZMjGPsq
>>143
しつこいよ。
ここを花畑にして蓮華で蓮華座が組みたいなら人格否定せずに淡々と事実を述べれば良いだけでしょ。
人格否定した時点で議論は終わったの。
145デフォルトの名無しさん
2018/04/28(土) 13:23:04.78ID:pEXwgWhN
そりゃあめちゃくちゃな煽りを見たら煽られた奴以外も反応するだろ
146デフォルトの名無しさん
2018/04/28(土) 13:23:57.58ID:Y8wRxMn5
>>144
ん?
俺は君と議論したくないからNGさせろっているんだが
最初から君と議論する気はないよ?
147デフォルトの名無しさん
2018/04/28(土) 13:24:31.20ID:6ZMjGPsq
狂人の真似とて大路を走らば即ち狂人なり。
148デフォルトの名無しさん
2018/04/28(土) 13:24:51.63ID:6ZMjGPsq
>>146
w
149デフォルトの名無しさん
2018/04/28(土) 13:26:37.04ID:6ZMjGPsq
そんなに話したいなら、今立ってるPHPスレみたいに、次世代言語haskellスレでも立てれば良いじゃんw
150デフォルトの名無しさん
2018/04/28(土) 13:57:43.32ID:Iob7Aa9f
>>142
いや煽られたから反応してるんじゃなくて、
煽りに使われてる文章の論法がメチャクチャだったから反応してるんだろ?
その違いは重要だよ。
理論がしっかり通ってる煽りだったらわざわざHaskellユーザー以外の人間が反応するわけがない。
少なくともID:CtLujT77に関してはHaskell推しじゃないとお前も思ってるんなら
Haskell推しの人間以外がわざわざ反応しているのおかしな状況に気付けよ。
151デフォルトの名無しさん
2018/04/28(土) 13:59:28.76ID:Iob7Aa9f
>>150
間違えた。
前>>Haskell推しの人間以外がわざわざ反応しているのおかしな状況に気付けよ。
後>>Haskell推しじゃない人間以外がわざわざ反応しているのおかしな状況に気付けよ。
152デフォルトの名無しさん
2018/04/28(土) 14:02:18.88ID:Iob7Aa9f
>>151
ん?やっぱり間違えていなかった(´・ω・`)
アホか?俺は…
153デフォルトの名無しさん
2018/04/28(土) 14:06:12.96ID:pEXwgWhN
まさに>>150よ。本当にその通りなんだけど、「あ」だし通用しないんだろうな……
154デフォルトの名無しさん
2018/04/28(土) 14:18:38.33ID:4irn3/UI
次世代言語よりも日本語に付け加えるべき機能でも考えた方がいいじゃねーの?
155デフォルトの名無しさん
2018/04/28(土) 14:19:22.69ID:pEXwgWhN
ここまで来るともうユーザーの問題でしょw
156デフォルトの名無しさん
2018/04/28(土) 14:52:12.61ID:6SRb9SPu
盛り上がってんな
157デフォルトの名無しさん
2018/04/28(土) 14:53:37.63ID:6SRb9SPu
まーたADHDが匿名で場を荒らしてんのか
ほんま困ったやっちゃな
158デフォルトの名無しさん
2018/04/28(土) 15:24:44.95ID:x8i3U8ye
騒いでる方も騒いでる方だが風評被害やめてくれって感じだ
159デフォルトの名無しさん
2018/04/28(土) 17:25:12.63ID:YDDX+GsK
Haskelがこういう場での無意味な話題に必要以上に上がるせいで実際以上にHaskell好きがHaskeller扱いされてる気がする
160デフォルトの名無しさん
2018/04/28(土) 18:02:54.22ID:qinvp4N7
Haskellにはドカタの劣等感を刺激する何かがある
161デフォルトの名無しさん
2018/04/28(土) 18:27:33.31ID:LJZIGbTW
scala再興論がでましたか?
162デフォルトの名無しさん
2018/04/28(土) 18:36:36.79ID:/9xZc+y5
いかにもGWに予定のなさそうなキャラの子達が騒いでてウケる
163デフォルトの名無しさん
2018/04/28(土) 18:42:09.18ID:6SRb9SPu
おい、ブーメランやめろや
俺にも刺さる
164デフォルトの名無しさん
2018/04/28(土) 18:43:41.75ID:P0XLkdT4
Haskellって難しい理論がベースになってるせいか
ちょっとかじった程度で偉くなった気になる人多い
165デフォルトの名無しさん
2018/04/28(土) 18:47:51.00ID:ePnAhmH+
>>164
Rustにも同じことが言えるな
166デフォルトの名無しさん
2018/04/28(土) 19:02:25.33ID:M+Angxdt
rustに難しい理論はねーよw
所有権みたいなことはあるレベルになると自分で考えるようになること
167デフォルトの名無しさん
2018/04/28(土) 19:32:04.63ID:6SRb9SPu
>>150はだいたい同意だけど、ちょっとだけ同意できない部分があるな
今回のあDHDほどめちゃくちゃな論法でなくても場合によっては指摘するかもしれん
例えば俺はLisp使わんし好きでもないけど、「Lispは遅いから糞」っていうレスを見たら多分指摘する
168デフォルトの名無しさん
2018/04/28(土) 20:00:57.22ID:Iob7Aa9f
>>167
速さが求められるかどうかは何を作るか次第で変わってくるので、
取り敢えず「遅いからクソ」ってのは理論が通ってないし、突っ込まれて当然。
169デフォルトの名無しさん
2018/04/28(土) 20:03:45.30ID:6SRb9SPu
>>168
Common lispはまあまあ速いってことを念頭において書いたんだけど、それもそうだな。言う通りだ
170デフォルトの名無しさん
2018/04/28(土) 21:10:11.88ID:Iob7Aa9f
>>166
ん~そうかな?
それはあくまでC or C++をメインでやっていた人に限られると思うが…
GCありの言語がメインの人達はほとんど考えてないと思う(根拠は2年程前までの俺)。
171デフォルトの名無しさん
2018/04/28(土) 21:13:59.59ID:0/zAvcT+
【プリッツァー賞も公認】 トルーマン 議定書 CJA イルミナティ フリーメーソン マルタ騎士団
http://2chb.net/r/liveplus/1524877080/l50
172デフォルトの名無しさん
2018/04/28(土) 23:03:24.17ID:4irn3/UI
デザインパターンが流行った頃なんかもそうだが、
新しいものを「せっかく覚えたんだから」みたいな貧乏性に陥る奴は昔からいて、
そういう奴がレガシーコードを残してったという歴史がある。
173デフォルトの名無しさん
2018/04/28(土) 23:04:43.94ID:ERf465ou
ふつうに真っ当な突っ込みを入れられるだけでうじゃうじゃ言って一日でここまで伸ばせるって、相変わらずあDHDはやべえな
174デフォルトの名無しさん
2018/04/28(土) 23:13:45.22ID:pEXwgWhN
>>172
どういうこと?レガシーコードってCOBOLとかFortranのあれのことではなくて、テストのないコードのこと?
流行とどういう関係があるの?
175デフォルトの名無しさん
2018/04/28(土) 23:29:00.10ID:Iob7Aa9f
>>174
たぶんだが、新しいプログラミング手法(概念)がバズった時に「せっかく覚えたんで使ってみよう」
と適材適所もよく考えず(というよりかは覚えたばかりなんで適材適所がまだ分からないまま)
使う奴がいて、そういうコードは後から見ればレガシーコード(負の遺産)にしか見えないことじゃないの?
176デフォルトの名無しさん
2018/04/28(土) 23:34:35.25ID:pEXwgWhN
>>175
なるほどな。俺にも思い当たる節はあるなあ
俺はすぐに同等品を別の言語で作れるレベルを超える前に飽きちゃったから、ちょっと時間を無駄にした代わりにちょっとコーディングスキルが上がって次に繋がったって感じで終わったけど、
そんな理由で適当に作った負の遺産が問題になるほど作り込むってそれはそれで凄いなあ
177デフォルトの名無しさん
2018/04/28(土) 23:54:31.31ID:7LnY/MuY
その当時本当に新しかったなら負の遺産ではないだろう
デザインパターンがもう一回流行ったとき
新しいと勘違いしてもう一回何か作り込んだらそれこそが負の遺産だ
178デフォルトの名無しさん
2018/04/29(日) 00:05:40.56ID:ZzPNcJRD
負の遺産はSmalltalkではなくSmalltalkをぱくった奴らだな
179デフォルトの名無しさん
2018/04/29(日) 00:09:38.95ID:lPGHHBCx
流行のスタイルって、それ自体は流行るだけの理由があって十分に優れてるんだよ
統一されてるうちはいいけど、後に別の流行と混ざった途端に糞になる
COBOLも伝統的なIPOスタイルのコードは美しいけど、SQLまみれになってから無茶苦茶になった
180デフォルトの名無しさん
2018/04/29(日) 00:13:35.59ID:tKjITkqe
言語をデザインした人の手を離れてしまった感じか
181デフォルトの名無しさん
2018/04/29(日) 09:08:10.39ID:NMEmUmfV
今はデザインパターン流行っとらんの?
あれって恒久的に使われるもんじゃないので?
182デフォルトの名無しさん
2018/04/29(日) 09:19:27.18ID:lPGHHBCx
>>181
GoFのことなら、大半は未熟なオブジェクト指向言語の機能を使ったハックに過ぎないから
便利な「C#系」が主流になりつつある今となっては明示的に使われることは少なくなったね
183デフォルトの名無しさん
2018/04/29(日) 09:19:54.21ID:pWs0qeQL
>>178
ゴミ過ぎて負の遺産も残らなかったからね、Smalltalk
184デフォルトの名無しさん
2018/04/29(日) 09:28:37.21ID:ZzPNcJRD
型を明示したときにジェネリクスが一個も出てこないのは不自然だろ
恒久的ではない型システムを混ぜてしまった奴が戦犯
185デフォルトの名無しさん
2018/04/29(日) 09:56:16.97ID:bhRKstEI
Haskellがクソなのはまぁ同意するけど
Lispは割と直感的に書けるやろ
186デフォルトの名無しさん
2018/04/29(日) 10:14:21.74ID:tKjITkqe
>>185
副作用警察だ!貴様を逮捕する!(Land of Lisp風)
187デフォルトの名無しさん
2018/04/29(日) 11:14:43.19ID:ZzPNcJRD
Lispを守りHaskellを叩く理由は
Lispが直感的に書けるからであって、Lispをせっかく覚えたんだからではないらしい
叩いてる張本人がそう言うならそうなんだろう
188デフォルトの名無しさん
2018/04/29(日) 11:28:30.78ID:tKjITkqe
Haskellが直感的に書けないっていうのはよくわからん
普通の関数の記述は他の言語よりむしろ直感的だし、モナドだってdo構文使えば他の言語とそんなに変わらんやろ
189デフォルトの名無しさん
2018/04/29(日) 11:39:24.00ID:NMEmUmfV
>>182
よくわからんな。今どきの言語に合わせたデザインパターンを出してくれればよいのに
190デフォルトの名無しさん
2018/04/29(日) 12:12:05.39ID:fZUY9zfG
>>189
その今どきの言語というのがまだ定着していないんでないか?
何年かしてノウハウが蓄積されたらまたそれらをまとめたものが出てくるでしょ。
191デフォルトの名無しさん
2018/04/29(日) 12:22:20.97ID:tKjITkqe
第一級関数が一般的になった今となってはなあ
192デフォルトの名無しさん
2018/04/29(日) 12:23:33.65ID:WKly3EMn
>>188
遊びでしか使ったことないからあんま深くは言えないが
本気で使おうとすると、haskell のシンタックスからコンパイラが吐き出す実際のマシン語での動作を
予測できるくらいhaskellの癖をわかってないと使えん印象なんだが。
193デフォルトの名無しさん
2018/04/29(日) 12:58:45.23ID:tKjITkqe
>>192
もしかして速度が気になってチューニングとかしてるのか?
194デフォルトの名無しさん
2018/04/29(日) 14:23:59.40ID:tKjITkqe
ってか俺もHaskellにわかだし、多分俺より>>192のほうがしっかり使おうとして難しい所に当たったんだろうな
195デフォルトの名無しさん
2018/04/29(日) 14:45:46.07ID:2zTKi9ml
直感的って言うけどただの好みだよな
196デフォルトの名無しさん
2018/04/29(日) 16:09:36.69ID:1oUuYh/B
第一級関数使えると結構な数のデザインパターンが不要になるからな
継承は使わない方が良いっていう風潮だし、継承前提のパターンも微妙になってる
そもそも新しい言語からは継承消えていってるし
197デフォルトの名無しさん
2018/04/29(日) 16:58:09.31ID:pgV3TRdN
そもそも継承より委譲って大昔に言われてるんだけど
198デフォルトの名無しさん
2018/04/29(日) 17:05:21.00ID:FR8hyPh+
継承とはなんだったのか……
199デフォルトの名無しさん
2018/04/29(日) 17:07:40.92ID:7OBXIl/u
直感でエリクサーを消費できない人にはレガシーコードを捨てるのは難しい
200デフォルトの名無しさん
2018/04/29(日) 19:16:53.56ID:tKjITkqe
エリクサーユーザーおる?
201デフォルトの名無しさん
2018/04/29(日) 20:33:53.00ID:My7UiDyw
[[[ []]]]*[[ [][] ][] } } {} [[[
202デフォルトの名無しさん
2018/04/29(日) 23:08:30.47ID:rp6MdJfY
javaの次の汎用的な扱いをされる言語は何?
203デフォルトの名無しさん
2018/04/29(日) 23:19:21.03ID:tKjITkqe
C# !!!
204デフォルトの名無しさん
2018/04/29(日) 23:20:52.89ID:2zTKi9ml
rustやろな
205デフォルトの名無しさん
2018/04/29(日) 23:30:44.49ID:tKjITkqe
アドホック多相とパラメータ多相のある言語が流行りますように……
206デフォルトの名無しさん
2018/04/30(月) 00:16:52.31ID:b3OjaMrp
javaが滅びたのにpythonだけ生きてるパターン
207デフォルトの名無しさん
2018/04/30(月) 01:03:07.36ID:TE3I7qQh
>>200
いい翻訳本が出たってんで買ってみたけど
さっぱりわからんかった(>_<)
208デフォルトの名無しさん
2018/04/30(月) 01:08:01.23ID:IavhHICM
(Dart民おる?)
209デフォルトの名無しさん
2018/04/30(月) 01:12:55.79ID:oQ8WGmv4
過去スレ読み返してみたが「あ」は冗談抜きで本当にADHDだったのか…
それじゃ、これほどまでに意思疎通が難しいのはしょうがないわな。
一般人が通常の会話で無意識に補完してる部分を「あ」には明示的に言わなきゃ伝わらないということだな。
「あ」自身のためにももう一度コテハン付けるようにしてくれ。頼む。
210デフォルトの名無しさん
2018/04/30(月) 01:41:25.05ID:Gs35ApLe
ASDとADHDの違いがわかってない奴がまた一人出てきた
「あ」じゃないけどADHDの俺氏切れそう
211デフォルトの名無しさん
2018/04/30(月) 01:44:31.76ID:VNBrLSx6
>>210
「あ」は明らかに意思疎通が難しいけど、それはADHDではなくてASDってこと?
その辺の病気関連難しくてわかんないや
212デフォルトの名無しさん
2018/04/30(月) 01:53:57.70ID:Gs35ApLe
>>211
例えばこれ↓はASDの症状だ
>一般人が通常の会話で無意識に補完してる部分を「あ」には明示的に言わなきゃ伝わらない

「あ」やADHDの場合は多動(落ち着きのなさ)が常時発生してるから、
相手の話をちゃんと理解する前に衝動的に返事するので意思疎通が難しいと思われる
決して無意識の補完ができないわけじゃない。常に慌てているのと、自分でそれを直せないんだ
213デフォルトの名無しさん
2018/04/30(月) 02:01:58.81ID:VNBrLSx6
>>212
彼も本当は無意識下の補完は出来るはずということか
でも現状、非常に丁寧に説明することで、いっぱいレスを使ってなんとか意思疎通出来てるような気がするけど、実はもっと良いADHD向けの方法があったりするの?
214デフォルトの名無しさん
2018/04/30(月) 02:11:52.59ID:DJ94RjpX
彼の文章の読み難さについては医学的にはどう説明されるの?
215デフォルトの名無しさん
2018/04/30(月) 02:13:57.52ID:oQ8WGmv4
>>210
気を悪くさせたならすまなかった。
俺は友人の妹にADHDの子がいて時々会話することがあるってだけで、
そういう知識に詳しいわけじゃなく、俺の経験則での対応策なんだ。
216デフォルトの名無しさん
2018/04/30(月) 02:17:04.67ID:oQ8WGmv4
あと過去スレ↓の800~1000あたりの部分を読み返してみて分かったが「あ」はきちんとHaskellのこと分かってるよ。
http://2chb.net/r/tech/1492631007/

一連の流れを少し整理してみた。

「Rustアンチ」:Rustは再帰的データ構造が書けないからクソ。注釈:これはウソ。実際には面倒なだけで書ける。
「あ」________:書けるでしょ。お前ができないだけで。ただしHaskellみたいにジェネリクスの多相再帰はできないけど。
________________Haskellは実行時に多相再帰を解決するけど、Rustはコンパイル時に解決しなきゃならないから。
ここで、何故かHaskellerがHaskellをバカにされたと勘違いしたのか反応する。
「Haskeller」_:Haskellはジェネリクスをきちんとコンパイル時に解決してる。
「あ」:________ほとんどね。でも全てではない。
________________注釈:Haskellはジェネリクスの多相再帰だけは実行時に解決してるからこれは事実
「Haskeller」_:そんなはずない。コード例を見せてみろ
ここで、何故か「あ」が、Haskellのコード例ではなく、
Rustでジェネリクスの多相再帰コード(つまりコンパイルエラーする)例を示す。
「Haskeller」_:Haskellのコードじゃない。こいつHaskellのこと何もわかっちゃいない

って流れ。
つまり、絶望的に意思疎通が出来ていないだけでHaskellのことはきちんと分かってる。

ちなみにRustとHaskellのジェネリクスの多相再帰の問題は↓を見ると分かりやすいかな。
http://qnighy.hatenablog.com/entry/2017/03/16/114133

長文失礼した。
217デフォルトの名無しさん
2018/04/30(月) 02:25:44.37ID:Gs35ApLe
>>213
奴の調子次第だが、丁寧さはそのままで、一問一答みたいな感じで一度に処理する情報を少なくしてみてくれ
要はすごいスピードで飛ばし飛ばし文章を読んでる奴にどう理解させるかという問題になる
218デフォルトの名無しさん
2018/04/30(月) 02:37:34.60ID:Gs35ApLe
>>215
何かこっちこそすまん
しかし明示的に言うっていう対応策が有効そうなのがまた悩ましい
219デフォルトの名無しさん
2018/04/30(月) 02:39:38.75ID:VNBrLSx6
>>216
うーん。その解釈は結構腑に落ちない部分があるなあ。908,929,930のやりとりなんだけど
なぜかcar cdrが登場する点とか、(Rustのこと全然知らないんだけど、car,cdrは出ないよね?)
HaskellとScala間違えてるの?って聞かれた後でRustと訂正を入れずにoptionとかnilとか言ってるところとか
これ全部慌ててるからだっていうのなら、それこそ絶望的に感じる
220デフォルトの名無しさん
2018/04/30(月) 02:41:00.17ID:VNBrLSx6
>>217
現状、一つ議論しようと思ったらその倍以上のレスを使って理解させることになるのが悩みだったんだけど、解決は無理か。ありがとう
221デフォルトの名無しさん
2018/04/30(月) 02:48:52.14ID:VNBrLSx6
>>216
いや、ごめん。car,cdrは彼がlispユーザーだからなんとなく型名に使っただけか。
222デフォルトの名無しさん
2018/04/30(月) 02:57:11.16ID:oQ8WGmv4
>>219
「あ」本人が「その辺は記憶だより」とか「違うかも」的なこと言ってるから、多分混乱してるね。
なにより、そう考えると辻褄が会うんだよ。
逆に、Haskellのことを何も知らないと仮定したほうが、
「何故ジェネリクスの多相再帰はできるけど実行時に解決してるということを知ってるのか?」
ということの説明ができなくなる。
この問題はHaskellについて詳しくないと答えられないはず。
しかも、聞かれたわけでも無いのに自ら答えてる。
ということは、「Haskellについて知っている」と仮定するほうが妥当。というのが俺の考え。
223デフォルトの名無しさん
2018/04/30(月) 02:59:41.87ID:VNBrLSx6
>>216
いや、よく読んだらたしかにおっしゃる通りだ。そのほうが綺麗な解釈だわ。3回もレスをつけてすまん。
224デフォルトの名無しさん
2018/04/30(月) 03:11:56.18ID:/NJkj9K4
よく読まず慌てて見当違いなレスをする症例>>219
225デフォルトの名無しさん
2018/04/30(月) 03:26:11.79ID:oQ8WGmv4
>>224
つまり一般人でも時々やってしまうことだからそう珍しいことじゃない。
ただし、「あ」の場合は「時々」じゃなくて「いつも」にということになるけど。
あと、そういうの煽ってるように見えるからよくないと思うよ。
226デフォルトの名無しさん
2018/04/30(月) 03:30:29.33ID:lBEDIubv
そうですね。
不快な書き込みをしました。謝ります。
227デフォルトの名無しさん
2018/04/30(月) 08:29:27.22ID:vjTpOI8h
>>208
期待はしてる
228デフォルトの名無しさん
2018/04/30(月) 09:18:28.29ID:96dXjXi6
だいぶ丁寧な読み解きだね。
229デフォルトの名無しさん
2018/04/30(月) 09:25:35.09ID:lJZKagtE
情報処理が遅いのは病気ではないぞ
自称健康な人でも前スレで出た情報を今頃処理してるんだから
人類はそんなに優秀な生物ではなかったというだけの話
230デフォルトの名無しさん
2018/04/30(月) 10:18:19.35ID:gMZ30LHG
最近Macを買ったからSwiftでも始めようかと思うんだけど
Objective-cもSwiftもどちらも全く触ったことがないならSwift始めるでOK?
231デフォルトの名無しさん
2018/04/30(月) 10:34:57.84ID:zm40T+GM
次世代言語スレとしてはQ#から始めるべきと答えざるを得ない
232デフォルトの名無しさん
2018/04/30(月) 10:42:10.44ID:jNFXnGo+
「あ」の場合は慌ててるだけじゃあないよね
慌ててるだけだったらID:VNBrLSx6みたいに自己訂正して話はおしまい。
あんなに長々と場を荒らしたりはしない
233デフォルトの名無しさん
2018/04/30(月) 10:45:01.49ID:jNFXnGo+
>>230
OK
234デフォルトの名無しさん
2018/04/30(月) 12:49:46.09ID:BQNpYLuj
解釈の原因は解釈者自身の固定観念。解釈の自由には責任が伴う
言葉風紀世相の乱れはそう感じる人の心の乱れの自己投影。人は鏡
憤怒は一時の狂気、無知無能の自己証明。中途半端な知識主ほど激昂
「真実は一つ」は錯誤。執着する者ほど矛盾を体験(争い煩悩)
他人に不自由(制約)を与えれば己も不自由(不快)を得る
問題解決力の乏しい者ほど自己防衛の為に礼儀作法マナーを要求
情報分析力の低い者ほどデマ宗教フェイク疑似科学に感化洗脳
自己肯定感の欠けた者ほど「己の知見こそ全で真」に自己陶酔
人生経験の少ない者ほど嫌いキモイ怖いウザイ憎い想定外を体験
キリスト教は世界最大のカルト。聖書は史上最も売れているト本
全ては必然。偶然 奇跡 理不尽 不条理は思考停止 視野狭窄の産物
人生存在現象に元々意味価値理由目的義務使命はない
宗教民族領土貧困は争いの「原因」ではなく「口実動機言訳」
虐め差別犯罪テロ紛争は根絶可能。必要なのは適切十分な高度教育
体罰は指導力問題解決力の乏しい教育素人の独善甘え怠慢責任転嫁
死刑は民度の低い排他的集団リンチ殺人。「死ねば償える」は偽善
核武装論は人間不信と劣等感に苛まれた臆病な外交素人の精神安定剤
投票率低下は社会成熟の徴候。奇人変人の当選は議員数過多の証左

感情自己責任論 ~学校では教えない合理主義哲学~ m9`・ω・)
235デフォルトの名無しさん
2018/04/30(月) 13:23:13.01ID:9wPwzi/d
[[[ [ "[]" ]]] [] [][[[ [] ]][]
236デフォルトの名無しさん
2018/04/30(月) 14:14:39.69ID:nkNJAN4m
>>219
>>222
「あ」だから間違ってるに違いない、と言うバイアス無しで検証してくれてありがとうね。
でも、俺がhaskellの知識があろうがなかろうが(事実自慢できるほどは無いし)、そんなことはどうでもいい人たちが
「俺の方が賢い」「知識ないよね?対等じゃないから無視するね」とやりたいって事はもうどうにもならんと思ってるから、
半コテすらやめたし、鬱陶しくなりそうだったら一旦煽って瞬間的に燃やして、
建設的な話ができるようになるように鎮火するの待ってる。
237デフォルトの名無しさん
2018/04/30(月) 15:27:33.84ID:oQ8WGmv4
>>236
別に「ありがとう」だとか「鎮火するのを待ってる」とかはそれで良いんだけど、
「あ」が「建設的な議論」がしたいのなら、その前に「あ」自身がきちんと「意思疎通」できるように心がけてね。
でないと、「あ」に対して人格否定を始める人間はいなくならないからね。
こういうのは相互に努力するから解決するんであって、どちらか一方だけが頑張ってもダメなんだよ。
今回の件で、君にバイアス無しで検証する努力をしている人もいるということは分かったでしょ。
だったら、君も他人に対してしっかりと意思疎通しようとする努力をしようね。
(「具体的にどう努力すればいいのか?」とかまではさすがにここじゃ面倒を見切れないからリアルの友人とかに相談してね)
少なくとも、ここにいる君以外の大多数の人間は「「あ」がきちんと意思疎通するための努力をしていない」と思ってるはずだよ。
もし、「あ」が「そうじゃない」と思うのなら、今この場で「自分は意思疎通の努力をしていないように見えますか?」と周りに聞いてみなよ。
多分ほとんどの人間が「「あ」は意思相通の努力をしていないように見える」と答えるはずだから。
でもって、「「あ」が意思疎通の努力をしている」と周りが感じられるようになったら、人格否定してくる奴らは次第に減るはずだから。
そもそも、バイアスをかけられてしまった原因は自分にあるということを自覚してね。
238デフォルトの名無しさん
2018/04/30(月) 15:47:44.79ID:MsXGFGbf
プログラマって自分の正当性に異常に執着するやつ多いよね
スレ違いなのは明白なのに延々とどうでもいい話を続けるやつはその典型
一種の知的障害なんだろうな
239デフォルトの名無しさん
2018/04/30(月) 15:51:20.62ID:nkNJAN4m
>>237
うん、それはおっしゃるとおりだな。
ちゃんと読んでくれてる人が居るならば、言葉足らずではいかん。

伝わるだろう、と最低限で伝えるのは改めるわ。
書いてねえこと読むなとか、書いてあること先に読めとか言うのは、まあ嫌味にならん程度に補足しながら話す。
嫌味言う方だから、「本人もわかってるだろうし、ここまで言うとやっぱこれも嫌味になるかな」って自重してた。

すまんかった。
240デフォルトの名無しさん
2018/04/30(月) 15:53:51.40ID:c3w1WFHI
バイアスバイアスっていう割に本人も他人の意見にバイアスかかってそうなのが気にかかる
241デフォルトの名無しさん
2018/04/30(月) 16:06:52.94ID:oQ8WGmv4
>>238
スレチなのは承知の上で、それでも敢えて指摘してるよ。
でないと、今回の場合はそもそもマトモなコミュニケーションにならん。
スレチかそうでないか以前に2chは(議論、雑談を含む)コミュニケーションの場だろう?
でもスレチなのは事実だ。すまないな。
あと、俺もプログラマだが「正当性を主張したい」わけじゃなくて「問題を解決したい」んだよ。
つまり、デバッグがしたいわけ。
デバッグがしたいってのは実にプログラマらしくて、少なくとも悪いことじゃないと俺は思うけど。
俺はこの辺で一旦ROMるんで後はご自由に。
242デフォルトの名無しさん
2018/04/30(月) 16:08:41.93ID:jNFXnGo+
>>241
えー。このスレのコミュニケーションの正常化のためには君は必要不可欠な存在だ。そう言わずに是非書き込んで欲しい
243デフォルトの名無しさん
2018/04/30(月) 16:14:00.03ID:5HyEUtmg
そらそら、正当性を主張せずにはいられないんだよ、ビョーキなんだよ
デバッグは結構、でも自分のバグは自分で潰してくれ
244デフォルトの名無しさん
2018/04/30(月) 16:31:27.30ID:jNFXnGo+
>>243
やめたまえ。またこのスレを一つ議論するたびに倍以上を解釈の伝達に使う地獄に戻す気か
245デフォルトの名無しさん
2018/04/30(月) 16:53:26.25ID:lJZKagtE
デバッグがしたいならまずコードとコメントを区別しようぜ
コードは良い内容も悪い内容も実行される
コメントはある意味フィクションであり利益は一円も出ないがその代わり損もしないのだ
246デフォルトの名無しさん
2018/04/30(月) 17:23:54.02ID:c3w1WFHI
>>239のレスからは自分が悪いから治そうというよりも、あくまでも相手が悪いから合わせてやるという感じの上から目線な強い心意気が伝わってくる(もちろん実際の心内は知らんがね)
これだけ親切なID:nkNJAN4mにあれだけ懇切丁寧に説明されてもこんな反応しか返せないなんて、これは多分治らんな。
247デフォルトの名無しさん
2018/04/30(月) 17:47:21.38ID:kQcRd75k
>>242
他人に任せず自分でやったら?
248 ◆QZaw55cn4c
2018/04/30(月) 17:48:46.39ID:TVB5RPq5
>>246
そんなこといいんだよ
本人が仮に「相手に合わせてあげよう」とか思っていたとしても、コミュニケーションが通るのなら、それならそれで結果 all right だろう?
249デフォルトの名無しさん
2018/04/30(月) 18:21:45.68ID:c3w1WFHI
>>248
こういうのは心の持ちようだよ。それでも治るんなら良いけれど、
現にこれまでも彼は何回か同じように諭されて、今回みたいな感じのちょっと反省した風になって、それでも治りはしていないじゃないか
250デフォルトの名無しさん
2018/04/30(月) 18:49:09.78ID:FLcW1EfP
お前らの頭が旧世代なのは分かったから
次世代言語の話しろよ
251デフォルトの名無しさん
2018/04/30(月) 18:55:23.39ID:nkNJAN4m
>>246
大人げない言い方をすると、心内を知らないならそういう事言わないほうがいいと思うが。
あー、たしかに悪かったな、と思って「すまん」と言ったつもりだよ、少なくとも。
仕方ないと思ってりゃ、仕方ねえからやってやると言ってるわ。
どんだけ突っかかれば気が済むのかな?
252デフォルトの名無しさん
2018/04/30(月) 18:57:36.14ID:nkNJAN4m
>>249
そもそも勝手にキレてくる事のほうが多いけどね。haskellerさんは。
お前などに語られたくない、と。
まあ、じゃあ先に語れよって思っても仕方ないじゃん…。
253デフォルトの名無しさん
2018/04/30(月) 18:57:59.35ID:VNBrLSx6
>>250
現状のこのスレの状況で次世代言語の話をしようとしてもすぐに脱線しちゃって、
>>48のレスから>>150の簡単な合意を得るまでに102レスもかかっている。こんな状況では次世代言語の話をしてもすぐに脱線することになると思う
今行われている会話はこの状況を脱するためには必要なことだと思う。
254デフォルトの名無しさん
2018/04/30(月) 19:19:46.96ID:EoSvsvu6
次世代言語を使ってあDHDのレスを識別するAIを作ればいいだろ
255デフォルトの名無しさん
2018/04/30(月) 19:26:22.68ID:c3w1WFHI
>>251
少なくとも>>239はそういう風に取られかねない文書だよ。
>>237のいう「他人に対してしっかりと意思疎通しようとする努力」を本当にしている?していてその返答?
「もしかしたらまた自分の文章が悪かったかもしれない」という自省の念はない?俺に反論することが全てになっていない?意思疎通に限らず、成長に重要なのは自省だよ。


しかし「どんだけ突っかかれば気が済むのかな?」か……
俺はID:oQ8WGmv4と違ってADHDの人とコミュニケーションを取るのは上手くないし、>>253が言ってるような簡単な合意に至るまで102レスもかかる人とは話したくない。
でも君が変わりもしないしコテもつけないしでこのスレに居座っているなら、匿名の君に触れてしまい、しょうもない合意にレスと時間を費やすことになる。それは嫌だし、君はコテをつけないという。だから君が変われないのは困るんだ。そう思っての>>246のレスだよ。
それでも突っかかって欲しくないっていうならまたコテをつけなよ。そうしたら俺はもう君には二度と話しかけないよ。
256デフォルトの名無しさん
2018/04/30(月) 19:27:30.26ID:c3w1WFHI
>>252
このスレでもそうだった?今もそう?
君は随分とバイアスを気にしているけど、自分の認識にバイアスはかかっていない?
257デフォルトの名無しさん
2018/04/30(月) 19:38:34.18ID:VNBrLSx6
ふと思ったんだけど、そもそもADHDの煽りカスって時点でコミュニケーションは無理だよね
ADHDはやめられないし、煽りカスも辞めないという。これは厳しい
258デフォルトの名無しさん
2018/04/30(月) 19:43:11.80ID:IW/uLpnH
言語の話しろよ
259デフォルトの名無しさん
2018/04/30(月) 19:50:35.50ID:u1hVCPKT
ある意味言語の話だな
これほど真面目に自然言語について議論してるスレはなかなか無いぞ
260デフォルトの名無しさん
2018/04/30(月) 20:18:05.96ID:kQcRd75k
>>259
まあ、板違いだけどね。

「あ」とやらがコテつけてくれるのが最も現実的で皆が幸せになる解決策だと思うよ。
261デフォルトの名無しさん
2018/04/30(月) 20:31:29.13ID:nkNJAN4m
>>255
意思疎通しようとする努力はしてるつもりだよ。
匿名の俺に触れてしまい、と言うか、結構匿名の俺と普通に議論してることもあるんだよ。
ただ、単に一部の人間が、haskellについてマイナスにも取れる事を言うと燃え上がるだけであって。

いずれにせよ、余計なことは言わないようにするよ。
特にhaskellに関してはその存在すら触れないようにする。

では。
262デフォルトの名無しさん
2018/04/30(月) 20:41:42.49ID:lJZKagtE
ある人物がいるところには必ず悪い結果が生じる
ある言語に触れたら必ず悪い結果が生じる
こういう因果関係に縛られて身動きが取れない世界観をなんとかできないのか
263デフォルトの名無しさん
2018/04/30(月) 21:44:21.59ID:lJZKagtE
逆張りが必要だ
旧世代のジンクスが破れる方に賭けないと次世代は出てこない
264デフォルトの名無しさん
2018/04/30(月) 23:45:34.54ID:oQ8WGmv4
ひでぇな…ちょっと見てない間にこの有り様かよ。
俺も煽り耐性ないほうだから「ROMって様子見るつもり」が耐えきれず出て来ちゃったよ。
このスレにはADHDと知ってなお煽るカスがいるのかよ。
特にID:c3w1WFHIだよ。
おまえ「コテ付けたら話しかけない」とか言ってるが
>>240,>>246,>>249,>>255,>>256の中で「コテ付けてほしい」って言ってるのが
>>255のたったの1つだけ。他は全て「あ」に対しての「煽りや批判」。
おまえの本心は「コテ付けて欲しい」でも「「あ」と話したくない」でもなく、
ただ単に「煽ったり批判したりしたい」だけだよ。
「「相互」に努力しろ」って言ってるだろうが。
解決するつもりが欠片でもあるなら、いちいち煽ってんじゃねぇよ。
解決するつもりが全くないなら、それ以上は俺もどうしようもできねぇよ。

自分からこの話振っといて言えた立場じゃないのは重々承知なんだけど、
そろそろ次世代言語の話に戻ろう。ご迷惑お掛けしました。
265デフォルトの名無しさん
2018/05/01(火) 00:33:30.64ID:xd1ck8hZ
Haskellやってから$で後ろの文を優先度低いコードにするやつが欲しいけどそういうの流行ってないのけ?
266デフォルトの名無しさん
2018/05/01(火) 00:57:22.30ID:ur47byug
haskell触ると各種括弧が煩わしくなるね
267デフォルトの名無しさん
2018/05/01(火) 01:18:59.27ID:ZcmzMd+9
オブジェクト指向捨てて関数型の鬱陶しいところ解決したら次世代言語でいいよ
268デフォルトの名無しさん
2018/05/01(火) 01:20:01.70ID:2fuYCH09
HaskellはCommon Lisp の力強さとSchemeの美しさを併せ持ち、インデントに意味を持たせることで極限まで括弧を減らした言語だってLand of Lispかなんかに書いてあった希ガス
269デフォルトの名無しさん
2018/05/01(火) 02:23:29.29ID:6vH9r7He
それは気のせい
270デフォルトの名無しさん
2018/05/01(火) 02:52:22.58ID:4yrhftk/
みんなxcodeでカード書いてるんでしょ?
どうやってxcodeの使い方覚えた?
visualstudioしか今まで使ってこなかったからIDEの操作で右往左往してるわ
271デフォルトの名無しさん
2018/05/01(火) 02:52:52.65ID:4yrhftk/
誤字ってた
カードじゃなくてコード
272デフォルトの名無しさん
2018/05/01(火) 06:06:49.46ID:BQXmdu4P
iOSアプリ入門で覚えた。
xcode自体は割と素直な環境だと思うけどな。ただし俺の知識はswift2で止まってるが。
273デフォルトの名無しさん
2018/05/01(火) 06:24:30.92ID:BQXmdu4P
ここでhaskell押しをよく見るけど、正直取っ付きやすさは最悪だと思うんだけど、、
関数プログラミング実践入門
ってやつを読み進めてみたけど、半分過ぎても helloWorldまで行かなくて、なんてヘビィな言語だと思ったわ。
一方go言語は一時間で動かせました。
学習日一日目でphpで書いたバッチ処理をgoに移植できたよ。
274デフォルトの名無しさん
2018/05/01(火) 08:13:28.92ID:4+zKgECd
なんだかんだでgoは学習コストとできるコードのバランスは良いと思うよ。
あんまり無作法なことするとコンパイラがコンパイルしてくれないくらいか。
gofmtあるし、vscodeでもプラグイン入れたらわかりやすいし。
275デフォルトの名無しさん
2018/05/01(火) 08:33:48.84ID:BQXmdu4P
後、結構組み込みに向いてないかなgoは?
例えばラズパイでsdに録画したデータを外部サーバにpostしようとしたときに、
一度メモリ上に、全部配置してからじゃないと動かない挙動だったんだけど、
検証したらpost処理時にsdからreadしながら転送できるように修正できた。
276デフォルトの名無しさん
2018/05/01(火) 08:33:49.85ID:4kJCxQxL
純粋オブジェクト指向言語が定着しなかったのと同じで
純粋関数型言語もメインストリームにはなれないと思う
277デフォルトの名無しさん
2018/05/01(火) 08:35:30.68ID:BQXmdu4P
goの良さって標準ライブラリが全部goで書き直されていて、それを読めば解決策が思いつくことがあるってことだな
278デフォルトの名無しさん
2018/05/01(火) 08:38:56.70ID:4+zKgECd
>>275
リッチな組み込みには向いてると思ってる。
linuxのarm用にコンパイルしたら、androidでも動くし(普通のSDKアプリからプロセス起こして遊んでみた)
GCの動作と、そもそもリアルタイムが出せないを許容できるなら便利かと。
たしかqiitaでも、組み込みに押してる人居たよ。
279デフォルトの名無しさん
2018/05/01(火) 08:50:20.21ID:BQXmdu4P
goって組み込みでも使えるしwebでも行けるしスマホアプリも作れなくもないし
wasmにも対応間近だからwebクライアントにも進出しそうだし、いい感じ。
280デフォルトの名無しさん
2018/05/01(火) 09:14:08.18ID:jT7wV8oq
rustでいいやん
281デフォルトの名無しさん
2018/05/01(火) 09:21:25.08ID:DdhcnubW
>>280
Rustはどうしても手軽じゃないんだよね
とはいえ、Rustも慣れると案外サクサク書けるから悪くはないと思う
慣れるまでメチャクチャ時間がかかることがそもそも問題なんだけどね…
282デフォルトの名無しさん
2018/05/01(火) 10:05:10.06ID:jT7wV8oq
メチャクチャっていうけど一週間もあればそれなりに書けるようになるでしょ
283デフォルトの名無しさん
2018/05/01(火) 10:22:04.99ID:jugg/3+t
慌てるなよ
自分が数学を何年勉強したか思い出せ
1週間で何ができる?何もできないでしょ
284デフォルトの名無しさん
2018/05/01(火) 10:22:33.15ID:DdhcnubW
>>282
Rustが一週間とか羨ましい頭してるな
毎日まじめにやってたわけじゃないのもあるけど、半年かかったわ
一週間とかおれには無理
285デフォルトの名無しさん
2018/05/01(火) 10:27:41.79ID:btT/kXg5
>>283
一つのプログラミング言語を現場に持ち込むのに数年かけているのか?

>>284
phpで書いたバッチの移植くらいならできるでしょ
286デフォルトの名無しさん
2018/05/01(火) 10:32:48.52ID:DdhcnubW
>>285
それくらいならまあギリギリ
でもちょっとでも複雑になっただけですぐアウト
287デフォルトの名無しさん
2018/05/01(火) 10:42:57.85ID:KdOUAylP
とっつきやすさとかいうほど重要か?Javaとかそんなにとっつきやすかったイメージないけど
288デフォルトの名無しさん
2018/05/01(火) 10:54:12.75ID:jugg/3+t
金のことばっかり考えると勉強ができなくなるようだな
子供は金持ってないのが当たり前だから何年も勉強できる
289デフォルトの名無しさん
2018/05/01(火) 11:12:05.04ID:mR7q/yna
>>273
> 関数プログラミング実践入門
それは関数型言語の入門書だからHaskellのHello, Worldがなかなか出てこないのは当然
Haskellが「ヘビィな言語」なんじゃなくてあなたが「関数型言語」に馴染みが無いだけだと思うよ
290デフォルトの名無しさん
2018/05/01(火) 11:34:41.33ID:KdOUAylP
まあたしかにHaskellのHello worldなんて大した長さじゃないし、本の最初のほうに配置するべきよな
そして最初に配置している本は見たことがない。あるのか?
291デフォルトの名無しさん
2018/05/01(火) 11:42:18.17ID:BQXmdu4P
>>289
馴染みのある人間が 入門 を果たして読むのか。
292デフォルトの名無しさん
2018/05/01(火) 11:49:01.59ID:jugg/3+t
Haskellの難易度はC++とほぼ同じと気付くまでにあと何年かかるかな
293デフォルトの名無しさん
2018/05/01(火) 11:50:27.39ID:BQXmdu4P
phpで並列処理が書きづらくて、goに触り始めて感動して。
ちょっと触ってみて使えるのを確認して、
goを本格的に触るようになった。
ちょっとしたモチベーションで気軽に始められる。
ローリスクハイリターンな感じ?

haskellとかrustに触るモチベーションって言語マニア以外は何があるかな?
294デフォルトの名無しさん
2018/05/01(火) 11:50:49.86ID:mR7q/yna
>>290
関数型とはなんぞやをすっとばしても入出力を扱うには副作用・モナドあたりを先に
やる必要があるから仕方ないね

>>291
つまり馴染みのないあなたにはHaskellが「ヘビィ」かどうかなんて判断できないってことだよ
295デフォルトの名無しさん
2018/05/01(火) 11:53:26.62ID:KdOUAylP
>>294
そんなんHello wordするためにはincludeを理解する必要があるって言ってるようなもんじゃん
IOアクションなんて最初は「おまじない」で良くね?
296デフォルトの名無しさん
2018/05/01(火) 11:59:45.69ID:DdhcnubW
>>293
Haskellの方は知らん
RustはC++の代替え
C++はもう嫌だ
297デフォルトの名無しさん
2018/05/01(火) 12:01:56.82ID:KdOUAylP
D……
298デフォルトの名無しさん
2018/05/01(火) 12:05:51.63ID:BQXmdu4P
>>294
そうかな。elixirも関数型言語だけど、だいぶ遊びやすかったけど。
俺みたいなショボいプログラマーはhaskellに近づかないほうが良いのかな。
素直にelm辺りを触ってみますわ。
299デフォルトの名無しさん
2018/05/01(火) 12:09:09.54ID:jugg/3+t
C++にはbetter Cとかいうチート技があるから1秒で即戦力
1時間で自慢してるやつは恥を知れ
300デフォルトの名無しさん
2018/05/01(火) 12:23:26.29ID:KdOUAylP
>>293
Haskell 勉強中なんだけど、ちょっとパーサーをいっぱい書く必要があって、パーサーを量産することがモチベーションになってる。Real world Haskell でチュートリアル的にJsonパーサー作れるくらいにはパーサー書きやすいんだと思う
でも環境周りとか正直鬱陶しいから、もしもっと書きやすい言語があったらそっちにしたい
301デフォルトの名無しさん
2018/05/01(火) 12:32:50.54ID:4yrhftk/
>>272
ありがとう
それは書籍?
302デフォルトの名無しさん
2018/05/01(火) 13:22:56.98ID:btT/kXg5
>>293
rustやhaskellを選択しない自分に劣等感を抱いてるのかね
他の言語をオタク専用であるかのように揶揄して自尊心を満たそうとするのはやめんしゃい

わしはGCとおさらばしたいしresult/optionの扱いが気に入ってrustを使ってる
303デフォルトの名無しさん
2018/05/01(火) 13:42:38.59ID:BQXmdu4P
>>301
特定の書籍ではないね。本屋に山ほどあるどの本でも良いのでわ?
もしくは最近だとmixiとかが社内研修用のコンテンツを無料で公開してるからそれを利用しても良いと思う。
304デフォルトの名無しさん
2018/05/01(火) 14:17:29.04ID:4+zKgECd
GCフリーは確かに魅力だけど、充分に賢ければGC言語でもそこまで問題になる事は無いと思うが。
305デフォルトの名無しさん
2018/05/01(火) 14:18:21.90ID:KdOUAylP
そこは状況によるし一概に否定出来ることではない
306デフォルトの名無しさん
2018/05/01(火) 14:25:43.54ID:4+zKgECd
そういや、rustだと、自身も誰かから特定のイベントを受け取るか、誰もイベントを送り得なくなったら死ぬような感じの、
タイマーみたいな自発的にイベントを起こすイベントソースは誰か所有すべきなのかな。
タイマー起こしたやつってのも変だし。
307デフォルトの名無しさん
2018/05/01(火) 14:43:22.00ID:jugg/3+t
Rustの Rc<T> 型の問題
Haskellの IO a 型の問題
難易度下げたいなら型を書くのをやめればいいんだよ
308デフォルトの名無しさん
2018/05/01(火) 14:45:09.99ID:KdOUAylP
書きたくないなら省略すれば良い
309デフォルトの名無しさん
2018/05/01(火) 14:52:11.01ID:DdhcnubW
>>307
とりあえずRustの話だが、Box<T>にせよRc<T>にせよ書かねえと
ボローチェッカを満足させられない or コストを可視化できねえんだよ
310デフォルトの名無しさん
2018/05/01(火) 15:07:40.80ID:jugg/3+t
>>309
そうだね
チェックしたいなら学習コストを犠牲にすればいい
コスト下げたいならチェック機能を犠牲にすればいい
311デフォルトの名無しさん
2018/05/01(火) 15:20:54.24ID:DdhcnubW
>>310
なんか勘違いされた気がするから補足
コストってのは学習コストのことじゃなくて実行時のコストのことね
Boxを明示することでヒープであるコストを可視化する
Rcを明示することで参照カウンタであるコストを可視化する
312デフォルトの名無しさん
2018/05/01(火) 15:24:30.26ID:vzW3/HLG
コードの短さこそ正義。ただし、可読性を損なわない範囲で
313デフォルトの名無しさん
2018/05/01(火) 15:26:12.15ID:DdhcnubW
つまり、書かないとボローチェッカを満たせないというのももちろん理由の一つだけど
実行時のコストを可視化するという意味でも書いておいたほうがいいというわけ
Rustは実行速度が速くないといけない言語なんでね
314デフォルトの名無しさん
2018/05/01(火) 15:53:34.08ID:jugg/3+t
2種類のコストの概念を学習するのが面倒臭い
だから色々なコストを無視して作ったフリーソフトが無双してるんだと思う
315デフォルトの名無しさん
2018/05/01(火) 19:39:03.13ID:vzW3/HLG
リスト内包表記が読みにくいって人たまに見かけるけど、このスレにもおる?
316デフォルトの名無しさん
2018/05/01(火) 19:42:50.63ID:xd1ck8hZ
Haskellのリスト内包表記がモナドと知った時の衝撃
まあ3項演算子と同じで慣れよね
317デフォルトの名無しさん
2018/05/01(火) 19:49:54.02ID:KdOUAylP
doといい、内包表記といい、全部ちゃんと何かのシンタックスシュガーになっているのには恐れ入るわ
ユーザーからしてみればそこまでしてもらわなくてもいいっちゃいいもん。
開発側の強い拘りを感じて好きだわ
318デフォルトの名無しさん
2018/05/01(火) 19:52:14.09ID:vzW3/HLG
Fortranのあれは内包表記と扱って良いものか悩む
319デフォルトの名無しさん
2018/05/01(火) 20:23:57.89ID:KdOUAylP
RustはDみたいに.mapとか.filterとか繋げるのが主流かいな?
320デフォルトの名無しさん
2018/05/01(火) 20:31:00.33ID:pBAnst7/
拘りっつーか関数型言語なんでそりゃそう作るでしょうよ
適当に文法導入してそれが関数に還元できないものだったら理論破綻するじゃん
321デフォルトの名無しさん
2018/05/01(火) 20:37:38.61ID:KdOUAylP
そういえば純粋関数型だったな。Haskellは
純粋の意味を忘れておった
322デフォルトの名無しさん
2018/05/01(火) 20:45:19.66ID:DdhcnubW
>>319
Dはやったことないから知らんけど多分同じ
C#のLINQみたいな感じでメソッドチェーンする
323デフォルトの名無しさん
2018/05/01(火) 21:21:46.75ID:KdOUAylP
>>322
Rustは速くなくっちゃいけないとの事だけど、それって速いの?
324デフォルトの名無しさん
2018/05/01(火) 21:29:57.85ID:btT/kXg5
早いの?ってなにに対して?
325デフォルトの名無しさん
2018/05/01(火) 21:35:11.22ID:KdOUAylP
>>324
ループで書いた場合
326デフォルトの名無しさん
2018/05/01(火) 21:42:41.95ID:btT/kXg5
ループってCのループ?
327デフォルトの名無しさん
2018/05/01(火) 21:55:33.38ID:KdOUAylP
>>326
え、rustのループとCのループって速度違うの!?
じ、じゃあCのループで
328デフォルトの名無しさん
2018/05/01(火) 22:04:27.49ID:btT/kXg5
rustのmap,filterとcで同等のことをするのは、真ん中とって同じくらい速いと考えてよろしいですよ
329デフォルトの名無しさん
2018/05/01(火) 22:07:47.19ID:KdOUAylP
おお、マジかすげー!!
330デフォルトの名無しさん
2018/05/01(火) 22:22:36.78ID:btT/kXg5
でしょ、rustおススメさ
331デフォルトの名無しさん
2018/05/02(水) 00:38:20.18ID:dFHCtPB7
rustは速さとモダンな記述のバランスが良い
332デフォルトの名無しさん
2018/05/02(水) 00:58:58.35ID:+3mXDJV1
大変非本質的なことを書いて申し訳ないんだが、<>と::に拒否反応が出る。俺だけかな
333デフォルトの名無しさん
2018/05/02(水) 01:41:11.00ID:7KDFadEV
無茶苦茶な事敢えて言うがやっぱプログラミングするに至って世界に記号が足りない。だから2個記号を並べるというダメな記法になる
ついでにアルファベットも50個くらいにしてくれ
334デフォルトの名無しさん
2018/05/02(水) 01:45:52.01ID:vteIglDu
やっぱりAPLって神だわ
335デフォルトの名無しさん
2018/05/02(水) 01:47:50.27ID:vteIglDu
Vimでなんかのプラグイン入れてhaskell書いてたらラムダ式のバックスラッシュをλに変えられて草生えた
336デフォルトの名無しさん
2018/05/02(水) 10:07:19.34ID:mp5av7vO
>>333
Juliaみたいにユニコード完全対応するとギリシャ文字を変数に使えたりするが
いまいち流行りそうな感じがしない
337デフォルトの名無しさん
2018/05/02(水) 10:25:48.10ID:RzHnyLgy
変数とかじゃなくて記号としてだろ

λとか { (x,y) | x ∈ R, y ∈ R } とかアリではあるのだろうけど入力面倒そうでもある。
Int や Real を意味する派手な(縦線が二本線)大文字の I や R も欲しい
338デフォルトの名無しさん
2018/05/02(水) 10:53:03.53ID:oEkIWn2X
Agdaとかその辺徹底してる。

作者自身が教えてる動画で、その記号どうやって打つのて何度も聞かれてて、
最後は何でユニコードにするの?て聞かれて、だってそっちの方が美しいじゃん?て答えて失笑されてた。
めんどくせ、こりゃ流行らんわと思ったけど、慣れると\より\lambdaて打ちたくなる不思議。
339デフォルトの名無しさん
2018/05/02(水) 11:41:13.27ID:NVRwXhE8
中置の二項演算ができたら記号は何でもいい
他には分数のように縦に並べたい
340デフォルトの名無しさん
2018/05/02(水) 17:37:54.83ID:Sw4XeVpF
欧米の人たちは∈∧∋とかどうやって入力してるんだろう?
341デフォルトの名無しさん
2018/05/02(水) 17:37:57.52ID:+3mXDJV1
>>337
わかる
342デフォルトの名無しさん
2018/05/02(水) 18:15:31.48ID:vteIglDu
Unicode打ち込むエディタとして、Junoは良く出来てる
343デフォルトの名無しさん
2018/05/02(水) 18:41:04.95ID:1b+D0yU2
そんなクソ機能、バグを生み出す元でしかないわ。
344デフォルトの名無しさん
2018/05/02(水) 20:25:38.31ID:HO4ioabV
>>339
Vimで表現出来なそうでつらみ
345デフォルトの名無しさん
2018/05/03(木) 01:00:22.05ID:VEudjtBb
RAIIとGCってどっちがパフォーマンス優れているの?直感としてはGCの方が効率良さそうに感じるんだけど
346デフォルトの名無しさん
2018/05/03(木) 01:08:46.71ID:bKSKRSB9
感じるならしょうがないけど
GCは解放していいオブジェクトがどうか判定しなきゃいけないけど
RAIIだと不要だよね
347デフォルトの名無しさん
2018/05/03(木) 01:08:55.36ID:gY2lED9C
究極的には圧倒的にGC
GCはメモリの再配置が可能という極めて大きな最適化の自由度があるからね
348デフォルトの名無しさん
2018/05/03(木) 01:10:48.34ID:1+qiVSYV
>>346
RAIIで面倒見きれるような単寿命のオブジェクトはほとんどGCのコスト無いんだぜ
349デフォルトの名無しさん
2018/05/03(木) 01:11:29.45ID:bKSKRSB9
再配置できるのはメモリアドレスを抽象化してる場合でしょ
GCとは直接関係ない
350 ◆QZaw55cn4c
2018/05/03(木) 01:14:39.15ID:hvfEvXXP
>>347
メモリの再配置なんて、C++ に慣れた身からみると、いかにもにコストが高そうだが…

>>349
その「メモリアドレス抽象化」はアプリケーションに益をもたらす性質があるのでしょうか?
351デフォルトの名無しさん
2018/05/03(木) 01:16:22.58ID:bKSKRSB9
>>348
RAIIが短寿命?
関数スコープのスタックにオブジェクトを置くだけがRAIIじゃないよ
どっちにせよ同じ条件でRAIIより速くはならんでしょ
352デフォルトの名無しさん
2018/05/03(木) 01:29:46.74ID:VEudjtBb
解放のコストもさることながら、確保のコストが気になります
353デフォルトの名無しさん
2018/05/03(木) 01:31:56.63ID:bKSKRSB9
>>350
やっぱり第一にメモリコンパクションじゃない?
アクセス透過性みたいなのも原理的にはできるだろうけどプログラミング言語レベルで
そういうの実現してるのはなさそう
354デフォルトの名無しさん
2018/05/03(木) 01:34:20.53ID:bKSKRSB9
>>352
気になるんならしかたないけど
確保はほぼ違いがないよね
355デフォルトの名無しさん
2018/05/03(木) 01:35:38.85ID:bKSKRSB9
補足すると
GC言語はヒープを多用する傾向はあるけど
そういう場合スレッドローカルなヒープだったりするからね
356デフォルトの名無しさん
2018/05/03(木) 01:40:50.12ID:yApXR4/8
>>355
スレッドローカルなヒープってどういうこと?
普通のヒープ(Cのmallocとか)とどう違うん?
357デフォルトの名無しさん
2018/05/03(木) 01:46:54.01ID:bKSKRSB9
>>356
あるスレッド専用のヒープってこと
そのスレッドしか使わないから排他処理がいらないので速い
スタック確保とそれほど差がつかない
cでもglibcとかだとスレッドローカルをミックスして使ってたと思う確か
358デフォルトの名無しさん
2018/05/03(木) 02:03:01.65ID:SiwDQ+i8
RAIIを徹底したらスタックでメモリ管理出来るようになったりするんだろうか?
359デフォルトの名無しさん
2018/05/03(木) 02:04:19.79ID:yApXR4/8
>>357
すまん。また質問なんだが、
ミックスして使ってるってどう言うこと?
それとRustのjemallocとかだとまたglibcと違う動きをするの?
取り敢えずjemallocの方が速いらしいぐらいしか知らないんだけど…
360デフォルトの名無しさん
2018/05/03(木) 02:08:20.55ID:yApXR4/8
ごめん。意味が伝わりにくい書き方をした。
ミックスして使ってるって言ってもglibcは一体どうやって
スレッドローカルなヒープとそうでないヒープの区別をしてるの?
361デフォルトの名無しさん
2018/05/03(木) 02:12:08.90ID:bKSKRSB9
>>359
うろ覚えなんで間違えてたらすまんだけど、
最初は普通にグローバルヒープひとつではじまる
普通に各スレッドがロックをとってメモリをとってくるんだけど
もしロックがとれない状況になるとスレッドローカルなヒープを
作成するとかだったと思う
どっかに詳しく説明してるスライドショーがあるはず
362デフォルトの名無しさん
2018/05/03(木) 02:21:14.79ID:yApXR4/8
>>361
ありがとう。
出来ればそのスライドとやらのリンクを貼ってくると助かる。
もう覚えてないってんならしょうがないけど…
363デフォルトの名無しさん
2018/05/03(木) 02:34:51.07ID:bKSKRSB9
あった
mallocの旅(glibc編)
364デフォルトの名無しさん
2018/05/03(木) 02:49:34.78ID:yApXR4/8
>>363
ありがとう
365デフォルトの名無しさん
2018/05/03(木) 09:06:54.27ID:wZdPkGUF
dockerがgoで実装して十分パフォーマンス発揮してる時点で
組み込みレベルでないならそこまでGCいらんことは示されただろう。
366デフォルトの名無しさん
2018/05/03(木) 09:30:32.45ID:b8/6BKg1
GCはあっても無くてもいいけど
スタックかヒープかくらいは選ばせて欲しい
367デフォルトの名無しさん
2018/05/03(木) 09:51:10.41ID:wZdPkGUF
正直なところ、カスがGCなし言語で書いたものより、適当にGCあり言語で書いたもののが
ランタイム速度も速いでしょ。
バカがクソみたいな議論してる間にgoのGCの性能上げてたgoogleは正解だよ。
368デフォルトの名無しさん
2018/05/03(木) 10:09:21.98ID:SiwDQ+i8
仮にDockerがPythonで実装されていたらやはりパフォーマンス足りなかったんだろうか?
369デフォルトの名無しさん
2018/05/03(木) 10:41:20.52ID:u+2rTbGR
>>351
スタックベースじゃないRAIIはメモリの断片化の原因になるぞ
370デフォルトの名無しさん
2018/05/03(木) 11:00:48.14ID:AfyjFEfn
1. 性能が足りないとクレーム
2. 厳しいノルマ
3. データ改竄
4. 1のクレームがぴたりと止む

こういう事案なら1から4まで全員怪しいよね
371デフォルトの名無しさん
2018/05/03(木) 12:02:05.92ID:y3R7schb
https://www.google.co.jp/amp/ascii.jp/elem/000/001/496/1496211/amp/
372デフォルトの名無しさん
2018/05/03(木) 13:26:06.53ID:Zu+ttBo3
firacodeにカスタマイズ機能つければいいのか
373デフォルトの名無しさん
2018/05/03(木) 13:46:19.78ID:FgFo6AR2
dockerで示されるパフォーマンスなんかないだろ
374デフォルトの名無しさん
2018/05/03(木) 14:20:45.28ID:AfyjFEfn
パフォーマンスにちょっと興味を持つだけで怪しい奴らが集まってくる
Pythonのようにパフォーマンスに完璧に無関心にならないとすぐ腐敗する
375デフォルトの名無しさん
2018/05/03(木) 14:35:25.51ID:/IyBD/e7
ボトルネックだけCythonとかでなんとかするスタイルはやはり正しかったということか
376デフォルトの名無しさん
2018/05/03(木) 14:43:47.18ID:nk+G1gQG
そもそもRAIIはパフォーマンスのためのものじゃないだろ
377デフォルトの名無しさん
2018/05/03(木) 20:03:59.10ID:StPlxOeO
dockerって正気か?動作中は何もしてないぞ?
# go のGCが優秀になったのは認める
378デフォルトの名無しさん
2018/05/03(木) 21:48:30.21ID:AfyjFEfn
なぜgoのGCだけを改善するの?
全てのGCを平等に改善しないとダブスタだと叩かれるかもしれないよ
379デフォルトの名無しさん
2018/05/03(木) 22:37:19.33ID:KC4pupk8
どういう意味だ?
380デフォルトの名無しさん
2018/05/03(木) 22:42:00.84ID:oP7lbF46
>>378の他のレスも含めて何言ってるのか分からないものばかりだから、考えても無駄かと思うよ
381デフォルトの名無しさん
2018/05/03(木) 22:52:09.58ID:2wLGMMyE
解説は詩を殺す
382デフォルトの名無しさん
2018/05/03(木) 23:03:41.88ID:AfyjFEfn
goのGCと同じものをC++で実装できないのかな
C++のGCが優秀にならないかな
そういう意味
383デフォルトの名無しさん
2018/05/03(木) 23:19:27.01ID:nk+G1gQG
やっぱり意味わからん。
その場合の主語は誰よ?
384デフォルトの名無しさん
2018/05/03(木) 23:47:35.35ID:oP7lbF46
>>382
C++のGCって一体なにを指しているのだろう。
385デフォルトの名無しさん
2018/05/04(金) 00:00:41.82ID:LrVtGqlb
やっぱここにいる奴は馬鹿ばっかりなんだな。
386デフォルトの名無しさん
2018/05/04(金) 00:17:24.19ID:/D8HsFql
C++のGC……?
387デフォルトの名無しさん
2018/05/04(金) 00:21:24.66ID:CL+nFZXX
>>383
次世代の誰かだろ
正確な予知はできない
388デフォルトの名無しさん
2018/05/04(金) 00:51:59.59ID:/D8HsFql
あーもうめちゃくちゃだよ
389デフォルトの名無しさん
2018/05/04(金) 01:35:42.99ID:63fCyROx
一方賢い俺はだいぶ前にNGした
390デフォルトの名無しさん
2018/05/04(金) 05:56:35.74ID:zosHXKIm
C++でGCとか言うとバットマンのコスプレしたハーブ・サッターにビンタされるらしいぞ
391デフォルトの名無しさん
2018/05/04(金) 06:17:07.59ID:E+YYG/ag
きっとスマートポインタなんかじゃやだもんって意味かと思いました。
392デフォルトの名無しさん
2018/05/04(金) 10:09:56.44ID:VQ//CMaE
極めて大きな最適化の自由度とはなんだったのか
393デフォルトの名無しさん
2018/05/04(金) 10:34:38.24ID:+ni+4ZPZ
>>392
メモリアドレスが抽象化されてれば、実行時の状況や統計情報に基づいたメモリレイアウトの最適化ができるね
理論的には、一緒に使われるものをメモリ上で近くに置いたりしてキャッシュヒット率を上げたりできる
394デフォルトの名無しさん
2018/05/04(金) 11:25:26.68ID:VQ//CMaE
>>393
それは抽象データ型を定義できる言語ならどれでも可能か
それともC++やRustでは不可能か
これが問題だ
395デフォルトの名無しさん
2018/05/04(金) 14:10:07.69ID:51fiRXRv
この知ったかぶり
抽象データ型なんか関係ないだろ
396デフォルトの名無しさん
2018/05/04(金) 15:02:25.96ID:ZqOHI6SP
>>393
ってもそれ空理空論であって、
x[i,j,k] みたいな配列のメモリレイアウトをアクセスパターンから
決めるという単純な処理ですらどの処理系にも実装の予定すらないだろう

「c/c++では有能なプログラマがちゃんと判断して書くから最適な結果が得られる可能性が高い」
という言説の方がまだ現実的
397デフォルトの名無しさん
2018/05/04(金) 15:04:28.49ID:ngnuzOEt
>>396
単純に隙間を詰めるだけなら普通にやってるし、それだけでもメモリのアクセス効率や利用効率は改善するよ
398デフォルトの名無しさん
2018/05/04(金) 15:05:37.17ID:ZqOHI6SP
>>397
それアクセスパターンと関係ないでしょ
話通じてないな
399デフォルトの名無しさん
2018/05/04(金) 15:09:57.46ID:ZqOHI6SP
アクセスパターンからの最適化というのは、

巨大な配列だけどアクセスされるのはごく一部
→スパース配列を用いる

2次元で同じyについて近しいxで連続してアクセスされることが多い
→ cでいう v[y][x] というように同じy座標のものを連続して並べる

こういうこと
400デフォルトの名無しさん
2018/05/04(金) 15:12:34.97ID:ZqOHI6SP
実装が隠蔽されていればそういう最適化の自動化が可能だという>>393に対して、
それはそうだが絵に描いた餅過ぎると否定的なことを言ったのが>>396
以上
401デフォルトの名無しさん
2018/05/04(金) 15:24:22.35ID:51fiRXRv
ヒープの話から来てるからあくまでメモリアロケートした単位での最適化と考えるべきでしょ
話を拡大解釈して通じてないのはお前だと思う
402デフォルトの名無しさん
2018/05/04(金) 15:40:45.66ID:8dzo215M
>>401
393をそう読むのなら話通じないな
別にお前が無違ってると主張する気は無いよ
思想と言論の自由は認めるから黙れとも言わないし
403デフォルトの名無しさん
2018/05/04(金) 15:45:30.86ID:8dzo215M
あ、いや俺が間違ってる気がしてきた
コンパクションで並べるとかいう話か

それでもやっぱり
>>396
>「c/c++では有能なプログラマがちゃんと判断して書くから最適な結果が得られる可能性が高い」
>という言説の方がまだ現実的

だと思う
404デフォルトの名無しさん
2018/05/04(金) 17:35:05.26ID:ngnuzOEt
で、有能なC++プログラマはヒープの断片化をどうやって回避するの?
一般的な回避策としてはまとめて静的に確保するわけだけど、それだとRAII的な方法論を否定してることになるよね
405デフォルトの名無しさん
2018/05/04(金) 17:41:04.90ID:VQ//CMaE
生ポインタをprivateメンバーにすれば再配置できるんだろ
406デフォルトの名無しさん
2018/05/04(金) 18:45:44.08ID:VQ//CMaE
そもそもRAIIを肯定するのも否定するのもC++プログラマの自由だ
この自由を尊重すれば、極めて大きな最適化の自由度はC++にもあるんじゃないか
自由を奪ったら最適化の自由度もなくなるのは当たり前だ
407デフォルトの名無しさん
2018/05/04(金) 18:55:41.39ID:/D8HsFql
C++は何も縛らないからなんでも出来る理論本当に嫌い
408デフォルトの名無しさん
2018/05/04(金) 19:00:50.09ID:ngnuzOEt
縛ったほうが最適化の自由度は上がる
C/C++はポインタのせいで配列アクセスの並列化がやりづらいのは有名な話だ
409デフォルトの名無しさん
2018/05/04(金) 19:11:43.01ID:VQ//CMaE
>>407
じゃあ逆の理論はなんなの
一長一短理論
どっちもどっち理論かね
410デフォルトの名無しさん
2018/05/04(金) 19:12:50.22ID:/D8HsFql
>>409
>>408
411デフォルトの名無しさん
2018/05/04(金) 19:24:33.12ID:HyF2shia
GCは、あるプログラマにとっては仕事を単純にしてくれるが、別のプログラマにとっては仕事を複雑にする要因になるという特性があるんだよね
412デフォルトの名無しさん
2018/05/04(金) 20:34:01.38ID:+h39vGOl
>>411
プログラマに、というよりは作ろうとする対象によってではないかな。
413デフォルトの名無しさん
2018/05/04(金) 22:10:23.06ID:VQ//CMaE
「設定より規約」で複雑な設定を不要にするために規約で縛って単純にすることはある
最適化とは関係ない
414デフォルトの名無しさん
2018/05/04(金) 22:27:54.24ID:U2Bct8CT
>>413
全然レイヤが違うぞ…はぁ
415デフォルトの名無しさん
2018/05/04(金) 22:29:07.68ID:/D8HsFql
もういいや
416デフォルトの名無しさん
2018/05/05(土) 00:07:46.07ID:3M7DBZHK
>>414
全然違うレイヤでしか評価されない概念だからね

型宣言を省略して単純にした言語はあまり評価されない
だからC++のように複雑な言語がずっと勝ち続ける
417デフォルトの名無しさん
2018/05/05(土) 09:26:04.08ID:0zR7mPRl
言語レベルでは縛りを減らして、ツールもしくはプロジェクト毎の規約で矯正する方が成功してる印象。
418デフォルトの名無しさん
2018/05/05(土) 12:36:15.72ID:Ptn/YTVe
Ruby使いはなんでもRails基準で話するから困惑させられるわ。

規約で縛るのと、設定させるのはまた別の次元の話な気がする。

規約で縛った上でさらに明示的に設定させるなんて思想もあるし、
明示的に設定すること、と言う一文すら大きく捉えたら「規約」だと思うんだが。

misra然り、規約で担保される部分も否定はしないけど、
そんなこと考えなくても言語レベルで無茶は出来ないってのは、結構有益だと思うよ。
goが他の言語だと警告で済ますものをコンパイルエラーにしてたりとか。
419デフォルトの名無しさん
2018/05/05(土) 14:40:21.15ID:0zR7mPRl
それはわかる。
ただ「言語レベルで無茶させない」機能を実装するために「言語実装が無茶してる」
っていう本末転倒レベルのコンパイラが増えてる。
420デフォルトの名無しさん
2018/05/05(土) 14:54:28.61ID:fkw9D7UX
何かを実装しやすくする為の機能、とバグを減らすための安全装置としての機能、と分類した時に後者が気に入らんて訳だな。
古いタイプのハカー思想的にはそうだろうね。
まあでも人間にコード書かせてる内は後者を充実させて行くしか無いでしょう。
421デフォルトの名無しさん
2018/05/05(土) 17:40:15.09ID:wfyrkg3u
バグを減らすための機能はコードを書きやすくするための機能でもあって欲しい。Fortranはその辺のバランス感覚が地味に良い
422デフォルトの名無しさん
2018/05/05(土) 18:31:47.37ID:sJdk0i7H
[][][] [[[ ] X_[[[ [] ][ [] ][][[[]
423デフォルトの名無しさん
2018/05/05(土) 22:21:49.30ID:g4wn0nIy
このスレ的にDart 2はどうなの?
424デフォルトの名無しさん
2018/05/05(土) 22:28:11.15ID:J0iT62yj
>>423
哀れな水子霊
供養してあげよう
425デフォルトの名無しさん
2018/05/06(日) 11:13:25.80ID:UdK4FK7I
>>420
半分だけはその通り。
ただセキュリティーについても結局は効率や速度を要求されるからって話なんだよ。
安全のためにって効率を落とすようなルールを作っておいて
ノルマは下げないみたいな現場ではセキュリティーホールつくようなハックが流行るってこと。
ルールを厳しくして逆に流出なんてパターンは結局これ。
426デフォルトの名無しさん
2018/05/06(日) 11:29:16.72ID:EZJKrplU
悪事の限りを尽くしてきたサイコパスが
効率悪化だけは許さない真面目キャラになるのなんでだろう
427デフォルトの名無しさん
2018/05/06(日) 12:54:13.10ID:BpvGgdyJ
安全性重視と言えば聞こえはいいが
やってることはWarningをErrorにしてるだけだからな
428デフォルトの名無しさん
2018/05/06(日) 13:00:40.56ID:5SuvHbqD
>>427
明確にエラーなら、それを前提にした最適化ができる
429デフォルトの名無しさん
2018/05/06(日) 13:12:21.81ID:4/stHYd4
まあ正直Worningでいいとは思う
430デフォルトの名無しさん
2018/05/06(日) 13:18:55.75ID:+3dRclkW
>>425
unsafeなりなんなりあるかと。
効率や速度というのは、安定動作している事が確実に出来てからやっとテーブルに上げることができる話題であって、
それで落ちる効率なんてのは最初からサボってた証拠とみなす方が多いかと思うよ。

ルールを厳しくして結局流出ってのは、また別の尺度かと。
流出したとしても、それは理由もはっきりさせられるし、なによりソフトウエアの瑕疵ではなくて運用の問題の話になってくる。
431デフォルトの名無しさん
2018/05/06(日) 14:32:39.98ID:7acvvhvM
セキュリティーについての効率化云々とか、半可通だなあとしか言えんわ…
432デフォルトの名無しさん
2018/05/06(日) 15:54:07.22ID:cxBuJYdg
レイヤの上書きし続けるのやめろ
433デフォルトの名無しさん
2018/05/06(日) 15:58:41.42ID:+3dRclkW
いくらコンパイラが怒らないからと言え、セキュリティーホールを突くようなハックとやらをしてたら流石にコードレビューではねるんじゃね?
どういうコードかイマイチ想像がついてないけど。
インラインアセンブラが禁止されてるからハンドアセンブルしたコードか入ってるconst char[]を無理矢理呼び出すとかかな。

単純にそのプロジェクトで使ってる静的解析が誤認するようにコードを書く事を、静的解析のセキュリティーホールと勘違いしてるのか、
それとも、バッファオーバーランしないようにするにあたって、根本的に長さを指定できる関数を使わずに付け焼き刃でバッファにクソ長い配列使うみたいなコードなのか(でもこれは静的解析で怒られそう)

一体何が、コーディングの上でセキュリティーホールを突くようなハックなんだろう?
ピアレビューがあれば瞬殺されて終わりな気もするし。
434デフォルトの名無しさん
2018/05/06(日) 16:29:24.39ID:3zhAqmJH
>>421
Fortranって現役なんか?聞いたことないが
435デフォルトの名無しさん
2018/05/06(日) 16:32:16.64ID:YMV7ENjt
>>434
現役だよ
436デフォルトの名無しさん
2018/05/06(日) 16:36:08.57ID:T0X5noxd
スパコンでは現役。計算物理屋とかFORTRANしか書けないおっさんも居るしね。
まあ数値計算系のコード書いてる連中なんてgitも知らなかったりするレベルで
超絶的に遅れてるから意見なんて無視していいよ
437デフォルトの名無しさん
2018/05/06(日) 16:41:56.05ID:4/stHYd4
>>434
現役かと言われたら、現状数値解析以外では老害しか使っとらん感じで口ごもっちゃうけど、そんな状況に反して最新の言語仕様は結構いい。そして老害はFortranの良い仕様は使っとらん
ある意味逆に次世代言語感あると思う
438デフォルトの名無しさん
2018/05/06(日) 17:13:53.77ID:+3dRclkW
ベンダーがきっちり面倒見てるのも大きいわな。Fortranは。
老害と呼ばれるコードが生き残れるのも、新しいものがサポートされていくのも。
439デフォルトの名無しさん
2018/05/06(日) 18:05:19.44ID:4/stHYd4
まあ新しいもののサポートは遅いがな
440デフォルトの名無しさん
2018/05/06(日) 18:53:07.67ID:UdK4FK7I
まあ運用の問題と言えばそうだけどね。
実際どこぞのrustコードなんて結局unsafe丸がこみコードになってるって話だよ。
レビュアーがまともならってのもその通りだが
P○zyさんとことか有名どこでもそんなもんですよ。
441デフォルトの名無しさん
2018/05/06(日) 19:31:39.25ID:9CUhRDV/
}]] [[《_["[[]]" 〈[]》》 [][][]0,1》》〈〉 [] } } "B,V,0%%%,*1BVLO,SASA1`}}//%\\0,1\"VL"\
442デフォルトの名無しさん
2018/05/07(月) 12:03:19.49ID:Go6Qgpic
>>440
そのP○zyさんのコードはどこで見れるの?
443デフォルトの名無しさん
2018/05/07(月) 17:37:45.62ID:aRQ7vpNn
Fortran現役ってすげーな。
なんか便利な構文あるの?
スペースがなくても構文が認識するって凄いね。何というか分野によって現役だったりするし、web系とか組み込み系とか分野毎に次世代を考えたほうが良いのかも
444デフォルトの名無しさん
2018/05/07(月) 18:29:43.67ID:Si7Pqr9d
数値計算の新しいアルゴリズムってあるの?

動画の圧縮とかだったらどんどん新しくなってるけど
445デフォルトの名無しさん
2018/05/07(月) 18:42:27.46ID:4LWU/9Ql
アルゴリズムというよりは非プログラマが数学物理をプログラムに落とし込みやすいって所じゃないか?
統計メインの生物系なんかはもうRやPythonに移ってるけど
446デフォルトの名無しさん
2018/05/07(月) 21:30:21.40ID:u0xzmUnv
>>443
まあ、分野についての言及は必要だろうね。
447デフォルトの名無しさん
2018/05/07(月) 22:27:02.76ID:9toRjaak
よし、じゃあワシがwebの代表として次世代言語はrustであることをここに宣言しよう
448デフォルトの名無しさん
2018/05/07(月) 23:32:28.33ID:b+1hN3YL
今phpのlaravelしててミドルウェアとかバリデーションとかルーターとかマイグレーションとか
それ自体はフレームワークの機能なんだけど言語仕様としても使えそうなのがチラホラあるけど
こういうの言語に使われることないんかな?
449デフォルトの名無しさん
2018/05/07(月) 23:45:44.05ID:eqjeSWEf
>442
はいよ
http://tanakh.jp/posts/2016-12-20-rust-pezy-sc.html
450デフォルトの名無しさん
2018/05/08(火) 00:32:28.71ID:kgnxB5OH
一元論が無理なら八百万って極端すぎる
二刀流くらいがちょうどいい
451デフォルトの名無しさん
2018/05/08(火) 07:49:53.07ID:BTpaOhWg
C++の置き換え言語としてRustには期待している。ただ構文がなんかうっとうしいなあ。
ruby風のラムダは気に入ってるが。
452デフォルトの名無しさん
2018/05/08(火) 08:43:30.21ID:lO+5Uui0
>>445
Numpy相当のベクトル記述が出来るたった一つのコンパイル言語。それがFortran
453デフォルトの名無しさん
2018/05/08(火) 10:01:01.47ID:JvzvEXdE
>>452
確かにあれは書きやすいし速い
GPGPUでの(それをラップしたライブラリでの)行列演算に対するアドバンテージって何かあるのか?
分岐がモリモリ入ってくる場合くらいしか思いつかないが
454デフォルトの名無しさん
2018/05/08(火) 13:34:11.30ID:k5VrHriK
>>453
なんのことを指しているんだ?
455デフォルトの名無しさん
2018/05/08(火) 17:08:07.13ID:I+Jt0Kav
>>452
現実のFortranプログラミングは大量に宣言したスカラー配列を添字でゴリゴリ回すだけだけどな
行列やベクトルの演算のセマンティクスなんか一切残らん
456デフォルトの名無しさん
2018/05/09(水) 01:16:05.28ID:PEulJP5b
haskellの方がCより速いってさ

https://superstrings.io/once-more-on-haskell-vs-c-performance-a54498bfa91
457デフォルトの名無しさん
2018/05/09(水) 02:14:38.03ID:0YDcqAhS
>>456
https://superstrings.io/once-more-on-haskell-vs-c-performance-a54498bfa91f
458デフォルトの名無しさん
2018/05/09(水) 02:26:18.12ID:bn/AH8fd
なんですぐばれるウソをつくのだろう?
459デフォルトの名無しさん
2018/05/09(水) 02:35:21.53ID:hrOQbIqv
>>457
すばらしいね。
Cのコードに
__attribute__((optimize("unroll-loops")))
付けると100倍早いけどw
あと、手元の環境で gcc は何故か -O だけunroll付けたのと同様に早くて -O2 以上は遅かった。
バグと言うべきなのかな。
460デフォルトの名無しさん
2018/05/09(水) 03:11:33.85ID:0bpmHxx0
>>453
コンパイラのやる気さえあれば、ライブラリでは不可能な最適化なんていくらでもでできるだろ
実際にやってるかはしらん
461デフォルトの名無しさん
2018/05/09(水) 07:10:29.94ID:UxragvBK
乱数生成が遅いってどこかで見たような、Haskell
462デフォルトの名無しさん
2018/05/09(水) 07:59:31.19ID:2PdkdhLd
>>461
それって言語の問題ではなくコンパイラの実装の問題?
それとも言語仕様として計算量の大きい生成アルゴリズムが規定されてたりするんだっけ?
463デフォルトの名無しさん
2018/05/09(水) 08:01:55.30ID:2PdkdhLd
あ、ごめん。ライブラリの乱数生成の関数を呼んだらということかと思ったけど、自分で乱数生成の処理を書いたらということかな。
464デフォルトの名無しさん
2018/05/09(水) 08:15:55.42ID:UxragvBK
>>463
ごめん、そこまで詳しくないので、誰か補足を。記憶だと前者だったかな。
465デフォルトの名無しさん
2018/05/09(水) 08:17:13.45ID:yFt+gB3J
https://qiita.com/philopon/items/8f647fc8dafe66b7381b

この辺の話?
466デフォルトの名無しさん
2018/05/09(水) 09:54:11.86ID:X/W01mab
>>458
せっかくコンパイラ作ったんだからみたいな貧乏性だな
一方、富豪的プログラマはインタプリタを使う
467デフォルトの名無しさん
2018/05/09(水) 21:36:31.89ID:AJJ2h/PO
なんか知らんが定期的にCより速いって話が出てくるな。
高級かつランタイム速度が落ちないってなんかおかしいとか思わないもんなのかな。
468デフォルトの名無しさん
2018/05/09(水) 22:20:41.60ID:dqSR3cl1
さ、最適化をダイナミックに出来るから……
469デフォルトの名無しさん
2018/05/09(水) 23:00:53.08ID:hrOQbIqv
理想を追求する精神は忘れなくて良いやろ
470デフォルトの名無しさん
2018/05/10(木) 02:12:17.66ID:FhKx4uhS
高級品だと遅くなるならC++がCより速くなることはないんだろうなあ
フムフム
471デフォルトの名無しさん
2018/05/10(木) 08:10:24.35ID:WcF1ShgP
実際、もしもコードを書く人がコンパイラを書いた人よりも賢いならばCの方が早 速いww
472デフォルトの名無しさん
2018/05/10(木) 09:54:42.57ID:+xjpfXr5
コンパイラの最適化能力的には今でもFortranが頭ひとつ抜けてるんだっけ
473デフォルトの名無しさん
2018/05/10(木) 10:07:40.42ID:sqBEyANZ
async awaitの存在のお陰でTypeScriptが使いやすさで一歩先言ってる感あるな。
VasualStudioでもサポートしてるんだよね。mac版試してみたい
474デフォルトの名無しさん
2018/05/10(木) 15:49:44.61ID:TSTj28YJ
>>472
どうせバックエンド同じなので、C言語でもpragmaとattribute駆使すればFortranと同じになるはず
475デフォルトの名無しさん
2018/05/10(木) 16:11:32.31ID:gErYAeAK
>>474
しんどー
476デフォルトの名無しさん
2018/05/10(木) 16:20:28.17ID:VgJxGkPJ
rebuildfmで聞いたがswiftは機械学習との親和性を高める方向でラトナーは頑張ってるみたいね。
477デフォルトの名無しさん
2018/05/11(金) 00:25:42.85ID:ew48BEmx
にむにむ
478デフォルトの名無しさん
2018/05/11(金) 11:38:41.21ID:Bitu5gZ+
フォートランはスタックフレームを使わないから早いらしい
479デフォルトの名無しさん
2018/05/11(金) 19:21:18.09ID:BkhZdaXW
>>467
昔々 Java の方が C++ より速いなんて話もあった。
JIT で速くなるとか。

しかしC++だったとしてもややこしい機能を使わずC言語風に作って最適化掛かったらお終いのような気がしてならない。
480デフォルトの名無しさん
2018/05/11(金) 20:24:29.02ID:ew48BEmx
Cはポインタが自由すぎて最適化難しいとはよく聞く
481デフォルトの名無しさん
2018/05/11(金) 21:16:38.36ID:mlwOVON7
Javaの場合はいくら局所的に速くなっても、JITそのものにかかる時間だったり
あるいは膨大なロード時間を計測に含めてしまうと台無しだからなあ
もちろん速いとアピールしたいベンチマークではその辺が含まれないようにするし
遅いとアピールしたい場合は
482デフォルトの名無しさん
2018/05/11(金) 21:22:37.76ID:RZoOPILo
どっちかというとマルチコアを活かした最適化って人間が頑張るしかないんじゃないかな。
だからgoでgoroutineとか、
関数型言語推しになるんでわ
483デフォルトの名無しさん
2018/05/11(金) 21:41:43.97ID:rzT1F5bb
>>481
javaに限らずインタプリタ系も起動時間含めて time で測ってドヤってる Qiita の記事とか消滅して欲しい
484デフォルトの名無しさん
2018/05/11(金) 21:43:50.20ID:bSh0JSQF
>>480
ポインタをintやchar*に変換する自由を利用してFFIのようなものを作れるよ
自由にCを呼び出すことで他言語が速くなる
485デフォルトの名無しさん
2018/05/11(金) 22:13:19.06ID:ew48BEmx
>>484
なぜその内容で>>480に安価つけるし
486デフォルトの名無しさん
2018/05/11(金) 23:06:50.43ID:bSh0JSQF
>>485
内容に問題はないので、わからないなら自分で考えるか質問を変えてみてはどうかな
487デフォルトの名無しさん
2018/05/11(金) 23:15:21.11ID:mlwOVON7
>>484の意図(自由過ぎるポインタにはメリットもあるよ)もわかるし
>>485の反応(最適化の話題から逸れてるだろ)もわかるんだけど
正直>>486はぞっとするほど怖い。なんだろうこの不気味な感じは
488デフォルトの名無しさん
2018/05/11(金) 23:16:13.67ID:ew48BEmx
なんやこいつ。
まあええわこのスレには会話通じんやつがおるみたいやし時間の無駄やわ。深く考えんとこ
489デフォルトの名無しさん
2018/05/11(金) 23:19:46.30ID:KxM4SNOx
>>487
>>484からその意図を読み取れるのはすげー行間把握力だと思うわ
>>486が怖いのは同意
490デフォルトの名無しさん
2018/05/11(金) 23:20:50.68ID:bSh0JSQF
「不気味罪という罪はない」とか言われたらゾッとするかもしれないが
そういうことを平気で言う奴は今の世の中にはいっぱいいるな
491デフォルトの名無しさん
2018/05/11(金) 23:24:44.89ID:ew48BEmx
この感じどうせまた例のADHDやろ。つついてもうたことを後悔してるわ
492デフォルトの名無しさん
2018/05/11(金) 23:25:19.88ID:cXvpx1C3
>>480
493デフォルトの名無しさん
2018/05/11(金) 23:30:08.91ID:cXvpx1C3
>>480 はコンパイラの最適化を受けての発言でいわゆるaliasの問題の
ことを言っていると思われる
>>484 はコンパイラ関係ないFFIを持ち出してしったかをかます
>>485 がもっともなツッコミ
>>486 で上から目線で地面見てドやる

→キモイ

まとめてみました
494デフォルトの名無しさん
2018/05/12(土) 00:31:38.38ID:5NKz3ewG
C / C++ はとりあえず OpenMP 相当のものを標準化して実装して欲しいわ
他の言語よりクライアント側で使うこと多いから1つ1つの処理もスケールさせたい
495デフォルトの名無しさん
2018/05/12(土) 00:39:55.31ID:ioGXghPg
アルゴリズム変える以外に速くする方法なんてのは
結局倉庫番を上手く解くって話にしかならんわ。
496デフォルトの名無しさん
2018/05/12(土) 00:48:56.95ID:R/twbybb
??
それアルゴリズムでは?
497デフォルトの名無しさん
2018/05/12(土) 00:52:27.47ID:F3K2afGN
あーもうめちゃくちゃだよ
498デフォルトの名無しさん
2018/05/12(土) 01:03:23.63ID:+7qwtmL0
なんかgoogle ioでwasmからdom操作できるようになるって話があったらしい。
499デフォルトの名無しさん
2018/05/12(土) 01:04:46.62ID:iFoVhrV3
地獄の始まりじゃないでしょうね(震え)
500デフォルトの名無しさん
2018/05/12(土) 01:13:51.18ID:8RYDCDzW
みんなアルゴリズムよりむしろデータ構造を変えたがる
CのポインタもJSのdomもデータ構造だろう
でもデータ構造を変えるのは速くするのが目的とは言ってないかも
501デフォルトの名無しさん
2018/05/12(土) 01:38:25.14ID:5NKz3ewG
>>457
>On Xeon Thinkpad P50 with Ubuntu, compiled with gcc -O3 this runs about 15.3 ms ― more than 20% slower than haskell!

あんまり関係ないが
3年前のレッツノートRZ4の最下位モデル、
Core M-5Y10 ベースクロック0.8GHz で
Visual Srudio 2017 でコンパイルしたバイナリも
ちょうど 15.3ms だわ

2コア4スレッドのcpuなので openmp で 4並列にしたら5.7ms
502デフォルトの名無しさん
2018/05/12(土) 08:55:56.45ID:ioGXghPg
>>496
いやメモリやレジスタにデータやコードを載せるタイミングの話なんだが。
「アルゴリズム」はもう少しソフトなレイヤーを指したつもり。
503デフォルトの名無しさん
2018/05/12(土) 10:24:39.71ID:LrYQoKex
>>501
最適化上手く行けば0.2msぐらいになると思うで
i5-3550 で 0.08ms
504デフォルトの名無しさん
2018/05/12(土) 10:28:01.57ID:LrYQoKex
>>498
reactが早くなるってか。
ようやく90年代のクラサバに追いつくなw
505デフォルトの名無しさん
2018/05/12(土) 10:32:35.98ID:TkoJoFTb
GoogleはSUNと同じ愚を犯してるように見える。
506デフォルトの名無しさん
2018/05/12(土) 10:34:13.54ID:NuxM0Gnx
wasmのDOM実装は最初からロードマップに入ってる
507デフォルトの名無しさん
2018/05/12(土) 10:46:00.14ID:+7qwtmL0
jsの出番が減るのか最近の仕様は好きなんだけどな。typescriptが直接wasm吐くようになってほしい
508デフォルトの名無しさん
2018/05/12(土) 10:47:42.87ID:+7qwtmL0
>>505
sunはコンテナーをいち早く実現してたり
zfs出したり、先進的な企業だったよな。金が稼げなかったけど。
googleは金があるから問題ない
509デフォルトの名無しさん
2018/05/12(土) 10:52:24.71ID:15xgRckc
>>507
Blazorに期待してる
510デフォルトの名無しさん
2018/05/12(土) 10:55:45.44ID:Wuy9HJPF
JavaScriptからwasmへのコンパイルができるようになったら普及は速いんだろうけど、いつになるかなぁ。
そのころにはwasmのエコシステムも十分整備されてそう。
511デフォルトの名無しさん
2018/05/12(土) 11:01:20.26ID:NuxM0Gnx
>>507
各種apiのリファレンス実装として続いてくんじゃないかとは思ってる
正直TS→wasmは期待しちゃうよね
512デフォルトの名無しさん
2018/05/12(土) 11:13:10.47ID:+7qwtmL0
rustでwasm吐くとdom操作もメモリ効率が良い感じになるのだろうか。
個人的にはgoで全部できるようになりそうで嬉しい。

meteor.jsというのがあってね。コンセプト的にすごく良かったんだけどエコシステムがいろいろ終わってた。wasmでもう一度復活するかも
513デフォルトの名無しさん
2018/05/12(土) 11:31:33.64ID:Gv6T+VfX
Rustでブラウザ本体を書き直す動きがJSの部分にまで広がる
ブラウザを作れない言語には速い遅いという以前の問題がある
514デフォルトの名無しさん
2018/05/12(土) 13:14:14.79ID:LrYQoKex
>>508
思い出は美化されるね。
不便なコマンド、SysV系転向、長いことジャーナリング無し、ftpのlsがユーザのロケールでパース困難、NFSの進歩の遅さ、etc
罪を数えたらキリが無いよ
515デフォルトの名無しさん
2018/05/12(土) 13:53:25.93ID:Douv0h4u
>>491
なんでも俺のせいにすなw
516デフォルトの名無しさん
2018/05/12(土) 14:06:23.00ID:Gv6T+VfX
よかった、透視能力なんてなかったんだ
517デフォルトの名無しさん
2018/05/12(土) 14:10:21.47ID:TkoJoFTb
>>508
SUNは我田引水に失敗して凋落したのだ。
自社の高価な機器を売るためにメモリーイーターな言語を広めたり、自社の機器以外では性能が発揮できないように互換環境を禁止したり。
518デフォルトの名無しさん
2018/05/12(土) 14:13:17.43ID:TkoJoFTb
Googleは現在我田引水のため色々やってるが、消費者にとっては良いことは何もない。
吉と出るか凶と出るか。
一方、MSは戦場から早々に離脱したので、不戦敗となるのか、勝ちもしないが負けもしないのか。
519デフォルトの名無しさん
2018/05/12(土) 17:45:08.76ID:5NKz3ewG
>>503
dot関数自体の最適化はほぼ完璧に行われています
gcc だと 100 回繰り返してるところを1度で済ます
最適化が起きてるだけでは?
速度もちょうど100倍だし。

そうじゃないと
>i5-3550 で 0.08ms

1G回の積和を0.08msで完了ということは毎秒125Gの積和を実行したことになりますから、
演算性能は125GFlopsメモリ帯域は1000GB/sになる (←あり得ない)
520デフォルトの名無しさん
2018/05/12(土) 17:51:25.31ID:5NKz3ewG
最後の計算間違ってるか
結果はあってるけど10M個の積和を0.08ms、という計算か。
521デフォルトの名無しさん
2018/05/12(土) 18:44:38.63ID:LrYQoKex
>>519
ああ、確かに。引数変わらないから100回ループが1回に省略されてるな…
522デフォルトの名無しさん
2018/05/13(日) 08:36:01.91ID:JK3lyAGE
Cはハスケルの100倍はやかったってこと?
523デフォルトの名無しさん
2018/05/13(日) 11:23:16.33ID:LKCtUx3M
GCのベンチマークって無いのかな
一番速いのはGo言語?
524デフォルトの名無しさん
2018/05/13(日) 11:26:00.88ID:X0FozZBp
Rustってcと比べて機能てんこ盛りなのに同等の速度で実行できるって何でなの?
525デフォルトの名無しさん
2018/05/13(日) 11:46:40.60ID:JUfYpDRX
別に機能が多いかどうかは関係ない。
速度を出すための設定を細かくできるかどうか。
細かく設定するってことはそれだけ手間がかかるってこと。
526デフォルトの名無しさん
2018/05/13(日) 12:03:30.51ID:1GQ1TBB+
整数とポインタの見分けがつかない機械語に比べたらCも機能てんこ盛り
だがCのポインタは参照とスライスとBoxとOptionの見分けがつかない
527デフォルトの名無しさん
2018/05/13(日) 13:34:16.59ID:NXXuYZ+p
>>526
これ重要やな
528デフォルトの名無しさん
2018/05/13(日) 15:12:37.68ID:JK3lyAGE
>>457
のCのコードみたけどぎょれつ演算にブロック化してないからキャッシュミスが
多くなって遅くなってるだけだな。
ハスケルは自動でメモリーの最適化してるからはやいだけだな。
529デフォルトの名無しさん
2018/05/13(日) 15:18:09.79ID:Xeb1zMif
dot product計算するだけのマイクロベンチなんか言語比較として無意味
530デフォルトの名無しさん
2018/05/13(日) 15:34:14.94ID:NXXuYZ+p
>>528
へえ。ハスケル意外と有能やん
531デフォルトの名無しさん
2018/05/13(日) 15:50:11.19ID:bgY0d3zI
デタラメ言ってるだけだぞw
このスレの連中はホント騙されやすいな
532デフォルトの名無しさん
2018/05/13(日) 16:00:43.94ID:bgY0d3zI
1次元のリニアなメモリをシーケンシャルに読むだけなのにブロック化とか
ここは物事の真偽もわからない初学者の集まりなんだからデタラメで混乱させるなよ
検証できることはちゃんと検証してから発言しよう
533デフォルトの名無しさん
2018/05/13(日) 16:15:28.33ID:NXXuYZ+p
うわマジやん糞かよ死ねや
534デフォルトの名無しさん
2018/05/13(日) 16:24:23.38ID:1GQ1TBB+
でも検証にはコストがあるからな
お前は嘘つきだと宣戦布告して戦争か裁判をやって勝つまでが検証です
535デフォルトの名無しさん
2018/05/13(日) 17:28:06.32ID:JK3lyAGE
xとy別々の配列じゃなくて
x0y0x1y1x2....のように並べるってことだよ。
そうするとメモリーアクセスが早くなる。
536デフォルトの名無しさん
2018/05/13(日) 18:40:55.81ID:bgY0d3zI
>>535
コード読めよ
xとx掛けてるんだぞ
537デフォルトの名無しさん
2018/05/13(日) 21:55:04.60ID:MDWbrDHx
検証もせずに適当に推測するが
>>457のHaskellの方がCより速いというのはループを1回で済ます最適化がされた結果であって、
1ループあたりの実際の速度はCの1/80の速度なのかもね
538デフォルトの名無しさん
2018/05/13(日) 23:16:22.73ID:aRNPCfaw
Haskellが早いと言うかHaskellだと早く出来ることがあるって感じだろ
539デフォルトの名無しさん
2018/05/13(日) 23:53:00.06ID:eikXWKbu
そりゃそうだろ

言語によって得意な処理は違うし、プログラマの実力によっても変わる
数値計算に限定すればjuliaは手軽に書けて尚且つ実行速度も速かったりする
バカが書いたCのコードより天才が書いたHaskellのコードのほうが(多分)速い
言語の速度だけ比較してあーだこーだ言う前に
各言語に関する詳細な知識とコーディングの実力を身に着けるべし
540デフォルトの名無しさん
2018/05/14(月) 00:07:25.34ID:NNbrsR8u
SEYANA
541デフォルトの名無しさん
2018/05/14(月) 06:12:40.31ID:Hm1IiEDM
ドット積のような簡単な計算ならCPUの処理速度が速すぎて
メモリー転送速度がボトルネックになることは明らかだしな。
ハスケルの場合、ランダムな数値をメモリーに記録することなく
オンザフライで計算したのかもしれないな。
542デフォルトの名無しさん
2018/05/14(月) 07:36:06.84ID:P8BYP3+b
ドット積が律速になることってある?
543デフォルトの名無しさん
2018/05/14(月) 07:59:32.34ID:WfY57EXm
バイナリサイズも気になるけど。
と言うか、速い遅いはあんまり簡単に割り切るわけにいかんし、
推測より実測は確かだけど、その前に何を実測してるのか、
大体どれぐらいになるかをもう少し予測したほうがいいと思うんだけどな。
こういう小さい関数単位のベンチは特に。

最新の処理系は両方持ってないから俺出来ないけど、ネイティブコード比べたほうが良いのでは?
gccは(いろんな意味で)信じられない最適化かかってる事あるし。
544デフォルトの名無しさん
2018/05/14(月) 08:36:31.93ID:zbYXMED5
>>542
HPCならなくはないけど、その場合は手計算で展開して前後の計算も含めたもっと大きなドメインで最適化するわな
単独でdotだけの最適化なんて、自分の息子を気持ちよくする以上の意味はない
545デフォルトの名無しさん
2018/05/14(月) 13:14:41.23ID:0aBfdvZZ
C++の定数式を使う。
546デフォルトの名無しさん
2018/05/14(月) 17:04:14.47ID:ar4V5qZH
>>539
そういう話でしかないからそういう話だという指摘をしたんだろ
547デフォルトの名無しさん
2018/05/14(月) 18:11:35.62ID:kUkLIG4O
SEYANA
548デフォルトの名無しさん
2018/05/15(火) 07:41:24.21ID:cBszxXz8
ハード的なことは自分はよう知らんが、純粋関数のみで書いたところは、筋の良い関数への置き換えが利いてくれる、てことなのだろう。
知る限りだと、map、fold、filter、zipみたいな基礎的な高階関数と、配列更新はupdate関数を使っとけばその辺が勝手にかかるみたい。

>>457の例は、sumはfoldで、zipWithはzipとmap。

速度ガチ勢は満足しないだろうが、宣言的にやってる割に速度を出したければ、この辺りを気をつけてれば良い印象。

逆に気をつけないと、相当遅い。LazyとStrictも気をつける必要がある。
549デフォルトの名無しさん
2018/05/15(火) 09:00:25.93ID:ykJK+It6
これはhaskellじゃなくて理系がバカなんだ
文系がhaskellを勉強しても速度のことなんて考えないだろう
550デフォルトの名無しさん
2018/05/15(火) 15:12:17.78ID:+IcyTYky
このスレは何を議論するスレなんだ
551デフォルトの名無しさん
2018/05/15(火) 15:24:27.98ID:RQo6Vb+e
雑段するぞ
552デフォルトの名無しさん
2018/05/15(火) 18:37:20.71ID:3hgL0M2i
SOYANA
553デフォルトの名無しさん
2018/05/15(火) 19:24:43.54ID:0x8zM7pd
>>550
次世代言語と言えば関数型、関数型と言えばHaskell、ホルホルホル。
554デフォルトの名無しさん
2018/05/15(火) 19:50:21.10ID:dt28ByE7
>>549
理系が馬鹿ってことは文系が頭いいってこと?そんなバカな
555デフォルトの名無しさん
2018/05/15(火) 20:03:43.73ID:TjuX/LAp
先入観は可能を不可能にするって二刀流の人が言ってた
556デフォルトの名無しさん
2018/05/15(火) 20:20:31.80ID:maavPO86
このご時世理系文系なんて言ってるのもどうかと思うがね
557デフォルトの名無しさん
2018/05/15(火) 21:18:11.07ID:+IcyTYky
>>553
くっさ。流石にそういう返答は求めとらん。性格悪すぎか
558デフォルトの名無しさん
2018/05/15(火) 22:06:27.79ID:cAjQsfjh
理系文系で語る奴にはろくなものがイないはず
ソースは川上
559デフォルトの名無しさん
2018/05/15(火) 22:38:41.36ID:TjuX/LAp
そのろくでなしを討ち取るか逃げ切られるか確定してないソースにはあまり意味がない
560デフォルトの名無しさん
2018/05/16(水) 00:35:59.84ID:y71KiaeG
はてな民の悪口はやめロッテ
561デフォルトの名無しさん
2018/05/16(水) 04:13:18.32ID:/r6FU1qw
>>548
加えて >>457 には left fold にしとかないと遅いよとある
理由はあまりに明白だからか触れられていないけど
ここはあまり実践に拘る人いないからわりとどうでもいいか
562デフォルトの名無しさん
2018/05/16(水) 06:37:06.57ID:wZFh8fJh
コンパイル時と実行時で語る奴は速いよ
OOPと関数型で語る奴にはろくなものがいない
563デフォルトの名無しさん
2018/05/16(水) 06:47:58.51ID:OmXLSXyH
LazyかStrictかってな。評価戦略も考えてかなならん。

まあ、Haskellも使いこなすには、それなりの背景知識がないとあかんという事だね。
564デフォルトの名無しさん
2018/05/16(水) 07:09:06.16ID:wZFh8fJh
lazyは無限の計算を打ち切る
遅い計算をちょっと速くするだけの最適化とは次元が違う
565デフォルトの名無しさん
2018/05/16(水) 07:20:15.91ID:mOBIQo/B
>>562
これは同意かな。
結局抽象論でドヤるの好きなだけなやつってのは
実測を嫌う傾向にあるから問題を引き起こす。
566デフォルトの名無しさん
2018/05/16(水) 07:35:27.07ID:/r6FU1qw
>>564
初めから無限の計算をしないように書いた方が多くの場合(ずっと)速いのでないかみたいな話だろ
567デフォルトの名無しさん
2018/05/16(水) 07:51:39.34ID:R9tYk9Qj
そんなlazy全否定するような話題だったのか
568デフォルトの名無しさん
2018/05/16(水) 07:55:55.64ID:wZFh8fJh
そういう話題だったら初めからそう言えばいいのに
現実的には後出しが便利だから後出ししてる
現実を実測しよう
569デフォルトの名無しさん
2018/05/16(水) 08:00:59.77ID:9/p4w1/n
いや後出しも何も>>457のブログにlazy遅いよねとか書いてあってそれについて話してるわけだし…
570デフォルトの名無しさん
2018/05/16(水) 08:02:16.32ID:9/p4w1/n
と俺は思ってたんだが違うのか?
571デフォルトの名無しさん
2018/05/16(水) 08:23:21.13ID:OmXLSXyH
あってるよ。
572デフォルトの名無しさん
2018/05/16(水) 08:30:32.29ID:SZWziQ/v
もう少し真剣に考えてもいいんじゃないか?
誰も最適化が完璧に行われてる、の追試しないの?
ghcの最適化結果のバイナリをgdbで眺めるだけでも全然違うと思うが。

俺がやるとおま環でオラつくなとか言われるの目に見えてるから静観してるけどさ。
573デフォルトの名無しさん
2018/05/16(水) 09:41:30.81ID:L2yt4rd4
お前の静観ってうるさいのなw
574デフォルトの名無しさん
2018/05/16(水) 09:50:51.21ID:+AvdAm/t
例がクソすぎて正直興味わかない
575デフォルトの名無しさん
2018/05/16(水) 09:51:48.57ID:ub+CyxOt
>>573
やめたれw
576デフォルトの名無しさん
2018/05/16(水) 10:11:53.73ID:+AvdAm/t
これ正味のところコンパイラのバックエンドの性能比較にしかなってないし、
その差も最適化オプションの違いと想像できる範囲だもの
577デフォルトの名無しさん
2018/05/16(水) 15:45:52.24ID:f5OfgQEL
うーん、だったら異なる言語の速度比較に説得力を持たせるためには、どんなルールを定めればいいの?
578デフォルトの名無しさん
2018/05/16(水) 16:15:52.78ID:w3xM0aVb
お題を設定して、そのお題を解く実行速度でも競えば
579デフォルトの名無しさん
2018/05/16(水) 17:11:19.52ID:nSjgdD8L
これは反対意見が多いと思うんだけど任意の問題について各々の言語で素直な(読み書きしやすい/一般的な)書き方で解いた際の速度比較が一番だと思ってる
コンパイルオプションレベルでの最適化はアリだと思うけどソースでの最適化なんてほんとにそれするの?っていうのあるし
580デフォルトの名無しさん
2018/05/16(水) 17:35:38.66ID:JOa7NyYz
問題の難度が低すぎるから早押しクイズになってしまう
正解者が1名いるかいないかの難問なら速度はどうでもいいだろ
581デフォルトの名無しさん
2018/05/16(水) 17:54:36.37ID:bvYagxcd
>>579
いや、そもそもソースを1つに限定しようとするのがダメだと思う
読みやすい(一般的な)コードと最適化を前提としたコードの両方を用意する
そうすれば両方のケースで比較できるようになる
あと、その任意の問題とやらも複数ケース用意する必要があるだろうな…
面倒臭いけどそれがベストだと思う
582デフォルトの名無しさん
2018/05/16(水) 18:10:24.62ID:JOa7NyYz
>バカが書いたCのコードより天才が書いたHaskellのコードのほうが(多分)速い

一方ロシアは天才が書いたCのコードを用意した
583デフォルトの名無しさん
2018/05/16(水) 18:51:37.22ID:w3xM0aVb
>>580
ある種の難問を解きやすいのが関数型言語のウリのはずだし、それはそれで一つの結果じゃない?
584デフォルトの名無しさん
2018/05/16(水) 19:03:04.49ID:mn6BTyTm
それはそれとして
個人的に>>457の確認をしてみたいのだけど、
どんな main 書けばいいのか誰か教えてくれないか?

ghc -O2 で下記のようなコードをコンパイルすると
一切メモリ使わずレジスタだけで0.1ずつ増加させた数を積和していくからテストにならないし、
10M個の積和を100回実行するところも1回に省略される気しかしない…

https://ideone.com/gjFBNp

module Main (main) where
import Prelude hiding (sum, length, zipWith, map)
import System.Environment (getArgs)
import Data.Vector.Unboxed

test :: Data.Vector.Unboxed.Vector Double -> Double
test v = sum $ zipWith (*) v v

main :: IO ()
main = do
(n':_) <- getArgs
let n = read n' :: Int
let v1 = enumFromStepN 0.0 0.1 n
print n
print $ test v1
585デフォルトの名無しさん
2018/05/16(水) 19:11:48.70ID:mn6BTyTm
いやごめん
Haskell スレで聞いてみます
586デフォルトの名無しさん
2018/05/16(水) 19:50:33.80ID:mn6BTyTm
せっかくだから一応貼っておくと ghc -O2 は上記の sum zipWith をここまで最適化した

_c8Gb:
testq %r14,%r14 // 全て終わったら
jle _c8Gh // ループ終了
_c8Gi:
movsd %xmm1,%xmm0 // m0 <= m1
mulsd %xmm1,%xmm0 // m0 <= m1*m0
addsd %xmm0,%xmm2 // m2 <= m2+m0
addsd _n8GK(%rip),%xmm1 // m1 <= m1+0.1
decq %r14 // 回数カウンタ減らす
jmp _c8Gb // ループ

遅延評価と fusion すごいw
587デフォルトの名無しさん
2018/05/16(水) 19:58:05.30ID:ub+CyxOt
ソースコードより短いのは流石に草
588デフォルトの名無しさん
2018/05/16(水) 21:37:36.10ID:JOa7NyYz
これO(1)じゃなくてO(n)だけど速いのか?
聞くは一時の恥、聞かぬは一生の恥
589デフォルトの名無しさん
2018/05/16(水) 21:40:07.47ID:ub+CyxOt
O(1)になるまで最適化って、それ1/6公式使わないと無理じゃね?
590デフォルトの名無しさん
2018/05/16(水) 21:43:37.16ID:JOa7NyYz
つまり、鳥人間コンテストのような謎のルールで縛られてまともな飛行機作れない状態か
591デフォルトの名無しさん
2018/05/16(水) 21:50:17.17ID:ub+CyxOt
1/6公式使うまで最適化してくれるようなコンパイラあんの? あったら見て見たいんだけど
592デフォルトの名無しさん
2018/05/16(水) 22:22:29.79ID:/X1sH6Jm
visualc の出したコードではループ回数が10の倍数だということを織り込んで
10回分ずつ loop unrolling して端数回を処理するコードは略されてた。

そこまでわかってるならもう全部計算しといて略せよという気がした。
593デフォルトの名無しさん
2018/05/16(水) 22:57:07.69ID:/X1sH6Jm
1/6公式使うのは違う計算をして微妙に違う値になるから最適化というより簡略化だな
594デフォルトの名無しさん
2018/05/16(水) 23:22:07.02ID:kpFCptG2
先に除算を分岐処理しないとオーバーフロー条件変わっちゃうからなぁ
595デフォルトの名無しさん
2018/05/16(水) 23:44:41.84ID:mOBIQo/B
まあ最適化してるってことでコンパイル時に全て計算してしまえば
ランタイム速度はいつだってO(1)だよ。
596デフォルトの名無しさん
2018/05/17(木) 00:08:51.80ID:44AbGMy1
悪質な反則と正しいハックの違いを
理系の学問では説明できない
597デフォルトの名無しさん
2018/05/17(木) 01:23:03.74ID:GvGg8gY/
コンパイル時に計算可能なのは>>457
>>584は実行時の引数使ってるから計算しとくのは無理だな
いつだってO(1)に最適化できる、未来を予測する神のコンパイラがあれば別だけど。

積和しないで公式使うのがよろしくないってのは、
数学や算数の計算と違って丸め誤差のあるコンピュータ言語での
浮動小数点数演算は誤差に関する統一的な挙動、
通常 IEEE 754 に準拠した挙動が期待されるわけで、
式を変形したり変えたりすると丸め誤差の出方が違って結果の値が変わっちゃうから。

もちろん規格を守らなくて良いというオプションはあっても良いわけどけど。

…誰か何か他の話題を
598デフォルトの名無しさん
2018/05/17(木) 17:09:11.06ID:UKx8yrTb
自分で考えろカス
599デフォルトの名無しさん
2018/05/22(火) 10:01:58.35ID:C41sjEPZ
お前が考えろゴミ
600デフォルトの名無しさん
2018/05/22(火) 17:54:26.91ID:IYYsp57a
ほなワイが集めたるで~
601デフォルトの名無しさん
2018/05/22(火) 21:27:22.64ID:XSJVgfVv
つまりRust最強
602デフォルトの名無しさん
2018/05/22(火) 21:57:35.93ID:eYNszKh+
何がどういう理屈で「つまり」なんだってばよ(; ̄Д ̄)?
603デフォルトの名無しさん
2018/05/22(火) 22:03:03.16ID:+QrWxPmY
Rustは最近impl traitが実装されて使いやすくなった
604デフォルトの名無しさん
2018/05/22(火) 22:41:37.50ID:eYNszKh+
impl trait は確かに嬉しかった
これでやっとトレイトオブジェクト使わずにイテレータが返せるようになった
605デフォルトの名無しさん
2018/05/22(火) 22:50:22.39ID:BI9R8Qza
rust わかりやすいくらいダメな方向に行ってるな。。
606デフォルトの名無しさん
2018/05/22(火) 23:12:28.14ID:auQt52bO
Juliaは?
けっこう化けそうな希ガス
607デフォルトの名無しさん
2018/05/22(火) 23:20:40.27ID:eYNszKh+
何が理由で「ダメの方向」って言ってるのか分からない
C++の後継としてはRustは限りなく理想に近い言語だと思うが…
608デフォルトの名無しさん
2018/05/22(火) 23:23:35.78ID:eL1QxRDx
>>606
去年も全く同じこと言ってたよなお前
609デフォルトの名無しさん
2018/05/22(火) 23:28:27.19ID:m7LLEOxE
JuliaはPythonを殺せない気がする。ボトルネック以外速くてもあんまり意味ないし
610デフォルトの名無しさん
2018/05/22(火) 23:38:51.33ID:rpUF29sL
py 3.6で標準で型付けできるようになったし
av女優の名前借りたゲス言語なんてオワコンでしょ
611デフォルトの名無しさん
2018/05/22(火) 23:41:37.77ID:CTd7FMth
型システムだけはJuliaの方が好き。っていうかクラス嫌い
612デフォルトの名無しさん
2018/05/23(水) 00:06:43.07ID:QWeWgJFJ
結局Dartなんだよなあ
613デフォルトの名無しさん
2018/05/23(水) 00:10:03.78ID:NeMRQIGN
数値計算の話をwebで流すのやめろ!
614デフォルトの名無しさん
2018/05/23(水) 00:24:34.00ID:lm4BwuCE
Juliaいらね
数値計算に使う分には記述性はFortranと大差ない
615デフォルトの名無しさん
2018/05/23(水) 00:30:13.83ID:8U/w+cdS
Julia使ってるとコンパイル不要のスクリプト系の強みをjitのプリコンパイルの時間で失ってる気がするんだけど分かる人いない?
616デフォルトの名無しさん
2018/05/23(水) 00:30:32.27ID:NeMRQIGN
>>614
パ……パイプとより柔軟な内包表記があるから……
グラフも出せるし……
617デフォルトの名無しさん
2018/05/23(水) 00:32:43.88ID:xLXjXRd/
>>614
第一級関数がFortranにはないじゃん?
618デフォルトの名無しさん
2018/05/23(水) 01:02:46.26ID:mwVk/jhM
Rustはクラス嫌いなだけでなく第一級関数も嫌う方向に行った
619デフォルトの名無しさん
2018/05/23(水) 01:25:54.25ID:LjfntoLm
内包表記とかいうそびえ立つ糞
あのガイジ文法が読みやすいってpython作った低学歴はメクラのガイジなのか?
620デフォルトの名無しさん
2018/05/23(水) 01:28:00.60ID:01TEDvfp
使わなきゃいい
621デフォルトの名無しさん
2018/05/23(水) 01:48:18.92ID:NeMRQIGN
内包表記読みにくいって方が理解できん
622デフォルトの名無しさん
2018/05/23(水) 01:52:39.56ID:prSTZoE+
包皮
放屁

やっぱ読みにくいわ
623デフォルトの名無しさん
2018/05/23(水) 01:55:25.46ID:prSTZoE+
ピリオド.でpropertyをつないでいく何たら記法ってやつ
Rubyのゴルフ好きがよく使うが
あれこそ読みにくい
624デフォルトの名無しさん
2018/05/23(水) 01:55:41.96ID:lm4BwuCE
>>615
Juliaは数時間~数日単位の時間のかかる処理に使うもの
全く問題にならないオーバーヘッド
625デフォルトの名無しさん
2018/05/23(水) 02:34:11.07ID:V0Z2NuNB
>>618
なに言ってるんだ?
Rustは普通に第一級関数使えるんだが…
いろんなクレートがクロージャ使いまくってるんだが…
あとクラスを嫌ったのはむしろ正解だろ?
データと操作を一緒にするのは失敗で関連付けるのが正解
つまり、クラスは失敗でRustのimplかGoのレシーバが正解
626デフォルトの名無しさん
2018/05/23(水) 04:36:59.97ID:L+y822nJ
Haskellの移植だっけか?あっちは分かりやすい。
627デフォルトの名無しさん
2018/05/23(水) 04:38:52.45ID:L+y822nJ
Pythonic wwなリスト内包表記
もう少しうまくパクればいいのに。
628デフォルトの名無しさん
2018/05/23(水) 06:54:23.85ID:eQfPSYhe
確かに for がネストしてたり if else がネストしてんのに内包表記するのは馬鹿だなと思うわ。
素直に for 文書いて append しろやと。
629デフォルトの名無しさん
2018/05/23(水) 07:02:28.47ID:eQfPSYhe
>>607
後継っつーか、ほぼc++と同じ方向に行ってるだけになってるだろ。
それに意味があるか?
630デフォルトの名無しさん
2018/05/23(水) 09:26:47.69ID:McbJvmIi
Python の内包表記はややこしいって、Guido 自身が言ってるw

たぶん、a.b.c.d など、Ruby, jQuery みたいに、
Python では、関数型のメソッドチェーンができないからだろ
631デフォルトの名無しさん
2018/05/23(水) 09:50:48.87ID:V0Z2NuNB
>>629
GCがないこと以外はほぼ全て真逆の方向に進んでると思うんだが…
Rustほど信頼性に極振りしてる言語なかなかないぞ
アレのどこが同じ方向なんだってばよ?
632デフォルトの名無しさん
2018/05/23(水) 09:59:13.80ID:1qopdzmM
メソッドチェーン推しのくせにオプショナルチェーンに考えが至らず、多言語の後追いでパクリ導入したが?を識別子にできることとクソ命名習慣が相まり?.が使えず&.となった、もはやまともにパクることすら出来なくなってきた糞ジャップ言語があるらしい。
633デフォルトの名無しさん
2018/05/23(水) 14:15:18.86ID:zwnct6X1
pythonはもう機械学習の覇権言語として確固たる地位を確立してしまったので、
ITドカタどもが書きやすいと感じるかなんて、最早どうでも良い領域に到達してしまった
634デフォルトの名無しさん
2018/05/23(水) 14:49:50.61ID:xLXjXRd/
機械学習を自分で書ける腕があるなら、既に人が作ってくれたものを捨ててわざわざ一からやるなら別にPython使わなくても良いのよ?
635デフォルトの名無しさん
2018/05/23(水) 17:28:38.80ID:mefsnanK
自分のオリジナルのモデルを実装したら、比較検証用に他のモデルも動かす必要あるわけじゃん?
既存のモデルまで全部自前で実装するのはダルいんだわ。
で、既存のモデルはPythonで動かすってなったら、そのまま自分のモデルもPythonで動かせた方がデータの加工やグラフ化なんかを使い回せて便利ってなっちゃう。
636デフォルトの名無しさん
2018/05/23(水) 17:34:28.36ID:xLXjXRd/
わかりみが深い
637デフォルトの名無しさん
2018/05/23(水) 19:47:24.32ID:1qopdzmM
でも例えばtensorflow.jsはpythonのtensorflowやkerasのモデルインポート出来るぞ。
こんな風に移行手段提供されるんだったら言語は何でもいいんじゃない?
638デフォルトの名無しさん
2018/05/23(水) 19:57:50.83ID:eQfPSYhe
rustに信頼性?
あの言語で信頼できる書き方できるならc++でもできるほどのプログラマだわ。
機能追加しまくって聳え立つクソになりつつあるって意味で全く同一方向だと思うがね。
639デフォルトの名無しさん
2018/05/23(水) 20:04:05.38ID:0agB57Q/
>>631
お前がそう思うならそうなんだろう
お前ん中ではな
640デフォルトの名無しさん
2018/05/23(水) 20:08:16.04ID:Vc3iwML4
>>637
まあライブラリ提供側の気分次第やね
提供してくれたら喜んで移行できる
641デフォルトの名無しさん
2018/05/23(水) 20:08:23.39ID:0agB57Q/
Rustでまともなプログラム書けるならC++でまともにプログラミングできるって点が一番のRustの致命的にゴミな部分な
Rustを使う意味はただのひとつもない
642デフォルトの名無しさん
2018/05/23(水) 20:42:05.12ID:Vc3iwML4
Juliaはendがなあ……
643デフォルトの名無しさん
2018/05/23(水) 21:14:13.23ID:Ex+BBdgR
>>641
大きな違いがあるぞ。
C++はまともでないプログラムでもエラーや警告を吐かずにコンパイルできてしまうが、Rustは、少なくともメモリ周りがまともでないかどうかはチェックしてくれる。デバッグや保守を考えたらRustの方がありがたい。
644デフォルトの名無しさん
2018/05/23(水) 21:30:42.02ID:V0Z2NuNB
>>643
Sync, Sendのマーカートレイトのおかげでマルチスレッド下のデータ競合もチェックしてくれるぞ
もちろんNull安全も保証してくれる
むしろRustを使わずC++を使う理由の方が「既存資産」以外にはひとつもない
645デフォルトの名無しさん
2018/05/23(水) 21:53:37.23ID:cEWT5Ura
前から気になってたんだけどWindowsのDLLみたいな動的リンク方式のライブラリを作ったり使ったりするのに適した言語って最近のである?
言い方を変えるとバイナリ形式のプラグインやアドオンを作ったり使ったりする言語を探してるんだけど
最近のプラグインやアドオンってスクリプトが主流なんだよね
646デフォルトの名無しさん
2018/05/23(水) 21:57:13.88ID:H7n6Wk6+
>>637
それ、Pythonで書いておけば何処でも動くから
Pythonで書こうってのが加速するだけじゃん
js では学習済みのモデルが動くだけなんだから
647デフォルトの名無しさん
2018/05/23(水) 22:05:53.52ID:1qopdzmM
>>646
ちがうよ。学習も出来るフルセットだよtensorflow.jsは。
たしかに学習済みモデルを動かすだけのライブラリもあったけどね。
そうではないから盛り上がってるんじゃん。
648デフォルトの名無しさん
2018/05/23(水) 22:10:00.62ID:H7n6Wk6+
あ、ホントだ。教えてくれてありがとう。
649デフォルトの名無しさん
2018/05/23(水) 22:14:28.24ID:NeMRQIGN
数値計算の次世代言語雑魚すぎィ!
Fortress 復活させろよぉ!
650デフォルトの名無しさん
2018/05/23(水) 22:32:26.36ID:X0L2uE50
>>645
ネイティブならC++
ネイティブでなくてよければC#がベスト
651デフォルトの名無しさん
2018/05/23(水) 23:52:54.57ID:cEWT5Ura
>>650
やっぱそうなるか
次世代言語への移行はまだまだ先になりそうだ
ありがとう
652デフォルトの名無しさん
2018/05/24(木) 00:56:23.12ID:OfFTJh37
>>643
そもそもRustでコンパイル通せるならC++で十分ってことへの答えになってないな

そもそもチェック自体も胡散臭い。当てにならん
https://github.com/rust-lang/rust/pull/50966
653デフォルトの名無しさん
2018/05/24(木) 01:01:49.92ID:OfFTJh37
>>644
Rustみたいな鬼のように複雑な言語使ってコンパイル通せるなら、
C++でバグ出さずに書けるっつってんだろ
コンパイル通せる前提で話すんなや

あんな数年の歴史しかないのにC++に匹敵する
サクラダファミリアに成長できた複雑怪奇な言語コンパイル通すのと
C++でバグなくプログラミングする難易度ほぼ同じなんだから
既存資産の分でC++に軍配あがるだろって単純な話よ
654デフォルトの名無しさん
2018/05/24(木) 01:06:34.50ID:/hP4MdXz
>>653
桜田じゃない。サ「グ」ラダだ、タコ助。
655デフォルトの名無しさん
2018/05/24(木) 01:48:40.06ID:wnD2d+8L
>>653
ああもう煩いな
おれの経験にのみ基づく話なので「それはおまえだけだろ?」
と言われた場合はぐうの音も出ないのであまり書きたくなかったが…

俺はRustを趣味で使い始めて1年半くらいで自分でもRust使いだと名乗れる
くらいには詳しくなったが、それでも未だにコンパイラには時々怒られてる
ただし、コンパイラのエラー情報を見れば何がダメなのか
すぐ理解できるようになったので少し考えれば修正できるようにもなったし
未だに怒られること自体はさほど大きな問題にはなっていない
ただ、始めた頃と比べれば、だいぶ怒られる回数は減ったが完全に無くなりはしなかったし、
今後もずっと俺はRustのコンパイラには時々怒られるような状態のままだと思う
そしてその状態の俺がC++で同じようにコードを書いた場合、
Rustだと時々コンパイラが怒ってくれてた部分をC++は全て無視してバグになってしまう
俺にはRustのコンパイルを(時々怒られつつ)通すことは出来るが
C++でバグを出さないことはできない。だから俺はRustを使う

他のRust使いはどうなんなんだろうな?俺と同じヤツはいないのか?
656デフォルトの名無しさん
2018/05/24(木) 08:03:37.58ID:haXyd0aV
サクラダファミリアwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
チェリーブロッサムボーイかよwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
657デフォルトの名無しさん
2018/05/24(木) 08:09:10.38ID:fO25J7ke
だいたいそんなもんじゃない?
今まで静的解析かけてたようなものが、コンパイラに標準実装されたようなもんかと。
無自覚にガバガバのCpp書くよりはよっぽど良いかと。
658デフォルトの名無しさん
2018/05/24(木) 08:14:37.42ID:hcSrmWsG
どっちに対しても言えるけど
そいつ本人の説得力ってのは
そいつのコードを見るまでわかんねえ

口では色々言ってるやつのコードが結局「えw」みたいなこともあるし
「えw」みたいなコード書いてるやつがそれを恥じて黙るどころか
むしろ誇ってるみたいな態度でどんどん発言をさらにするケースまであり

>>655
どっちかってーとコンパイラやボローチェッカが怒ってくれることは重視してない
言語の仕様とか、クロージャがすっきりかけたりするとことかすこ
C++のクロージャとか哀れで涙出てくるわ
659デフォルトの名無しさん
2018/05/24(木) 08:15:09.80ID:hcSrmWsG
ageちゃったぃ
すんまそ
660デフォルトの名無しさん
2018/05/24(木) 08:35:15.47ID:ythCS9Ag
自分のコードを見せなければ正体がバレないというのは楽観的すぎる
他人が書いたものをを正しく読めなかったらすぐバレる
661デフォルトの名無しさん
2018/05/24(木) 08:39:58.30ID:Ikv8gz3W
誰がそんなこと言ったんですかね……
662デフォルトの名無しさん
2018/05/24(木) 09:12:00.44ID:YtgWYLdm
やっぱりお題必要だな
663デフォルトの名無しさん
2018/05/24(木) 09:22:43.01ID:ythCS9Ag
お題ならPythonで十分
Pythonのコードを見せても、型がないとかなんとかケチつけられた場合の保険がRustだろ
664デフォルトの名無しさん
2018/05/24(木) 10:16:37.36ID:uCHPd8NS
お題なしで雑談というか口(くち)プロレスでいいよ
で実際速いの?どんなコード出てるの?とか実践始めるとみんな黙りこんじゃうからw
授業中先生に当てられたくない子供みたいに
665デフォルトの名無しさん
2018/05/24(木) 10:38:36.76ID:wnD2d+8L
>>655
結局、「Rust書けるんならC++も書けるだろ?」って言い分は
俺には全く適用されてないってことが言いたかったんだ

>>658
確かにC++のクロージャは酷いな
そこら辺もRustだと比較的すっきり書けて良いよね
666デフォルトの名無しさん
2018/05/24(木) 10:46:26.14ID:Ikv8gz3W
>>664
みんな黙り込むのは質問が意味不明だったり、場にそぐわない質問だったり、質問者に触れたくないというパターンもあるのでそのパターンだけではない
667デフォルトの名無しさん
2018/05/24(木) 11:36:01.54ID:ythCS9Ag
無料で教えてもいいと思える範囲でみんなやってるだろ
課金しないともったいないレベルになったら大抵は黙り込む
668デフォルトの名無しさん
2018/05/24(木) 19:30:37.89ID:vRvusgVp
ネイティブDLLでプラグインっつったら旧BorlandのBPLはすごく便利だったんだが
DelphiとC++Builderでしか作れないし、今となってはとてもおすすめできない
669デフォルトの名無しさん
2018/05/24(木) 20:11:25.74ID:8MplY56S
>>667
それな。少しばかりの優越感に浸るためにノウハウの公開はしないわな。
670デフォルトの名無しさん
2018/05/24(木) 21:04:40.93ID:DVWxp3L/
>>665
Rustのクロージャもどっこいレベルでひどいだろ

FnOnceとFnMutとFnの区別つかねえし、、moveのつくつかないで挙動まったく変わるし
Rustの代表的クソ仕様じゃねえか

少なくとも「C++のクロージャより出来が良い」なんて言えない
671デフォルトの名無しさん
2018/05/24(木) 21:14:58.76ID:/hP4MdXz
少なくとも「C++のクロージャの出来よりはマシ」
672デフォルトの名無しさん
2018/05/24(木) 21:30:50.88ID:VphYtM0Y
そのクソ仕様の後追いみたいなことばっかやってる印象なんだよ。
673デフォルトの名無しさん
2018/05/24(木) 21:49:45.67ID:xIKDzvCc
後追いなのに「マシ」でしかないなら良くないな
674デフォルトの名無しさん
2018/05/24(木) 21:55:08.28ID:VphYtM0Y
だいたい静的言語が無理やりクロージャーなんて入れる必要ないのに、
「俺もそれくらいできるから!」みたいなノリで無理くり入れるのが間違ってんだよ。
大人しく継承でオーバーライドしときゃいいんだよ。
カスのワガママに従うからクソが聳え立つ。
675デフォルトの名無しさん
2018/05/24(木) 21:55:59.77ID:hcSrmWsG
>>670
そーなん?
偉そうなこと言っといて実は俺C++あんま知らんのよごめんね
FnOnceとFnMutとFnの使い分けはまぁ毎回俺もぐぐってる
fn main() {
let seq = |mut a| {move || {a += 1; a}};
let mut f = seq(0);
let mut g = seq(100);
println!("{} {} {} {}", f(), f(), g(), g());
}
↑スッキリじゃん?
|| {a += 1; a}
↑この部分は↓こう書けたらなぁと思ったりするけど
|| ++a
676デフォルトの名無しさん
2018/05/24(木) 21:56:31.96ID:/hP4MdXz
一般にAがBよりマシとは、AがBより僅かなりとも優良であることを意味する。
後か先かは関係ない。
677デフォルトの名無しさん
2018/05/24(木) 21:59:14.23ID:xIKDzvCc
先であること自体に莫大なメリットがあることを考慮に入れた上でのなおかつ「マシ」ならその通りだがな
678デフォルトの名無しさん
2018/05/24(木) 22:03:14.32ID:CdSxt682
Rustは第二のC++でも作ろうとしてるのか?
679675
2018/05/24(木) 22:07:12.31ID:hcSrmWsG
おっとID変わってるけど俺>>658
680デフォルトの名無しさん
2018/05/24(木) 22:48:36.88ID:A2obqUPd
>>674
Goもだけど「継承自体がクソだからやめようぜ」って流れなんだよな
無理矢理クロージャ入れる必要がないには同意
無名関数が使えりゃ足りる
681デフォルトの名無しさん
2018/05/25(金) 01:34:45.66ID:PKA0x+Yj
>>670
自分でC++の重大な欠点を言ってる気がするんですが…
自ら「区別がつかない」って言っちゃってるじゃん…
Rustならその3つをコンパイラがきちんと区別を付けて
間違ってたらコンパイルエラーとして教えてくれる
C++だと自分の脳内で区別しないとバグになる

他にもC++はキャプチャリストは自由度が高い分書くのがめんどくさいし
キャプチャしない場合でも[]は省略できない
戻り値の型は推論するくせに引数の型は推論してくれない
一行だろうと{}必須。よって戻り値ある場合はreturnも必須
mutableキーワードも必要に応じて推論してくれない
C++だとあまり使うことはないかもしれないが
例外がスローされる場合はそれも書かないといけない

RustならFnOnceとFnMutとFnの違いは推論されるから書き分ける必要はない
キャプチャする環境の所有権を移動したい場合にのみmoveをつけるだけ
move以外は他言語のクロージャと書き方は全く変わらない
確かに他言語のクロージャより仕様は複雑だが
推論がしっかりと効くから書く側はすっきりと書ける

まあクロージャを書く側ではなくて受けとる側(定義側)は
上記の3つをしっかり区別する必要があるので難しいのは認める
これはGCがない言語である限りは仕方のないこと…
とはいえ、ライブラリ作ろうとしない限りは定義側を書くことはないでしょ
682デフォルトの名無しさん
2018/05/25(金) 01:49:54.39ID:HnuamdJg
敬称が糞って
ヒューマンクラスを継承したちんさんクラスとまんさんクラスは糞なのか?
683デフォルトの名無しさん
2018/05/25(金) 02:31:46.48ID:hLxVSrBi
>>682
その例えを借りるなら
ちんさんクラスとまんさんクラスを両方継承したふたなりさんクラスを作るときに
戦争が起こる
684デフォルトの名無しさん
2018/05/25(金) 03:03:41.33ID:xEzst0Sw
そこはis-a関係でなくhas-a関係を使うべき
685デフォルトの名無しさん
2018/05/25(金) 06:59:36.86ID:N3c6aWbU
ちんもまんもクラス外に公開しなければならないインターフェイスだからhas-aだと実装を晒しすぎる
686デフォルトの名無しさん
2018/05/25(金) 07:53:32.29ID:HnuamdJg
インポリメンツちんぽか
687デフォルトの名無しさん
2018/05/25(金) 13:18:54.68ID:hlSUANfD
rustがいかに注目されているかよく分かるやりとりだな
688デフォルトの名無しさん
2018/05/25(金) 14:15:14.14ID:4TBK/UtB
is-aは寿命が同じ
has-aは寿命とメモリが断片化する
でもこれは全ての実装において正しいとは言えない
実装非依存のおまじないの方が正しいからis-aとかhas-aとかいうおまじないを使う
689デフォルトの名無しさん
2018/05/25(金) 14:50:00.53ID:B3ITbo/r
はああん?C++が一番有能に決まってるだろが。
690デフォルトの名無しさん
2018/05/25(金) 14:58:09.55ID:AvKDu7Ii
C++が一番有能なら何を求めてこのスレに来たんだ
691デフォルトの名無しさん
2018/05/25(金) 15:08:44.57ID:1dRV9c5u
なにこれHaskellってコンパイラを入れるためのツール必要なのか
開発環境を管理するツールってことでええんか
692デフォルトの名無しさん
2018/05/25(金) 15:15:51.49ID:B3ITbo/r
>>690
最強の次世代言語C++について話すためだろうが。
693デフォルトの名無しさん
2018/05/25(金) 15:21:56.55ID:AvKDu7Ii
>>692
C++が最強なのって、先行であることの諸々のメリットを含めての話?含めずの話?
694デフォルトの名無しさん
2018/05/25(金) 17:35:23.86ID:8DzJcbZi
>>691
Cとかと一緒で複数種類コンパイラがあるからな
695デフォルトの名無しさん
2018/05/25(金) 17:36:36.20ID:8DzJcbZi
>>692
C++2aから次世代?
それともC++2aまで今世代でその次から次世代?
696デフォルトの名無しさん
2018/05/25(金) 19:02:17.99ID:xyc9D3Rc
開発環境を管理するツールを管理するツールが無いだけマシ。
697デフォルトの名無しさん
2018/05/25(金) 22:32:01.50ID:R7850AfQ
>>695
visual studioも c++17完全対応したらしいから17までは現世代でいいかなと。
698デフォルトの名無しさん
2018/05/25(金) 22:56:51.43ID:dKyw+i0Y
>>696
nodeやpythonやrubyの悪口はやめるんだ。
699デフォルトの名無しさん
2018/05/25(金) 23:27:50.48ID:4TBK/UtB
CPythonはC言語の環境さえあればなんでもできるしライブラリだけはC言語並みに速い

JavaもHaskellもただコンパイラを作るだけでなく
C言語のライブラリの使用を禁止する大義名分を作れるかどうかが重要になる
制御の反転とか
ドメインモデル貧血症とか
700デフォルトの名無しさん
2018/05/25(金) 23:41:53.32ID:AvKDu7Ii
なんでCのライブラリを使っちゃいけないの?
701デフォルトの名無しさん
2018/05/25(金) 23:52:56.77ID:xxaSk9pj
>>697
どうせuniversal initializer周りはバクだらけだろうよ。
>>698
nodeはもはやnpmのが価値がある。
>>700
ハサミで怪我した人はハサミを根絶すれば怪我しなくなると信じてるんだよ。
702デフォルトの名無しさん
2018/05/25(金) 23:55:48.17ID:4TBK/UtB
>>700
インタプリタ+Cのライブラリ
を使っていい現状でPythonが勝ってるから
使っちゃいけないことにすればコンパイラ言語が勝てる確率が上がる
703デフォルトの名無しさん
2018/05/26(土) 00:01:52.26ID:i86nCRmL
C+スクリプトが最強ってことね
Haskellもコンパイル出来るスクリプトみたいなもんだし
704デフォルトの名無しさん
2018/05/26(土) 07:12:23.43ID:JffIKOaJ
そういえばc言語にはパッケージ管理ツールってあるの?
705デフォルトの名無しさん
2018/05/26(土) 07:23:38.94ID:E+a4SYdv
>>704
C++ならMSのVcpkgとか?
使ったことないけどマルチプラットフォームらしい
706デフォルトの名無しさん
2018/05/26(土) 08:07:14.44ID:lww/3Yi3
>>704
結構OSと結びついてること多いし、普通はOS全体のパッケージ管理ソフトの
aptとかyumで入れる。
707デフォルトの名無しさん
2018/05/26(土) 08:11:41.09ID:sQSfUS3A
結構OSと結びついてる??
多い?
普通は?

???

>>705
こっちの発言は普通に>>704へのレスとして正常
708デフォルトの名無しさん
2018/05/26(土) 08:15:37.17ID:lww/3Yi3
>>707
はいはい、じゃあお前はMSのVcpkgってのを使ってろよ。
709デフォルトの名無しさん
2018/05/26(土) 11:01:18.92ID:yLdCoEV+
/usr/libとか.local/libとかにでもほりこんどきゃいいっていう単純なルールだからむしろパッケージマネージャ使うより分かりやすい
710デフォルトの名無しさん
2018/05/26(土) 11:44:24.93ID:Alqb/ffm
ファイルシステムと結びついてる
そのファイルシステムよりも優れたパッケージのデータベースを作れないだろうかと
711デフォルトの名無しさん
2018/05/26(土) 12:07:11.19ID:+v/aNAKk
>>710
すでに広く使われてるけどな。
712デフォルトの名無しさん
2018/05/26(土) 14:24:01.93ID:lww/3Yi3
自分は使わず他人を実験台にする気しか感じられん。
713デフォルトの名無しさん
2018/05/26(土) 15:25:11.42ID:Alqb/ffm
口先だけの理論を極めたら実験台は最小限で済むのに、口先だけの人をなぜ笑うんだい
714デフォルトの名無しさん
2018/05/26(土) 15:28:25.91ID:/ACViDE8
その実験を他人任せにしてるからやで
715デフォルトの名無しさん
2018/05/26(土) 15:40:35.41ID:yLdCoEV+
自分の成果として世に出すものならともかく、しょうもないことは人に投げれたから投げたほうがいいでしょ
716デフォルトの名無しさん
2018/05/26(土) 15:56:16.96ID:Alqb/ffm
そもそも実験の量を減らせないのかなと思うんだが

必要な実験の量は決まっていてそれ以上減らすのは不可能
という根拠がどこにあるのかなと
717デフォルトの名無しさん
2018/05/26(土) 18:23:53.82ID:+v/aNAKk
つまり、C++が最強なわけです。
718 ◆QZaw55cn4c
2018/05/26(土) 18:27:00.30ID:LE8Quobi
あの、どうしようもない仕様のC++が最強なわけがない…
719デフォルトの名無しさん
2018/05/26(土) 19:21:26.10ID:Gw/MbzDj
そう言うアンチが使ってるウェブブラウザも99%C++製という
720デフォルトの名無しさん
2018/05/26(土) 19:26:18.19ID:+v/aNAKk
Menlo Park Projectで挫折したビル・ジョイはゴスリンにJavaを作らせたわけですが、結局これも挫折してしまいます。
721デフォルトの名無しさん
2018/05/26(土) 19:27:25.33ID:+v/aNAKk
>>719
C++が向いてる非常に限られた応用分野がアプリケーション・ソフトウェアだという話もある。
(俺の中で)
722 ◆QZaw55cn4c
2018/05/26(土) 19:27:33.89ID:LE8Quobi
>>720
Java は復活するよ、OpenJDK 化したのが巧手になるという
723デフォルトの名無しさん
2018/05/26(土) 19:29:42.28ID:+v/aNAKk
Javaはもう無理じゃないのかな。
当初の野心的な設計が何の意味も持たないほど汚されてしまっている。
724デフォルトの名無しさん
2018/05/26(土) 19:31:33.41ID:+v/aNAKk
VPSで計算主体のちょっとしたサービスを作ろうと思うと、Javaじゃ重すぎるので、C++で書き直そうかと思ってる。
Boost.Beastが出たことだしね。
725デフォルトの名無しさん
2018/05/26(土) 19:33:00.94ID:+v/aNAKk
Javaで書くと月3万くらいかかるけど、C++で書き直すだけで1000円で済む。
726デフォルトの名無しさん
2018/05/26(土) 19:38:23.21ID:CFSKq76+
AWS Lambdaとかうまく使えばJavaのままでもほぼタダで運用できる可能性もあるぞ
727デフォルトの名無しさん
2018/05/26(土) 20:07:16.64ID:+v/aNAKk
でもお高いんでしょう?
728デフォルトの名無しさん
2018/05/26(土) 20:22:14.49ID:Gw/MbzDj
アプリケーション・ソフトウェアという言葉に
GUI処理担当という含みがあるなら、
その部分は Android なら Java だし iPhone なら Objective-C という風に
主要なモバイルプラットフォームで C++ は使われていないことを指摘しておく。
もちろんどちらもコア部分は c++ だけど。

アプリケーションを離れてみると
ffmepg などの動画関連のコーデックやフォーマットのライブラリはほぼ全てが c++

ソフトウェアの分野ごとの各種言語のシェアってどんなんなんだろうね
人工知能だと Python なのか
729デフォルトの名無しさん
2018/05/26(土) 21:05:39.67ID:+v/aNAKk
>>728
向いていない言語を使ってるからモバイルはもっさりなのでは。
730デフォルトの名無しさん
2018/05/27(日) 06:45:23.52ID:iAW8TpSo
>>715
つまり面倒なことは自分はやらんと。
「怠惰はエンジニアの美徳」を間違った解釈しとる典型例やな。
731デフォルトの名無しさん
2018/05/27(日) 10:10:48.49ID:BN8VpKje
モラルハザードは美徳の欠如ではなく合理的行動、の典型例じゃん

スポーツの試合中に起きたことを美徳云々で説明するのはバカ
ただし試合やってないのに24時間戦ってる奴は本物のサイコパス
732デフォルトの名無しさん
2018/05/27(日) 10:49:05.13ID:Rm2uu4hA
じゃあ、試合中に無防備の背中にタックルを決め込むのは何?
733デフォルトの名無しさん
2018/05/27(日) 10:54:04.85ID:3MSe96++
ただし上司に命令されてやむを得ずやったものとする
734デフォルトの名無しさん
2018/05/27(日) 11:19:36.68ID:6sX4/naG
言語界の生ける神であるHejlsbergは人の扱いが上手いから出世したんやで
どれだけセンスや技術があっても人を使えない奴はくだらないタスクに追われて腐るだけ
735デフォルトの名無しさん
2018/05/27(日) 11:20:31.96ID:VySgS13P
>>730
エンジニア関係なくしょうもないことは他人にやらせるのが生存戦略なんだよなあ……
一生しょうもないことやってろ
736デフォルトの名無しさん
2018/05/27(日) 11:53:49.22ID:BN8VpKje
>>732
どこからどこまでが試合中なのか空気読めない人には難しい
試合を止めたり再開したりするから
737デフォルトの名無しさん
2018/05/27(日) 12:21:29.10ID:M6iLAzp4
>>735
ってなことを言ってると
お前が他人に投げたいしょうもないことを
受け取ってくれる人がいなくなるんだよな

それとももう既にいないからこんなところで愚痴りに来てるのかな?
738デフォルトの名無しさん
2018/05/27(日) 12:24:41.96ID:VySgS13P
>>737
??? いるが?
後半もなんか妄想で叩いてきてるし、きしょい奴やな君
739デフォルトの名無しさん
2018/05/27(日) 12:28:28.97ID:iAW8TpSo
パッケージ管理ソフトの使い心地の調査をしょうもないことといって切り捨て、
他人にやらせるとかクソ中のクソだな。
こんな奴が出世するようになってるから日本の技術者は腐るんだろう。
740デフォルトの名無しさん
2018/05/27(日) 12:34:12.22ID:VySgS13P
>>739
それ誰の話? まさか妄想で俺に攻撃してる?
741デフォルトの名無しさん
2018/05/27(日) 12:46:02.82ID:fX39yZK1
日本の技術者がどうのとか大きな話するのは
自分が恥かくだけだからおやめ
おうちに帰ってカーチャンに聞いてもらってくれ
742デフォルトの名無しさん
2018/05/27(日) 15:51:17.04ID:1qLnSHOL
当スレッドが本になりました。
読みやすい印刷されたペーパーとしてご購入できます。
是非この機会にご検討ください。
743デフォルトの名無しさん
2018/05/27(日) 17:13:45.33ID:vGsyzOgH
>>729
そうやって妄想で現実を否定して何が嬉しいんだよ…
744デフォルトの名無しさん
2018/05/27(日) 19:35:35.04ID:ryWgNuxw
JAVAが遅いなんてずっと言われてるし少なくともその部分は現実だろ
速いから使われてるわけじゃない
745デフォルトの名無しさん
2018/05/27(日) 19:57:16.66ID:QS1EkFJo
Javaは速いだろ
エンプラのサーバーに最適化されすぎてて、一般ピープルが触ると遅く感じるだけだ
最近はコンテナやFaaSの流行によってサーバーサイドにおいても重厚(遅いわけでわない)なスタックが嫌われるようになったから、
これまでのJavaのパフォーマンス特性も時代に合わなくなっているのは確かだけど
746デフォルトの名無しさん
2018/05/27(日) 20:15:35.91ID:1qLnSHOL
ほむ、Javaはどのくらい速いのですかな?
747デフォルトの名無しさん
2018/05/27(日) 20:32:33.16ID:UStC7dOM
うーん、これくらい!w
748デフォルトの名無しさん
2018/05/27(日) 20:52:17.86ID:PKMOK1NR
>>747
やったぜ!
749デフォルトの名無しさん
2018/05/27(日) 20:56:47.34ID:1qLnSHOL
JavaはC++より二十倍速いで有名なページが、言及されまくった挙句、Hashはstd::vectorの二十倍速い場合もあるに変わったのを思い出した。
750デフォルトの名無しさん
2018/05/27(日) 21:17:03.12ID:349lNz1d
webフレームワークだと上位はC++とJavaだな
https://www.techempower.com/benchmarks/#section=data-r15&;hw=ph&test=json
751デフォルトの名無しさん
2018/05/27(日) 21:34:21.37ID:Rm2uu4hA
最近はRustもtokioのおかげで上位に食い込むようになってきたぞ
752デフォルトの名無しさん
2018/05/27(日) 21:34:55.15ID:J2TkP5AD
>>750
最近はC#も頑張ってるな
https://www.techempower.com/benchmarks/#section=test&;runid=f62c00e2-070f-4636-90a3-1ba2687271a4&hw=ph&test=plaintext
753デフォルトの名無しさん
2018/05/27(日) 21:38:00.21ID:Lun0pFel
エラー吐きまくってる恥ずかしいフレームワークが3つともC++だなw
754デフォルトの名無しさん
2018/05/27(日) 21:47:29.24ID:1qLnSHOL
ウェブフレームワークだとC++は遅いのか。
不思議なもんだ。
755デフォルトの名無しさん
2018/05/28(月) 00:31:09.16ID:bV3do8uo
>>750
c++は早くネットワーク関係のライブラリを標準で持てと。
ファイシステムよりプラットフォーム依存少ないだろうから標準になるの早いと思ったんだけどなぁ。
756デフォルトの名無しさん
2018/05/28(月) 00:46:52.85ID:yucnVNXj
Networking TSはあるけどな。
当面はBoostで凌ぐしかないんじゃないのかな。
757デフォルトの名無しさん
2018/05/28(月) 00:48:07.93ID:yucnVNXj
VPSだとJavaは使えないからな。
C++だとずいぶん安上がりなので、主流になると助かる。
758デフォルトの名無しさん
2018/05/28(月) 00:55:15.18ID:NFhkET8o
勘弁してくれ
C++は限られた脳力しか持てない人類には複雑すぎる
759デフォルトの名無しさん
2018/05/28(月) 00:55:58.49ID:yucnVNXj
Boost.Geometryでグラフィクスを作ればクロスプラットフォームのアプリができるんじゃないのか。
760デフォルトの名無しさん
2018/05/28(月) 00:57:48.56ID:yucnVNXj
GDIにあったような計算がGeometryに揃っているのを発見したのだが。
761デフォルトの名無しさん
2018/05/28(月) 01:01:36.65ID:yucnVNXj
>>758
Boost.BeastのFAQにライブラリの部品として使われることを意図してると書いてあった。
したがって、利用者側がテンプレートを駆使するスタイルではなく、用途に合ったインターフェースが用意されればいいんじゃないだろか。
C++は、複雑な利用法もできるけど、他の言語のような簡単な利用法もできるので。
762デフォルトの名無しさん
2018/05/28(月) 01:01:38.30ID:CgSA54C+
ネットワーク関係はsignalに依存する気がする
javaはどうやってsignal依存を誤魔化してるの
763デフォルトの名無しさん
2018/05/28(月) 08:20:44.90ID:FWdUDFme
>>750
プレインテキストのランキングの方がピュアじゃない
764デフォルトの名無しさん
2018/05/28(月) 08:34:51.50ID:QC8z8DAi
Boostって何をブーストするの?コンパイル時間?
765デフォルトの名無しさん
2018/05/28(月) 10:31:28.63ID:UfG8Uu1M
c#最近実運用してるけど割と良いと思えてきた。
バランスがだんだん良くなってきたと思う。
半分腐ってるクラスをcoreで捨ててったからかな。
766デフォルトの名無しさん
2018/05/28(月) 16:49:29.89ID:yucnVNXj
>>764
プログラミングを加速させるんじゃないかな。
次世代のステージへ。
767デフォルトの名無しさん
2018/05/28(月) 20:34:02.65ID:PHGZrKV/
>>758
Rustよりは分かりやすい
768デフォルトの名無しさん
2018/05/28(月) 20:42:40.78ID:HwCURH5x
>>767
いや、C++は深みにはまるとRustの方がはるかに簡単だったなと思いだす
769デフォルトの名無しさん
2018/05/28(月) 20:52:43.80ID:PHGZrKV/
>>768
簡単な要素を述べよ
770デフォルトの名無しさん
2018/05/28(月) 20:55:46.12ID:QC8z8DAi
述べよ(命令)
771デフォルトの名無しさん
2018/05/28(月) 20:59:32.13ID:PHGZrKV/
分かりやすいと主張する側に分かりやすさを説明する義務がある
772デフォルトの名無しさん
2018/05/28(月) 21:04:34.97ID:Cnh4I4wm
>>771
では、お願い致します

767デフォルトの名無しさん2018/05/28(月) 20:34:02.65ID:PHGZrKV/>>768
>>758
Rustよりは分かりやすい
773デフォルトの名無しさん
2018/05/28(月) 21:05:57.55ID:sW7tsilJ
それは、わかりやすくない、わかりにくいと主張する側に説明責任があるとも言えるのでは?
わかりにくさの説明義務を放棄して「いや、わかりにくい。わかりやすいと言うならわかりやすい要素を挙げろ」というのは、ちょっと無責任だと思うが。
それじゃやってる事同じだよね。
774デフォルトの名無しさん
2018/05/28(月) 21:06:31.21ID:sW7tsilJ
ああ、リロって無かった。ごめん。
775デフォルトの名無しさん
2018/05/28(月) 21:23:25.05ID:yucnVNXj
プログラミング言語Rust 第四版が無いからわかりにくい。
776デフォルトの名無しさん
2018/05/28(月) 21:40:44.10ID:OZNzbx2M
c++はオーバーロードの優先順位、値を返す時のコンストラクタの省略ルール、
テンプレートのマッチング、エラーなどこの辺がわかりにくい、てか覚える気にならん。
777デフォルトの名無しさん
2018/05/28(月) 21:43:46.15ID:HwCURH5x
C++はキャストの種類が多すぎてどれ使うべきなのかよく分からんくなるとか
マクロの各要素に括弧つけるの忘れて演算子の優先順位が狂って
そのことに気付くのに半日くらいかかったとか
インクルードガードなるものを知らなくて2重インクルードしてて困ったとか
他にも、C++は数え上げていくときりがないくらい落とし穴がいっぱいある
使い慣れてるヤツはそんなところで間違えないから問題ないのかもしれないけど
慣れてないヤツからすると上みたいな比較的簡単な部分でさえ落とし穴が多くて
そこにテンプレートとかが加わってくると「こんなもん使えるかよ」ってなる
Rustなら変なコード書けば大抵コンパイルエラーになるんで安心

逆にC++のほうが簡単って言ってるやつらは
Rustの何が難しくてC++の何がRustより簡単だと思ってるわけ?
778 ◆QZaw55cn4c
2018/05/28(月) 21:49:46.40ID:dVAXJXVu
>>777
>C++はキャストの種類が多すぎてどれ使うべきなのかよく分からんくなるとか
あれは、たしかに意味がよくわからないところがありますね…

>マクロの各要素に括弧つけるの忘れて演算子の優先順位が狂って
C の時代からのバッドノウハウ…というか、もうマクロは書かないほうがいい…

>インクルードガードなるものを知らなくて2重インクルードしてて困ったとか
別に二重インクルードしても「ほとんど」問題ないとは思うのですが…
779デフォルトの名無しさん
2018/05/28(月) 23:04:24.84ID:yucnVNXj
>>778
無茶言い過ぎ。
780デフォルトの名無しさん
2018/05/28(月) 23:30:57.70ID:QC8z8DAi
あんなにC++マニアだったのにC++のちょっと良くない部分も見えて来始めた感じ?
781デフォルトの名無しさん
2018/05/28(月) 23:36:45.76ID:RI6Mq7Tq
D--くらいなの無いの?
782デフォルトの名無しさん
2018/05/28(月) 23:40:07.57ID:yucnVNXj
二重インクルードしても問題ないとか言ってるくらいだから使ったことないだろ。
783デフォルトの名無しさん
2018/05/28(月) 23:44:09.14ID:QC8z8DAi
たしかに。マニアはちょっと違うな
784 ◆QZaw55cn4c
2018/05/28(月) 23:50:30.89ID:dVAXJXVu
>>782
C/C++にて二重インクルードするとどんな問題が発生するのでしょうか?
785デフォルトの名無しさん
2018/05/28(月) 23:54:31.87ID:QC8z8DAi
無限ループ起こさない上手い奴説
786デフォルトの名無しさん
2018/05/29(火) 00:16:27.56ID:XTs2/c/j
C++は低級言語なんだよ
何でもありの世界で適切に振る舞うには野蛮であらねばならない
しかしそれは知的であることと矛盾しない
787デフォルトの名無しさん
2018/05/29(火) 01:06:58.24ID:R8AzzyYJ
>>786
Rustも低級言語なんだよ
低級言語であるために常に野蛮である必要性はない
時に野蛮になれればいいだけだ
788デフォルトの名無しさん
2018/05/29(火) 02:02:32.47ID:yILeSRd7
C++は言語オタクの遊び道具に成り果ててるイメージ
しかも言語理論もへったくれもない増改築を繰り返した温泉旅館のごとき醜悪さ
template特にSFINAEとかconstexprとかいきあたりばったりじゃん
しかもそういう複雑なメタプログラミングの仕様を規定してるくせに、
そのデバッグ手法はアウトオブスコープっていうのが超無責任だと感じる
789デフォルトの名無しさん
2018/05/29(火) 03:38:52.77ID:OLm/G7uq
最近になってようやくD言語のbetterCモードが使い物になるようになった、らしい
gc無し例外無しクラス無し、ランタイムはC言語のものだけを使うモード
D言語のC言語から微妙に改善された構文とメタプログラミング機能はそのまま使えるということで
顧客が本当に必要だったもの感ある
790デフォルトの名無しさん
2018/05/29(火) 07:11:02.64ID:xMMbb2sa
>>788
そんなとこだな。あいつらはデバッグなんてしないし考えもしない。
ただrustもそんなc++の暗黒面を後追いしつつある。
791デフォルトの名無しさん
2018/05/29(火) 08:53:07.29ID:z8Gf8T53
今後Rustがどうなるかを知っているのがC++だというなら
C++は遊び道具などではなく未来予知の道具だ
792デフォルトの名無しさん
2018/05/29(火) 09:11:48.44ID:yILeSRd7
その考えが遊び道具だってんの
仕事でC++使っていわゆるプロダクトレベルのソフトウェアを作ってる身になってほしい
793デフォルトの名無しさん
2018/05/29(火) 09:14:50.67ID:P0r/84Mp
>>788
増改築を繰り返した温泉旅館のようって例え至るところで聞くな。
温泉旅館だけど風評被害で訴えるぞ!
794デフォルトの名無しさん
2018/05/29(火) 09:17:58.21ID:z8Gf8T53
>>792
人にものを頼むときには金を払え
プロダクトレベルってそういうことだろ
795デフォルトの名無しさん
2018/05/29(火) 09:38:00.09ID:YS72R3qS
c++やめてrustでfirefox作ってるんなら
rustはbetter c++なんだろ?
それはいい
796デフォルトの名無しさん
2018/05/29(火) 09:51:51.59ID:eSDryNnZ
>>794
標準化やってる連中が言いそうなセリフだ
797デフォルトの名無しさん
2018/05/29(火) 11:29:49.32ID:R8AzzyYJ
で、先週くらいからずっとRust勢はC++より優れてる点を挙げているのに
Rustアンチの奴等はそれに反論する訳じゃなくてほとんど無視して
RustはC++と変わらないって言ってるだけじゃなんの説得力もないんだけど…
>>655とか,>>675,>>681,>>776,>>777に対するマトモな反論はないの?
798デフォルトの名無しさん
2018/05/29(火) 12:03:55.74ID:z8Gf8T53
RustとC++は同じではないが対立しないだろう
どちらかが嘘をついているとか偏差値の差が10以上とか原因がなければ対立は起きない
799デフォルトの名無しさん
2018/05/29(火) 13:25:23.83ID:CZL5n1gP
>>797
だってまったく「優れてる」って根拠になってねーもん

個人の感想だったり、なんだかんだ言いつつC++側が決して手放しで優位でないって認めてたり

仕様の複雑さはC++が分かりにくいのは前提の上で、Rustの方が分かりやすいとは誰も言ってないよね

Rust使ってて客観的に生産性上がったってデータ、当のブラウザをRustで書いたmozillaからすら出てねえのに
800デフォルトの名無しさん
2018/05/29(火) 13:31:51.50ID:CZL5n1gP
>>798
当のRust信者が「RustはC++の後継!」とか言わなきゃ住み分けできると思うぞ
801デフォルトの名無しさん
2018/05/29(火) 15:13:51.33ID:R8AzzyYJ
>>799
個人の感想しかないに決まってるだろ
分かりやすいだの生産性だのをどうやってデータで出すんだよ
分かりやすさなんて数値化できないし
生産性も行数ぐらいでしか数値化できない
そしたら次は行数なんかで生産性が測れるかよってなる
それとも君は誰もが納得できる計測方法を知っているとでも?

確かにRustの方が分かりやすいとは言ってないが
C++の方が分かりにくいとは言ってるよね
それって相対的にRustの方が分かりやすいってことだよね
802デフォルトの名無しさん
2018/05/29(火) 15:32:47.66ID:R8AzzyYJ
>>800
RustがC++の後継になれるかどうかはともかく目指してるのは事実だからな
ていうかどうやって住み分けるの?
個人的にはC++の資産を今さら捨てるわけにはいかないって理由ぐらいしか
使い分ける理由が存在しないと思ってるんだが…
それって現実的な妥協案ではあっても住み分けではないよね
803デフォルトの名無しさん
2018/05/29(火) 16:59:20.34ID:sxnzIvUq
JavaやRustが優れているというのに、JavaやRustで書かれたアプリがユーザーに全く受け入れられないのは、呪いがかかっているからだろう。
804デフォルトの名無しさん
2018/05/29(火) 18:47:43.68ID:YS72R3qS
rustは良いと思う
web開発では使いたくないけど
805デフォルトの名無しさん
2018/05/29(火) 21:11:37.30ID:xMMbb2sa
結局、書く手間の割に対して安全でもないってことだろ。
そこまでクリティカルなプログラムの場合、他の部分で十分テストするし、
言語レベルでなくてそちらの要素のが安全面に関しては影響がでかいっいう当たり前のことに
まともな奴らは気付き始めてる。
806デフォルトの名無しさん
2018/05/29(火) 22:01:56.22ID:z8Gf8T53
>>805
それJavaScriptとTypeScriptを比較しても同じこと言えるの?
807デフォルトの名無しさん
2018/05/29(火) 22:08:15.67ID:Esnw/0hW
小中規模ならtsいらないよflow使って最後外すくらいで十分。
808デフォルトの名無しさん
2018/05/29(火) 22:56:13.39ID:ltkxDyOc
えー俺はjsの入門者こそtsやるべきだと思う。つーかjsがtsになれ
809デフォルトの名無しさん
2018/05/29(火) 22:56:53.67ID:ltkxDyOc
小規模でも全然ts使いたいよ。楽しい
810デフォルトの名無しさん
2018/05/29(火) 23:01:00.03ID:Xt8fAcdV
tsはソースの見た目が美しい
C系シンタックスの最高到達点だと思う
811デフォルトの名無しさん
2018/05/29(火) 23:18:04.94ID:ltkxDyOc
型宣言が後置なのが良い。
c#はそこが残念。
812デフォルトの名無しさん
2018/05/29(火) 23:19:25.69ID:ltkxDyOc
あーでもflowはjsなんだっけ?
コメントで型情報追加するとか?
813デフォルトの名無しさん
2018/05/29(火) 23:53:03.39ID:qS+NaeOE
コメント使うのは最初の一行だけ。シバンみたいに。
あとは後置で普通に型書けるよ。
導入・取り外しが簡単。あくまでjs。
tsはよくも悪くも別言語だねありゃ。
814デフォルトの名無しさん
2018/05/30(水) 00:04:30.40ID:PtoY56Ui
>>813
取り外すってでも型情報ついてるんだよね。どうやってjsコードとして維持してるの?
815デフォルトの名無しさん
2018/05/30(水) 00:05:53.83ID:PtoY56Ui
tsはジェネリクスができることが増えて変態化してるのがいや。
エラーがわかる気がしない。flowはどうなん?
816デフォルトの名無しさん
2018/05/30(水) 00:26:34.49ID:NC6i02jY
TSはそっち行っちゃったかー感半端無い。
JSはもっと関数的な記法に進化出来たのにAlgol系じゃなあ…
DartがショボすぎたのとCoffeeの失速が致命的だった。
817デフォルトの名無しさん
2018/05/30(水) 00:38:41.66ID:VHqnU0fy
>>814
flow-remove-typesってコマンドで外すんだよ
818デフォルトの名無しさん
2018/05/30(水) 00:51:02.32ID:yvJ4REyT
バベラせるだけだから、flow-remove-typesせんでええやろ
生でJSとやるのはもうリスク高すぎ
819デフォルトの名無しさん
2018/05/30(水) 00:55:46.97ID:qwpvUJlq
ここまで真の次世代言語Ponyの話題なし
最近バージョン上がったのに
820デフォルトの名無しさん
2018/05/30(水) 01:20:13.39ID:A4Meokwp
>>818
とりあえず通報しとくわw
821デフォルトの名無しさん
2018/05/30(水) 01:29:07.64ID:A4Meokwp
>>819
ちらっとチュートリアル読んでるけど良さそうじゃん!シンタックスも奇形じゃないし。何で話題にならんの?
822デフォルトの名無しさん
2018/05/30(水) 01:42:24.59ID:qwpvUJlq
>>821
バックに企業がついてないのが1つ
日本語の情報がほぼないのが1つ
まだ1.0になってないのが1つ
安全性ならRustが先行、カジュアルな並列ならGoが先行してるのが1つ
キラープロダクトがないのが1つ

……多いな
823デフォルトの名無しさん
2018/05/30(水) 01:45:47.89ID:qwpvUJlq
安全性の理論自体は論文ベースだし
文法はまともだし
分かりやすいアクターモデルだしGC系言語だしで
次世代感は高いはずなんだがなあ
824デフォルトの名無しさん
2018/05/30(水) 02:05:09.64ID:A4Meokwp
これ気に入ったわ。流行らんくても趣味で遊んでみるわw
825デフォルトの名無しさん
2018/05/30(水) 04:56:23.34ID:Xc/sLWnw
goって並列用言語なの?
それ以外の用途では微妙っぽいけど
826デフォルトの名無しさん
2018/05/30(水) 07:23:24.71ID:isqQ3IJf
GCはむしろ旧世代
827デフォルトの名無しさん
2018/05/30(水) 08:03:44.50ID:yvJ4REyT
ググラビリティ低い名前つけんなっていつも思うわ
何がポニーだワイの馬並みぶち込むぞカス
828デフォルトの名無しさん
2018/05/30(水) 08:30:01.46ID:YpjU4Kk3
Juliaにponyを打ち込む動画はよ
829デフォルトの名無しさん
2018/05/30(水) 08:36:37.93ID:6aQpK9IN
ponyいい感じに見えるわ
違うそうじゃない的改良しないで頑張ってほしい
830デフォルトの名無しさん
2018/05/30(水) 08:49:14.13ID:rSpBF+9Z
言語オタ多いのねここ
831デフォルトの名無しさん
2018/05/30(水) 09:18:14.14ID:Vam/MnMy
まあ最近の言語は~~langってぐぐればだいたい出てくるからそこまで困りはしないが
832デフォルトの名無しさん
2018/05/30(水) 09:30:23.57ID:PtoY56Ui
>>818
これだったら別にtsと変わらんの違います?
833デフォルトの名無しさん
2018/05/30(水) 10:01:51.44ID:cAup9oL+
Haskellが影響を与えた言語の連なりに "cat" てのあるってのを見知って
"cat language" でググったら
「お家の猫ちゃんと楽しく会話する方法」ばっかりヒットして血圧急上昇でした
834デフォルトの名無しさん
2018/05/30(水) 10:59:48.01ID:HNDM+IHA
nimには次世代感感じないのにponyには感じるのはなぜだろう
835デフォルトの名無しさん
2018/05/30(水) 12:13:53.56ID:OvgslO8C
名前から朝鮮臭がするからでは?
836デフォルトの名無しさん
2018/05/30(水) 12:16:08.24ID:ZHid/qwr
正直>>835はぞっとするほど怖い。なんだろうこの不気味な感じは
837デフォルトの名無しさん
2018/05/30(水) 12:45:09.59ID:q3w6F9sV
actorって誰得なんだよな
838デフォルトの名無しさん
2018/05/30(水) 12:46:33.33ID:ywjxOJvq
>>835
古代生物かな
839デフォルトの名無しさん
2018/05/30(水) 14:57:06.10ID:cAEded3J
>>835
存在しないものをかぎ分ける嗅覚の持ち主のようだ

nimはこうなんというか「ここが今までと違う!」ってセールスポイントが見えない気がするんだよな
D言語っぽい感じ
840デフォルトの名無しさん
2018/05/30(水) 19:53:27.04ID:NMloaNbV
Cを超える言語はいつ出るんだ?
841デフォルトの名無しさん
2018/05/30(水) 20:39:15.00ID:1y9VVRG8
開発者シェアという意味ならJavaがとっくに超えてる
842デフォルトの名無しさん
2018/05/30(水) 22:28:03.84ID:P4J+TOSS
>>825
並列っつーかサーバ用だな。
待ち受けてスレッド回すっつー書き方に特化してる。
843デフォルトの名無しさん
2018/05/31(木) 02:44:43.06ID:QFV8wAla
>>842
意外とバッチ処理にも向いてる
特にある程度量のデータを右から左にデータ加工しながら投げたいみたいな用途
844デフォルトの名無しさん
2018/05/31(木) 03:22:08.51ID:nWho3S1c
nimはまあ、ぼくのつくりなおしたさいきょうのDelphiみたいなもんだから……
構文木を扱うタイプのマクロは新しいかは別にして珍しくはある
845デフォルトの名無しさん
2018/05/31(木) 06:27:15.67ID:Ao0QiwhU
>>844
それlispマクロまんまじゃん。
846デフォルトの名無しさん
2018/05/31(木) 06:28:20.06ID:KdSxJ4h7
>>843
結局何でも向いてるよな。カジュアルに使える
847デフォルトの名無しさん
2018/05/31(木) 12:43:53.84ID:C9fqJU0/
ライブラリ書くのには圧倒的に向かないけどな
貶す意味でなく、よくも悪くも土方のための言語

しかし世の中でプログラムが必要な分野の多くは土方だからこそ流行ってる
848デフォルトの名無しさん
2018/05/31(木) 13:00:56.28ID:Mu/CSqL6
日本生まれのクソ言語Ruby『最も嫌われているプログラミング言語』堂々ランクイン!!
https://japan.zdnet.com/article/35109803/

おめでとうクソ言語!🎊
おめでとう日本の恥!!www
次世代言語10[Rust Swift TypeScript Dart] 	->画像>3枚
849デフォルトの名無しさん
2018/05/31(木) 13:43:58.54ID:DK3FW3yv
>>848
こんどRubyistボコすときこれ使うわサンキュー
850デフォルトの名無しさん
2018/05/31(木) 14:32:59.98ID:bmWKWolR
>>849
遠慮なくphpと同類扱いできるな。
851デフォルトの名無しさん
2018/05/31(木) 14:38:11.50ID:OnZL/ItY
>>848
Rubyも含め、一時的に流行して廃れた負債言語が上位にランクインしてるな
言語そのものが糞というのももちろんあるけど、それ以上に、
終わってる言語で自分のキャリア上無価値と知りながらも負債をメンテするために触らざるを得ないのは辛いものがあるよね
852デフォルトの名無しさん
2018/05/31(木) 14:42:28.25ID:bmWKWolR
他のグラフ見ると、RubyとRoRは同様に嫌われてるけど、
c#とLinqやUnity比べるとLinqやらUnityは嫌われてないとか、そこそこ面白いな。
多分ホントに負の遺産を負のままにしてきたツケだろ。
853デフォルトの名無しさん
2018/05/31(木) 14:43:45.00ID:BSHKveO1
Rubyだって記法と実行速度と互換性がクソなくらいで他はそんなに悪くないだろ
あと信者がうざったいくらいで
854デフォルトの名無しさん
2018/05/31(木) 14:44:26.38ID:bmWKWolR
信者がウザいって致命的だと思うけど。
855デフォルトの名無しさん
2018/05/31(木) 14:47:15.28ID:oLzSHmHn
記法も互換性も実行速度もクソってもはやライブラリしか残ってないやん
856デフォルトの名無しさん
2018/05/31(木) 14:55:00.57ID:h8BNVU1v
>>852
C#はWindows開発という最低最悪のイメージとセットなのにこの程度なのは相当な高評価だね
857デフォルトの名無しさん
2018/05/31(木) 15:20:44.61ID:Rs+XOVpI
>>855
まあRoRだけで生き延びてきたような言語だからな
858デフォルトの名無しさん
2018/05/31(木) 15:26:03.20ID:DK3FW3yv
RubyがオワコンってよりはRoRがオワコンってことだな
Rubyは元から始まってすらいなかった
859デフォルトの名無しさん
2018/05/31(木) 15:46:21.48ID:fZ2+DRwl
RoRが流行ったのは事実だしそれでRubyがひろがったのも確か
でもいまはDjangoなりなんなりもっと書きやすくて読みやすい言語があるわけだ
860デフォルトの名無しさん
2018/05/31(木) 16:11:17.43ID:RZ7CjKQ5
単純に疑問なんだが
昼間っから5chにカキコんでるような連中が
どんな根拠をもってある言語を叩いてるのか不思議だわ
誰かが作ってくれた言語をただ使うだけのユーザが
記法がどうの言えたもんだよな
オカンのタダ飯を批判するがごとく
861デフォルトの名無しさん
2018/05/31(木) 16:32:19.04ID:oLzSHmHn
たしかに
862デフォルトの名無しさん
2018/05/31(木) 17:12:57.79ID:Hmps7oME
勝手に作り上げた人物像を非難して
批判を潰そうとする方がよっぽど害悪じゃね
妄想癖の権威主義って感じ
863デフォルトの名無しさん
2018/05/31(木) 17:24:07.19ID:Rs+XOVpI
Rubyは確かにオワコンっぽいけど、なんでダメだったんだろう?
Pythonが良くてRubyがダメな理由が分からん
864デフォルトの名無しさん
2018/05/31(木) 17:37:38.55ID:oLzSHmHn
numpy対抗のライブラリが弱くて研究者の歓心を引けなかった
865デフォルトの名無しさん
2018/05/31(木) 17:40:46.94ID:pyEWWgKP
いろんなソース見るとRubyは記法が人によってバラバラという印象はある
Pythonも無いわけではないけど
866デフォルトの名無しさん
2018/05/31(木) 17:56:24.97ID:bmWKWolR
飯食いながらもしもしで5chとか普通じゃねえの?
867デフォルトの名無しさん
2018/05/31(木) 17:58:06.78ID:79IVC2am
完全にイメージなのだが, RubyにはPerlと同じ臭いを感じる
Pythonは割と遠い感じ
868デフォルトの名無しさん
2018/05/31(木) 18:19:38.00ID:bmWKWolR
悪い意味で自由な文法だからな。
書きやすいが読みにくい。
だからこそ設定より規約みたいな概念を「わざわざもう一回言ってまで」徹底しないと、
保守性最悪の動かさないとよくわからない、担当が辞めたら誰も保守できない逸品に仕上がる。
さらにグダグダして、Objectの親クラス足した時点で言語として終わったと思ってる。
なんでmethod_missingの解決にそういう事したのか全くわからん。常識的に考えて破壊的変更を甘んじて受け入れて対応するだろ。
破壊的変更されると規約で決めた決めごとでしかないから破綻するとかどんな戯言なんだと思ってたらその主張が通るとか意味不明じゃん。
それで純オブジェクト指向とか抜かしてたのにスーパークラス作るとか頭湧いてる。
うざったくて無能な信者とか煮ても焼いても役に立たん。

確かBasicObject継承したクラスで定数宣言しても理屈としてはわかるがビミョーに納得のいかん結果になったと思う。

まだc#の拡張メソッドでコンパイル出来なくて悩む方がマシ。
869デフォルトの名無しさん
2018/05/31(木) 18:34:50.95ID:3a+XHa0i
業務とかである程度使われちゃうと
好きじゃないのに使わなきゃいけない人が
増えてヘイトが溜まるのでは

>>856
じゃあ他に何を使ってアプリ開発を?と考えると c# いいよね!となる
870デフォルトの名無しさん
2018/05/31(木) 18:35:54.28ID:3a+XHa0i
なんか1レス内で矛盾したこと言ってるなオレは
871デフォルトの名無しさん
2018/05/31(木) 18:40:33.99ID:bmWKWolR
矛盾してなくないか?
選んだ結果c#なのと、嫌々c#を使うのは別かと。
.net上だし、どのプロジェクトも
VB.net使って協力会社増やそう→爆死
中身はcppのdllでガワだけc#→爆死
と、みんな何度か死んできただけだと思う。
delphiがすごく嫌われる程度に選択肢自体はあるんだし。
872デフォルトの名無しさん
2018/05/31(木) 18:59:44.49ID:5P1WhOJA
なるほど
でアプリ開発分野での嫌々使わされてる系が Delphi と Obj-C、と。
2ちゃんブラウザの Jane も Delphi だっけ
873デフォルトの名無しさん
2018/05/31(木) 19:54:50.70ID:bmWKWolR
delphiと言うかpascalが好きな人は未だに一定数居るからな。
そういうプロジェクトにつっこまれて、二度とこんな他の役に立たん言語はやりたくないと思ってプロジェクト抜けた人が積み重なったんだと思うよ。
vbaのマクロを一度でも「業務として」保守させられた人みたいな感じで。
874デフォルトの名無しさん
2018/05/31(木) 19:57:27.27ID:G5mniSyx
windows版とlinux版のどっちかを手抜きするやつは危ない
実装できないくせに仕様だけ意識高い系
875デフォルトの名無しさん
2018/05/31(木) 20:10:52.26ID:20e2UKVx
pythonも言語自体はクソだし、速度もおっそいし
ただただライブラリによって流行ってる
将来的にrubyと同じ命運をたどるのは間違いない
876デフォルトの名無しさん
2018/05/31(木) 20:12:41.46ID:wxsQOhGX
Pythonはよ殺してくれ
877デフォルトの名無しさん
2018/05/31(木) 20:21:52.70ID:G5mniSyx
altjsのように言語仕様を変えるのは素人でもできる
jsが流行ってるのは実装によって流行ってる
pythonも同じ
878デフォルトの名無しさん
2018/05/31(木) 20:54:54.24ID:Ao0QiwhU
実行環境ベッタリな言語が嫌われてる印象。
879デフォルトの名無しさん
2018/05/31(木) 21:27:17.72ID:1A8TuuXd
>>875
どっちが古いか指折り数えてみろ
880デフォルトの名無しさん
2018/05/31(木) 21:29:02.34ID:20e2UKVx
>>879
なんの話?
古さの話してんの?
881デフォルトの名無しさん
2018/05/31(木) 21:40:43.64ID:1A8TuuXd
>>880
Pythonもいずれそうなるというが、言語として出てきたのはRubyの方が後な訳で
それならPythonの方が先に死んでるよね?って話
882デフォルトの名無しさん
2018/05/31(木) 21:46:29.96ID:Ao0QiwhU
まあ生き残ってる言語のが少ないんだから死ぬ言っとけばだいたい当たる。
883デフォルトの名無しさん
2018/05/31(木) 21:53:53.72ID:Rs+XOVpI
>>881
原因が同じだからって時間も同じとは限らないだろ?
アホなのか?
まあ、本当に原因が同じかどうかも分からないが…
884デフォルトの名無しさん
2018/05/31(木) 22:24:44.37ID:20e2UKVx
>>881
先に生まれた言語から死ぬルールってなに?
よくわからん
885デフォルトの名無しさん
2018/05/31(木) 22:29:39.48ID:cLwOw0aL
rubyがオワコンであること自体には異論が出ないって
大分雰囲気が変わって来た感じがするな
886デフォルトの名無しさん
2018/05/31(木) 22:34:13.24ID:wWFAOKjq
ドカタと関係ない世界で使われるようになった言語は長生きするから
残念ながらpythonは当分死なないよ
webドカタ専用言語だったrubyと違ってね
887デフォルトの名無しさん
2018/05/31(木) 22:38:04.89ID:BlPwOISk
1.8のころは好きだったよRuby
888デフォルトの名無しさん
2018/06/01(金) 01:00:10.75ID:PC7gEPYW
一方のんきなRubyistは今日もRubyKaigiとかいう身内オナニーで
他言語をdisっていた
889デフォルトの名無しさん
2018/06/01(金) 01:33:36.25ID:sEckpmZ4
matzが他言語disるから取り巻きも同じ事やるんだよな……
もうお前らがdisられる側だってのに
890デフォルトの名無しさん
2018/06/01(金) 01:49:41.57ID:Kjs/aFNB
rubyは関数の取り回しがキチガイ仕様過ぎる
あとシンタックスな、行き当たりばったりで実装できたものから突っ込んでくなよ。計画性と言うものはないのか。
891デフォルトの名無しさん
2018/06/01(金) 02:41:29.01ID:R35aiX71
python は numpy が無ければ perl,ruby と同様非互換バージョン(2 -> 3)の断絶を超えられ無かったと思うよ。
numpyのおかげでアカデミックで生き残った所からの挽回かと
892デフォルトの名無しさん
2018/06/01(金) 04:23:16.91ID:dsxx4VrW
Rubyは2008年のComplex/ComplexFloatの議論のときも
「スクリプト言語で数値計算なんてやるわけない」って頭ごなしに
数値計算で便利な改善を蹴ったりするような文化だったし、
Rubyにnumpy相当が育たなかったのは偶然じゃないよ

わざわざ開発者がアンチスレに降臨して意思表明してたくらいだし
http://2chb.net/r/tech/1207233348/134
893デフォルトの名無しさん
2018/06/01(金) 06:13:30.45ID:/a7YB1o/
まあそう思ったのは普通な気もするけどね。
逆に python みたいにめちゃくちゃ遅くても c の呼び出し滑らかにしとけば
数値計算もいけるって感覚がどれくらい正当なのかは未知数だったと思う。
894デフォルトの名無しさん
2018/06/01(金) 07:12:08.65ID:yaMgL5KL
Ruby開発者がイメージする数値計算と実際のニーズとの間にズレがあったんだよ
Rubyコミュニティに代表されるように、目的よりもプログラミング技術そのものに拘る連中の間には、
処理の粒度を粗くするのをダサいと考える文化が根強く存在してて、
巨大バッチ処理において処理の粒度をとにかく粗くすればスクリプトの遅さは問題にならない、っていうnumpy的な方向性は関心を持たれにくかった
Rubyを数値計算に使えるようにたいとか吹いてた時期もあったけど、その頃もJITとか明後日の方向を向いててどうしようもないほどにズレてた
895デフォルトの名無しさん
2018/06/01(金) 07:16:27.89ID:V5eoRgyy
私たちみたいに賢い人たちはrubyなんか採用してないんだからどうでもよくない?
896デフォルトの名無しさん
2018/06/01(金) 08:56:38.06ID:r5NV/DiH
RubyはクラスベースではないOOPをdisって戦利品を得ていた気がする
戦利品が枯渇したら終わり
TypeScriptとSwiftは静的型ではないOOPをdisってる
897デフォルトの名無しさん
2018/06/01(金) 09:28:56.14ID:xhz/zG58
typescriptというかaltjsに関しては、最初から
jsが進化するor WASM等の別物が流行るまでの期間限定なのは
開発者自身も織り込み済みでやってる気がするんだ
898デフォルトの名無しさん
2018/06/01(金) 10:27:18.22ID:r5NV/DiH
C++の演算子オーバーロードがdisられた時期もあった
disってたのはRubyだけではないし、数値計算に使えないイメージもRubyだけではない
899デフォルトの名無しさん
2018/06/01(金) 10:45:42.72ID:xhz/zG58
>>898
それはiostreamの<<,>>とかstringの+のような流用の話で演算子オーバーロード全般じゃないだろ
まあ最近でもpathの/みたいにやらかしてるけどさ
他と比較して配列が扱いづらい云々ならともかく、C++単独で数値計算が苦手なイメージなんて最初から無い
900デフォルトの名無しさん
2018/06/01(金) 11:05:15.17ID:nDEm3rZ6
wasmでjs以外の言語って流行るのかね
バイナリサイズ大きくなってappletやFLASHみたいに読み込みに時間がかかるサイト量産されそう
901デフォルトの名無しさん
2018/06/01(金) 11:33:47.46ID:bzS5DKKK
共同ツール 1
https://seleck.cc/685

https://trello.com/
ボードのメニュー → Power-Upsから拡張可能 Slack DropBoxなど
Trello Chrome拡張機能 elegant
http://www.kikakulabo.com/service-eft/
trelloのオープンソースあり

共同ツール 2
https://www.google.com/intl/ja_jp/sheets/about/

共同ツール 3
https://slack.com/intl/ja-jp
https://www.dropbox.com/ja/
https://bitbucket.org/
https://ja.atlassian.com/software/sourcetree
https://www.sketchapp.com/

http://photoshopvip.net/103903
https://goodpatch.com/blog/sketch-plugins/

Trello Chrome拡張機能プラグイン集
https://chrome.google.com/webstore/search/trello?_category=extensions

Slackプラグイン集
https://slack.com/apps

Sketchプラグイン集
https://sketchapp.com/extensions/plugins/
902デフォルトの名無しさん
2018/06/01(金) 11:38:41.56ID:yj/dLDhy
wasmかわいいよwasm
一応JSよりサイズが小さくなることを売りにしてるから多分大丈夫
903デフォルトの名無しさん
2018/06/01(金) 11:41:11.80ID:yj/dLDhy
と思ったけどコンパイル時間がどんくらいになるんかな
904デフォルトの名無しさん
2018/06/01(金) 12:00:32.33ID:sEcyCFHu
wasmといえば、Goももうちょいで対応しそうだし、c#だとblazorみたいな面白い荒業が出てきてたり、結構面白いよな。
最初から(たいてい他言語で書かれてる)共有ライブラリ使わない静的リンクでのクロスコンパイルが得意とか、
他言語呼び出さなくてもフレームワークにだいたい道具が揃ってて、かつ生きてるOSSのVMがあるとか、色々好条件が揃ってたんだろうけど。

blazorはwasmで書かれたVMだけだから、フレームワークやライブラリのデッドコードエリミネーションをどれだけ積極的にやるか次第だし、
Goもgithubのcommit見てる感じ今までのコンパイルとさほど速度変わらなさそうで、
emscriptenよりは少し気軽な気持ちでgo buildとかmsbuild叩けるんじゃないかな。
905デフォルトの名無しさん
2018/06/01(金) 19:38:50.08ID:RsiXZK4k
ヨくわらんけど
rubyはなくなってもいい
906デフォルトの名無しさん
2018/06/01(金) 21:47:36.97ID:qtlRxa1X
ruby亡き後、rubyがここまで嫌われる原因となった人格破綻者ruby信者たちに新たに担がれる可哀想な言語は何?
907デフォルトの名無しさん
2018/06/01(金) 21:53:05.61ID:xhz/zG58
Delphi信者だって全部C#に行ったわけでもなく結構バラバラになったしコアな連中は未だにしがみついてるしで
rubyだってこれといった移行先なんてないでしょ
908デフォルトの名無しさん
2018/06/01(金) 22:02:10.88ID:37GHyRIw
Scalaに行った連中は路頭に迷っちゃった
Elixirも期待されたけど結局泣かず飛ばず
Ruby難民達の未来は厳しい
909デフォルトの名無しさん
2018/06/01(金) 22:11:25.87ID:tuMT8+bP
おまえらどんだけRuby嫌いやねん
910デフォルトの名無しさん
2018/06/01(金) 22:20:35.65ID:dWbp+vof
とりあえず、まつもとゆきひろがキモいのをどうにかしてくれ。話はそれからだ。
911デフォルトの名無しさん
2018/06/01(金) 22:40:27.25ID:eXxjWeAx
俺、Ruby作れる気がしないからまつもとひろゆき凄いと思うんだけど、おまえらそうでもないの?
912デフォルトの名無しさん
2018/06/01(金) 22:46:31.07ID:CMP3AU6M
終わった過去の言語の話をするのでなく、これからのことを話すべきなのではないか?
913デフォルトの名無しさん
2018/06/01(金) 23:00:06.59ID:hus0bbCf
んだんだ
goの話なんてどうでもいいのだ
914デフォルトの名無しさん
2018/06/01(金) 23:06:28.95ID:R35aiX71
Ruby嫌いじゃないよ
なんらかのニッチを埋めて衰退するのは寧ろ立派であるとすら思う
915デフォルトの名無しさん
2018/06/01(金) 23:23:24.16ID:uCsHgk1n
これからというとC++2aの話題か。
916デフォルトの名無しさん
2018/06/02(土) 00:19:46.51ID:sv5fppzn
C++の14~の機能を未だに覚えられない。
というか使わない
覚えられたら便利なんだろうけど
917デフォルトの名無しさん
2018/06/02(土) 01:11:15.74ID:ePJ8dEBw
autoを使うだけでEigenがよく分からないことになって辛い
918デフォルトの名無しさん
2018/06/02(土) 02:01:37.96ID:UARZ4gE7
>>916
ジェネリックラムダだけでも11より14以降使いたい理由になたよ。
919デフォルトの名無しさん
2018/06/02(土) 09:16:37.21ID:I53fC9WV
>>848
型無し糞言語は全て死ねということだな
歴史がきちんと証明した
妥当だし、すばらしいことだな
920デフォルトの名無しさん
2018/06/02(土) 09:40:48.53ID:GKIIUFA/
プログラミング言語って大半が機能過多になって廃れるよね
言語自体がプログラミングのアンチパターンを踏襲している
921デフォルトの名無しさん
2018/06/02(土) 09:41:33.77ID:l+OoLCVZ
rubyってクソ言語かな。
swiftの言語仕様毎年変更に比べれば全然良い
922デフォルトの名無しさん
2018/06/02(土) 09:41:56.52ID:z1beHaLa
>>919
javascript や bash の順位
923デフォルトの名無しさん
2018/06/02(土) 09:44:31.58ID:I53fC9WV
未だに型推論すら入らない糞オブザ糞、いわゆるSHIT
あの糞ウンコゴミ屑死ね死ねナンバーワン永世ドベのピチ糞PHPoorですら
ようやく型が書けるようになったというのに
(だからといってあの糞には2度と近付かないが)
924デフォルトの名無しさん
2018/06/02(土) 09:45:45.96ID:I53fC9WV
>>922
JSにはFlow/TSがある
bashは小規模ではしょうがない

サバサイド言語で型を書かない意味がわからない
バカなのか?
925デフォルトの名無しさん
2018/06/02(土) 09:46:51.29ID:I53fC9WV
すまん、自明だったな

型無し糞言語はバカ、型無し池沼イット土方はバカ
いますぐ死んでほしいよな、ほんと
これが総意
926デフォルトの名無しさん
2018/06/02(土) 09:47:28.66ID:l+OoLCVZ
>>923
まだイマイチ。コンテナ内の型決めれないし
927デフォルトの名無しさん
2018/06/02(土) 09:49:36.92ID:z1beHaLa
>>924
typescript は typescript で項目があるけど

>>919
>型無し糞言語は全て死ねということだな
適当に反論して「全て」と言ったの無しにしようとしてるだろw
そう言うことせずに間違いを指摘されたら撤回して訂正しようよ面倒な奴だな
928デフォルトの名無しさん
2018/06/02(土) 09:50:18.77ID:l+OoLCVZ
あとtsはコンパイルが終わると型情報捨てられるの辛い。動的な型検査で外部から流入してくるjsonとか処理したいなぁ
929デフォルトの名無しさん
2018/06/02(土) 09:51:13.40ID:z1beHaLa
>>925
自省して「全て」を消したようなので許してやろう
930デフォルトの名無しさん
2018/06/02(土) 09:52:51.42ID:I53fC9WV
型推論は型あり言語だぞ?

型無し糞言語は死ねは撤回しない
やや例外かもしれんがPHPも死ね
931デフォルトの名無しさん
2018/06/02(土) 09:54:10.67ID:I53fC9WV
あ、ちゃんとbashも死んだ方がいいと思ってるぞ
目の前にいたら包丁で微塵切りにしてやりたいわ
932デフォルトの名無しさん
2018/06/02(土) 10:05:34.13ID:1ZPJADB4
>>920
C#はC++に迫ろうかというくらいに複雑化したけど破綻も廃れもしてないよ
一方Kotlinは多言語をパクり終えて独自の機能を入れだしてからヤバい臭いがしてきた
期待したけど第二のScalaだわこれ
933デフォルトの名無しさん
2018/06/02(土) 10:06:09.66ID:tIKh6LGM
>>928
実行時型情報が捨てられるのはしょうがないとしても、型定義からTypeGuard Functionを生成
できるような機能があったらいいのにねぇ。

inteface定義したらいっしょにTypeGuard Function書くのがルーチンになってしまった。
934デフォルトの名無しさん
2018/06/02(土) 10:08:23.01ID:J1HVezEs
動的型チェックはPHPみたいになるからマジで止めとけ
静的チェックが安全性とコストのバランスが最良
935デフォルトの名無しさん
2018/06/02(土) 10:18:36.08ID:0R2D4vql
>>934
自動で書いてほしいって話だから別にphpになるわけではない。考えられるのはtsのコードパースしてtsのコードから自動生成かね。

とょっと面白そうな題材に感じた。試してみる!
936デフォルトの名無しさん
2018/06/02(土) 10:27:51.64ID:tIKh6LGM
jsonschemaを吐き出してくれるnpmモジュールはあったりするんだよね。
それを使ってvalidateすればいちいちコード本体を書く必要はなくなるんだろうけど、
今のところはまだ自分で書いた方がお手軽なんでそうしてる。
937デフォルトの名無しさん
2018/06/02(土) 11:39:52.72ID:/MI23KhR
未だにPHPがどうのこうの言ってる連中がいて驚く

とっくの昔にクソ言語確定しただろ
次世代言語スレで口にするのも汚らわしい
938デフォルトの名無しさん
2018/06/02(土) 11:49:28.58ID:YvfmserM
動的型には厳しいことを言うくせに
Rustを教えてやったら難しすぎると弱音を吐く奴がいる
他人に厳しく自分に甘いクズだ
939デフォルトの名無しさん
2018/06/02(土) 11:58:51.65ID:ePJ8dEBw
それは同一人物なのか?
940デフォルトの名無しさん
2018/06/02(土) 15:13:23.43ID:yQHVvQ0k
>>911
俺も書けないしクソゴミレベルを自覚してるが
ここの人らは違うんだろうな
書けるし書いてきたんだろうな
日本を代表するようなプログラミング言語を
941デフォルトの名無しさん
2018/06/02(土) 15:20:04.81ID:WjqGWIgv
うわっ…ruby信者が気持ち悪いイジケかたしてきた。
942デフォルトの名無しさん
2018/06/02(土) 16:35:27.47ID:uxIlP8w7
簡単な機能を難しく書くことに意味はないっていう当たり前のことを
まず言わなきゃならんかな。
943デフォルトの名無しさん
2018/06/02(土) 16:53:15.38ID:1tVzFlee
もとからこのPHPに拘るやつおかしいと思ってたけど、bash切り捨てるとか頭おかしすぎるだろ。
問題領域違いすぎるとは思わんのかな?
カッターナイフ持って「これじゃ戦争できない」と言ってるレベルだろ。
944デフォルトの名無しさん
2018/06/02(土) 16:55:03.67ID:h8wX53q7
>>932
一旦破綻しかけたから色々捨てた、が正しいかな。c#は。
945デフォルトの名無しさん
2018/06/02(土) 17:31:40.18ID:yQHVvQ0k
C#って何か捨てたん?
増築増築ってイメージだけど
946デフォルトの名無しさん
2018/06/02(土) 17:34:28.54ID:cIhT2aak
>>943
上手いこと言うな
947デフォルトの名無しさん
2018/06/02(土) 17:40:43.45ID:1tVzFlee
>>945
.net coreと.net standardとかで、このレベルが(新しい)標準のAPIな!って仕切り直して、
その標準を満たす形で各実装を進めてる感じ。
割と細かい範囲まで、mscorelibから抜けてる。
948デフォルトの名無しさん
2018/06/02(土) 17:54:15.35ID:n18o0bWg
>>920
これ
ある程度いったらバグ取りだけでいいよ
949デフォルトの名無しさん
2018/06/02(土) 18:23:39.36ID:aS+ccrWD
>>943
bashは必要悪
PHPはただの悪

bashの代わりはないが
PHPを選ぶヤツはセンスがない、技術力がない

こんな簡単なこともわからんのかね?ん?
950デフォルトの名無しさん
2018/06/02(土) 18:27:55.09ID:aS+ccrWD
bashがどーしても必要な状況はわかる
PHPがどーしても必要な状況って何さ(失笑)

PHPがどーしても必要な状況ってさ
みずほも泣いて逃げ出すレベルの、ホイ卒日雇いゲェジが残業200時間で運用するクッッッソレガシーのゴミみたいな環境のことだろ?

ま、好きにするといいんじゃないかな
俺、そんな底辺と関わり合うこと二度とないしw
951デフォルトの名無しさん
2018/06/02(土) 18:30:10.36ID:ksuP6z4O
>>949
bashの代わりもあるぞ。
「PHPを選ぶやつはセンスがない、技術力がない」と言うやつも充分センス無いんじゃねえの?
PHPを讃えてるわけではなくて、言語として酷いのは分かってて言ってるけど。
必要悪になる前に、何でも「善」→「当たり前」→「ただの悪」と推移するもんなんだから、
他のなにかに対して必要悪と言う存在を認めてしまってる状態で、ただの悪を断ずることは出来んよ。

もし順番なら次スレ誰かよろしく。
952デフォルトの名無しさん
2018/06/02(土) 18:32:22.29ID:ksuP6z4O
>>950
ではそのPHPではない言語がどーしても必要で、PHPではいけないときって何さ?というと、ただの感情論でしかないと気づくよ。

ガイジとやらを集めることは簡単なんだから。
発注側としては、正直、動いてて保守されればどんな言語で書かれてようが知ったこっちゃない。
953デフォルトの名無しさん
2018/06/02(土) 18:37:36.21ID:IWfywqbw
>>952
スレチ死ね
954デフォルトの名無しさん
2018/06/02(土) 19:02:58.57ID:pCnJrSzQ
>>947
.NET Standardのリリース方針が決まってないから、今またfast Spanのせいでバタバタしてるよね
955デフォルトの名無しさん
2018/06/02(土) 19:03:56.45ID:pCnJrSzQ
https://github.com/dotnet/standard/issues/682
956デフォルトの名無しさん
2018/06/02(土) 19:08:14.97ID:uxIlP8w7
やっぱどの言語も増築の誘惑は大きいのかね。
バカユーザーの声なんて無視すりゃいいのにって気がするんだが。
957デフォルトの名無しさん
2018/06/02(土) 19:57:59.83ID:Jy4UBNx5
パターンマッチを後から入れようとしてる言語は大体残念な出来だな
初期設計重要
958デフォルトの名無しさん
2018/06/02(土) 20:09:56.50ID:77Zs73WY
Juliaのパターンマッチも残念な感じだけど
あれもうちょっとなんとかなるんだろうか
959デフォルトの名無しさん
2018/06/02(土) 20:40:31.33ID:ePJ8dEBw
マクロの限界を感じる出来やね。Jeff次第なんかなあ?あれ
960デフォルトの名無しさん
2018/06/02(土) 20:43:59.07ID:EGy82ACu
>>951
bashの代わりって何?
ちょっとしたサーバ内での作業を自動化するのに
いっつもbashの引数を受け取るときは・・・for文は・・・リストは・・・
と調べててめっちゃ作業効率悪いんだわ
あるんならマジで教えてたもれ
961デフォルトの名無しさん
2018/06/02(土) 21:39:48.17ID:uxIlP8w7
pythonでも使えば?
962デフォルトの名無しさん
2018/06/02(土) 21:52:19.47ID:MzjK288P
アプリ内でのチャット機能ってunityとかじゃできないよね?
どの言語できる人呼べば良いのか教えてください。
963デフォルトの名無しさん
2018/06/02(土) 22:12:12.91ID:1ZPJADB4
>>962
AWSでインフラ作れてコードも書ける人
言語はどうでもいい
964デフォルトの名無しさん
2018/06/02(土) 22:14:56.43ID:MzjK288P
>>963
ありがとナス!
965デフォルトの名無しさん
2018/06/02(土) 22:17:37.86ID:DgJrF6Hz
>>960
実装方法に選択権あるならどの言語でもいい要件やん
自分が一番書きやすいの使いなはれ
# VB?あ、ごめんなさい…
966デフォルトの名無しさん
2018/06/02(土) 22:27:52.11ID:DqEhcn23
普段からシェルで生活している人間だと自動化の見通しがすぐできるからいいのよ
シェル触ったことない人がシェルスクリプト書こうとするのが間違いだと思うよ
967デフォルトの名無しさん
2018/06/02(土) 22:50:59.94ID:MzjK288P
アプリゲームの課金システムもゲームシステムとは別分野だと思うけどそれもAWSでできるの?
968デフォルトの名無しさん
2018/06/02(土) 23:19:52.19ID:v1sz/IRP
次世代シェルスクリプト

fish
ユーザーフレンドリーを謳うシェル。サブシェルを使わないなどの他には見られない特徴がある。
xonsh
Python とシェルスクリプトのアクロバティックな融合。$(...)でシェルスクリプトを実行、@(...)でPythonを実行。
Xiki
ウィキの能力を取り入れた。斬新だったが開発は頓挫してしまったか。

他には、実験的な試作だったようだが qsh なるシェルが面白かった。hoo/bar のようにスラッシュが含まれていてもPATHから探してこれる。
969デフォルトの名無しさん
2018/06/03(日) 01:55:34.28ID:E2YFKSIl
>>968
UIとしての(本来の意味での)シェルとシェルスクリプトは区別した方が良いのでは。
fish は前者特化でしょう。
bash は微妙な所でDebianはUIシェルと独立させるためにdashを採用した訳だし。
970デフォルトの名無しさん
2018/06/03(日) 15:43:45.16ID:wmmqOXT3
シェル素人童貞ワイ
シェルにも方言があると知って身が震える
頭のシェバンがbashなやつだけがLinux標準で使えるシェルだと思ってタンゴ

あんな糞みたいな言語仕様に、糞方言を糞上塗りした糞連中がいるとか草々の糞が生い茂りますよ

これもう半分犯罪行為だろ・・・
971デフォルトの名無しさん
2018/06/03(日) 16:01:31.00ID:w/gh7S6m
別にシェルスクリプトで大規模なもの書かないしどうでもいい
972デフォルトの名無しさん
2018/06/03(日) 16:12:03.32ID:147N34Xk
bash依存せんと、shとPOSIX標準コマンドでなんとかするほうが良いんじゃねえの?
973デフォルトの名無しさん
2018/06/03(日) 16:57:30.94ID:hFIU0SnR
main関数の引数がどう見てもシェルだよね
他の関数を呼ぶにはheaderを読んだり設定ファイルを書いたり効率悪い
headerが不要なのはUIとしても優秀だよ
974デフォルトの名無しさん
2018/06/03(日) 18:59:08.94ID:F6QAGrKP
pythonでsh発行できるやつってないん?
rmとかmkdirとかOSに指示出すやつはしょうがないにしても
forとかifとか、あのおぞましいほどに汚いsyntaxで書きたくない
975デフォルトの名無しさん
2018/06/03(日) 19:10:02.03ID:zz+68nBF
sh発行って意味がわからん。普通に子プロセス起動するだけやん
976デフォルトの名無しさん
2018/06/03(日) 19:11:14.08ID:mqseQpwL
nodeにshelljsがあるんだからpythonにもあるやろ例えばshellpyとか…
と思ったら腐るほどあるやんけ。探せ。
https://github.com/lamerman/shellpy
https://github.com/thelinuxchoice/shellpy
https://pypi.org/project/shell.py/
https://github.com/amoffat/sh
977デフォルトの名無しさん
2018/06/03(日) 19:12:36.81ID:vrBh4O6u
なんやコイツ優しさの塊か?
978デフォルトの名無しさん
2018/06/03(日) 19:15:07.58ID:b28bLGnX
PythonがきれいなSyntax持ってるって、よくわからんな。
979デフォルトの名無しさん
2018/06/03(日) 19:18:42.83ID:F6QAGrKP
は?てめーありがとうだぞ
980デフォルトの名無しさん
2018/06/03(日) 19:21:36.93ID:voEBFTlT
どんなスクリプティング言語にも system とかバッククォートとかある事を知らなそうだな…
981デフォルトの名無しさん
2018/06/03(日) 19:44:10.62ID:TXJnPl+Q
部品の大きな関数型言語の一種だと思うとさほど難しくはない、と思うよ
データを変数に詰めてそれをいじくり回すんじゃなくて、関数を繋いでやりたいことを実現するようなイメージ
慣れるとバイナリファイルもRDBも邪悪に見えてくる
極まった人間が↓みたいなシステムを作っちゃう
http://www.atmarkit.co.jp/news/200909/07/lltv03.html
982デフォルトの名無しさん
2018/06/03(日) 19:45:43.72ID:zz+68nBF
>>978
機械にとってきれいなSyntaxやで
Pythonは自由文脈のLL(1)で、
某C++のように識別子が型か変数かで構文木自体が違ってきたり
後ろの内容が前に影響を与えたり、何トークンも先読みして巻き戻ってしないといけない
みたいなのが無くてすっきりなんやで
983デフォルトの名無しさん
2018/06/03(日) 20:07:43.14ID:CcsWt1Gk
Pythonのsubprocessの使いにくさは異常
984デフォルトの名無しさん
2018/06/03(日) 20:22:43.35ID:vm0Qz2C1
subprocess.runがギリギリ及第点くらいで、あとの関数は使いにくすぎるわ
985デフォルトの名無しさん
2018/06/03(日) 20:38:18.37ID:/VcZOpGn
>>969
最近作られたOilシェルの作者が同じことを言ってた。
テキストUIとしてのシェルと言語としてのシェルで分けて考えることができる。
良きインタラクティブシェルを作るためには、ベースの言語がよいものであるべきだと。
x=1 と x = 1 が同じで無いのとか難しい。
http://www.oilshell.org/blog/2018/01/28.html
986デフォルトの名無しさん
2018/06/03(日) 21:06:10.86ID:CD9OJJ6i
rubyここではボロクソだけど、
railsはあまりにも偉大すぎて、正直代替品は存在しない。
エコシステムがやばい。具体的にはrailsチュートリアルな。
これは一度やってみてほしい。ド素人をエンジニアに育て上げる気概がある。
987デフォルトの名無しさん
2018/06/03(日) 21:42:44.81ID:hFIU0SnR
x.f(y) と (x.f)(y) が同じになる言語だけが石を投げなさい
988デフォルトの名無しさん
2018/06/03(日) 21:47:58.53ID:e8v7qvrd
python だったら
os.system(" cat aho.txt | grep baka" )
とかやれば良い。
989デフォルトの名無しさん
2018/06/03(日) 23:24:45.82ID:F6QAGrKP
pyのリスト糞内包表記が読みやすいとは1nmも思わないが
shの糞糞糞表記よりはマシ
990デフォルトの名無しさん
2018/06/03(日) 23:25:34.62ID:CcsWt1Gk
>>988
標準出力取れない
991デフォルトの名無しさん
2018/06/03(日) 23:27:36.63ID:CcsWt1Gk
俺はPythonの内包表記が糞とか頭どうかしてると思うけど、個人差あるし、糞と思うなら使わなければ良い
992デフォルトの名無しさん
2018/06/03(日) 23:30:33.73ID:e8v7qvrd
python sample.py >log.txt
やるもよし、
os.system(" cat aho.txt | grep baka >log.txt" )
でもよし。
複数プロセス制御とか考えないならこんなんで十分だろ。
993デフォルトの名無しさん
2018/06/03(日) 23:33:48.05ID:147N34Xk
>>986
まだその話してんのかよ。
結論出ただろ。railsしかできない奴が生まれるだけだと。
994デフォルトの名無しさん
2018/06/03(日) 23:43:15.95ID:F6QAGrKP
result = [i * 2 for i in range(10) if i%2==0]

print(result)

val result = (0 to 10).filter(_ % 2 == 0).map(_ * 2)

println(result)

どっちが読みやすい?
995デフォルトの名無しさん
2018/06/03(日) 23:46:21.89ID:CcsWt1Gk
>>994
正直俺としては同等やけど、それ言語何?Rust?「 _ 」の使い方めっちゃええやん。JuliaやDでは考えられない記述性。それ出来るんなら内包より良いという意見もわかるわ
996デフォルトの名無しさん
2018/06/03(日) 23:46:24.30ID:F6QAGrKP
変な改行入っちまった

リスト糞包表記は、どう考えても左から右に読めないのが糞
リスト糞糞表記:「何かを2倍する、何かは0から10、と見せかけて偶数」

一方、メソッドチェーンとまともなFPを備えた言語なら
0から10、の内の偶数、を2倍する

どっちが読みやすいですか???
997デフォルトの名無しさん
2018/06/03(日) 23:47:31.81ID:F6QAGrKP
>>995
Kotlinに殺されたScalaちゃん
いい言語だったよ、コンパイルが糞ひり出して戻ってきても終わらないくらい糞長い糞だったが
998デフォルトの名無しさん
2018/06/03(日) 23:50:32.46ID:F6QAGrKP
俺のリスト糞糞表糞の読み方が間違ってるだけ?
英語圏の人間なら読みやすいのか?
999デフォルトの名無しさん
2018/06/03(日) 23:52:56.62ID:CcsWt1Gk
>>998
先に変数、後で条件という集合論の書き方に似てるやん?
「まずxというのがあって、そのxの条件は……」
って読んでる
1000デフォルトの名無しさん
2018/06/03(日) 23:53:53.62ID:vrBh4O6u
つぎ

次世代言語11[Rust Swift TypeScript Dart]
http://2chb.net/r/tech/1528037607/
10011001
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 39日 16時間 51分 26秒
10021002
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php

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



lud20250407112053ca
このスレへの固定リンク: http://5chb.net/r/tech/1524607347/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

TOPへ TOPへ  

このエントリをはてなブックマークに追加現在登録者数177 ブックマークへ


全掲示板一覧 この掲示板へ 人気スレ | Youtube 動画 >50 >100 >200 >300 >500 >1000枚 新着画像

 ↓「次世代言語10[Rust Swift TypeScript Dart] ->画像>3枚 」を見た人も見ています:
次世代言語9[Haskell Rust Kotlin TypeScript Dart]
次世代言語22 Go Nim Rust Swift Kotlin TypeScript
次世代言語25 TypeScript Swift Go Kotlin Rust Nim
次世代言語議論スレ[Go Rust Scala Haskell]第5世代
【AI】DeepL、「次世代言語モデル」を実装--翻訳品質で「GPT-4」上回る [すらいむ★]
次世代言語18 V Julia 他
【AI】OpenAIの次世代大規模言語モデル「GPT-5」が2024年夏に公開されるとの報道 [すらいむ★]
【速報】次世代Xbox「Scarlett」はZen2、Navi、GDDR7、カスタムSSDで最高品質の次世代ゲーム機に★3
Sony Mobile 次世代Xperia 総合167
Sony Mobile 次世代Xperia 総合176
Sony Mobile 次世代Xperia 総合172
Sony Mobile 次世代Xperia 総合201
Sony Mobile 次世代Xperia 総合193
Sony Mobile 次世代Xperia 総合223
Sony Mobile 次世代Xperia 総合205
【車】ホンダ、AIを持つ次世代スポーツEV「Sports EV Concept」東京モーターショー2017で世界初公開
Sony Mobile 次世代Xperia 総合209
Sony Mobile 次世代Xperia 総合230
Sony Mobile 次世代Xperia 総合186
Sony Mobile 次世代Xperia 総合148
Sony Mobile 次世代Xperia 総合218
Sony Mobile 次世代Xperia 総合165
Sony Mobile 次世代Xperia 総合228
【ゴキ悲報】次世代機どっち買う? Xbox Scarlett「43%」 Playstation 5「39%」
Sony Mobile 次世代Xperia 総合274
【Scarlett】 Xbox次世代機はCSのパワー、スピード、パフォーマンスの新たな基準を打ち立てる製品 ★11
Sony Mobile 次世代Xperia 総合255
Sony Mobile 次世代Xperia 総合246
【Scarlett】 Xbox次世代機はCSのパワー、スピード、パフォーマンスの新たな基準を打ち立てる製品 ★13
Sony Mobile 次世代Xperia 総合251
次世代Xperiaはなんと1Gbps通信が可能  0simとの組合せで最強モバイル体験へ
SONY 次世代Xperia 総合本スレ 287
Sony Mobile 次世代Xperia 総合251
Sony Mobile 次世代Xperia 総合156
Dorico 次世代楽譜作成ソフト Part2
【Nexusから】次世代Google端末を語るスレ Part15【Pixelへ】
次世代機専用The Medium開発者「XboxSeriesSのグラが凄すぎて吹っ飛んだよ。」
Sony Mobile 次世代Xperia 総合126
Sony Mobile 次世代Xperia 総合254
Sony Mobile 次世代Xperia 総合270
【速報】任天堂新型Switch用のVR/AR特許が公開。有名リーカー「次世代SwitchはVRハイブリッドになる」
Switchの次世代機が出るなら当然名前は「Switch U」だよな…?
任天堂「Switchはまだサイクルの中盤。次世代機はまだまだ出す予定なし」
次世代の哲学を育むスレ Part 9
次世代の哲学を育むスレ Part 15
【Scorpio】次世代ゲーム機テクノロジースレ 【TegraX2版Switch 】
【朗報】次世代エース松永里愛、本家本元Buono!を完全に過去にする史上最高の「Independent Girl」を披露してしまうwwwwwwwwwwwwwwwwwww
次世代ゲーム機テクノロジースレ【Pro/Switch/Scorpio】
今年、遂に任天堂次世代機「Switch2」が発売wwwwwwwwwwwwwwwwwwwwwww
【Pro】【Switch】 次世代ゲーム機テクノロジースレ No.5【Scorpio】
次世代iPhone Part258
Xboxの開発者、Project Scorpioは「本格的な次世代機」になると発言
次世代iPhone Part270
【ガラホ】次世代フィーチャーフォン総合 Part23
【燕の次世代エース】原樹理 part8【目指せハーラートップ】
次世代iPhone Part265
次世代プレ酒 新規銘柄開拓スレ Part13
次世代iPhone Part260
次世代iPhone Part270
次世代プレ酒 新規銘柄開拓スレ Part7
次世代iPhone Part250
次世代iPhone Part271
次世代セレクトショップ STUDIOUS ステュディオス10
【軍事】<エアーウルフ> 時速350km超 二重反転式ローターの次世代ヘリコプター「S-97 RAIDER」
次世代プレ酒 新規銘柄開拓スレ Part10
次世代iPhone Part265
19:25:11 up 63 days, 20:23, 0 users, load average: 9.97, 9.57, 9.83

in 0.098915100097656 sec @0.098915100097656@0b7 on 062008