X



次世代言語11[Rust Swift TypeScript Dart]

■ このスレッドは過去ログ倉庫に格納されています
0556デフォルトの名無しさん
垢版 |
2018/06/17(日) 23:21:54.59ID:p2Sm4Lro
グレードルもクソだと思うけどそもそもjavaがクソなのでツールを責めるのは酷だすな
コトリンは救いようがない滅せよ
0557デフォルトの名無しさん
垢版 |
2018/06/17(日) 23:28:49.24ID:dJUJdMR3
言語もそうだがクソなものを勧めてくる奴の特徴は
おそろしくモジュラリティーの低いものばっかり勧めてくるってところだ。
0562デフォルトの名無しさん
垢版 |
2018/06/18(月) 00:56:40.78ID:5zfP7m4z
gradleがクソはまあわかるがantよりはマシ
爺さんがごねなきゃ最低のクソから並みのクソぐらいには昇格できたかもしれない
新技術拒否爺さんは業務効率化を阻む害悪でしかない
0563 ◆QZaw55cn4c
垢版 |
2018/06/18(月) 01:07:58.13ID:OiAJbwiy
>>555
今から rails に取り組もうと思っていたのですが…(?然)
0564デフォルトの名無しさん
垢版 |
2018/06/18(月) 01:49:33.50ID:2+ok0PtZ
気にすんな。世の中には自分の能力が足りなくて理解できないものをクソだということにして
自分の心を安定させようとするやつが居るってだけのことだから。そういうやつは何千年も
前から居る。ほとんど人間という動物の習性だと思っていい。誰でもそういう状態にハマる
可能性がある。ハマってる最中はそいつは他をクソ呼ばわりするだけで新たな事は何も
学習しなくなるので馬鹿な状態が維持されて発展しない。
0565デフォルトの名無しさん
垢版 |
2018/06/18(月) 07:01:11.25ID:Jei0+sA2
>>563
いい加減に板を荒らすのやめろよ

特にここ最近はRubyスレを荒らしまくって何考えてんだ?
0566デフォルトの名無しさん
垢版 |
2018/06/18(月) 07:13:46.91ID:wJzzPYpc
>>564
歴史に何も学ばないやつに発展はない。
https://anond.hatelabo.jp/20171129214218
565はこの種のバカなことを引き起こしといてトンズラするタイプだな。
だいたいこのタイプは仕様が満たされるものだと過信してるタイプで
機能の堅牢性なんてまともにチェックしてない。
0567デフォルトの名無しさん
垢版 |
2018/06/18(月) 07:25:45.84ID:OPxRI0Cf
歴史を学習した人間より科学を学習した自動運転の方が安全というのが
シンギュラリティの思想だよな
0569デフォルトの名無しさん
垢版 |
2018/06/18(月) 08:19:55.49ID:AHTeguQN
どっちも危険な盲信になりえる
>>564 みたいに一方的なのは危険
0570デフォルトの名無しさん
垢版 |
2018/06/18(月) 10:03:33.26ID:1wi3jEJk
「新しいものをバカみたいに導入しようとする奴は危険」ってのはまあその通りなんだが
上の「5年後にJava8を導入おじさん」も同じくらい危険人物な訳で

結局突き詰めてメリデメリをジャッジできる思考力ないだけのバカは開発を地獄にするってのは変わらんよね
0571デフォルトの名無しさん
垢版 |
2018/06/18(月) 11:21:38.28ID:cgeQ1bE7
プロコンという語を覚えると便利だよ>メリデメリ
英語のプレゼンでprosとかconsとか見たことあるでしょ?まあ英語というかラテン語なんだけど。
0572デフォルトの名無しさん
垢版 |
2018/06/18(月) 11:40:21.90ID:OPxRI0Cf
デメリット、コスト、人月の見積もり
見積もりを妄信するのも危険と言われる
0573デフォルトの名無しさん
垢版 |
2018/06/18(月) 13:11:53.12ID:byOf5Soa
>>449
>>448
>なんと!
>日本語審査会で審議しないといけないな。

言い忘れたがこの混同は英語でもある
というか放射能漏れは leakage of radioactivity の直訳
0574デフォルトの名無しさん
垢版 |
2018/06/18(月) 14:05:58.53ID:7nYEmGe5
そもそも次世代言語が次世代なうちは個人の趣味プロぐらいにしか使わんだろ
0577デフォルトの名無しさん
垢版 |
2018/06/18(月) 14:48:34.03ID:soq2obRK
まあHakellに関してはもう次世代というよりLispと似たようなポジションだということで
0578デフォルトの名無しさん
垢版 |
2018/06/18(月) 15:30:15.87ID:soq2obRK
ところで、またATS2に話を戻すんだけど、
日本語訳もあったしチュートリアルやってみてるんだけど
↓の再帰関数の停止性検査とやらで躓いている
ttp://jats-ug.metasepi.org/doc/ATS2/INT2PROGINATS/x2485.html

特に
fun isevn{n: nat} .<2*n>. (n: int n): bool = if n = 0 then true else isodd (n-1)
and isodd{n: nat} .<2*n+1>. (n: int n): bool = not(isevn(n))
が何故.<2 * n>.と.<2 * n + 1>になるか理解できん…
.<n>.と.<n + 1>.で大丈夫だと思ったんだが…
たぶんまだ、停止性メトリクスとやらが正しく理解できていないんだろうな…
誰か詳しく解説してくれないか?
0580デフォルトの名無しさん
垢版 |
2018/06/18(月) 15:37:03.09ID:/sFO+jYl
ドワンゴが使ってると公言した言語を使ってる会社はドワンゴレベル

気を付けろwwwww
0581デフォルトの名無しさん
垢版 |
2018/06/18(月) 16:10:43.68ID:soq2obRK
ドワンゴってScala以外にもSwift, Kotlin(スマホアプリ)やReact(Typescript)やRustとかも使ってるからな…
開発事例は聞いたことないけどGoの勉強会とかもやってるし…
その基準だと、このスレでよく話題に挙がる言語はほとんど全てドワンゴレベルだな
ドワンゴレベルじゃない次世代言語はDartくらいか?www
0582デフォルトの名無しさん
垢版 |
2018/06/18(月) 16:24:24.97ID:NEyGx0zg
ドワンゴには、C++ の標準化委員の江添亮もいるし、Rust, Elixir, HDL もやってる。
クックパッドには、RubyVM を作った、笹田耕一もいる

基本は、Ruby。
Gradle で使うGroovy も、Ruby そっくり。
Elixir もそう。
jQuery のメソッドチェーンも、Ruby っぽい

無料のRails チュートリアルをやれば、すべてのフレームワークがわかる
0584デフォルトの名無しさん
垢版 |
2018/06/18(月) 16:29:30.09ID:pZ1JIWjn
まだRubyのチュートリアルの話してんの?
Rubyっぽい、って、第一言語がRubyだからそう見えるだけだろ。
0586デフォルトの名無しさん
垢版 |
2018/06/18(月) 17:22:50.97ID:qMNnTEHn
ドワンゴってエンジニアだけ見ると技術力高そうなのに
なんで成果が全部ゴミなんだろうな
0587デフォルトの名無しさん
垢版 |
2018/06/18(月) 17:37:58.73ID:NEyGx0zg
YouTube, AbemaTV は、広告
ニコ生は、有料
Showroom は、寄付

ビジネスモデルが異なるから、
1つのチャネルの視聴者数が1万を超えると、追い出す

乃木坂みたいに、数万人も見ると、追い出す。
広告が無いから、1万人以上が無料で見ると、電気代が払えず、赤字になる
0588デフォルトの名無しさん
垢版 |
2018/06/18(月) 18:02:04.30ID:EvkbZGBx
>>578
isevn.<n>.とisodd.<n+1>.だと
isevn 3 のメトリックは.<n>. = .<3>.
そこから呼ばれるisodd 2 のメトリックも.<n + 1> = .<3>.
減ってねえ!エラー!ってことじゃね
想像だけで試してないので違ってたらすまん
0589デフォルトの名無しさん
垢版 |
2018/06/18(月) 18:04:53.53ID:xdRdwSco
>>578
とある関数呼び出しの定義内に表れる再帰的呼び出しの
停止性マトリクスが、大元の関数呼び出しの停止性マトリクスから辞書順で下降していくことから停止性を担保しようというのが停止性マトリクスの意味。

そして停止性マトリクスの記述に表れる n は issven や isodd の引数そのものだということに注意

iseven、isodd の停止性マトリクスがそれぞれ n、n+1 だと、

iseven n の停止性マトリクス→n
iseven n の定義に出てくる isodd (n-1) の停止性マトリクス→n-1+1=n
減っていないから停止性が担保されない(NG)。

説明にあるように <n, 0> と <n,1> ならば、
iseven n の停止性マトリクス→<n,0>
iseven n の定義に出てくる isodd (n-1) の停止性マトリクス→<n-1,1> (下降している!OK)
isodd も同様に
isodd n の停止性マトリクス→<n,1>
isodd n の定義に出てくる iseven (n) の停止性マトリクス→<n,1> (下降している!OK)

そして<n,0>, <n,1> の代わりに n*2, n*2+1 を使っている(この代用が可能なことはわかるよね)。
0590デフォルトの名無しさん
垢版 |
2018/06/18(月) 18:08:28.85ID:xdRdwSco
>>589
>停止性マトリクスが、大元の関数呼び出しの停止性マトリクスから辞書順で下降していくことから停止性を担保しようというのが停止性マトリクスの意味。

この説明「下降していく」だと本当に再起をどんどん
実行していくみたいで間違ってるか。

とある関数呼び出しの停止性マトリクスよりも、
その関数の定義に表れる全ての再帰的呼び出しの停止性マトリクスのほうが辞書順で小さい、
というべきか。
0591デフォルトの名無しさん
垢版 |
2018/06/18(月) 18:09:50.53ID:xdRdwSco
>>589
>isodd も同様に
>isodd n の停止性マトリクス→<n,1>
>isodd n の定義に出てくる iseven (n) の停止性マトリクス→<n,1> (下降している!OK)

最後の行は
isodd n の定義に出てくる iseven (n) の停止性マトリクス→<n,0> (下降している!OK)

の間違いでした
0594デフォルトの名無しさん
垢版 |
2018/06/18(月) 18:51:32.37ID:OPxRI0Cf
安全装置のたぐいは損失を防ぐばかりで利益は全然ない
利益がないから理解できない人が続出
0595デフォルトの名無しさん
垢版 |
2018/06/18(月) 18:58:41.11ID:soq2obRK
>>589
ありがとう
冷静に計算していったら、確かにnとn+1じゃ減ってないからダメで
2*nと2*n+1だときちんと減ってるからOKってところまでは理解できた
でも、一体何を考えて<n,0>と<n,1>のタプル?のメトリクスが出てきたか全然分からない…

> そして<n,0>, <n,1> の代わりに n*2, n*2+1 を使っている(この代用が可能なことはわかるよね)。
すまない。俺はバカなんだ。分からないんで教えて下さい。

自分でも自分がどこまで分かっているのかさえよく分かっていないんだが、
たぶん、停止性メトリクスがきちんと減っているかどうかを計算する方法までは理解できたが、
きちんと減っている停止性メトリクスを導き出す方法が分かってないんだと思う
0596デフォルトの名無しさん
垢版 |
2018/06/18(月) 19:23:14.64ID:xdRdwSco
>>595
>すまない。俺はバカなんだ。分からないんで教えて下さい。

辞書順を保ったまま <n, 0>, <n,1> をそれぞれ 2*n, 2*n+1 で置き換えられる
3*nとか4nでもいいけど2つしかないから2nで十分



fun f
{n:nat} .<3*n>.
(n: int n) : bool =
if n = 0 then true else g (n-1)
and g
{n:nat} .<3*n+2>.
(n: int n) : bool = not (h (n))
and h
{n:nat} .<3*n+1>.
(n: int n) : bool = not (f (n))
0597デフォルトの名無しさん
垢版 |
2018/06/18(月) 19:24:20.04ID:EvkbZGBx
>>595
引数のnと、isoddとisevnの2つの関数の区別(+0, +1)を位取り(*2)して足してるだけじゃないかな……
0598デフォルトの名無しさん
垢版 |
2018/06/18(月) 19:33:04.83ID:vrc1WpPf
>>581
全部そうだよ

やっぱりJavaやC、Pythonが最終的に一番良いってことだな
新しいものに飛び付いてるとドワンゴになるぞ
0599デフォルトの名無しさん
垢版 |
2018/06/18(月) 19:52:57.33ID:wJzzPYpc
ドワンゴはc++みたいなもんだな。
とりあえず新言語(新機能)の実験台になってもらえるっていう。
0604デフォルトの名無しさん
垢版 |
2018/06/18(月) 21:55:35.52ID:soq2obRK
>>596
辞書順を保ったまま置き換えられるってのが何をしてるのかイマイチよく分からんが
とりあえず、2つの関数で相互再帰なら2n、3つなら3nといった感じ……なのか?
うーん…まだ勉強し始めたばかりだし、やってればそのうち分かるようになるかぁ…
あざっす。
0605デフォルトの名無しさん
垢版 |
2018/06/18(月) 22:18:33.96ID:ejyTxCd5
>>604
いやここで堪えて理解しておくべき。
引数から算出できて、再帰で減るものを何か考えてそれを停止性マトリクスとする。

値そのものじゃなく大小関係だけが大事だから、
m が 0 と 1 のどちらかしかなければ
<n, m> の代わりに n*2+m で ok ってこと


<5,0> は <4,1> より大 ⇔ 5*2+0 は 4*2+1 より大
0606デフォルトの名無しさん
垢版 |
2018/06/18(月) 22:30:23.80ID:ejyTxCd5
ちなみに辞書順というのは停止性メトリクスのタプルについて、

先頭の要素同士を比較、等しければ次の要素同士を比較、また等しければそのまた次の以下略…
という風に比較したときの順序関係
0607デフォルトの名無しさん
垢版 |
2018/06/18(月) 22:47:52.93ID:ejyTxCd5
上で散々マトリクスと誤記しているメトリクスはこの場合「(停まるまでの)距離」という意味
0608デフォルトの名無しさん
垢版 |
2018/06/18(月) 23:09:05.63ID:soq2obRK
>>605
なるほど。(n, 0)と(n, 1)が2nと2n+1に変換できることまでは分かった。ありがたい。
でも、そもそもの話として(n, 0)と(n, 1)っていうのが
一体何を考えて導き出されたのかが分からないんだよ…
チュートリアルに「isevn と isodd に (n, 0) と (n, 1) のメトリクスを与えれば、
これら2つの関数の停止性もまた検査できることは明白です。」って
書いてあるんだけど、俺にとっては全然明白じゃない…
何をどう考えたら(n, 0)と(n, 1)のメトリクスを与えようと思うんだ…?

現状、分かっているのは2nと2n+1ならメトリクスが減っているからOKってところと
(n, 0)と(n, 1)のメトリクスが2nと2n+1に変換できるってところまで…
一番肝心な部分が理解できていない気がする…
0609デフォルトの名無しさん
垢版 |
2018/06/18(月) 23:17:38.17ID:Tp0/3gfg
なんの話か分からないけどこういう奴らが使ってる技術は使いたくない
0610デフォルトの名無しさん
垢版 |
2018/06/19(火) 00:28:07.36ID:2myyjakz
ATSは依存型言語の中でも奇抜な方だと思うよ
Coqとソフトウェアの基礎の方が易しいと思う
0611デフォルトの名無しさん
垢版 |
2018/06/19(火) 01:44:59.48ID:menX4d1R
CoqとAgdaは敬遠してるんだよね…
あの二つはプログラミング言語じゃなくて証明支援器だって聞いてるから…
オレは別にPCに証明問題を解くのを手伝ってもらいたいんじゃなくて、
従来の型システムを発展させた依存型とかを使ったより安全な
プログラミングを行うの方法が知りたいんだよって思って…
けど、学ぶ順番としてはCoqが先のほうが良かったのかな?
でも、Coqだとどうにもモチベーションが…

あと、ついでに線形型も学びたかった……
Rustの所有権・借用・ライフタイムはほぼ理解できてるんでそれほど難しくはないだろうと…
まず、依存型で躓いてるんで線形型までたどり着いていない…
んー……一度に色々やろうとし過ぎか…(´・ω・`)
0613デフォルトの名無しさん
垢版 |
2018/06/19(火) 04:24:16.98ID:thfWBPV2
>>608
この場合呼び出しのたびに変化するものが、引数のnと「どちらの関数を呼ぶか」という
2つしかないんだから、呼び出しのたびに減る式を作ろうとしたらこれを組み合わせるしかない
後はパズルだろ
0614デフォルトの名無しさん
垢版 |
2018/06/19(火) 07:30:15.96ID:3/FXNCrL
全てのnについて(n, 1)>(n, 0)と2n+1>2nは同値だから当たり前だろ。
0615デフォルトの名無しさん
垢版 |
2018/06/19(火) 08:33:24.05ID:vJmt1KGh
わかりにくい記法は自分で自由にわかりやすい記法に変換すればわかる
Cのポインタの記法と同じ
自由に考える方が早い
偉い人にいちいち許可を求めたり質問したりすると時間がかかる
0616デフォルトの名無しさん
垢版 |
2018/06/19(火) 08:33:59.97ID:menX4d1R
>>613
んー…1日置いたらやっと分かったような気がする…
気がしてるだけかもだけどあとは自力でどうにか理解できそう…
まあ、新しい概念を覚えるときはどうしても時間が掛かるものだし、
あとは腑に落ちるまでサンプルコードひたすら写経したりするか…
皆ありがとう

>>610
ATSの依存型は奇抜なの?
他の依存型がある言語も似たようなことやるんじゃないの?
0618デフォルトの名無しさん
垢版 |
2018/06/19(火) 19:52:01.92ID:R39QGoSG
型を静的に解析しつつマクロみたいに評価順序を入れ替えようってのが
そもそも無理があるんだよ。
0619デフォルトの名無しさん
垢版 |
2018/06/19(火) 20:25:55.46ID:b5m1uThb
そもそも型に期待しすぎるのがキモい
型の役目なんてOCamlくらいでちょうどいいのに
0621デフォルトの名無しさん
垢版 |
2018/06/20(水) 01:28:01.72ID:QSlqi/vd
型安全を崩す水準のDRYはかなり悪い印象があるな
共通化すべきでないものまで共通化してるのではと
0624デフォルトの名無しさん
垢版 |
2018/06/20(水) 13:04:18.23ID:pTH4tzak
>>620
ジェネリクスやインターフェース正しく使ってれば
DRY原則無視しなきゃ型安全守れないこととかほぼ無いだろ
どんなコード書いてるんだよ?
0625デフォルトの名無しさん
垢版 |
2018/06/20(水) 21:17:56.02ID:vXpw0FFs
型って建物に例えると水準器だろ
柱がまっすぐ立ってるか見るための補助具

補助具ばっか作って家が建つのか?
0627デフォルトの名無しさん
垢版 |
2018/06/20(水) 21:39:33.95ID:pTH4tzak
そうか、じゃあ動的言語で作ったプログラムって例えるなら水準器なしで建てられた家なのか…
それは欠陥住宅というもので工期が遅れてる建物よりもっと害悪だと思うんだがそれは…
0628デフォルトの名無しさん
垢版 |
2018/06/20(水) 21:55:16.85ID:nu99cs2X
いや単なる犬小屋欲しいだけなのに設計書に一年くらい時間かけるようなもんだ。
0629デフォルトの名無しさん
垢版 |
2018/06/20(水) 22:31:25.72ID:R/RR2gVc
>>628
犬小屋ってどれくらいの規模のものを指してるの?
リソース3つくらいのweb apiサーバとか?
0630デフォルトの名無しさん
垢版 |
2018/06/20(水) 22:35:54.20ID:R/RR2gVc
>>625
それだけじゃないよ。メンテナンスという観点でも必要。
いわば動的言語なら釘で家を建てるけど、
型付きなら、簡単に取り替えられるようにボルトで止まってる。
ちゃんとネジに印がついていて交換ミスも起こりにくい
0631デフォルトの名無しさん
垢版 |
2018/06/20(水) 22:37:33.02ID:6Ldi6ZQ0
例え話をするエンジニアは無能の法則
0642デフォルトの名無しさん
垢版 |
2018/06/21(木) 12:22:25.31ID:f5p4gdbf
rubyは絶対に型を書きたくないから
コメントか外部ファイルに型を書くようにするらしいぞ
0644デフォルトの名無しさん
垢版 |
2018/06/21(木) 13:31:50.47ID:AvdUCmrX
俺はアプリ屋だからコアの部分は Windows、
Android、iOS、MacOS のどれでも使える c++
UI 側を書く各言語から呼び出して使う
0646デフォルトの名無しさん
垢版 |
2018/06/21(木) 13:52:08.71ID:/kaFS0dg
C/C++の型はアドレスやサイズの計算に使う
低級言語だから型が役に立つ
高級言語がC++の真似をする必要はないんだよ
型を書かない高級言語はたくさんある
0647デフォルトの名無しさん
垢版 |
2018/06/21(木) 13:55:42.09ID:Ij19PzUL
コードに型を書かないと後で分からなくなるから結局コメントで型を書くことになるゴミ
0648デフォルトの名無しさん
垢版 |
2018/06/21(木) 13:58:07.14ID:D8gwnbh9
メソッド名とか使われ方とかコメントとかプログラマのクセとかからAIが型推論してくれるんだろう
0650デフォルトの名無しさん
垢版 |
2018/06/21(木) 14:11:21.05ID:0x6Lg0t3
AIを使ったエラー検出は今後のトレンドになるだろうね
技術進歩に伴って緩やかに型は不要になっていくだろう
IntelliCodeの発展形としてMSがやりそう
0652デフォルトの名無しさん
垢版 |
2018/06/21(木) 14:34:54.31ID:/kaFS0dg
AIの得意分野はどっちかが必ず勝つ対戦ゲームというブルーオーシャン
レッドオーシャンに飛び込んでも勝てると思うのは確率的に間違ってる
0653デフォルトの名無しさん
垢版 |
2018/06/21(木) 14:46:28.87ID:S4IxNo+1
>>646
とあるオブジェクトを扱うアルゴリズムが要求するのは型じゃなく
整数っぽいものを返すsize() メソッドは実装していること、
とかそういう制約だよな
0654デフォルトの名無しさん
垢版 |
2018/06/21(木) 20:54:11.38ID:bp0U88xF
>>642
python2の型ヒントみたいなやり方するってことかな。まあ実行時には必要ない情報だから
それもリーズナブルな解だと思うけどね。使えるものを早く出してくれさえすれば。
0655デフォルトの名無しさん
垢版 |
2018/06/21(木) 21:51:19.80ID:6ripmtAT
型推論とかAIで検出とかバカほど無駄なことに計算資源使おうとするのな。
そんなカスみたいな機能に資源使うくらいならコンパイル速度上げた方がよっぽどマシ。
■ このスレッドは過去ログ倉庫に格納されています

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