次世代言語議論スレ[Go Rust Scala Haskell]第5世代 [無断転載禁止]©2ch.net

レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん2017/06/13(火) 08:54:07.99ID:O1HnBMDk
いざ、語ろうぞ。

スレタイ超過のため、一部省略。
その他もウェルカム。

前スレ
次世代言語議論スレ[Go Rust Kotlin Scala]第4世代
http://mevius.2ch.net/test/read.cgi/tech/1492631007/

2デフォルトの名無しさん2017/06/13(火) 09:00:09.39ID:O1HnBMDk
よく話題にあがる言語
Go, Rust, Scala, Haskell, kotlin, Erlang

対象言語のどこがクソかでなく、どこが次世代かで語りましょう

🙅 Rustはコンパイルが通らないからクソ!
🙆 Goは学習コストが低い!

3デフォルトの名無しさん2017/06/13(火) 09:31:03.24ID:WHieLZYY
標準的なライブラリは言語の持つ重要な文化の一つだ
Pythonが機械学習で天下を取った理由にはNumpyが大きく寄与している
データ構造としてNumpyを使えば他の大抵のライブラリと連携を取れる。例えば、TheanoやChainerで機械学習して、結果をそのままNumpyで加工してmatplotlibで出力できる。
だからPythonは機械学習分野で流行した。この裏にはNumpyのもつ大きな文化が存在する
言語の持つ文化と流行には密接な関係があるだろう

4デフォルトの名無しさん2017/06/13(火) 09:38:21.87ID:skBOcwaB
最近4.1出たのにもはや誰も話題にしないF#くんかわいそう

5デフォルトの名無しさん2017/06/13(火) 09:45:32.13ID:kbGi5rrA
F#くん言語仕様は悪くないけど使い所がわからん

6デフォルトの名無しさん2017/06/13(火) 10:05:00.47ID:O1HnBMDk
>>4
俺は普通にプロダクションのコードでF#書いてるよ

72017/06/13(火) 10:29:07.84ID:MZxut8VL
おお、お疲れ様。
そこまでアンチってわけでも無いがな。
手当り次第中途半端に取り込んだc#がそこそこ実用言語になってんのに、何やってんのあいつらって感じだけど。
どーせ入ったし、逆に最近のHaskellの良さをもっと教えて欲しい。

8デフォルトの名無しさん2017/06/13(火) 10:36:45.13ID:o0nyK+Xq
Pythonの標準的文化って
JavaとC#とaltjsとスマホを完璧に無視したからできたんだよな

9デフォルトの名無しさん2017/06/13(火) 10:49:04.84ID:WpoKav5t
>>7
型の強力さと遅延評価のクソさを身をもって示したリファレンスって点は評価ポイントだと思う
あとは実用にはならんかったがdarcsというVCSを世に放ったこと

10デフォルトの名無しさん2017/06/13(火) 10:50:40.06ID:VOf9DWNO
個人的には、OS標準の開発言語が一番使いやすいって結論になった

11デフォルトの名無しさん2017/06/13(火) 10:52:36.27ID:WpoKav5t
>>3
Juliaが生きるか死ぬかはNumPyとどう住み分けるかにかかってるだろうな

12デフォルトの名無しさん2017/06/13(火) 11:34:29.62ID:KA4hHDRK
>>10
OS標準の開発言語はOSと文化を共有しているからな
マルチプラットフォームを視野に入れないなら最良の言語だと思うわ

13デフォルトの名無しさん2017/06/13(火) 11:41:51.61ID:r6njVaEB
OS標準てLinux=C, Windows=C++/C#, Mac/iOS=ObjC/Swift, Android=Java/Kotlin・・・こんな感じ?

14デフォルトの名無しさん2017/06/13(火) 11:49:00.99ID:+kV5cJp9
Cは基本的にいい言語だけどラムダとクロージャがない所だけはどうにもならん。でもそれ以外は本当にいい言語だと思う

15デフォルトの名無しさん2017/06/13(火) 12:13:37.35ID:WpoKav5t
サードライブラリ管理が野良orOSのパッケージ管理依存の二択なとこも駄目というかここが致命的では

16デフォルトの名無しさん2017/06/13(火) 12:26:01.51ID:9bQyHle2
Goが2.0とかでジェネリクス入ったら、決着しそうじゃない?

17デフォルトの名無しさん2017/06/13(火) 13:00:17.07ID:WpoKav5t
Rustはトレイト境界の特殊化に束理論適用できるようになったら次世代っぽくなるか?
今はただの気難しい言語って感じで次世代感が薄い

18デフォルトの名無しさん2017/06/13(火) 13:06:59.02ID:WpoKav5t
>>17
自分で言っといてなんだがないな
ボイラープレートコード増えすぎてJavaの二の舞だわ

19デフォルトの名無しさん2017/06/13(火) 17:58:36.02ID:/dWEWAyw
Goはいらん
ScalaとKotlinはどっちかだけでいいけどKotlinが後発だからKotlinでいい希ガス
TypeScriptは実用的だけど次世代化と言われると微妙
Rustは他の言語にない機能多いから次世代

20デフォルトの名無しさん2017/06/13(火) 18:04:11.72ID:+kV5cJp9
>>15
それってCのこと? Cは一切隠蔽しない文化だから、パッケージ管理ソフトとかの隠蔽してしまうものは基本的に相性悪いと思う。Cを書く者はライブラリも自分でMake installするし、インストール場所も自分で指定するから全貌の把握を邪魔するものはないって感じ。
裏を返せば全貌を把握できないと何も出来ないという事も言えるけど。
そういう文化の言語としてはCって完成度高いと思うし、現状超えるものはないと思う。まあ、Cで応用寄りのプログラム書くのは嫌なんだけどさ

21デフォルトの名無しさん2017/06/13(火) 18:22:10.72ID:1lda3qQJ
>>19
KotlinとTypeScriptにはほとんど差はないだろ
どっちもC#フォロワーだから、機能的には既に十分メジャーであるという意味ではどちらも次世代とは言えない

22デフォルトの名無しさん2017/06/13(火) 18:52:45.36ID:qZ9zsjQ6
Kotlinはあまり興味がなかった他の言語と違う何かがあるなあ、自分にとっては

23デフォルトの名無しさん2017/06/13(火) 19:06:12.09ID:huEjF5Un
俺の母ちゃんのあだ名コトリンなんだが

24デフォルトの名無しさん2017/06/13(火) 19:35:55.51ID:lP4lhg4O
>>20
何のためにdebやrpmに「foobar-dev(el)」ってパッケージがあると思ってる
言語自前のライブラリ管理システムがないからディストリビューションのパッケージ管理に乗っからないとやってけないからだろ

そういうものをCプログラミングと認めないなら好きにしろ

25デフォルトの名無しさん2017/06/13(火) 19:41:20.40ID:wCVClZJy
そういや、まともな検証プロセスの無いままライブラリが提供される
言語独自のパッケージ管理システムは、OS全体の安全性を脅かしてるってDebianの中の人が嘆いてたな

26デフォルトの名無しさん2017/06/13(火) 19:41:27.69ID:lP4lhg4O
別に全手動を否定するつもりはないが、
debやrpmが積み上げてきたものを蹴飛ばして
全手動こそがCって言われると違和感があるって話な

27デフォルトの名無しさん2017/06/13(火) 19:51:19.56ID:lP4lhg4O
>>25
npm pip gem辺りはひどそうだ
goはシステムとは完全にパス分けてる
cargoはどうだっけ?

28デフォルトの名無しさん2017/06/13(火) 19:53:36.19ID:o0nyK+Xq
ソースコードを読む人は時間の感覚が違うだろ
インストールに1日かかっても1日損したと思ってない
自分で書くより早いから得してるし
読むだけでも1日や2日では終わらない

29デフォルトの名無しさん2017/06/13(火) 20:32:10.33ID:+kV5cJp9
>>24
「ライブラリが野良orOS配布だから良くない」という意見に「それは別に良い」って言ってるだけやん。ちょっと言葉は過ぎたかもしらんけどそんな噛み付かんといてよ

30デフォルトの名無しさん2017/06/13(火) 22:35:13.45ID:ZpGuJRaH
環境含めて考えれば
簡易な言語 + チェックツール
のが正解な気はする。
rust みたいに言語で縛るってのがそもそも間違いじゃねーの。

31デフォルトの名無しさん2017/06/13(火) 22:41:55.07ID:blSfEUfZ
>>30
より安全なC言語(チェッカーだったり、標準ライブラリの置換だったり)って今までたくさんあったけど、どれも普及しなかった
Microsoftも作ってたはず

なので、Rustは今度こそは!感がある

32デフォルトの名無しさん2017/06/13(火) 22:52:41.30ID:Hy7s+J5v
>>29
言葉きつかったなすまん

332017/06/14(水) 13:01:02.27ID:0gE91xz7
>>24
何のためにって、そりゃ、ソースを検証せず、各配布元見てアーカイブのハッシュも見ず、
正しいとコミュニティが認めたものをコミュニティへの無限の信頼で横着して手に入れるためにじゃん。
現実的だけど。
>>30
チェックツールを実用レベルまで持ってくと、言語への縛りが結局キツくなるよ。
停止性問題みたいな話になってくる。

34デフォルトの名無しさん2017/06/14(水) 14:06:06.69ID:4UjMkIWv
Cの文化とPythonの文化は方向性が全然異なる
昨今の統計事情から察するに、応用を考えるにあたってはPythonの文化の方が優れているだろう
つまり、細かいことは言語作者やライブラリ作者に全部任せて、考えたいことに集中できる文化の方が発展が速い

35デフォルトの名無しさん2017/06/14(水) 14:32:38.36ID:SGVDPQnB
Cの中に全然異なる二択があると言われたのをもう忘れたか
忘れるの速すぎ

36デフォルトの名無しさん2017/06/14(水) 14:35:24.56ID:4UjMkIWv
>>35
二択って何?このスレで二択で調べても「野良orOSのパッケージ管理」しか出ないんだけど

37デフォルトの名無しさん2017/06/14(水) 14:38:55.46ID:SGVDPQnB
リテラシーゆとり教育orバイナリまとめサイト

38デフォルトの名無しさん2017/06/14(水) 14:47:06.53ID:4UjMkIWv
よくわからんしまあいいや
Pythonの例から考えるに、少なくとも応用分野では次世代に流行る言語は強力なライブラリを簡単に導入でき、すぐに目的コードが書けてしまうと言った特性を有しているでしょう

39デフォルトの名無しさん2017/06/14(水) 14:59:43.37ID:W7dgH5v3
FORTRANの駆逐に長い時間が掛かったのはライブラリ遺産のせいだって聞いたことがある。

40デフォルトの名無しさん2017/06/14(水) 15:11:13.20ID:4UjMkIWv
その通り。Fortran77はクソだけど、新しい言語を使おうとしても移植作業も新規に書き直す作業も面倒なので、そんならいいやとFortranを使い続けてきた
そこに持ってきてpip install scipyのワンコマンドでblas lapackの多くのサブルーチンの良質なラッパーをインストールし、よくわかってない学生でもfrom scipy.linalg import eig 出来てしまうPythonは本当に偉大であった

41デフォルトの名無しさん2017/06/14(水) 20:07:23.71ID:rnctBDZd
まあ今ある blas より速いの作るなんて普通のプログラマには不可能だしな。。

42デフォルトの名無しさん2017/06/14(水) 21:17:37.82ID:i/E7QqbY
Haskell復活してるやん

43デフォルトの名無しさん2017/06/15(木) 01:45:20.34ID:wmi6uQsI
>>42
Kotlin引退で繰り上がり

44デフォルトの名無しさん2017/06/15(木) 03:30:08.09ID:TdjK6zBT
つまり実用できる状態になるとスレタイから外されるって事だよな
ここに残ってるのはいつまでも「次世代」言語

45デフォルトの名無しさん2017/06/16(金) 00:53:52.07ID:NKsegnSN
現時点のKotlinレベルでいいならGo,Rust,Scalaは実使用されつくしてるような

46デフォルトの名無しさん2017/06/16(金) 02:31:19.78ID:57lFqmer
Go ScalaはともかくRustは絶対にねえよ

47デフォルトの名無しさん2017/06/16(金) 08:26:01.05ID:VSZ6CfqO
実用できる次世代言語はkotrin typescript だよね
実用できない次世代言語がスレタイ

48デフォルトの名無しさん2017/06/16(金) 09:11:14.72ID:XLEAF0GD
mozilaの落ちぶれっぷりがやばい

49デフォルトの名無しさん2017/06/16(金) 10:10:44.42ID:sGqUlQsg
>>48
元からあいつらただのヤクザ
大義名分のメッキの裏がGoogleやAppleの経済活動で暴かれただけ

50デフォルトの名無しさん2017/06/16(金) 10:22:55.63ID:Elc9SXXc
個別スレある言語の話はそっちでヤレばいいじゃん
ここは個別スレ無いやつ専用にしろよ

51デフォルトの名無しさん2017/06/16(金) 10:54:04.49ID:is6DCp5t
パッケージ管理システムとかガベコレの一般論専用かな
一般論の個別スレないよね

52デフォルトの名無しさん2017/06/16(金) 11:04:24.01ID:yA2bsaGi
日産自動車栃木工場
塗装課、車軸課の正社員の方々の要求はコピペ継続の保守

2ちゃんねる愛用の方々にお知らせ
栃木県上三川町3-5-2
日産自動車上三川寮
管理人は合鍵を使い従業員の部屋に無断で侵入

抜き打ちで従業員の私物を全て調べるブラックの中のブラック企業。
期間工が看護師を殺害する事件もあった危険企業。
離職票を発行するのに一月以上もかかるとの情報もあり期間工の生活事情はお構い無し。

このコピペによる日産の悪事の拡散は日産正社員の断固たる要望である。これには日産と無関係の第三者が便乗している可能性が高く自分は不自然に感じている。



0647 FROM名無しさan 2017/06/01 21:21:43
いいからこんなとこで油売ってないで早く100万コピペ達成してこいよwww
ほら早よ行けやホラホラwww
返信 ID:bEv8YiM0(7/7)

↑↑このように必死で日産の悪事を拡散しろと煽っている。俺は脳無しで馬鹿なので日産正社員が日産悪事を公表するように煽ってきた理由が分からない。不本意ながらコピペを続けている。

53デフォルトの名無しさん2017/06/18(日) 01:50:03.42ID:LYWH9ARf
個別スレない言語オンリーならRacket無双になるがよろしいか

54デフォルトの名無しさん2017/06/18(日) 13:22:25.92ID:BG5e9Vcc
あとは歴史的変遷からみる次世代言語とか

55こんな?2017/06/19(月) 16:27:30.01ID:PFGmiz2v
今SunがJavaっての作ってるらしーぜ
どんな言語だろうな?

56デフォルトの名無しさん2017/06/24(土) 15:20:30.76ID:+EJLhPmM
Googleがヘルスバーグ(C#)級の人をスカウトしてきて
メインプロジェクトとして本気の新言語作ったとしたらどうなるか見てみたい
GoもDartも最初の言語設計がイマイチ感は否定できないんだよね

57デフォルトの名無しさん2017/06/24(土) 16:06:03.03ID:iOfeax4r
静的型と動的型のハイブリッドはTypeScriptで早くも完成させちゃったから、
次にヘルスバーグが手がけるとしたら完全な型推論ベースの静的型言語をやってほしい

58デフォルトの名無しさん2017/06/24(土) 16:23:53.98ID:pQNLYnE6
ヘルスバーグすこ
Googleの作る言語はゴミばっかや

59デフォルトの名無しさん2017/06/24(土) 16:28:25.84ID:TM1thEne
ヘルスバーグだってMSが敵わなかったからライバルから引っこ抜いたんだろ

60デフォルトの名無しさん2017/06/24(土) 16:51:36.76ID:aCsrIsWK
なんだかんだ言ってもOS自体を書く言語は変わってないからな

61デフォルトの名無しさん2017/06/24(土) 21:54:51.34ID:UUr+9hAP
>>56
今ならSwift開発したクリス・ラトナーが絶賛求職中やで。

62デフォルトの名無しさん2017/06/24(土) 23:50:07.30ID:UHmd/ofd
Googleってゴスリンやゲイドも飼ってたことあるよな
一瞬で辞めたけど
会社の体質に問題があるんだろうね

63デフォルトの名無しさん2017/06/25(日) 08:44:29.52ID:JxQEbk3c
kotlinとswiftどっちが有望?

64デフォルトの名無しさん2017/06/25(日) 08:59:11.73ID:JM0saPft
どっちも有望だが、どこを比較してほしいんだ

65デフォルトの名無しさん2017/06/25(日) 09:10:38.04ID:JxQEbk3c
学ぶならどっちがいいのかなと思って

66デフォルトの名無しさん2017/06/25(日) 10:07:31.69ID:ZFXP5+sH
Androidのアプリ作りたいのか、iOSのアプリ作りたいか
それだけの話なのに何で自分で決められないんだろ

67デフォルトの名無しさん2017/06/25(日) 10:21:57.72ID:JM0saPft
何のために学びたいんだ

68デフォルトの名無しさん2017/06/25(日) 10:24:20.80ID:by7iMnGq
kotlinは既にJavaをマスターしててサンプルコードの雰囲気を見ただけでなんとなく書き始められるくらいの人が使うもんだぞ
勉強するもんじゃない

69デフォルトの名無しさん2017/06/25(日) 12:21:22.67ID:BOhr0vIe
今Haskellでよく使う処理をガンガン関数にしてライブラリ化してるけど、LLでもここまで短く書けないだろと言うか、
ここまでライブラリ化するには遅延評価じゃないとreverse使わないような処理でもメモリに溜め込むか、
遅延評価にする為にイテレータ作りまくりじゃないかと思った。

いあ、最上位の関数とかは短く書けるんだろうけど、ライブラリ内部の似たような処理を
ガンガン関数にして行くのは流石に難しいと思う。

70デフォルトの名無しさん2017/06/25(日) 12:39:35.65ID:mZBbGFn8
>>69
つづきはブログでおやり
具にもつかない報告を読まされる身にもなってみろ
お前のレスは今後一切いらんからなこのスレには

71デフォルトの名無しさん2017/06/25(日) 12:53:31.73ID:ETAvV0eF
linux のソース見る限りは c にまともなマクロが用意されればそれで十分。
まあまともなマクロを用意するってのは言うほど簡単じゃないだろうけど。

72デフォルトの名無しさん2017/06/25(日) 13:33:53.23ID:BOhr0vIe
>>70
じゃあLLでも何でもいいけど、手続き型言語でよく使う処理をガンガンライブラリ化してみてよ。
どっちがより汎用性と簡潔性を両立出来てるか競おうず。

73デフォルトの名無しさん2017/06/25(日) 13:58:29.36ID:by7iMnGq
Haskelは実装変更のインパクトがでかくてカプセル化的な考え方で作るには向かないんだよな
実用言語としてガチ関数型を流行らせるには厳密性を維持しつつ現実の大規模開発でのモジュール化も考慮した仕組みを作らないと

74デフォルトの名無しさん2017/06/25(日) 14:13:01.18ID:/Sm2Vorl
>>73
Cでcatコマンド自作しようとした時、複数ファイルから一番長い一行あたりのバイト数(文字コードによって違うので文字数ではダメ)調べるコマンド作った時、
lengthはByteStringモジュールを使いたいけど、mapは標準のを使いたい(ByteStringのmapはByteString -> Char特化)って時に細かくどれは読み込んで、どれは読み込まないってしたけど、
それじゃあかんの?

モジュール読み込みの設定だけ変えれば、main以下は全く同じコードがバイト数と文字数切り替えれるけど。

75デフォルトの名無しさん2017/06/25(日) 14:24:06.30ID:WUy1L4jW
>>74
すまん全く意味がわからない
73からいきなり抽象度が下がりすぎだろ
ハスケラならもうちょっと抽象的かつ厳密で明示的なレスを頼む

76デフォルトの名無しさん2017/06/25(日) 15:21:38.85ID:mZBbGFn8
>>72
なにが「じゃあ」なん?
脳みそ腐ってんの?
しょーもないレスでスレ汚すのやめてくれマジで

77デフォルトの名無しさん2017/06/25(日) 16:41:08.55ID:p9Z6xhSy
>>75
抽象度が高い=フワッとして概念的って思ってたんだが違うんか。。。
import書く時、この関数だけ読み込まない。
この関数だけ読み込むって指示できるから、そこだけ弄ればそこ以下のコードは書き換え無しに
文字数数えるかバイト数数えるか動作を切り替えられる。

78デフォルトの名無しさん2017/06/25(日) 16:53:53.40ID:p9Z6xhSy
>>76
うんうん。
分かるよ。
式と文が入り混じるから関数化する単位に限界あるもんね。
副作用と純粋部分の区分けが強制されないというか、遅延評価じゃないと強制されたらreverse使ってなくてもメモリに溜め込むコードになっちゃうし。
それを解消する為にイテレータ書きまくるのも面倒だもんね。
Cくらい速かったら、それを飲み込むのも我慢出来るのにね。

79デフォルトの名無しさん2017/06/25(日) 17:24:16.31ID:rLWYKb/E
この勘違いしたハスケラを黙らせるには、
ハスケラ自慢のライブラリを見せてもらって、
それより簡潔なコードを書くしかないと思う

80デフォルトの名無しさん2017/06/25(日) 17:39:45.42ID:wtr2uEYx
>>77
例えば、引数の値のみにより完全に決定される値を返す関数があったとして
ここに「ただし、前回と値が同じ場合は前回より1だけ大きい値を返す」という要件が増えたらどうする?

81デフォルトの名無しさん2017/06/25(日) 17:56:09.21ID:pYBZiqDJ
>>80
Haskellも状態扱えない訳じゃないし、大量に状態保持す代名詞のGUIプログラミングが、HTMLやXAMLで書かれるのに一定の地位を確立した今となっては、そういうDSL、又はDBに状態保持させて、Haskellは同じ値が来たら外部に+1してってお願いすれば良いと思うけどね。

82デフォルトの名無しさん2017/06/25(日) 17:59:09.81ID:wtr2uEYx
>>81
つまりインパクトが大きいってことだね

83デフォルトの名無しさん2017/06/25(日) 18:12:35.96ID:pYBZiqDJ
何言ってんのか分からんけど、Haskellでここまでよく使うパターンをライブラリ化出来るなら、もうLL要らんってなった。
速度が必要な時はCで書いて、速度求めないのはHaskellで良いや。
速度こそLLと変わらんけど、ここまで再利用し易いなら自分でよく使うパターンをライブラリにして行けば、すぐにLLより短くなる。

number.hsナンバリング
import System.Environment
import Myfunc

main = getArgs >>= mfput (fnumbering id)

revnumber.hsナンバリングと行の逆順
import System.Environment
import Myfunc

main = getArgs >>= mfput (fnumbering reverse)

mygrepn.hs検索文字列含まれる行(行番号付き)抽出。
import System.Environment
import Myfunc

main = getArgs >>= \(w:fs) ->
mfput ((replace w (redstr w)).(grep w).fnumbering id) fs

rp.hs(文字列置換)
import System.Environment
import Myfunc

main = getArgs >>= \(w:nw:fs) -> mfwrite (replace w nw) fs

84デフォルトの名無しさん2017/06/25(日) 18:17:06.53ID:pYBZiqDJ
ライブラリ内部にも似た様なパターンを関数化して無駄に似た様な少し違うコードが少ない様にしてる。

Myfunc.hs自作ライブラリ
module Myfunc where

import Data.List
import Text.Printf

consnum::(Int,String) -> String
consnum (i,xs) = printf "%4d:%s" i xs

fline f = unlines.f.lines

fnumbering f = fline ((map consnum).(zip [1..]).f)

redstr::String -> String
redstr [] = []
redstr w = printf "\ESC[1m\ESC[31m%s\ESC[39m\ESC[0m" w

bluestr::String -> String
bluestr [] = []
bluestr w = printf "\ESC[34m%s\ESC[39m" w

grep w = fline (filter (isInfixOf w))

85デフォルトの名無しさん2017/06/25(日) 18:17:18.21ID:pYBZiqDJ
replace _ _ [] = []
replace [] _ cs = cs
replace w nw cs | w == xs = nw ++ replace w nw ys
where
(xs,ys) = splitAt (length w) cs
replace w nw (c:cs) = c:replace w nw cs

putfc (f,c) = printf "%s\n%s" f c

writefc (f,c) = writeFile f c

mfptn fs f ofs output = mapM readFile fs >>=
return.(zip ofs).map f >>=
mapM_ output

mfput f fs = mfptn fs f (map bluestr fs) putfc

mfwrite f fs = let tfs = map (++ ".temp") fs in
mfptn fs f tfs writefc >>
mfptn tfs id fs writefc

86デフォルトの名無しさん2017/06/25(日) 19:00:45.29ID:rLWYKb/E
それライブラリ化する価値もなさそうな
汎用性の無いコードにしか見えんが、本気か...?

87デフォルトの名無しさん2017/06/25(日) 19:04:10.51ID:pYBZiqDJ
>>79
ワザとウザい役したけど、実際問題再利用のし易さと速度はある程度トレードオフな関係だと思う。
それならHaskellとCで良いんじゃないかってなった。
個々人でバランス感覚違うから、他の言語を選択するものアリだけど。

88デフォルトの名無しさん2017/06/25(日) 19:11:04.69ID:pYBZiqDJ
>>86
まだ育ててる最中だしね。
複数ファイル読み出し、複数ファイルそれぞれ出力なパターンはこれで行ける。
複数ファイルから一つの結果求めるパターンはこれから作るし、他の関数と共通パターンあったら、関数化して行く。

正気か?って言うけど、forとかメソッドチェーンな中身とか途中のメソッド入れ替えるとか、そう言うことしてる様な感じ。
こんな関数化の方法、オブジェクト指向言語では考えもしなかったぞ。

89デフォルトの名無しさん2017/06/25(日) 20:27:51.46ID:k3/0SUsA
Haskell使いのレベルの低さが知れるな
こうゆうのを繰り返すならやっぱり次はまたHaskellはずそう

90デフォルトの名無しさん2017/06/25(日) 20:33:29.70ID:h1su++jx
ていうかHaskell自体は全然次世代言語じゃないじゃん
Haskellの一部分を参考にした次世代言語はあるけど

91デフォルトの名無しさん2017/06/25(日) 20:59:18.08ID:+XToNy/r
Idrisとか?

92デフォルトの名無しさん2017/06/25(日) 21:00:59.61ID:pYBZiqDJ
ええ。。。
最近こそラムダ式とか入ったけど、オブジェクト指向って相変わらず手続き型言語で、コンストラクタって結局構造化プログラミングで言うinit関数でしょ?みたいな感じで処理の分け方が上中下って感じなんだもん。
おまけに肝心の中身はインターフェースでそれぞれのクラスに別々に書いてねとか。
似た様なコード何度も何度も書いてるなー。。。って感じだった。
LLにしても、書き捨て毎に似た様なコード書いてるなー。。。って。

Haskellだからここまで関数化しても遅延評価でメモリを一定以上消費しないんだと思うし、mfput関数一つ書けば中身の処理を考えるのに集中出来た。
(mygrepnとか見つかった文字列を強調赤字にするオマケ付き。
rpとかコマンド名が競合するから短い名前だけど、地味にコード書き換えに活躍してる)

実際に上のコードと同じライブラリ書いてみてよ。
パターンは共通って分かってても、文が邪魔したり、メモリに溜め込む処理になるから断念する場面が出てくると思う。

93デフォルトの名無しさん2017/06/25(日) 21:18:47.33ID:8QFIS7Xe
>>89 >>76 >>70
まともに叩くことも出来ないレベルのクソ野郎は入ってくんなよ…
お前らみたいなのがいるから、変なのが増長するんだろ

94デフォルトの名無しさん2017/06/25(日) 21:38:11.91ID:8QFIS7Xe
>>92
結局パイプ的に繋いでく話してるだけだな
はっきり言うが、Haskellでまともなプログラム組んでIO扱う途端にその手の使い方はできなくなるよ
その言ってる方法突き詰めたとして、リアクティブプログラミング的になるが、
遅延評価が仇になってサンク作りまくる場合はあるし、遅延評価だから空間計算効率が良いなんて話にもならない
Haskell自身もメモリの効率がいいわけでもない
女アクのGHCのランタイムがまずクッソでかいし

何よりリアクティブプログラミングじゃ、現代のGUIでまともなプログラム作れない
IOなGUIツールキットをリアクティブに対応させるコード書いてる暇あったらIOで書いた方がマシだ

95デフォルトの名無しさん2017/06/25(日) 21:42:36.54ID:8QFIS7Xe
正確にはリアクティブプログラミングじゃなくてFunctional Reactive Programingだな
リアクティブだけなら、一つのシグナルストリームでなく分散メッセージでいいし難しくはない

96デフォルトの名無しさん2017/06/25(日) 22:00:46.32ID:pYBZiqDJ
>>94
空間計算効率が良いなんて一言も言ってないが。。。
悪魔で再利用し易さの割にってだけ。
んでもLLと同程度ならほとんどの場合で問題にならないので、このままライブラリ化進めればLLよりチマチマしたの作るのに都合が良い言語になると言うか、既になってる。

半端にLLで空間計算効率考えるよりは、普段はHaskellで富豪的だけどLLより再利用し易いコード書いて、そう言うの重要な場面ではCで書けば良いやってなった。

今時のメモリ搭載量だと小説10冊分が1ファイルに入ってても問題にならんから、実用上ほとんど問題にならん。
それが問題になる時は処理速度的にもLLでも対処出来ない。

97デフォルトの名無しさん2017/06/25(日) 22:10:00.00ID:8QFIS7Xe
>>96
お前さっきからメモリの話ばっかりしてるじゃん…
それに再利用については、途中からIO入れたら使えないよね?
っていうツッコミに全く反論できてないし
言ってる事めちゃくちゃだぞ

98デフォルトの名無しさん2017/06/25(日) 22:16:17.15ID:GaCuKOAB
>>97
「関数型で書いてもメモリを一定量以上使わない」を「空間計算効率が良い」と解釈するのはいくら何でも頭発達しすぎでしょ……

99デフォルトの名無しさん2017/06/25(日) 22:20:20.12ID:8QFIS7Xe
ちなみにCで書こうがIOの問題は付随するので変わらない
そもそもパーサをTemplateHaskellとけ使って書いてるレベルならまだしも Haskellで型注釈も無しじゃコンパイル遅すぎだし、
リストを配列代わりにしたり、String使ってテキスト処理してるレベルじゃLLより遥かに動作遅いだろ
普段から使ってるとはとても思えない

100デフォルトの名無しさん2017/06/25(日) 22:21:53.78ID:8QFIS7Xe
>>98
いつ帯どこに突っ込んでんだよ
メモリに溜め込む云々は明確にそういう話だろ

101デフォルトの名無しさん2017/06/25(日) 22:22:12.23ID:8QFIS7Xe
変換ミス
一体どこに突っ込んでんだよ

102デフォルトの名無しさん2017/06/25(日) 22:24:18.08ID:8QFIS7Xe
え、まさか本当にストリーム処理書けないとかそんな話?
いくらなんでも違うよね?

103デフォルトの名無しさん2017/06/25(日) 22:27:27.12ID:pYBZiqDJ
>>97
途中からとはなんぞな?
CUIにしてもGUIにしても、HaskellだとIO部分と純粋部分は強制的に分けて書かざるを得ないから何を言ってるのか。。。
(mfwriteでは同名ファイルに書き込めないので一旦別名で保存して、別名で開く->元の名前で保存ってしてるけど、そう言うのはIOが途中で挟まるってのと違うのん?)

ある意味手続き型言語みたく(と言うか他の関数型もそう言う意味じゃ途中でIO挟まる?)、途中でIO挟まらないパイプみたいな処理にCUIでもGUIでも強制されるのがHaskellの一見不便で長所。
mfptnからmfputとmfwrite作ってる通り、関数に渡す出力先を差し替えるだけで良い。

104デフォルトの名無しさん2017/06/25(日) 22:32:23.46ID:pYBZiqDJ
>>100
それはLLとは言え、手続き型言語がハードの仕組みに依存してるから、Haskellと同じ程度にライブラリ化進めると、普通に書くより遥かにメモリに負担かかるって意味。
Haskellがメモリ効率が良いって言ってるわけじゃ無い。

105デフォルトの名無しさん2017/06/25(日) 22:33:19.85ID:8QFIS7Xe
>>103
既存の物を状態を扱うように変更するのにコスト大きい、と突っ込まれとるよね
あとGUIは純粋に分けることを強制される、なんて簡単に終わる話じゃないんだよね
新規に同規模の実装を強制されるわけで

106デフォルトの名無しさん2017/06/25(日) 22:33:55.06ID:8QFIS7Xe
>>104
だから結局空間計算量の話ししてるじゃん…

107デフォルトの名無しさん2017/06/25(日) 22:38:50.94ID:8QFIS7Xe
ちうか、出力先を変更する云々なんて別にHaskell関係なくないか?
どこがHaskellでしか出来ない処理と言ってるわけ?

108デフォルトの名無しさん2017/06/25(日) 22:44:55.19ID:GaCuKOAB
ヤバい、ほんまもんや(笑)

109デフォルトの名無しさん2017/06/25(日) 22:56:39.77ID:pYBZiqDJ
>>99
うい。
ぶっちゃけ大きめのファイルだとLLより遅いの体感出来るw
んでも実用的な時間だし、上でパイプの例えあったけど言い得て妙で、
LLでforとかeachとかでループとして処理するのもメソッドチェーンみたいにファイル名のリスト受け取って、
中身のリスト受け取って。。。ってパイプ処理して行くから、LLより考え方が流れを辿る感じでシンプルなんだよね。
速さよりも書き易さ優先。
速さ気にしてたらそもそもHaskell選んでない。
速さが我慢出来なくなったらCで書くよ。

ネットでperlで1000万行のファイルの行を逆順にしたいっての見つけて、Cで書いたんだが、3.1GBにもなるファイル読み込ませて逆順表示はCでも待ったな。。。
(一旦全部上から読んで位置情報を配列に入れて、最後に記録した位置から逆に辿る手法だったけど、メモリは4GBメモリの0.6%しか消費してなかった)

Haskellでメモリに溜め込む書き方でも10万行くらいは我慢出来るレベル。
LLならCと同じ手法でメモリに負担かからない方法で書けるだろう。
実はHaskellにもhSeek関数あるから、多分メモリに負担かからない方法で書けると思う。

でも、もうそこまで行くんならCで気持ちよく書く。

110デフォルトの名無しさん2017/06/25(日) 22:57:17.16ID:8QFIS7Xe
やっぱり本気でパイプのようなストリーム処理がLLで書けないと思ってるのかな
今時はラムダなどのストリーム処理なんてJavaですら標準でついてるってのに

>>108
何が「ほんまもん」なんですかね
もしかしてどっちもO(1)で一緒とか言いたいの?
空間計算量って、それ自体はO-notationでの表記のことじゃないぞ?

111デフォルトの名無しさん2017/06/25(日) 23:05:34.61ID:CvCdLd6J
「副作用で世界がどんどん変わって行くのを俺が全部コントロールして阻止しなければならない…
そうでなければこの世界はバラバラになってしまう…」

「どうしたんですか?先輩」(もぐもぐ
「おお後輩!…なんだそれ?」
「売店がパンじゃなくて弁当扱い出したんですよ
ゴミかさばるから売店とこで捨てろですって。
まぁ、どうせ僕が一括して持ってくんでしょうがw」
「後輩」
「はい?」
「カレーある?」
「たしか」
「じゃあ、それ一つ」
「はい」

112デフォルトの名無しさん2017/06/25(日) 23:09:52.30ID:GaCuKOAB
ヤバいこいつ論点分からず突っかかってる

113デフォルトの名無しさん2017/06/25(日) 23:11:04.64ID:pYBZiqDJ
>>107
うーん。。。出力先もだけど、差し替え易さとか、処理対象の単位を行き来し易いとか。。。かな?
ループだとファイル単位、行単位、文字単位って決まっちゃうと、中々そこから抜け出せないけど、例えば複数ファイルの行で一番長い行を調べたいとする。
(実はCで上の逆順コード書く際のバッファの大きさを決めるために書いた)

最初、トーナメント形式に各ファイルで一番長い行出させて、そこからさらに一番を決めて出力してた。
んで、途中で全ファイルの行の長さ出た時点で一位決められるじゃん。と、数値のリストのリストを平坦化して一気に一位決めた。
そう言うループじゃ無くて、悪魔でリストのリストを受け取って〜。。。って考えると簡単に行単位とかそう言う枠を超えられる。
LLでも出来るだろうけど、思いつき易い。

114デフォルトの名無しさん2017/06/25(日) 23:12:43.68ID:pYBZiqDJ
>>110
いあ、書けるでしょうよ。
ただ柔軟性?こう、スタイルが決まっててあんま動かせない感じを受ける。

115デフォルトの名無しさん2017/06/25(日) 23:15:11.08ID:8QFIS7Xe
>>109
言いたい事はわからんでもないけど、そんなにhaskell使いやすい?
自分もHaskellは複雑な構造の解析とか、何か本質的な部分の問題解くときにghci使う事あるけどさ、
実装はやっぱりpythonとかのが楽ってなったよ
Stackやcabalの設定編集も面倒だしコンパイル遅いし
mapM_あたり使うような物で純粋を目標にしてると、本末転倒になる事が多いし

116デフォルトの名無しさん2017/06/25(日) 23:17:22.59ID:8QFIS7Xe
>>112
ああなるほどね
難癖つけてる奴の同類か

117デフォルトの名無しさん2017/06/25(日) 23:27:50.72ID:8QFIS7Xe
>>114
ポイントフリースタイルとの組み合わせは確かにHaskell特有だけど、
個人的には実装はIOの文脈で、パイプ演算子とパターンマッチを使える
F#やLiveScript(altJS)のような言語方が楽だと思うぞ

118デフォルトの名無しさん2017/06/25(日) 23:45:27.87ID:pYBZiqDJ
>>115
なんつーか、さすがにGUIとかはC#使うわってなるけど、確かにコンパイル遅くて微妙に感じもしたけど、上のライブラリみたくガンガン関数化すればPythonでループのシーケンスにargv[1:]ってしてー。。。
逆順だとReversed(list(sys.argv[1:]))でー。。。とか調べないとな場面が度々ね。
んで、毎回複数ファイルから読み込まるのにforって書いて、行毎だとまたfor。。。

Haskellもライブラリ作る前は似たり寄ったりだったけど、ライブラリ書いてからはmfputにファイル名のリストと、各ファイル向け(1ファイル向け)に処理させたい関数渡すだけで大体のツール作れる。
多少パターンが特殊でもmfptnで対応出来る。
ループ的なのを関数に押し込んで、開きたいファイルと処理させたい関数だけ気にしてれば良くなった。
(逆にサポート外のパターンには無力だが。関数化は使い方も規定しちゃうから仕方ない)

Pythonだとあんまここまでライブラリ化出来る気がしない。。。
PythonやRubyの書き捨てでも楽だって思ってたけど、多分もう戻れない。

119デフォルトの名無しさん2017/06/25(日) 23:47:28.90ID:GaCuKOAB
まずなー>>98>>100をいっちゃう時点でなー
>>96で「空間計算効率が良いなんて一言も言ってない」って明言されてるにも関わらずこんなこと言ってる時点で読解力お察しだからなー

120デフォルトの名無しさん2017/06/25(日) 23:54:14.28ID:GaCuKOAB
相手の意図を組めないという点ではエンジニアガイジと同類っぽいなー

121デフォルトの名無しさん2017/06/26(月) 00:09:44.62ID:jZyN4LOL
そう。
空間計算効率の話自体はしてても、Haskellと同程度にライブラリ化したらLLが今までより空間計算効率が落ちる(もしくはイテレータ地獄になる)って言ってるだけで、Haskellの空間計算効率が良いなんて言ってない。

122デフォルトの名無しさん2017/06/26(月) 00:15:26.29ID:f2qWRibY
初めてKotlinで書いてみたけど意外と悪くないな
驚きが非常に少なく無理がない
C#みたいな天才肌とは違ってとにかく無難でつまらない印象だけど、
Javaからの乗り換えという意味では最適なとても筋のいい言語だと思うわ

import java.io.File

fun Sequence<String>.grep(w: String) = this.filter { w in it }
fun redstr(w: String) = "赤(${w})"
fun counsnum(i: Int, xs: String) = "%4d:%s".format(i, xs)
fun numbering(lines: Sequence<String>) = lines.mapIndexed({ i, xs -> counsnum(i + 1, xs) })

fun main(args: Array<String>) {
 val (w, fs) = args
 val lines = File(fs). bufferedReader().lineSequence()
 numbering(lines).grep(w).map({ redstr(it) }) }.forEach({ println(it) })
}

123デフォルトの名無しさん2017/06/26(月) 02:35:16.31ID:jZyN4LOL
>>122
kotlinのコードこのスレで初めて見たし、他のスレでもここまでまともなの見なかった。
thanks.
わざわざ見つかった文字列を赤文字にする所まで再現してくれるとは。。。

もうHaskellに惚れちゃってるからメインにならんだろうけど、確かに筋は良さそう。
GUIなコード書くのには良いかもしれんね。

行単位で受け取って行単位で出力する辺り、やっぱ手続き型言語と感じるけど。
だからこそ効率が良くて、そこを意識するからこそ柔軟性の限界感じる。
HaskellはStringが遅いだけで、バッファ効率自体は多分良い。
行単位とかじゃ無くて目一杯バッファに入れてると思う。
ByteString慣れないと説得力無いんだろうけど。。。
面倒いなぁ。。。
そこまでしないと勝負にならないなら、あんたの勝ちでいいよって思うもん。
手早く書けて使える速度なら充分だし。

124デフォルトの名無しさん2017/06/26(月) 04:34:26.65ID:z8x4rlt1
>>119
明言してると言っても実際言ってるし
やっぱり難癖つけたいだけじゃん

125デフォルトの名無しさん2017/06/26(月) 04:36:09.09ID:z8x4rlt1
>>120
お前もうただ言い方に突っかかってるだけだろそれ

126デフォルトの名無しさん2017/06/26(月) 07:49:16.94ID:b8W7cjsr
>>118
引数の逆順でファイル読み込んで一つのイテレータにするだけなら、pythonならこれだけじゃね?
(x for f in argv[1:][::-1] for x in open(f))
これをイテレータを処理する関数の引数に渡せば、お前のやりたい事できてるよね?

127デフォルトの名無しさん2017/06/26(月) 08:09:40.24ID:O05czwZw
そうも書けるんだ。
でももうcatコマンドだったら

main = getArgs >>= mfput fs id

って書けば良いようにライブラリ作っちゃったし、もう良い。
mf = マルチファイル

128デフォルトの名無しさん2017/06/26(月) 08:11:46.44ID:dzp1rCHS
>>123
入出力関数が適切にバッファリングしてると思うけど?

129デフォルトの名無しさん2017/06/26(月) 08:12:49.97ID:O05czwZw
逆順だとunlines.reverse.linesしないと改行が変になるから

main = mfput fs (unlines.reverse.lines)

unlines.f.limesパターンも良く使うから

main = mfput fs (fline reverse)

って書けるようにしたし。

130デフォルトの名無しさん2017/06/26(月) 08:15:23.64ID:O05czwZw
あ、

main = getArgs >>= mfput fs (fline reverse)

だった。

131デフォルトの名無しさん2017/06/26(月) 08:19:14.81ID:O05czwZw
>>128
うい、行単位でね。
Haskellは基本ファイルの中身を丸ごと文字列で受け取って、文字列で返すから、行って考えはナンバリングしたいとか、行単位で処理したいって思った時に初めてunlines.f.linesパターンで行単位に分解する。
なので出力するHaskellランタイム側にも行単位って概念が無い。

132デフォルトの名無しさん2017/06/26(月) 08:29:13.90ID:dzp1rCHS
>>131
行単位じゃないぞ
単純に間違ってるから事実だけ書くけど

133デフォルトの名無しさん2017/06/26(月) 08:29:22.47ID:O05czwZw
まあ、そんな事してるからHaskellは遅いんだろうなってのはある。
文字単位でバッファ目一杯入出力するけど、加工過程で分解して戻してってしてるんだし。

134デフォルトの名無しさん2017/06/26(月) 08:30:25.78ID:O05czwZw
>>132
なるけど、見かけのコードは行単位でも、バッファリングはそれとは別に行を越えて処理すると。
これは失礼。

135デフォルトの名無しさん2017/06/26(月) 08:37:10.13ID:O05czwZw
>>130
さらに馬鹿だ。。。
寝惚けてる。
部分適用し易いようにfsが第二引数だから

main = getArgs >>= mfput (fline reverse)

これだけで良いんだった。

136デフォルトの名無しさん2017/06/26(月) 08:44:37.68ID:e8nxxM8b
KotlinはJava標準ライブラリに対する拡張も上手い
Javaに背を向けたScalaとは違って、Java標準ライブラリの良いところ駄目なところを深く理解して
最小限でツボを押さえた拡張を入れてる
Scalaが一瞬で要らない子になったのも納得

137デフォルトの名無しさん2017/06/26(月) 08:51:02.56ID:O05czwZw
>>126
ついでに言えばPythonのは逆順でもメモリに溜め込まないはずで、大きなファイルだとPython使った方がいいってことになる。
でも、今時のスペックで問題になる程溜め込む場面自体が無い。
小説100冊分が1ファイルに入ってやっとちょっと気になるレベルだから。

なら、より短く書ける方がいい。
コンパイル遅いつっても書き捨てレベルなら毎度毎度定型的にPythonで書いてる時間で終わってる。

自分でライブラリ作ってからは完全にLL的な使い方はHaskellで良いやってなった。
素のままだとPythonのが良いけどね。
自分でライブラリ作るかどうかが決め手だった。

138デフォルトの名無しさん2017/06/26(月) 10:49:16.29ID:/blKTM20
複数のファイルを順番に読んでいって、特定の文字列が見つかるまで入力をそのまま出力する
文字列が見つかったら即終了

ってプログラムを、その自慢のライブラリで書いてみてよ

139デフォルトの名無しさん2017/06/26(月) 10:53:00.61ID:IaB2vgDA
スレ違いの日記帳の相手してどうすんの

140デフォルトの名無しさん2017/06/26(月) 11:35:20.04ID:e8nxxM8b
行単位なのはダサいといいながら自分のライブラリはべったり行単位に依存してるのが笑いどころだな
結局行単位が便利だと思う人が多いからlineSequenceみたいなユーティリティが標準で用意されてるだけで、
やってることはunlines.f.linesと変わらんぞ

141デフォルトの名無しさん2017/06/26(月) 12:07:26.65ID:lPpre0LA
>>138
import System.Environment
import Data.List
import Myfunc

main = getArgs >>= (w:fs) ->
mfput (unlines.lines.last.(takeWhile (not.isInfixOf w)).inits) fs

142デフォルトの名無しさん2017/06/26(月) 12:56:36.59ID:+LDRBUDl
import System.Environment
import Data.List
import Myfunc

main = getArgs >>= (w:fs) ->
mfput ((++ "\n").last.(takeWhile (not.isInfixOf w)).inits) fs

unlines.lines要らんかった。

直後って書いてたから最初の検索文字列全部表示される前に終了かと思って上のコードにしたけど、最初の検索文字列表示した時点で終了なら、takeWhileをdropWhileにして、lastをheadにすれば良い。

143デフォルトの名無しさん2017/06/26(月) 14:59:05.87ID:a2h1pIHa
>>122 >>136
メインプロジェクトとしていろいろ試して選んだって感じなのね
androidの主力開発言語を急に乗り換える必要が発生したから当然だけど

(な?うざいだろ?by 某M社)

144デフォルトの名無しさん2017/06/28(水) 22:04:57.53ID:l3RQzrcR
F#ってどうよ

145デフォルトの名無しさん2017/06/29(木) 00:10:11.51ID:qxdPWLiZ
OCAMLを.netで記法(not構文)変えて作りましたって感じ>F#
冗長記法だとOCAML互換性高いし

146デフォルトの名無しさん2017/06/29(木) 17:11:41.82ID:wGgfLCtF
***SLAMO***

}

000-"F","TAP","0","1M","L","E-07"/0B"[9BA%]"^"2*73B"="0"/"9GA"
001-"Do"[[[%9DE=HUF%%!%$0B1OTU"NE"]]]<\b>
002-<<%!!!HNDEL%!0DAI@$7[1B]!0#!@>>
3000-{{1\B%HUF!0$$\%6/0Q\%6/GA[[7BU]]%9TE!%$en$}}


---

[[[C%%]]]
}

000-"5802"/"α"="0.1888412376155482"%en{

147デフォルトの名無しさん2017/06/30(金) 08:41:39.49ID:l6mEUTPw
F# は 関数型らしい抽象化機能※ を持っていないのが欠点
抽象化は .NET ( C# ) 互換の抽象クラスやインターフェースで実現することができる
でも型推論が効かなかったり null 安全でなかったりして辛い

※OCaml では構造的部分型やモジュール抽象化
Haskell では型クラスや型族のこと

148デフォルトの名無しさん2017/06/30(金) 20:40:32.58ID:2TVIteiy
型だけを見ればC#とF#は同じだろ
Haskellだって型だけを見れば他の言語で同じものは作れる
型だけを見るのが王道

逆に型を無視してHaskellにしかないものを強調するのは邪道だから
惑わされるなよ

149デフォルトの名無しさん2017/06/30(金) 20:44:45.42ID:QqdIJRSN
次世代言語でHaskell並にちゃんとした型システムが入ってる言語ってある?

150デフォルトの名無しさん2017/06/30(金) 21:24:26.03ID:2TVIteiy
Haskell並ならちゃんとしてるというのは本当か?
ちゃんとしてないから「Haskell並」や「Haskellよりマシ」と言い訳するんじゃないか

151デフォルトの名無しさん2017/06/30(金) 21:27:48.40ID:2Da2vksV
構造的部分型が「ちゃんとしてる」かは大いに疑問
あんなもんドカタITで使ったら悪夢だろ

152デフォルトの名無しさん2017/06/30(金) 21:57:41.84ID:onXQUvLg
>>151
Haskellの機能じゃないし、その上根拠もない

153デフォルトの名無しさん2017/06/30(金) 22:00:33.62ID:onXQUvLg
>>150
静的型に限って言えばHaskellは上位でいいんじゃない?
強いて言うなら、TypeSynonymなクラスインスタンスぐらい言語標準で入れてほしいけど

154デフォルトの名無しさん2017/07/01(土) 09:18:35.85ID:1tCqnKMv
中途半端な奴だな
オレが一位だというならまだわかるが
Haskellが上位だという主張の何が嬉しいのか

155デフォルトの名無しさん2017/07/01(土) 10:27:16.17ID:yvgbUlYU
古い関数型言語関係の本だと、論理型言語が関数型言語の次の世代とか書いてて、まあ実際最近ワトソンやらペッパーやらAI関係で注目されてるのも論理型言語な訳で。
んじゃPrologはHaskellより使い易いんか?と勉強中。

早くもコレジャナイ感が。。。
もっと今時の論理型言語って無いんかな。

156デフォルトの名無しさん2017/07/01(土) 10:52:05.29ID:yAtrmQtL
Adaの型はどう?

157デフォルトの名無しさん2017/07/01(土) 20:53:28.76ID:fjhXkhY/
>>154
また話の流れ無視してケチつけてる
ちゃんとしてるって意味だよ

158デフォルトの名無しさん2017/07/01(土) 22:05:29.59ID:wWo+lhH6
ケチつけたいだけのガガガガイジの相手すんなよな

159デフォルトの名無しさん2017/07/01(土) 22:57:47.40ID:1tCqnKMv
競争に勝つためにケチをつける自由がある
負ける自由もある
好きな方を選べ

160デフォルトの名無しさん2017/07/02(日) 00:11:43.12ID:gxDwTGkS
あ、そう言うこと言っちゃう?
おいらのライブラリ(>>84-85)の肝はmfputとmfwriteだが、結局他の言語で同じ様な関数作ってない。
当然だ。
Haskellは手続き型言語のforにあたるmap系の関数もそのまんま関数だし、Haskellだと自然に出力系は最後尾に追いやられるから関数化しやすいんだよ。

普通の言語は処理しながら出力する。
確かに効率が良い。
だが、再利用し難い。

今時のPCなら効率より再利用性のが重要だと思うんだ。
異論は認める。

161デフォルトの名無しさん2017/07/02(日) 01:00:22.98ID:C9YQ5tYh
大きなファイルを処理できないことで再利用性が大幅に低下するとは考えないのかな?
再利用の機会の多いものであれば少々手間をかけても効率を上げる価値があるケースもある

162デフォルトの名無しさん2017/07/02(日) 01:20:46.16ID:u1Wmv21R
LispとPrologの構文は汎用性があるからパーサーの再利用が重要だよ
文字列処理のような新しいパーサーを作る機能は重要じゃないよ

でも文字列の処理を書いてしまったらもう再利用を語る資格はないと思う

163デフォルトの名無しさん2017/07/02(日) 07:23:22.14ID:WUD7Q/xy
>>161
何度も書いた気はするんだが、遅延評価でメモリに溜め込んで出力してる様に見える処理も、
実際に火必要に応じて出力しながら処理してるから、.実際に溜め込んじゃうreverse使う様な処理じゃなければ大きなファイルも扱えるし、その気になればreverseな処理もCのfseek相当の関数もあるから克服出来る。
ただ、そこまで大きなファイルなら、Cで書いた方が速いの分かってるし適材適所。

164デフォルトの名無しさん2017/07/02(日) 08:20:48.27ID:uovtJU8N
>>163
それはちゃんと出力先があれば、の話なんだよな。
出力を怠るとメモリがお漏らししちゃうぞ。

165デフォルトの名無しさん2017/07/02(日) 09:08:10.92ID:hGhen2or
出力先がない状況って何ンゴ?

166デフォルトの名無しさん2017/07/02(日) 09:28:31.60ID:lZlu9LSV
>>160
mapに出来てforに出来ない事って何?

167デフォルトの名無しさん2017/07/02(日) 09:46:22.26ID:0JAKzAeZ
明らかに>>122の方が可読性が高い件

168デフォルトの名無しさん2017/07/02(日) 09:53:43.24ID:nuNQpba8
forに出来てgotoに出来ないことって何?

169デフォルトの名無しさん2017/07/02(日) 09:54:28.82ID:sP9TjomQ
もうjavascriptだけで良いよ

170デフォルトの名無しさん2017/07/02(日) 09:55:33.26ID:lZlu9LSV
>>168
ライブラリ化や可読性の意味でだよ

171デフォルトの名無しさん2017/07/02(日) 09:58:49.45ID:lZlu9LSV
ちなみにHaskellではforMとmapMは引数の順番が逆なだけ

172デフォルトの名無しさん2017/07/02(日) 11:33:32.10ID:Nl2/i6W2
fmapと内包表記とdo記法は外見が違うだけ
javaとscalaとkotlinみたいなもん

173デフォルトの名無しさん2017/07/02(日) 12:30:20.47ID:Ey9UZy2f
>>166
値を返せない。
関数合成出来ない。

174デフォルトの名無しさん2017/07/02(日) 12:36:37.05ID:0JAKzAeZ
>>173
今時はyieldとかあるんやで

175デフォルトの名無しさん2017/07/02(日) 12:39:37.96ID:Nl2/i6W2
値を返せないのは、getterを作るなというOOPの教義のせいでもある

176デフォルトの名無しさん2017/07/02(日) 14:28:11.11ID:lZlu9LSV
>>173
老害を自覚しましょうね

177デフォルトの名無しさん2017/07/02(日) 15:37:42.58ID:Nl2/i6W2
pythonのyieldはStopIterationが気持ち悪い
ではnullを返せばいいかというとそれも気持ち悪い
値を返せない空気に逆らうのは楽じゃない

178パシュー2017/07/02(日) 16:23:07.20ID:JZu2jdmH
スレ違いであればすみません、どなたかわかる方いらっしゃればお願いします。

先日、営業電話があり、お宅のところはau光を利用してますよね?
→今まで、この手の電話で言った覚えが無い。ただ、au光は確かに利用・・・
何故、わかるのか問いただしたところ、相手からこちらの固定電話に電話するときや、
メールに送信するときの反応、時間、信号?跳ね返りの反応? でわかりますとの回答。
確かに先日、某サイトから携帯とセットでネット環境の見直しとして、
問い合わせはしましたが、果たして、相手からメールアドレスを
送信した時の反応や送信までの時間、
電話が繋がるまでの少しの時間での反応などで分かるものなのでしょうか?

ちなみに携帯の番号は教えてません。携帯であればドコモやauなどとあたりをつけることはわかるのですが…
どなたか教えて下さい!

179デフォルトの名無しさん2017/07/02(日) 18:05:16.33ID:XQorprgY
選択肢が少なけりゃあてずっぽでいいだろw

180デフォルトの名無しさん2017/07/02(日) 18:06:59.55ID:O/UEQvVu
>>178
スレ違いどころか板違いだが、結論だけ言うとわからない
単に名簿屋から買いましたって言いづらいから、素人騙しでそう言ってるだけ
続きはヤフー知恵袋でやれ

181デフォルトの名無しさん2017/07/02(日) 21:50:57.08ID:19kDKEGS
>>174
yieldとか書く時点でダルい。
そんな速度変わらんのに、なんでそんな書かなあかんねん。

182デフォルトの名無しさん2017/07/02(日) 22:22:57.06ID:19kDKEGS
>>176
まあ若いと言えない年になりつつあって20代の頃に比べりゃ覚えが悪くなってる自覚はある。
それでもC/C++、VB(.net含む)、Java、C#、Python、Ruby、smalltalk、Delphi含むPascal、もちHaskellは割と使えるぞ。
なんと無く分かっただけなのはLisp、Prolog、Erlang。
関数論理型言語Curryはもうチョイメジャーになったら本格的に覚えたい。

でもな。
学習と挫折繰り返した末に到達したのは覚えた言語の数じゃないって事だ。
知るべきはアルゴリズムや文法じゃ無い。(いあ、後々覚えなきゃだが)
作りたいアプリに対する周辺知識。(ファイル構造だったり、アプリにしたい事象に対する知識)

183デフォルトの名無しさん2017/07/02(日) 22:26:25.12ID:19kDKEGS
あ、x86とARMのアセンブラもか。

184デフォルトの名無しさん2017/07/02(日) 22:31:49.24ID:19kDKEGS
てか、Haskellのお陰でクイックソートがやマージソートがどう言う動きしてんのか理解出来たんだよ。
そう言う意味じゃCやJavaのアルゴリズム本みたいにコード示して終わりじゃ無くて、超初心者向けのどう言う動きですって動きだけ説明してる本のが有用だわ。
それ読んでコード書けない程度の抽象的な考えが出来ない(おいらみたいな)奴はプログラマの才能無い。

185デフォルトの名無しさん2017/07/03(月) 00:03:55.72ID:Tx9mAztB
Haskellのinplace quicksortって可読性低くて冗長じゃん
Haskellerはあんなのが読みやすいの?

それとも、全く実用にならないquicksortのコードみて簡潔だと思っちゃったタイプ?

186デフォルトの名無しさん2017/07/03(月) 00:05:35.20ID:MHKU0t6b
再帰のクイックソートは理解しやすいからな
実用性はともかく

187デフォルトの名無しさん2017/07/03(月) 00:08:46.80ID:UYk8Gv77
>>185
うい。
TDNクイックソートで簡潔だと思ったタイプ。
遅いって分かっててもね。
動作さえ分かれば他の言語で書けるんじゃよ。
そしたら実用的になる。
LL的な使い方なら速度必要無いから、これ以上簡潔なものはない。

188デフォルトの名無しさん2017/07/03(月) 00:37:29.08ID:wW6TPWna
C のコードより haskell のクイックソートのが理解しやすいって
本気で言ってんの?

189デフォルトの名無しさん2017/07/03(月) 00:46:37.45ID:MHKU0t6b
妙なハードルつけてそれは本当の理解じゃないとかいうガイジ湧いてきたか?

190デフォルトの名無しさん2017/07/03(月) 00:49:28.31ID:oRb6DKWl
Cのクイックソートも悪くないよな
たった一個の配列を部分部分で触っていくだけ
範囲きめてピボットきめて交換、の繰り返し
メモリの使用に余計なところが無いからスカっとする

191デフォルトの名無しさん2017/07/03(月) 08:07:49.86ID:02h+sYLq
>>189
空間計算量とか知らない低脳君はアルゴリズムの話しに入ってこないでね

192デフォルトの名無しさん2017/07/03(月) 08:47:12.79ID:MHKU0t6b
>>191
勝手に相手の理解度決めつけるガイジはレスしないでね

193デフォルトの名無しさん2017/07/03(月) 08:49:31.61ID:MHKU0t6b
まずこの話計算量関係ないからな
二重の意味でガイジやね

194デフォルトの名無しさん2017/07/03(月) 08:57:49.58ID:1X06ZxCF
>>193
いやいや関係あるからw
in-placeって文字も読めないのかよ
図らずも君の低脳度もより明らかになってしまったね

195デフォルトの名無しさん2017/07/03(月) 08:59:51.73ID:deAVzAEO
>>194
in-placeの話してるのお前だけだから
自分の話したいことと人が話してることの区別もつかないとか凄いな

196デフォルトの名無しさん2017/07/03(月) 09:05:27.81ID:1X06ZxCF
>>195
だから低脳はアルゴリズムの話に入ってこなくて良いって
ドカタは用意された関数呼び出すだけなんだから

197デフォルトの名無しさん2017/07/03(月) 09:07:05.32ID:1X06ZxCF
でもO(n)とO(n log n)の区別もつかない低脳が次世代言語について語ってるって面白いな

198デフォルトの名無しさん2017/07/03(月) 09:11:01.34ID:deAVzAEO
>>196
周り見ろよ。今そんな話してるのお前だけだぞ
話に入ってきたのはお前だ
あと2回目だけど勝手に人をin-placeのクイックソート理解してない扱いするのやめてね。流石に不快だから

199デフォルトの名無しさん2017/07/03(月) 09:31:49.69ID:1X06ZxCF
>>198
ああゴメンゴメン
>>189がin-placeを「妙なハードル」とかとんでもない事言ってるから、つい言葉がキツくなっちゃった
ハードルどころか基本中の基本だよねw

200デフォルトの名無しさん2017/07/03(月) 09:49:48.18ID:deAVzAEO
>>199
ああそういうことね
ハードルはin-placeを指して言ったんではないんよ
ID:19kDKEGSはHaskellのコードで何をやってるか理解してから普通のクイックソート理解したみたいで、そこに>>188が来たから理解というものに妙なハードルというか拘りみたいなものを持っていると言いたかったんよ
たしかにハードルっていう表現はあんまり良くなかったな

201デフォルトの名無しさん2017/07/03(月) 10:41:46.80ID:apAa5CHd
Cが原文でHaskellが翻訳文という前提なら
誤訳のリスクがあるHaskellの方が読みやすいってことは理論上ありえないね
でも理論には前提があるから、前提をぶち壊せば理論上ありえないことが実現する

202デフォルトの名無しさん2017/07/03(月) 11:19:50.56ID:6QSWtKdI
>>188
そのクイックソートのコードは知らないから的外れになるかもしれないが
普通は、Cのコードなんて慣れている人以外には判じ物みたいで
何だってHaskellのコードの方が判りやすいだろう

203デフォルトの名無しさん2017/07/03(月) 14:43:11.96ID:X+xTdZLt
次世代言語スレで何でみんなCとHaskellの話してんねん
そのうちCOBOLとかForthの話になるのか

204デフォルトの名無しさん2017/07/03(月) 15:00:48.27ID:JOeKNGQV
全部、第3世代言語じゃ

205デフォルトの名無しさん2017/07/03(月) 16:15:40.55ID:NT4tSDag
どんどんプッシュしたくなる次世代言語が見えなくて
現実逃避してるような気がするのは気のせい?

206デフォルトの名無しさん2017/07/03(月) 17:12:08.86ID:apAa5CHd
言語を使いこなす正攻法よりもマインドをコントロールする裏技ばかり使うクズが増えた
言語の進化は止まった

207デフォルトの名無しさん2017/07/03(月) 17:41:53.22ID:XPxmwxQZ
>>203
CはともかくHaskellは永遠の次世代言語やぞ

208デフォルトの名無しさん2017/07/03(月) 18:09:44.24ID:VYGl+Wps
娘に年齢を越されるんですね。

209デフォルトの名無しさん2017/07/03(月) 20:16:26.39ID:wW6TPWna
普通にググればわかりやすい説明がでてくるというのに。。
本当に haskell のが分かりやすいなら下の wiki のページを書き換えてこいや。

https://ja.wikipedia.org/wiki/%E3%82%AF%E3%82%A4%E3%83%83%E3%82%AF%E3%82%BD%E3%83%BC%E3%83%88

210デフォルトの名無しさん2017/07/03(月) 20:54:48.22ID:UwBLUxpl
>>188
本気も本気。
んで、やっとCのクイックソートの動きや無駄の無さが理解できたし、自分で(コピペじゃ無く)書けるようになった。
才能ある奴は最初から理解出来るんだろうけど、おいらはHaskell経由する事で色々理解出来たし、Haskellでなら何でも書けるぞ‼︎ってなってから、やっと文法やアルゴリズム以上に大事なのはデータ構造だと気付いた。
メジャーな画像ファイルのデータ構造書いてるサイトあったら教えてくれ。
そしたら画像変換ソフト作る。
今はテキストなら分かってるからCUIのviライクな(悪魔でライク。自分なりにもっと一貫性のある移動コマンドにする予定)テキストエディタ今度の休みから作り始める予定。
Haskell普及の宣伝の一助になれば良いな。。。

211デフォルトの名無しさん2017/07/03(月) 20:56:29.38ID:NMIlsMGj

212デフォルトの名無しさん2017/07/03(月) 20:58:45.47ID:uur8r/IN
ガイジガイジ言ってるやつウザい
話入って来れないならレスすんな

213デフォルトの名無しさん2017/07/03(月) 21:02:05.61ID:oRb6DKWl
>>210
お前ごときがhaskell語るのもうやめたら?
俺の言ってる意味わかる?

214デフォルトの名無しさん2017/07/03(月) 21:06:06.20ID:zOP0e03G
そんなことよりElixirやろうぜ!楽しいよ!

215デフォルトの名無しさん2017/07/03(月) 21:13:32.99ID:lw0BfZsD
ぜひ樂しさを語ってくれ

216デフォルトの名無しさん2017/07/03(月) 21:27:19.89ID:UwBLUxpl
>>213
他に語る奴いないから語ってる。
代わりに普及に貢献してくれるんならROMっても良い。
それ位惚れてんだ。

217デフォルトの名無しさん2017/07/03(月) 21:27:43.28ID:sUmj13cM
どうしてもエリクシールって読んじゃって

218デフォルトの名無しさん2017/07/03(月) 21:29:54.44ID:oRb6DKWl
>>216
お前のレス一切いらんから一生ROMれ。
つづきはお前のブログでやれ。

219デフォルトの名無しさん2017/07/03(月) 21:34:45.78ID:zOP0e03G
Haskellの普及を一時やってたんだがElixirに乗り換えたお

220デフォルトの名無しさん2017/07/03(月) 21:38:50.74ID:OUQpTrGv
>>214
エリクサーは並列処理楽そうだから興味ある。
ErlangはPrologっぽいのが馴染めなかったからね。。。
(そのPrologも、地味に論理型言語の実験場的役割してるって記事読んで、制約論理プログラミングが取り入れられてるの実感して見直したところだけど)

221デフォルトの名無しさん2017/07/03(月) 21:40:10.37ID:OUQpTrGv
>>218
なら、代わりに普及してくれ。
不安に思ったらすぐ出てくるぞ。

222デフォルトの名無しさん2017/07/03(月) 21:44:50.57ID:Rzh0OD1D
いい、先生の言うことをよく聞いて。
Haskellは永久に普及しないの

223デフォルトの名無しさん2017/07/03(月) 21:51:13.50ID:PMhP6mgs
分かってんよチクショウ。
でもな。
これ程入門者向けの言語は無いと思ってるんだ。
それこそ、小学生からプログラミングが取り入れられるなら、Haskell教えるべきだってくらいに。
構造が分かれば、手続き型言語後から覚えても役に立つ。
Haskellはプログラムの構造を明らかにする。

224デフォルトの名無しさん2017/07/03(月) 21:58:28.81ID:oRb6DKWl
>>223
分かりやすく言う
お前はもうこのスレに来るな
お前のレスは一切必要が無い

225デフォルトの名無しさん2017/07/03(月) 22:08:00.17ID:deAVzAEO
Haskellの人結構いいと思うけどな
言ってることもまあまあ妥当だと思うぞ

226デフォルトの名無しさん2017/07/03(月) 22:09:47.05ID:JRmmHagw
>>223
haskellが小学生の入門に最適な理由を小学生にもわかるように説明してみろよw

227デフォルトの名無しさん2017/07/03(月) 22:15:14.50ID:wybralPC
このスレだけじゃなく他もやめてくれ
ほんと迷惑以外の何者でもない
そのレベルのHaskellの布教や他言語disが死体ならブログでやってくれ
でなきゃせめて読まずに済むようにコテハン付けてくれ

228デフォルトの名無しさん2017/07/03(月) 22:17:15.83ID:wybralPC
>>226
相手にするのもやめてくれ
過去の経験から
コイツからろくな考察が出てくるわきゃない

229デフォルトの名無しさん2017/07/03(月) 22:20:39.13ID:wybralPC
コイツのつまんない自己満ライブラリ連投がなきゃスレがにぎわんってなら
過疎って落ちる方がずっとマシ

230デフォルトの名無しさん2017/07/03(月) 22:32:40.33ID:r5yHurmA
一つにまとめてくれんかね
なんで言語乱発すんの

231デフォルトの名無しさん2017/07/03(月) 22:40:55.36ID:hTTgnp+k
>>224
んじゃ、課題な。
これ解決したらROMる。
>>84-85のコードで>>85だな。
mfptn,mfput,mfwriteに相当する汎用的な関数手続き型言語で書いてくれ。
Haskellより簡潔な形で。

表面的にはクロージャ渡してループの中の変数に渡せば良い。
問題は、オープンするには純粋なファイル名だが、表示する時ファイル名を青文字にしたいとかそう言うカスタマイズ可能なmfptnが書けるかだ。
書ければmfputもmfwriteもmfptn使って似た様なコード書かなくて済む様になる。

>>225
ありがとう。
これでも言語オタとして色んな言語渡り歩いて導き出した結論。
やっとプログラマのスタートラインに立てた実感からの発言。
マジレスってやつなんだ。
間違ってたら指摘も結構。
真摯に受け止める。

今はプログラミング用のコマンド作ってるのがメイン。
自分の為のツール作るのが一番モチベーション保てるね。

HaskellerならEmacsって思ってたけど、viが軽くて、実験的に書いた行を消したいだけとかに良いね。
(Emacs、編集したいだけなのに型検査だかコンパイルだかやってんじゃねーよボケ)
ただ、せっかくhjklで上下左右一文字移動なんだから、その上下段のyuioやbnm,で単語や行の移動しても良いじゃんよって思ったから作ろうと思ってる。
u/Uのアンドゥー/リドゥーは。。。CntlとAltかな。。。

232デフォルトの名無しさん2017/07/03(月) 23:04:54.14ID:oRb6DKWl
>>231
お前の課題が解決しようがしまいがROMれ
ブログの書き方がわからんのならぐぐれ

お前の愚にもつかない自己紹介
愚にもつかないポエムはそこで存分にやれ
それはもうそこで存分にやってくれ

233デフォルトの名無しさん2017/07/03(月) 23:08:44.96ID:hTTgnp+k
>>226
小学生に算数って実は面白いかも?って思ってもらう本(電子書籍)書いてからね。
元々書きたいとは思ってるんよ。

Haskell入門以前って電子書籍は出してる。
以前って付くの一冊しか無いから一発。

普通の再帰が末尾再帰に自動変換の下りは嘘っぱちで、スタック消費を抑えただけだったみたいなんだけど、それ以外なら関数脳作る一助になると思う。
お金あるならプログラミング in OCamlのが関数脳作るのに良いと思うけど。
(これの著者がHaskell本書いてくれれば最高なのに)

234デフォルトの名無しさん2017/07/03(月) 23:11:09.43ID:hTTgnp+k
>>232
あえて嫌われ役やってんのに、課題解かずにROMれとかおいらの思う壺。
やはりHaskellはLLよりも再利用性が高い。

235デフォルトの名無しさん2017/07/03(月) 23:16:44.69ID:lw0BfZsD
>>233
2冊ww

236デフォルトの名無しさん2017/07/03(月) 23:16:55.17ID:apAa5CHd
ジョブズのように美しいデザインに異常にこだわるタイプが
もし表現の自由や基本的人権を美しくないと判断したら何が起きるか
既に何か起きてるか

237デフォルトの名無しさん2017/07/03(月) 23:30:27.58ID:hTTgnp+k
>>235
多分尼とパブーの2冊。
内容同じ。
パブーは無料。
尼は無料に出来なくて仕方なく100円。。。

238デフォルトの名無しさん2017/07/04(火) 00:13:38.28ID:ay5PiZ4N
nl, tac, grepで全部事足りるんだが

239デフォルトの名無しさん2017/07/04(火) 00:47:05.17ID:huKUW2nT
nlなんて書いた覚えないが。。。
tacやgrepと言うコマンド名を知らなかった頃に書いたのを、リネームしただけだからね。
そう言う機能がないか調べるより書いちゃえって主義。
おいらの場合、そうでも無いとプログラミング力が付かない。

240デフォルトの名無しさん2017/07/04(火) 04:24:48.11ID:LX4AtBOp
>>231
スレチだけどVimのyuioを潰すのは許せん
それはマジで許せん

241デフォルトの名無しさん2017/07/04(火) 06:47:47.53ID:IVSy+wIs
>>239
再利用性が大事なんじゃなかったのか?

242デフォルトの名無しさん2017/07/04(火) 12:23:37.78ID:FYa81knm
Linux始めたばかりで探すより書いたほうが早かったから。
どっちが早いかの問題。

243デフォルトの名無しさん2017/07/04(火) 12:25:05.34ID:FYa81knm
>>240
自分用だから。。。
公開するとしても選ぶ自由はユーザーにある。

244デフォルトの名無しさん2017/07/04(火) 14:01:02.84ID:pyKR417/
やんくとアンドゥ潰すとか誰が使うんだよ

245デフォルトの名無しさん2017/07/04(火) 14:09:58.01ID:pyKR417/
よく見たらinsertモードと改行insertも潰れるのかwww
もうそれvimでもなんでもねーやん

246デフォルトの名無しさん2017/07/04(火) 14:15:22.45ID:vfHvNnoh
勉強せずに自分で作るとか言ってるとヤンクアンドゥインサート改行インサート潰すガイジに成り下がるのか
やっぱり慣例の勉強って大切だわ

247デフォルトの名無しさん2017/07/04(火) 18:25:49.77ID:ZOpHOB0v
再利用性大事とか言いつつオレオレ仕様で車輪の再発明しちゃうアホンダラなんだなぁHaskellerって

机の上のお勉強はできるのかもわからんが、ギークとしてのセンスが皆無なんだな

248デフォルトの名無しさん2017/07/04(火) 18:30:51.12ID:ZOpHOB0v
探す手間より書いた方が早いとか言うやつは、自分の書いたもの見せびらかしたいだけ

お勉強はできるからそこそこのものを作れるんだろうが
既存の枯れたものの仕様ガン無視で作るせいで結局作ったお前さんしか再利用できないオナニーの産物

249デフォルトの名無しさん2017/07/04(火) 18:35:07.55ID:ZOpHOB0v
別に言語の再利用性は机の上でのお勉強の得意なお前さんの言う通り
Haskellの方が高いんじゃねえの?しらんけど

でもお前さんがオレオレで作ったものの再利用性は低いよなあってお話
なんせ既にあるものガン無視でオレオレ仕様の再発明しかしてねえんだから

250デフォルトの名無しさん2017/07/04(火) 19:11:10.26ID:pyKR417/
>>239
いくらなんでもgrepも知らないって調べるより書いちゃえも何も、
単純にエンジニア、ライブラリアンとしてものを知らなすぎだろ

ls, find, cat, grep, sed, awk, xargsくらいは、知ってないとわけわからんよ
プログラミング力どうこう以前の問題

Haskellプログラマが全員こんなに馬鹿だと思われるのはすごく悲しい

251デフォルトの名無しさん2017/07/04(火) 19:26:44.78ID:Mgy1XtU/
cat より less
cat より vi

252デフォルトの名無しさん2017/07/04(火) 19:32:55.21ID:bn9cQclE
catよりdog

253 ◆QZaw55cn4c 2017/07/04(火) 20:15:18.37ID:wi75CMMG
>>184
Haskell のクイックソートやマージソートは本質を失っている,重要なのはインプレイス性だが haskell にそれは望めない

254デフォルトの名無しさん2017/07/04(火) 20:35:49.53ID:KFTmH+Xw
>>244-246
そうか、ヤンクも潰しちゃうねぇ。。。
あれか。
Ctrl+hjklとかAlt+hjklに移動は集約しちゃうか。
コーディングしたくて気が早って"("押したら移動しちゃうとかが不便で、そう言うの起きにくい仕様にしたいだけなのよね。

オレオレのオナニーで結構だとは思うんだけど、不便にしたいわけじゃない。
少なくともおいらにとっては便利じゃないと。

>>247
ずっとWinだったんでcdとcatとlsはとりあえず分かったけど、awkとsedは聞いた事あるだけで、どんな機能か未だ分からず。
時間見て調べる予定。
grep,findはそう言う機能はあるだろうなとは思ったけどfindは望む機能じゃなかった。
grepは鯖入門書読むまで知らなかった。

元々そう言う不便な環境に身を置けば欲しい機能は自分で書くしかなくなるから、プログラミング能力伸びるだろってのが目的なんで、ある意味目論見通り。

255デフォルトの名無しさん2017/07/04(火) 20:37:38.04ID:KFTmH+Xw
>>253
インプレイス性と言うのは何でせう?
それが分からんと反論も同意も何も出来ない。

256デフォルトの名無しさん2017/07/04(火) 22:34:12.67ID:otSZmZCY
In-placeじゃね?
(ほとんど)メモリ追加せずにその場でソート

257デフォルトの名無しさん2017/07/04(火) 23:18:10.83ID:KFTmH+Xw
ああ、省メモリってことね。
そりゃそうだ。
おいらだって手続き型言語で書けばなるべく書き換えで済まそうとする。
手軽さ優先か性能優先かだよ。
でも、性能優先のコードしか提示されなかった頃はどう言う動きか読み取れなかった。
その時点でプログラマの才能無いんだろうけど。
Haskellのコード見て、手続き型言語で書くには?ってなったら自然と配列書き換えられるんだから、書き換えた方がメモリ少なくて済む(&配列追加の手間が無い)ってなる。

言語によって面倒くささが違うんよね。
例えば総当たりソートとクイックソートは手続き型言語じゃ難易度に大差あるけど、関数型言語は大差無かったり。

LLでも大差無いけど、おいらのmfptn関数みたいなのがLLって感じで、難しい言語でよく使うパターンを文法やライブラリにしましたってだけで、そこから外れると普通の手続き型言語。

258 ◆QZaw55cn4c 2017/07/05(水) 03:30:13.16ID:CpudxOdu
>>256
データのコピーを極力少なくしてその場でソート

259デフォルトの名無しさん2017/07/05(水) 06:47:52.98ID:x40Yunw0
>>250
そこから漫画みたいなインフレが起きて「perlくらい知ってないと」ってなるのが
linuxの醍醐味

260デフォルトの名無しさん2017/07/05(水) 07:01:16.37ID:SG/9DEZV
>>257
お前Haskellで書きにくいコードから逃げて、
書けるとこだけ書いてHaskell書きやすいって言ってるだけじゃねーか
お前はそのクソコードで満足なのかもしれんが、それを押し付けてくんな

違うっていうならin-placeのソート書いてから能書き垂れろ

261デフォルトの名無しさん2017/07/05(水) 07:27:05.94ID:+U8R7kGU
それの何がいけないんだろうか。。。
速度欲しい時だけCで書けば良いってのはまさにそれだが。
Haskellでも書けないことはないんだろうけど、楽するための言語なんだから、そんな事するならCで書くよ。
おいらにとってはLL的な用途にはLLよりHaskellのが楽だった。
それだけの事。

262デフォルトの名無しさん2017/07/05(水) 07:33:33.70ID:x40Yunw0
仕様書の常套手段か
書ける仕様だけ書いて残りは実装依存で逃げる

263デフォルトの名無しさん2017/07/05(水) 07:38:51.44ID:bh56GpK2
Haskellの再利用性に関する重大な課題は>>80-81で既に示されてるね
mfput君の意見がまだみたいだけど見解は?

264デフォルトの名無しさん2017/07/05(水) 07:51:17.76ID:0jzZYcN5
>>142も結局mfputしか再利用出来てないし
mfput君は今のところ肝心の再利用性の高さについてはほとんど立証できていないように見える
Haskell云々というより本人の設計センスの問題な気もするが

265デフォルトの名無しさん2017/07/05(水) 08:10:24.97ID:SG/9DEZV
お前の意見なんて「自分のような初心者にとってはHaskellは分かりやすかった、以上」だけで十分なんだよ
お前のクソ初心者臭いコードやポエムを読まされて
他者が得るものがあるとでも?

266デフォルトの名無しさん2017/07/05(水) 08:28:35.89ID:+4iFZrIp
2chのレスに得るもの求めるとかガイジかよ………
Stack overflow 池

267デフォルトの名無しさん2017/07/05(水) 08:33:57.06ID:6kuRSSMe
俺は2chで煽り耐性を身に着けた

268デフォルトの名無しさん2017/07/05(水) 10:00:37.58ID:tWLafY8Y
このスレでガイジガイジ連呼してるやつマジ病気かよ
どんだけリアルで悲惨な人生だったらこうなるんだ

269デフォルトの名無しさん2017/07/05(水) 10:24:17.91ID:x40Yunw0
漫画みたいにいつまでたっても話が終わらない
病気か才能かはわからんが

270デフォルトの名無しさん2017/07/05(水) 12:26:16.42ID:+4iFZrIp
Haskellの言ってることは一応一貫してる
そこに突っ込んでる人は一貫してる部分を読めていないとしか思えないツッコミばっかり
そんな的を外したらツッコミに逐一返信してるんだから永久に終わるわけがない

271デフォルトの名無しさん2017/07/05(水) 12:32:33.78ID:GeoIRJSP
>>263
>>81がまさにおいらの回答だが。。。

mfputはLLより短く書けないもんかと考えた時、あらゆるものが関数何だから関数化出来るじゃんって思い付いた。

272デフォルトの名無しさん2017/07/05(水) 12:38:33.21ID:GeoIRJSP
>>265
あはは。
その通りだよ。
LLより初心者に優しいってのがまず一つ。
LLに限らないけど、定型文になってる部分もパターン化して関数にし易い(LLでも出来るだろうがスマートじゃない)

273デフォルトの名無しさん2017/07/05(水) 12:45:05.83ID:XfevCCY3
しんちゃんスレ

274デフォルトの名無しさん2017/07/05(水) 12:53:14.41ID:PFivIsqu
>>271
81が回答とかさすがにガチハスケラにぶん殴られるぞ
ハスケラはこういう突っ込みには
「呼び出し側も含めて設計を見直せ。状態を持たせるというのは本質的に重大な変更であるから影響が大きいのは当然である。」と答えるのがテンプレだ
覚えておけば役に立つよ

275デフォルトの名無しさん2017/07/05(水) 13:23:50.44ID:x40Yunw0
Javaでもうっかりstatic変数を使うと設計を見直させられるパターンだろ
thisとかselfとかいう引数を追加するのが定石
これはHaskellでも簡単にできる

276デフォルトの名無しさん2017/07/05(水) 13:59:00.37ID:PFivIsqu
Javaの場合はインスタンスフィールドでいいだろ
Haskellだと直前の値を保持しているところまで遡って全部修正かな

277デフォルトの名無しさん2017/07/05(水) 21:01:53.58ID:z3CI8qH6
>>274
STモナドとかで実現は出来るんだけどさ。
GUIならGUI、DBならDBに状態保持を任せちゃった方がスマートだとは思わないかい?
テンプレじゃ無く、あんたのハートに聞いてる。

ああそうそう、実はgrepは検索文字列が見つかった前後20文字表示にするか行表示にするか迷って、行表示の方が簡単だからたまたまgrepと同じ機能になっただけで、前後20文字の場合は別にファイルの内容丸ごと記憶しておく変数を引き回しても良かった。
どうせ遅延評価で必要になるまで読み込まれないから2ファイル同時でもたかが知れてるしね。
丸ごと記憶する方法も、見つかったら29文字以前をGCしやすいようにするのと1から検索させるのとあるけど、小説10-20冊を1ファイルに収めても問題無いんだから気にする事もない。

278デフォルトの名無しさん2017/07/05(水) 21:03:02.86ID:z3CI8qH6
x29
o20

279デフォルトの名無しさん2017/07/05(水) 21:21:41.45ID:HfOW3or9
いかにHaskellキチがお勉強できて正しいこと言ってようと
こいつがgrepを始めとしたツールを知らない無知で
オレオレ仕様で再発明してドヤ顔してるトンチキなのには変わりないんだよな

280デフォルトの名無しさん2017/07/05(水) 21:23:14.50ID:HfOW3or9
Haskellが使える言語かどうかは知らんけどHaskellerがオタンコナスなことはまた一つ実例が出てきてしまった以上の情報はないね

281デフォルトの名無しさん2017/07/05(水) 21:27:53.06ID:vgwSeoh2
このHaskellerってファイル読み込んで同じファイルに上書きするの出来ないとか言ってたはずだけど、
それでどうやってテキストエディタ作るんだろう?
まさか全部DBにデータ入れるのか?
テキストエディタのインストールの前にDBのインストールが必要ってことか?

282デフォルトの名無しさん2017/07/05(水) 21:39:14.16ID:HfOW3or9
>>281
一時ファイルに書き出してムープじゃね?

283デフォルトの名無しさん2017/07/05(水) 21:46:58.82ID:z3CI8qH6
>>279-280
おいらがトンチキ呼ばわりはいいんだよ。
あれ、Haskell使えるんか?使ってみようかなって人が増えれば。
んで、そんな無知で馬鹿な奴でも書けるアピールな。

284デフォルトの名無しさん2017/07/05(水) 21:50:19.56ID:z3CI8qH6
>>281
それはwriteFile関数の仕様。
readFaile幾つ読み込んでもいいし、下位の関数探ってれば複数ファイル書き込めるのもあるだろう。
安全の為の仕様だし、安全じゃないのを許容するのがあるはず。
最悪、Cで書いてFFIでHaskellから呼べば良い。

285デフォルトの名無しさん2017/07/05(水) 22:04:05.82ID:fqeoBJ4G
>>277
全く思わないな
なんで勝手にGUIやDBを前提にしてるんだ?
これまで状態を持たなかった関数を前後の値を考慮するように変更したいというのは
君の大好きな「LL的なタスク」であってもそれほど珍しい状況ではないように思うぞ?

286デフォルトの名無しさん2017/07/05(水) 22:42:05.37ID:+4iFZrIp
>>281
よく知らんけどleksahって言うHaskell製IDEが実在しているのでこのHaskellの人が言ってることが間違ってるのは間違いない

287デフォルトの名無しさん2017/07/05(水) 22:49:59.85ID:+4iFZrIp
つーか>>274>>277で返すのは会話が噛み合ってないだろ
正しい答えは「ごめんなさい」だ

288デフォルトの名無しさん2017/07/05(水) 23:03:23.20ID:bh56GpK2
だいたいDBやGUIに持たせるといってもどこからそのコンテキストを持ってくるんだ?
結局呼び出し階層を遡って大修正だろう
暗黙的に環境の状態にアクセスするような関数があればいいとか思ってるなら、冗談抜きで怖いハスケラに夜道で襲われるレベルの邪悪な思想だぞそれ

289デフォルトの名無しさん2017/07/06(木) 00:04:57.61ID:CrSqEEHs
大きすぎて修正できないならさっさと諦めて逃げれば邪悪にはならないが
逃げるくらいなら邪悪な方がマシだと思うから邪悪になる

290デフォルトの名無しさん2017/07/06(木) 01:50:43.47ID:9Gxa3EmF
>>283
まーHaskell自体は決して使えん言語ではないのは知ってる

書くもんが大型化してくるとデフォ遅延評価のせいで副作用周りのデバッグが発狂難易度になるとか
ちょっと気を抜くと遅延サンクが膨れ上がって死ぬとか
色々あるからあんまりモノリシックにでかいものを複数人で書くのには向いてない言語だとも思うがね

そういう意味でHaskellはハードウェア記述言語に向いてると思うんだが、まだこれといったやつが出てきてないんだよな

291デフォルトの名無しさん2017/07/06(木) 02:15:34.43ID:pIo4ewrq
そもそも関数型が解決しようとした問題は、副作用の連鎖による想定外のトラブルだろ
大規模な構造をどう記述するかということであって、もうそれはOOPが解決してしまった

292デフォルトの名無しさん2017/07/06(木) 08:32:49.91ID:KLsItAo2
つまり純粋関数型は使えないと?

293デフォルトの名無しさん2017/07/06(木) 08:51:12.34ID:EB5tIDF+
その純粋ってのを保証してるのはコンパイル時の型チェックだな
それがなければ使える

294デフォルトの名無しさん2017/07/06(木) 09:13:26.21ID:Xn+el2UL
つまりscala最強ってことか

295デフォルトの名無しさん2017/07/06(木) 09:24:44.24ID:4UTaW8nX
オブジェクト指向プログラムで副作用は解決してないだろ。どうみても。

296デフォルトの名無しさん2017/07/06(木) 09:46:24.49ID:EB5tIDF+
288の言う「呼び出し階層を遡って大修正」は
副作用有り・無しのチェックだけじゃない
ヌルを許容する・しないのチェックで破綻するケースもある

297デフォルトの名無しさん2017/07/06(木) 10:02:36.10ID:tNWdrmh7
>>296
あるある
汎用性を考え出すとモナドとMaybeにまみれて何のための静的関数型かよく分からなくなってくるんだよな

298デフォルトの名無しさん2017/07/06(木) 17:43:28.35ID:FO8iZdOb
>>290
うちのプロジェクトは遅延評価禁止ね全部先行評価で書け
oO(ソースが全然Haskellに見えないw)

299デフォルトの名無しさん2017/07/06(木) 19:15:58.18ID:NwSzXY2t
プログラムが現実と関係を持ちつつ社会の中で動いている以上副作用を無くすことはできない。
全体を停めることができず、部分単位でアップデートを繰り返すならなおさら。
そう言った意味で『関数型言語』は結局いつまでも実現することのない賽の河原の石積み。

300デフォルトの名無しさん2017/07/06(木) 20:11:21.34ID:lW8KZ3Ns
まあ言語の機能によって副作用のないコードエリアを明示するってアイディアは
良いと思うんだけどね。
haskell は変な極論を推し進めてどうしようもなくなってるという印象が強い。

301デフォルトの名無しさん2017/07/06(木) 20:13:21.99ID:dOY2yuiz
>>297
>>299
副作用が多くてMaybeモナドだらけになるって設計が悪いだけじゃない?
それって普通のプログラミング言語で書いても副作用だらけのプログラム書くってことでしょ?
どんなプログラミング言語でも副作用はなるべく少ない箇所に押し込むでしょ

302デフォルトの名無しさん2017/07/06(木) 20:29:36.80ID:XEsudacO
Haskellは副作用禁止の言語だと思ってる奴多いんか?
副作用と純粋関数に分けて書くってだけだぞ

303デフォルトの名無しさん2017/07/06(木) 20:35:22.98ID:td/2KdW6
>>301
Haskellは極論バカだから特にそこが問題になるんでしょ
オブジェクト指向では少々副作用があろうが汚かろうがクラスに閉じ込めて外からは「問題にならない」ようにすることができる
mfput(笑)みたいな小さな問題と違って、現実世界の問題を相手にすると常に最初から完璧な設計をするなんて不可能だしね

304デフォルトの名無しさん2017/07/06(木) 20:39:55.53ID:td/2KdW6
>>302
そんな勘違いをしてる奴は誰もいないと思うぞ
副作用の混入に対してセンシティブすぎるという話

305デフォルトの名無しさん2017/07/06(木) 22:50:47.39ID:C7kBl0W7
そもそもプログラム自体が副作用そのものだし

306デフォルトの名無しさん2017/07/06(木) 23:11:16.25ID:4UTaW8nX
Javascriptのこのクイックソートは副作用なし


// QuickSort
QS=X=>X.length<=1?X:[
...QS(X.filter((x,i)=>i>0&&x<X[0])),X[0],
...QS(X.filter((x,i)=>i>0&&x>=X[0]))];

//main
var x=1, X=[...Array(20)].map(()=>x=(7+37*x)%100);
console.log("in: "+X + "\nout: "+QS(X));

http://ideone.com/wnQXXE

307デフォルトの名無しさん2017/07/07(金) 06:18:59.39ID:1OiH67XQ
>>290
ハードウェア記述言語向きってのは使った事ないけど、分かる気がする。

おいらもHaskellでGUIから何から書き下すのは出来なくはないけどそれOOPで良いよねって思ってて、
でもある意味CUIよりGUIの方がメッセージやイベントに答えるコード書けば良いだけなんだから、
むしろGUIをHTMLやXAMLで記述するようになった今だからこそHaskellは環境さえ整えばGUIも向いてると思うんだよね。
その環境が絶望的に揃ってないだけで。

なんつーかな。
あんたと思ってんのは基本同じだな。
全部Haskellで書こうとするから無理が出る。
上手に副作用部分を外部ツールなり、他の言語に任せて連携させればこれ程シンプルかつ堅牢に作れる言語もなかろうって思う。

308デフォルトの名無しさん2017/07/07(金) 09:21:04.24ID:Od+E3Jwj
つまりhaskellではなくOOPと関数とマルチパラダイムが答えということか
あ、Scalaやね

309デフォルトの名無しさん2017/07/07(金) 09:44:10.95ID:SZnapx63
今だとGoogleのお墨付きを貰ったKotlinだろう
mfput君のレベルだと全く不足ないことは上で実証済みだし

310デフォルトの名無しさん2017/07/07(金) 10:33:52.64ID:U3HkjAD4
Kotlinよさげ
型クラスもしくは高階型って使える?

311デフォルトの名無しさん2017/07/07(金) 10:37:23.83ID:NO/da/cw
>>308
HTMLやXAMLでGUI部分書くようになった今、OOPの役割は終わったのに醜く延命してるって話。
でもコード資産があるから、ベストじゃ無いって分かっててもそうなるんだろうな。

312デフォルトの名無しさん2017/07/07(金) 12:01:01.33ID:GpMOtbcc
>>311
GUIの中で副作用のないところをhtmlに切り出せたなら
あとは副作用をどう上手く書くかだろ?
だったらHaskellみたいな純粋関数型は益々いらんって事にならんか?

313デフォルトの名無しさん2017/07/07(金) 12:31:39.94ID:qM4KnfoJ
GUIで書きたいのはただの副作用ではなく非同期な副作用
非同期とXMLを流行らせたJSの手柄をOOPの手柄にするのはアクロバティック過ぎる

314デフォルトの名無しさん2017/07/07(金) 12:34:56.69ID:xvg52mfm
え、逆だろ?
HTMLやXAMLは副作用の排出口。
だからそれらに書き込むような表層部分に副作用部分を集める。

むしろ今だからこそHaskellがGUIで活きる可能性が出て来た。
例えばエディタ作るとして、CUIだと文字入力監視用のループがある。
GUIだと文字入力されたってイベントに対応すれば良いから、HaskellだとGUIのがエディタ書きやすいと予想してる。
んで、そっからは文字列処理得意なHaskellの独壇場。
普通のアプリなら文字列処理をロジックと読み替えて良い。

まあ実はHaskellだけでGUI書いてもJavaやC#みたいにIDEが整備されてる言語には劣るけど、整備されてない言語とならどっこいどっこいで、特にGUI苦手ってわけでも無いんだけども。
Haskellっぽくなくていやんな見た目なだけで。

315デフォルトの名無しさん2017/07/07(金) 13:09:15.86ID:24WGQrlF
>>311
うん、意味不明
独自のwidgetを作るのにOOPは必要

316デフォルトの名無しさん2017/07/07(金) 13:14:54.40ID:SZnapx63
>>314
そこまで構想(妄想?)ができたならもうそろそろいいだろ
続きはgithubで語れ
mfput(笑)みたいなサンプルじゃなく、ちゃんと実用性のあるGUI&DBアプリを作ってくれよ
期待してるぞ

317デフォルトの名無しさん2017/07/07(金) 13:39:25.73ID:kkdCXGBc
>>314
GUIアプリを画面を入力すると画面を出力するプロセスの集合体と見做すのはCOBOL時代には主流だった発想だよ(今でもWebには色濃く残っている)
自分でやってみりゃわかるけど、確かにスケールはさせやすいんだがくだらん単純作業とコピペを延々繰り返すような開発になるし
大きな手戻りが生じるともう悲惨

318デフォルトの名無しさん2017/07/07(金) 14:05:26.16ID:C9MPrnMO
うい。
作れたら出してみる。

319デフォルトの名無しさん2017/07/07(金) 21:35:56.42ID:0YPYv3Ek
出すまで帰って来るなよ

3202017/07/07(金) 22:07:41.70ID:TSmGX11I
ダム端の画面エンジン面倒見たことあるわ。

文字入力監視のループと、GUIのイベントのdispatchループがどう違うかわからんな。
WinMainとGetMessageとか、XlibのXNextEventからGUIアプリ作ったこと無くて知らないだけじゃねえの?

副作用の出口ではないような。
WM_PAINTの処理中に描画以外やるべきで無いのと同じように、画面周りは出力に徹しないと話がまとまらん。

入力の処理なんか、フォーカス持ってるやつにメッセージ投げるだけだろ。

321デフォルトの名無しさん2017/07/09(日) 05:20:26.84ID:iVqKXTPM
昨今の話題にのせられてKotlinの入門編読んでみたけど、なんかイマイチだった・・・
関数の引数は型推論してくれんの?カリー化して部分適用とか力ずくでやらんといかんの?パイプライン演算子は・・・
今のところ不安しか感じてない、次世代言語の劣化版でバカチョン言語ってのがKotlinの実像かな?

322デフォルトの名無しさん2017/07/09(日) 07:39:05.73ID:nT4jFya6
>>321
関数引数の型推論もカリー化もパイプライン演算子も
全部持ってるHaskellがゴミクソだったから、
それらは言語の生産性にとって特に重要じゃないって事だよ

323デフォルトの名無しさん2017/07/09(日) 09:40:04.24ID:15PsL+fn
括弧を省略しないカリー化はゴミクソだし
中置演算子を使わないのと括弧を省略しないのはLispとJavaの伝統じゃないか

324デフォルトの名無しさん2017/07/09(日) 09:45:29.15ID:zwxu6ZoN
なんだかんだカリー化は微妙だと思うなあ
部分適用の文法はClojureとかMathematicaがいい感じ
パイプライン演算子はLL的に使うときは便利やね

325デフォルトの名無しさん2017/07/10(月) 01:34:13.11ID:VQ9sifwz
>>322
HaskellがクソなのはDynamicBindingが言語的に駄目扱いされてる点だぞ
あとstatic初期化にunsafePerformIOが必要な点もクソ
デフォルトで静的型なカリー化とかあったほうが明らかに使いやすいだろ知ったか野郎

326デフォルトの名無しさん2017/07/10(月) 11:47:13.63ID:oyNYkVXL
そんなものは言語オタクが喜ぶだけで生産性と何の関係もない

327デフォルトの名無しさん2017/07/10(月) 12:33:52.51ID:NQXPB1lU
生産性(低産階級労働者にも扱えること)

328デフォルトの名無しさん2017/07/10(月) 17:50:59.58ID:LYSrTSKk
Rustが実用言語になったぞ
DockerをオラクルがRustで実装した

329デフォルトの名無しさん2017/07/10(月) 20:00:12.08ID:d0flA58w
お、おう・・・

330デフォルトの名無しさん2017/07/10(月) 20:04:51.52ID:LYSrTSKk
実用言語になったらもう次世代言語じゃないからこのスレとはお別れだな
じゃあな

331デフォルトの名無しさん2017/07/10(月) 21:04:24.59ID:Fha/eGoH
すげえ論理でワロタ

332デフォルトの名無しさん2017/07/10(月) 21:59:47.07ID:2kp3NGJ8
建物は完成した時点から崩壊が始まるのでわざと未完成の部分を残しておくとかいう話を思い出した。

333デフォルトの名無しさん2017/07/11(火) 11:36:48.66ID:5tKo2E+W
そもそもオラクルって時点でお察しだが、
業界ゴロのモジカスとOSSゴロのオラクルは相性が良かったんだろうな

334デフォルトの名無しさん2017/07/11(火) 15:49:53.62ID:Fwj1YTm5
>>332
誰がどう見ても未完成なら意見が対立しないからね
完成したら、一部の(自称)察しのいい奴が、まだ完成してないと主張し対立が始まる

335デフォルトの名無しさん2017/07/11(火) 17:23:33.46ID:9uLf2kf9

336デフォルトの名無しさん2017/07/11(火) 18:53:45.21ID:dSS1j36W
[][Tebla][]

}

000-"Yob*RtStrike"[%Kil\]MO,fla>%$9999VLTS

001-GYORLith"0\R"/"ESUBA"%$%

HADO-"EM","L","O","NU"###END

337デフォルトの名無しさん2017/07/12(水) 22:48:51.57ID:mlvPRLpa
実用言語になってないのが条件なら
Smalltalkも入れてくれよ

338デフォルトの名無しさん2017/07/12(水) 23:51:46.66ID:k6H5UqbS
Smalltalkは実用されてるだろ

スタートアップ界の異端児!産業機器 x IT x SmalltalkのSORABITO株式会社…人材採用のプロ・高野秀敏氏が厳選「いま最も旬なベンチャー」
https://thepedia.co/article/1068/

339デフォルトの名無しさん2017/07/13(木) 00:48:32.99ID:ZEMYQbKR
一生実用言語にならないような言語は次世代とは呼ばねえだろ池沼かガイジ豆腐で撲殺するぞ

340デフォルトの名無しさん2017/07/13(木) 00:52:26.73ID:6ivxTFOR
21世紀に生まれた言語限定でええやろ!

341デフォルトの名無しさん2017/07/13(木) 01:37:14.59ID:GmrDZ9ks
オブジェクト指向というだけで最低限の実用性はあるから純粋な世界に引きこもる
関数型は引きこもるとやばいから外に出る

342デフォルトの名無しさん2017/07/13(木) 07:10:16.60ID:uexVWLm1
純粋OOPLより純粋FPLの方がいろんな意味で引きこもっとるわ
Smalltalkのシンボルがなんで「気球」なのか、知らんのか?
http://lists.squeakfoundation.org/pipermail/squeak-dev/1998-October/022354.html

343デフォルトの名無しさん2017/07/13(木) 07:22:43.74ID:ZgBNlC8f
Smalltalkの引きこもり方は物理的っていうかなんというか
imageの世界に引きこもってるせいで外の世界で新しいツールとか流行ってても使えないし

344デフォルトの名無しさん2017/07/13(木) 07:29:54.34ID:uexVWLm1
>>340
20世紀生まれとかバカにしてるけどな
Traitsなんて言語機能は10年とちょっと前
21世紀になってからSmalltalkで考案されたのを
新しい言語がこぞってありがたがって使ってんだぞ

Scalaに至ってはただのMixinをかっこいいからってTraitって名前つけちゃったくらいなんだぞ

345デフォルトの名無しさん2017/07/13(木) 07:40:18.24ID:m3hQX1bI
>>343
いつの時代のSmalltalkの知識で止まっているんだよ
Pharo作ってる and/or 使っている人たちの話でも聞いて錆び付いたイメージをアップデートしてみたら?

346デフォルトの名無しさん2017/07/13(木) 11:47:59.75ID:LjH88DBT
intはオブジェクトにしない方がいい
他にもプロセスidとかファイルディスクリプタとかURI
オブジェクトの本体ではないものが必要
副作用が必要なのと同じ

347デフォルトの名無しさん2017/07/13(木) 13:19:58.91ID:equsxY/V
>>344
バカにしてないけど、次世代言語スレとしては21世紀生まれの子たちに絞ってええやろ
起源がなんであれそれを子どもたちが引き継いでるわけなんやし

348デフォルトの名無しさん2017/07/13(木) 13:28:33.65ID:xX1L5EAL
haskell(1990)

349デフォルトの名無しさん2017/07/13(木) 13:36:01.36ID:zQhEdRBN
よっしゃ!haskell離脱おめ!!

350デフォルトの名無しさん2017/07/13(木) 14:12:19.77ID:wYgqTfnm
>>347
そんなことが言いたいのではない

351デフォルトの名無しさん2017/07/13(木) 15:05:49.91ID:0lD2vgRh
haskellというゴミが消えてくれるならなんでもいい

352デフォルトの名無しさん2017/07/13(木) 15:14:48.65ID:/C8bZ6+r
そういえばOcamlになったのって案外新しく(1996)てびっくりした
もちろんCamlさらにMLからの流れだけど

353デフォルトの名無しさん2017/07/13(木) 19:08:43.36ID:1nRnB/qa
昔2chのこの手のスレで、Smalltalkerがgitについて全くトンチンカンなコメントを連発してたので
Smalltalkは錆びついてなくてもSmalltalkerは錆びついてると思う

354デフォルトの名無しさん2017/07/13(木) 19:42:54.12ID:DmZAJA0R
>>353
なんかあったな
gitなんて業務じゃつかいもんになんねー、svnさいつよみたいなやつな

355デフォルトの名無しさん2017/07/13(木) 19:53:58.91ID:0/kHeJlt
それ文脈ぜんぜん違う話だしねつ造やめれっていうか錆び付いているのはアンチの脳ミソと記憶力
百歩譲ってそういう話だったとしても最近出没してる「おいら」がHaskellの典型的ユーザーちゃうのと同レベルの話だがや

356デフォルトの名無しさん2017/07/13(木) 20:21:10.35ID:LjH88DBT
オブジェクトっぽくないものの語尾にerをつけて無理やりオブジェクトにする現象

357デフォルトの名無しさん2017/07/13(木) 20:57:33.19ID:10yx+996
>>354
なんかsmalltalkにある独自vcsもどきがsvn程度の機能しかないのか知らんが
発想が完全にsvnだったよな

358デフォルトの名無しさん2017/07/13(木) 21:26:25.99ID:uexVWLm1
>>357
そのvcsもどきっていうのは80年代から組み込みの古典的ChaneSetのことか?
Gitと同時期に開発されたMonticelloがsvn程度ってことはさすがにないと思うんだが

359デフォルトの名無しさん2017/07/13(木) 21:44:41.50ID:XbAGpGn+
Manager

360デフォルトの名無しさん2017/07/13(木) 21:45:38.59ID:10yx+996
なんだ、やっぱり独自vcsは劣っててダメだから、ちゃんとgitに乗っかろうって動きあるんじゃん
他の言語ならフツーに出来てることに必死だなって感じだけど

https://www.slideshare.net/mobile/newapplesho/pharo-smalltalk-source-code-management-with-pharo

361デフォルトの名無しさん2017/07/14(金) 01:48:02.98ID:07oaelZE
>>344
有り難がるどころか、まともにtraitsなんて採用してるのphpとperlくらいだぞ
smalltalkerだけが凄いと思ってるどうでも良い機能だぞ

362デフォルトの名無しさん2017/07/14(金) 05:30:08.87ID:vxW3z/6K
>>360
へー、すごいねー。
普通の言語では、その言語で作ったアプリケーションの実行中にgitの複数のレポジトリから自己更新してきたり、実行時に構成を動的に変更したりが、とっくの昔からフツーにできているんだー?
さすが普通の言語ってすごいね。そこにシビレルね。

363デフォルトの名無しさん2017/07/14(金) 06:42:12.81ID:4JOJgkL6
そういうことをやりたいならJavaScriptに乗っかるのが普通だ
SmalltalkやJVMは普通になれなかった

364デフォルトの名無しさん2017/07/14(金) 07:09:16.72ID:iN4cnX21
>>361
じゃあなんでわざわざTraitsなんて名前つけてんの?ぷぷぷ

365デフォルトの名無しさん2017/07/14(金) 07:44:52.22ID:Rnz3lE+5
>>361
perlのtraitはtraitじゃない
roleがそうだけど中途半端
実質phpだけじゃねーの?
rubyもmixとして実装試みたけど致命的欠陥があって諦めたし

366デフォルトの名無しさん2017/07/14(金) 08:07:10.82ID:fA8HzWsU
rustにもtraitあるよ

367デフォルトの名無しさん2017/07/14(金) 08:27:52.66ID:Wh3H5+5v
Traitsを名乗るかどうかは別として
継承によらない(つまりフラット化による)合成が可能で
実装も持てるインターフェース様エンティティは
次世代以前に現世代の言語には欠かせないよね

368デフォルトの名無しさん2017/07/14(金) 09:03:14.28ID:HDhZQX71
実装を持った複数のインターフェースが衝突したら
(可能なら静的に)検知してエラーになるのが良い
だからフラット化も正直どうでも良いんだよね

369デフォルトの名無しさん2017/07/14(金) 09:30:19.13ID:Wh3H5+5v
継承パスなんかを持ち込んだ日にゃメソッド毎のオーバーライドの管理が面倒だろ?
それゆえにTraitsはフラット化がミソなわけよ
つーかフラット化どーでもいいとか言ってる前世代脳はミックスインで十分なんだからこっちくんな
未来永劫リニア化で疲弊してろ

370デフォルトの名無しさん2017/07/14(金) 09:41:35.70ID:16rSDABT
>>369
衝突したらエラーって言ってるのが読めないのかね文盲は
ユニークなんだからフラットだろーがリニアだろーが関係ないのが理解できない?

371デフォルトの名無しさん2017/07/14(金) 09:54:31.91ID:Wh3H5+5v
衝突→エラーは当たり前だボケ
その後の対処の話してんのわかんない前世代脳はあっちいってろよ

372デフォルトの名無しさん2017/07/14(金) 10:04:09.28ID:yYuDtDCJ
>>362
独自vcsがゴミでgitに乗り換えたって話の直後に
独自デプロイ機構を自慢するなんて学習能力なさ過ぎでしょ
たまにはsmalltalkの外の世界を学んで見ては?

http://qiita.com/tomooda/items/8685782c42f674307dfe

373デフォルトの名無しさん2017/07/14(金) 10:19:56.39ID:Rnz3lE+5
そういうトンチンカンな攻撃しないようにアンチもちゃんと学ぶべきと思うが
そもそもアンチはSmalltalkの閉じた世界の利便性なんてクソの役にも立たんと決めつけているから
永久に話が噛み合うことはなさそうだな

374デフォルトの名無しさん2017/07/14(金) 10:33:01.95ID:yYuDtDCJ
世の中の0.001%でしか使われてないマイナー言語側が外を学ぶべきなのは自明だと思うが
ていうか、学ばないから永遠にマイナー言語なんだよ

375デフォルトの名無しさん2017/07/14(金) 10:46:19.81ID:P4+8bNWB
前このスレにSmalltalk のコード書き散らしてた奴いたけどあのコード汚かったなあ
Smalltalk が汚いのかあのSmalltalkerが汚かったのか知らんけど

376デフォルトの名無しさん2017/07/14(金) 11:04:48.92ID:Rnz3lE+5
世の中の0.001%でしか使われてないって情報自体が不勉強なアンチ発の情報なんで定かでないんだけど
少なくとも本人はそういう認識でいる言語に丁寧にアンチ対応するのはつくづくヒマな御仁だなとは思う

377デフォルトの名無しさん2017/07/14(金) 11:19:42.57ID:Rnz3lE+5
いずれにしてもtraitはともかくsmalltalkの話はどうでもいいよ
アンチ情報が古くて役に立たないししつこくてウザイだけだよ

378デフォルトの名無しさん2017/07/14(金) 12:18:47.34ID:vxW3z/6K
>>372
SmalltalkでもJenkinsでCIできるっていうことだよね?
で、Smalltalkの何が問題?ばか?

379デフォルトの名無しさん2017/07/14(金) 12:20:08.63ID:vxW3z/6K
>>368
SmalltalkのTraitsも衝突を静的に検知できるけど、それがどうかした?

380デフォルトの名無しさん2017/07/14(金) 13:07:32.87ID:esHF/eTU
>>379
出来ないから嘘つくな

381デフォルトの名無しさん2017/07/14(金) 13:19:34.73ID:Wh3H5+5v
むしろなぜ出来ないと思うかが謎

382デフォルトの名無しさん2017/07/14(金) 14:20:15.48ID:ZjhjVc89
実行時にクラス定義の式に到達したときにエラーが出るのを「静的に検査してる」というのは頭悪過ぎない?

383デフォルトの名無しさん2017/07/14(金) 15:13:18.09ID:Rnz3lE+5
>>382
そのエラーがどうして出せるのか理解できてる?

384デフォルトの名無しさん2017/07/14(金) 15:13:38.24ID:vxW3z/6K
実行前から普通にチェックできるけど?

385デフォルトの名無しさん2017/07/14(金) 15:41:16.51ID:J9LHnyh2
アンチの頭の固さが露呈したな

386デフォルトの名無しさん2017/07/14(金) 17:25:07.85ID:5vDI46YP
>>384
出来なかったけど?
エアプ良くない

387デフォルトの名無しさん2017/07/14(金) 17:40:20.13ID:Rnz3lE+5

388デフォルトの名無しさん2017/07/14(金) 19:21:36.90ID:hAbkWWq2
え?
Smalltalkって動的にクラスを定義できない言語なの?
遅延結合の観点から言って出来損ないなんだね

389デフォルトの名無しさん2017/07/14(金) 21:11:13.40ID:Rnz3lE+5
かわいそうに…追い詰められてついに気が狂ったか

390デフォルトの名無しさん2017/07/14(金) 22:36:05.81ID:4JOJgkL6
承認欲求だか何だか知らないが
文章を正確に書きたいという欲求とは違うんだろ
むしろ書くことに興味ないから代わりに全部書いてくれる良き理解者が必要になる

391デフォルトの名無しさん2017/07/14(金) 23:24:30.71ID:MTLV3Z4y
Smalltalkerじゃ頭がSmallwwwww

392デフォルトの名無しさん2017/07/14(金) 23:34:39.08ID:ZsTFQY46
めでたくアンチも発狂したことだしsmalltalkの話はこれで終わりな

393デフォルトの名無しさん2017/07/15(土) 07:15:30.91ID:VZfdwjhs
根拠を書かずに勝利宣言か
いつもなら邪魔なくらいコード出してくるのにね

394デフォルトの名無しさん2017/07/15(土) 08:01:11.45ID:3lr1Ki6I
gitのときみたいに、深く突っ込まれるとボロが出るからSmalltalkerさんも速く話を畳みたいんだろ
もう逃げ出してんだから追い詰めんな

395デフォルトの名無しさん2017/07/15(土) 08:15:16.38ID:Ln37sbKY
根拠?>>383が解れば説明するまでもない話だよ
あと遅延結合が徹底されてて勘違いされがちなんで念のため言っとくと
Smalltalkは例えばJavaとかと同じ程度にはコンパイラ言語だよ

396デフォルトの名無しさん2017/07/15(土) 09:04:45.79ID:x9q1fKiK
アンチ頭悪すぎ
いつまで続けるんだこのスレ違い

397デフォルトの名無しさん2017/07/15(土) 10:18:51.32ID:UJtjfBLC
PHPのtraitsは実行時検査しか出来ないんだから383は説明になってないわな
ていうか頑なに言葉を濁すのはなぜ?

398デフォルトの名無しさん2017/07/15(土) 10:29:26.28ID:ztUW4ffu
自分も分かってないからだろ

399デフォルトの名無しさん2017/07/15(土) 10:59:23.57ID:Ura0OIUP
SmalltalkのTraitが実行前に衝突検知できるかどうかの議論で、PHPじゃできないじゃないかー!と駄々をこねるバカ(>>397)発見w

400デフォルトの名無しさん2017/07/15(土) 11:11:31.57ID:Xb/NLsOQ
>>383が解ってる人には>>382のどこがトンチンカンだか説明は不要だろってだけの話
「わかりません」って言ってくれればちゃんと説明するよ

401デフォルトの名無しさん2017/07/15(土) 11:27:36.40ID:qBi8wD3D
昔からWYSIWYGとかいう
ModelとViewの見分けがつかない謎のシステムがある
静的と動的の見分けがつかないシステムもそれに似ている

402デフォルトの名無しさん2017/07/15(土) 11:29:21.79ID:rZ7c1Y9a
屁臭いペチプァは寄ってくるな
臭いがうつる

403デフォルトの名無しさん2017/07/15(土) 11:36:09.13ID:jg2H7hGL
>>400
わかりません。説明して。

404デフォルトの名無しさん2017/07/15(土) 11:53:30.82ID:Xb/NLsOQ
>>403
ノーティファイアを見て明らかなように件の実行時エラーはself traitConflictが出している
じゃあこのスタブは誰が設置したか考えれば自ずとコンパイル時に既に衝突は検知できていることがわかるだろう?

405デフォルトの名無しさん2017/07/15(土) 12:03:03.34ID:UrVE89DJ
コンパイル時に衝突を検知出来ているならコンパイル時にエラーを出そうよ

406デフォルトの名無しさん2017/07/15(土) 13:27:15.35ID:Xb/NLsOQ
>>405
件のモック定義のタイミングにフックすれば出せるようにできるけどウザイだけだよ?(Pharo6で確認)

effectiveMethod
   "Return the effective compiled method of this method description."
   | method |
   method := self providedMethod.
   method isNil ifFalse: [^ method].
   method := self conflictMethod.
   method isNil ifFalse: [self error: 'Methods confliction: ', method selector. ^ method].
   ^ self requiredMethod.

407デフォルトの名無しさん2017/07/15(土) 13:56:49.93ID:LQwIX/Wh
そのフックが実行時に呼ばれてエラー吐くだけじゃん
馬鹿すぎて頭痛いわ

408デフォルトの名無しさん2017/07/15(土) 15:18:27.64ID:Xb/NLsOQ
このアンチ、レベル低すぎ

409デフォルトの名無しさん2017/07/15(土) 15:59:41.17ID:Ura0OIUP
アンチがレベル低いのではない。
レベルが低いからアンチなのだ。

410デフォルトの名無しさん2017/07/15(土) 16:53:57.90ID:Xb/NLsOQ
>>401
WYSIWYGがどうなのかは知らんけど
ViewとControllerの境界が不確かとかならともかくModelとViewの見分けが付かないのはもはやいろんな意味でMVCではないよ

Smalltalkにはランタイムしかないと考える人には今回の「コンパイル時に」を「静的に」と表現することには抵抗があるかもね

411デフォルトの名無しさん2017/07/15(土) 22:01:58.64ID:rZ7c1Y9a
MVCは死産だった
今ナウいカレントトレンドな最先端の設計は、クリーンアーキテクチャ

412デフォルトの名無しさん2017/07/15(土) 22:02:44.95ID:UrVE89DJ
このアンチってどのアンチだ

413デフォルトの名無しさん2017/07/15(土) 22:06:45.31ID:rZ7c1Y9a
ペェ〜ル豚とプェチ糞パーは
アンチ云々じゃなく死ね
死ね

414デフォルトの名無しさん2017/07/15(土) 22:52:58.72ID:UrVE89DJ
PHPは分かったけどPerlもいかんのか……
Perl6はどうなんだ?

415デフォルトの名無しさん2017/07/15(土) 23:04:27.06ID:IM8lgtvN
PHPなのかー 精神分裂病の症状特有の「俺言葉」すぎてなんなのかわからんかったわ

416デフォルトの名無しさん2017/07/16(日) 08:14:33.97ID:/Lu2VVZQ
だから徳川家康のような目新しい言葉を一つも作らなかった奴が勝つんだな

417デフォルトの名無しさん2017/07/16(日) 11:06:27.56ID:nvinih80
>>414
たしか、ただでさえ汚いPerlに
大量の新仕様・新機能が追加されたんだろ

昔ならどうだったか知らんが
「この言語でしかできない」なんてことが少なくなった今、
わざわざPerl選ぶ奴はキチガイとしか思えん

PHPはCMSに強いから、まだわからんでもないところはある
ゴミ屑みたいな言語だから個人的には全く触りたくないが

418デフォルトの名無しさん2017/07/16(日) 11:58:27.53ID:kBPig9GC
回転寿司で隣の知らんおっさんが唐突に
「俺はイカが嫌いだ」って話しかけてきたような困惑

419デフォルトの名無しさん2017/07/16(日) 13:03:56.78ID:nvinih80
このネタどうなんすかねえ
と聞かれたから
昔はよかったけど腐りかけですよ
たまに当たりはあるけどいつも腐ってますよ
と言っただけなのだが

420デフォルトの名無しさん2017/07/16(日) 14:00:50.61ID:nsbHwSbS
ペェ〜ルとか言ってる人に聞いたのに、別っぽい変な人から返事が返って来て俺困惑

421デフォルトの名無しさん2017/07/16(日) 14:43:25.82ID:pSlhsdXG
python2と3でもこれだけ長引いたとこ見ると
(なんとか3にまとまりそうだけど)
これからPerl6が流行するとは思えない

422デフォルトの名無しさん2017/07/16(日) 18:26:38.70ID:UQE14EKf
ペェ〜ルおじさん単発ワラワラで草

423デフォルトの名無しさん2017/07/16(日) 19:00:43.00ID:TI5o59vg
perl6 って何のメリットもないよね。

424デフォルトの名無しさん2017/07/16(日) 19:17:03.45ID:DhlGbGJr
>>419
そんな店に行くなよ

425デフォルトの名無しさん2017/07/16(日) 19:35:25.03ID:/yuQWQY5
コメント欄で雑談するために使って
https://www.youtube.com/watch?v=jgdXBtXCd7Q

426デフォルトの名無しさん2017/07/16(日) 21:05:09.00ID:TI5o59vg
何でわざわざ雑談場所を移す必要があるのか…
PV稼ぎも大変だなあ…

427デフォルトの名無しさん2017/07/16(日) 22:01:00.06ID:D5jF5vYG
>>423
某Sから始まる作者にも見捨てられたクソ言語よりマシ

428デフォルトの名無しさん2017/07/16(日) 22:05:04.15ID:62H16rq8
トンチンカンな低脳アンチに粘着されないだけマシ

429デフォルトの名無しさん2017/07/16(日) 22:06:13.03ID:UQE14EKf
>>427
Scalaさんの悪口はやめるのだ

430デフォルトの名無しさん2017/07/16(日) 22:09:41.66ID:n2aqivct
Scalaさんはあくまで実験言語だと作者がずっと言ってるのに
勝手に祭り上げられて勝手に負けたことにされた不憫な言語

431デフォルトの名無しさん2017/07/16(日) 23:08:48.14ID:PjhGsme1
コミュ障ファンがマサカリ投げまくって
怖いコミュニティだとすっかり評価を落とした

432デフォルトの名無しさん2017/07/16(日) 23:22:52.15ID:GtbxOg8N
scalaがいつ誰に負けたんや

433デフォルトの名無しさん2017/07/16(日) 23:38:44.37ID:ACbzRC5e
2017/05/18、kotlinに負けた

434デフォルトの名無しさん2017/07/17(月) 00:14:52.63ID:Fkkap2CA
Scalaが作者に見捨てられたってマジなの?

435デフォルトの名無しさん2017/07/17(月) 07:08:09.71ID:gU9jd8Vq
まじ

436デフォルトの名無しさん2017/07/17(月) 07:18:06.21ID:aQ+HcXyV
Scalaは_が糞すぎる
有名な言語であそこまで一貫性のない場当たり的な仕様は稀なレベル

437デフォルトの名無しさん2017/07/17(月) 08:28:56.48ID:1AopeENj
初学者からすると
暗黙のパラメータを何の説明もなく型クラスだと言い切って混乱させたり
両者がイコールではないと疑問を呈すると攻撃してくるとか
すごく怖い人が牛耳ってるイメージ

438デフォルトの名無しさん2017/07/17(月) 09:13:20.32ID:O1Bxse4b
だがコミュ力を重視するのは的外れだ
コミュ障でも嘘をつかないやつは怖くないから
嘘つき大会で優勝しそうなやつの方が怖い

439デフォルトの名無しさん2017/07/17(月) 10:08:58.85ID:1w/PTW08
コミュ障、ガイジ、アスペが揃ってるScala界隈

440デフォルトの名無しさん2017/07/17(月) 10:33:48.20ID:O1Bxse4b
>>439
患者を治療する医者のような視点だ
それを経済とか経営とかに応用できるとは思えないが

441デフォルトの名無しさん2017/07/17(月) 12:42:41.89ID:VoNGzfKh
scalaは理屈っぽくてセンスがないrubyって感じ

442デフォルトの名無しさん2017/07/17(月) 12:59:41.12ID:3rVoB3WX
rubyは静的言語だったら使ってた

443デフォルトの名無しさん2017/07/17(月) 14:03:58.82ID:6jEIb/mS
Sから始まる言語でマシなのはSchemeとSMLだけ

444デフォルトの名無しさん2017/07/17(月) 14:08:19.67ID:zWvYcWKi
S言語あかんか……

445デフォルトの名無しさん2017/07/17(月) 14:10:03.81ID:vodzC7WI
Simula
Smalltalk
Swift

446デフォルトの名無しさん2017/07/17(月) 14:27:44.45ID:CFN4ow8J
Go 2でジェネリクスが入るからそれで決着

447デフォルトの名無しさん2017/07/17(月) 15:01:17.40ID:zWvYcWKi
それはそれで「Goはシンプルなのがよかったのにもう魅力がない」とか言い出す人が出て来そう

448デフォルトの名無しさん2017/07/17(月) 15:05:47.41ID:93gFCitm
Goはシンプルすぎてお話にならない
そんなにシンプルなのがいいならBrainfuckでも使ってろ

449デフォルトの名無しさん2017/07/17(月) 15:15:28.08ID:6YIe4oJX
Goはもはや次世代言語っていうか良くも悪くも実用言語

450デフォルトの名無しさん2017/07/17(月) 15:41:47.25ID:CuRtYSJT
いいかげん言語毎にパッケージマネージャやビルドツール作るのやめてほしい
Makefileをもうちょっと書きやすくしてGitに対応させれば済む話なのにいつまで同じものを猿のように再発明し続けるのか

451デフォルトの名無しさん2017/07/17(月) 16:25:32.71ID:CTXJl5P0
さすがにMakefileをC/C++以外で使わされるのは勘弁して
Gitはその通りだと思うけど

452デフォルトの名無しさん2017/07/17(月) 19:43:49.58ID:9gDL3chX
依存の見方が言語毎に違うんだからしゃーない。

453デフォルトの名無しさん2017/07/17(月) 19:59:44.28ID:Ez9tK1Zp
上手いこと抽象化できれば基礎ツール+プラグインでいけそう
Haskellerって抽象化得意だろ?何か作ってくれよ

454デフォルトの名無しさん2017/07/17(月) 22:06:17.52ID:Fkkap2CA
一周回って、ビルドツールなしの人力ビルド・ライブラリ管理のJavaプロジェクト知ってるわ

455デフォルトの名無しさん2017/07/17(月) 22:12:00.96ID:Uk+UjtGm
次世代Makefile!おもしろいね。
git対応は具体的にどんな機能があれば良いのかな。
依存の見方は、例えば空行入れただけみたいなプログラムの意味を変えない変更では無駄だからリビルドしないでほしいとか?
「もうちょっと書きやすく」って?

456デフォルトの名無しさん2017/07/17(月) 23:03:29.82ID:ThA9UD7O
・依存先の指定としてGitのリモートリポジトリの特定コミットの特定ファイルを指定できる
・ビルド済みのリソースが信頼できるリポジトリに既にあれば透過的にそれを利用する
Git連携はこんなとこじゃね
パッケージ化の単位とか考えるべきことは多いけど、うまいこと設計すれば綺麗に作れそうな気がする
ハスケラくんの出番だな

457デフォルトの名無しさん2017/07/17(月) 23:25:38.52ID:Ne9t2Rx8
>>450
Makefileを手書きしやすくする意味がわからない
手書きでできる規模ならただのシェルスクリプトでいいと思う

458デフォルトの名無しさん2017/07/17(月) 23:39:10.02ID:ThA9UD7O
>>457
だから開発規模が容易にスケールできるように改良すればいいということでしょ
依存関係を自動的に発見するプラガブルな仕組みとかね

459デフォルトの名無しさん2017/07/17(月) 23:58:04.28ID:Ne9t2Rx8
スケールって大規模に使う仕組みを小規模にも強制するんだろ
例えばmain関数だけでいい場合でも絶対class作る言語

460デフォルトの名無しさん2017/07/18(火) 02:22:19.92ID:qdjxHBs9
tupというものがあるよ。作者はtupとgit submoduleを駆使して自作のLinuxディストリビューションを簡単にビルドできるところまでやってる
ninjaと違ってワイルドカードを使えるのに速い

461デフォルトの名無しさん2017/07/18(火) 06:59:58.31ID:pCp4rtrr
>>457
全コンパイルでも5分とかからないのに
makeのデバッグさせるとかやめて欲しい。

462デフォルトの名無しさん2017/07/18(火) 19:19:47.83ID:Ni5Fs6Uh
>>450
Windowsとかツールが標準でない環境もあるからだろ
せめてaptみたいな依存関係書いとけば環境整えてくれるパッケージマネージャがOS標準であればな
mavenは割といいと思うが人気ないのかな
やはり手軽にスクリプトを書けるのがいいのか

463デフォルトの名無しさん2017/07/18(火) 23:30:04.84ID:cep190eg
今どきメーブンて

464デフォルトの名無しさん2017/07/19(水) 00:04:39.12ID:9uIEKdpP
pom地獄 ((((;゚Д゚))))ガクガクブルブル

465デフォルトの名無しさん2017/07/19(水) 00:24:35.66ID:wHmuM9lY
Android の、Gradle

Groovy のクロージャで書ける

466デフォルトの名無しさん2017/07/19(水) 07:47:57.21ID:fL6ya1px
GoogleはBazelっていうのを押しているだろ

467デフォルトの名無しさん2017/07/19(水) 16:30:34.48ID:Qi9rcQi1
>>463
ずっと1つのツール使う話だから
今どきというのはズレてる

468デフォルトの名無しさん2017/07/19(水) 17:38:31.62ID:0YqXH007
型情報と機械語のせいでファイルとコマンドが異常に多くなるという問題は一つ
答えはいっぱいある

469デフォルトの名無しさん2017/07/19(水) 21:20:24.68ID:747RlNYZ
型無し能無し役目無しの糞言語は全て滅びろ

470デフォルトの名無しさん2017/07/19(水) 23:03:41.07ID:WzXZ9kGy
型推論で動的言語みたいな静的言語作るのが今の流れ

471デフォルトの名無しさん2017/07/19(水) 23:45:07.13ID:747RlNYZ
JavaScriptはTypeScriptを標準化しろ
PHP Perl Rubyは役目を終えたから、今すぐ廃止しろ
使ってる奴ら・会社・サービスは、全て糞言語幇助の罪で死刑
よいな

472デフォルトの名無しさん2017/07/19(水) 23:57:15.73ID:/uBE13O5
Homebrew処刑ってマジ?

473デフォルトの名無しさん2017/07/20(木) 07:54:30.69ID:1x/Sk0z6
Perl6 はなかなか良いぞ。
絶対普及しないだろうけど。

474デフォルトの名無しさん2017/07/20(木) 09:27:29.28ID:HHm3tSZc
Pythonに静的型・型推論とnull排除したぐらいのが欲しい

475デフォルトの名無しさん2017/07/20(木) 17:15:19.69ID:VOKR1Uy4
>>474
nim とかいかが?

476デフォルトの名無しさん2017/07/20(木) 17:38:00.25ID:VRNHiKio
Perl6なー、せめてPerl5からの緩やかな移行をさせてくれれば採用してもいいんだけどなー
ちょっとモチベーションに欠ける

477デフォルトの名無しさん2017/07/20(木) 22:22:12.00ID:0b9xdtC8
>>474
python3の型ヒントはけっこう使えると思うがな。
パッケージのサポートがまだまだなのが残念だが。

478デフォルトの名無しさん2017/07/20(木) 22:23:52.99ID:mEIqzc+z
>>474
ホーン・ト・コトイレン

479デフォルトの名無しさん2017/07/20(木) 22:27:02.38ID:mEIqzc+z
perl使う理由って何かある?

小さいWebアプリならPHP, Rubyで十分
中規模以上ならJVM系
機械学習ならPythonワン択
デスクトップアプリならElectron, C#, Java

Perlってマジで何のために必要なん?
ガイジ?

480デフォルトの名無しさん2017/07/20(木) 22:45:38.08ID:Of2zeoLq
>>479
better shellscript
だいたいどのUNIXサーバーにも入ってて、bashなんかに比べたら普通のプログラミング言語っぽくてわかりやすい
AIXなんかにも入ってたりするから、慣れない環境を触ることになって途方に暮れてるときにPerlが入ってると
言葉の通じない異国で旧友に出会ったような気持ちになる
入ってる力が全て

481デフォルトの名無しさん2017/07/20(木) 22:47:47.78ID:a17NgPNI
これまでLinuxサーバー見て来てPython2が入ってなかったことはないなあ
逆にPython入ってないってどんなのがあるのか気になる

482デフォルトの名無しさん2017/07/20(木) 22:58:24.48ID:e5pRUkIa
perlは作者のコミュ力がすごすぎた
設計の能力じゃなくて変な設計を人に説明できる能力が異常

483デフォルトの名無しさん2017/07/20(木) 23:02:50.14ID:0b9xdtC8
今でこそPyPIやnpmなど当たり前になってしまったが、昔はCPANがあるperlが何をするにも便利だった。

484デフォルトの名無しさん2017/07/20(木) 23:09:52.08ID:mEIqzc+z
老害言語ってことか
早く死んで欲しいな

485デフォルトの名無しさん2017/07/20(木) 23:10:18.31ID:mEIqzc+z
sedおじさんawkおじさんvbaおじさんと一緒に地獄に堕ちろや

486デフォルトの名無しさん2017/07/20(木) 23:13:27.39ID:7e4zgXSV
>>481
さっさとpython3標準にしてくれよ

487デフォルトの名無しさん2017/07/20(木) 23:19:24.42ID:mEIqzc+z
頭がパーのパーカスパールお爺さん

早く死んで!

488デフォルトの名無しさん2017/07/20(木) 23:20:53.29ID:a17NgPNI
いやーgrep awk sedは今でも便利よ
やっぱりコマンドライン直打ちで効果を発揮するのは大きい

489デフォルトの名無しさん2017/07/20(木) 23:23:30.28ID:mEIqzc+z
頭がパーのパーカスパールお爺さん

俺が引導渡してやるから、俺の前に並べや!

490デフォルトの名無しさん2017/07/20(木) 23:25:18.58ID:a17NgPNI
>>486
これはわかる
でも贅沢言うと、Python2じゃないと動かないライブラリもあるからPythonコマンドに両搭載して欲しいわ

491デフォルトの名無しさん2017/07/21(金) 02:09:05.74ID:EcVBepKl
Nim良いよね〜

492デフォルトの名無しさん2017/07/23(日) 01:22:57.80ID:WykumZNS
Go言語がダメな理由
http://postd.cc/why-go-is-not-good/

493デフォルトの名無しさん2017/07/23(日) 02:52:57.22ID:QcJiE5IU
>>492
2014年て

494デフォルトの名無しさん2017/07/23(日) 14:19:04.92ID:jZILUwsZ
2017年、人気のプログラミング言語トップはPython。C、Javaが続く。
検索、Google Trends、Twitter、GitHub、Stack Overflowなどの人気を総合
2017年7月23日

2017年現在、もっとも人気のあるプログラミング言語は「Python」。2位は「C」、3位は「Java」だと、電気通信分野の標準化団体であるIEEE(アイトリプルイー)が発行するオンラインマガジン「IEEE Spectrum」が、記事「The 2017 Top Programming Languages」で発表しました。

1位となったPythonは昨年3位だったのが2つランクをあげて1位に飛び込みました。

ただし、2位のCとの差は0.3ポイント、3位のJavaとの差も0.5ポイントと、1位、2位、3位の差はほんのわずかなものでした。
ちなみに4位のC++は約3ポイント離れた97.1ポイント、5位のC#は10ポイント以上離れた87.7ポイントですので、いかに上位3位の人気が堅いものかが分ります。

http://www.publickey1.jp/blog/17/2017pythoncjavagoogle_trendstwittergithubstackoverflow.html

http://www.publickey1.jp/2017/ieeesp01.gif

495デフォルトの名無しさん2017/07/23(日) 15:30:28.83ID:MmRfy8oq
ランキング圏外のsmalltalkはどんだけゴミなんだ
prologすら入ってるというのに

496デフォルトの名無しさん2017/07/23(日) 17:24:27.75ID:YFCxcaSM
ガイジ低脳エスアイアイのお猿さん言語PHPがランクインしてる時点で
大したランキングじゃないよ

497デフォルトの名無しさん2017/07/23(日) 18:07:27.23ID:cW8Cn5ON
うわー荒らしの妄言のせいでちょっとSmalltlkに期待してしまった可哀想な子かま一人

498デフォルトの名無しさん2017/07/23(日) 18:54:45.61ID:iWpZIg3t
どうでもいいけどIEEEがやることなんだろうか

499デフォルトの名無しさん2017/07/23(日) 21:16:08.30ID:4pTb5xvQ
「原始的なメモリ管理機能しか備えておらず、それが脆弱性や不具合を生む(中略)
Rust言語を勧めており、特にパーサーや入力ハンドラなどの部分から、徐々に
CのコードをRustに入れ替えていくべきであると主張」

C言語は滅びるべきか | スラド デベロッパー
https://developers.srad.jp/story/17/07/19/0754205/
2017年07月20日 7時00分

500デフォルトの名無しさん2017/07/23(日) 21:40:30.93ID:qzsJDNze
2位3位がCとJavaって時点で言語の先進性がランキングに影響してるわけでも無いしね。
(多少は影響するにしても)

あくまで実用言語の世界。

501デフォルトの名無しさん2017/07/23(日) 22:47:29.42ID:qzsJDNze
>>499
今アセンブラと言うか、その延長で機械語のどのビットがアセンブラのどの命令によって変化するみたいなの読んだんだが、思ったより機械語理解出来そう。
素直に書いた方がアセンブラだと短いけど、機械語だと長くなるとか、CPUの特性に合わせるにはアセンブラの字面だけ理解してもダメなんだな。

その過程でどうもCはわりと素直にアセンブラにし易い構文だったみたいね。
そう言えばCのコードからアセンブラコード想像し易いけど、C++や他の言語じゃ想像出来ないとか話も聞く。

んでここからが本題なんだが、機械語かアセンブラの構文に意味や所用バイト数、所用クロック数の情報付加したリストから効率良い機械語の組合せ見つけて吐き出すってのはどの言語でも不可能じゃ無い気がしてる。
ただそれには相当深い知識が必要ってだけで。
基本は機械語になる様なバイト列をファイルに書き込めば良いんだから、機械語とプログラムとして動作させるファイルフォーマット形式覚えて、その通りにバイナリファイル書き出せば良い。

502デフォルトの名無しさん2017/07/24(月) 00:43:35.12ID:/k6j1DH/
高級言語ってのはもともとFORTRAN教えてたダートマスの研究者が
初心者が必ず引っかかる「型」の概念をできるだけ無くそうとして作った
BASICのように"ビット的なことは知らなくていい"流れが一つあって
Cはそれとは別にむしろ"ビット操作ができる高級言語をくれ"というニーズで
作られてシステム寄りで普及した言語だから
「Cに替わる〜」もなんも、その界隈ではハードに密着した書き方が求められてて
そこへ遠い上の方から「ハード密着してると危ない!」とか言われても
なんだその「消防士は危ないから遠隔ロボットに置き換えるべき!」的な夢想論は?という感じでですね…

503デフォルトの名無しさん2017/07/24(月) 01:03:44.29ID:FW938Hri
>>155
miniKanrenはどう?

504デフォルトの名無しさん2017/07/24(月) 05:05:21.76ID:T9l43aKR
>>495
「すら」とは何だ

505デフォルトの名無しさん2017/07/24(月) 09:02:21.94ID:S2+AoH9C
FORTH もまだ現役なんだな。安心した。

506デフォルトの名無しさん2017/07/24(月) 17:51:02.45ID:Q2tRT20x
>>502
だから「C?あんなのは高級アセンブラだ!」となる
大部分の人がC/C++初心者のころつまずいたはずの
「ポインタわけわかんねー」ってのは仕様w
ところでC++というのは何のことでしたっけ?ww

507デフォルトの名無しさん2017/07/24(月) 19:05:02.59ID:GrwGqoyw
好きな言語と使う言語は違う

508デフォルトの名無しさん2017/07/24(月) 22:01:44.72ID:mIkz9O7d
型を理解できない底辺ジャップランド土方どもは
屁臭いペチプァ〜でウンコードモリモリ大将軍してればいいよ

509デフォルトの名無しさん2017/07/24(月) 22:18:00.54ID:LnmIpSRU
C++の作者ってビョォーン って名前だっけ?

510デフォルトの名無しさん2017/07/24(月) 22:19:50.90ID:AAnKdxV0
Objective-Cとかクラス取り回しランタイムのオーバーヘッドで嫌われたのは
わからんでもないけれど、あれそれこそクラスがLAN上の別のマシンで動いてるぐらいの
分散処理を志向してるから、もっと思想が見直されてもいいような気がするが
なぜか、ネット時代になってもディスクリートなプログラムを一つのマシンで動かすぜ!用が
いつまでも手を替え品を替えというのは、教授これはいったい?

C++じゃなくてObjective-Cが流行ればいまのオブジェクト指向絡みの勘違いは
8割方解消されていたろうになぁ

511デフォルトの名無しさん2017/07/24(月) 22:25:12.16ID:Q2tRT20x
優秀な米留学組は型推論使ってできるだけ隠蔽して
生産性・保守(人材確保)性あげることを考えるはずだけど

一方2chでだべるだけのもいるよねw

512デフォルトの名無しさん2017/07/24(月) 22:26:33.91ID:HA0I+0aJ
short とかいらんかったんや。
long long long は準備しとけよ。

513デフォルトの名無しさん2017/07/24(月) 22:54:59.07ID:z9tFLcNk
抽象化してなんでも隠蔽すればいいと思ってるのはカスだってばよ。

514デフォルトの名無しさん2017/07/24(月) 23:19:09.18ID:mIkz9O7d
必要なモノまで隠蔽した結果メクラガイジになったペチプァ〜〜〜〜さん達の悪口はやめたまえ

515デフォルトの名無しさん2017/07/24(月) 23:22:26.66ID:rj0vQMEu
>>510
分散オブジェクト指向はJavaも.NETもWindows(COM)もとっくに通った道だろ
デプロイの単位とモジュールの単位とが一致しない技術を人間はうまく扱えないんだよ

516デフォルトの名無しさん2017/07/25(火) 00:06:02.77ID:Wg5FapHh
ネットに送信するメッセージは文字列と決まっている
だがOOPは抽象的過ぎたのでメッセージとは何かを決めることができなかった

517デフォルトの名無しさん2017/07/25(火) 00:20:13.19ID:6voESBgd
gz圧搾した中韓言語送ればええじゃん

5182017/07/25(火) 01:55:35.53ID:lgBfQhyF
php書くとき、型は気にするのでは?
eqeqeq使えないじゃん

519デフォルトの名無しさん2017/07/25(火) 06:59:52.83ID:6voESBgd
>>518
静型言語よりもっと型気にせにゃいかんのに
チーム開発で使うと、知らない初心者、気にしないバカ、ケアレスミスが組み合わさって
ほぼ確実にモンスターと化す

5202017/07/25(火) 08:31:31.28ID:Yx6+jkpX
>>519
あー、その地雷は理解できるわ。
型がないからうんぬんペチプァーと言ってるようなやつは前者の2つどっちかって印象。

あの道具に徹する姿勢好きなんだけどね。
気をつけて使うとそこそこまともだし。
敢えてfalsyなものを扱う勇気も要るけど。
気をつけたくないやつには向いてない言語。

言語仕様が破綻してるってのもまぁ、php3の時点であれだったのに、その後また使える文字減ったし、諦めるしかない。

521デフォルトの名無しさん2017/07/25(火) 08:57:41.36ID:SyNDf/s0
falsy って何やねん?

5222017/07/25(火) 10:08:41.40ID:Yx6+jkpX
>>521
評価した結果falseとみなされる値。

523デフォルトの名無しさん2017/07/27(木) 00:19:42.46ID:2FlrvgGr
使い捨てのモックとしてならまだしも
そこそこの規模の開発で使って苦しんでる連中は
ただのバカとしか思えんわ

5242017/07/27(木) 11:12:41.51ID:A4iX0nN0
>>523
既存コード捨てられない病の人居るからねぇ。
あとはフレームワークしか使えない病の人とか。

525デフォルトの名無しさん2017/07/27(木) 11:56:41.88ID:T03zDTBA
Lispは神の言語

526デフォルトの名無しさん2017/07/27(木) 15:33:01.66ID:dBtvUIpG
forthは?

527デフォルトの名無しさん2017/07/27(木) 16:20:31.74ID:gEdE1/qh
May the Forth be with you!

528デフォルトの名無しさん2017/07/27(木) 18:56:32.71ID:L9OidomQ
5月専用言語ってことか。

529デフォルトの名無しさん2017/07/27(木) 19:42:40.59ID:rQ7K04i3
mlが黄泉から還って左目を洗ったときにsmlが産まれ、右目を洗ったときにOCamlが産まれ、
鼻を洗ったときに産まれたのがF#であるらしい

530デフォルトの名無しさん2017/07/30(日) 23:52:50.44ID:W7NHR4pI
elmの話題が無いみたいだけど触ってる人いないの?
elmの影響を受けたというreduxをtyprscriptから使ってるけど、
reducerを書くのにimmutable.jsを導入してみたらtypescriptと相性があまり良くなくて悲しい。

どうせならelm触ったほうが幸せになれんのかしら。

531デフォルトの名無しさん2017/07/31(月) 02:15:29.10ID:iyeoTq8u
低レベル記述は出来なくてもいいから、短く書けて速いバイナリを吐く言語ってなんだろ?

532デフォルトの名無しさん2017/07/31(月) 02:49:09.85ID:RkZnFpRc
nimとcrystalは?

533デフォルトの名無しさん2017/07/31(月) 09:34:17.04ID:rPsLgQ6H
あまりにもマイナーな言語だと誰も行列計算を実装してくれてなくて面倒臭い

534デフォルトの名無しさん2017/07/31(月) 11:09:33.58ID:TrWT5gkf
Nim結構良さげな感じするなあ

535デフォルトの名無しさん2017/07/31(月) 14:47:02.65ID:8d7NzLwa
>>531
goってそれが売りじゃないの?

536デフォルトの名無しさん2017/07/31(月) 14:53:08.10ID:TrWT5gkf
>>535
俺にはちょっと冗長かなあ……
内包表記もmapもないのは俺には辛い

537デフォルトの名無しさん2017/07/31(月) 15:05:58.03ID:luO5NyKL
>>536
関数型がいいならrustじゃないの

538デフォルトの名無しさん2017/07/31(月) 15:12:57.67ID:wxFD97LM
本当内包表記もmapもないのは謎だわ
おまけに三項演算子もif式もmatch文もないし
うんこ

539デフォルトの名無しさん2017/07/31(月) 15:13:14.76ID:wxFD97LM
match文じゃないmatch式

540デフォルトの名無しさん2017/07/31(月) 15:28:16.20ID:G/Fk6WhF
>>532
nim はバイナリ吐かないけどな。

541デフォルトの名無しさん2017/07/31(月) 15:45:00.94ID:u2+qVqAB
オブジェクト指向言語で作るときよくOMT(オブジェクトモデリングテクニックとかなんとか)をよく使って設計してたんだけど、
関数型言語で作るときは何使えばいいの?

542デフォルトの名無しさん2017/07/31(月) 16:27:21.72ID:uq0CdBZz
今思いついたんだが
数学は公理を使えばいいというより、公理以外の何も使わない方がいいな
特に言語に依存するテクニックを使ってはいけない
言語を変えた途端に使えなくなるので

543デフォルトの名無しさん2017/07/31(月) 16:28:38.94ID:A1TauzTI
三項演算子は構文がまるで違うからね
式中にもif書けるようにするからそれ使えの方向
(逆にif廃止全部三項演算子使えな言語があったらおもしろいけどw)

544デフォルトの名無しさん2017/07/31(月) 19:35:10.71ID:xqAPypbO
>>541
関数型の重要な設計指針として、トップダウンで考えるというのがある
1. 問題全体の結果を求める関数のスタブを作る
2. スタブを一つ選ぶ
3. 2で選んだ関数を実装するために必要なものを考え、それぞれを求める関数のスタブを作る
4. 2へ戻る
これを、すべての関数が十分(容易に実装できるレベル)に細分化されるまで繰り返す
こうやっていくと非常に明快で平易なコードになる
逆に入力から出力を導くという考え方で作ろうとすると、俺スゲェに陥って意味不明なコードになりやすい

545デフォルトの名無しさん2017/07/31(月) 19:54:36.50ID:u2+qVqAB
>>544
構造化手法ですか
業務系はオブジェクト指向のが良さそうだ

546デフォルトの名無しさん2017/07/31(月) 20:05:13.60ID:ZV6hqn66
「おまえはこういうコマンドを与えるとこれをやるクラス」って
トップダウンで構造決めてくオブジェクト指向の基本手法の
単語入れ替えたコピペかと思ったw
そしてそれならコマンドに対するふるまい変えられるオブジェクト指向の方がいいや

547デフォルトの名無しさん2017/07/31(月) 20:42:45.33ID:uq0CdBZz
トップダウンの細分化をどこで止めるかを考えないと意味がない
CPUの種類までトップが決めるのか?
CPUを変えたり仮想関数のふるまいを変えたいならトップダウンを止める必要がある

548デフォルトの名無しさん2017/07/31(月) 21:03:46.00ID:iyeoTq8u
>>537
この需要ならrustがベストかいなー
何をするにも面倒な言語というイメージがあって避けて来たけどやってみるか
ありがと

549デフォルトの名無しさん2017/07/31(月) 21:35:05.34ID:VY/jm5nF
もし関数型で大規模な業務アプリを作るなら、大まかなところは伝統的なIPOベースのDFDで描いて
各プロセスを>>544のようなスタイルで実装していくことになるんじゃないかな
データ指向の設計ってCOBOL時代に既に完成してて、あとは莫大なコピペコードの問題を関数型の高度な宣言的記述によって回避できるなら
設計手法としてはわざわざ意識高そうな複雑な手法を持ち出すまでもなく十分に完成と言えると思う

550デフォルトの名無しさん2017/07/31(月) 23:51:23.68ID:CknoIXsc
俺が若い頃(90年頃)はC言語の事を
関数型言語と呼んでたのに。

551デフォルトの名無しさん2017/08/01(火) 08:07:11.18ID:JcYmkGrg
今じゃlispも関数型に入れてもらえるかどうか

552デフォルトの名無しさん2017/08/01(火) 09:55:49.70ID:QEGWTgnM
そろそろ次次世代が気になる

553デフォルトの名無しさん2017/08/01(火) 12:52:24.85ID:PIQ133u2
関数型が注目されてるのってマルチコア時代の並列処理を効率良く動かすための
手法として注目されてるわけで
更に次の世代というと、量子コンピュータってことになるけど
今の実用化している量子コンピュータは機械学習に最適化されてるんで
つまり機械学習専用言語ってことになるのかな

554デフォルトの名無しさん2017/08/01(火) 13:12:51.64ID:3yEb4FWA
>>553
飽きてきたから次のおもちゃってことだろ

555デフォルトの名無しさん2017/08/01(火) 15:56:17.80ID:HS7kzK9m
機械学習のハードが実現してなくても、ソフトで実現すれば数世代先取りできるだろ
現にソフトで機械学習やってるし
ソフトでやるのに飽きた頃にハードが出てくる

556デフォルトの名無しさん2017/08/01(火) 16:42:50.10ID:BPE2Uku1
機械学習専用ハード(ASIC)もうあるよグーグルTPUとか

557デフォルトの名無しさん2017/08/01(火) 17:03:33.70ID:HS7kzK9m
ハードの実験っていうかオープンソースじゃない実験は再現性が怪しい

558デフォルトの名無しさん2017/08/02(水) 00:22:40.42ID:trs+oWK4
VHDLに代わる言語が出てもいいかな。

559デフォルトの名無しさん2017/08/03(木) 18:26:45.17ID:JgW7vvvx
OCamlが学問分野で今微妙にアツイらしい

560デフォルトの名無しさん2017/08/03(木) 19:50:47.86ID:NS2Ahv95
>>559
どういう理由でアツイの?
またその「学問分野」って具体的にはどの分野?

561デフォルトの名無しさん2017/08/03(木) 19:54:19.27ID:eWbe8h/f
>>559
Googleは君の興味関心を学習して君の見たい世界を見せているということを念頭に置いておいたほうがいいよ

562デフォルトの名無しさん2017/08/03(木) 20:14:27.98ID:JgW7vvvx
>>560
東大辺りの奴らで、機械学習をわざわざOCamlで書いてる輩が増えているらしい 。ライブラリも整備されてきたってよ
>>561
知ってる。ちなみにOCamlの情報はGoogleじゃなくてリアルの交友経由の情報

563デフォルトの名無しさん2017/08/03(木) 21:01:12.44ID:cUZMqwjs
OCamlに限った話ではない

564デフォルトの名無しさん2017/08/03(木) 21:24:53.35ID:JgW7vvvx
まああくまで微妙にアツイだからな
ScalaとかHaskellもあったかな?
他はもうC++FortranPythonMatlabMathematicaしか知らんなあ
ケムインフォマティックスなんかはHaskell Scalaはやってる人いるけど Ocamlは聞かないし、やっぱりHaskell Scalaのが上かな?

565デフォルトの名無しさん2017/08/03(木) 21:35:28.91ID:VGeKeN5L
haskell とか scala とかってもはや学習した時間を無駄だと思いたくない人たちが
無理やり盛り上げてるようにしか思えないんだが。

566デフォルトの名無しさん2017/08/03(木) 21:36:52.08ID:8l5FpDvx
OCamlはマルチコア対応になったらまた始めたい
Jocamlとか折角面白いのにシングルコアなんで魅力半減

567デフォルトの名無しさん2017/08/03(木) 21:37:14.15ID:e6YEFDfb
>>565
は?

568デフォルトの名無しさん2017/08/03(木) 22:18:12.98ID:nBK54dRQ
HaskellもScalaも関数型言語の考え方だけ学んだら用済みで、
取り入れるだけ取り入れたJava8や、Kotlinが正義
このスレでは叩かれたが、今となっては俺の言った通りになったじゃないか

569デフォルトの名無しさん2017/08/03(木) 22:21:48.14ID:WxFDmNeE
正直kotlinが優勢だよね。感覚的には
golangは早めに安定したから今はやってるけど、
また状況は変わりそう。
rustはメモリオーナーシップモデルをswiftにパクられたらいらない子になりそう。

570デフォルトの名無しさん2017/08/03(木) 22:25:27.52ID:N0DDjuI1
>>565
たし蟹
Scalaはそこそこ良い言語だったけど
尖りすぎてKotlinにあっさり置いて枯れてしまった

571デフォルトの名無しさん2017/08/03(木) 22:39:07.10ID:563u4f2I
kotlinはscalaの知識使えるし別に
webならplayあるscalaの方が有利だし使い分けじゃね

572デフォルトの名無しさん2017/08/03(木) 23:08:37.77ID:nBK54dRQ
>>571
Playは絶賛失速中だろう
コミュニティは機能してないし勉強会もイベントもなく、QiitaやTwitterにももう何もない
Scalaで使ってた人はRailsやDjangoを使い始め、Javaやってる人はSpringに戻っていった

573デフォルトの名無しさん2017/08/03(木) 23:29:24.10ID:6A4YkL5b
やっぱりGroovyやってた人たちが一番先見性あったな
次はどの言語だろう…

574デフォルトの名無しさん2017/08/03(木) 23:39:13.81ID:F8ZQ8AqH
一時のscala ブームは何だったのか?

575デフォルトの名無しさん2017/08/04(金) 00:11:57.82ID:O3MamTZa
>>572
今さらRailsとかどんだけセンスないのおまえ(暗黒藁半紙)

型無し能無しセンスなしの糞ゴミ言語は全員死ね
マツボックリだかなんだか知らんヒゲ爺は
さっさとこのゴミ言語を潰せボケ

576デフォルトの名無しさん2017/08/04(金) 01:18:05.91ID:f63aP9iW
java8w

577デフォルトの名無しさん2017/08/04(金) 04:09:41.88ID:U01kvQtM
rubyってrailsで当てた一発屋なのにね。

578デフォルトの名無しさん2017/08/04(金) 10:42:41.04ID:zYGfuuva
型無し能無しセンス無し

579デフォルトの名無しさん2017/08/04(金) 12:14:49.37ID:rS2vQ23N
セイロンの事も忘れないでね

5805602017/08/04(金) 14:49:35.41ID:eMF9uhYU
>>562
レスと御教示ありがとう
機械学習のコードをOCamlでですか

581デフォルトの名無しさん2017/08/04(金) 23:25:50.79ID:vuZIQLpQ
むやみやたらと大量のソースコードを量産して、ディスクの肥やしにする最近の風潮になじめない。

元凶はJavaあたりか。

価値のあるコードってのは、定義が難しそうだけど、

たとえば実行可能コードとそのソースコードのボリューム比較を考えてみると、
ソースが理不尽にふくらんでいる気がする。

hello,worldに数十行ってのは本末転倒。

なんでもかんでもオブジェクト指向しなくても、昔も別に困ったわけじゃないんだから、OOが必然ではないはず。

どんどん全体を見渡せる、いわゆる、神の目を持つものが少なくなっている。

まあ、仕事を増やすって意味で業界に貢献してるんだろうけど、ばかばかしいほどにまで非効率になっている
気がするね。

582デフォルトの名無しさん2017/08/04(金) 23:50:29.87ID:ZFg5jE9u
記憶力が落ちただけだと思うよ
自分で気付いてないだけ

583デフォルトの名無しさん2017/08/05(土) 00:35:23.13ID:yfDugfcM
どこの世界の話だ
ここ最近の風潮では、短いコードが正義だと関数型を採用しひたすら抽象化に邁進する流れじゃないのか

584デフォルトの名無しさん2017/08/05(土) 01:02:28.33ID:jB/epMOs
どこの世界の話だ

585デフォルトの名無しさん2017/08/05(土) 02:27:20.31ID:r+UIi6ic
少なくとも日本ではなさそうだな

ジャップランド土人は屁臭いペチプゥで
型無し能無しセンス無しの糞コードウンコモリモリ大将軍してる
基地害低脳ゴミカスしかおらんからな

586デフォルトの名無しさん2017/08/05(土) 09:39:30.67ID:LM2wNYVN
Petit peu な Codeaux un commois liais mois liais?

587デフォルトの名無しさん2017/08/05(土) 12:37:44.56ID:ioSmFHmD
Ceylon は消えるだろうな。キラーアプリが出てくれば別だけど。
(Ruby がRailsで一発当てたみたいに、すごいソフトが出てくればの話だけど)

588デフォルトの名無しさん2017/08/05(土) 12:38:46.91ID:ioSmFHmD
最近のKotolin 推しって何なの?
一時期Scala を押していた人たちがKotolin に移っているのかな?

589デフォルトの名無しさん2017/08/05(土) 12:56:21.44ID:r+UIi6ic
Androidもしらないサーバーサイドお爺ちゃん
組み込み曾お爺ちゃんの後を継ぐのは君だ

590デフォルトの名無しさん2017/08/05(土) 13:04:32.77ID:wQFjSmwa
きっかけはAndroidの件だけど、Kotlinを話題にしてるのはサーバーサイドの連中が中心だろう
Android開発なんて金にならない三流分野で、プログラミングのメインストリームを変えるような影響力なんて無いよ

591デフォルトの名無しさん2017/08/05(土) 13:16:01.72ID:POjfJmBG
今はなんとなくSwiftやTypeScriptのような言語が流行っている雰囲気があるから。
Java/Android界隈の人も var 変数 : 型 って書きたいんだろう。

592デフォルトの名無しさん2017/08/05(土) 15:02:06.08ID:j/cNGuAY
>>590
プログラミングのメインストリーム変えるような連中は、Android開発だろうとサーバサイドだろうとなんでもできるフルスタックが多いんじゃない?

593デフォルトの名無しさん2017/08/05(土) 15:05:18.69ID:RDrQu3eT
var 変数 で型推論してくれるのが前提の書き方のはずで
関数型言語だと「型注釈は(コンパイラが失敗するまで)書くな」だけど
: 型 つけないとコンパイラに怒られまくるなら最初から書いとくのも仕方ないね

594デフォルトの名無しさん2017/08/05(土) 15:37:15.82ID:wQFjSmwa
>>592
フルスタックな人ならクライアントに置くコードは最小限にするはずだから、
Androidアプリを何で書くかなんて深く議論するに値しない些細な問題だよ

595デフォルトの名無しさん2017/08/05(土) 15:51:07.66ID:5/nXCXeI
>>593
>関数型言語だと「型注釈は(コンパイラが失敗するまで)書くな」だけど
誰がそんなデマを言いふらしてるんだ?

596デフォルトの名無しさん2017/08/05(土) 16:12:29.25ID:uXlFBIBD
フルスタックって、FORTH かよっ!

597デフォルトの名無しさん2017/08/05(土) 17:12:21.73ID:n8pq6YqV
天才プログラマが一人で全部作りましたって時代ではないからな。。

598デフォルトの名無しさん2017/08/05(土) 18:16:19.01ID:RDrQu3eT
>>595
逆に積極的に書くのがベストプラクティスなんてのがどこにあるんだよ?

599デフォルトの名無しさん2017/08/05(土) 19:21:58.27ID:j/cNGuAY
まぁ書かないのが良いとはされてるが、プロダクションコードはコード規約とかで、全てに型注釈入れろとしてるとこが多いね

600デフォルトの名無しさん2017/08/05(土) 21:37:34.82ID:boLwVObe
>>598
>>599
意味不明すぎ
型注釈は入れるのが当たり前だろ
単なるジェネリックプログラミングと勘違いしてない?

601デフォルトの名無しさん2017/08/05(土) 22:33:18.79ID:r+UIi6ic
Javaかよ(笑)

602デフォルトの名無しさん2017/08/06(日) 01:46:33.87ID:X6yw5Nga
ScalaでもHaakellでも書くのが当たり前だぞ

603デフォルトの名無しさん2017/08/06(日) 02:30:30.64ID:0wpHTVIH
えっ それはどこの当たり前??

604デフォルトの名無しさん2017/08/06(日) 03:09:28.92ID:OwbCgw8i
OCamlでも普通は型を書くぞ。

605デフォルトの名無しさん2017/08/06(日) 03:13:20.32ID:JQasL6d0

606デフォルトの名無しさん2017/08/06(日) 03:34:23.31ID:0wpHTVIH
OCamlとか死んだ老害言語の話はしてないから
耄碌お爺ちゃんはあっち行ってて

607デフォルトの名無しさん2017/08/06(日) 04:44:58.60ID:X6yw5Nga
>>603

608デフォルトの名無しさん2017/08/06(日) 04:45:24.92ID:X6yw5Nga
なんだエアプが湧いてんのか

609デフォルトの名無しさん2017/08/06(日) 04:54:54.04ID:X6yw5Nga
もしかして式一つずつに型注釈入れるとでも思ってるのかね
そんなのJavaですらやらんよ?

HaskellやScalaは少なくとも各モジュールのトップレベルの関数には型注釈つけるし、つけないと効率悪くなる
コンパイル遅くなりやすいし、推論に頼りすぎるとエラー時に問題箇所が曖昧になるから

610デフォルトの名無しさん2017/08/06(日) 07:49:45.80ID:K4D4wFtM
書いても書かなくてもよいというのが客観的事実だから
理系なら話はそれで終わり
それ以上踏み込むのは文系の仕事

611デフォルトの名無しさん2017/08/06(日) 10:18:56.55ID:fAxfwMN0
OCamlアンチおるな

612デフォルトの名無しさん2017/08/06(日) 10:46:44.29ID:0wpHTVIH
>>609
なら最初からそう書けよ

> ScalaでもHaakellでも書くのが当たり前だぞ
エアプガイジ

613デフォルトの名無しさん2017/08/06(日) 11:37:53.63ID:exhLY8Mw
Ocaml自体は良い言語なの?
あんまり使ってるって人は聞かないけど

614デフォルトの名無しさん2017/08/06(日) 11:40:40.31ID:+mclrVGG
>>613
よく知らないけど金融で使ってる人がいるらしいのと、最近機械学習で使ってる輩がいるらしい

615デフォルトの名無しさん2017/08/06(日) 12:03:55.69ID:K4D4wFtM
>>613
型ありライブラリなし特技なし

616デフォルトの名無しさん2017/08/06(日) 12:23:21.27ID:+mclrVGG
あとHLVMはOCamlじゃなかったっけ?

617デフォルトの名無しさん2017/08/06(日) 14:51:30.93ID:X6yw5Nga
>>612
またお前か
ガイジガイジうるさいだけでなくただの知ったかぶりか

618デフォルトの名無しさん2017/08/06(日) 14:51:53.14ID:9I48IW8u
ocaml, haskell の比較

ttp://d.hatena.ne.jp/camlspotter/20101212/1292165692

まあ極論抜きにして普通に考えればこういうことだろうなという印象。

619デフォルトの名無しさん2017/08/06(日) 15:00:38.52ID:X6yw5Nga
>>618
この人は良く分かってるなあ
純粋言いながらunsafePerformIO使うって件はまさにその通り
結局このIO書くときの面倒さがあるから、ScalaやOCamlのが使いやすい印象になってしまう

620デフォルトの名無しさん2017/08/06(日) 16:21:58.97ID:HqZ4NE4V
割り切れば楽なのにと思ったりもするw

純粋とは副作用有りと無しを分けて書くことで
try-catchで正常処理とエラー処理を分けて書くようなものだ

621デフォルトの名無しさん2017/08/07(月) 11:39:10.26ID:tDzZ+7xU
>>620
ちょっと脇道にそれるけど
try-catchって言うほど正常処理とエラー処理をきれいに分けられる?
goのようにその構文を捨ててる言語があるとこも考えると
いうほど価値あるのかなって思う。

あと関数型だとEither型とかもあるよね。

622デフォルトの名無しさん2017/08/07(月) 12:10:20.41ID:r7C/NYo5
>>621
返り値が一つしかない言語では有能機能だった。多値返却が当たり前になりつつある今はもう……

623デフォルトの名無しさん2017/08/07(月) 12:28:03.34ID:tDzZ+7xU
>>622
まぁ。それでもリストなりタプルで返せば一緒だけどね。
前の会社の上司がphpの関数の返却値を必ず配列で返してたの思い出した。
言語としての基本方針がそうなっているかどうかだよなー。
結局誰かがそういう実装にしてもメンテする過程で混在しちゃったら地獄と化す

624デフォルトの名無しさん2017/08/07(月) 12:37:33.59ID:tDzZ+7xU
elixirの言語仕様の中に、結構何これかっこいいって仕様がたくさんあった気がする。

例えばパイプ演算子とか、
バイト配列に対するパターンマッチとか。

625デフォルトの名無しさん2017/08/07(月) 14:18:21.77ID:JP8gCgB5
OCamlでは常備薬だったよ>パイプ演算子
haskellの$や.より読みやすくて好きなんだけど、関数型も取り入れててオブジェクト指向もサポートしている言語だと、
メソッドチェーンでええやん勢がいるのが難点
自由度はパイプの方が高い気がするんだがな

626デフォルトの名無しさん2017/08/07(月) 19:08:07.52ID:dQGQ218P
お前らだれもF#話題にしないからマイクロソフトP#作っちゃったじゃん

627デフォルトの名無しさん2017/08/07(月) 19:57:22.72ID:y+tGiyqS
へー、FORTRANの次はPascalの.NET版か。

628デフォルトの名無しさん2017/08/07(月) 20:38:25.36ID:E9IdpB60
MSっていったいいくつ言語作ったんだ
そしてパクリでない言語はあるのか

629デフォルトの名無しさん2017/08/07(月) 20:45:36.62ID:n9zFQLuH
>>628
すべての言語はすべからくパクりパクられの関係であるといえる。
一番言語を上手く作れている会社だと思うけど >MS
と言うか開発環境セットでいい感じ。
vscodeの完成度は高い。TypeScript大好き。
ただTypeScriptはあくまでESの型拡張に限定してるからES側に機能追加がないと
言語として成長できないという問題はある。

ドッチかというとFacebookが言語開発イマイチ感
Hackとかflowとか

630デフォルトの名無しさん2017/08/07(月) 20:52:47.52ID:E9IdpB60
>>629
BASICっぽくないのにVisualBASICとか名前をパクってるってこと
他の言語は移行者を配慮してだが、MSは騙す努力ばかりに見える
開発環境とセットというのがまたダメだ
プログラマによる変革が生まれにくい
単なる作業者ならいいが

631デフォルトの名無しさん2017/08/07(月) 21:02:50.52ID:n9zFQLuH
>>630
俺もちょい前まではMS気に食わなかったし
vscodeが最初登場したときは、なにこれatomパクって車輪の再発明?
みたいな感じだったが使ってみてハマった。
別に開発環境で囲い込もうってわけでもないと思う。

一緒にlangage server protoolというのも定義して公開した。
IDEと言語サーバ間のプロトコルを共通化し対応するEditorならなんでも使えるようにする。

gccがサポートしてるってニュース見たよこないだ。
ということで最近のMSはオープンソースとの関係がよい。気がする。

632デフォルトの名無しさん2017/08/07(月) 21:36:59.12ID:NP3377Zu
>>629
FBだけじゃなくてGoogleもイマイチ
DartやGo

633デフォルトの名無しさん2017/08/07(月) 21:48:18.67ID:Ii/d6u5R
>>632
Googleも結局VSCodeメインで使ってるしな

634デフォルトの名無しさん2017/08/07(月) 22:01:33.03ID:E9IdpB60
>>631
その先に3E戦略が見えるから乗っかれない

635デフォルトの名無しさん2017/08/07(月) 22:03:25.57ID:JP8gCgB5
Electronベースのエディタとしては後発なのに他を追い抜いたのが凄いわ>vscode
vscodeはatomやbracketと同じElectronベースなのにどうしてあんなに軽いのかね

636デフォルトの名無しさん2017/08/07(月) 22:19:19.22ID:NP3377Zu
>>635
MSは長い間VS作ってるしエディタとかIDEのノウハウが凄いのでは

637デフォルトの名無しさん2017/08/07(月) 22:34:23.14ID:60+6AuiC
構造化BASICの正統進化なんだけど
ついでに8bit機にのってたようなのは当時既にストリートBASICって言われてた
(漏れもwikipediaで知ったんだけどさw)

638デフォルトの名無しさん2017/08/07(月) 22:52:43.28ID:Bulya1kQ
>>629
すべからくの使い方を間違えてる日本語が気持ち悪い

639デフォルトの名無しさん2017/08/07(月) 22:56:12.10ID:PU2i/+ft
最大級の戦犯はペチプ〜やペェ〜ルとかいう真性糞ゴミを作った屑

640デフォルトの名無しさん2017/08/07(月) 22:56:31.90ID:BjLAzK5L
一歩の作者が悪いんや…
すべからく…べし、の形すら守ってないと俺はそれ以降の文章はスキップする
読む価値がない

641デフォルトの名無しさん2017/08/07(月) 23:11:59.24ID:nZ0RU5t+
>>637
MSのQuickBASIC好きだったなぁ

642デフォルトの名無しさん2017/08/07(月) 23:20:02.38ID:PU2i/+ft
屁臭いペチプァゴミはすべからく死すべし

643デフォルトの名無しさん2017/08/08(火) 01:38:13.00ID:Apkyawzp
>>636
内部的にtypescript使ってるのは関係ないかな?

644デフォルトの名無しさん2017/08/08(火) 01:43:32.85ID:lBJjevEI
vscode はむしろマイクロソフト内の若手が爺どもにぶちぎれて
まったく別路線のものをつくったという印象

6452017/08/08(火) 08:04:36.27ID:y4ztJzgK
>>630
いわゆるMS BASICからQUICKBASIC→Visual Basic→VB.netと辿っていけばわかるけど、普通にMicrosoft系のBASICだと思うけど。
どの辺がBASICっぽくない?

646デフォルトの名無しさん2017/08/08(火) 11:58:13.44ID:1MHxdJ+Z
>>643
typescriptもjsに変換されるから無関係
V8エンジンが速いという条件ならatomも同じだぢ

647デフォルトの名無しさん2017/08/08(火) 11:58:30.92ID:1MHxdJ+Z
x だぢ
o だし

648デフォルトの名無しさん2017/08/08(火) 14:24:25.13ID:Apkyawzp
>>646
それは言われなくても分かる。
素のES2015よりメンテナンス性や安定性が向上しないかな。
例えばnull安全なコードがかけるからnilチェック漏れとかを潰せるし。
プラグインもtypescriptでかくから少しましになる?

649デフォルトの名無しさん2017/08/08(火) 16:22:17.89ID:1MHxdJ+Z
>>648
それはそうだけど、>>635から始まったvscodeのパフォーマンスの話してるからtypescriptであるかは関係ない

650デフォルトの名無しさん2017/08/08(火) 22:23:27.85ID:tSx5MElw
>>622
勘違いしてるぞ
EitherはMaybeの上位互換だ

651デフォルトの名無しさん2017/08/08(火) 23:05:33.35ID:uStlgM0t
>>650
多値返却に関してはgoのことやね
Eitherに関しては取り敢えず無視してたわ

652デフォルトの名無しさん2017/08/09(水) 00:30:01.84ID:89KnBaBf
エラーをバケツリレーするより
エクセションで飛ばした方が簡単でしょ

653デフォルトの名無しさん2017/08/09(水) 08:59:18.22ID:FPEvL6ue
簡単そうに見えても結局それぞれの場所でオブジェクト開放を
うまくやらなきゃならんことを考えれば大して楽になるわけでもない。

654デフォルトの名無しさん2017/08/09(水) 12:40:14.22ID:aEwDYdDe
VSCodeでインテリセンス技術をオープンソースにしたのは地味に画期的なことだと思う
IDE分野でのMSの強さを支えるコア技術だよね

655デフォルトの名無しさん2017/08/09(水) 13:12:03.09ID:ZSp2lruc
Goはパターンマッチないのに例外を戻り値で返すからあんな面倒な事になってるんだろ

656デフォルトの名無しさん2017/08/09(水) 19:01:09.05ID:FPEvL6ue
その言い方だと例外投げられればいいのかパターンマッチが導入すればいいのか
わからんが。
どっちかもしくは両方あれば楽になったとでも?

プログラム書く上でまったく本質的な制約だと思わんな。

657デフォルトの名無しさん2017/08/09(水) 19:08:28.68ID:h3UNfnj7
本質的な制約って何だよ?

658デフォルトの名無しさん2017/08/09(水) 19:25:58.05ID:ZSp2lruc
>>656
どちらか欲しい
両方ないのはキツイ

659デフォルトの名無しさん2017/08/09(水) 19:26:26.92ID:ZSp2lruc
あと複数の戻り値じゃなくてタプル+単一戻り値の方が扱いやすい

660デフォルトの名無しさん2017/08/09(水) 19:49:05.94ID:gdB1BRW9
よくわからんが、タプル+単一は複数とは違うのか?

661デフォルトの名無しさん2017/08/09(水) 19:53:53.66ID:h3UNfnj7
Pythonとかあれタプル+単一じゃね?

662デフォルトの名無しさん2017/08/09(水) 20:19:16.67ID:jK6ObLbS
+演算子をorの意味で使ってるのか?
それだとタプルを返した時は単一ということになるか
単一の意味も違うのかもしれない

663デフォルトの名無しさん2017/08/09(水) 20:44:15.24ID:h3UNfnj7
形式的にだけど、返り値はタプル一つになっていて、それを分配束縛してることになってなかったっけ?
違ったかも

664デフォルトの名無しさん2017/08/09(水) 21:03:21.63ID:gdB1BRW9
んで結局、>>659はどういうのが扱いやすいと言っていたわけなの

665デフォルトの名無しさん2017/08/09(水) 21:22:14.98ID:SHgM+TeI
タプルとEitherはC言語のstructとunionに戻るようなものだからな
次世代の面子が潰れる

666デフォルトの名無しさん2017/08/09(水) 21:38:43.55ID:cB8pPRbn
goの戻り値がタプルのほうが嬉しいという気持ちはわかる。
自作の型に自由にメソッド生やせるのに、メソッドチェーンしようとした場合に、多値を返されると無理。

667デフォルトの名無しさん2017/08/09(水) 22:04:04.13ID:ZSp2lruc
>>666
golangは本当メソッドチェーンが出来ないよな

668デフォルトの名無しさん2017/08/09(水) 22:51:13.67ID:cB8pPRbn
まぁそういう弱点ありつつもgoは嫌いじゃないんだけどね。
エコシステムの部分とか。

import文にgithubのurl?を書けたり。

標準ライブラリのコードが自然に見にいけるから書いている最中も勉強になるし、標準ライブラリが教科書的な役割をはたしてくれたり。

コードフォーマットが標準装備で言語仕様的に制約が強いから構文規約は一つしかないところとか。

と言いつつも他の言語を見て羨ましくもあり。もっと関数型チックになってほしいけど無理かな。

669デフォルトの名無しさん2017/08/09(水) 23:57:18.80ID:ECmmt/Ev
メソッドチェーンが遺物だと気づけw
Goは意図的にメソッドチェーン出来ないようにしてるんだ

670デフォルトの名無しさん2017/08/10(木) 00:20:35.92ID:eLvHxdUn
パイプライン演算子の便利さを考えるとメソッドチェーンもそこまで悪くない気もするが、使い方次第かねえ

671デフォルトの名無しさん2017/08/10(木) 01:03:52.42ID:BXUbqcL4
パイプカットでGo

672デフォルトの名無しさん2017/08/10(木) 01:40:12.18ID:+tFBM5sG
パイプラインの方が柔軟性高くていいよね
do_something foo |> lambda x => x + other_fun bar |> ...
みたいな前の戻り値のメソッドに限定しない書き方ができる

これをもっと楽にするような記法、例えばパイプラインの式中のアンダースコアは前の値とする、みたいなのがあると嬉しい
上のやつと等価だったらdo_something foo |> _ + other_fun bar |> ... みたいな

673デフォルトの名無しさん2017/08/10(木) 01:51:16.15ID:eLvHxdUn
Juliaでそのアンダースコア議論されてて、結局実装されなかったんだよなたしか

674デフォルトの名無しさん2017/08/10(木) 01:52:27.10ID:E9UII0hi
それはおかしいでしょ
カリー化した方が自然

675デフォルトの名無しさん2017/08/10(木) 01:55:26.39ID:eLvHxdUn
2番目の引数を先に埋めてアンダースコアは一番目にしたいパターンがあるので、どちらかと言うとカリー化は好きじゃないなあ。設計が悪いと言われたらそれまでだけど

Juliaの場合は多重ディスパッチを採用している関係でカリー化は諦めたっていうのもあったな

676デフォルトの名無しさん2017/08/10(木) 03:00:14.84ID:J41+5nHx
>>665
いやだからEitherモナドはMaybeみたいに正常系だけ書いていけるし単値だしで全然違うって
なんで皆使ったことも無いのにそんな事言うの…

677デフォルトの名無しさん2017/08/10(木) 07:31:11.02ID:EsQl4Iyt
単純にノイズが増えるだろう
現実にはほとんどの関数がエラーを返す可能性を持ってるんだから、言語に織り込んでデフォルトを Error | Result とするのは悪いアイデアではない

678デフォルトの名無しさん2017/08/10(木) 08:32:51.57ID:eLvHxdUn
>>676
これ実際Haskell書いてないと分からない感覚かもな

679デフォルトの名無しさん2017/08/10(木) 23:01:38.31ID:g9gtECZC
(Elixirは?動的型付け言語に人権はありますか)

680デフォルトの名無しさん2017/08/11(金) 07:15:28.72ID:VinUUXdS
ほとんどの動的型言語ってそれが動的型であるメリットは特に無くて
単なる処理系実装者の怠慢でしかない
動的型言語を推すならまずはそれが動的型でなければならない理由を示すこと

681デフォルトの名無しさん2017/08/11(金) 08:32:31.97ID:wS48fUKa
lisp とか仕様をシンプルにできることかな。
あほみたいに仕様が膨らんで意味の分からんキャストをがばがばおこなわなきゃならん
みたいな不自然なことで生じるバグは減る。

682デフォルトの名無しさん2017/08/11(金) 08:51:11.85ID:Pc9UeBFi
>>680
怠慢に寛容になると嘘をつく人間が減るから
自分はなにもしないくせに他人の嘘をデバッグするのだけはうまい奴がいる
そういう奴がいても許されるから嘘が減る

怠慢を許さない環境では忙しくて嘘を見抜く暇もないから嘘が蔓延する

683デフォルトの名無しさん2017/08/11(金) 08:56:57.66ID:wWK8j68x
そもそも型が必要な理由が分からん。
数学なら「整数型のxが・・・」なんて言わないしな。
「ここでxは整数とする」はあるけど、条件に過ぎないし。
リストやタプルも分ける必要ある?

684デフォルトの名無しさん2017/08/11(金) 10:46:48.12ID:4bbWTV9L
372仕様書無しさん2017/08/11(金) 10:31:43.41
フリーランスで検索すると引っかかる零細ITがやっているサイトだめだ。
高額に見せているけど実際は50万前後
JIET加入した方がいいよ。案件は毎日千件以上末端価格は60万円 平凡な稼働時間の80万円の案件もある。
ユー子が求人をだしてる。名刺も渡せる。ユー子に名刺を渡せるんだぞ。夢のようだ

それらの案件まさぐってHPで転売していたのが零細ITがやるフリーランスサイト

685デフォルトの名無しさん2017/08/11(金) 11:00:48.00ID:HT0ZPb79
>>683
型はその条件をいろいろ細かく定義したものだろ。
値域や定義域だって型。

686デフォルトの名無しさん2017/08/11(金) 11:17:57.35ID:Dik+7mIk
動的型の問題って関数のインターフェースがガバガバなところでしょ?
elixirはパターンマッチで結構制約できるから動的だからって卑下する必要ないのよ

687デフォルトの名無しさん2017/08/11(金) 11:44:41.66ID:23hvE/8L
>>680
動的型でなければならない理由?
それは、おまえがバカだからだろう。

688デフォルトの名無しさん2017/08/11(金) 11:59:08.49ID:wWK8j68x
>>685
少なくともunsigned は要らなくない?
1bit ケチれるだけだし。
中途半端な単精度浮動小数点とかも。

689デフォルトの名無しさん2017/08/11(金) 12:01:25.46ID:u64fZ1yg
申し訳ないが未だに使っているGPUの多い単精度小数点DisはNG

690デフォルトの名無しさん2017/08/11(金) 15:03:12.85ID:Pc9UeBFi
>>686
まだコードを書いてないのに問題でしょとか言われても
言う時期が早すぎるし言う内容に具体性がないよ
まるで数学も英語もまだ知らない小学生にプログラミングを教えているようだ

691デフォルトの名無しさん2017/08/11(金) 15:39:55.52ID:Dik+7mIk
TypeScript触ってるとjsに型がある方が幸せだってわかる。
jsonにスキーマ設定無しで
reduxでstate管理するのとか絶望する。
あと、学習面でも明らかに型があったほうが幸せ。書いてる端から指摘してくれるからすごく幸せ。
TypeScriptはvscodeとセットで幸せー

692デフォルトの名無しさん2017/08/11(金) 15:58:37.67ID:uuzmQ1J4
>>688
今言ってる片野必要性は容量のためじゃないだろ
全ての引数をテストするとすると1bit減ることでテストの数が半数になる実装もその1bitに対して考える必要がなくなる
例えばルートを計算する関数を実装するのに引数が正の整数と限定されてれば簡単だが、負だったり小数した場合は複雑になる。文字列や画像だった場合は例外が発生したりアボートしたり誤作動するかも知れない。
型はビジネスロジックに集中するためのルール、制約だ
静的は言語レベルで強制、チェックしてて、動的ではユーザ、実行時に任せてる

693デフォルトの名無しさん2017/08/11(金) 18:06:45.60ID:wS48fUKa
関数の引数なんかはやっぱ型があった方が読みやすいなと思う。
でも内部のテンポラリ変数なんかは別にいらんかもね。
というかテンポラリ変数の型情報がないと読めないようなコードは
そもそもコードが長すぎるとか、他の根本的な部分に問題がある気がする。

694デフォルトの名無しさん2017/08/11(金) 19:32:48.58ID:L+PB1ux2
>>682
>>690
内容がフワフワしてて何言ってるのか理解できない
もっと具体的かつ簡潔に言え
Twitterによくいるプログラミングできないのにプログラム語ってるクソ野郎みたいだぞ

695デフォルトの名無しさん2017/08/11(金) 19:36:48.30ID:L+PB1ux2
>>688
unsignedはオーバーフローしても下から戻るから楽
つか実装型まで否定するって、じゃあ任意精度にしろってか?
計算量制御できなくなるぞ?

696デフォルトの名無しさん2017/08/11(金) 21:54:24.08ID:3dMix9dV
世界で最も使われている西京言語JavaScriptをディスってんのかメーン

697デフォルトの名無しさん2017/08/11(金) 22:53:04.88ID:HT0ZPb79
西京漬けいいよね

698デフォルトの名無しさん2017/08/11(金) 23:18:20.12ID:Dik+7mIk
最近はtypescriptが流行っていてな

699デフォルトの名無しさん2017/08/12(土) 08:33:13.28ID:Uq7dQQ/j
>>694
プログラミングできるできないではなくタイミングの問題
目の前のことを言えば具体的かつ簡潔になる
遠い将来のことを語るとフワフワする

700デフォルトの名無しさん2017/08/12(土) 09:39:33.11ID:DS1jvWO1
次世代言語を語りたければ、今流行ってる言語の分析をしないと
Java、C#、C/C++が人気だけど

701デフォルトの名無しさん2017/08/12(土) 11:11:20.00ID:Uq7dQQ/j
WindowsとLinuxのAPIが人気
Javaは大規模開発が云々で人気

702デフォルトの名無しさん2017/08/12(土) 11:28:39.85ID:lZqlh0rm
Java系は一貫した技術の枠内で一通り完結するのがメリット
アプリケーションロジックの開発に集中できる

703デフォルトの名無しさん2017/08/12(土) 13:00:05.73ID:Uq7dQQ/j
マクロはズルってのと同じで枠の外にあるものはズルなんだな

704デフォルトの名無しさん2017/08/12(土) 13:36:29.79ID:D9kn9WR2
しかし結局欲しいのはマクロでしょ?ってなることは結構ある。

705デフォルトの名無しさん2017/08/12(土) 14:15:33.93ID:bnRf3zzW
>>700
Java…型推論ない、論外
C/C++…メモリ安全じゃないので面倒
C#…まあ使える。ただT aだったりT b()だったりで書き方がちょっと古い

706デフォルトの名無しさん2017/08/12(土) 14:17:29.71ID:bnRf3zzW
C#は良い言語だと思うよ
パターンマッチが追加されたりifが式になったりで便利になってきてるし

707デフォルトの名無しさん2017/08/12(土) 14:20:25.35ID:D9kn9WR2
.NET依存が激しいのが好きじゃない

708デフォルトの名無しさん2017/08/12(土) 14:22:40.68ID:ahseiZ+6
>>707
なぜ?

709デフォルトの名無しさん2017/08/12(土) 14:26:21.46ID:Z/LzjBMS
事実上Windowsでしか動かねーやん
話にならんわ

710デフォルトの名無しさん2017/08/12(土) 14:29:29.00ID:ahseiZ+6
>>709
いつの時代の話だよwww

711デフォルトの名無しさん2017/08/12(土) 14:31:48.99ID:Z/LzjBMS
.net coreはまだプロダクションで使うのは怖いだろ
仮にそこ乗り越えたとしても、C#だと結局開発はVS最強なんだから窓開発になる

712デフォルトの名無しさん2017/08/12(土) 14:32:59.46ID:bnRf3zzW
.NET CoreだけじゃなくてMonoもあるぞ

713デフォルトの名無しさん2017/08/12(土) 14:38:41.45ID:ahseiZ+6
>>711
もう1年以上経つし、そろそろ.NET Standard2.0も出るこの時期に何言ってんだか
素直に知りませんでしたでいいよ

714デフォルトの名無しさん2017/08/12(土) 14:39:29.47ID:ahseiZ+6
(新しいことを学ぶのが)怖いってことだな

715デフォルトの名無しさん2017/08/12(土) 14:46:02.46ID:bnRf3zzW
.NET Standardってなんや

716デフォルトの名無しさん2017/08/12(土) 14:47:02.12ID:zLZ79VVH
見事にオープンソースとクラウドの時代を代表するリーダーの一人として転身を果たしたMS
存在感を失い続けるIBMとオラクル
そう考えるとJavaは疫病神なのではないか

717デフォルトの名無しさん2017/08/12(土) 14:51:47.74ID:ahseiZ+6
>>715
Fullの.NET FrameworkやMono、.NET Coreがそれぞれ実装すべきAPIを定めたもの

718デフォルトの名無しさん2017/08/12(土) 14:53:12.33ID:n0XoXOKh
LinuxのMonoっていい感じなん?

719デフォルトの名無しさん2017/08/12(土) 14:54:08.03ID:ahseiZ+6
>>716
こないだのPaketの件といい、.NET CoreからFullの.NET Frameworkの一方的な切り捨てと言い、コミュニティをないがしろにしてちょいちょい炎上してるけどな

720デフォルトの名無しさん2017/08/12(土) 18:22:00.10ID:D9kn9WR2
こういう妄信タイプがいるから
環境依存言語は嫌なんだよ。

721デフォルトの名無しさん2017/08/12(土) 19:44:58.81ID:8N+UUpIY
今じゃもう.NETを忌避するほうが逆に宗教みたいになってるよな

722デフォルトの名無しさん2017/08/12(土) 20:00:15.90ID:2/FX67Cg
.NETはまだまだ環境の問題もあるからともかく、
MSだからという理由でMSのプロダクトが開発者に嫌われることは少なくなったね
マカーがMS製のエディタでMS製の言語でプログラミングしてそれをMSのクラウドプラットフォーム上でホストされてるLinuxへデプロイするとか 一昔前ならあり得ない未来だった

723デフォルトの名無しさん2017/08/12(土) 20:03:25.03ID:DE4QKP9/
Monoで動いているものは結構色々あるはず
例えば3DGameEngineのUnityはC#で開発できるけど裏でMonoが動いてる
マルチプラットフォームな開発環境であるXamarinもMonoを使ってる。
知らないうちに.Netは大半のプラットフォームで動くように。

724デフォルトの名無しさん2017/08/12(土) 20:10:51.11ID:A/BCmj8c
完全マカー依存のスーウィフトはどうなりましたか(小声)

725デフォルトの名無しさん2017/08/12(土) 20:19:13.69ID:953va2dM
.NETはLLVMつかってネイティブ化する計画なかったのか

726デフォルトの名無しさん2017/08/12(土) 20:24:30.75ID:DE4QKP9/
実際のところ.Netを選ぶメリットって何かあるのかな?
マルチプラットフォームならtypescriptとelectron、もしくはreact nativeで良い気がするけど。

727デフォルトの名無しさん2017/08/12(土) 20:25:59.19ID:953va2dM
現行、LLVMの使用はLinux、Macのみらしいが原理としてLLVMが動くすべてのOSでネイティブコンパイルできるのでは?
実際動かしてないし間違えてるかも。


性能を強化した「.NET Core 1.1」が公開 2016年11月21日
米Microsoftは11月16日、「.NET Core 1.1」を公開した。性能が強化されたほか、対応するLinuxディストリビューションも拡大した。
最新版では対応するディストリビューションを拡大し、Linux Mint 18、OpenSUSE 42.1、macOS 10.12、Windows Server 2016で利用できるようになった。
macOS 10.12とWindows Server 2016については、.NET Core 1.0も利用できる。
Linux向け、Mac向けでは、CoreCLRをClang/LLVMでコンパイルするため、次のリリースでClang版のPGOをサポートする予定としている。
https://mag.osdn.jp/16/11/21/154500

728デフォルトの名無しさん2017/08/12(土) 20:33:46.06ID:D9kn9WR2
まあ実際使ってみると右往左往することになるわけだが。
「互換性」あるってセールストークに馬鹿みたいに引っかかりすぎなんだよ。

729デフォルトの名無しさん2017/08/12(土) 20:36:01.39ID:Dx69QmpS
>>728
それは環境によるだろ…
すぐ一纏めに考えるのは愚かな事

730デフォルトの名無しさん2017/08/12(土) 20:42:05.60ID:953va2dM
こういう流れらしい。


.NET Coreとは? 2017年6月6日

.NET Coreがリリースされて約1年経ち、ようやくビルドツールも正式版としてリリースされるに至った。
本連載記事では、「Linuxを中心にクロスプラットフォームで開発できる.NET Core」という視点で、開発の方法を説明していきたい。

.NET Coreの歴史
Windows上でのみ動作する.NET Frameworkは、2002年に最初に登場して以来、バージョンアップを重ねてきた。
それに対し、Windows・Linux・macOSで動作するクロスプラットフォームな.NET Coreが発表されたのが、2014年11月12日のことである。
このとき、今までWindowsのみをサポート対象としてきた.NETが、LinuxやmacOSもサポート対象としたことに加えて、最初からGitHubでオープンソースとして公開されたことにも驚きがあった。

クロスプラットフォームを動作環境とすることに関しては、Monoプロジェクトという先人がいた。
Monoプロジェクトは.NET Frameworkの互換環境をLinuxやmacOSを含めたスマートフォンOSにすることを目標としており、その中にはGUIフレームワークも含まれている。
Monoプロジェクトは現在、Xamarin社が開発・サポートをしており、スマートフォン向けのクロスプラットフォーム開発環境であるXamarinブランドの製品を提供している。
そのXamarin社が、2016年にMicrosoft社に買収されて今に至っている。

Monoが.NET Frameworkそのものと互換性のある環境を目指していることに対し、.NET Coreは.NET Frameworkのサブセットとなる機能をクロスプラットフォームで提供することを目標としたわけである。
そして、.NET Coreの発表から約1年後の2015年11月5日にRed Hat社がMicrosoft社と協力し、Red Hat Enterprise Linux上での.NETのサポートを発表した。

.NET Coreの特徴はいくつか挙げられるが、ここでは特に「クロスプラットフォーム」「オープンソース」「軽量」「フレキシブル」の4点について強調したい。
http://www.buildinsider.net/language/dotnetcore/01

731デフォルトの名無しさん2017/08/12(土) 21:41:47.95ID:49AswPag
>>726
過去の膨大な資産(負の遺産とも言う)

732デフォルトの名無しさん2017/08/12(土) 23:44:55.22ID:CJUJVgQO
南シナ海に中国が基地作ってるよね。
だいたいそんな感想

733デフォルトの名無しさん2017/08/13(日) 00:09:25.46ID:5ZVaRTG/
>>728
Javaも同じだけどね。
お陰で一度書けばどこでも動くって宣伝文句も、一度書けばどこでもテストが必要って揶揄されて久しい。
HTMLも然り。
実はHTML5+JavaScriptのが動的言語な分タチが悪いっていう。


>>726
TypeScriptもMS製ですよ。
VS Code出したし、.net Standerd出たしってなると、VC#のマルチプラットフォーム化が始まりそうな予感はするが。
(MonoでC#のマルチプラットフォーム化はしてるけど、C#の良さはやはりIDEであるVSあってこそ)

734デフォルトの名無しさん2017/08/13(日) 00:14:48.70ID:gYyecbpL
>>733
VS for Macは?

735デフォルトの名無しさん2017/08/13(日) 00:21:36.37ID:LJmg41iW
typescriptがMs製なのは知ってるよ。
そして素晴らしいのはtsserverを同梱してること。
言語自体にリファクタリングや定義箇所への参照機能等ideに必要な機能を同梱させたんだよね。

この仕様をlanguage server protocolとして標準化しようとしてるのも素晴しい。
ide側で言語仕様を把握する必要がなくなり、上記のプロトコルを解釈する機構を用意しておけばいい。

736デフォルトの名無しさん2017/08/13(日) 00:25:12.33ID:LJmg41iW
ぜひともlanguage server protocolを言語側で用意するのを必須にしてほしい。
新興言語ほど補完機能が弱いことが多いから。goの補完が効くようになったのもここ二年くらいからだったし。

737デフォルトの名無しさん2017/08/13(日) 00:28:03.98ID:5ZVaRTG/
マルチプラットフォームの夢も分かるけど、現実的じゃないんだよね。。。
一個のOSでさえバージョン違いで互換性崩れるのに、それを複数とか。
現実的にはテストの都合でプラットフォームもバージョンもグッと絞らないと死ねる。

738デフォルトの名無しさん2017/08/13(日) 00:53:43.57ID:47VquCRx
MSはLinuxの技術者が食いついてきたらLinuxがクソになってきたので独自拡張LinuxまたはWindowsのみのサポートにしますって言って利益をあげるんだろ
知ってるんだから

739デフォルトの名無しさん2017/08/13(日) 00:57:05.96ID:PA7iDDOj
>>730
これアレじゃね?
競合しそうな会社を買って手中におさめて
コントロールするか飼い殺しにするかっていう
いつものMSじゃね?
少なくとも
>Monoプロジェクトは.NET Frameworkの互換環境をLinuxやmacOSを含めたスマートフォンOSにすることを目標としており、
>その中にはGUIフレームワークも含まれている。
の部分はもはや怪しいというか
.NET Coreで行きたいんでしょ?MSは

740デフォルトの名無しさん2017/08/13(日) 01:07:45.53ID:WE0t0sIJ
いやXamarinって普通に成功してるからね

741デフォルトの名無しさん2017/08/13(日) 01:08:09.23ID:utxqr9MB
linuxでVS使わせてくれればマルチプラットフォームなんてどうでもいい

742デフォルトの名無しさん2017/08/13(日) 01:22:18.67ID:GoIJeqVQ
次世代言語ってなんなんだ?

Cの次世代言語がC++だと言われれば納得できる
c++の次世代言語がjavaだと言われればちょっと首を傾げながら納得する

javaやc#などの次世代言語が Go Rust Scala Haskellだと言われたら
全く納得できない

743デフォルトの名無しさん2017/08/13(日) 01:49:44.40ID:PA7iDDOj
そりゃそうだ
次世代というなら、シェアをひっくり返すかトントンぐらいまで行かないと
次世代とは言えない
というか、そういう状況にならないと
業界が何となく全体的に次世代に移った、とは言えない
なら次世代とは何なんだ、「世代」とは何なんだ
来もしないであろう架空の未来のことを
「次世代」と言っても仕方がないではないか
C++の次世代という触れ込みだったD言語は言語仕様的にはそうかもしれないが
全然普及しなかったからC++の次世代だ!っつってもふ〜んって感じだし
そんな「世代」は来なかった、って感じ

744デフォルトの名無しさん2017/08/13(日) 01:52:23.84ID:PA7iDDOj
結局はJava、C#、C++などの現世代の王道言語が順当にバージョンアップして
移行が行われたら、その地点が「次世代」って事になる

745デフォルトの名無しさん2017/08/13(日) 03:22:34.66ID:xz6n1XH5
互換性のためだけのレガシー構文が積み重なるわ不自然な拡張方法になるわ
で最終的にperl5みたいな「これでなければなんでもいい」になるんですね?

746デフォルトの名無しさん2017/08/13(日) 06:40:32.63ID:LJmg41iW
構造化プログラミング -> オブジェクト指向 って進化は基本的に
制約をきつくしていく傾向だよね
だから次世代はもっときつくなる。

多分参照型の消滅が次世代の考え方になるのかなと思う。
次世代っていうか関数型の話だけど。
参照型って結局ポインタ型つまり機械語にかなりよった概念だと思う。
これのせいで値の比較とかが難しくなる
インスタンスの内容が同じなのに == で評価したら不一致。みたいな。

参照型って結局メモリ節約のシンプルな解決方法にすぎない。
Immutable.jsとかみてると内部構造をメモリ節約できる仕組みにして隠蔽するとこで表向きは値型にしてる。こういうことができるんだから全部値型で構わない。

747デフォルトの名無しさん2017/08/13(日) 10:11:59.72ID:Zj27tgiX
>>745
perlは役に立つぞ
役に立つという条件さえクリアすればなんでもいいという単純な時代もあったんだろう

今は役に立つだけでは不自然と判明したから更に複雑な条件が追加されていくだろう

748デフォルトの名無しさん2017/08/13(日) 10:17:24.38ID:amPCS2qv
俺はもうscript系の言語はbashとpythonでいいわ。

749デフォルトの名無しさん2017/08/13(日) 11:19:43.08ID:VdRm1Qc9
>>745
そこである程度整理したら perl6 になったんだけども・・・

750デフォルトの名無しさん2017/08/13(日) 11:50:48.27ID:Zj27tgiX
シェルスクリプト系はカーネルにフリーライドしているくせに
そのことを全く気に病む様子がない

Java系は自己完結とかOSを作りたいとか自分自身をコンパイルしたいとか煩悩が多い

751デフォルトの名無しさん2017/08/13(日) 21:20:50.78ID:7Wtpo09/
未だにペェ〜ルとかいう真性糞ゴミをひり出してる糞製造器は死ね
死ね

752デフォルトの名無しさん2017/08/13(日) 22:30:38.39ID:ZLPpL5wN
>>750
いろんなものに手を広げずにシンプルな仕様だけを用意していた方が
結局互換性が高いってことだね。

753デフォルトの名無しさん2017/08/13(日) 23:57:03.38ID:7Wtpo09/
くっさいシェル芸してる汚物製造器は死ね
死ね

754デフォルトの名無しさん2017/08/14(月) 05:55:23.82ID:92xt4hcL
Mono(.NET)と、.NET Coreの用途の違いは、すでに100%.NET環境が移植できていれば.NET Coreの出番はないはずだが。
そうではない環境では、その環境を構築なしに移植できるってことか。
C#のコードをLLVMのアセンブラに翻訳したらあとは既存LLVMに丸投げできるから、移植コストは低く共通化できる。

755デフォルトの名無しさん2017/08/14(月) 08:53:13.99ID:+p07mcQa
\______  _______________________/
           ○
           O  モワモワ
          o
        ∧_∧! ハッ!   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    ___(  ゜∀゜)_    < という夢を見たんだ
    |  〃( つ  つ  |     \________
    |\ ⌒⌒⌒⌒⌒⌒\
    |  \^ ⌒   ⌒  \
    \  |⌒⌒⌒⌒⌒⌒|
      \ |.________|

756デフォルトの名無しさん2017/08/14(月) 09:01:00.79ID:l9TYt/P3
>>754
.NET CoreはCLR自体をアプリに同梱するように作られていて、AOTコンパイルではない
LLVM対応もJITをLLVMで実装しようというものに過ぎず、あくまでコンパイルはJIT
Coreは基本的にWebサーバー用だから少々起動に時間がかかろうが全く問題にならない

757デフォルトの名無しさん2017/08/14(月) 09:32:55.89ID:92xt4hcL
こんなのでてきた


Microsoft、C++技術で.NET Core 2の高速化実現 [2017/07/22]
Microsoftは7月20日(米国時間)、.NET Core 2.0で採用されている高速化技術「PGO (Profile-Guided Optimization )」について伝えた。
この技術はC++コンパイラでより最適化されたコードを生成するために使われているネイティブコンパイラ技術。
.NET Core 2.0にも同様の技術が適用されており、すべてのユーザは特定の処理をすることなくこの高速化技術の恩恵を受けていると説明している。
http://n.mynv.jp/news/2017/07/22/096/images/001l.jpg
http://n.mynv.jp/news/2017/07/22/096/images/002l.jpg
http://news.mynavi.jp/news/2017/07/22/096/



Microsoft、LLVMベースの.NET/CoreCLRコンパイラLLILCを発表
2015年5月6日
.NET FoundationがLLILCという新しいプロジェクトのリリースを発表した。
このプロジェクトはもともとMicrosoftによるもので、.NET Coreのための新しいLLVMベースのネイティブコードコンパイラを提供することを目的としている。
これによって「CoreCLRが移植されていてLLVMがターゲットとしているプラットフォーム上で」.NETプログラムを動かせるようになる。
LLILCのロードマップによると、Install-Time JITコンパイラが次のターゲットだ。「これは生成されたコードを、
1つのアプリケーションの複数の呼び出しの間で、または1つのアセンブリセットを共有する複数のプロセスの間で共有できるようにする」。LLILCプロジェクトでは、Ahead-Of-Timeコンパイラの実装も検討している。
https://www.infoq.com/jp/news/2015/05/microsoft-llilc-llvm-compiler

758デフォルトの名無しさん2017/08/14(月) 13:38:56.86ID:kXWZXT9S
>>742
世間で言われてる分類で言えば全部第3世代言語だからな
他でドヤ顔で言ったら恥ずかしいぞ

759デフォルトの名無しさん2017/08/14(月) 13:42:18.27ID:kXWZXT9S
>>742
世間で言われてる分類で言えば全部第3世代言語だからな
他でドヤ顔で言ったら恥ずかしいぞ
第4世代はユーザが使う言語

JavaはC++--って言われるくらいで先進性よりも普及を重視してたんだろ
今はもう滅茶苦茶だが
でC++++でC#と

760デフォルトの名無しさん2017/08/14(月) 14:14:03.57ID:C7avT2pN
次世代はサービスインテグレーションのための超高レベル言語だろうな
ドメインスペシャリストと開発者の間の垣根を無くすことと、強力なサービス連携がポイントだと思う

761デフォルトの名無しさん2017/08/14(月) 17:00:35.75ID:s23IFiwR
>>759
そういう意味不明などやりかたされてもwwww
このスレでは誰もそんなくくりの話はしてない

第四世代言語(4GL)がなぜ次世代なんだかわからん

4GL
https://ja.wikipedia.org/wiki/4GL

SQL、R言語、RPG-IIの話なんて誰もしてない

762デフォルトの名無しさん2017/08/14(月) 17:26:17.70ID:6DHdEZEL
3.9GL

763デフォルトの名無しさん2017/08/14(月) 17:28:12.75ID:wnsRSkHP
でもまぁ方向性としてはありかと。
結局プログラミング言語ってツールなわけだから
何かに特化したほうが仕事はやりやすくなる。
DB設計したらwebAPIの定義と処理が自動実装されるようなDSLとか欲しい。

golangのgoaとかAPI設計からGoのコードを自動設定するから近いっちゃ近いけど
DB周りとの連携はまだイマイチかなと。

764デフォルトの名無しさん2017/08/14(月) 17:38:46.17ID:kXWZXT9S
>>761
一般的な意味でないから個人で勝手に決める以外ないだろって意味なんだが
難しかったか

765デフォルトの名無しさん2017/08/14(月) 19:20:45.04ID:Ib/9zFrg
自動でコード出力する系は嫌い
改造するの面倒だし
マクロみたいなのが好き

766デフォルトの名無しさん2017/08/14(月) 19:42:20.23ID:O7NIduQl
Excelからコードを自動生成するPHPのプロジェクトがあったなそういえば

767デフォルトの名無しさん2017/08/14(月) 20:03:07.27ID:ysNMGCND
コード生成系は出力先が機械だから手加減しない感じがあるからね。。

768デフォルトの名無しさん2017/08/14(月) 22:37:21.06ID:wnsRSkHP
でもgoaは割ときれいなコード書いてくれるから、結構勉強になるし、生成ファイルとは別ファイルにして動作をカスタマイズする前提だから、
マクロとそんなに変わらないと思う。
マクロよりマジック感が減るから処理を追いやすいし

769デフォルトの名無しさん2017/08/14(月) 22:47:09.43ID:kXWZXT9S
コード出力ってそのあと追記とかするの?
戻れなくないか

いっそバイナリ吐いてくれた方がよくないか

770デフォルトの名無しさん2017/08/14(月) 22:55:39.38ID:O7NIduQl
糞バカペチプァにそんな知能あるわけないだろ
やつら、次に食べる飯と寝ることくらいしか頭に入らない小頭症のガイジだからね

771デフォルトの名無しさん2017/08/14(月) 23:04:29.33ID:W13Bw/D1
>>768
根本的に一から勉強し直したほうがいいぞ

>>769
追記どころかバージョン管理からも外すよね普通

772デフォルトの名無しさん2017/08/15(火) 00:47:06.80ID:Iy2AbH2m
>>769
それじゃ混ぜて最適化できないし
APIの公開非公開の制御もできないじゃん
そらGPLとか仕事じゃないなら関係ないかもしれないけどさあ

773デフォルトの名無しさん2017/08/15(火) 00:48:49.86ID:Iy2AbH2m
>>771
いや流石にソースか出力どっちかはバージョン管理に入れるだろ
CIしてたらコンパイル通らなくなる

774デフォルトの名無しさん2017/08/15(火) 02:11:40.42ID:ucbHC/q/
まあいろいろな環境でも動かしたいとかいう理由で出力したソースを
コミットすることもあるけど、あんまりいいことないよ。。おすすめしない。

775デフォルトの名無しさん2017/08/15(火) 05:31:41.09ID:tN8D0FqC
>>769
もちろん生成コードとは別ファイルにカスタマイズコードを書くよ。
だからgitの管理対象外にするのが普通。
ただ、俺はあえて管理対象にしてるけどね。設計変更したときに自動生成コードがどんな変更をしたかわかりやすい。

マクロ系だとこういう部分が隠蔽されてると考えることができる。
デコレータとかもそうだよね。

goはジェネリクスとかマクロがない代わりにコード生成を推奨してる言語と言えるね。

最初は後退した言語だと思ったけど
コード生成と衝突しない書き方ができるから、マクロとかで裏でどういうコードが生成されているかを把握できる言語と考えれば悪くないなと感じてる。

7762017/08/15(火) 10:52:42.87ID:acuW3DAP
phpバカにしまくる奴が疑問。
言語としてはまあボロボロだけどnginxとphp-fpmより安定したサーバ書けるの?って聞くと黙ったり、
過去、ひどいコード書いたとか、ひどいコードの保守したとしか考えられん。

777デフォルトの名無しさん2017/08/15(火) 11:04:03.16ID:WUz8q6HI
nginxとphp-fpmより安定したサーバ書けるの?という質問が意味不明で黙るしかないよw

778デフォルトの名無しさん2017/08/15(火) 11:19:06.17ID:X4XuSaPF
nginxはC++じゃね?

779デフォルトの名無しさん2017/08/15(火) 11:23:06.67ID:WUz8q6HI
そう
だから意味が分からなくて黙るしかない

780デフォルトの名無しさん2017/08/15(火) 12:39:40.27ID:FVgUs5AP
?黙るしかない
○相手にされてない

7812017/08/15(火) 12:46:45.72ID:acuW3DAP
実用に耐えてないじゃん?みたいな話。
Goのサーバも見たことあるし、ErlangもElixirもあるけど、ずーっと誰かが推してるウェブベースのアプリって見たことねえなあ、ってのが
>>770を見て>>776を書いた所以。
脈絡ないのは認める。すまん。

782デフォルトの名無しさん2017/08/15(火) 12:58:02.24ID:jWNRWc6a
>>781
その辺はAPIやワーカーの実装に使用されるケースがほとんどだろ
PHPとは競合しない

7832017/08/15(火) 13:02:18.16ID:acuW3DAP
>>782
そうでもないよ。普通にいわゆるSSIみたいな形で動的なコンテンツ差し込むサーバも見たことあるし、
逆にPHPでも1ファイル1機能のAPIサーバと静的htmlの組み合わせも見たことある。

後者とは競合すると思うんだが。

784デフォルトの名無しさん2017/08/15(火) 13:20:01.29ID:X4XuSaPF
nginxが実用に耐えない…?
普通につかってるが…

785デフォルトの名無しさん2017/08/15(火) 13:45:53.21ID:C4ChKb28
発達の相手すんな

786デフォルトの名無しさん2017/08/15(火) 13:46:49.20ID:HWb5gMTo
このクソコテガイジだからな

787デフォルトの名無しさん2017/08/15(火) 13:48:14.36ID:HWb5gMTo
前スレ

918 :あ :2017/05/31(水) 11:10:55.99 ID:dc+IbjjD
>>916
子供作るときに一通りそういう気質があるか調べてもらったが、幸いながらアスペではなかったぞ。
残念ながら多動はあった。

7882017/08/15(火) 13:58:19.02ID:acuW3DAP
>>784
逆。nginxやphp-fpmは信用に足りるが、
個別にウェブサーバ立てるような言語は結局nginxやらtraefikやらのバックエンドに立てんじゃん?みたいな話。

>>786
だから何なんだ…(笑)
それをもってしてもちゃんと働いとるぞ。役職付きで。

789デフォルトの名無しさん2017/08/15(火) 14:00:11.08ID:HWb5gMTo
あガイのガイ

790デフォルトの名無しさん2017/08/15(火) 14:04:48.52ID:X4XuSaPF
まるでphpなら、それらがいらないかのような口ぶり

7912017/08/15(火) 14:34:08.47ID:acuW3DAP
>>790
リバースプロキシは要るだろうが、その裏に立てるのもphp-fpmなりなんなりの、それなりに枯れたもので、スクラッチせんで良いでしょ。

7922017/08/15(火) 14:35:20.41ID:acuW3DAP
他の言語が優れてるのも認めるし、phpがポンコツなのも認めるが、
それ以上に自分で書いたサーバはあてにならん。

793デフォルトの名無しさん2017/08/15(火) 14:49:11.64ID:IlJmfBT9
そりゃ君がPHPなんか使ってるからだろう
スクラッチといったって既存のライブラリを使うわけだし、
そのライブラリがnginxに比べて枯れてないことが大きな問題になるほどHTTPサーバーなんて高度なもんじゃないぞ?

794デフォルトの名無しさん2017/08/15(火) 15:24:31.13ID:IlJmfBT9
あと、今時は静的コンテンツの配信やパスベースのルーティング、SSLなど
Webサーバーの多くの機能をクラウドプラットフォームに任せてしまうから、アプリから独立したWebサーバーの必要性は低下している
もちろんガイジの主張においてnginxがクラウドプラットフォームに置き換わっただけであることは認めるけどね

795デフォルトの名無しさん2017/08/15(火) 16:53:16.30ID:Iy2AbH2m
まあPHPを安易にバカにする奴はエアプログラマだとは思うわ
使われてるだけあって書いてくれって言われることあるし、
書いてみりゃわかるが小規模なら生産性高いからな実際
Wordpressカスタムで済ませられる案件も多いし

7962017/08/15(火) 17:00:35.19ID:acuW3DAP
>>793
俺自身はphpを使うことがある、くらいよ。

既存のライブラリなんて余計に使えないだろ。いろんな意味で。

>>794
それはわかる。GAE/goをタダで使ってる身としては効率的だし、インフラのコストや安定性は桁違い。

797デフォルトの名無しさん2017/08/15(火) 17:15:25.67ID:tN8D0FqC
>>796
GAE/goってそんなに使うの。
DBが独自になるのが気になるんだが

798デフォルトの名無しさん2017/08/15(火) 17:39:47.47ID:LOEABJJK
phpは人口が多くて趣味やデザイナから来た奴が多いのかレベルが低い
他の言語知らないって奴もよくいる
なのでphpの仕事はあまりしたくない

799デフォルトの名無しさん2017/08/15(火) 18:10:02.06ID:tN8D0FqC
>>798
なるほど。そういう考えもあるのか。
Goだったら少なくともプログラマーになりたい人が使ってる感じかな。

800デフォルトの名無しさん2017/08/15(火) 18:17:01.25ID:z3aL1OR7
仕事でGoつかえって言われたら苦痛だな
もっと自由にさせてくれって思う

8012017/08/15(火) 18:18:04.71ID:acuW3DAP
>>797
めっちゃ安い。めっちゃ早い。
永続化考えたら少しめんどくさいから、リクエストに対して即結果が出せるようなものを数珠つなぎにして出せるようなものにしてるよ。
>>798
それはよくあるな。
あと、外注が海外に投げるとホントにひどいのが出てきたりする。

802デフォルトの名無しさん2017/08/15(火) 18:20:14.17ID:IlJmfBT9
>>798の文脈でいうならGoの仕事は悪くないと思うけどな
少なくとも秀丸で書いてFFFTPでデプロイするような奴はその職場にはいないだろう

803デフォルトの名無しさん2017/08/15(火) 20:11:04.95ID:tN8D0FqC
>>802
すごいな2003年辺りで時間が止まってそう。

804デフォルトの名無しさん2017/08/15(火) 20:12:50.74ID:tN8D0FqC
typescriptをメインに据えてる会社とかないかな。
正直typescriptであればサーバサイドjsもありな気がする。

805デフォルトの名無しさん2017/08/15(火) 20:16:13.66ID:tN8D0FqC
>>801
> 永続化考えたら少しめんどくさいから、
> リクエストに対して即結果が出せるようなものを数珠つなぎにして出せるようなものにしてるよ。
もう少し具体的に話せない?。web+dbみたいな用途では使ってないってこと?

806デフォルトの名無しさん2017/08/15(火) 20:20:01.11ID:ucbHC/q/
まあ go は書いててつまらんからって理由で却下されたことがある職場の話は
聞いたことあるな。
面白くても糞品質だったら無意味だとは思うがな。

807デフォルトの名無しさん2017/08/15(火) 20:22:01.18ID:+FCAaQP3
禿丸エディター

808デフォルトの名無しさん2017/08/15(火) 20:35:24.55ID:tN8D0FqC
>>806
goってつまんないかな。
俺は最初にハマったときはシンプルな構文に抑えようという心意気に感動したけどな。
例えばclassとstruct。コレってどっちかでいいよなってずっと思ってて
goはstructに絞ってくれて、コレだっ!って思った。
後構文規約問題とか。コレって最新の言語rustとかswiftとか全然気にしてないけど
goはちゃんと解決してるんだよなぁ。
あとgoroutineとか。スレッドモデルの操作ってPHPでやろうとすると凄くめんどくさくて最初にgoに触ったきっかけになった

809デフォルトの名無しさん2017/08/15(火) 21:10:14.60ID:ucbHC/q/
>>808
個人的には別に好き嫌いはないんだけどね。
まあだいたい以下の話で説明はつくよ。くだらない話。
http://qiita.com/hirokidaichi/items/adccebb41f77eaa6132f

8102017/08/15(火) 21:11:54.94ID:acuW3DAP
>>805
ウェブアプリとしてはあんまり使ってない。DBは必要があれば基本的には外のAPIとかDB呼んでるけど。couchか、とある階層型DBが多い。
それより、もうちょい単機能で、メモ化で済む様な処理で、さらにスケールする必要があるものが多いよ。
jsonに署名して返すとか、緯度経度から国判断して返すとか、バッチ処理でreduceの部分を一万件ずつくらい請けて結果を別のエンドポイントに投げるとか、json渡すとhtml帰ってくるとか、ほんとバックエンド。

DBのデータのマスタや、テンプレートみたいな類も、毎回要るものはそもそもソースに文字列として埋めて、DB使わんでも良いようにしてる。

8112017/08/15(火) 21:17:02.53ID:acuW3DAP
Goは、あのシンプルな言語仕様だからそもそもが泥臭いけど、何かから書き出してもそれほど無茶なソースにはならないしな。

>>809
なるほど。

812デフォルトの名無しさん2017/08/15(火) 21:41:25.44ID:4yQu0hbw
Goってマルチスレッド書ける?

813デフォルトの名無しさん2017/08/15(火) 21:43:52.13ID:tN8D0FqC
>>810
ほーん。いわゆるマイクロフレームワークとして使ってるってことなんね。
中小でしか働いたことがない人間には無縁臭がするなぁ

やはりgoでDB操作は避けるよね、、、。

イマイチgoでRDBMS使い勝手が良くない、、
GormっていうORMが結局いいのかなって思ったけどパラメータがinterface{}型(いわゆるany型、何でもあり型)ばかりで、これ静的型だよね?ってなるし。
RDMS操作の決定版がいまいちgoにはないよね。

>>809
goは好きだけど不満もあるのは分かる。特にジェネリクスがないから
関数パラメータにinterface{}型ばかりになると萎えてくる。
でも片っ端から言語仕様追加してダサい言語になってほしくもない。
難しいね。

814デフォルトの名無しさん2017/08/15(火) 22:25:15.02ID:EUsgsL74
>>798
言語仕様が糞なのに加えて、
そういう連中が積み上げてきた過去の遺産があるからね
大手のPHPプロジェクトの悲惨さはもう筆舌に尽くしがたいよ

ああいうの見るとね、冗談でもPHPは便利とか言えなくなるよw

815デフォルトの名無しさん2017/08/15(火) 22:29:52.97ID:wXZu/4Fl
若輩俺氏、PHPを触ったことがない
PHPの仕事ってそんなにあるもんか?全く観測できん

816デフォルトの名無しさん2017/08/15(火) 22:33:23.96ID:EUsgsL74
いわゆるWeb系でそう思うんなら、あんちゃんが割とええとこにいるからやな
中小奴隷売買でPHP保守のスパイラルに迷い込んだら
ほんとキャリア詰むで

817デフォルトの名無しさん2017/08/15(火) 22:34:05.48ID:LbZcuCiz
>>815
こないだハロワで検索したら無限に出てきたぞ

818デフォルトの名無しさん2017/08/15(火) 22:44:30.92ID:wXZu/4Fl
こわい

819デフォルトの名無しさん2017/08/15(火) 22:49:36.97ID:ucbHC/q/
UIべったりな糞カスコードを保守してくれる奴隷を探してるんだろうね。。
直してくれる人をありがたく扱ってくれるならいいんだがそういうところって
本当に人間をごみカス扱いしてくるからな。

820デフォルトの名無しさん2017/08/15(火) 23:06:08.95ID:EUsgsL74
直してくれる人がありがたいだって?
余計なことして壊れたらどうするんだ?誰がテストするんだ?

大人しく今のコードを最小限のコピペで直してくれる人を求めてるんだよ、ああいうのは

821デフォルトの名無しさん2017/08/15(火) 23:08:55.10ID:LOEABJJK
新しいサービス思いついた
自分で作れないから人を雇おう
ぺーはーぴーって開発者が工数単価安いみたいだぞ
ねえ君、ホントは自分で作りたいんだけど忙しいから依頼するよ

新しいサービス思いついた
安いホスティングサービス借りよう
PHPが使えるらしいから本買って来て作ろう
真っ白い画面しか出ない
ねえ君、ホントは自分で作りたいんだけど忙しいから依頼するよ

新しいサービス思いついた
ワイWordPressマスター
PHPでプラグインが作れるらしい
ねえ君、ホントは自分で作りたいんだけど忙しいから依頼するよ

822デフォルトの名無しさん2017/08/15(火) 23:25:03.76ID:ucbHC/q/
>>820
その最小限がもうどうにもならんくらいになってるからみんな困ってんでしょうが。
てかそういう場所でまともなテストが行われてることなんてまずないけどな。
逆にテストがまともならそんな状況にはならんよ。

8232017/08/15(火) 23:59:10.86ID:acuW3DAP
>>812
グリーンスレッドならスレッドって何だったっけって思うくらい簡単に書ける。

>>813
マイクロフレームワークだね。
意外に、静的なファイルを撒くのにも便利だったりするけど、何より「全部入り」作ると面倒くささが勝ってくる部分がある。
gorm辛いよ。それなら、boltかleveldbにgobで突っ込んだ方が気楽。boltは書き込み遅いけど。

824デフォルトの名無しさん2017/08/16(水) 01:07:27.27ID:DsnJQVtM
>>822
ペチプァのテストとは
自動テストのことではなく
Excel項目書の丸付けと
ExcelエビデンスYYMMDD.zipのことですよ

825デフォルトの名無しさん2017/08/16(水) 13:16:52.76ID:WsLhfWto
名前を言ってはいけない あ の人

8262017/08/16(水) 13:36:14.43ID:d4ksVO/Z
>>824
でかい所になるとそれを要求する奴が居るしね。
ただ俺も自動テストのテストは要求するし、
テスト用のクライアント一式(物理〜イントラ接続インフラ一式セットアップ〜デバッグビルド一式が配信される環境含め)を用意してくれと言われたら用意するけど、
ネゴなしにそれ以外のテスト環境でエビデンス取っても不適合でサクッと返すからなんとも言えん。
俺自身コード書いても社内では第三者に同じ事されるし割と平等かと。

これは請ける側のパワー次第だと思うよ。
1次請けが面倒くさがる会社の2次請けさんの嘆きは話は聞く事あるけど、それで1次請けに俺が何か言うと割と問題になるしな。
できることと言えば話のわかる1次の奴と2次の奴を飲みに誘う位しかできん。

827デフォルトの名無しさん2017/08/16(水) 13:51:45.97ID:3p707Jkt
>>826
テスト環境用意してくれるんだ。良い会社じゃん。
そっちのほうがいいね。エクセルでエビデンスとかしんどすぎるし
役に立つのそれって感じだし

8282017/08/16(水) 15:26:31.90ID:DRyABrqx
>>827
用意するし、ヤバイから台数増やして!ってあとから言われたら、貸出機出払ってても、少なくともうち来たらテストできるようにゲストカード用意するよ。

エクセルというか文書ファイルは必要悪と言うか、製造業は「いざとなったら手でできる」にこだわる側面もあるから、チェックシートで欲しいってのもある。
その辺汲んで、自動テストのテスト仕様と、自動テストで行うテストと結果を出してくれたら無理矢理でも俺通してきた。

東日本の震災でも、九州の震災とか豪雨でも、非常事態対応しながら開発したり、そもそも対応での不整合影響範囲推定とかせなならんかったし、あれは要る。

829デフォルトの名無しさん2017/08/16(水) 20:59:07.98ID:NyarCuNK
雑談クズが住み着いちゃったね

830デフォルトの名無しさん2017/08/16(水) 21:42:18.26ID:79/XacN3
な? Juliaの話しようぜ?

831デフォルトの名無しさん2017/08/16(水) 23:58:53.11ID:1tm61gk1
>>830
Pyplot と Gadfly と Winston どれがいい?

832デフォルトの名無しさん2017/08/17(木) 00:19:10.91ID:RP+KduLB
Winston なんかあったのかよ
俺はGadfly使ってたけど特に理由はないなあ
Pyplotも悪くはないけどなんとなく使ってなかった

833デフォルトの名無しさん2017/08/17(木) 00:42:21.76ID:x9wW63w8
テストとか仮想環境でしかしてないわ
本番も仮想環境ばかりだけど
モノにもよるか

834デフォルトの名無しさん2017/08/17(木) 06:59:54.30ID:vNKyeUGQ
震災が起きると動かなくなる自動テストって何だよ(驚愕)

835デフォルトの名無しさん2017/08/17(木) 07:36:01.82ID:oMgRAJ/R
彼はADHDだから問題の切り分けが苦手なんだろう
大目に見てあげなさい

8362017/08/17(木) 09:00:54.38ID:FZ3wXczz
>>834
すでにディーゼル発電機回ってるような状況で、本番機の分しか電源取れないような時に、テスト環境まで起こしてられん。

>>835
切り分け得意だよ。あとバグ出し。
むしろ多動だからなのでは?

837デフォルトの名無しさん2017/08/17(木) 09:08:56.76ID:I4N//eQS
>>830
どう見ても汎用言語じゃないんだが。。。
RとかMathematicaの分野の次世代言われてもな。。。

838デフォルトの名無しさん2017/08/17(木) 09:10:01.18ID:EtIXwQlG
今fortranで量子化学のプログラムのボトルネック部分書いたんだけど、バグ取りしんどいわあ。
Juliaで書けって話だけど、Juliaコードは他言語からの呼び出し微妙なんだよな

839デフォルトの名無しさん2017/08/17(木) 12:29:44.17ID:BOGxSFah
>>838
そういう用途ならFFIじゃなくてファイルだけ連携する伝統的なバッチでいいだろ
その方がリトライや並列化も簡単だし

840デフォルトの名無しさん2017/08/17(木) 13:35:40.38ID:EtIXwQlG
>>839
渡さないといけない波動関数情報が4GBとかになってディスク書き込みにえらい時間がかかるので、ハードディスク書き込みは最低限にしたいんだけど、なんか良い方法あるもんですか?

841デフォルトの名無しさん2017/08/17(木) 14:51:29.63ID:BOGxSFah
>>840
RAMディスク作るとかRAIDやクラウド使うとか

8422017/08/17(木) 15:51:15.31ID:Clfoc/NQ
>>840
tee的なコマンド作るといいんでないの?

843デフォルトの名無しさん2017/08/17(木) 18:45:53.40ID:0J2w2YFT
他言語から一番呼びやすいのは C なわけだが。

844デフォルトの名無しさん2017/08/17(木) 19:01:21.96ID:EtIXwQlG
>>841
あんまり詳しくないんだけど、/dev/shmにファイル作って書き込むみたいなもんです?

>>842
???

845デフォルトの名無しさん2017/08/18(金) 00:00:31.37ID:+7kF3zDD
Cは呼びやすいっちゃ呼びやすいんだが
関数のプロトタイプもろもろがヘッダファイルで定義してあるから
ヘッダファイルの移植が面倒だなぁ
何かライブラリのインターフェースに関して
統一的なフォーマットが欲しいと思わなくもないけど
どっちにしたって関数の呼び出しに必要な構造体とかも
ヘッダファイルで定義してあるし、どうにもならないんだろうな
標準入出力でやりとりするのもタルいし
WindowsならCOMとかあるけど・・・

846デフォルトの名無しさん2017/08/18(金) 00:04:56.58ID:YDSkJKvw
てか、それくらいプリミティブな仕組みだから呼びやすいわけだ。

8472017/08/18(金) 01:19:03.96ID:WQb8VpS1
>>844
中間ファイル作りながら、次工程進めれば良いのでは?って。
HDDに書き込むのはその端末自身である必要も無いだろうし、別の端末にやらせても良いかと。

teeコマンドは、標準入力からの入力を、ファイルなりなんなりと標準出力に出すコマンド

848デフォルトの名無しさん2017/08/18(金) 07:08:42.68ID:YaXOGzzP
シミュレーションなら入力の内容は全部まとめて読むだろうからパイプを使うのはあまりメリット無いでしょ
デッドロックの原因になるから作法的にも好ましくない
単純にファイル名を起動引数で渡した方がいい

849デフォルトの名無しさん2017/08/18(金) 09:59:20.00ID:64r0PFl5
>>841が非常に適切なアドバイスをくれたから、俺の書き込みでも割と通じてるんだと思ったけど、
>>844>>847には通じてなさそうな気がする
>>848には通じてる

8502017/08/18(金) 13:16:32.57ID:WQb8VpS1
>>849
通じてるよ。ただファイルで渡しても良いけど、出来上がった暁には全部流したいだろうなと思ったんだが。

851デフォルトの名無しさん2017/08/18(金) 15:30:18.21ID:5aImaITs
>>840
圧縮して書き込めば?

852デフォルトの名無しさん2017/08/18(金) 15:56:35.28ID:64r0PFl5
>>850
流す?よく分からんけど、FFIの代わりの話ししてるのになんで標準出力にもHDDにも出すことになってるんだ??????

>>851
double precisionで構成される配列を圧縮……

853デフォルトの名無しさん2017/08/18(金) 17:29:36.01ID:5aImaITs
>>852
圧縮でサイズが1%でも減らすことができればほぼ確実にパフォーマンス向上するぞ。
https://gist.github.com/jboner/2841832

854デフォルトの名無しさん2017/08/18(金) 18:38:52.93ID:Rznosojv
デバッグしにくい設計してしまったんだな

8552017/08/18(金) 21:59:17.07ID:WQb8VpS1
>>852
標準出力とは限らんよ。
だからtee「的」と言ってるんだが。

856デフォルトの名無しさん2017/08/18(金) 22:15:46.41ID:64r0PFl5
何この人。結局何を伝えようとしてくれてるのか全く分からなくて怖いんだけど

857デフォルトの名無しさん2017/08/18(金) 23:31:23.26ID:j6mLrsKq
自分の頭が混乱してるのを
2chに書き込むことで整理しようとしているだけの人だからね

858デフォルトの名無しさん2017/08/19(土) 00:57:54.03ID:bV1JViRB
つか素直にメモリ詰むかSSD買ってこいよ
それも駄目ならinplaceな方法にでも書き換えるしかない

859デフォルトの名無しさん2017/08/19(土) 01:10:16.34ID:T5uwruzP
キチガイが住み着くのはよくあること

860デフォルトの名無しさん2017/08/19(土) 01:14:45.90ID:nPJhR8kx
>>858
いや普通にFFI使うわ。なんかFFI微妙そうに言われたからFFIよりいい方法があるか聞いてただけだし。
>>841の後も長々やっちゃって申し訳ない

861デフォルトの名無しさん2017/08/19(土) 01:41:53.01ID:bV1JViRB
そんなにFFIが面倒ならmmapとexecとか、端的なやりようあるよ
つか俺もストリーム処理にでもした方がいいんじゃねえかと思うが

862デフォルトの名無しさん2017/08/19(土) 02:04:33.04ID:GJ9v1oeu
FFIは不安定になったりビルドが面倒になったりデバッグも開発も面倒だったりで極力やりたくないわ
ファイルやパイプはもちろん、RPCやMQを使う手もある

863デフォルトの名無しさん2017/08/19(土) 11:08:22.66ID:SFm+w/sk
設定より規約ってのを実践すればFFIも面倒ではないだろう
パイプには型がないから型を宣言する設定ファイルもない

864デフォルトの名無しさん2017/08/19(土) 13:43:40.11ID:y3ZCFtJS
ファイルベースだと分散処理とかクソ簡単
俺も学生時代シミュレーションやってたけどMakefileのjオプションで並列化してる人もいた

865デフォルトの名無しさん2017/08/19(土) 13:58:03.00ID:h9Bm6H42
え?分散処理するならファイルシステム使うとか悪手中の悪手でしょw

866デフォルトの名無しさん2017/08/19(土) 14:01:57.56ID:E6tSyHuQ
ストリーム処理にできるかどうかって何やろうとしてるかによるでしょ
長大テキスト処理的なものかどうかはわからないのにパイプやストリームがいいって言っても意味なくない?
質問がどういうデータをどう処理するってのを専門外の人に書いてないのも返答が発散する原因の一つではあると思うけど

867デフォルトの名無しさん2017/08/19(土) 14:04:50.26ID:GJ9v1oeu
>>865
バッチ処理なら普通に使うでしょ
Hadoopとかファイル使いまくりだよ

868デフォルトの名無しさん2017/08/19(土) 14:14:41.27ID:GJ9v1oeu
>>866
シミュレーションで波動関数情報渡すって言ってるから、
普通に考えてストリーミング処理できるようなデータではなく全部一括して扱うもんだろう
複数件のジョブをまとめてバッチとして渡してるとかなら分ける余地はあるかもしれないけど

869デフォルトの名無しさん2017/08/19(土) 14:18:44.31ID:VwTbQ4le
波動関数情報4GBをアップロードして、必要な分だけシーケンシャルかランダム・アクセスしたらいい

8702017/08/19(土) 16:00:48.68ID:b1lc6Upk
規格化されとるならtとx1でアクセスできる方が便利では?
確率密度で欲しいならちとめんどいが。
全然ジョブ別けれると思う。

871デフォルトの名無しさん2017/08/19(土) 16:06:22.01ID:Czvm/mK/
>>870
早く発電する作業に戻らないとテストできなくなるぞ

8722017/08/19(土) 16:13:24.70ID:b1lc6Upk
>>871
発電機回すのは俺のやる事じゃないよ。
主任技術者がやる事。

873デフォルトの名無しさん2017/08/19(土) 16:20:38.90ID:y3ZCFtJS
この人がまともに働けるってすごいことだと思う
周りの人が理解してサポートしてくれている恵まれた環境なんだろうな

874デフォルトの名無しさん2017/08/19(土) 16:52:15.03ID:SFm+w/sk
コミュ力と文章力はほとんど関係ない気がするので文章だけ見てもよくわからないな

8752017/08/19(土) 17:57:32.52ID:b1lc6Upk
>>873
周り良い人だよ。俺含め変なやつ自体が多いけど。
人間、三十人ぐらい集まれば最終的に良い部分同士でキレイにまとまる。

>>874
文書として書くならちゃんと書くぞ。

876デフォルトの名無しさん2017/08/19(土) 21:26:38.70ID:E6tSyHuQ
>>868
趣味で超適当な流体シミュレーションぐらいしか作ったことないけど全部一括して扱うもんだろうという推測には同意する

たとえば画像処理でSIFTとかの特徴点抽出アルゴリズムを使いたい場合に、ストリーミングで実装することに可能性やメリットはあるのかなぁ。

なんでもかんでもストリーミングで実装して効率良くなるなら極端な話スパコンなんて要らないじゃんってことになると思うんだけど

877デフォルトの名無しさん2017/08/19(土) 23:57:56.57ID:3LWi1RRc
直受けの50万 客:いつまでもうちにいていいよ
3次受けの50万(客は70万払ってる) 客:短期延長していい?
5次受けの50万(客は110万払ってる) 客:作り終わったらとっと出てけ できなかったら即退場だ 
長時間労働 高稼働 高スキル要求が多い

零細フリーランスサイトは5次受けから誰もできない難易度の高い仕事 余り物の仕事を紹介してくる。40万円代でやってくれと

これならJIETから3次でいったほうがいいな

446非決定性名無しさん2017/08/02(水) 22:12:48.95

JIETに毎月5千円払えば3次から入場できるだろ?
高額をうたうフリーランスのサイトはだいたい5次から45万円
JIETで閲覧応募できる末端価格からさらに搾取するのが高額をみせつけるフリーランスサイトでした
高額案件をみせつけるフリーランスサイトも案件の取得はJIETでした

473非決定性名無しさん2017/08/03(木) 15:21:30.71

JIETに加入すれば誰でも3次60万からスタートだ。フリーランスのサイトをやってる
自称エージェントもそこから案件情報を取得しきてる。サイトで60万で釣って40万から55万の
間でやらしている。

372仕様書無しさん2017/08/11(金) 10:31:43.41
フリーランスで検索すると引っかかる零細ITがやっているフリーランスのサイトはだめだ。
高額に見せているけど実際は50万前後
JIET加入した方がいいよ。案件は毎日千件以上末端価格は60万円 平凡な稼働時間の80万円の案件もある。
ユー子も求人をだしてる。名刺も渡せる。ユー子に名刺が渡せるんだぞ。夢のようだ

それらの案件まさぐってHPで転売していたのが零細ITがやるフリーランスサイト

自称エージェントはJIETから流れてくる案件を転売してるだけだった。
JIETに加入すれば誰でも案件に応募することができた。収入が40万50万台にならなくて済む

878デフォルトの名無しさん2017/08/20(日) 01:15:26.57ID:r7P84g+k
>>876
そら富豪プログラミングが一番いいわ
ただリソース削ろうなんて貧乏性な考えしてるんだから他に方法ねえだろ

879デフォルトの名無しさん2017/08/20(日) 01:31:48.22ID:PUhzCj71
>>878
そういう問題じゃない
ランダムアクセスされるデータをどうやってストリーミング処理するのか

880デフォルトの名無しさん2017/08/20(日) 01:39:16.53ID:PUhzCj71
あと、>>876が言ってるスパコン云々は
データをストリーミング処理できるということはすなわちデータ件数に対して線形時間で処理できるということを意味する
全ての問題がそうだったら世の中に重い処理なんか存在しないからスパコンなんか要らないよね?ということだと思う

881デフォルトの名無しさん2017/08/20(日) 01:46:50.23ID:r7P84g+k
>>879
意味不明
メモリ転送だけが問題なら転送だけストリームすりゃいい
もとの文脈無視してただ叩きたいってだけか?

882デフォルトの名無しさん2017/08/20(日) 01:50:05.35ID:r7P84g+k
>>880
んな当たり前の事ドヤ顔で語る前に
前提と問題ぐらい読み解こうな

883デフォルトの名無しさん2017/08/20(日) 02:00:28.35ID:r7P84g+k
いや、これ本人がマウントしてんのかな…

884デフォルトの名無しさん2017/08/20(日) 04:44:52.46ID:HvheRl8w
>>876だけど元の質問してる人とは別人だよ。
ストリーミング処理って普通は大きなデータをストリームで流して一部だけ処理していくことで大きなデータを全部オンメモリにしなくても処理できるから嬉しいよねっていうことで
ストリームに対して処理する実装のことを指すと思うんだけど。

元々の話はFortranはデバッグがきついからJuliaで書きたいけどデータの受け渡しイマイチだし他にいい方法あるか?って話だと思うのでリソースを削ろうって話ではないと思う
ただ、データが4GBとデカいんでmemcpyとかディスク書き込みとかは明らかなメリットがなければしたくないっていうだけの話で

そもそもメモリ転送だけストリームっていうのは、ストリーム処理と言えるのかな?そして、本来はメモリ転送も無い方がいいに決まってるので。

スパコンの例はまさに>>880の言ってるとおり。物理現象の時間発展をシミュレーションすることが目的のプログラミングなんかは瞬間瞬間のデータ全部が相互に影響を与えあっているような
モデルを用いて実装されるだろうから、全部がオンメモリでランダムアクセス可能でなきゃそもそも実現が難しいと思うのよ。今見える範囲だけ処理するというストリーミングのやり方では原則的にはうまくいかないと思う。

885デフォルトの名無しさん2017/08/20(日) 05:41:57.25ID:r7P84g+k
文脈が違うから違う結論になっただけと言ってるのに、なぜくどくど説明したがるのか…

まず最初から素直にtmpfsでも高速なSSDでも使えばすぐ済む話
まさかそれすら最初から思いつかないってことはないだろう

でもグダグダ言ってるんだから、代わりにメモリや高速ストレージに金やリソース割くのが無理って事だろ
なら共有メモリにでもするか、処理単位を分けストリーム処理でもしろって話
で、ほしい処理主体がストリームじゃなかろうが割当は細く切り出しながら渡す必要あるから、どう言い繕ったってストリーム化だよ
いちいち言葉尻につっかかるあたりマウントしたいだけだろうが

886デフォルトの名無しさん2017/08/20(日) 06:26:59.79ID:Adwommj8
>>838>>860じゃないかな
「FFIを使う」「FFIよりいい方法があるか聞いてみただけ」ということで話は終わっているような

887デフォルトの名無しさん2017/08/20(日) 08:00:42.48ID:XzNX7+yk
で、それのどこが次世代言語なの?

888デフォルトの名無しさん2017/08/20(日) 09:02:07.47ID:02zgg1Cu
話は変わるけどFFIやRPCなどのインターフェイスを抽象化して多言語で共通に使える仕組みがあればいいのに
ThriftやgRPCみたいなのはサービスとして動かさなきゃいけないし、
Javaや.NETみたいなのは理想だけど仮想マシンに縛られるし

889デフォルトの名無しさん2017/08/20(日) 11:14:26.93ID:cXtFYNrL
なんだかんだ言ってjs or TypeScriptが最強な気がする
機械学習すら手軽に始められる言語になり始めてるし
https://pair-code.github.io/deeplearnjs/

ここ最近のES2015以降言語仕様の進化はいい方向に進んでいるし
パターンマッチングとか入り始めたらマジでこれでいいってなりそう。

890デフォルトの名無しさん2017/08/20(日) 11:15:55.74ID:cXtFYNrL
jsonをインターフェースとして考えるならjs

891デフォルトの名無しさん2017/08/20(日) 11:36:57.11ID:m8177A+a
周辺のエコシステムがちっともエコじゃない
ボイラプレート使わないと、めんどくさすぎてまずスタートラインにすら立てないという
おにちく仕様
ちゅか、フロタイプかタイプスクリプトを標準にしろ
生JSはできない

892デフォルトの名無しさん2017/08/20(日) 13:16:38.54ID:IkwItTHK
ここまで次世代言語の議論なし

8932017/08/20(日) 14:05:20.43ID:wfThuXaW
>>888
なんかすごい懐かしい言葉が色々浮かぶけど、どれも対して成功してないな。
逆にhttpがここまで伸びたのも凄いが。

894デフォルトの名無しさん2017/08/20(日) 14:40:01.39ID:856Qy56L
ハイパーテキストじゃなくてもhttpプロトコルだしな。

895デフォルトの名無しさん2017/08/20(日) 16:38:15.82ID:HvheRl8w
>>885
「処理単位を分けられる処理」なのかは把握した上でストリーム化を勧めてるんだったらわかる。
質問者の望む処理がそういう処理だと思ったってことである程度どうやって分割するかも予想がついた上でストリーム処理にした方がいいって言ったってことだよね?

マウンティングとかじゃなくてさ、問題を的確に把握する前にアドバイスしたってしょうがないだろって思ってるだけだよ。

896デフォルトの名無しさん2017/08/20(日) 17:02:53.59ID:zvlsjK6m
>>888
結局、各言語でメモリの取り扱いが異なるわけだから、.NET みたいなことする以外に
解決方法なんてないだろう。
メモリの取り扱いを抽象化するってのはどうしたって結局のところ性能的に無理が生じる。

897デフォルトの名無しさん2017/08/20(日) 19:08:10.98ID:2qDLsNd9
847 あ[sage] 2017/08/18(金) 01:19:03.96 ID:WQb8VpS1
>>844
中間ファイル作りながら、次工程進めれば良いのでは?って。
HDDに書き込むのはその端末自身である必要も無いだろうし、別の端末にやらせても良いかと。
teeコマンドは、標準入力からの入力を、ファイルなりなんなりと標準出力に出すコマンド

849 デフォルトの名無しさん[sage] 2017/08/18(金) 09:59:20.00 ID:64r0PFl5
841が非常に適切なアドバイスをくれたから、俺の書き込みでも割と通じてるんだと思ったけど、
844、847には通じてなさそうな気がする
848には通じてる

850 あ[sage] 2017/08/18(金) 13:16:32.57 ID:WQb8VpS1
通じてるよ。ただファイルで渡しても良いけど、出来上がった暁には全部流したいだろうなと思ったんだが。

852 デフォルトの名無しさん[sage] 2017/08/18(金) 15:56:35.28 ID:64r0PFl5
流す?よく分からんけど、FFIの代わりの話ししてるのになんで標準出力にもHDDにも出すことになってるんだ??????

855 あ[sage] 2017/08/18(金) 21:59:17.07 ID:WQb8VpS1
標準出力とは限らんよ。
だからtee「的」と言ってるんだが。

856 デフォルトの名無しさん[sage] 2017/08/18(金) 22:15:46.41 ID:64r0PFl5
何この人。結局何を伝えようとしてくれてるのか全く分からなくて怖いんだけど


明らかに話が噛み合っていないのに「通じてるよ」とか、855の受け答えとか、話し通じないガイジ丸出しで大変面白い

8982017/08/20(日) 22:15:08.78ID:yEE4C2MX
>>897
なんの会話もせず、レス拾って文句つけるだけとは随分面白くて有意義な書き込みだなぁ。

899デフォルトの名無しさん2017/08/20(日) 23:05:46.98ID:yNKc7CAF
会話ができてないお前がいうか?

900デフォルトの名無しさん2017/08/20(日) 23:36:43.04ID:m8177A+a
単発のお前がいうか?

901デフォルトの名無しさん2017/08/21(月) 00:48:06.97ID:COEoTBs8
>>895
そちらの言い分は分かるが、俺の言いたい事は違うよ
分割の話はFFIを界面にしてる点を取っ掛かりに言ったに過ぎない
不明な仕様という点を踏まえて、より一般化したの代替の提案してるだけ

要するに言外の事に突っ込んだ話はしてません

902デフォルトの名無しさん2017/08/21(月) 00:52:50.95ID:ogLdY0/a
このスピードのスレで単発煽りとか、普段はID真っ赤のガイジですって自己紹介してるようなもんじゃん……

903デフォルトの名無しさん2017/08/21(月) 02:03:36.52ID:sjKZo8mX
>>901
もしストリーム処理的なものを一度も考慮に入れたことがないんであれば、ストリーム処理で実装可能かどうか考えるのも一つの手かもね、
ぐらいの意味であったということかな?それなら納得します。

904デフォルトの名無しさん2017/08/21(月) 03:02:40.94ID:eGD2En39
俺たちのスピードについてこれない香具師がいるようだね

905デフォルトの名無しさん2017/08/21(月) 22:30:29.02ID:UGhNsUQ+
いつまでストリームのはなししてるの。
ストリームならRxだろjk

906デフォルトの名無しさん2017/08/22(火) 00:33:08.71ID:9GD6qpN2
ワイはBlackRx

907デフォルトの名無しさん2017/08/22(火) 11:49:00.34ID:i6ZzO263
光のオーロラ身に纏い
君は闘う人になれ
傷つことを恐れたら
世界は悪の手に沈む

ネットバトラー爆誕である

908デフォルトの名無しさん2017/08/22(火) 11:54:49.36ID:wr0MW0qV
>>903
ニュアンスがやっぱり違うぞ
金もメモリも使わずかつ実装が簡単な代替えとなるとそうなるって話
HDDの速度考えれば都度転送のがまだマシだろ
本当はtmpfsが手っ取り早いけど

909デフォルトの名無しさん2017/08/22(火) 16:38:49.34ID:WO9jjhJ1
名古屋から山口組の6代目が出たんだし、SKEにも頑張ってほしい


◆AKBは近代ヤクザのシステムを導入しているとしか思えない◆
http://robo-mae.com/2017/06/20/

なんか本職のヤクザ?が書いてる裏事情ブログでおもろいから読んでるんだけど、
ぽいけどこの記事だけ的確過ぎて笑ってしまった。
この人は結構ヲタなんだろうけど、組内では内緒にしてるのかな?

9102017/08/22(火) 20:55:51.79ID:5SSOVQI8
パイプとかRPCでやるなら、
プロセスAがデータ作り終わったら、
プロセスAがデータを一定量、プロセスBに送って、
プロセスBはそれを受けてバッファに置いて、
プロセスAは送った分、確実にメモリを開放して、
全部送り終わったらEOF送って、
プロセスBはEOFで走り出せばいいんじゃないの?
その送受信フックしといたら、プロセスBだけもう一回走らせるのも簡単だし、別の計算機でプロセスB動かすのも簡単だし、エビデンスにもなるのでは?

9112017/08/22(火) 20:57:28.90ID:5SSOVQI8
全部送り終わったら、のところ、全部送り終わってなければ、また「一定量送って」にループね。

912デフォルトの名無しさん2017/08/22(火) 21:45:32.91ID:3dDtZQan
>>910
>送った分、確実にメモリを開放

ってどうやるんだろ

9132017/08/22(火) 22:19:18.76ID:5SSOVQI8
>>912
Fortranなら、allocatableで宣言して、allocateで適当な「一度の量」単位で確保して使って、送ったらdeallocateで開放すりゃいいんじゃないの?
pointerで宣言してるならちと考え方変えねばならんかもしれんが。
あと尻から送ったほうが良いかも。
GCある言語だったら開放待ち作らなきゃなんともならんな。

914デフォルトの名無しさん2017/08/23(水) 19:38:39.70ID:C10WJIyJ
>>912
mallocじゃなくてシステムコール使う

915デフォルトの名無しさん2017/08/24(木) 03:36:25.37ID:89P6VciC
久しぶりに覗いてみたらまだこの基〇外いたんだwww
俺が勉強している間も遊んでいる間も色々している間もずっと書き込んでいたんだねww

916デフォルトの名無しさん2017/08/24(木) 07:01:09.06ID:plP2PBjy
まろ〜く

9172017/08/24(木) 12:57:45.68ID:aPple+DF
勉強したり遊んだり仕事したり2chに書き込んだりしてるだけだがなぁ。
一度に1つの事しか出来ないんだろうか。

918デフォルトの名無しさん2017/08/24(木) 13:06:05.45ID:CU8adGcb
この基地外の収容所と化したからな。このスレは

9192017/08/24(木) 13:10:59.72ID:aPple+DF
賑やかしでいいんじゃないの?
黙ってたら進まんかHaskell信者が踊り狂うスレなんだし。キャットドア()の検証()するスレで良いの?

あと、そもそも盛り上がってたら静観してあんまり書かんぞ。

920デフォルトの名無しさん2017/08/24(木) 13:23:19.75ID:PzOnmf2Y
結局Haskell最強ってなるの。
正直あんまり仕事で使ってる感じしないけど。
なんか研究者が戯れに使う感じ。そもそも何に向いてる言語なのhaskellって

921デフォルトの名無しさん2017/08/24(木) 13:28:16.99ID:0Cezav5n
エンジニアガイジ再訪。Part4より

905 :デフォルトの名無しさん:2017/05/31(水) 06:14:00.96 ID:wEozaoTa
>>879
では、具体的にGHCが実行時型情報を必要とするケースを挙げてみろよ。
言っておくが、パラメトリック多相は全てコンパイル時に解決されるし、
型クラスによるアドホック多相も、あれは関数オーバーロードの形式化だからな。
関数オーバーロードはコンパイル時に解決されるぞ。
さあ、具体的に挙げてみろよ。

908 :あ:2017/05/31(水) 09:15:21.09 ID:dc+IbjjD
>>905
具体的に上げろと言われてもなぁ。
<T>を持ったenumがOptionかcar(T)とcdr(<T,T>)である時くらいかな。

922デフォルトの名無しさん2017/08/24(木) 13:32:07.62ID:z+OCxOWy
>>920
仕事で使ってるよ
ファイルのバリデートチェックとか
あとはネットワーク構成の論理矛盾がないか調べる内製ツールもHaskell

923デフォルトの名無しさん2017/08/24(木) 18:31:02.84ID:IR7qYp4l
キャットドアって何?

924デフォルトの名無しさん2017/08/24(木) 19:43:58.38ID:EpnGEQYH
>>920
結論は「〜言語最強」とか言ってる輩は馬鹿ってことかな。

925デフォルトの名無しさん2017/08/24(木) 21:27:56.58ID:LiUup8WI
>>924
まぁ向き不向きの問題ってことかね。
haskellはバリデーションチェック系が得意っていうのはやっぱりパターンマッチングで宣言的にかけるからってことなのかね。
パターンマッチングはrustとかelixirとかでもできるわけだから
haskellじゃなきゃダメってことはなさそう。

926デフォルトの名無しさん2017/08/24(木) 21:34:11.83ID:LoTTLSP4
いやHaskellのが楽
RustなどにQuickTestのようなものはない

927デフォルトの名無しさん2017/08/24(木) 21:34:48.48ID:LoTTLSP4
QuickCheckだ間違えた

928デフォルトの名無しさん2017/08/25(金) 00:50:39.84ID:KCgpTMlD
ある。使ったことは無いがhttps://github.com/BurntSushi/quickcheck
ただRustの型システムはHaskellより貧弱だし、最初からメモリについて意識しないとプログラムが動かない
Haskellで作ったプロトタイプをRustで書き直して速度を稼ぐのはアリ

929デフォルトの名無しさん2017/08/25(金) 06:00:59.36ID:xDVMzM02
>>928
めちゃくちゃ冗長だねこれ…

930デフォルトの名無しさん2017/08/25(金) 11:10:28.70ID:Yqz1DVXO
暗黙の型変換は大嫌いな俺でも型システムを信じすぎる輩はどうかと思う。

931デフォルトの名無しさん2017/08/25(金) 13:37:23.88ID:nLnLKgfd
>>930
ちょっと言ってる意味わからない。(言いたいことはわかるかな)
暗黙の型変換好きってなら、そのあとの でも型システムを信じすぎる 云々につながるけど

932デフォルトの名無しさん2017/08/25(金) 20:25:21.97ID:7uFXgRip
暗黙嫌い=与党ってことだな
たとえ内容が全く同じでも、野党が批判するのと、与党の俺が批判するのは全然違うと
最近の日本語は面倒臭い

933デフォルトの名無しさん2017/08/25(金) 20:45:47.36ID:xDVMzM02
>>930
もしかしてRustの型が貧弱というのに反論しているつもりなのか?

934デフォルトの名無しさん2017/08/25(金) 20:56:12.07ID:Yqz1DVXO
例えば perl みたいに "123" を勝手に数値変換したり文字列として取り扱ったりってな
言語は好きじゃないって話が一方であり、
じゃあ haskell みたいに型チェックを強めにやってりゃバグありませんって態度も
どうかと思うって話だよ。

なぜ与党とか政治の話になるのか謎。。

935デフォルトの名無しさん2017/08/25(金) 21:20:19.63ID:7uFXgRip
与党は比喩だな
一方、Haskellの「バグありません」って態度とか台詞とかは擬人化だろ

936デフォルトの名無しさん2017/08/26(土) 08:42:33.45ID:OYkNf4vr
PerlとHaskellは両極端だが激しい対立は起きてなかったよね
対立がなかったところに中立の勢力が現れて両極端 vs. 中立の対立が発生したよね
中立の意味ないんじゃないか?

9379282017/08/26(土) 08:49:18.26ID:Mm+y9adx
HKTが無いことを念頭に入れてのレスだったんよ。RustじゃHaskellで便利なFunctorは作れない
型システムを信じすぎるって状況が自分も想像できない。他言語の話だろうか

938デフォルトの名無しさん2017/08/26(土) 13:53:01.93ID:+XRpmYj4
ペェ〜ルだかプェチピィだか、あんな真性糞ゴミを中立の位置まで持ち上げて議論に引き出すのが
そもそも間違っている
あんなんジャップランドの土方SIerの低学歴奴隷どもしか使っとらんぞ

939デフォルトの名無しさん2017/08/26(土) 15:13:15.69ID:attIITNf
>>938
海外でも使われてるし、土方SIerはむしろPHPなんか使ってなさそうだし色々間違ってるんだが

940デフォルトの名無しさん2017/08/26(土) 15:34:56.04ID:+XRpmYj4
>>939
土方SIerにこき使われてる低学歴奴隷ども、な
おまえさんは海外でウンコが食われてたらおまえさんもウンコ食うのか
ガイジか?

941デフォルトの名無しさん2017/08/26(土) 15:37:34.37ID:yVg+x2rU
自社事業やってるベンチャーをいくつか転職活動で回ったけど、
俺達の事業に最適な最高のシステムを独自に開発した!もう人間要らねえ!俺すげぇぇ!
みたいな知性を感じないオレオレ系はPHP多かったな
もちろん即辞退

9422017/08/26(土) 15:42:18.00ID:X5M1TIXy
>>938
SIerの仕事は、技術ではなくて管理だからな。
不良率や稼働率を客と話し合って、SLAを結んで、それを満たすシステム作らせるべくプロジェクト立ち上げて管理して納品させて、自分らが納品するのが目的なんだし、
定義した稼働率満たしてりゃ中身がなんであれそれで良いよ。
それ以上の品質はただの過剰品質。化粧板止めるネジにチタン使うぐらいのバカ。
理想論者の技術バカは、ちょっと自分に何が求められてるのか把握してほしいわ。

943デフォルトの名無しさん2017/08/26(土) 16:10:01.03ID:+f59r+kw
>>941
事業としてはそれが正解な気がしないでもない。
人間いらないならなんで募集していたのかとか気になるが。

944デフォルトの名無しさん2017/08/26(土) 17:45:44.24ID:F/lZ1rgx
好き好んでSlerのPHP奴隷に成り下がる奴wwwww

945デフォルトの名無しさん2017/08/26(土) 18:30:04.24ID:mC0A2mA/
>>943
最後の皮肉で噴き出したじゃないか、パブリックな場でww

946デフォルトの名無しさん2017/08/26(土) 18:44:35.29ID:+9+W3CBg
test

947デフォルトの名無しさん2017/08/26(土) 19:59:48.46ID:VInW/Le9
>>942
わるいが、俺は25年ぐらいしか業界経験がないから、
「過剰品質なソフトウェア」ってものを見たことがない。
品質が高すぎるが故に害があったソフトウェアの実例を教えてくれるか?

948デフォルトの名無しさん2017/08/26(土) 20:06:00.46ID:QQJs7uWk
>>947
きみがかかわった「完成が遅れたプロジェクト」ぜんぶ

949デフォルトの名無しさん2017/08/26(土) 20:34:24.42ID:+XRpmYj4
>>948
ウンポコピーの糞プェチピィ土方を寄せ集めたジャップランド土人さんの悪口はやめたまえ

950デフォルトの名無しさん2017/08/26(土) 20:59:45.94ID:UaCnfxPk
いい加減にマ板でやれ

951デフォルトの名無しさん2017/08/27(日) 00:13:00.86ID:Xm4zUSYU
PHPやPerlのような、終わった言語の話はもうやめようよ

952デフォルトの名無しさん2017/08/27(日) 01:25:48.62ID:gWxugQMb
goだとGAE/goが使えるから。という理由でGO言語が選択されてたりするかな。

中国人がGOが好きだという話を中国人のエンジニアの人に教えてもらいました。その人の話では中国でのベンチャーはいきなり一千万人単位のユーザが生まれる場合があるから、サーバ単価が低くできるGOが好まれるとか

9532017/08/27(日) 01:26:55.82ID:0sFxQlMg
>>947
俺はもう少し若輩者だけど、それでも過剰品質はあったよ。
●非常時には止めても良いシステムで、止めないでホットパッチ当てれる仕組みまで作ってた
→案の定その部分が原因でデータ不整合が起こった
●ホットなミラーリングが出来るDB使ってみました
→そもそもテンポラリDBしか使わないジョブ用のバッチ。

と言うように、害があるってのは2つの意味がある。
それを作ったせいで余計な対応が発生して余計にかかったコストを害とする
それを作らなくても良かったのに、作った事による、単純な工数の無駄遣い。

954デフォルトの名無しさん2017/08/27(日) 01:38:37.46ID:XtwdHSP9
>>952
景気の良い話だな
お金稼ぎやすそうだ

955デフォルトの名無しさん2017/08/27(日) 03:28:48.46ID:Xm4zUSYU
>>953
PHPで非常時には止めても良いシステムを書かせる
→通常時も落ちる

PHPでDB使ってみました
→不整合データたくさん入りました

PHPを使ったことによる損失は次元が違うから・・・

956デフォルトの名無しさん2017/08/27(日) 06:45:30.70ID:uirFB7xG
PHPで求人だしてるのはそれが一番安く雇えるからだろ
品質なんて気にしないというか知らない
自分が気に入るまで文句言ってれば理想のモノが出来上がると思ってる
画面がーとか言われてもな

957デフォルトの名無しさん2017/08/27(日) 07:17:55.40ID:5p3PV0IY
>>953
データ不整合が起こったというのは、品質の不足だろ?
君が言っているのは過剰品質ではなく、過剰な作業項目による品質劣化だ。

958デフォルトの名無しさん2017/08/27(日) 07:39:28.90ID:9QUPPDGG
>>957
庇うわけじゃないけど
内容的に運用で失敗したって話じゃないのこれ、う?

959デフォルトの名無しさん2017/08/27(日) 08:03:58.19ID:A5vH1dU1
過剰に安く買って過剰に高く売ればいいのにね
物価を固定して品質を変えようとする奴しかいないね

960デフォルトの名無しさん2017/08/27(日) 09:30:18.93ID:J8/CoBlN
今時はSIerも>>959を夢見て自社資産(成果物の流用に限らず無形のノウハウも含む)を作ろうとしてるところも多く、
要件を超えることが必ずしも悪いわけではない
俺もコストの半分くらいが自社の投資でカバーされる案件やったことあるぞ
まあSIerのクソ技術じゃせいぜいテンプレート化までなんだけど

9612017/08/27(日) 11:15:59.94ID:0sFxQlMg
>>955
phpを安易に使ったことによる損失とは違うが、
テレメトリを受けるだけ(取りこぼしても良い)くらいなら十分よ。
>>957
機能を足したことによる、足した部分の品質不足、だな。
メインの機能は十二分にうごいてた。
蛇足そのもの。
>>960
それは研究開発費でやらないと、案件貰わない限りノウハウがたまらない≒ノウハウがないが故に失注する、を乗り越えられんし、研究開発の大切さが上に伝わらんのではないか?
ソフト屋はみんなそうなのかな。
特許請願しにくそう。

962デフォルトの名無しさん2017/08/27(日) 13:29:48.08ID:HU59sOY6
あるECサイトが情報漏えいを起こしてニュースになった。

そのECサイト PHPで調べるとだいたい ECサイト/index.php で大体ヒットする

963デフォルトの名無しさん2017/08/27(日) 13:45:21.58ID:0P4eY3kj
でもphpも最近は型アノテーション効くんだよね。
phpは型がないからダメだというのはないかも。

964デフォルトの名無しさん2017/08/27(日) 13:55:08.57ID:aHc3NNic
phpは良くなっても使ってるユーザの8割はコピペユーザだろ

965デフォルトの名無しさん2017/08/27(日) 16:14:38.67ID:Xm4zUSYU
動的型付けだから書きやすい!生産性高い!
なんて喚いてたのに
今さらプリミティブ型の型アサーション導入で嬉ション漏らしてるなんて
ペチパーってひょっとして馬鹿なのか?
って思った

966デフォルトの名無しさん2017/08/27(日) 17:30:06.18ID:0P4eY3kj
>>965
なんでステレオタイプな一つの人格にしようとしてんの?
俺はphperでもないし、動的言語がいいなんて言った覚えもない。

ただ和田さんのプレゼン、防衛的プログラミングの一環として
型アノテーションを使うことを提案されていて良いと思ったから話しただけ。

http://sssslide.com/speakerdeck.com/twada/php-conference-2016

967デフォルトの名無しさん2017/08/27(日) 18:22:30.86ID:Xm4zUSYU
>>966
PHP使うのやめたら?ってレベルのギャグだなもはや
なんかもう必死すぎて、そこまでしてPHPにしがみつくなんて
やっぱペチパーって無能なんだなって

968デフォルトの名無しさん2017/08/27(日) 18:34:38.91ID:afYlE8K8
>>966
これ会場で誰か「Java使えば?」って言ってあげろよ

969デフォルトの名無しさん2017/08/27(日) 18:50:11.83ID:q7bmEdLB
PHPはなぜライト層が好むのか

970デフォルトの名無しさん2017/08/27(日) 19:22:26.33ID:Xm4zUSYU
>>969
「PHPなら初心者でも書ける」という大嘘がまかり通ってるから
そんな連中が書いたゴミの山を保守する奴隷が足りてないから
やっぱり「PHPなら初心者でも書ける」と噂を流して
奴隷がやってくるのを待っている

971デフォルトの名無しさん2017/08/27(日) 19:39:59.26ID:0cj4lMWm
暗黙にいろいろ用意してくれてるものがライト層には人気出るのはわかる。

972デフォルトの名無しさん2017/08/27(日) 19:48:59.90ID:ZA6o2PCQ
ライト層が好むんじゃなくて結果的にライト層が残るんだろ
まともにコード書ける奴はゴミみたいな単価のWeb制作なんかすぐ辞めて自社事業系に行くよ

973デフォルトの名無しさん2017/08/27(日) 20:47:45.53ID:0P4eY3kj
>>968
プレゼンの内容ロクに見ずに批判してるのがまるわかり。
動的言語の良さと静的言語の良さをあわせてる
動的言語はメタプログラミングし易いからフレームワークの挙動を組みやすい。
でもインターフェースがゆるゆるだと使う時にひどいから
インターフェース部分を型アノテーションで固めようってことでしょ。

javaは全部かっちりしすぎて辛い部分もある。だからkotlinとか注目されてる。
ボイラープレートだらけとかシンドいのは事実

goも若干きつくて正直goaに出会うまではgoでwebやろうってあんまり思わなかった

974デフォルトの名無しさん2017/08/27(日) 21:14:56.73ID:0uJKb2TV
動的だとメタプログラミングしやすい…?
メタプログラミングって何かわかってる??

975デフォルトの名無しさん2017/08/27(日) 21:42:23.55ID:J8/CoBlN
確かに、Rubyのようにコード上の静的なセマンティクスと実行時のデータ構造とが明確に分離されていない言語において
動的にメソッド生やしたりするのをメタプログラミングと呼ぶのは違和感あるよな

976デフォルトの名無しさん2017/08/27(日) 21:43:30.82ID:0P4eY3kj
>>974
ダックタイピングとマジックメソッドの組み合わせによって
例えばORMとかだとDBのスキーマ情報からメソッド生やしたりできる。
そういうのはjavaとかgoだとcode genereateするしかないでしょ。

977デフォルトの名無しさん2017/08/27(日) 21:51:14.06ID:0P4eY3kj
>>976
あれ?俺の考えてるメタプログラミングって違うの?
例えばジェネリクスもメタプログラミングだと思ってるんだけど

https://ja.wikipedia.org/wiki/%E3%83%A1%E3%82%BF%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0

を見る限りじゃ合ってると思うんだけど。
簡単に言えばロジックを記述するロジックを組むのがメタプログラミングだよね。

978デフォルトの名無しさん2017/08/27(日) 22:12:18.75ID:otpxcVUC
>>977
ジェネリクスによるメタプログラミングは型という本来静的に決まっているものに依存しないという点でメタ
ロジックを記述するメタプログラミングとは意味が違う
動的言語ではメソッドが静的に定義されている必要は元々全くないし、
定義するメソッドもごく普通のメソッドであり決してロジックを生成しているわけではない
LISPみたいに実行するコードそのものを作ってしまうのがロジックを記述する方のメタプログラミングだ

979デフォルトの名無しさん2017/08/27(日) 22:25:38.24ID:J8/CoBlN
補足
動的言語でcallをフックする系のメタプログラミングがメタである所以は、
メソッドは本来クラスに対して静的にアサインされるものである、という前提において、
メソッドを動的にアサイン(動的にロジックを記述しているわけではない)しているという点だ
その前提を認めるかどうかは議論の余地がある
例えば、さすがにJavaScriptでメソッドは静的にアサインされるものだと主張するのは無理があるだろうね

980デフォルトの名無しさん2017/08/27(日) 22:26:36.34ID:QZuIwK0r
>>977
>>978

メタプログラミング関係ないけど
「ロジック」と「プログラム」という用語をどう使い分けてるの?

プログラムの中にロジックを記述した部分と
ロジック以外を記述した部分があるというニュアンスに受け取れるけど
ロジック以外の部分って具体的に何を指してるのか教えて欲しい

981デフォルトの名無しさん2017/08/27(日) 23:44:09.86ID:0P4eY3kj
>>979
難しいっすわ。
つまりjsでメタプログラミングと言ったら
jsのコードを文字列で記述してそれをevalしたものだけってこと?

学術的な定義だと言われると凄く困るんだけど、
メタ って自己言及ってことでしょ
ロジックを持ってロジックを作るという考え方全般をメタプログラミングと呼んだら
実際的に弊害があったりする?

静的言語だと例えばマクロを駆使してコード生成をかける
部分をメタプログラミングと呼ぶ。

rust のprintln!とかだよね
テンプレート文字列の内容を実際に渡すパラメータの数と型の一致の確認をコンパイル時に行う。

goだとプリプロセッサがないからcode genereteがメタプログラミングなわけだ。

でも動的言語だとコンパイルはないから全て実行時に処理する。
だから明確にメタプログラミングと言える箇所はないってことか。
そこはわかったよ。

でも、実際には静的言語にはマクロがないとできないことを動的言語はできる。
だからメタプログラミングが動的言語は得意っていいたかったんだよね。

982デフォルトの名無しさん2017/08/27(日) 23:47:44.62ID:0uJKb2TV
C++ではマクロを使わないと実現できない最小のpythonコードをご提示ください

983デフォルトの名無しさん2017/08/28(月) 00:04:08.73ID:bSe63dl4
誰がなんと言おうと、PHPみたいな糞言語使わないし、使う必要もない
生涯を保守に捧げたい哀れな土方どもにやらせておけばいい

984デフォルトの名無しさん2017/08/28(月) 00:15:01.04ID:hSp+oBxP
やはり動的型が好きな人はありとあらゆることがゆるゆるで
それはこういった会話にも表れてしまって、全てが場当たり的なんだな
会話がこうなんだから、他のこともそうなんだろう
指摘されてから直したらよい、的な

どうしてそうなってしまうのか、非常に興味深いところであるが
おそらく現実が正しく認識できていないか、もしくは根本的なところを履き違えているだとか
そんなおかしな状態で日常を過ごしていると
思考回路がいい加減になってしまって常習化してしまうのだろう

モデルが正しくないところへ幾らインプットを流し込んでも
正しく学習できないばかりか、どんどん変になっていく
そのうち何が何やらどうでもよくなってしまうのだろう

985デフォルトの名無しさん2017/08/28(月) 01:53:37.57ID:2qTxVo4t
>>984
動的型ではなくソフトウェアが好きなんだろう
ゆるゆるという言葉を正しく認識すればわかる

986デフォルトの名無しさん2017/08/28(月) 02:23:45.93ID:PMfiarSN
動的言語のメタプログラミングのメリットもわからないとか終わってるなww

987デフォルトの名無しさん2017/08/28(月) 06:51:11.62ID:bSe63dl4
ペチプァさん・・・w

988デフォルトの名無しさん2017/08/28(月) 09:41:42.58ID:hmoIfjPi
あほくさ。
そこまで堅いのが好きならすべてワイヤロジックで組むべきだな。

989デフォルトの名無しさん2017/08/28(月) 09:48:23.03ID:IHzBG4Iq
メタプログラミングってどれがって定義とかじゃなくて相対的なものじゃないの
敢えて言えば平均的な使い方よりメタかどうかなので、言語によって変わってくるのでは

990デフォルトの名無しさん2017/08/28(月) 10:23:02.60ID:knrf7PIh
静的なメタプログラミングにはチューリング完全ではない特殊な言語を使う
コンパイル時に無限ループさせないために
言語が二つあるから完全に二極化している

991デフォルトの名無しさん2017/08/28(月) 15:51:07.02ID:PMfiarSN
メタプログラミングという概念について述べてるところに
メタプログラミングの実現方式について返すから話が噛み合わないわけだw
言語処理能力って重要だね

992デフォルトの名無しさん2017/08/28(月) 15:54:35.06ID:hmoIfjPi
まあこれ以上、メタプロとはってなこと話しても無駄だろうということで
話題の発端である「動的言語はメタプログラミングし易いからフレームワークの挙動を組みやすい。」
てなところに戻って、
動的言語でフレームワークの挙動を組みやすいかどうかを語った方が良いのでは?

9932017/08/28(月) 16:01:40.95ID:J4nOOC8D
>>966
素晴らしいスライドだな。
言語はおいといても、同じ思想で開発すべきかと。
言語仕様がそもそも、スライドの通りにしかつくれない言語のほうが良いとは思うけど。

994デフォルトの名無しさん2017/08/28(月) 16:11:48.75ID:hSp+oBxP
どちらにしても次世代言語の覇者なるものがもし出てくるとしても
動的型言語界隈から出てくるわけないので、どうでもよい
動的なメタプログラミングなど悪夢でしかなく、好まれるはずがない
静的な分、Cのマクロの方がましだ
静的型で出来なくて、動的型で出来ることの殆どは、悪手でしかない
結局人間にもわかりにくいし
実行速度を落としてまでサポートするほどの価値はない

995デフォルトの名無しさん2017/08/28(月) 16:37:43.73ID:eoTPDlew
Lispのマクロはメタプログラムに入りますか〜?

996デフォルトの名無しさん2017/08/28(月) 19:04:21.49ID:nnMMDr4F
>>984
そうじゃなくて、動的型についてのあんたの理解がゆるゆるなだけだ。
つまり、ゆるゆるなのは、あんたの頭。

997デフォルトの名無しさん2017/08/28(月) 19:06:30.14ID:nnMMDr4F
>>994
つまりあんたはOSをインストールしたら最後、プログラミングなんて一切しない人なんだね。
動的であることを拒否するということは、OS上でユーザは実行可能ファイルを一切生成することも上書きすることも許されないということだ。

IEでインターネットでもしてろw

998デフォルトの名無しさん2017/08/28(月) 19:41:37.27ID:hSp+oBxP
と、このように関係のない的外れなことを言い出す
ゆるゆるなのは誰がどう見てもお前じゃねーか

999デフォルトの名無しさん2017/08/28(月) 19:48:51.91ID:hSp+oBxP
要するには何の区別も分別もついてないということだな
じゃなきゃそんな的外れなたとえ話w
そういった混沌とした状態の頭で生活をしていから
普段から、何もかも、何が何やらで
終いには全てのことが、どうでもよくなるんだろうな
悪循環だな

1000デフォルトの名無しさん2017/08/28(月) 20:26:26.83ID:3Zs55+dM
よく考えてみたらメタプログラミングってgoとかでコードを書くようになったから意識するようになった。php自体は意識しないで使ってたから。

静的言語、動的言語って分け方もよくなかったね。
静的言語だってマクロ機能があればメタプログラミングはある程度できる。
goだとreflectとか使わないとphpと同じことはできないしできたとしてもかなり苦しい。
結局言語機能が不足してるのが問題なんだよね。

TypeScriptはその点でかなり自由度が高かった
型の直和型と直積型を & と | を駆使して組み合わせられるから
かなり動的言語よりにコードを書ける。

let a :string|number|undefined;

とやるとstringの可能性とnumberの可能性とundeifnedの可能性がある型が作れる。
もちろん

if (typeof a === ‘string’) {
} else if (typeof a === ‘undefined’ ) {
} else {
// ここに来るのは絶対number型だとIDEも認識する。
}
とういう風にTypeGuardも完璧に動作する。

goはエコシステムがいいのにこういうのが充実してないからかなり苦しむことになる。
だからメタプログラミングは弱いって思ったんだけど
静的言語だから弱いって言うべきではなかったな。

10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 76日 11時間 32分 19秒

10021002Over 1000Thread
2ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.2ch.net/

▼ 浪人ログインはこちら ▼
https://login.2ch.net/login.php

レス数が1000を超えています。これ以上書き込みはできません。