次世代言語Part8[Haskell Rust Kotlin TypeScript]

■ このスレッドは過去ログ倉庫に格納されています
2017/12/01(金) 23:08:21.45ID:FxdZTiuZ
スレタイ以外の言語もok

前スレ
次世代言語Part7[Go Rust Swift Kotlin TypeScript]
http://mevius.5ch.net/test/read.cgi/tech/1508403098/
2017/12/06(水) 08:37:01.32ID:omJYBD6x
>>143
名前に入ってようがなんだろうが OCaml で 殆ど誰もOO しないのは端的な事実
2017/12/06(水) 08:38:30.89ID:KSpOhWT+
OCamlだからこそでしょ
2017/12/06(水) 08:43:46.19ID:omJYBD6x
OCaml ではまず OO なんかしない件についての説明

http://d.hatena.ne.jp/camlspotter/20080906/1220723583
http://d.hatena.ne.jp/camlspotter/20131028/1382960006
2017/12/06(水) 08:58:33.91ID:LlbO+WJR
正確にはocamlに文法として用意されたclass/objectを誰も使わないという話で、代わりにモジュールを使って抽象型も多態もするわけでそれはそれでOOの一種だとは思うな
2017/12/06(水) 09:03:36.38ID:mFUG6oMG
関数型言語をやたら持ち上げてるけど
OSを関数型言語で書いてみてよ。それでバグか少なかったら関数型言語の優位性を認めるよ。
2017/12/06(水) 09:06:07.69ID:omJYBD6x
>>147
>代わりにモジュールを使って抽象型も多態もするわけでそれはそれでOOの一種だとは思うな

ぜんぜん違うから
だがそこから説明すんの面倒くさいのでもういい
2017/12/06(水) 09:09:24.32ID:omJYBD6x
>>148
>OSを関数型言語で書いてみてよ。それでバグか少なかったら関数型言語の優位性を認めるよ。

高水準言語でOS書けって頭悪すぎないか
Rustを関数型と認めるゆるい基準なら Redox がある
2017/12/06(水) 09:22:35.91ID:mhTOyNgr
>>146
言語の糞さと、周りの人間が糞だからってことばかりで、全然説明になってないな
2017/12/06(水) 09:45:25.42ID:enrVe2xz
>>137
>マウント取るためだけの批判の連鎖
これなくすだけでよくなるプロジェクトって世の中に大量にありそう。
2017/12/06(水) 09:59:23.03ID:26uEwiQD
>>149
俺も書いてからしまった面倒くさくなる話やと思った
やめとこう
2017/12/06(水) 11:07:54.33ID:YJV2uZev
オブジェクト指向ってそんなにだめかな?
そのオブジェクトに対する操作をそのオブジェクトに持たせるってわかりやすくていいけど。

immutable.jsのレコードみたく、
メソッドは新しいインスタンスを返す関数と強制すれば関数型とも共生できると思うんだけど。
2017/12/06(水) 11:16:45.83ID:enrVe2xz
別に悪いってことはないだろ。
結局、状態や依存をどう管理するかって話なわけで、極論言い始める奴の
いうことなんて話 2 割くらいにきいてりゃいいと思うけど。
2017/12/06(水) 12:05:10.45ID:MKeQWAFs
JavaScriptのようにハッシュテーブルとラムダを使う言語は関数型と共生できる
じゃあハッシュテーブルを使わない言語はなんで使わないのか?
その答えは、関数型とオブジェクト指向の対立とは全然関係ないところにある
157デフォルトの名無しさん
垢版 |
2017/12/06(水) 21:34:09.17ID:iLCXc0pa
DOMをデータと関数に分離してくれ
2017/12/06(水) 22:04:59.32ID:FKF62WXq
まずデータをどれだけ圧縮できるか考えるといい
次に圧縮されたデータを展開する関数を作る
2017/12/06(水) 23:57:54.56ID:omJYBD6x
>>151
>言語の糞さと、周りの人間が糞だからってことばかりで、全然説明になってないな

はははははははwwww
ま、がんばれw
160デフォルトの名無しさん
垢版 |
2017/12/07(木) 00:47:57.07ID:Z/mKUUkc
>>139
SML#でもいいですか?
2017/12/07(木) 01:34:26.91ID:F4+mjT1z
自分PHPいいっすか?
2017/12/07(木) 09:58:12.13ID:hv/QEVwp
語りたいことがあるんならいいんじゃない?
2017/12/07(木) 10:03:56.61ID:xdMp5osr
typescript使っててasync awaitが便利なんだけど煩わしい。

mapとか関数呼び出しを伴う操作で非同期処理に戻るのが、
たまにミスって放置しがち。
lintツールで指摘するなり監視する機能が欲しい。
先行してるC#とかはうまくやってるの?
2017/12/07(木) 11:18:40.20ID:9qRtkK/n
ミスを指摘するしか能がない批評家に存在価値はあるのだろうか
2017/12/07(木) 11:39:07.45ID:v/1e0blE
>>164
ミスを作り出す無能に価値はあるのだろうか
2017/12/07(木) 12:08:44.81ID:hv/QEVwp
何がミスなのかもわからず客が文句言ってるからで判断するバカ営業よりは価値がある。
2017/12/07(木) 22:26:33.23ID:4FM+mzbe
This Woman Created a Programming Language with Privacy Baked In
https://www.youtube.com/watch?v=Q6NiqRqGePU
2017/12/09(土) 02:52:58.92ID:Fh8F1Mjo
Haskellの型クラスって凄く良い機能だと思うんだけど、地味に数学感足りないよな
NumってなんだよNumって。もうちょっと分解しろよって感じだ
Numeric preludeあんまり使われてないみたいだし
2017/12/09(土) 11:23:01.73ID:/ZpR40F0
HaskellはStrictData拡張とStrict拡張が入った事で
実用的な次世代言語になる可能性が出てきた
2017/12/09(土) 23:10:56.50ID:OmTdA8EX
正格も遅延も使える言語と化したHaskell先輩
2017/12/10(日) 02:42:38.28ID:a6n4XEL6
型なし能なしのゴミ屑言語の何がいいんだろうな
ペチパーは論外、ルビーもガイジだわ
2017/12/10(日) 04:06:55.10ID:Cg9x5qL1
動的型付けというだけで別に型がないわけではないので注意
2017/12/10(日) 05:03:18.54ID:cDa6l0J8
>>168
あれはSmalltalkってゴミ言語がヒントになった機能だからね
なぜ最初から高階多相にしなかったんだろう
2017/12/10(日) 05:14:36.81ID:7QrhdqaC
ハスケルは実用性重視で機能を絞ってるからな。
2017/12/10(日) 05:53:37.29ID:g4Avn4JH
自己書き換えもできないハスケルはプログラム言語と呼ぶに値しない
純粋関数型プログラム言語(自称)ハスケルw
2017/12/10(日) 05:56:33.48ID:of8IRKO8
Haskellは+や-といった演算子がNumに取られてるせいで
オーバーロード的なことが非常にやりにくいのが不便
<+>みたいな演算子は独自定義できるがなんかダサい
2017/12/10(日) 10:16:20.55ID:a6n4XEL6
>>172
そういう詭弁はいらないから
2017/12/10(日) 10:28:42.10ID:dcXB++ys
>>177
ガイジ
2017/12/10(日) 10:35:00.41ID:IzGEuZzn
詭弁でもなんでもないだろ
静的言語の型こそまやかしだと思うが。
特にそれがただの「コンパイラだけが知っているメモリへの格納方法」である言語は、動的言語の型よりも型がないと言えると思うけど?
2017/12/10(日) 11:12:55.67ID:mFrbF+Wk
はいはいペチパーはPHPスレから出てくんなクソが
君の大好きな肥溜めPHPみたいな動的型付け言語に型はねーから
2017/12/10(日) 11:14:50.34ID:a6n4XEL6
ほらな
型なし能なし詭弁あり(藁)
2017/12/10(日) 11:33:37.68ID:ATSfYuOI
まあいくら静的型でも本物のコンパイラはこんな性格悪くないから気にするな
ここにいるやつはコンパイラの守護霊だ
2017/12/10(日) 12:16:37.53ID:OZ32lk+t
動的でも静的でも最近は型は強くする方向にはあるかもね。
c とか perl に比べれば java でも python でも十分型を強くしてる印象。
2017/12/10(日) 12:39:27.35ID:1f8aW6Mh
真に型がない言語とはfortran77みたいな言語のことだと思う
2017/12/10(日) 13:03:02.46ID:IzGEuZzn
PHPだとは言ってないのにな。
そもそもPHPと口に出すのこいつぐらいじゃね?
2017/12/10(日) 13:04:01.49ID:IzGEuZzn
>>184
あるいはlispか。
2017/12/10(日) 13:44:56.60ID:H+wQ5ZRg
>>173
Smalltalkは自身がゴミ言語であるだけでなく
後世の言語にも負の影響を与えてるので
本当に害悪だな
2017/12/10(日) 13:58:51.02ID:a6n4XEL6
>>185
はいはい
サボってないで早く保守作業に戻ってくださいね(藁)
2017/12/10(日) 14:14:10.45ID:ATSfYuOI
型情報に限らず情報ってのは冗長な部分が省略される
省略したからといって必ずしも情報が失われるわけじゃない
2017/12/10(日) 14:59:04.47ID:harEA0jS
逆に考えよう。「型がある言語」とは何だろうか
2017/12/10(日) 15:25:19.15ID:Hk+Muhn7
皮肉も理解できないペェチピィコンパイラ並の低脳ガガイノガイがおりゅってマ?w
2017/12/10(日) 15:49:43.53ID:cU10YPQo
市民、PHPコンパイラとはなんですか?
2017/12/10(日) 15:51:27.08ID:ATSfYuOI
>>190
型情報があるだけでなく情報を取得するアルゴリズムがある言語
アルゴリズムがあればモンティホール問題みたいに計算を間違えるやつが続出しない
2017/12/10(日) 16:07:22.03ID:1f8aW6Mh
>>186
多重ディスパッチ出来る言語が型なしってことはないだろ
2017/12/10(日) 16:49:06.60ID:g4Avn4JH
>>180
君が型理論を知らないことはよくわかった
ばーかw
2017/12/10(日) 17:16:26.74ID:cU10YPQo
>>195
ぺちぱーがwwwwww
型理論をwwwwwww語るwwwwwwww
今年一番笑ったわwwwwwwwwwwwww
2017/12/10(日) 18:08:14.35ID:7rwMCdFh
PHPをけなしてるだけのやつって、ほかの言語知らないから、PHPをdisって心の平穏を保ってる、可哀想なやつなんだろうな。
頑張れよ。
2017/12/10(日) 18:09:23.94ID:7rwMCdFh
因みに、俺もPHPerは害悪だから滅びろって、思ってるけどな。
2017/12/10(日) 18:31:37.52ID:W721E1OC
>>197-198
声に出して読みたい日本語
2017/12/10(日) 19:17:10.74ID:g4Avn4JH
>>196
おだいじにね
2017/12/10(日) 19:23:08.38ID:1f8aW6Mh
自己書き換えできるかどうかでプログラム言語と呼ぶかを決め奴がなんか言ってる
2017/12/10(日) 19:50:19.80ID:Hk+Muhn7
けなすってーかただの事実言うてるだけやん
ゴミ言語のペチプァ〜さんは何をそんなに怒ってるだ今さら?
2017/12/10(日) 20:53:52.22ID:OZ32lk+t
興味ない人間からすれば
いやもうわかったから。。
という感想しかない。
2017/12/10(日) 21:04:11.85ID:Hk+Muhn7
ほんとそれな
ペチプァさんは巣に帰って、どうぞ
2017/12/10(日) 21:57:41.07ID:a22e0iM0
PHPをdisっても顔真っ赤にして反論してくるヤツが居ないからツマラナイ
2017/12/10(日) 23:14:49.80ID:IzGEuZzn
PHPを必死に否定すること自体がよくわからんけどな。
そもそも作者が全部認めてるレベルのテキトーな言語なんだから、
PHPやってる奴ほど「そうだね、だから何なんだろう?」って思うような気がする。

よほど無念な思いをしたんだろうか。
2017/12/10(日) 23:17:46.82ID:1f8aW6Mh
くっさ
2017/12/10(日) 23:43:18.17ID:IzGEuZzn
出た、くっさ
2017/12/10(日) 23:55:28.34ID:Hk+Muhn7
くさ
2017/12/11(月) 00:44:55.69ID:LKeaMz/q
便器ブラシさんに草ひとまぶし・・・w
2017/12/11(月) 01:02:30.73ID:MQI53TiX
型話の荒れかたが凄いな

静的型付けの言語は実行時前に型の整合性を検証し
動的型付けの言語は実行時に型の整合性を検証する

で、前者はRTTIを基本的に必要とせず、したがってわざわざ保持しないので
(とはいえHaskell含め多くの言語でトリックが用意されているのだが)
メモリ空間についてオーバーヘッドが減り、型検査も事前に済ませておいて
実行時にはしないので、速度についてオーバーヘッドが減る。

ていうか、トイ言語でもいいから動的型の言語の処理系を実装したことがあれば、こんなのは間違えるはずのない話でな。
2017/12/11(月) 01:06:54.76ID:MQI53TiX
ホットにパッチ当てたいとかそういうごく特殊な要求がある場合には
動的型検査の方が優位性を持つことがあるけど、そうじゃない場合で
(たとえばH-Mくらいの範囲内で)静的に型のつかないコード書く必要なんて
まあまず実際にお目にはかからないよね
2017/12/11(月) 09:01:07.32ID:FO1afGiG
だけどその程度のことは皆わかっててやってることだから
いちいちドヤらなくてもいいと思う
214デフォルトの名無しさん
垢版 |
2017/12/11(月) 16:48:07.12ID:ckqehrxf
型なんて捨ててビット列を毎回解釈しろ
2017/12/11(月) 17:16:22.00ID:SuGHSbgO
なんだかんだ言ってweb系はjava以外はphpかrubyが大半を占めてるんだから
静的言語最強とはならない気がする。
2017/12/11(月) 17:21:22.26ID:maeT9tJH
静的型言語の安心感には満足している、つまらないミスを弾いてくれるから、頭の弱い私にはぴったりだ。
動的型言語の「綴りミスも許さない」方針にはついていけない
それとも動的言語でも option explicit な使い方が可能なのでしょうか?
2017/12/11(月) 17:56:27.18ID:RiNfuleo
option explicitにしたとしても、variantで宣言したら無意味だよね、Dictionaryのキーにあらぬものを使ったら落ちるよね、ってところでゴタゴタ言ってる。
ホントに宣言してないレベルの変数アクセスは大体の言語の静的解析で見つけられるんじゃないかな。
PHPの$$変数とかは無理だろうけど。
2017/12/11(月) 18:12:17.71ID:lStv0Fkk
てか普通にそのコード通るテスト書けよ。
2017/12/11(月) 19:33:23.48ID:MQI53TiX
テストは型検査みたいな静的検査と違って本質的に安全性を保証できないのでお門違い
2017/12/11(月) 19:40:27.25ID:Clwu9sNW
型検査を有り難がるのはテスト書かないドカタだけって結論出てるけどな
2017/12/11(月) 19:52:37.78ID:lStv0Fkk
お門違いの型の変数投げ入れて、
型エラー例外をトラップするようなテストかけばいいじゃん。

まあ手間なのはわかるけど、少しは頭使えばいいのに。
2017/12/11(月) 20:02:58.37ID:aR07dvjT
テストかかなくても、ソースを書いていること自体テストもかね、入力補完強化も兼ねるからいいんじゃないの?
2017/12/11(月) 20:05:57.20ID:FO1afGiG
それで動的型にする見返りがあるんなら良いんだが、何もないからなぁ
邪悪なことがしたい、以外のメリットが無い
少なくとも次世代言語の土俵に上がれないのは確かなので
このスレでミソカスな扱いになるのは仕方がないだろうな
2017/12/11(月) 20:14:05.81ID:lStv0Fkk
サクッとプロトタイプとしてフロントエンド作るなら圧倒的に動的のがラクだけどね。
規模が大きいんなら確かに静的でないと厳しいかなと思うけど。
225デフォルトの名無しさん
垢版 |
2017/12/11(月) 20:29:57.04ID:wkifU5nK
プロトタイプで作って流行ったら作り直すならいいけどね
規模大きくなっても使い続ける企業多すぎ
2017/12/11(月) 20:30:14.73ID:pZMHEF9P
多重ディスパッチが好き
2017/12/11(月) 20:42:49.31ID:maeT9tJH
>>217
variant 型を使うなんて、まるで void * だけでコーディングしろ、と強要しているようなもの
型の恩恵を自ら捨てる選択には疑問、Java の嘘嘘 generics にしてもありがたいくらいだ
2017/12/11(月) 20:45:00.55ID:FO1afGiG
俺なんかは型を書くのがそんなに面倒か?と思うし
あちらさんは型のテストを書くのがそんなに面倒か?と思うのかもしれないが
仮に、この二つが同程度の面倒臭さだったと仮定したら
その時点でバランスしてしまってるわけで・・・あとはもう自明
ただこれは昔の話で、今は型推論も普及してるから、更に

シンプルに考えて、型のテストはどこかの段階で絶対にやらなければならない
避けて通れないものとしたとき、じゃー何処でどのようにやるかという事で
どうせ不可避なら静的型のアプローチの方が良いだろうとなるだけで
システムでサポートせず人力でテストするって方向はまるで
アセンブリのようで逆行しているわ
2017/12/11(月) 20:52:19.53ID:maeT9tJH
ただ、動的型付け言語の御大将は、あの lisp 族だからな…奴らには勝てない…
2017/12/11(月) 20:55:22.07ID:pZMHEF9P
Land of lispにHaskellのが良いって書いてあるから静的片付けの勝ち
2017/12/11(月) 21:45:07.08ID:wkifU5nK
ローカル変数→型推論があるので型を書く必要はない
公開関数などの型→動的型付けでもコメントなど何らかの形式で型を書くので静的型付けだから書かないといけないという事はない
よって静的型付けの勝ち
2017/12/11(月) 21:52:39.67ID:lRj3KQ4V
型でコーディングは出来んし、証明でビジネスは動かん
結局きちんと動くものをいかに速く作るかってだけの話だろ

本当に静的型が「きちんと動くものを速く作る」ことができるなら、とっくにYesodがRailsを駆逐してる
そうじゃないってことはRailsの方が、強い動的型の方が優秀なわけだ

まあPHPみたいな弱い型付けの言語は論外だが
2017/12/11(月) 21:55:13.37ID:If11Xzom
Railsなんて駆逐されるほど使われてるの?
Google、Microsoft、Amazon、Facebook、twitterなど、有名な会社で使われてるのを聞いたことないが…
正直技術力のないベンチャーが使ってるイメージしかない
2017/12/11(月) 21:55:35.93ID:lStv0Fkk
rust は別に好きじゃないんだが型に関するアプローチに関してはいいと思う。
関数の引数では型を気にするけど、内部は型推論で暗黙的に設定されるっていう。
2017/12/11(月) 21:56:58.82ID:VlIg6iVt
>>227
Option Explicitとはその程度のもの。
あと、Variantを器用に使ってるシステム見たことあるぞ。
バカとハサミは使いよう。
2017/12/11(月) 21:59:51.45ID:xzgxDEt/
>>232
Railsって言語だったの?
2017/12/11(月) 22:01:59.46ID:lRj3KQ4V
>>233
初期のTwitterはRailsだぞ?
顔本はPHPだ
2017/12/11(月) 22:03:18.72ID:lRj3KQ4V
>>236
脳内でHaskellとRubyに対応付けてくれよ……
2017/12/11(月) 22:03:39.46ID:Ai9DBAI/
>>237
Railsなどという負債を抱えていたいい例やね
2017/12/11(月) 22:04:41.80ID:pZMHEF9P
初期
2017/12/11(月) 22:05:55.17ID:If11Xzom
>>237
いや知ってるけど、それはその2つが駆逐された話じゃねーかw
2017/12/11(月) 22:09:18.64ID:lStv0Fkk
twitter は erlang に移って、その後やっぱ性能出ないから他のにしたって話じゃなかったっけ?
こうみると言語にこだわるのは技術力のない証拠に思えるけどね。
2017/12/11(月) 22:10:51.69ID:su83dlbx
まあ十分な技術力があればJavaを使うからなwww
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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