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

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2018/04/25(水) 07:02:27.60ID:OmWDt0SE
スレタイ以外の言語もok

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

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

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

でも、ロジックの書き方に制約が強そうで、
それがコードの見通しに寄与するなら良いんだけど、そもそも学習コストがヤバそう。
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/
29デフォルトの名無しさん
垢版 |
2018/04/26(木) 14:50:14.90ID:QG/6kNZy
>>27
Goよりは省メモリなんだけどCと比べるとやっぱりメモリ食うんだよね。(C++と比べても少し多め)
組み込み系だとそこらへんどの程度までなら許容範囲内なのかな?とかが個人的な疑問点。
仮にメモリ的に許容範囲内だったとしても現状では全く流行る気配がない…

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

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

HaskellとかLISPもそういうとこあるけど
2018/04/27(金) 10:53:24.36ID:6bqCxxKP
Rustは知らんがHaskellもLispも割と直観的に書けるが
2018/04/27(金) 11:50:35.46ID:CtLujT77
おれの偏見も含めた個人的意見だが、
Goが気持ちいいって思うタイプは多分Rustは気持ち悪いって思うヤツが多いはず
Rustが気持ちいいって思うタイプは逆にGoが気持ち悪いって思うヤツが多いはず

結局書くことと読むことのどちらに重きを置いているかの違いだと思ってる
2018/04/27(金) 12:11:04.65ID:9+8ML8qz
>>40
いちいちモナドとか継続とかこねくりまわすののどこが直感的なんだよ
研究室に帰って二度と現場に口出すな
2018/04/27(金) 12:18:17.00ID:9+8ML8qz
>>41
抽象化フリークにとっては関数型とかRustとか好きな言語だろうなとは思う
現実に現場で物作ってる人にとっちゃそんなもんはクソの役にも立たん
2018/04/27(金) 12:20:03.45ID:6bqCxxKP
>>42
すまん、不勉強のカスの直観は知らんわw
2018/04/27(金) 12:22:19.18ID:9+8ML8qz
>>44
一生勉強だけしてろ
2018/04/27(金) 12:24:15.92ID:6bqCxxKP
>>45
すまん、勉強した上で物も作っててすまんw本当にすまんw
2018/04/27(金) 12:24:34.09ID:+93nc9U9
>>45
オブジェクト指向が出てきた時のコボラーみたいだな
2018/04/27(金) 12:35:55.27ID:UfKjHLrH
>>46
おお!ついにhaskellでの実際のプロダクト例が聞けるんだな!
是非語ってくれ。是非haskellでないといけない根拠が聞きたい。
使いたいから使ってるんじゃなくて、他の言語が満足に使えないんでもなくて、
haskellでないと問題を解決できないからhaskellなんだという実例が聞きたいわ。
2018/04/27(金) 12:42:59.00ID:6bqCxxKP
>>48
すまん、俺がHaskell をプロダクトに使ってるとは一言も書いてなくてすまん……
実際Haskell なんか使うくらいならLispとかOcamlとか使うよなあ!?
2018/04/27(金) 13:02:40.29ID:KOwTm7Pr
>>47
実際今世の中はオブジェクト指向捨てる方向だろ?Goしかり、Rustしかり
オブジェクト指向は間違いだったじゃないか

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

Cでいう未定義動作避けたいのはわかるが、書き手のフラストレーションためる方向なのが良くない
2018/04/27(金) 13:28:26.58ID:2VB/zMjd
>>57
ほんじゃあどうでもいいわHaskell について書いてた本人以外が俺の文の中の第三者のレスの表現にケチをつけるな
失せな
2018/04/27(金) 13:31:09.80ID:zMk0R3Co
ゲーム制作向きの次世代言語って無いのかな
2018/04/27(金) 13:31:45.97ID:2VB/zMjd
おとなしくC#でUnityでシコシコしてな
63デフォルトの名無しさん
垢版 |
2018/04/27(金) 14:10:16.50ID:ouRrzssA
【マイトLーヤとPS4】 FFとDQの最新作、VR開発は危険、プレーヤーの日常感覚を損なうおそれ
http://rosie.5ch.net/test/read.cgi/liveplus/1524621704/l50
2018/04/27(金) 15:56:18.74ID:zEArYeu7
関数型言語入門を読んだけど、宣言的に書けるというのはそれなりに感動したけどな。

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

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

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

で、そっちは煽るだけじゃなくて、何作ってるの?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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