X



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

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

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

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

https://trello.com/
ボードのメニュー → Power-Upsから拡張可能 Slack DropBoxなど
Trello Chrome拡張機能 elegant
ttp://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/
ttp://photoshopvip.net/103903

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

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

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

HaskellとかLISPもそういうとこあるけど
0041デフォルトの名無しさん
垢版 |
2018/04/27(金) 11:50:35.46ID:CtLujT77
おれの偏見も含めた個人的意見だが、
Goが気持ちいいって思うタイプは多分Rustは気持ち悪いって思うヤツが多いはず
Rustが気持ちいいって思うタイプは逆にGoが気持ち悪いって思うヤツが多いはず

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

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

Cでいう未定義動作避けたいのはわかるが、書き手のフラストレーションためる方向なのが良くない
0060デフォルトの名無しさん
垢版 |
2018/04/27(金) 13:28:26.58ID:2VB/zMjd
>>57
ほんじゃあどうでもいいわHaskell について書いてた本人以外が俺の文の中の第三者のレスの表現にケチをつけるな
失せな
0064デフォルトの名無しさん
垢版 |
2018/04/27(金) 15:56:18.74ID:zEArYeu7
関数型言語入門を読んだけど、宣言的に書けるというのはそれなりに感動したけどな。

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

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

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

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

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

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

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

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

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

そして大事なことだが俺はHaskell ユーザーじゃねえしHaskellの擁護もしていねえ。当然Haskellのプロダクトなんて知ったこっちゃねえ。
おまえがめちゃくちゃ言ってるから指摘してるだけだ
0090デフォルトの名無しさん
垢版 |
2018/04/27(金) 23:46:57.82ID:CtLujT77
>>83
モナドに関してはおれは「便利に使えればそれでいいや」ってタイプなので
理論的なことはよく分かっちゃいないんだ。すまんな。
それに色々言ったけど、おれはHaskellよりRust推しなんだ。
Rustには「モナドもどき」しかない。
そしてその「モナドもどき」でおれは十分だと思ってる。
0091デフォルトの名無しさん
垢版 |
2018/04/27(金) 23:48:55.22ID:uFcuTWSA
だいたい「〜以外は妥当じゃない」みたいな理由が通るなら「Haskell 以外は妥当じゃない」も通るじゃねえか>>48の後半は何なんだよいったい
0092デフォルトの名無しさん
垢版 |
2018/04/27(金) 23:51:31.54ID:nEX/UwzN
何かうるせえ奴らが何人かいるな。
オナニーでもして寝てろや。
0095デフォルトの名無しさん
垢版 |
2018/04/27(金) 23:58:53.73ID:CtLujT77
>>84
だったらそこまで書いた上で批判してくれ。
そうじゃないとバカが喚いてるようにしか見えないんだ。
「話にならん」とか「割りに合わない」とかは人によって意見が違うんで、
それ以上はどうこう言うつもりはないよ。残念ながら君には合わないってだけの話だ。
0097デフォルトの名無しさん
垢版 |
2018/04/28(土) 00:05:41.33ID:pEXwgWhN
>>94
うーん……��
これでオナニーして寝るのか……
ちょっと気合入れるか…… おやすみ……����
0099デフォルトの名無しさん
垢版 |
2018/04/28(土) 00:20:33.03ID:NwTUb6yX
>>76
lisp系って結構いいもんなの?
熱狂的なファンいることは知っていたが()だらけの式を見てるとゲンナリする
0100デフォルトの名無しさん
垢版 |
2018/04/28(土) 00:22:57.42ID:ovKub3hM
>>81
どうせ台数でスケールさせようとマルチプロセス使うから
スレッド使わずコルーチン使って1コアだけ使い切るプロセスにして
コア数だけプロセスを実行する、ってパターンは現在でも通用すると思うんだけどなあ
0105デフォルトの名無しさん
垢版 |
2018/04/28(土) 01:07:10.41ID:+3LcQamd
かつては言語に新機能入れてもLispの後追いって事が多かったけど
もうそんな状況じゃないからね
でも継続はあまり採用されないな
0106デフォルトの名無しさん
垢版 |
2018/04/28(土) 01:10:47.61ID:d4LpEQEN
LispはPythonと違って一応最適化されたコンパイル済みバイナリ配布できるだろ
0107デフォルトの名無しさん
垢版 |
2018/04/28(土) 03:05:06.25ID:urFfore0
軽量スレッドはシューティングゲーム作るときは弾1発1発に使えるから重宝するんだけどな
ハードが進化すればどうでもいいとは言っても
流石にゲームがネイティブスレッドを1000も使ってたらスイッチコストも馬鹿にならんし
何よりタスクマネージャで見たユーザーがびっくりするw
0109デフォルトの名無しさん
垢版 |
2018/04/28(土) 10:02:54.13ID:6ZMjGPsq
>>99
良いもんだよ。
CADの分野ではシステムに組み込まれた言語としても割と使われてる。
図研のとか、Autodeskのとか。
0110デフォルトの名無しさん
垢版 |
2018/04/28(土) 10:06:24.06ID:6ZMjGPsq
>>88
あ、読み違えたわ。
haskellユーザでないなら、別に黙ってりゃ良いじゃん。
haskellは良いものだ!って言うだけで何も具体例を出さない奴が居て、結局何が良いの?に答えが出なかったりしたから、
スレタイからhaskellが抜けたりしたわけ。

そのへんの過去スレは読んでのそういう発言?
滅茶苦茶でも何でもないよ。
お前の喧嘩の売り方がメチャクチャだよ。
0111デフォルトの名無しさん
垢版 |
2018/04/28(土) 10:07:40.95ID:6ZMjGPsq
>>88
よく考えたら言い直しにもなってないな。
haskellでのプロダクト例を聞いてるのに、普段使ってないよ、なんて、何を言い直してるかわからん。
反論するならきっちり反論して。
0114デフォルトの名無しさん
垢版 |
2018/04/28(土) 10:23:14.19ID:O9ADumhq
jsとかgoとかだといちいちparserカマして抽象構文木を作った上じゃないとプログラムからコード解析できないけど、
lispだとそのままコード解析できるわけね。
なんか面白そう。
0115デフォルトの名無しさん
垢版 |
2018/04/28(土) 10:29:10.39ID:6ZMjGPsq
>>114
逆に、データもS式になってれば、それもパーサ要らないしね。
jsに対するjsonのように。
jsonのようにサブセットな訳でも無いので、そうしておくと、
そもそもデータに値の代わりに式を入れとくことも出来るから、融通がきく。
0116デフォルトの名無しさん
垢版 |
2018/04/28(土) 10:37:43.93ID:O9ADumhq
lispすごそうやんけ。
の割に、あんまり聞かないのは単に分野が違うだけ?web系で聞いたことないなー。
0117デフォルトの名無しさん
垢版 |
2018/04/28(土) 10:43:43.65ID:7FInXxAw
>>112
古典的な lisp では lisp で lisp のマクロも書くし
メタプログラミングは日常茶飯事というか「メタ」である特別さもなかった
古典的には lisp は LISP と書くのだけど

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


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

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

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

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

って言ってるけどね

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

って言ってるね

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

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

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

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

単純にわかるのは、煽って反応するやつが一定数居るって現実だけだけど、それで充分かと。
0143デフォルトの名無しさん
垢版 |
2018/04/28(土) 13:21:04.02ID:Y8wRxMn5
>>140
少なくともHaskell に関しては、君はHaskell を知らないんだからHaskell について語る土俵に立ってないよね
にもかかわらず君は最初、まるでHaskell について知っているようかのようなふりをしながら議論に参加していたんだ
そんなのバイアスをかけられて当然だよ
0144デフォルトの名無しさん
垢版 |
2018/04/28(土) 13:22:41.20ID:6ZMjGPsq
>>143
しつこいよ。
ここを花畑にして蓮華で蓮華座が組みたいなら人格否定せずに淡々と事実を述べれば良いだけでしょ。
人格否定した時点で議論は終わったの。
0146デフォルトの名無しさん
垢版 |
2018/04/28(土) 13:23:57.58ID:Y8wRxMn5
>>144
ん?
俺は君と議論したくないからNGさせろっているんだが
最初から君と議論する気はないよ?
0149デフォルトの名無しさん
垢版 |
2018/04/28(土) 13:26:37.04ID:6ZMjGPsq
そんなに話したいなら、今立ってるPHPスレみたいに、次世代言語haskellスレでも立てれば良いじゃんw
0150デフォルトの名無しさん
垢版 |
2018/04/28(土) 13:57:43.32ID:Iob7Aa9f
>>142
いや煽られたから反応してるんじゃなくて、
煽りに使われてる文章の論法がメチャクチャだったから反応してるんだろ?
その違いは重要だよ。
理論がしっかり通ってる煽りだったらわざわざHaskellユーザー以外の人間が反応するわけがない。
少なくともID:CtLujT77に関してはHaskell推しじゃないとお前も思ってるんなら
Haskell推しの人間以外がわざわざ反応しているのおかしな状況に気付けよ。
0151デフォルトの名無しさん
垢版 |
2018/04/28(土) 13:59:28.76ID:Iob7Aa9f
>>150
間違えた。
前>>Haskell推しの人間以外がわざわざ反応しているのおかしな状況に気付けよ。
後>>Haskell推しじゃない人間以外がわざわざ反応しているのおかしな状況に気付けよ。
0152デフォルトの名無しさん
垢版 |
2018/04/28(土) 14:02:18.88ID:Iob7Aa9f
>>151
ん?やっぱり間違えていなかった(´・ω・`)
アホか?俺は…
0154デフォルトの名無しさん
垢版 |
2018/04/28(土) 14:18:38.33ID:4irn3/UI
次世代言語よりも日本語に付け加えるべき機能でも考えた方がいいじゃねーの?
0159デフォルトの名無しさん
垢版 |
2018/04/28(土) 17:25:12.63ID:YDDX+GsK
Haskelがこういう場での無意味な話題に必要以上に上がるせいで実際以上にHaskell好きがHaskeller扱いされてる気がする
0162デフォルトの名無しさん
垢版 |
2018/04/28(土) 18:36:36.79ID:/9xZc+y5
いかにもGWに予定のなさそうなキャラの子達が騒いでてウケる
0164デフォルトの名無しさん
垢版 |
2018/04/28(土) 18:43:41.75ID:P0XLkdT4
Haskellって難しい理論がベースになってるせいか
ちょっとかじった程度で偉くなった気になる人多い
0166デフォルトの名無しさん
垢版 |
2018/04/28(土) 19:02:25.33ID:M+Angxdt
rustに難しい理論はねーよw
所有権みたいなことはあるレベルになると自分で考えるようになること
0167デフォルトの名無しさん
垢版 |
2018/04/28(土) 19:32:04.63ID:6SRb9SPu
>>150はだいたい同意だけど、ちょっとだけ同意できない部分があるな
今回のあDHDほどめちゃくちゃな論法でなくても場合によっては指摘するかもしれん
例えば俺はLisp使わんし好きでもないけど、「Lispは遅いから糞」っていうレスを見たら多分指摘する
0168デフォルトの名無しさん
垢版 |
2018/04/28(土) 20:00:57.22ID:Iob7Aa9f
>>167
速さが求められるかどうかは何を作るか次第で変わってくるので、
取り敢えず「遅いからクソ」ってのは理論が通ってないし、突っ込まれて当然。
0169デフォルトの名無しさん
垢版 |
2018/04/28(土) 20:03:45.30ID:6SRb9SPu
>>168
Common lispはまあまあ速いってことを念頭において書いたんだけど、それもそうだな。言う通りだ
0170デフォルトの名無しさん
垢版 |
2018/04/28(土) 21:10:11.88ID:Iob7Aa9f
>>166
ん〜そうかな?
それはあくまでC or C++をメインでやっていた人に限られると思うが…
GCありの言語がメインの人達はほとんど考えてないと思う(根拠は2年程前までの俺)。
0172デフォルトの名無しさん
垢版 |
2018/04/28(土) 23:03:24.17ID:4irn3/UI
デザインパターンが流行った頃なんかもそうだが、
新しいものを「せっかく覚えたんだから」みたいな貧乏性に陥る奴は昔からいて、
そういう奴がレガシーコードを残してったという歴史がある。
0173デフォルトの名無しさん
垢版 |
2018/04/28(土) 23:04:43.94ID:ERf465ou
ふつうに真っ当な突っ込みを入れられるだけでうじゃうじゃ言って一日でここまで伸ばせるって、相変わらずあDHDはやべえな
0174デフォルトの名無しさん
垢版 |
2018/04/28(土) 23:13:45.22ID:pEXwgWhN
>>172
どういうこと?レガシーコードってCOBOLとかFortranのあれのことではなくて、テストのないコードのこと?
流行とどういう関係があるの?
0175デフォルトの名無しさん
垢版 |
2018/04/28(土) 23:29:00.10ID:Iob7Aa9f
>>174
たぶんだが、新しいプログラミング手法(概念)がバズった時に「せっかく覚えたんで使ってみよう」
と適材適所もよく考えず(というよりかは覚えたばかりなんで適材適所がまだ分からないまま)
使う奴がいて、そういうコードは後から見ればレガシーコード(負の遺産)にしか見えないことじゃないの?
0176デフォルトの名無しさん
垢版 |
2018/04/28(土) 23:34:35.25ID:pEXwgWhN
>>175
なるほどな。俺にも思い当たる節はあるなあ
俺はすぐに同等品を別の言語で作れるレベルを超える前に飽きちゃったから、ちょっと時間を無駄にした代わりにちょっとコーディングスキルが上がって次に繋がったって感じで終わったけど、
そんな理由で適当に作った負の遺産が問題になるほど作り込むってそれはそれで凄いなあ
0177デフォルトの名無しさん
垢版 |
2018/04/28(土) 23:54:31.31ID:7LnY/MuY
その当時本当に新しかったなら負の遺産ではないだろう
デザインパターンがもう一回流行ったとき
新しいと勘違いしてもう一回何か作り込んだらそれこそが負の遺産だ
0179デフォルトの名無しさん
垢版 |
2018/04/29(日) 00:09:38.95ID:lPGHHBCx
流行のスタイルって、それ自体は流行るだけの理由があって十分に優れてるんだよ
統一されてるうちはいいけど、後に別の流行と混ざった途端に糞になる
COBOLも伝統的なIPOスタイルのコードは美しいけど、SQLまみれになってから無茶苦茶になった
0181デフォルトの名無しさん
垢版 |
2018/04/29(日) 09:08:10.39ID:NMEmUmfV
今はデザインパターン流行っとらんの?
あれって恒久的に使われるもんじゃないので?
0182デフォルトの名無しさん
垢版 |
2018/04/29(日) 09:19:27.18ID:lPGHHBCx
>>181
GoFのことなら、大半は未熟なオブジェクト指向言語の機能を使ったハックに過ぎないから
便利な「C#系」が主流になりつつある今となっては明示的に使われることは少なくなったね
0184デフォルトの名無しさん
垢版 |
2018/04/29(日) 09:28:37.21ID:ZzPNcJRD
型を明示したときにジェネリクスが一個も出てこないのは不自然だろ
恒久的ではない型システムを混ぜてしまった奴が戦犯
0187デフォルトの名無しさん
垢版 |
2018/04/29(日) 11:14:43.19ID:ZzPNcJRD
Lispを守りHaskellを叩く理由は
Lispが直感的に書けるからであって、Lispをせっかく覚えたんだからではないらしい
叩いてる張本人がそう言うならそうなんだろう
0188デフォルトの名無しさん
垢版 |
2018/04/29(日) 11:28:30.78ID:tKjITkqe
Haskellが直感的に書けないっていうのはよくわからん
普通の関数の記述は他の言語よりむしろ直感的だし、モナドだってdo構文使えば他の言語とそんなに変わらんやろ
0190デフォルトの名無しさん
垢版 |
2018/04/29(日) 12:12:05.39ID:fZUY9zfG
>>189
その今どきの言語というのがまだ定着していないんでないか?
何年かしてノウハウが蓄積されたらまたそれらをまとめたものが出てくるでしょ。
0191デフォルトの名無しさん
垢版 |
2018/04/29(日) 12:22:20.97ID:tKjITkqe
第一級関数が一般的になった今となってはなあ
0192デフォルトの名無しさん
垢版 |
2018/04/29(日) 12:23:33.65ID:WKly3EMn
>>188
遊びでしか使ったことないからあんま深くは言えないが
本気で使おうとすると、haskell のシンタックスからコンパイラが吐き出す実際のマシン語での動作を
予測できるくらいhaskellの癖をわかってないと使えん印象なんだが。
0194デフォルトの名無しさん
垢版 |
2018/04/29(日) 14:23:59.40ID:tKjITkqe
ってか俺もHaskellにわかだし、多分俺より>>192のほうがしっかり使おうとして難しい所に当たったんだろうな
0195デフォルトの名無しさん
垢版 |
2018/04/29(日) 14:45:46.07ID:2zTKi9ml
直感的って言うけどただの好みだよな
0196デフォルトの名無しさん
垢版 |
2018/04/29(日) 16:09:36.69ID:1oUuYh/B
第一級関数使えると結構な数のデザインパターンが不要になるからな
継承は使わない方が良いっていう風潮だし、継承前提のパターンも微妙になってる
そもそも新しい言語からは継承消えていってるし
0204デフォルトの名無しさん
垢版 |
2018/04/29(日) 23:20:52.89ID:2zTKi9ml
rustやろな
0208デフォルトの名無しさん
垢版 |
2018/04/30(月) 01:08:01.23ID:IavhHICM
(Dart民おる?)
0209デフォルトの名無しさん
垢版 |
2018/04/30(月) 01:12:55.79ID:oQ8WGmv4
過去スレ読み返してみたが「あ」は冗談抜きで本当にADHDだったのか…
それじゃ、これほどまでに意思疎通が難しいのはしょうがないわな。
一般人が通常の会話で無意識に補完してる部分を「あ」には明示的に言わなきゃ伝わらないということだな。
「あ」自身のためにももう一度コテハン付けるようにしてくれ。頼む。
0210デフォルトの名無しさん
垢版 |
2018/04/30(月) 01:41:25.05ID:Gs35ApLe
ASDとADHDの違いがわかってない奴がまた一人出てきた
「あ」じゃないけどADHDの俺氏切れそう
0211デフォルトの名無しさん
垢版 |
2018/04/30(月) 01:44:31.76ID:VNBrLSx6
>>210
「あ」は明らかに意思疎通が難しいけど、それはADHDではなくてASDってこと?
その辺の病気関連難しくてわかんないや
0212デフォルトの名無しさん
垢版 |
2018/04/30(月) 01:53:57.70ID:Gs35ApLe
>>211
例えばこれ↓はASDの症状だ
>一般人が通常の会話で無意識に補完してる部分を「あ」には明示的に言わなきゃ伝わらない

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

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

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

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

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


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

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

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

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

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

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

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

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

わしはGCとおさらばしたいしresult/optionの扱いが気に入ってrustを使ってる
0303デフォルトの名無しさん
垢版 |
2018/05/01(火) 13:42:38.59ID:BQXmdu4P
>>301
特定の書籍ではないね。本屋に山ほどあるどの本でも良いのでわ?
もしくは最近だとmixiとかが社内研修用のコンテンツを無料で公開してるからそれを利用しても良いと思う。
0304デフォルトの名無しさん
垢版 |
2018/05/01(火) 14:17:29.04ID:4+zKgECd
GCフリーは確かに魅力だけど、充分に賢ければGC言語でもそこまで問題になる事は無いと思うが。
0306デフォルトの名無しさん
垢版 |
2018/05/01(火) 14:25:43.54ID:4+zKgECd
そういや、rustだと、自身も誰かから特定のイベントを受け取るか、誰もイベントを送り得なくなったら死ぬような感じの、
タイマーみたいな自発的にイベントを起こすイベントソースは誰か所有すべきなのかな。
タイマー起こしたやつってのも変だし。
0307デフォルトの名無しさん
垢版 |
2018/05/01(火) 14:43:22.00ID:jugg/3+t
Rustの Rc<T> 型の問題
Haskellの IO a 型の問題
難易度下げたいなら型を書くのをやめればいいんだよ
0309デフォルトの名無しさん
垢版 |
2018/05/01(火) 14:52:11.01ID:DdhcnubW
>>307
とりあえずRustの話だが、Box<T>にせよRc<T>にせよ書かねえと
ボローチェッカを満足させられない or コストを可視化できねえんだよ
0310デフォルトの名無しさん
垢版 |
2018/05/01(火) 15:07:40.80ID:jugg/3+t
>>309
そうだね
チェックしたいなら学習コストを犠牲にすればいい
コスト下げたいならチェック機能を犠牲にすればいい
0311デフォルトの名無しさん
垢版 |
2018/05/01(火) 15:20:54.24ID:DdhcnubW
>>310
なんか勘違いされた気がするから補足
コストってのは学習コストのことじゃなくて実行時のコストのことね
Boxを明示することでヒープであるコストを可視化する
Rcを明示することで参照カウンタであるコストを可視化する
0313デフォルトの名無しさん
垢版 |
2018/05/01(火) 15:26:12.15ID:DdhcnubW
つまり、書かないとボローチェッカを満たせないというのももちろん理由の一つだけど
実行時のコストを可視化するという意味でも書いておいたほうがいいというわけ
Rustは実行速度が速くないといけない言語なんでね
0314デフォルトの名無しさん
垢版 |
2018/05/01(火) 15:53:34.08ID:jugg/3+t
2種類のコストの概念を学習するのが面倒臭い
だから色々なコストを無視して作ったフリーソフトが無双してるんだと思う
0315デフォルトの名無しさん
垢版 |
2018/05/01(火) 19:39:03.13ID:vzW3/HLG
リスト内包表記が読みにくいって人たまに見かけるけど、このスレにもおる?
0316デフォルトの名無しさん
垢版 |
2018/05/01(火) 19:42:50.63ID:xd1ck8hZ
Haskellのリスト内包表記がモナドと知った時の衝撃
まあ3項演算子と同じで慣れよね
0317デフォルトの名無しさん
垢版 |
2018/05/01(火) 19:49:54.02ID:KdOUAylP
doといい、内包表記といい、全部ちゃんと何かのシンタックスシュガーになっているのには恐れ入るわ
ユーザーからしてみればそこまでしてもらわなくてもいいっちゃいいもん。
開発側の強い拘りを感じて好きだわ
0320デフォルトの名無しさん
垢版 |
2018/05/01(火) 20:31:00.33ID:pBAnst7/
拘りっつーか関数型言語なんでそりゃそう作るでしょうよ
適当に文法導入してそれが関数に還元できないものだったら理論破綻するじゃん
0322デフォルトの名無しさん
垢版 |
2018/05/01(火) 20:45:19.66ID:DdhcnubW
>>319
Dはやったことないから知らんけど多分同じ
C#のLINQみたいな感じでメソッドチェーンする
0324デフォルトの名無しさん
垢版 |
2018/05/01(火) 21:29:57.85ID:btT/kXg5
早いの?ってなにに対して?
0326デフォルトの名無しさん
垢版 |
2018/05/01(火) 21:42:41.95ID:btT/kXg5
ループってCのループ?
0328デフォルトの名無しさん
垢版 |
2018/05/01(火) 22:04:27.49ID:btT/kXg5
rustのmap,filterとcで同等のことをするのは、真ん中とって同じくらい速いと考えてよろしいですよ
0330デフォルトの名無しさん
垢版 |
2018/05/01(火) 22:22:36.78ID:btT/kXg5
でしょ、rustおススメさ
0332デフォルトの名無しさん
垢版 |
2018/05/02(水) 00:58:58.35ID:+3mXDJV1
大変非本質的なことを書いて申し訳ないんだが、<>と::に拒否反応が出る。俺だけかな
0333デフォルトの名無しさん
垢版 |
2018/05/02(水) 01:41:11.00ID:7KDFadEV
無茶苦茶な事敢えて言うがやっぱプログラミングするに至って世界に記号が足りない。だから2個記号を並べるというダメな記法になる
ついでにアルファベットも50個くらいにしてくれ
0334デフォルトの名無しさん
垢版 |
2018/05/02(水) 01:45:52.01ID:vteIglDu
やっぱりAPLって神だわ
0335デフォルトの名無しさん
垢版 |
2018/05/02(水) 01:47:50.27ID:vteIglDu
Vimでなんかのプラグイン入れてhaskell書いてたらラムダ式のバックスラッシュをλに変えられて草生えた
0336デフォルトの名無しさん
垢版 |
2018/05/02(水) 10:07:19.34ID:mp5av7vO
>>333
Juliaみたいにユニコード完全対応するとギリシャ文字を変数に使えたりするが
いまいち流行りそうな感じがしない
0337デフォルトの名無しさん
垢版 |
2018/05/02(水) 10:25:48.10ID:RzHnyLgy
変数とかじゃなくて記号としてだろ

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

作者自身が教えてる動画で、その記号どうやって打つのて何度も聞かれてて、
最後は何でユニコードにするの?て聞かれて、だってそっちの方が美しいじゃん?て答えて失笑されてた。
めんどくせ、こりゃ流行らんわと思ったけど、慣れると\より\lambdaて打ちたくなる不思議。
0339デフォルトの名無しさん
垢版 |
2018/05/02(水) 11:41:13.27ID:NVRwXhE8
中置の二項演算ができたら記号は何でもいい
他には分数のように縦に並べたい
0340デフォルトの名無しさん
垢版 |
2018/05/02(水) 17:37:54.83ID:Sw4XeVpF
欧米の人たちは∈∧∋とかどうやって入力してるんだろう?
0345デフォルトの名無しさん
垢版 |
2018/05/03(木) 01:00:22.05ID:VEudjtBb
RAIIとGCってどっちがパフォーマンス優れているの?直感としてはGCの方が効率良さそうに感じるんだけど
0346デフォルトの名無しさん
垢版 |
2018/05/03(木) 01:08:46.71ID:bKSKRSB9
感じるならしょうがないけど
GCは解放していいオブジェクトがどうか判定しなきゃいけないけど
RAIIだと不要だよね
0347デフォルトの名無しさん
垢版 |
2018/05/03(木) 01:08:55.36ID:gY2lED9C
究極的には圧倒的にGC
GCはメモリの再配置が可能という極めて大きな最適化の自由度があるからね
0349デフォルトの名無しさん
垢版 |
2018/05/03(木) 01:11:29.45ID:bKSKRSB9
再配置できるのはメモリアドレスを抽象化してる場合でしょ
GCとは直接関係ない
0350 ◆QZaw55cn4c
垢版 |
2018/05/03(木) 01:14:39.15ID:hvfEvXXP
>>347
メモリの再配置なんて、C++ に慣れた身からみると、いかにもにコストが高そうだが…

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

こういう事案なら1から4まで全員怪しいよね
0373デフォルトの名無しさん
垢版 |
2018/05/03(木) 13:46:19.78ID:FgFo6AR2
dockerで示されるパフォーマンスなんかないだろ
0374デフォルトの名無しさん
垢版 |
2018/05/03(木) 14:20:45.28ID:AfyjFEfn
パフォーマンスにちょっと興味を持つだけで怪しい奴らが集まってくる
Pythonのようにパフォーマンスに完璧に無関心にならないとすぐ腐敗する
0375デフォルトの名無しさん
垢版 |
2018/05/03(木) 14:35:25.51ID:/IyBD/e7
ボトルネックだけCythonとかでなんとかするスタイルはやはり正しかったということか
0376デフォルトの名無しさん
垢版 |
2018/05/03(木) 14:43:47.18ID:nk+G1gQG
そもそもRAIIはパフォーマンスのためのものじゃないだろ
0377デフォルトの名無しさん
垢版 |
2018/05/03(木) 20:03:59.10ID:StPlxOeO
dockerって正気か?動作中は何もしてないぞ?
# go のGCが優秀になったのは認める
0378デフォルトの名無しさん
垢版 |
2018/05/03(木) 21:48:30.21ID:AfyjFEfn
なぜgoのGCだけを改善するの?
全てのGCを平等に改善しないとダブスタだと叩かれるかもしれないよ
0380デフォルトの名無しさん
垢版 |
2018/05/03(木) 22:42:00.84ID:oP7lbF46
>>378の他のレスも含めて何言ってるのか分からないものばかりだから、考えても無駄かと思うよ
0382デフォルトの名無しさん
垢版 |
2018/05/03(木) 23:03:41.88ID:AfyjFEfn
goのGCと同じものをC++で実装できないのかな
C++のGCが優秀にならないかな
そういう意味
0383デフォルトの名無しさん
垢版 |
2018/05/03(木) 23:19:27.01ID:nk+G1gQG
やっぱり意味わからん。
その場合の主語は誰よ?
0390デフォルトの名無しさん
垢版 |
2018/05/04(金) 05:56:35.74ID:zosHXKIm
C++でGCとか言うとバットマンのコスプレしたハーブ・サッターにビンタされるらしいぞ
0393デフォルトの名無しさん
垢版 |
2018/05/04(金) 10:34:38.24ID:+ni+4ZPZ
>>392
メモリアドレスが抽象化されてれば、実行時の状況や統計情報に基づいたメモリレイアウトの最適化ができるね
理論的には、一緒に使われるものをメモリ上で近くに置いたりしてキャッシュヒット率を上げたりできる
0394デフォルトの名無しさん
垢版 |
2018/05/04(金) 11:25:26.68ID:VQ//CMaE
>>393
それは抽象データ型を定義できる言語ならどれでも可能か
それともC++やRustでは不可能か
これが問題だ
0396デフォルトの名無しさん
垢版 |
2018/05/04(金) 15:02:25.96ID:ZqOHI6SP
>>393
ってもそれ空理空論であって、
x[i,j,k] みたいな配列のメモリレイアウトをアクセスパターンから
決めるという単純な処理ですらどの処理系にも実装の予定すらないだろう

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

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

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

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

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

だと思う
0404デフォルトの名無しさん
垢版 |
2018/05/04(金) 17:35:05.26ID:ngnuzOEt
で、有能なC++プログラマはヒープの断片化をどうやって回避するの?
一般的な回避策としてはまとめて静的に確保するわけだけど、それだとRAII的な方法論を否定してることになるよね
0406デフォルトの名無しさん
垢版 |
2018/05/04(金) 18:45:44.08ID:VQ//CMaE
そもそもRAIIを肯定するのも否定するのもC++プログラマの自由だ
この自由を尊重すれば、極めて大きな最適化の自由度はC++にもあるんじゃないか
自由を奪ったら最適化の自由度もなくなるのは当たり前だ
0408デフォルトの名無しさん
垢版 |
2018/05/04(金) 19:00:50.09ID:ngnuzOEt
縛ったほうが最適化の自由度は上がる
C/C++はポインタのせいで配列アクセスの並列化がやりづらいのは有名な話だ
0411デフォルトの名無しさん
垢版 |
2018/05/04(金) 19:24:33.12ID:HyF2shia
GCは、あるプログラマにとっては仕事を単純にしてくれるが、別のプログラマにとっては仕事を複雑にする要因になるという特性があるんだよね
0413デフォルトの名無しさん
垢版 |
2018/05/04(金) 22:10:23.06ID:VQ//CMaE
「設定より規約」で複雑な設定を不要にするために規約で縛って単純にすることはある
最適化とは関係ない
0416デフォルトの名無しさん
垢版 |
2018/05/05(土) 00:07:46.07ID:3M7DBZHK
>>414
全然違うレイヤでしか評価されない概念だからね

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

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

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

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

ルールを厳しくして結局流出ってのは、また別の尺度かと。
流出したとしても、それは理由もはっきりさせられるし、なによりソフトウエアの瑕疵ではなくて運用の問題の話になってくる。
0433デフォルトの名無しさん
垢版 |
2018/05/06(日) 15:58:41.42ID:+3dRclkW
いくらコンパイラが怒らないからと言え、セキュリティーホールを突くようなハックとやらをしてたら流石にコードレビューではねるんじゃね?
どういうコードかイマイチ想像がついてないけど。
インラインアセンブラが禁止されてるからハンドアセンブルしたコードか入ってるconst char[]を無理矢理呼び出すとかかな。

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

一体何が、コーディングの上でセキュリティーホールを突くようなハックなんだろう?
ピアレビューがあれば瞬殺されて終わりな気もするし。
0436デフォルトの名無しさん
垢版 |
2018/05/06(日) 16:36:08.57ID:T0X5noxd
スパコンでは現役。計算物理屋とかFORTRANしか書けないおっさんも居るしね。
まあ数値計算系のコード書いてる連中なんてgitも知らなかったりするレベルで
超絶的に遅れてるから意見なんて無視していいよ
0437デフォルトの名無しさん
垢版 |
2018/05/06(日) 16:41:56.05ID:4/stHYd4
>>434
現役かと言われたら、現状数値解析以外では老害しか使っとらん感じで口ごもっちゃうけど、そんな状況に反して最新の言語仕様は結構いい。そして老害はFortranの良い仕様は使っとらん
ある意味逆に次世代言語感あると思う
0438デフォルトの名無しさん
垢版 |
2018/05/06(日) 17:13:53.77ID:+3dRclkW
ベンダーがきっちり面倒見てるのも大きいわな。Fortranは。
老害と呼ばれるコードが生き残れるのも、新しいものがサポートされていくのも。
0440デフォルトの名無しさん
垢版 |
2018/05/06(日) 18:53:07.67ID:UdK4FK7I
まあ運用の問題と言えばそうだけどね。
実際どこぞのrustコードなんて結局unsafe丸がこみコードになってるって話だよ。
レビュアーがまともならってのもその通りだが
P○zyさんとことか有名どこでもそんなもんですよ。
0443デフォルトの名無しさん
垢版 |
2018/05/07(月) 17:37:45.62ID:aRQ7vpNn
Fortran現役ってすげーな。
なんか便利な構文あるの?
スペースがなくても構文が認識するって凄いね。何というか分野によって現役だったりするし、web系とか組み込み系とか分野毎に次世代を考えたほうが良いのかも
0444デフォルトの名無しさん
垢版 |
2018/05/07(月) 18:29:43.67ID:Si7Pqr9d
数値計算の新しいアルゴリズムってあるの?

動画の圧縮とかだったらどんどん新しくなってるけど
0445デフォルトの名無しさん
垢版 |
2018/05/07(月) 18:42:27.46ID:4LWU/9Ql
アルゴリズムというよりは非プログラマが数学物理をプログラムに落とし込みやすいって所じゃないか?
統計メインの生物系なんかはもうRやPythonに移ってるけど
0447デフォルトの名無しさん
垢版 |
2018/05/07(月) 22:27:02.76ID:9toRjaak
よし、じゃあワシがwebの代表として次世代言語はrustであることをここに宣言しよう
0448デフォルトの名無しさん
垢版 |
2018/05/07(月) 23:32:28.33ID:b+1hN3YL
今phpのlaravelしててミドルウェアとかバリデーションとかルーターとかマイグレーションとか
それ自体はフレームワークの機能なんだけど言語仕様としても使えそうなのがチラホラあるけど
こういうの言語に使われることないんかな?
0451デフォルトの名無しさん
垢版 |
2018/05/08(火) 07:49:53.07ID:BTpaOhWg
C++の置き換え言語としてRustには期待している。ただ構文がなんかうっとうしいなあ。
ruby風のラムダは気に入ってるが。
0453デフォルトの名無しさん
垢版 |
2018/05/08(火) 10:01:01.47ID:JvzvEXdE
>>452
確かにあれは書きやすいし速い
GPGPUでの(それをラップしたライブラリでの)行列演算に対するアドバンテージって何かあるのか?
分岐がモリモリ入ってくる場合くらいしか思いつかないが
0455デフォルトの名無しさん
垢版 |
2018/05/08(火) 17:08:07.13ID:I+Jt0Kav
>>452
現実のFortranプログラミングは大量に宣言したスカラー配列を添字でゴリゴリ回すだけだけどな
行列やベクトルの演算のセマンティクスなんか一切残らん
0459デフォルトの名無しさん
垢版 |
2018/05/09(水) 02:35:21.53ID:hrOQbIqv
>>457
すばらしいね。
Cのコードに
__attribute__((optimize("unroll-loops")))
付けると100倍早いけどw
あと、手元の環境で gcc は何故か -O だけunroll付けたのと同様に早くて -O2 以上は遅かった。
バグと言うべきなのかな。
0460デフォルトの名無しさん
垢版 |
2018/05/09(水) 03:11:33.85ID:0bpmHxx0
>>453
コンパイラのやる気さえあれば、ライブラリでは不可能な最適化なんていくらでもでできるだろ
実際にやってるかはしらん
0462デフォルトの名無しさん
垢版 |
2018/05/09(水) 07:59:31.19ID:2PdkdhLd
>>461
それって言語の問題ではなくコンパイラの実装の問題?
それとも言語仕様として計算量の大きい生成アルゴリズムが規定されてたりするんだっけ?
0463デフォルトの名無しさん
垢版 |
2018/05/09(水) 08:01:55.30ID:2PdkdhLd
あ、ごめん。ライブラリの乱数生成の関数を呼んだらということかと思ったけど、自分で乱数生成の処理を書いたらということかな。
0466デフォルトの名無しさん
垢版 |
2018/05/09(水) 09:54:11.86ID:X/W01mab
>>458
せっかくコンパイラ作ったんだからみたいな貧乏性だな
一方、富豪的プログラマはインタプリタを使う
0467デフォルトの名無しさん
垢版 |
2018/05/09(水) 21:36:31.89ID:AJJ2h/PO
なんか知らんが定期的にCより速いって話が出てくるな。
高級かつランタイム速度が落ちないってなんかおかしいとか思わないもんなのかな。
0470デフォルトの名無しさん
垢版 |
2018/05/10(木) 02:12:17.66ID:FhKx4uhS
高級品だと遅くなるならC++がCより速くなることはないんだろうなあ
フムフム
0471デフォルトの名無しさん
垢版 |
2018/05/10(木) 08:10:24.35ID:WcF1ShgP
実際、もしもコードを書く人がコンパイラを書いた人よりも賢いならばCの方が早 速いww
0473デフォルトの名無しさん
垢版 |
2018/05/10(木) 10:07:40.42ID:sqBEyANZ
async awaitの存在のお陰でTypeScriptが使いやすさで一歩先言ってる感あるな。
VasualStudioでもサポートしてるんだよね。mac版試してみたい
0474デフォルトの名無しさん
垢版 |
2018/05/10(木) 15:49:44.61ID:TSTj28YJ
>>472
どうせバックエンド同じなので、C言語でもpragmaとattribute駆使すればFortranと同じになるはず
0476デフォルトの名無しさん
垢版 |
2018/05/10(木) 16:20:28.17ID:VgJxGkPJ
rebuildfmで聞いたがswiftは機械学習との親和性を高める方向でラトナーは頑張ってるみたいね。
0479デフォルトの名無しさん
垢版 |
2018/05/11(金) 19:21:18.09ID:BkhZdaXW
>>467
昔々 Java の方が C++ より速いなんて話もあった。
JIT で速くなるとか。

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

→キモイ

まとめてみました
0494デフォルトの名無しさん
垢版 |
2018/05/12(土) 00:31:38.38ID:5NKz3ewG
C / C++ はとりあえず OpenMP 相当のものを標準化して実装して欲しいわ
他の言語よりクライアント側で使うこと多いから1つ1つの処理もスケールさせたい
0495デフォルトの名無しさん
垢版 |
2018/05/12(土) 00:39:55.31ID:ioGXghPg
アルゴリズム変える以外に速くする方法なんてのは
結局倉庫番を上手く解くって話にしかならんわ。
0500デフォルトの名無しさん
垢版 |
2018/05/12(土) 01:13:51.18ID:8RYDCDzW
みんなアルゴリズムよりむしろデータ構造を変えたがる
CのポインタもJSのdomもデータ構造だろう
でもデータ構造を変えるのは速くするのが目的とは言ってないかも
0501デフォルトの名無しさん
垢版 |
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
0502デフォルトの名無しさん
垢版 |
2018/05/12(土) 08:55:56.45ID:ioGXghPg
>>496
いやメモリやレジスタにデータやコードを載せるタイミングの話なんだが。
「アルゴリズム」はもう少しソフトなレイヤーを指したつもり。
0505デフォルトの名無しさん
垢版 |
2018/05/12(土) 10:32:35.98ID:TkoJoFTb
GoogleはSUNと同じ愚を犯してるように見える。
0507デフォルトの名無しさん
垢版 |
2018/05/12(土) 10:46:00.14ID:+7qwtmL0
jsの出番が減るのか最近の仕様は好きなんだけどな。typescriptが直接wasm吐くようになってほしい
0508デフォルトの名無しさん
垢版 |
2018/05/12(土) 10:47:42.87ID:+7qwtmL0
>>505
sunはコンテナーをいち早く実現してたり
zfs出したり、先進的な企業だったよな。金が稼げなかったけど。
googleは金があるから問題ない
0510デフォルトの名無しさん
垢版 |
2018/05/12(土) 10:55:45.44ID:Wuy9HJPF
JavaScriptからwasmへのコンパイルができるようになったら普及は速いんだろうけど、いつになるかなぁ。
そのころにはwasmのエコシステムも十分整備されてそう。
0511デフォルトの名無しさん
垢版 |
2018/05/12(土) 11:01:20.26ID:NuxM0Gnx
>>507
各種apiのリファレンス実装として続いてくんじゃないかとは思ってる
正直TS→wasmは期待しちゃうよね
0512デフォルトの名無しさん
垢版 |
2018/05/12(土) 11:13:10.47ID:+7qwtmL0
rustでwasm吐くとdom操作もメモリ効率が良い感じになるのだろうか。
個人的にはgoで全部できるようになりそうで嬉しい。

meteor.jsというのがあってね。コンセプト的にすごく良かったんだけどエコシステムがいろいろ終わってた。wasmでもう一度復活するかも
0513デフォルトの名無しさん
垢版 |
2018/05/12(土) 11:31:33.64ID:Gv6T+VfX
Rustでブラウザ本体を書き直す動きがJSの部分にまで広がる
ブラウザを作れない言語には速い遅いという以前の問題がある
0514デフォルトの名無しさん
垢版 |
2018/05/12(土) 13:14:14.79ID:LrYQoKex
>>508
思い出は美化されるね。
不便なコマンド、SysV系転向、長いことジャーナリング無し、ftpのlsがユーザのロケールでパース困難、NFSの進歩の遅さ、etc
罪を数えたらキリが無いよ
0517デフォルトの名無しさん
垢版 |
2018/05/12(土) 14:10:21.47ID:TkoJoFTb
>>508
SUNは我田引水に失敗して凋落したのだ。
自社の高価な機器を売るためにメモリーイーターな言語を広めたり、自社の機器以外では性能が発揮できないように互換環境を禁止したり。
0518デフォルトの名無しさん
垢版 |
2018/05/12(土) 14:13:17.43ID:TkoJoFTb
Googleは現在我田引水のため色々やってるが、消費者にとっては良いことは何もない。
吉と出るか凶と出るか。
一方、MSは戦場から早々に離脱したので、不戦敗となるのか、勝ちもしないが負けもしないのか。
0519デフォルトの名無しさん
垢版 |
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になる (←あり得ない)
0520デフォルトの名無しさん
垢版 |
2018/05/12(土) 17:51:25.31ID:5NKz3ewG
最後の計算間違ってるか
結果はあってるけど10M個の積和を0.08ms、という計算か。
0524デフォルトの名無しさん
垢版 |
2018/05/13(日) 11:26:00.88ID:X0FozZBp
Rustってcと比べて機能てんこ盛りなのに同等の速度で実行できるって何でなの?
0525デフォルトの名無しさん
垢版 |
2018/05/13(日) 11:46:40.60ID:JUfYpDRX
別に機能が多いかどうかは関係ない。
速度を出すための設定を細かくできるかどうか。
細かく設定するってことはそれだけ手間がかかるってこと。
0526デフォルトの名無しさん
垢版 |
2018/05/13(日) 12:03:30.51ID:1GQ1TBB+
整数とポインタの見分けがつかない機械語に比べたらCも機能てんこ盛り
だがCのポインタは参照とスライスとBoxとOptionの見分けがつかない
0528デフォルトの名無しさん
垢版 |
2018/05/13(日) 15:12:37.68ID:JK3lyAGE
>>457
のCのコードみたけどぎょれつ演算にブロック化してないからキャッシュミスが
多くなって遅くなってるだけだな。
ハスケルは自動でメモリーの最適化してるからはやいだけだな。
0530デフォルトの名無しさん
垢版 |
2018/05/13(日) 15:34:14.94ID:NXXuYZ+p
>>528
へえ。ハスケル意外と有能やん
0532デフォルトの名無しさん
垢版 |
2018/05/13(日) 16:00:43.94ID:bgY0d3zI
1次元のリニアなメモリをシーケンシャルに読むだけなのにブロック化とか
ここは物事の真偽もわからない初学者の集まりなんだからデタラメで混乱させるなよ
検証できることはちゃんと検証してから発言しよう
0534デフォルトの名無しさん
垢版 |
2018/05/13(日) 16:24:23.38ID:1GQ1TBB+
でも検証にはコストがあるからな
お前は嘘つきだと宣戦布告して戦争か裁判をやって勝つまでが検証です
0535デフォルトの名無しさん
垢版 |
2018/05/13(日) 17:28:06.32ID:JK3lyAGE
xとy別々の配列じゃなくて
x0y0x1y1x2....のように並べるってことだよ。
そうするとメモリーアクセスが早くなる。
0537デフォルトの名無しさん
垢版 |
2018/05/13(日) 21:55:04.60ID:MDWbrDHx
検証もせずに適当に推測するが
>>457のHaskellの方がCより速いというのはループを1回で済ます最適化がされた結果であって、
1ループあたりの実際の速度はCの1/80の速度なのかもね
0539デフォルトの名無しさん
垢版 |
2018/05/13(日) 23:53:00.06ID:eikXWKbu
そりゃそうだろ

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

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

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

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

逆に気をつけないと、相当遅い。LazyとStrictも気をつける必要がある。
0549デフォルトの名無しさん
垢版 |
2018/05/15(火) 09:00:25.93ID:ykJK+It6
これはhaskellじゃなくて理系がバカなんだ
文系がhaskellを勉強しても速度のことなんて考えないだろう
0552デフォルトの名無しさん
垢版 |
2018/05/15(火) 18:37:20.71ID:3hgL0M2i
SOYANA
0553デフォルトの名無しさん
垢版 |
2018/05/15(火) 19:24:43.54ID:0x8zM7pd
>>550
次世代言語と言えば関数型、関数型と言えばHaskell、ホルホルホル。
0559デフォルトの名無しさん
垢版 |
2018/05/15(火) 22:38:41.36ID:TjuX/LAp
そのろくでなしを討ち取るか逃げ切られるか確定してないソースにはあまり意味がない
0561デフォルトの名無しさん
垢版 |
2018/05/16(水) 04:13:18.32ID:/r6FU1qw
>>548
加えて >>457 には left fold にしとかないと遅いよとある
理由はあまりに明白だからか触れられていないけど
ここはあまり実践に拘る人いないからわりとどうでもいいか
0562デフォルトの名無しさん
垢版 |
2018/05/16(水) 06:37:06.57ID:wZFh8fJh
コンパイル時と実行時で語る奴は速いよ
OOPと関数型で語る奴にはろくなものがいない
0563デフォルトの名無しさん
垢版 |
2018/05/16(水) 06:47:58.51ID:OmXLSXyH
LazyかStrictかってな。評価戦略も考えてかなならん。

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

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

一方ロシアは天才が書いたCのコードを用意した
0583デフォルトの名無しさん
垢版 |
2018/05/16(水) 18:51:37.22ID:w3xM0aVb
>>580
ある種の難問を解きやすいのが関数型言語のウリのはずだし、それはそれで一つの結果じゃない?
0584デフォルトの名無しさん
垢版 |
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
0586デフォルトの名無しさん
垢版 |
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
0590デフォルトの名無しさん
垢版 |
2018/05/16(水) 21:43:37.16ID:JOa7NyYz
つまり、鳥人間コンテストのような謎のルールで縛られてまともな飛行機作れない状態か
0591デフォルトの名無しさん
垢版 |
2018/05/16(水) 21:50:17.17ID:ub+CyxOt
1/6公式使うまで最適化してくれるようなコンパイラあんの? あったら見て見たいんだけど
0592デフォルトの名無しさん
垢版 |
2018/05/16(水) 22:22:29.79ID:/X1sH6Jm
visualc の出したコードではループ回数が10の倍数だということを織り込んで
10回分ずつ loop unrolling して端数回を処理するコードは略されてた。

そこまでわかってるならもう全部計算しといて略せよという気がした。
0593デフォルトの名無しさん
垢版 |
2018/05/16(水) 22:57:07.69ID:/X1sH6Jm
1/6公式使うのは違う計算をして微妙に違う値になるから最適化というより簡略化だな
0595デフォルトの名無しさん
垢版 |
2018/05/16(水) 23:44:41.84ID:mOBIQo/B
まあ最適化してるってことでコンパイル時に全て計算してしまえば
ランタイム速度はいつだってO(1)だよ。
0597デフォルトの名無しさん
垢版 |
2018/05/17(木) 01:23:03.74ID:GvGg8gY/
コンパイル時に計算可能なのは>>457
>>584は実行時の引数使ってるから計算しとくのは無理だな
いつだってO(1)に最適化できる、未来を予測する神のコンパイラがあれば別だけど。

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

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

…誰か何か他の話題を
0604デフォルトの名無しさん
垢版 |
2018/05/22(火) 22:41:37.50ID:eYNszKh+
impl trait は確かに嬉しかった
これでやっとトレイトオブジェクト使わずにイテレータが返せるようになった
0607デフォルトの名無しさん
垢版 |
2018/05/22(火) 23:20:40.27ID:eYNszKh+
何が理由で「ダメの方向」って言ってるのか分からない
C++の後継としてはRustは限りなく理想に近い言語だと思うが…
0609デフォルトの名無しさん
垢版 |
2018/05/22(火) 23:28:27.19ID:m7LLEOxE
JuliaはPythonを殺せない気がする。ボトルネック以外速くてもあんまり意味ないし
0610デフォルトの名無しさん
垢版 |
2018/05/22(火) 23:38:51.33ID:rpUF29sL
py 3.6で標準で型付けできるようになったし
av女優の名前借りたゲス言語なんてオワコンでしょ
0612デフォルトの名無しさん
垢版 |
2018/05/23(水) 00:06:43.07ID:QWeWgJFJ
結局Dartなんだよなあ
0615デフォルトの名無しさん
垢版 |
2018/05/23(水) 00:30:13.83ID:8U/w+cdS
Julia使ってるとコンパイル不要のスクリプト系の強みをjitのプリコンパイルの時間で失ってる気がするんだけど分かる人いない?
0619デフォルトの名無しさん
垢版 |
2018/05/23(水) 01:25:54.25ID:LjfntoLm
内包表記とかいうそびえ立つ糞
あのガイジ文法が読みやすいってpython作った低学歴はメクラのガイジなのか?
0621デフォルトの名無しさん
垢版 |
2018/05/23(水) 01:48:18.92ID:NeMRQIGN
内包表記読みにくいって方が理解できん
0623デフォルトの名無しさん
垢版 |
2018/05/23(水) 01:55:25.46ID:prSTZoE+
ピリオド.でpropertyをつないでいく何たら記法ってやつ
Rubyのゴルフ好きがよく使うが
あれこそ読みにくい
0624デフォルトの名無しさん
垢版 |
2018/05/23(水) 01:55:41.96ID:lm4BwuCE
>>615
Juliaは数時間〜数日単位の時間のかかる処理に使うもの
全く問題にならないオーバーヘッド
0625デフォルトの名無しさん
垢版 |
2018/05/23(水) 02:34:11.07ID:V0Z2NuNB
>>618
なに言ってるんだ?
Rustは普通に第一級関数使えるんだが…
いろんなクレートがクロージャ使いまくってるんだが…
あとクラスを嫌ったのはむしろ正解だろ?
データと操作を一緒にするのは失敗で関連付けるのが正解
つまり、クラスは失敗でRustのimplかGoのレシーバが正解
0628デフォルトの名無しさん
垢版 |
2018/05/23(水) 06:54:23.85ID:eQfPSYhe
確かに for がネストしてたり if else がネストしてんのに内包表記するのは馬鹿だなと思うわ。
素直に for 文書いて append しろやと。
0630デフォルトの名無しさん
垢版 |
2018/05/23(水) 09:26:47.69ID:McbJvmIi
Python の内包表記はややこしいって、Guido 自身が言ってるw

たぶん、a.b.c.d など、Ruby, jQuery みたいに、
Python では、関数型のメソッドチェーンができないからだろ
0631デフォルトの名無しさん
垢版 |
2018/05/23(水) 09:50:48.87ID:V0Z2NuNB
>>629
GCがないこと以外はほぼ全て真逆の方向に進んでると思うんだが…
Rustほど信頼性に極振りしてる言語なかなかないぞ
アレのどこが同じ方向なんだってばよ?
0632デフォルトの名無しさん
垢版 |
2018/05/23(水) 09:59:13.80ID:1qopdzmM
メソッドチェーン推しのくせにオプショナルチェーンに考えが至らず、多言語の後追いでパクリ導入したが?を識別子にできることとクソ命名習慣が相まり?.が使えず&.となった、もはやまともにパクることすら出来なくなってきた糞ジャップ言語があるらしい。
0633デフォルトの名無しさん
垢版 |
2018/05/23(水) 14:15:18.86ID:zwnct6X1
pythonはもう機械学習の覇権言語として確固たる地位を確立してしまったので、
ITドカタどもが書きやすいと感じるかなんて、最早どうでも良い領域に到達してしまった
0634デフォルトの名無しさん
垢版 |
2018/05/23(水) 14:49:50.61ID:xLXjXRd/
機械学習を自分で書ける腕があるなら、既に人が作ってくれたものを捨ててわざわざ一からやるなら別にPython使わなくても良いのよ?
0635デフォルトの名無しさん
垢版 |
2018/05/23(水) 17:28:38.80ID:mefsnanK
自分のオリジナルのモデルを実装したら、比較検証用に他のモデルも動かす必要あるわけじゃん?
既存のモデルまで全部自前で実装するのはダルいんだわ。
で、既存のモデルはPythonで動かすってなったら、そのまま自分のモデルもPythonで動かせた方がデータの加工やグラフ化なんかを使い回せて便利ってなっちゃう。
0637デフォルトの名無しさん
垢版 |
2018/05/23(水) 19:47:24.32ID:1qopdzmM
でも例えばtensorflow.jsはpythonのtensorflowやkerasのモデルインポート出来るぞ。
こんな風に移行手段提供されるんだったら言語は何でもいいんじゃない?
0638デフォルトの名無しさん
垢版 |
2018/05/23(水) 19:57:50.83ID:eQfPSYhe
rustに信頼性?
あの言語で信頼できる書き方できるならc++でもできるほどのプログラマだわ。
機能追加しまくって聳え立つクソになりつつあるって意味で全く同一方向だと思うがね。
0641デフォルトの名無しさん
垢版 |
2018/05/23(水) 20:08:23.39ID:0agB57Q/
Rustでまともなプログラム書けるならC++でまともにプログラミングできるって点が一番のRustの致命的にゴミな部分な
Rustを使う意味はただのひとつもない
0643デフォルトの名無しさん
垢版 |
2018/05/23(水) 21:14:13.23ID:Ex+BBdgR
>>641
大きな違いがあるぞ。
C++はまともでないプログラムでもエラーや警告を吐かずにコンパイルできてしまうが、Rustは、少なくともメモリ周りがまともでないかどうかはチェックしてくれる。デバッグや保守を考えたらRustの方がありがたい。
0644デフォルトの名無しさん
垢版 |
2018/05/23(水) 21:30:42.02ID:V0Z2NuNB
>>643
Sync, Sendのマーカートレイトのおかげでマルチスレッド下のデータ競合もチェックしてくれるぞ
もちろんNull安全も保証してくれる
むしろRustを使わずC++を使う理由の方が「既存資産」以外にはひとつもない
0645デフォルトの名無しさん
垢版 |
2018/05/23(水) 21:53:37.23ID:cEWT5Ura
前から気になってたんだけどWindowsのDLLみたいな動的リンク方式のライブラリを作ったり使ったりするのに適した言語って最近のである?
言い方を変えるとバイナリ形式のプラグインやアドオンを作ったり使ったりする言語を探してるんだけど
最近のプラグインやアドオンってスクリプトが主流なんだよね
0646デフォルトの名無しさん
垢版 |
2018/05/23(水) 21:57:13.88ID:H7n6Wk6+
>>637
それ、Pythonで書いておけば何処でも動くから
Pythonで書こうってのが加速するだけじゃん
js では学習済みのモデルが動くだけなんだから
0647デフォルトの名無しさん
垢版 |
2018/05/23(水) 22:05:53.52ID:1qopdzmM
>>646
ちがうよ。学習も出来るフルセットだよtensorflow.jsは。
たしかに学習済みモデルを動かすだけのライブラリもあったけどね。
そうではないから盛り上がってるんじゃん。
0653デフォルトの名無しさん
垢版 |
2018/05/24(木) 01:01:49.92ID:OfFTJh37
>>644
Rustみたいな鬼のように複雑な言語使ってコンパイル通せるなら、
C++でバグ出さずに書けるっつってんだろ
コンパイル通せる前提で話すんなや

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

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

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

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

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

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

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

少なくとも「C++のクロージャより出来が良い」なんて言えない
0674デフォルトの名無しさん
垢版 |
2018/05/24(木) 21:55:08.28ID:VphYtM0Y
だいたい静的言語が無理やりクロージャーなんて入れる必要ないのに、
「俺もそれくらいできるから!」みたいなノリで無理くり入れるのが間違ってんだよ。
大人しく継承でオーバーライドしときゃいいんだよ。
カスのワガママに従うからクソが聳え立つ。
0675デフォルトの名無しさん
垢版 |
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
0676デフォルトの名無しさん
垢版 |
2018/05/24(木) 21:56:31.96ID:/hP4MdXz
一般にAがBよりマシとは、AがBより僅かなりとも優良であることを意味する。
後か先かは関係ない。
0677デフォルトの名無しさん
垢版 |
2018/05/24(木) 21:59:14.23ID:xIKDzvCc
先であること自体に莫大なメリットがあることを考慮に入れた上でのなおかつ「マシ」ならその通りだがな
0679675
垢版 |
2018/05/24(木) 22:07:12.31ID:hcSrmWsG
おっとID変わってるけど俺>>658
0680デフォルトの名無しさん
垢版 |
2018/05/24(木) 22:48:36.88ID:A2obqUPd
>>674
Goもだけど「継承自体がクソだからやめようぜ」って流れなんだよな
無理矢理クロージャ入れる必要がないには同意
無名関数が使えりゃ足りる
0681デフォルトの名無しさん
垢版 |
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がない言語である限りは仕方のないこと…
とはいえ、ライブラリ作ろうとしない限りは定義側を書くことはないでしょ
0682デフォルトの名無しさん
垢版 |
2018/05/25(金) 01:49:54.39ID:HnuamdJg
敬称が糞って
ヒューマンクラスを継承したちんさんクラスとまんさんクラスは糞なのか?
0683デフォルトの名無しさん
垢版 |
2018/05/25(金) 02:31:46.48ID:hLxVSrBi
>>682
その例えを借りるなら
ちんさんクラスとまんさんクラスを両方継承したふたなりさんクラスを作るときに
戦争が起こる
0685デフォルトの名無しさん
垢版 |
2018/05/25(金) 06:59:36.86ID:N3c6aWbU
ちんもまんもクラス外に公開しなければならないインターフェイスだからhas-aだと実装を晒しすぎる
0687デフォルトの名無しさん
垢版 |
2018/05/25(金) 13:18:54.68ID:hlSUANfD
rustがいかに注目されているかよく分かるやりとりだな
0688デフォルトの名無しさん
垢版 |
2018/05/25(金) 14:15:14.14ID:4TBK/UtB
is-aは寿命が同じ
has-aは寿命とメモリが断片化する
でもこれは全ての実装において正しいとは言えない
実装非依存のおまじないの方が正しいからis-aとかhas-aとかいうおまじないを使う
0689デフォルトの名無しさん
垢版 |
2018/05/25(金) 14:50:00.53ID:B3ITbo/r
はああん?C++が一番有能に決まってるだろが。
0691デフォルトの名無しさん
垢版 |
2018/05/25(金) 15:08:44.57ID:1dRV9c5u
なにこれHaskellってコンパイラを入れるためのツール必要なのか
開発環境を管理するツールってことでええんか
0692デフォルトの名無しさん
垢版 |
2018/05/25(金) 15:15:51.49ID:B3ITbo/r
>>690
最強の次世代言語C++について話すためだろうが。
0697デフォルトの名無しさん
垢版 |
2018/05/25(金) 22:32:01.50ID:R7850AfQ
>>695
visual studioも c++17完全対応したらしいから17までは現世代でいいかなと。
0699デフォルトの名無しさん
垢版 |
2018/05/25(金) 23:27:50.48ID:4TBK/UtB
CPythonはC言語の環境さえあればなんでもできるしライブラリだけはC言語並みに速い

JavaもHaskellもただコンパイラを作るだけでなく
C言語のライブラリの使用を禁止する大義名分を作れるかどうかが重要になる
制御の反転とか
ドメインモデル貧血症とか
0701デフォルトの名無しさん
垢版 |
2018/05/25(金) 23:52:56.77ID:xxaSk9pj
>>697
どうせuniversal initializer周りはバクだらけだろうよ。
>>698
nodeはもはやnpmのが価値がある。
>>700
ハサミで怪我した人はハサミを根絶すれば怪我しなくなると信じてるんだよ。
0702デフォルトの名無しさん
垢版 |
2018/05/25(金) 23:55:48.17ID:4TBK/UtB
>>700
インタプリタ+Cのライブラリ
を使っていい現状でPythonが勝ってるから
使っちゃいけないことにすればコンパイラ言語が勝てる確率が上がる
0703デフォルトの名無しさん
垢版 |
2018/05/26(土) 00:01:52.26ID:i86nCRmL
C+スクリプトが最強ってことね
Haskellもコンパイル出来るスクリプトみたいなもんだし
0706デフォルトの名無しさん
垢版 |
2018/05/26(土) 08:07:14.44ID:lww/3Yi3
>>704
結構OSと結びついてること多いし、普通はOS全体のパッケージ管理ソフトの
aptとかyumで入れる。
0709デフォルトの名無しさん
垢版 |
2018/05/26(土) 11:01:18.92ID:yLdCoEV+
/usr/libとか.local/libとかにでもほりこんどきゃいいっていう単純なルールだからむしろパッケージマネージャ使うより分かりやすい
0710デフォルトの名無しさん
垢版 |
2018/05/26(土) 11:44:24.93ID:Alqb/ffm
ファイルシステムと結びついてる
そのファイルシステムよりも優れたパッケージのデータベースを作れないだろうかと
0711デフォルトの名無しさん
垢版 |
2018/05/26(土) 12:07:11.19ID:+v/aNAKk
>>710
すでに広く使われてるけどな。
0713デフォルトの名無しさん
垢版 |
2018/05/26(土) 15:25:11.42ID:Alqb/ffm
口先だけの理論を極めたら実験台は最小限で済むのに、口先だけの人をなぜ笑うんだい
0715デフォルトの名無しさん
垢版 |
2018/05/26(土) 15:40:35.41ID:yLdCoEV+
自分の成果として世に出すものならともかく、しょうもないことは人に投げれたから投げたほうがいいでしょ
0716デフォルトの名無しさん
垢版 |
2018/05/26(土) 15:56:16.96ID:Alqb/ffm
そもそも実験の量を減らせないのかなと思うんだが

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

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

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

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

それとももう既にいないからこんなところで愚痴りに来てるのかな?
0739デフォルトの名無しさん
垢版 |
2018/05/27(日) 12:28:28.97ID:iAW8TpSo
パッケージ管理ソフトの使い心地の調査をしょうもないことといって切り捨て、
他人にやらせるとかクソ中のクソだな。
こんな奴が出世するようになってるから日本の技術者は腐るんだろう。
0741デフォルトの名無しさん
垢版 |
2018/05/27(日) 12:46:02.82ID:fX39yZK1
日本の技術者がどうのとか大きな話するのは
自分が恥かくだけだからおやめ
おうちに帰ってカーチャンに聞いてもらってくれ
0742デフォルトの名無しさん
垢版 |
2018/05/27(日) 15:51:17.04ID:1qLnSHOL
当スレッドが本になりました。
読みやすい印刷されたペーパーとしてご購入できます。
是非この機会にご検討ください。
0744デフォルトの名無しさん
垢版 |
2018/05/27(日) 19:35:35.04ID:ryWgNuxw
JAVAが遅いなんてずっと言われてるし少なくともその部分は現実だろ
速いから使われてるわけじゃない
0745デフォルトの名無しさん
垢版 |
2018/05/27(日) 19:57:16.66ID:QS1EkFJo
Javaは速いだろ
エンプラのサーバーに最適化されすぎてて、一般ピープルが触ると遅く感じるだけだ
最近はコンテナやFaaSの流行によってサーバーサイドにおいても重厚(遅いわけでわない)なスタックが嫌われるようになったから、
これまでのJavaのパフォーマンス特性も時代に合わなくなっているのは確かだけど
0746デフォルトの名無しさん
垢版 |
2018/05/27(日) 20:15:35.91ID:1qLnSHOL
ほむ、Javaはどのくらい速いのですかな?
0749デフォルトの名無しさん
垢版 |
2018/05/27(日) 20:56:47.34ID:1qLnSHOL
JavaはC++より二十倍速いで有名なページが、言及されまくった挙句、Hashはstd::vectorの二十倍速い場合もあるに変わったのを思い出した。
0751デフォルトの名無しさん
垢版 |
2018/05/27(日) 21:34:21.37ID:Rm2uu4hA
最近はRustもtokioのおかげで上位に食い込むようになってきたぞ
0754デフォルトの名無しさん
垢版 |
2018/05/27(日) 21:47:29.24ID:1qLnSHOL
ウェブフレームワークだとC++は遅いのか。
不思議なもんだ。
0755デフォルトの名無しさん
垢版 |
2018/05/28(月) 00:31:09.16ID:bV3do8uo
>>750
c++は早くネットワーク関係のライブラリを標準で持てと。
ファイシステムよりプラットフォーム依存少ないだろうから標準になるの早いと思ったんだけどなぁ。
0756デフォルトの名無しさん
垢版 |
2018/05/28(月) 00:46:52.85ID:yucnVNXj
Networking TSはあるけどな。
当面はBoostで凌ぐしかないんじゃないのかな。
0757デフォルトの名無しさん
垢版 |
2018/05/28(月) 00:48:07.93ID:yucnVNXj
VPSだとJavaは使えないからな。
C++だとずいぶん安上がりなので、主流になると助かる。
0759デフォルトの名無しさん
垢版 |
2018/05/28(月) 00:55:58.49ID:yucnVNXj
Boost.Geometryでグラフィクスを作ればクロスプラットフォームのアプリができるんじゃないのか。
0760デフォルトの名無しさん
垢版 |
2018/05/28(月) 00:57:48.56ID:yucnVNXj
GDIにあったような計算がGeometryに揃っているのを発見したのだが。
0761デフォルトの名無しさん
垢版 |
2018/05/28(月) 01:01:36.65ID:yucnVNXj
>>758
Boost.BeastのFAQにライブラリの部品として使われることを意図してると書いてあった。
したがって、利用者側がテンプレートを駆使するスタイルではなく、用途に合ったインターフェースが用意されればいいんじゃないだろか。
C++は、複雑な利用法もできるけど、他の言語のような簡単な利用法もできるので。
0762デフォルトの名無しさん
垢版 |
2018/05/28(月) 01:01:38.30ID:CgSA54C+
ネットワーク関係はsignalに依存する気がする
javaはどうやってsignal依存を誤魔化してるの
0763デフォルトの名無しさん
垢版 |
2018/05/28(月) 08:20:44.90ID:FWdUDFme
>>750
プレインテキストのランキングの方がピュアじゃない
0765デフォルトの名無しさん
垢版 |
2018/05/28(月) 10:31:28.63ID:UfG8Uu1M
c#最近実運用してるけど割と良いと思えてきた。
バランスがだんだん良くなってきたと思う。
半分腐ってるクラスをcoreで捨ててったからかな。
0766デフォルトの名無しさん
垢版 |
2018/05/28(月) 16:49:29.89ID:yucnVNXj
>>764
プログラミングを加速させるんじゃないかな。
次世代のステージへ。
0768デフォルトの名無しさん
垢版 |
2018/05/28(月) 20:42:40.78ID:HwCURH5x
>>767
いや、C++は深みにはまるとRustの方がはるかに簡単だったなと思いだす
0773デフォルトの名無しさん
垢版 |
2018/05/28(月) 21:05:57.55ID:sW7tsilJ
それは、わかりやすくない、わかりにくいと主張する側に説明責任があるとも言えるのでは?
わかりにくさの説明義務を放棄して「いや、わかりにくい。わかりやすいと言うならわかりやすい要素を挙げろ」というのは、ちょっと無責任だと思うが。
それじゃやってる事同じだよね。
0775デフォルトの名無しさん
垢版 |
2018/05/28(月) 21:23:25.05ID:yucnVNXj
プログラミング言語Rust 第四版が無いからわかりにくい。
0776デフォルトの名無しさん
垢版 |
2018/05/28(月) 21:40:44.10ID:OZNzbx2M
c++はオーバーロードの優先順位、値を返す時のコンストラクタの省略ルール、
テンプレートのマッチング、エラーなどこの辺がわかりにくい、てか覚える気にならん。
0777デフォルトの名無しさん
垢版 |
2018/05/28(月) 21:43:46.15ID:HwCURH5x
C++はキャストの種類が多すぎてどれ使うべきなのかよく分からんくなるとか
マクロの各要素に括弧つけるの忘れて演算子の優先順位が狂って
そのことに気付くのに半日くらいかかったとか
インクルードガードなるものを知らなくて2重インクルードしてて困ったとか
他にも、C++は数え上げていくときりがないくらい落とし穴がいっぱいある
使い慣れてるヤツはそんなところで間違えないから問題ないのかもしれないけど
慣れてないヤツからすると上みたいな比較的簡単な部分でさえ落とし穴が多くて
そこにテンプレートとかが加わってくると「こんなもん使えるかよ」ってなる
Rustなら変なコード書けば大抵コンパイルエラーになるんで安心

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

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

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

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

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

Rust使ってて客観的に生産性上がったってデータ、当のブラウザをRustで書いたmozillaからすら出てねえのに
0801デフォルトの名無しさん
垢版 |
2018/05/29(火) 15:13:51.33ID:R8AzzyYJ
>>799
個人の感想しかないに決まってるだろ
分かりやすいだの生産性だのをどうやってデータで出すんだよ
分かりやすさなんて数値化できないし
生産性も行数ぐらいでしか数値化できない
そしたら次は行数なんかで生産性が測れるかよってなる
それとも君は誰もが納得できる計測方法を知っているとでも?

確かにRustの方が分かりやすいとは言ってないが
C++の方が分かりにくいとは言ってるよね
それって相対的にRustの方が分かりやすいってことだよね
0802デフォルトの名無しさん
垢版 |
2018/05/29(火) 15:32:47.66ID:R8AzzyYJ
>>800
RustがC++の後継になれるかどうかはともかく目指してるのは事実だからな
ていうかどうやって住み分けるの?
個人的にはC++の資産を今さら捨てるわけにはいかないって理由ぐらいしか
使い分ける理由が存在しないと思ってるんだが…
それって現実的な妥協案ではあっても住み分けではないよね
0803デフォルトの名無しさん
垢版 |
2018/05/29(火) 16:59:20.34ID:sxnzIvUq
JavaやRustが優れているというのに、JavaやRustで書かれたアプリがユーザーに全く受け入れられないのは、呪いがかかっているからだろう。
0805デフォルトの名無しさん
垢版 |
2018/05/29(火) 21:11:37.30ID:xMMbb2sa
結局、書く手間の割に対して安全でもないってことだろ。
そこまでクリティカルなプログラムの場合、他の部分で十分テストするし、
言語レベルでなくてそちらの要素のが安全面に関しては影響がでかいっいう当たり前のことに
まともな奴らは気付き始めてる。
0813デフォルトの名無しさん
垢版 |
2018/05/29(火) 23:53:03.39ID:qS+NaeOE
コメント使うのは最初の一行だけ。シバンみたいに。
あとは後置で普通に型書けるよ。
導入・取り外しが簡単。あくまでjs。
tsはよくも悪くも別言語だねありゃ。
0815デフォルトの名無しさん
垢版 |
2018/05/30(水) 00:05:53.83ID:PtoY56Ui
tsはジェネリクスができることが増えて変態化してるのがいや。
エラーがわかる気がしない。flowはどうなん?
0816デフォルトの名無しさん
垢版 |
2018/05/30(水) 00:26:34.49ID:NC6i02jY
TSはそっち行っちゃったかー感半端無い。
JSはもっと関数的な記法に進化出来たのにAlgol系じゃなあ…
DartがショボすぎたのとCoffeeの失速が致命的だった。
0818デフォルトの名無しさん
垢版 |
2018/05/30(水) 00:51:02.32ID:yvJ4REyT
バベラせるだけだから、flow-remove-typesせんでええやろ
生でJSとやるのはもうリスク高すぎ
0821デフォルトの名無しさん
垢版 |
2018/05/30(水) 01:29:07.64ID:A4Meokwp
>>819
ちらっとチュートリアル読んでるけど良さそうじゃん!シンタックスも奇形じゃないし。何で話題にならんの?
0822デフォルトの名無しさん
垢版 |
2018/05/30(水) 01:42:24.59ID:qwpvUJlq
>>821
バックに企業がついてないのが1つ
日本語の情報がほぼないのが1つ
まだ1.0になってないのが1つ
安全性ならRustが先行、カジュアルな並列ならGoが先行してるのが1つ
キラープロダクトがないのが1つ

……多いな
0823デフォルトの名無しさん
垢版 |
2018/05/30(水) 01:45:47.89ID:qwpvUJlq
安全性の理論自体は論文ベースだし
文法はまともだし
分かりやすいアクターモデルだしGC系言語だしで
次世代感は高いはずなんだがなあ
0826デフォルトの名無しさん
垢版 |
2018/05/30(水) 07:23:24.71ID:isqQ3IJf
GCはむしろ旧世代
0827デフォルトの名無しさん
垢版 |
2018/05/30(水) 08:03:44.50ID:yvJ4REyT
ググラビリティ低い名前つけんなっていつも思うわ
何がポニーだワイの馬並みぶち込むぞカス
0831デフォルトの名無しさん
垢版 |
2018/05/30(水) 09:18:14.14ID:Vam/MnMy
まあ最近の言語は〜〜langってぐぐればだいたい出てくるからそこまで困りはしないが
0833デフォルトの名無しさん
垢版 |
2018/05/30(水) 10:01:51.44ID:cAup9oL+
Haskellが影響を与えた言語の連なりに "cat" てのあるってのを見知って
"cat language" でググったら
「お家の猫ちゃんと楽しく会話する方法」ばっかりヒットして血圧急上昇でした
0839デフォルトの名無しさん
垢版 |
2018/05/30(水) 14:57:06.10ID:cAEded3J
>>835
存在しないものをかぎ分ける嗅覚の持ち主のようだ

nimはこうなんというか「ここが今までと違う!」ってセールスポイントが見えない気がするんだよな
D言語っぽい感じ
0843デフォルトの名無しさん
垢版 |
2018/05/31(木) 02:44:43.06ID:QFV8wAla
>>842
意外とバッチ処理にも向いてる
特にある程度量のデータを右から左にデータ加工しながら投げたいみたいな用途
0844デフォルトの名無しさん
垢版 |
2018/05/31(木) 03:22:08.51ID:nWho3S1c
nimはまあ、ぼくのつくりなおしたさいきょうのDelphiみたいなもんだから……
構文木を扱うタイプのマクロは新しいかは別にして珍しくはある
0847デフォルトの名無しさん
垢版 |
2018/05/31(木) 12:43:53.84ID:C9fqJU0/
ライブラリ書くのには圧倒的に向かないけどな
貶す意味でなく、よくも悪くも土方のための言語

しかし世の中でプログラムが必要な分野の多くは土方だからこそ流行ってる
0851デフォルトの名無しさん
垢版 |
2018/05/31(木) 14:38:11.50ID:OnZL/ItY
>>848
Rubyも含め、一時的に流行して廃れた負債言語が上位にランクインしてるな
言語そのものが糞というのももちろんあるけど、それ以上に、
終わってる言語で自分のキャリア上無価値と知りながらも負債をメンテするために触らざるを得ないのは辛いものがあるよね
0852デフォルトの名無しさん
垢版 |
2018/05/31(木) 14:42:28.25ID:bmWKWolR
他のグラフ見ると、RubyとRoRは同様に嫌われてるけど、
c#とLinqやUnity比べるとLinqやらUnityは嫌われてないとか、そこそこ面白いな。
多分ホントに負の遺産を負のままにしてきたツケだろ。
0853デフォルトの名無しさん
垢版 |
2018/05/31(木) 14:43:45.00ID:BSHKveO1
Rubyだって記法と実行速度と互換性がクソなくらいで他はそんなに悪くないだろ
あと信者がうざったいくらいで
0858デフォルトの名無しさん
垢版 |
2018/05/31(木) 15:26:03.20ID:DK3FW3yv
RubyがオワコンってよりはRoRがオワコンってことだな
Rubyは元から始まってすらいなかった
0859デフォルトの名無しさん
垢版 |
2018/05/31(木) 15:46:21.48ID:fZ2+DRwl
RoRが流行ったのは事実だしそれでRubyがひろがったのも確か
でもいまはDjangoなりなんなりもっと書きやすくて読みやすい言語があるわけだ
0860デフォルトの名無しさん
垢版 |
2018/05/31(木) 16:11:17.43ID:RZ7CjKQ5
単純に疑問なんだが
昼間っから5chにカキコんでるような連中が
どんな根拠をもってある言語を叩いてるのか不思議だわ
誰かが作ってくれた言語をただ使うだけのユーザが
記法がどうの言えたもんだよな
オカンのタダ飯を批判するがごとく
0862デフォルトの名無しさん
垢版 |
2018/05/31(木) 17:12:57.79ID:Hmps7oME
勝手に作り上げた人物像を非難して
批判を潰そうとする方がよっぽど害悪じゃね
妄想癖の権威主義って感じ
0863デフォルトの名無しさん
垢版 |
2018/05/31(木) 17:24:07.19ID:Rs+XOVpI
Rubyは確かにオワコンっぽいけど、なんでダメだったんだろう?
Pythonが良くてRubyがダメな理由が分からん
0865デフォルトの名無しさん
垢版 |
2018/05/31(木) 17:40:46.94ID:pyEWWgKP
いろんなソース見るとRubyは記法が人によってバラバラという印象はある
Pythonも無いわけではないけど
0867デフォルトの名無しさん
垢版 |
2018/05/31(木) 17:58:06.78ID:79IVC2am
完全にイメージなのだが, RubyにはPerlと同じ臭いを感じる
Pythonは割と遠い感じ
0868デフォルトの名無しさん
垢版 |
2018/05/31(木) 18:19:38.00ID:bmWKWolR
悪い意味で自由な文法だからな。
書きやすいが読みにくい。
だからこそ設定より規約みたいな概念を「わざわざもう一回言ってまで」徹底しないと、
保守性最悪の動かさないとよくわからない、担当が辞めたら誰も保守できない逸品に仕上がる。
さらにグダグダして、Objectの親クラス足した時点で言語として終わったと思ってる。
なんでmethod_missingの解決にそういう事したのか全くわからん。常識的に考えて破壊的変更を甘んじて受け入れて対応するだろ。
破壊的変更されると規約で決めた決めごとでしかないから破綻するとかどんな戯言なんだと思ってたらその主張が通るとか意味不明じゃん。
それで純オブジェクト指向とか抜かしてたのにスーパークラス作るとか頭湧いてる。
うざったくて無能な信者とか煮ても焼いても役に立たん。

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

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

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

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

https://trello.com/
ボードのメニュー → Power-Upsから拡張可能 Slack DropBoxなど
Trello Chrome拡張機能 elegant
ttp://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/

ttp://photoshopvip.net/103903
ttps://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/
0902デフォルトの名無しさん
垢版 |
2018/06/01(金) 11:38:41.56ID:yj/dLDhy
wasmかわいいよwasm
一応JSよりサイズが小さくなることを売りにしてるから多分大丈夫
0904デフォルトの名無しさん
垢版 |
2018/06/01(金) 12:00:32.33ID:sEcyCFHu
wasmといえば、Goももうちょいで対応しそうだし、c#だとblazorみたいな面白い荒業が出てきてたり、結構面白いよな。
最初から(たいてい他言語で書かれてる)共有ライブラリ使わない静的リンクでのクロスコンパイルが得意とか、
他言語呼び出さなくてもフレームワークにだいたい道具が揃ってて、かつ生きてるOSSのVMがあるとか、色々好条件が揃ってたんだろうけど。

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

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

型無し糞言語はバカ、型無し池沼イット土方はバカ
いますぐ死んでほしいよな、ほんと
これが総意
0927デフォルトの名無しさん
垢版 |
2018/06/02(土) 09:49:36.92ID:z1beHaLa
>>924
typescript は typescript で項目があるけど

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

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

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

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

とっくの昔にクソ言語確定しただろ
次世代言語スレで口にするのも汚らわしい
0938デフォルトの名無しさん
垢版 |
2018/06/02(土) 11:49:28.58ID:YvfmserM
動的型には厳しいことを言うくせに
Rustを教えてやったら難しすぎると弱音を吐く奴がいる
他人に厳しく自分に甘いクズだ
0940デフォルトの名無しさん
垢版 |
2018/06/02(土) 15:13:23.43ID:yQHVvQ0k
>>911
俺も書けないしクソゴミレベルを自覚してるが
ここの人らは違うんだろうな
書けるし書いてきたんだろうな
日本を代表するようなプログラミング言語を
0942デフォルトの名無しさん
垢版 |
2018/06/02(土) 16:35:27.47ID:uxIlP8w7
簡単な機能を難しく書くことに意味はないっていう当たり前のことを
まず言わなきゃならんかな。
0943デフォルトの名無しさん
垢版 |
2018/06/02(土) 16:53:15.38ID:1tVzFlee
もとからこのPHPに拘るやつおかしいと思ってたけど、bash切り捨てるとか頭おかしすぎるだろ。
問題領域違いすぎるとは思わんのかな?
カッターナイフ持って「これじゃ戦争できない」と言ってるレベルだろ。
0947デフォルトの名無しさん
垢版 |
2018/06/02(土) 17:40:43.45ID:1tVzFlee
>>945
.net coreと.net standardとかで、このレベルが(新しい)標準のAPIな!って仕切り直して、
その標準を満たす形で各実装を進めてる感じ。
割と細かい範囲まで、mscorelibから抜けてる。
0949デフォルトの名無しさん
垢版 |
2018/06/02(土) 18:23:39.36ID:aS+ccrWD
>>943
bashは必要悪
PHPはただの悪

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

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

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

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

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

ガイジとやらを集めることは簡単なんだから。
発注側としては、正直、動いてて保守されればどんな言語で書かれてようが知ったこっちゃない。
0956デフォルトの名無しさん
垢版 |
2018/06/02(土) 19:08:14.97ID:uxIlP8w7
やっぱどの言語も増築の誘惑は大きいのかね。
バカユーザーの声なんて無視すりゃいいのにって気がするんだが。
0957デフォルトの名無しさん
垢版 |
2018/06/02(土) 19:57:59.83ID:Jy4UBNx5
パターンマッチを後から入れようとしてる言語は大体残念な出来だな
初期設計重要
0958デフォルトの名無しさん
垢版 |
2018/06/02(土) 20:09:56.50ID:77Zs73WY
Juliaのパターンマッチも残念な感じだけど
あれもうちょっとなんとかなるんだろうか
0960デフォルトの名無しさん
垢版 |
2018/06/02(土) 20:43:59.07ID:EGy82ACu
>>951
bashの代わりって何?
ちょっとしたサーバ内での作業を自動化するのに
いっつもbashの引数を受け取るときは・・・for文は・・・リストは・・・
と調べててめっちゃ作業効率悪いんだわ
あるんならマジで教えてたもれ
0962デフォルトの名無しさん
垢版 |
2018/06/02(土) 21:52:19.47ID:MzjK288P
アプリ内でのチャット機能ってunityとかじゃできないよね?
どの言語できる人呼べば良いのか教えてください。
0964デフォルトの名無しさん
垢版 |
2018/06/02(土) 22:14:56.43ID:MzjK288P
>>963
ありがとナス!
0965デフォルトの名無しさん
垢版 |
2018/06/02(土) 22:17:37.86ID:DgJrF6Hz
>>960
実装方法に選択権あるならどの言語でもいい要件やん
自分が一番書きやすいの使いなはれ
# VB?あ、ごめんなさい…
0966デフォルトの名無しさん
垢版 |
2018/06/02(土) 22:27:52.11ID:DqEhcn23
普段からシェルで生活している人間だと自動化の見通しがすぐできるからいいのよ
シェル触ったことない人がシェルスクリプト書こうとするのが間違いだと思うよ
0967デフォルトの名無しさん
垢版 |
2018/06/02(土) 22:50:59.94ID:MzjK288P
アプリゲームの課金システムもゲームシステムとは別分野だと思うけどそれもAWSでできるの?
0968デフォルトの名無しさん
垢版 |
2018/06/02(土) 23:19:52.19ID:v1sz/IRP
次世代シェルスクリプト

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

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

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

これもう半分犯罪行為だろ・・・
0972デフォルトの名無しさん
垢版 |
2018/06/03(日) 16:12:03.32ID:147N34Xk
bash依存せんと、shとPOSIX標準コマンドでなんとかするほうが良いんじゃねえの?
0973デフォルトの名無しさん
垢版 |
2018/06/03(日) 16:57:30.94ID:hFIU0SnR
main関数の引数がどう見てもシェルだよね
他の関数を呼ぶにはheaderを読んだり設定ファイルを書いたり効率悪い
headerが不要なのはUIとしても優秀だよ
0974デフォルトの名無しさん
垢版 |
2018/06/03(日) 18:59:08.94ID:F6QAGrKP
pythonでsh発行できるやつってないん?
rmとかmkdirとかOSに指示出すやつはしょうがないにしても
forとかifとか、あのおぞましいほどに汚いsyntaxで書きたくない
0977デフォルトの名無しさん
垢版 |
2018/06/03(日) 19:12:36.81ID:vrBh4O6u
なんやコイツ優しさの塊か?
0980デフォルトの名無しさん
垢版 |
2018/06/03(日) 19:21:36.93ID:voEBFTlT
どんなスクリプティング言語にも system とかバッククォートとかある事を知らなそうだな…
0981デフォルトの名無しさん
垢版 |
2018/06/03(日) 19:44:10.62ID:TXJnPl+Q
部品の大きな関数型言語の一種だと思うとさほど難しくはない、と思うよ
データを変数に詰めてそれをいじくり回すんじゃなくて、関数を繋いでやりたいことを実現するようなイメージ
慣れるとバイナリファイルもRDBも邪悪に見えてくる
極まった人間が↓みたいなシステムを作っちゃう
ttp://www.atmarkit.co.jp/news/200909/07/lltv03.html
0982デフォルトの名無しさん
垢版 |
2018/06/03(日) 19:45:43.72ID:zz+68nBF
>>978
機械にとってきれいなSyntaxやで
Pythonは自由文脈のLL(1)で、
某C++のように識別子が型か変数かで構文木自体が違ってきたり
後ろの内容が前に影響を与えたり、何トークンも先読みして巻き戻ってしないといけない
みたいなのが無くてすっきりなんやで
0983デフォルトの名無しさん
垢版 |
2018/06/03(日) 20:07:43.14ID:CcsWt1Gk
Pythonのsubprocessの使いにくさは異常
0985デフォルトの名無しさん
垢版 |
2018/06/03(日) 20:38:18.37ID:/VcZOpGn
>>969
最近作られたOilシェルの作者が同じことを言ってた。
テキストUIとしてのシェルと言語としてのシェルで分けて考えることができる。
良きインタラクティブシェルを作るためには、ベースの言語がよいものであるべきだと。
x=1 と x = 1 が同じで無いのとか難しい。
http://www.oilshell.org/blog/2018/01/28.html
0986デフォルトの名無しさん
垢版 |
2018/06/03(日) 21:06:10.86ID:CD9OJJ6i
rubyここではボロクソだけど、
railsはあまりにも偉大すぎて、正直代替品は存在しない。
エコシステムがやばい。具体的にはrailsチュートリアルな。
これは一度やってみてほしい。ド素人をエンジニアに育て上げる気概がある。
0989デフォルトの名無しさん
垢版 |
2018/06/03(日) 23:24:45.82ID:F6QAGrKP
pyのリスト糞内包表記が読みやすいとは1nmも思わないが
shの糞糞糞表記よりはマシ
0991デフォルトの名無しさん
垢版 |
2018/06/03(日) 23:27:36.63ID:CcsWt1Gk
俺はPythonの内包表記が糞とか頭どうかしてると思うけど、個人差あるし、糞と思うなら使わなければ良い
0992デフォルトの名無しさん
垢版 |
2018/06/03(日) 23:30:33.73ID:e8v7qvrd
python sample.py >log.txt
やるもよし、
os.system(" cat aho.txt | grep baka >log.txt" )
でもよし。
複数プロセス制御とか考えないならこんなんで十分だろ。
0994デフォルトの名無しさん
垢版 |
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)

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

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

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

どっちが読みやすいですか???
0997デフォルトの名無しさん
垢版 |
2018/06/03(日) 23:47:31.81ID:F6QAGrKP
>>995
Kotlinに殺されたScalaちゃん
いい言語だったよ、コンパイルが糞ひり出して戻ってきても終わらないくらい糞長い糞だったが
0998デフォルトの名無しさん
垢版 |
2018/06/03(日) 23:50:32.46ID:F6QAGrKP
俺のリスト糞糞表糞の読み方が間違ってるだけ?
英語圏の人間なら読みやすいのか?
0999デフォルトの名無しさん
垢版 |
2018/06/03(日) 23:52:56.62ID:CcsWt1Gk
>>998
先に変数、後で条件という集合論の書き方に似てるやん?
「まずxというのがあって、そのxの条件は……」
って読んでる
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
レス数が1000を超えています。これ以上書き込みはできません。

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