X



次世代言語11[Rust Swift TypeScript Dart]
■ このスレッドは過去ログ倉庫に格納されています
0520デフォルトの名無しさん
垢版 |
2018/06/17(日) 16:33:35.47ID:yCU9+KnB
商用開発的に色んな側面考慮してJava8選択するのは特におかしいとは思わないけど
次世代呼びは流石に無茶やって
0522デフォルトの名無しさん
垢版 |
2018/06/17(日) 16:38:30.24ID:iWNJr2Uz
>>520
Java8が次世代じゃないとか言い出すとは思わんかった

Java8以上に新しい言語は次世代通り越して未完成言語って言ってもいいわ
0523デフォルトの名無しさん
垢版 |
2018/06/17(日) 16:44:30.75ID:8dIO3AYC
>>513
使ってる案件あります?
TypeScriptはES2015+型って考えでとりあえずは使えるから、学習コストは低い。
this問題はアロー関数でも使っとけばいい。
0525デフォルトの名無しさん
垢版 |
2018/06/17(日) 16:50:08.16ID:8dIO3AYC
>>502
別に新しい技術で人材不足を解消しようって話はしてないよ。
間違った行間読みはやめろ。
純粋に案件を始めるにあたって、
言語を特殊なものにすると、人材が集めづらいだろって話。
TypeScriptというメジャー寄りの言語ですら、専門以外エンジニアになりがちって話。
ちなみにTypeScriptは学習コストは低いほうだ。
0526デフォルトの名無しさん
垢版 |
2018/06/17(日) 17:00:54.21ID:TG/aPZPS
サポート切れるのに今からJava8を選ぶって逆に脳死過ぎだわ
The老害にも程がある
0529デフォルトの名無しさん
垢版 |
2018/06/17(日) 17:43:45.20ID:erltHdM+
>>524
知るか。派遣でもなんでも雇えば良いだろ?

>>525
> 間違った行間読みはやめろ。
すまんな…でも、あの文脈じゃそういう風に受け取られても仕方ないと思うけど…

> 言語を特殊なものにすると、人材が集めづらいだろって話。
集めづらいよ。だから慎重に検討する必要はあるし、手放しに喜んで良い機能じゃない

ただ時々「慎重に検討する」を曲解して「結局、絶対に採用されない」と
新しい技術そのものを否定しようとするヤツが居るんで
それは違うだろ?将来に備えて勉強しておく必要はあるだろ?
自分が理解できなかったのを正当化するための言い訳だろ?って言いたい

あと、慎重に検討した結果、採用したとして、それでも失敗した場合は
それは経験として受け入れるべきであって失敗として否定するべきではない
ある程度のリスクは受け入れないと、失敗はしなかったとしても成功もしない
どの程度のリスクを許容するかのバランスの問題であって、
全くリスクを受け入れようとしない企業は所詮その程度の企業だってこと
0535デフォルトの名無しさん
垢版 |
2018/06/17(日) 18:54:54.59ID:a73jVlJK
寿司職人が5、6年修行しているようなものか
半年でできらぁって誰かが言い出したとしてお前らはそいつを倒せるのか?
0538デフォルトの名無しさん
垢版 |
2018/06/17(日) 19:26:09.30ID:iWNJr2Uz
>>535
倒すだの勝つだの物騒な話してねえから
安定したプログラムを工数圧縮して作るのが目的だから
0540デフォルトの名無しさん
垢版 |
2018/06/17(日) 20:25:05.46ID:p2Sm4Lro
たぶ今頃サンに問い合わせてるんだろな
0542デフォルトの名無しさん
垢版 |
2018/06/17(日) 20:43:39.42ID:dJUJdMR3
上司がバカな可能性も十分あるからなんとも言えん。
しかし、同じくらいの割合でバカな新人が新しいクソツールをねじ込むこともあるからな。
一般に表面だけ見て判断はできんわ。
0543デフォルトの名無しさん
垢版 |
2018/06/17(日) 20:50:01.61ID:wbEMQisX
五年後からJava8とか地獄のような現場もあったもんだな
現場を知らなかったわ
0544デフォルトの名無しさん
垢版 |
2018/06/17(日) 20:55:06.44ID:wY+r/3B/
アップデートがあるうちはまだまだ未完成
LTSが終了したところで真の安定板になるのですよ…
0549デフォルトの名無しさん
垢版 |
2018/06/17(日) 22:04:53.41ID:SLSvvYl3
やれやれ・・・(肩をすくめ、冗談だろ?と失笑しながら、イケメンを少し崩した変顔でつぶやく僕)
0550デフォルトの名無しさん
垢版 |
2018/06/17(日) 22:19:46.98ID:IxLGC6rA
昔クソツールと言ってgradleを拒否した爺さんが弊社にいた
蓋を開けてみると新しいからダメっていうか爺さんがわからないからごねてただけだった
爺さん今はKotlinを猛烈に攻撃してる
こういうのって沢山あるんだろうな
0551デフォルトの名無しさん
垢版 |
2018/06/17(日) 22:32:18.24ID:EBuoSE6p
サポート終わったものは社内のセキュリティ監査で引っかかるから使えんけどなあ
0553デフォルトの名無しさん
垢版 |
2018/06/17(日) 22:59:16.75ID:iFYzb9cl
ドカタ言語としてはJava SE 1.4くらいがちょうどよかった。あれのLTSがあったらなぁ。
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くらいでちょうどいいのに
■ このスレッドは過去ログ倉庫に格納されています

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