スレタイ以外の言語もok
前スレ
次世代言語Part8[Haskell Rust Kotlin TypeScript]
http://mevius.5ch.net/test/read.cgi/tech/1512137301/
探検
次世代言語9[Haskell Rust Kotlin TypeScript Dart]
■ このスレッドは過去ログ倉庫に格納されています
2018/03/06(火) 10:09:15.60ID:x/Au45rc
2デフォルトの名無しさん
2018/03/06(火) 10:30:06.56ID:nMdAiw1E Dartきてんね
2018/03/06(火) 11:03:49.49ID:05hne0v2
DartとDlangの違いを教えてください
2018/03/06(火) 11:43:03.15ID:DTiE8Uxw
Googleは言語選択保守的すぎるだろ
関数型言語採用しないどころかGolang作っちゃう時点で
関数型言語採用しないどころかGolang作っちゃう時点で
2018/03/06(火) 12:27:31.20ID:KV/wZ8PJ
Goと関数型は土俵が違わん?
2018/03/06(火) 14:53:26.90ID:+D30KD0L
関数型とは具体的に何のことやら
Rustが採用したenumとtraitは関数型か?
Rustが採用したenumとtraitは関数型か?
2018/03/06(火) 20:42:26.57ID:MoZw2NXu
>>4
別にそんなとこで冒険しても生産性上がらんよねって感覚なんだろ。
別にそんなとこで冒険しても生産性上がらんよねって感覚なんだろ。
8デフォルトの名無しさん
2018/03/06(火) 20:42:29.39ID:cU7JZ0/j >>6
enum・traitと関数型は関係ないだろ?どちらもHaskellの型システムをパクって来たってだけ
関数型言語の特徴として真っ先に思いつくのは関数を第一級オブジェクトとして扱えるか否かというところだろうな
ただその考え方だけだとC言語でさえ関数ポインタがあるから関数型言語に含まれてしまうことになる
そこからさらに副作用を出来る限り避ける文化があるか否かとかも判断基準になるのかな?
言語の文化とかふんわりした表現は具体性を伴わないから説得力に欠けるんだよな
改めて関数型を具体的に説明しろと言われると難しいな…
enum・traitと関数型は関係ないだろ?どちらもHaskellの型システムをパクって来たってだけ
関数型言語の特徴として真っ先に思いつくのは関数を第一級オブジェクトとして扱えるか否かというところだろうな
ただその考え方だけだとC言語でさえ関数ポインタがあるから関数型言語に含まれてしまうことになる
そこからさらに副作用を出来る限り避ける文化があるか否かとかも判断基準になるのかな?
言語の文化とかふんわりした表現は具体性を伴わないから説得力に欠けるんだよな
改めて関数型を具体的に説明しろと言われると難しいな…
2018/03/06(火) 20:57:45.92ID:xvhpcg6j
>>8
関数ポインタは確かにC/C++系独自だけれども(Javaにはなかった)第一級オブジェクトではない、とおもうよ
関数ポインタは確かにC/C++系独自だけれども(Javaにはなかった)第一級オブジェクトではない、とおもうよ
2018/03/06(火) 21:32:52.86ID:MoZw2NXu
もう少しだけ動的に関数定義を変えて返したりできるのが関数型ぽい。
2018/03/06(火) 21:34:37.20ID:qto5wiY+
Cの関数は実行時に生成挟めないから第一級オブジェクトではないよ
2018/03/06(火) 21:40:19.40ID:MoZw2NXu
c++ならクラスのメンバに情報持たせて、メソッド使うことでクロージャぽいものはできるけど。
2018/03/06(火) 21:45:38.71ID:DG7WbBnA
λ理論を念頭に置いて実装されたかどうかやぞ
2018/03/06(火) 22:00:19.48ID:qto5wiY+
c++なら素直にラムダ式使おうよ…
2018/03/06(火) 22:19:34.09ID:xvhpcg6j
C++ のラムダ式でYコンビネータを記述できるのですか?
できないのならラムダ式などと呼称していいのでしょうか?
できないのならラムダ式などと呼称していいのでしょうか?
2018/03/06(火) 22:36:28.04ID:qto5wiY+
2018/03/06(火) 22:44:51.87ID:DG7WbBnA
>>16
正論すぎて草
正論すぎて草
2018/03/07(水) 00:36:57.39ID:EDSn5kWw
2018/03/07(水) 00:55:59.65ID:487L5ZU0
>>18
保守的にするという意味で攻めてる言語だな
保守的にするという意味で攻めてる言語だな
2018/03/07(水) 00:59:12.93ID:JwI5qwvI
諦めと開き直りを全面に押し出してくる言語だな、確かに。
2018/03/07(水) 01:21:30.28ID:EDSn5kWw
goの攻めてるところ。
ライブラリのimportにuriを指定してできるようにしてgithubから直接importできるようにした。
例外を辞めた。
公開、非公開をメンバ名が大文字始まりかどうかで決めるように。
クラスをやめて、構造体だけにした。
インターフェース実装は該当メソッドの有無で決定
といった具合に他の言語の当たり前の部分を壊した。全然保守的とは思えないが。
ライブラリのimportにuriを指定してできるようにしてgithubから直接importできるようにした。
例外を辞めた。
公開、非公開をメンバ名が大文字始まりかどうかで決めるように。
クラスをやめて、構造体だけにした。
インターフェース実装は該当メソッドの有無で決定
といった具合に他の言語の当たり前の部分を壊した。全然保守的とは思えないが。
2018/03/07(水) 01:26:49.68ID:EDSn5kWw
後は未使用ライブラリのimportをコンパイルエラーにするというのも、他の言語であんまり見ない気がする。
これは、積み重なるとコンパイル時間に影響するから、言語設計にコンパイル時間の考慮を重きにおいている証拠の一つと言える
これは、積み重なるとコンパイル時間に影響するから、言語設計にコンパイル時間の考慮を重きにおいている証拠の一つと言える
2018/03/07(水) 01:27:38.81ID:487L5ZU0
>>21
例外とか構造体はC時代に逆戻りしてるだけだし、静的ダックタイピングは他の言語にもあるし、githubのurl指定は結局色々な問題起きてるし(この間のgo-bindata騒動とか)、公開/非公開の大文字小文字も気軽に変えられなくて不便だし何のメリットがあるんだ?
例外とか構造体はC時代に逆戻りしてるだけだし、静的ダックタイピングは他の言語にもあるし、githubのurl指定は結局色々な問題起きてるし(この間のgo-bindata騒動とか)、公開/非公開の大文字小文字も気軽に変えられなくて不便だし何のメリットがあるんだ?
2018/03/07(水) 01:28:30.13ID:487L5ZU0
2018/03/07(水) 01:41:57.73ID:EDSn5kWw
>>23
むしろ、今まで当たり前にあった言語仕様を振り返って本当に必要かどうかを再検討して
削りに削った仕様だと思うけどな。
c++とか触ってたとき、クラスと、構造体って、本当に両方必要か?どっちか要らないだろって思ってたりしたから、
すごくしっくりきた。
むしろ、今まで当たり前にあった言語仕様を振り返って本当に必要かどうかを再検討して
削りに削った仕様だと思うけどな。
c++とか触ってたとき、クラスと、構造体って、本当に両方必要か?どっちか要らないだろって思ってたりしたから、
すごくしっくりきた。
2018/03/07(水) 01:51:00.36ID:EDSn5kWw
2018/03/07(水) 01:54:34.87ID:487L5ZU0
>>25
構造体とクラスに関しては個人的に同意
ただ型パラメーターとか例外がないのはありえない
エラー処理は長すぎる。if分岐でチェックとかいつの時代だよ
型パラメーターないせいでDRY原則を破るか型安全を破るかしないといけない
構造体とクラスに関しては個人的に同意
ただ型パラメーターとか例外がないのはありえない
エラー処理は長すぎる。if分岐でチェックとかいつの時代だよ
型パラメーターないせいでDRY原則を破るか型安全を破るかしないといけない
2018/03/07(水) 01:56:06.25ID:EDSn5kWw
>>23
go-bindata騒動はgo固有の問題でもない。nodeだって似たようなことあっただろ。
go-bindata騒動はgo固有の問題でもない。nodeだって似たようなことあっただろ。
2018/03/07(水) 02:03:48.32ID:EDSn5kWw
>>27
例外いるかな?
tryで包まなきゃいけないメソッドや、関数ってドキュメント読むか、実際に実行するまでわかんなくないか?
言語によっては例外が飛ぶ可能性がある関数かどうかわかるんだっけ?
jsはわかんないから不便。
例外いるかな?
tryで包まなきゃいけないメソッドや、関数ってドキュメント読むか、実際に実行するまでわかんなくないか?
言語によっては例外が飛ぶ可能性がある関数かどうかわかるんだっけ?
jsはわかんないから不便。
2018/03/07(水) 02:08:04.97ID:EDSn5kWw
2018/03/07(水) 02:19:43.98ID:487L5ZU0
2018/03/07(水) 03:07:39.19ID:EDSn5kWw
>>31
コード生成はプリプロセスとしてコンパイルの度に毎回動かすわけじゃない。stringerとか使ったことない?
inportに関しては、
nodeがnpmの仕様を変えたら解決するならgoもそうすればいいのでは?
現状でも、vendor/もコミット対象にしてしまえば、依存ライブラリを管理対象にできるから
サードパーティライブラリに頼る以上はライブラリ作者の影響をどの言語だって受ける。
コード生成はプリプロセスとしてコンパイルの度に毎回動かすわけじゃない。stringerとか使ったことない?
inportに関しては、
nodeがnpmの仕様を変えたら解決するならgoもそうすればいいのでは?
現状でも、vendor/もコミット対象にしてしまえば、依存ライブラリを管理対象にできるから
サードパーティライブラリに頼る以上はライブラリ作者の影響をどの言語だって受ける。
2018/03/07(水) 03:12:09.66ID:rBtvNRXK
Yコンビネータ forall a. (a -> a) -> a のように
forallがつく関数は第一級オブジェクトにならないのが普通だ
総称型がある比較的新しい言語はもう第一級オブジェクトにこだわらない
forallがつく関数は第一級オブジェクトにならないのが普通だ
総称型がある比較的新しい言語はもう第一級オブジェクトにこだわらない
2018/03/07(水) 04:31:47.78ID:Fw456RXb
maybe/eitherが無い言語はあまり触りたくないな
35デフォルトの名無しさん
2018/03/07(水) 07:45:36.47ID:zWLX9kTq goってなんだかよく使われてる以外の理由で使う理由がないよ
同じことするならrustのがいいわ
同じことするならrustのがいいわ
2018/03/07(水) 08:21:04.51ID:JwI5qwvI
Goはマイクロスレッド得意なのはありがたいな。
あとチャンネルと。
そして静的リンクがデフォ。
これだけで、Go使う価値あると思ってる。
あとチャンネルと。
そして静的リンクがデフォ。
これだけで、Go使う価値あると思ってる。
2018/03/07(水) 09:16:51.01ID:L0uTy1l9
>>35
WEBサーバ: go,php,ruby,java,Elixir
IOSアプリ:swift,dart
Androidアプリ:java,kotlin,dart
WEBクライアント:JavaScript,elm,TypeScript
cliツール:go
どこにrustが入る?
WEBサーバ: go,php,ruby,java,Elixir
IOSアプリ:swift,dart
Androidアプリ:java,kotlin,dart
WEBクライアント:JavaScript,elm,TypeScript
cliツール:go
どこにrustが入る?
2018/03/07(水) 09:50:59.47ID:vL0QsqKL
Rustは生ポインタが使えるし、C ffiが比較的容易に可能、そのうえwebassemblyにまで対応してる
>>37以外にも組み込み、OS、ドライバ、デスクトップアプリ等どこにでも入ろうと思えば入れる
C++の後継を目指してるだけあってかなり万能な言語ではあるんだが
問題は普及するかどうか…
>>37以外にも組み込み、OS、ドライバ、デスクトップアプリ等どこにでも入ろうと思えば入れる
C++の後継を目指してるだけあってかなり万能な言語ではあるんだが
問題は普及するかどうか…
2018/03/07(水) 10:25:38.57ID:487L5ZU0
2018/03/07(水) 10:51:52.29ID:JwI5qwvI
>>39
githubが便利だからgithub使ってるけど、別にgithub以外でも公開出来るし、依存してると言うより多くの人間がgithub使ってるだけでは?
githubが便利だからgithub使ってるけど、別にgithub以外でも公開出来るし、依存してると言うより多くの人間がgithub使ってるだけでは?
41デフォルトの名無しさん
2018/03/07(水) 13:02:44.71ID:s6OLNjGp プログラマの労力よりコンパイル速度を優先してるのが謎
2018/03/07(水) 13:09:33.87ID:4hpZk16v
コンパイル速度が短いとデバッグしやすいからじゃね?
2018/03/07(水) 13:13:30.69ID:4hpZk16v
cliツールgoってマジ?
2018/03/07(水) 13:14:29.36ID:upKMxxIv
2018/03/07(水) 13:19:03.34ID:lIV1PIoV
Googleが採用しなかったDartよりはMozillaが採用したRustの方が将来性はあると思う
46デフォルトの名無しさん
2018/03/07(水) 13:45:40.70ID:MMWrPDHz2018/03/07(水) 13:53:35.83ID:L0uTy1l9
>>41-42
その辺の話は
https://talks.golang.org/2012/splash.article
に書いているけど、
Google社内の巨大なソースのコンパイル時間が45分とかかかるようになっちゃって
なんとかしないとという流れで始まったって書いてる。
つまりGoogle以外で恩恵を得る可能性は低いな。
その辺の話は
https://talks.golang.org/2012/splash.article
に書いているけど、
Google社内の巨大なソースのコンパイル時間が45分とかかかるようになっちゃって
なんとかしないとという流れで始まったって書いてる。
つまりGoogle以外で恩恵を得る可能性は低いな。
48デフォルトの名無しさん
2018/03/07(水) 14:07:05.01ID:vL0QsqKL >>46
一応マジメに返しておくと現状webクライアントはrustだけじゃダメだよ
現状ではまだwebassemblyでDOM操作はできないし他にも出来ないことは沢山ある
webクライアントにはRust+JSの組み合わせが必須になる
ただし、Rustのマクロ使ってRustの中にJS書いてビルド時にwasmとJSを両方吐きだして
無理やりRust onlyを実現してるstdwebとかいう先進的?なフレームワークも存在する
あのクレート発見したときは「こいつ天才かよ?」って思った
一応マジメに返しておくと現状webクライアントはrustだけじゃダメだよ
現状ではまだwebassemblyでDOM操作はできないし他にも出来ないことは沢山ある
webクライアントにはRust+JSの組み合わせが必須になる
ただし、Rustのマクロ使ってRustの中にJS書いてビルド時にwasmとJSを両方吐きだして
無理やりRust onlyを実現してるstdwebとかいう先進的?なフレームワークも存在する
あのクレート発見したときは「こいつ天才かよ?」って思った
2018/03/07(水) 14:22:34.19ID:L0uTy1l9
Rustは気になるけど、さわるモチベーションとなるキッカケがないんだよな。
FirefoxベースのElectronとかでて直接レンダリング部分をrustでいじるようなライブラリがでたら考えるかな
FirefoxベースのElectronとかでて直接レンダリング部分をrustでいじるようなライブラリがでたら考えるかな
2018/03/07(水) 14:54:16.32ID:2wkQZK0N
人気が下降しプログラマの求人も少ないプログラミング言語ワースト10は? 一方で仕事の多い言語は? CodementorXとCoding Dojoの調査結果
http://www.publickey1.jp/blog/18/5_codementorxcoding_dojo.html
http://www.publickey1.jp/blog/18/5_codementorxcoding_dojo.html
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】日本産牛肉の対中国輸出再開協議が中止 [おっさん友の会★]
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… ★2 [BFU★]
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… ★3 [BFU★]
- 毛寧(もう・ねい)報道官「中国に日本の水産品の市場は無い」 高市首相の国会答弁に「中国民衆の強い怒り」 [ぐれ★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★4 [ぐれ★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★3 [ぐれ★]
- 【実況】博衣こよりのえちえち雑談🧪★2
- 高市早苗って戦後最悪の総理大臣なのでは🤔? [929293504]
- 【悲報】自民党「聞いてないよー」 [616817505]
- 【実況】博衣こよりのえちえち雑談🧪
- 【高市速報】トヨタ社長、MAGA帽子をかぶって登場し世界を震撼させる [462275543]
- 竹田天皇「ホタテ輸入禁止されても中国以外誰も困らない。中国以外に売ればいいんだから」高市 [931948549]
