次世代言語11[Rust Swift TypeScript Dart]
■ このスレッドは過去ログ倉庫に格納されています
スレタイ以外の言語もok
前スレ
次世代言語10[Rust Swift TypeScript Dart]
https://mevius.5ch.net/test/read.cgi/tech/1524607347/ 商用開発的に色んな側面考慮してJava8選択するのは特におかしいとは思わないけど
次世代呼びは流石に無茶やって >>519
おまえさんは違うと思うが、
実際いるんだよ脳死実践投入主張するガキが…… >>520
Java8が次世代じゃないとか言い出すとは思わんかった
Java8以上に新しい言語は次世代通り越して未完成言語って言ってもいいわ >>513
使ってる案件あります?
TypeScriptはES2015+型って考えでとりあえずは使えるから、学習コストは低い。
this問題はアロー関数でも使っとけばいい。 >>502
人材がいないのにどうやって集めろっていうの? >>502
別に新しい技術で人材不足を解消しようって話はしてないよ。
間違った行間読みはやめろ。
純粋に案件を始めるにあたって、
言語を特殊なものにすると、人材が集めづらいだろって話。
TypeScriptというメジャー寄りの言語ですら、専門以外エンジニアになりがちって話。
ちなみにTypeScriptは学習コストは低いほうだ。 サポート切れるのに今からJava8を選ぶって逆に脳死過ぎだわ
The老害にも程がある >>514
現場ワロタ
おまえに必要なのはJavaでもTypeScriptでもない
Excel方眼紙だ! >>524
知るか。派遣でもなんでも雇えば良いだろ?
>>525
> 間違った行間読みはやめろ。
すまんな…でも、あの文脈じゃそういう風に受け取られても仕方ないと思うけど…
> 言語を特殊なものにすると、人材が集めづらいだろって話。
集めづらいよ。だから慎重に検討する必要はあるし、手放しに喜んで良い機能じゃない
ただ時々「慎重に検討する」を曲解して「結局、絶対に採用されない」と
新しい技術そのものを否定しようとするヤツが居るんで
それは違うだろ?将来に備えて勉強しておく必要はあるだろ?
自分が理解できなかったのを正当化するための言い訳だろ?って言いたい
あと、慎重に検討した結果、採用したとして、それでも失敗した場合は
それは経験として受け入れるべきであって失敗として否定するべきではない
ある程度のリスクは受け入れないと、失敗はしなかったとしても成功もしない
どの程度のリスクを許容するかのバランスの問題であって、
全くリスクを受け入れようとしない企業は所詮その程度の企業だってこと >>527
Excelも年々進化してるんだがお前は知らんのか?
バカにしてるやつはその程度か >>533
なんかおかしいか?枯らす期間としては短い方だろ 寿司職人が5、6年修行しているようなものか
半年でできらぁって誰かが言い出したとしてお前らはそいつを倒せるのか? >>534
何がおかしいのかわからないようならこの業界やめた方がいい >>535
倒すだの勝つだの物騒な話してねえから
安定したプログラムを工数圧縮して作るのが目的だから >>518
Java8 のサポート期間いつまでか知ってるかい? 導入したい技術は、きちんと上司に根回しして
承認印を頂くこと 上司がバカな可能性も十分あるからなんとも言えん。
しかし、同じくらいの割合でバカな新人が新しいクソツールをねじ込むこともあるからな。
一般に表面だけ見て判断はできんわ。 五年後からJava8とか地獄のような現場もあったもんだな
現場を知らなかったわ アップデートがあるうちはまだまだ未完成
LTSが終了したところで真の安定板になるのですよ… Java8は流石にネタだと信じたい
ネタとしては面白かったけど やれやれ・・・(肩をすくめ、冗談だろ?と失笑しながら、イケメンを少し崩した変顔でつぶやく僕) 昔クソツールと言ってgradleを拒否した爺さんが弊社にいた
蓋を開けてみると新しいからダメっていうか爺さんがわからないからごねてただけだった
爺さん今はKotlinを猛烈に攻撃してる
こういうのって沢山あるんだろうな サポート終わったものは社内のセキュリティ監査で引っかかるから使えんけどなあ >>550
逆もまた然り。
rails 無理やり使わせてメンテせず逃げたバカを何人も知っとるわ。 ドカタ言語としてはJava SE 1.4くらいがちょうどよかった。あれのLTSがあったらなぁ。 railsはさすがにゴミですわ
ド型にすらなれないゴミ グレードルもクソだと思うけどそもそもjavaがクソなのでツールを責めるのは酷だすな
コトリンは救いようがない滅せよ 言語もそうだがクソなものを勧めてくる奴の特徴は
おそろしくモジュラリティーの低いものばっかり勧めてくるってところだ。 その発言!η変換すると「クソなものはモジュラリティが低い」になるぜ! >>556
やっぱりそうなったか…
場当たり的な甘さがこれほど早く破綻をまねく分野もない gradleがクソはまあわかるがantよりはマシ
爺さんがごねなきゃ最低のクソから並みのクソぐらいには昇格できたかもしれない
新技術拒否爺さんは業務効率化を阻む害悪でしかない >>555
今から rails に取り組もうと思っていたのですが…(?然) 気にすんな。世の中には自分の能力が足りなくて理解できないものをクソだということにして
自分の心を安定させようとするやつが居るってだけのことだから。そういうやつは何千年も
前から居る。ほとんど人間という動物の習性だと思っていい。誰でもそういう状態にハマる
可能性がある。ハマってる最中はそいつは他をクソ呼ばわりするだけで新たな事は何も
学習しなくなるので馬鹿な状態が維持されて発展しない。 >>563
いい加減に板を荒らすのやめろよ
特にここ最近はRubyスレを荒らしまくって何考えてんだ? >>564
歴史に何も学ばないやつに発展はない。
https://anond.hatelabo.jp/20171129214218
565はこの種のバカなことを引き起こしといてトンズラするタイプだな。
だいたいこのタイプは仕様が満たされるものだと過信してるタイプで
機能の堅牢性なんてまともにチェックしてない。 歴史を学習した人間より科学を学習した自動運転の方が安全というのが
シンギュラリティの思想だよな どっちも危険な盲信になりえる
>>564 みたいに一方的なのは危険 「新しいものをバカみたいに導入しようとする奴は危険」ってのはまあその通りなんだが
上の「5年後にJava8を導入おじさん」も同じくらい危険人物な訳で
結局突き詰めてメリデメリをジャッジできる思考力ないだけのバカは開発を地獄にするってのは変わらんよね プロコンという語を覚えると便利だよ>メリデメリ
英語のプレゼンでprosとかconsとか見たことあるでしょ?まあ英語というかラテン語なんだけど。 デメリット、コスト、人月の見積もり
見積もりを妄信するのも危険と言われる >>449
>>>448
>なんと!
>日本語審査会で審議しないといけないな。
言い忘れたがこの混同は英語でもある
というか放射能漏れは leakage of radioactivity の直訳 そもそも次世代言語が次世代なうちは個人の趣味プロぐらいにしか使わんだろ HaskellやElixirを実業務で使ってるところも
実在するわけだよな恐ろしい まあHakellに関してはもう次世代というよりLispと似たようなポジションだということで ところで、また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>.で大丈夫だと思ったんだが…
たぶんまだ、停止性メトリクスとやらが正しく理解できていないんだろうな…
誰か詳しく解説してくれないか? ドワンゴが使ってると公言した言語を使ってる会社はドワンゴレベル
気を付けろwwwww ドワンゴってScala以外にもSwift, Kotlin(スマホアプリ)やReact(Typescript)やRustとかも使ってるからな…
開発事例は聞いたことないけどGoの勉強会とかもやってるし…
その基準だと、このスレでよく話題に挙がる言語はほとんど全てドワンゴレベルだな
ドワンゴレベルじゃない次世代言語はDartくらいか?www ドワンゴには、C++ の標準化委員の江添亮もいるし、Rust, Elixir, HDL もやってる。
クックパッドには、RubyVM を作った、笹田耕一もいる
基本は、Ruby。
Gradle で使うGroovy も、Ruby そっくり。
Elixir もそう。
jQuery のメソッドチェーンも、Ruby っぽい
無料のRails チュートリアルをやれば、すべてのフレームワークがわかる 言語と品質には何の関係もないのを
日々実証し続けているドワンゴさん まだRubyのチュートリアルの話してんの?
Rubyっぽい、って、第一言語がRubyだからそう見えるだけだろ。 ドワンゴってエンジニアだけ見ると技術力高そうなのに
なんで成果が全部ゴミなんだろうな YouTube, AbemaTV は、広告
ニコ生は、有料
Showroom は、寄付
ビジネスモデルが異なるから、
1つのチャネルの視聴者数が1万を超えると、追い出す
乃木坂みたいに、数万人も見ると、追い出す。
広告が無いから、1万人以上が無料で見ると、電気代が払えず、赤字になる >>578
isevn.<n>.とisodd.<n+1>.だと
isevn 3 のメトリックは.<n>. = .<3>.
そこから呼ばれるisodd 2 のメトリックも.<n + 1> = .<3>.
減ってねえ!エラー!ってことじゃね
想像だけで試してないので違ってたらすまん >>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 を使っている(この代用が可能なことはわかるよね)。 >>589
>停止性マトリクスが、大元の関数呼び出しの停止性マトリクスから辞書順で下降していくことから停止性を担保しようというのが停止性マトリクスの意味。
この説明「下降していく」だと本当に再起をどんどん
実行していくみたいで間違ってるか。
とある関数呼び出しの停止性マトリクスよりも、
その関数の定義に表れる全ての再帰的呼び出しの停止性マトリクスのほうが辞書順で小さい、
というべきか。 >>589
>isodd も同様に
>isodd n の停止性マトリクス→<n,1>
>isodd n の定義に出てくる iseven (n) の停止性マトリクス→<n,1> (下降している!OK)
最後の行は
isodd n の定義に出てくる iseven (n) の停止性マトリクス→<n,0> (下降している!OK)
の間違いでした 安全装置のたぐいは損失を防ぐばかりで利益は全然ない
利益がないから理解できない人が続出 >>589
ありがとう
冷静に計算していったら、確かにnとn+1じゃ減ってないからダメで
2*nと2*n+1だときちんと減ってるからOKってところまでは理解できた
でも、一体何を考えて<n,0>と<n,1>のタプル?のメトリクスが出てきたか全然分からない…
> そして<n,0>, <n,1> の代わりに n*2, n*2+1 を使っている(この代用が可能なことはわかるよね)。
すまない。俺はバカなんだ。分からないんで教えて下さい。
自分でも自分がどこまで分かっているのかさえよく分かっていないんだが、
たぶん、停止性メトリクスがきちんと減っているかどうかを計算する方法までは理解できたが、
きちんと減っている停止性メトリクスを導き出す方法が分かってないんだと思う >>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)) >>595
引数のnと、isoddとisevnの2つの関数の区別(+0, +1)を位取り(*2)して足してるだけじゃないかな…… >>581
全部そうだよ
やっぱりJavaやC、Pythonが最終的に一番良いってことだな
新しいものに飛び付いてるとドワンゴになるぞ ドワンゴはc++みたいなもんだな。
とりあえず新言語(新機能)の実験台になってもらえるっていう。 >>599
つまりドワンゴがスレタイ言語は
ほぼ使えないと証明してくれてるってことだな ドワンゴは本当のC++プログラマーも募集してるしな bio100%の戀塚もいるんだよな
いかんせん上がアホだから >>596
辞書順を保ったまま置き換えられるってのが何をしてるのかイマイチよく分からんが
とりあえず、2つの関数で相互再帰なら2n、3つなら3nといった感じ……なのか?
うーん…まだ勉強し始めたばかりだし、やってればそのうち分かるようになるかぁ…
あざっす。 >>604
いやここで堪えて理解しておくべき。
引数から算出できて、再帰で減るものを何か考えてそれを停止性マトリクスとする。
値そのものじゃなく大小関係だけが大事だから、
m が 0 と 1 のどちらかしかなければ
<n, m> の代わりに n*2+m で ok ってこと
例
<5,0> は <4,1> より大 ⇔ 5*2+0 は 4*2+1 より大 ちなみに辞書順というのは停止性メトリクスのタプルについて、
先頭の要素同士を比較、等しければ次の要素同士を比較、また等しければそのまた次の以下略…
という風に比較したときの順序関係 上で散々マトリクスと誤記しているメトリクスはこの場合「(停まるまでの)距離」という意味 >>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に変換できるってところまで…
一番肝心な部分が理解できていない気がする… なんの話か分からないけどこういう奴らが使ってる技術は使いたくない ATSは依存型言語の中でも奇抜な方だと思うよ
Coqとソフトウェアの基礎の方が易しいと思う CoqとAgdaは敬遠してるんだよね…
あの二つはプログラミング言語じゃなくて証明支援器だって聞いてるから…
オレは別にPCに証明問題を解くのを手伝ってもらいたいんじゃなくて、
従来の型システムを発展させた依存型とかを使ったより安全な
プログラミングを行うの方法が知りたいんだよって思って…
けど、学ぶ順番としてはCoqが先のほうが良かったのかな?
でも、Coqだとどうにもモチベーションが…
あと、ついでに線形型も学びたかった……
Rustの所有権・借用・ライフタイムはほぼ理解できてるんでそれほど難しくはないだろうと…
まず、依存型で躓いてるんで線形型までたどり着いていない…
んー……一度に色々やろうとし過ぎか…(´・ω・`) >>608
この場合呼び出しのたびに変化するものが、引数のnと「どちらの関数を呼ぶか」という
2つしかないんだから、呼び出しのたびに減る式を作ろうとしたらこれを組み合わせるしかない
後はパズルだろ 全てのnについて(n, 1)>(n, 0)と2n+1>2nは同値だから当たり前だろ。 わかりにくい記法は自分で自由にわかりやすい記法に変換すればわかる
Cのポインタの記法と同じ
自由に考える方が早い
偉い人にいちいち許可を求めたり質問したりすると時間がかかる >>613
んー…1日置いたらやっと分かったような気がする…
気がしてるだけかもだけどあとは自力でどうにか理解できそう…
まあ、新しい概念を覚えるときはどうしても時間が掛かるものだし、
あとは腑に落ちるまでサンプルコードひたすら写経したりするか…
皆ありがとう
>>610
ATSの依存型は奇抜なの?
他の依存型がある言語も似たようなことやるんじゃないの? 型を静的に解析しつつマクロみたいに評価順序を入れ替えようってのが
そもそも無理があるんだよ。 そもそも型に期待しすぎるのがキモい
型の役目なんてOCamlくらいでちょうどいいのに 型安全のためにDRY原則すら無視してるのあるからな ■ このスレッドは過去ログ倉庫に格納されています