次世代言語Part8[Haskell Rust Kotlin TypeScript]

■ このスレッドは過去ログ倉庫に格納されています
2017/12/01(金) 23:08:21.45ID:FxdZTiuZ
スレタイ以外の言語もok

前スレ
次世代言語Part7[Go Rust Swift Kotlin TypeScript]
http://mevius.5ch.net/test/read.cgi/tech/1508403098/
2017/12/29(金) 17:37:53.13ID:cw3UbRdF
>>486
いやだから定量化のツールなんて今まで腐る程作られてるわけだけれど
結局、それを無視する輩に何言っても無駄だってことなんだがな。
人間の指摘は無視して機械の指摘は受け入れるとかどこか歪んでると思わんのかね?
ルールベースだろうと機械学習だろうと結局は受け入れ側の問題なんだが。
2017/12/29(金) 18:16:14.48ID:FHAe2y9o
>>487
富士通が作ったとなるとおじさんたちには説明しやすそうだけどな
2017/12/29(金) 18:43:36.76ID:JTMw5+UW
筋が悪いと思う
目的は定量評価そのものではなく、悪いところを改善することだろ?
ディープラーニングでスコアを付けられたところで、どうやったら良くなるのか分からんだろ
決められた最低スコアを満たすために深夜にPG達が死んだ魚のような目でインデントをいじくって試行錯誤する姿が目に浮かぶわ
2017/12/29(金) 18:47:44.63ID:cw3UbRdF
>>488
いや富士通がやったことだからやばげなんだろw
googleがやったとかならおじさん受けはいいかもしれんが。
2017/12/29(金) 19:02:44.12ID:NmAcZsuY
アメリカに尻尾ふる日本人
2017/12/29(金) 19:27:10.69ID:EmauInAe
>>487
確かに定量化のツールは腐るほどあるが、
「本当の意味での見た目」を定量化したのは割と初めてじゃない?
面白いと思うけど。

無視する輩ってどこから来たのかわからんが、たいがいそういう奴は決まってしまえば無視はしない。
無視する事は出来ないから導入自体を見送らせる。

そこで、ルールベースじゃなくて「雰囲気」を一つの指標にするってのはアリだと思うけど。
機械の指摘ももちろんだが、機械の指摘をもって人間が指摘するんだから、あんまかわらん。
それに、そもそも人間の指摘も無視するわけじゃないだろ。
人間の指摘を無視するやつはそもそもプロジェクトでは長生き出来んだろ。社会人なんだから。
二元論じゃなくて、新しい尺度じゃね?

受け入れ側の問題と断ずるのは簡単だが、何故受け入れさせる事が出来ないか、ってのはそれを推す側の問題だと思う。
2017/12/29(金) 20:10:55.59ID:JTMw5+UW
教師データをどう用意したのかは激しく疑問だな
Apache Foundationとかの定評アルOSSのソースを○、
富士通のSIのソースを×として学習させて、与えられた画像が○の方である確率をスコアとするんだろうかw
2017/12/29(金) 22:23:50.72ID:cw3UbRdF
>>492
才クロマティック数とかさ、普通に気にしてりゃそこまでひどいことにはならんわけよ。
ツールの数はおれは十分だと思ってるけれど、結局そういう地道な数値なんてのはむしするわけだ。
ただただ新しい指標作りましたっていうアリバイ発明のためだけってのは
この業界では昔からいっくらでもあるわけで警戒するのが普通なんだよ。
https://msdn.microsoft.com/ja-jp/library/bb385914.aspx

受け入れられない理由はそいつの能力と与えられる時間の割合の話にしかならん。
地道に受け入れる体制をつくるかそういう奴を切るかの二つしかないのに
糞みたいな幻想にしがみついてるだけだわ。
495デフォルトの名無しさん
垢版 |
2017/12/29(金) 23:18:07.67ID:aTe03Y1I
>>494
お前さんの書き込み見ると、アンチを装った信者って評価になるけどな。
2017/12/30(土) 09:00:14.39ID:HRZmB+5I
>>490
お前がプロパーエアプなことはよくわかった。
2017/12/30(土) 12:24:14.46ID:YiXNzhkf
ワインゴ大将軍、循環的複雑度でコードのヤバみ検知してる最先端エンジンでその富士山・・?のなんとかよりずっと前から最先端だけど話する?
2017/12/30(土) 12:37:15.29ID:IKvN98q1
>>497
技術的には全くどうでもいいけど、
それを客にどう売り込んでるかとか導入後実際に成果出てるのかとかとかは気になる
2017/12/30(土) 12:37:56.63ID:sz1BobDC
>>494
無視するんじゃなくて、理解出来ない人間も居るんだし、そいつらを黙らせるのにも便利だと。
アリバイじゃないよ。わかったふりをさせて承認印を押させるような行為がアリバイだろ。

大体、営業や経営がシステムの事を深く理解する必要は無いし、大本営直下の人間ってのはそのどちらか寄り。
それは戦略上の必要悪なんだから、切る切らないの議論としては話にならん。

そいつらが見る時に、今までは言っちゃえば騙して盲判を押させてただけだろ。

地道なツールを無視するんじゃない。それは今までどおり開発部で使えばいいじゃない。
2017/12/30(土) 13:01:46.50ID:KDbqwYpR
マ板でやれ
2017/12/30(土) 13:04:53.13ID:mW/VKMch
perlやhaskellをやったら、コードはやっぱり短い方が良いなって思うよ
でもコードの長さという指標はほとんど無視されているのが悲しい
502デフォルトの名無しさん
垢版 |
2017/12/30(土) 17:37:07.61ID:9QvS1nQQ
haskellってそういうジャンルなのかよ
受け入れられないわけだ
2017/12/30(土) 18:01:18.34ID:WOZO0R3V
違うよ
2017/12/30(土) 22:23:23.78ID:mW/VKMch
短くするつもりは全然ないのになぜか短い
これなら受け入れられるか?
やばい全然勉強してないとか言いながら高得点を取る現象と同じ
2017/12/31(日) 04:59:15.58ID:BxCzRdag
やりたいことが全部標準ライブラリーに入ってるからじゃね?
2017/12/31(日) 06:58:35.57ID:pbtZtK9w
ちょっと聞きたいんだけど
便利なライブラリが揃っているって
事と
その言語が優れているって事は
全く別の事だよな?
2017/12/31(日) 10:00:35.36ID:mQmAaKpB
Haskellで1年前のコードをデバッグするの本当に地獄。
2017/12/31(日) 10:22:03.98ID:rHg6Qc+M
Lisp系はどうなる
2017/12/31(日) 10:22:23.79ID:rHg6Qc+M
>>506
そうだけどなにか
510デフォルトの名無しさん
垢版 |
2017/12/31(日) 11:09:20.17ID:OUK6bPn9
>>506
優劣の基準によるだろ。
2017/12/31(日) 13:25:14.78ID:G5F8BPZR
いろんな言語の悪口言ってるw

Debunking Myths About Programming Languages (and More)
https://www.youtube.com/watch?v=rZeTdi7en6A
2018/01/01(月) 12:19:03.55ID:bFOlOWpA
>>508
マクロを追ってくのは面倒ではあるが
一つ一つ展開してけばそこまで無理ゲーではない。
しかしhaskellみたいに正格評価でない言語はバイナリイメージが描きにくいし
やっぱり辛いんじゃないかな。
2018/01/01(月) 12:39:18.50ID:/aa2tlFp
Haskellのバイナリはイメージ出来んな
でも出来る必要あるか?
2018/01/01(月) 12:49:38.56ID:UOCN9gps
する必要がない人が使うんだろ。
良いじゃん、バイナリサイズが大きかったり、メモリ消費が多かったり、動作が遅ければ計測すれば。

大きくなるだろうな、メモリたくさん使うだろうな、これじゃ遅いだろうな、なんて気づきは無駄らしい。計測が全てらしいわ。
また半狂乱になって必要性の無さを説くのを眺めるのもめんどくさいし、そういう言語だって理解でいいんじゃねえの?
2018/01/01(月) 12:55:17.85ID:/aa2tlFp
どうせPythonとかでもバイナリイメージ描かんじゃろ?
2018/01/01(月) 13:07:46.20ID:/aa2tlFp
Haskellは動的言語以上にそっちの方向いっとる
そっちの極みやね
2018/01/01(月) 14:34:14.61ID:aCS5pbMF
くすくす
2018/01/01(月) 15:17:11.09ID:2Vcmk2Ln
おまえら、いつも「これはどんなバイナリ」とか考えながらコーディングしてんの?
バカじゃないの?
2018/01/01(月) 15:18:05.17ID:ry7dOet7
俺も数学科出身なんだけど、層の理論ってプログラムと関係ないと思う。
だけど、↓みたいに数学的基礎付けが欲しい人はいるのもわかるが。

Haskellと層
https://qiita.com/makoraru/items/ab891a60d4dfe4bbf649
2018/01/01(月) 16:45:32.23ID:bFOlOWpA
バイナリイメージっつーか
結局デバッグってどの時点かで想定の値と違ってるところを探るってことになるわけで、
その評価のタイミングとか考える必要があるじゃん。
そういう評価のタイミングがわかりにくい言語だとデバッグがきついんだよ。
2018/01/01(月) 18:17:03.86ID:/aa2tlFp
一応、タイミングという概念から解放されるための参照透過性なのでは?
2018/01/01(月) 19:33:22.97ID:bFOlOWpA
解放されたいのはわかるが実際は違うんだから仕方ない。
言語でいくら定義しようが、ノイマンマシーンはそんな風には動かないんだから。
2018/01/01(月) 19:46:21.62ID:/faDXLzU
実行できない仕様記述言語の方が初心者に優しい
バイナリとかメモリとか気にする必要がないことが明確になる

実行できる機能を追加したら言語の評価が下がる
もちろん実質的な価値は上がるが、評価と実質が乖離するのは初心者には難しい
2018/01/01(月) 20:16:05.10ID:yhABuCD4
実際Haskell 使ってて、タイミング気にしないといけない状況って何よ?
2018/01/01(月) 21:49:32.98ID:/aa2tlFp
Haskell最大の謎仕様は「Num」だと思う
2018/01/01(月) 22:38:37.64ID:sFrCkJSv
>>524
メモリが無限にあるならサンクがどれだけ作られても気にならないけど
実際は違うから適当なタイミングでサンクを潰す必要がある
2018/01/01(月) 22:59:07.73ID:yhABuCD4
それもそうか。たしかに妙なところで妙な泥臭さが顔を出すな
528デフォルトの名無しさん
垢版 |
2018/01/02(火) 10:01:13.65ID:EAVq+O5u
>>468
読んでみて面白いと思ったけど、「動作する仕様書」ってのがいまいちイメージ出来ない。
参考になるURLとか知ってる人居ますか?
2018/01/02(火) 11:37:28.22ID:rfQ6c9kP
>>525
同時にそれはオブジェクト指向の謎でもある
実数と整数の間に "is a" 関係は存在しないのか?
2018/01/02(火) 12:30:30.49ID:oC5uWYs9
>>515
動的言語じゃん。
まあそれでもどう解釈されるかとか、これじゃinline展開されんな、とかはJavascriptでも考えるが。

>>518みたいにしない人はしなくても良いようなプログラム書いてるんだろうし、無駄だよ、この議論は。
2018/01/02(火) 14:12:57.96ID:AAYv0JXv
>>528
古いけどこれとか参考にならないかな?

「分析・設計ツールとしてのSmalltalk」
http://web.archive.org/web/20131025032224/http://www.sra.co.jp/public/doc/GSletter/vol.26/smalltalk/smalltalk.pdf
532デフォルトの名無しさん
垢版 |
2018/01/02(火) 22:00:37.83ID:EAVq+O5u
>>531
サンクス、読んでみる。
2018/01/03(水) 00:13:36.77ID:BD5Fg5Uh
本当に必要なのは、コンパイルの通る仕様書じゃないか?
動作する仕様書です!なんて出して、「それで動くんだからいいじゃん、はい保守」
なんて言われた日にゃ地獄の始まりだろ
2018/01/03(水) 00:23:34.96ID:36t783to
Smalltalkerにはソレで十分なんですよ
なんとなく動けばok。エラー?握り潰せば?の世界だから
2018/01/03(水) 00:35:45.41ID:BQWr3hBa
動作はするけどなんだか速度が遅いから最新機種の方がいいじゃん、はい購入
これがマネタイズだ
2018/01/03(水) 07:32:07.83ID:jID8SJMc
>>533
あまりに動的性を追求しすぎててインタープリタ言語と勘違いされがちだけど
Smalltalkも(VMで動くJavaがそうであると言える程度には)コンパイラ言語なので
「動く」以上はコンパイルは「通っている」んだな、一応w

もちろん533が言いたいのはそういうことじゃないことは分かっているんで、マジレスすると
型システムのチェック(のことだよね?)を通すのにコスト(主に人員や時間)をかけられる程度に
急ぎでない(つまり「仕様が固まっている」)のならSORABITOとかで求められる
「必要なら本番投入も可能な動く仕様書」的側面はきっとあまり役には立たないだろうね
2018/01/03(水) 08:02:43.84ID:jID8SJMc
>>533,534
こっちにもマジレスすると、実際そのとおりで
Smalltalkの設計者ら(アラン・ケイだけど)は
ひどいと「地獄」とまで形容されるそれ、つまり本番投入後の要求変更を必要不可避なものとして捉え
天国とまでいかずとも他言語には難しい後からの大胆な仕様変更をも支援できる動的性を
この処理系(環境を含む)に付与することに腐心し、それはある程度奏功している

「ソフトウェア工学」は矛盾語法か? -- アラン・ケイ
http://metatoys.org/oxymoron/oxymoron.html

Smalltalkの底を流れる設計思想 -- ダン・インガルス
http://web.archive.org/web/20041016084842/http:/marimpod.homeip.net/chomswiki/24

TDDの「ひどい仮実装でもとりあえずグリーンにするのを優先し、そこから重複を除去(リファクタリング)」
というとんでもない発想が生まれ得たのもSmalltalkのこの大胆な変更への追随力があったから
2018/01/03(水) 10:49:31.30ID:JTHdffOK
>>533
きみには孫請けSIer根性が染み付いているようだねッ 彡⭐
2018/01/03(水) 13:41:42.24ID:0ljbskXf
Pythonよりすっきり書ける言語がないという事実
2018/01/03(水) 15:29:23.56ID:BD5Fg5Uh
>>539
lamdaが糞
finalがない
privateがない

はい完全究極ロンパリオン・ギガアタックEx
2018/01/03(水) 15:36:20.12ID:0ljbskXf
>>540
そんなゴミクソ仕様の塊よりすっきり書ける言語がないという事実
2018/01/03(水) 16:16:41.94ID:1ORngv96
>>540
×lamda
○lambda

>>540
Y コンビネータをすら記述できない lambda 仕様が特にコンパイル言語にも氾濫しているが、いったい何の役に立つんだ?老害避けのつもりか?
2018/01/03(水) 16:25:14.58ID:BD5Fg5Uh
>>541
おまえのいうすっきりって何だよ
俺はTypeScriptですっきり書けてるが?
2018/01/03(水) 16:44:08.47ID:CJ7nUX51
Zコンビネータじゃ駄目なんか?
2018/01/03(水) 17:44:23.37ID:BD5Fg5Uh
俺なんかXenoExtraUltraGigaJetHyperUltraMiracleSuperコンピータだが文句あるか?
2018/01/03(水) 18:27:49.94ID:1ORngv96
>>545
君の芸風とても好きだ!
>UltraGigaJetHyper**Ultra**
2018/01/03(水) 18:51:02.03ID:ykBugU3C
またTypeScriptか。
いい加減ちょっと落ち着いてほしいな、推しの人は。
言語仕様はごった煮、出来上がるのは微妙に汚いJavaScript。
async awaitをネイティブのasyncじゃなくてトランスパイルした結果なんて変数のライフタイム無茶苦茶長くなるし。
言語としてのTypeScriptはいろんな意味で何でもできて良いと思うけど、今の実装としてのTypeScriptって微妙だと思うんだが。
単に書く時にスッキリかけても、ちょっと違う気がする。
2018/01/03(水) 18:56:17.97ID:Dz+CQN9J
>>547
普通にコンパイルオプションの問題だし。
outputをes2017に指定すればいいよ
2018/01/03(水) 19:05:06.06ID:ykBugU3C
>>548
そうじゃなくて。だからネイティブのじゃなくてトランスパイルさせたらって前提付けたんだけどな。
なんかあそこまでやるなら、JSとの相互運用諦めてもっと汚いコード出せば良いのに、と思ってしまうんよ。
2018/01/03(水) 19:38:05.02ID:Dz+CQN9J
>>549
TypeScriptのトランスパイルコードを直接いじることは無いからなぁ。
なんでそんな状況になったの?
2018/01/03(水) 20:25:39.92ID:ykBugU3C
>>550
弄ることは無いが、あるべき姿になるようにTS側で書き分ける事はあるかな。

くっそ遅い関数がなんで遅いのかを調べにかかった時に、モヤモヤした覚えがある。
genericsとか、型ごとの関数をちゃんと作ってほしいけど、一つだったり。今違うかったらすまん。
その時は、これでJIT結果捨てる事になってる…って気づいて、素直に沢山関数を作った。

コンパイラと言うならもう少しVMの仕様を鑑みても良いと思う。
2018/01/03(水) 20:47:23.87ID:ojwn4PN+
特定のブラウザの現在のバージョンに最適化しろってこと?
お前それ自分がコンパイラ作る立場ならやろうと思うか?
やろうと思うならお前がコード書いてプルリク出してやればいい
確実にリジェクトされるだろうけどな
553デフォルトの名無しさん
垢版 |
2018/01/04(木) 00:44:42.33ID:nu/rOVYa
wasmが普通になったら状況変わるかね?
2018/01/04(木) 01:19:26.61ID:j8WFIzPh
wasmが吐き出すjavascript気になるマンが出てくるに100000000000000ジンバブエドル
2018/01/04(木) 02:20:20.25ID:Gm3YPo14
気にしないでいいって保証が欲しいのはよくわかるよ。
2018/01/04(木) 10:28:15.71ID:eEA4RdWc
確かにTypeScriptは実際に書いてるとめちゃくちゃ次世代感あるが、
それはReactとかReduxとかのメジャーを作ってる奴らが関数型厨だからで、
次世代なのは、言語というよりはライブラリという感じがする。
2018/01/04(木) 11:33:00.27ID:j8WFIzPh
PHP書かされてたときは辺境の島国で首輪に繋がれて石器で木の実取ってる気分になったわ
2018/01/04(木) 11:37:57.37ID:dTmScpvt
>>552
特定のブラウザじゃなくて。そういう発想がセンス無いの。
複数の型で同じ関数を呼ぶとかストールするのはほとんど当たり前と言っても過言じゃなかったりするけど、それを「特定のブラウザの問題でしょ?それよりこんな新しい機能ついたよ」って毎回押し切ってくるのがTypeScript。
AssemblyScriptなんかは好きだけどね。
TS使うプロジェクトにはたまにプルリク送ってるけど、最終的にはTSっぽくないTSのコードになるよ。
2018/01/04(木) 13:22:41.64ID:h9oQFOEG
>>558
そんなもんJITがやるべきことでしょ
2018/01/04(木) 13:34:10.72ID:dTmScpvt
>>559
だから、特定のどうの、ではなくて、概ね大半の処理系でJITに乗るようなコンパイル結果出せって言ってるんだけど?
無理した小奇麗なJSっぽいコード出さなくても良いじゃん、って。
V8だと何バイト以下なら関数はインライン化される、とか細かい癖も確かにあるけど、だからこそ小奇麗で無くていいと思うんだが。
2018/01/04(木) 13:38:00.17ID:dTmScpvt
もしかして、今TypeScriptでジェネリクス使っても、JITは結果破棄しないのかな?
そうならごめん。
2018/01/04(木) 13:55:58.71ID:lDvme0sw
要はTypeScriptの実装が良くないということなんだろうけど、使う側からしたら
パフォーマンスやフットプリントが許容範囲を超えない限りは気にしないかな。
2018/01/04(木) 15:47:07.60ID:dTmScpvt
実装が中途半端、かな。JSに引きずられすぎだと思う。
Cで言うとexternしない関数が関数としての形を保たなくても良いのと同じ様に、exportしてないものを似たようなJSのコードにする必要は(もはや)無いと思うんよね。
許容範囲次第なのは確かだけど。
言語としては新しくて良いと思うが、処理系として微妙ってのはそういう所。
2018/01/04(木) 19:02:23.91ID:h9oQFOEG
>>562
ジェネリックをソースレベルで展開なんかしたらフットプリントが増えて
JavaScriptで一般的に言われるパフォーマンス(つまりロード時間)は落ちるよ
2018/01/04(木) 19:07:31.76ID:a9q0dcb4
おまえらなんかよりずっと賢い連中が作ってるんだから
問題なんかあるわけねえだろ
バカか?オレオレFW作りたがり坊やのペチプァなのか?
2018/01/04(木) 19:52:37.93ID:c10UOky1
>>564
ブラウザだけで動かしたい訳でもないし、起動時のパースのフットプリントをどうこう言うのであれば、今のNodeのnode_modules自体、既に無茶苦茶でしょ。
それも、最初に一発パースするからそうなるんであって、bootstrapとその後に分ければいいんでないの?

>>565
ペチプァ言いたいだけだろうが、ペチプァ連呼して悦に入って問題を理解できないやつにゴタゴタ言われたくはない。
2018/01/04(木) 20:16:17.73ID:nTAtbfT4
ID:dTmScpvt言ってる事そんなにわけわからんくもないのになんでこんな事になってんだ?
2018/01/04(木) 20:29:50.34ID:UC9+Q2Sj
正義を徹底するより中途半端の方がいいと思ってる奴はいっぱいいるから
2018/01/04(木) 20:47:32.62ID:lDvme0sw
>>564
トランスパイラである以上多かれ少なかれそういうオーバーヘッドは避けられるものじゃないと
思うけど、問題はそこでTypeScriptがBabel等と比較して出来が良くないのかどうかだね。
2018/01/04(木) 20:49:37.08ID:h9oQFOEG
過剰な最適化は開発のスピードを落とすしバグも増やすからな
2018/01/04(木) 21:19:25.60ID:SwPhpZjo
いいか、喚くだけなら頭がPoorのペチPoorでもできるんだよ
わかるか?わからんやつはペチプァだけだが
2018/01/04(木) 21:23:18.84ID:typzK5sH
ちょっと笑った
2018/01/04(木) 22:58:20.94ID:ZFKdQPiM
ペチPoorは良いな。俺も使わせてもらおう
2018/01/04(木) 23:59:42.42ID:/Un6+mBC
ペチPoohでもいいぞ
2018/01/05(金) 04:33:36.96ID:Lhuo9IQi
>>571
おまえは気が狂っている。
一刻も早く病院へ行け。
2018/01/05(金) 07:47:15.22ID:QF8nYsKX
>>575
2018/01/05(金) 10:36:04.85ID:OSZVMsU9
>>575
おっ 頭がPoorのペチPoorか?
2018/01/05(金) 12:08:39.39ID:2QFGEILP
ペチPoorはおつむもおちんぎんもPoorでかわいそうね
2018/01/05(金) 12:50:08.59ID:WQychI9E
>>570
そろそろコンパイラと言うなら、最適化フェーズに入って欲しいわ。
ずーっと(確かに欲しいのはわかるが今でなくて良いだろうと言いたくなる)新機能つけ続けてるじゃん、
2018/01/05(金) 13:38:22.06ID:rGChZwpO
>>578
やめたれw
2018/01/05(金) 13:40:21.34ID:9YdInhdK
>>579
そろそろ課金するフェーズだろ
お金を払ったら悪口言っていいし、悪口言われたくないならお金稼ぐのをやめればいい
2018/01/05(金) 14:12:44.72ID:WQychI9E
>>581
課金するフェーズはまあ別に妥当な値段なら買うよ、マジで。課金して良くなるならね。
VSより高いとなるとちょっと考えるけど。
自分でプルリクせえとなっても、suggestionの段階で同じ様なパフォーマンスのためにJSの形変える系の話は、みんな却下されてたはず。
要は皆>>568の様な形で、中途半端で良いと思ってて、どん詰まりはもっと先だろと楽観視してる。

もはや単なるリンタ。
2018/01/05(金) 18:22:04.71ID:rGChZwpO
推測するな 計測せよ
って言葉知らんのか?
2018/01/05(金) 18:43:32.98ID:/3vfwTze
知らん
2018/01/05(金) 18:44:03.04ID:/3vfwTze
考えるな、感じろ。なら知ってる。
2018/01/05(金) 18:47:50.38ID:2QFGEILP
それ知らんのはガイジ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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