2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

次世代言語議論スレ【Go Rust Haskell Scala Erlang Elixir】

1 :デフォルトの名無しさん:2016/11/18(金) 10:59:09.20 ID:SgtZza8z.net
いざ、語ろうぞ。

2 :デフォルトの名無しさん:2016/11/18(金) 11:58:44.66 ID:dYh5XD+c.net
Go

3 :デフォルトの名無しさん:2016/11/18(金) 12:47:48.81 ID:OlRP+CLk.net
Haskellとかいう前世代の言語が混ざってるのはギャグかな?

4 :デフォルトの名無しさん:2016/11/18(金) 19:21:13.92 ID:eISdsYkv.net
native使えるrust, crystal, nim辺りしか注目してない
そういえば廃れてはいないけどvalaはめっきり聞かなくなったな

5 :デフォルトの名無しさん:2016/11/19(土) 01:56:44.45 ID:Ze2KC2Nd.net
ブラウザで動くのはJavaScriptでありつづけるだろう

6 :デフォルトの名無しさん:2016/11/19(土) 02:47:14.11 ID:/H+O8GBj.net
>>3
おまえが使ってる数学も、10世紀前のレベルなんだが。

7 :デフォルトの名無しさん:2016/11/19(土) 02:52:48.03 ID:38qtnmNR.net
そうじゃなくてHaskellはすでに現役ってことだろ
ということで代わりに永遠の次世代言語F#を入れましょう

8 :デフォルトの名無しさん:2016/11/19(土) 04:23:53.49 ID:4/BQsFya.net
GoとScalaは人気が上向き、HaskellとErlangは低迷、Rustはまだこれから

https://www.google.co.jp/trends/explore?cat=31&q=%2Fm%2F09gbxjr,%2Fm%2F0dsbpg6,%2Fm%2F03j_q,%2Fm%2F091hdj,%2Fm%2F02mm3

9 :デフォルトの名無しさん:2016/11/19(土) 11:41:33.31 ID:CUeEegkW.net
言語における世代の違いとは?

10 :デフォルトの名無しさん:2016/11/19(土) 12:47:28.61 ID:T/wP/yiF.net
第1世代 FORTRAN COBOL LISP FORTH
第2世代 C PASCAL BASIC Delphi SmallTalk
第3世代 C/C++ Java Perl PHP
第4世代(現在) 上記 + C# JavaScript Ruby Python Swift

的なイメージ

11 :デフォルトの名無しさん:2016/11/19(土) 14:07:21.31 ID:xFJxjIup.net
>>10
JavaScriptはJavaと同世代だしょ

12 :デフォルトの名無しさん:2016/11/19(土) 19:00:53.02 ID:z0fjHGJX.net
Smalltalk の t は小文字な

13 :デフォルトの名無しさん:2016/11/20(日) 00:39:41.16 ID:zuVL9nD+.net
結局どれがいいの?

14 :デフォルトの名無しさん:2016/11/20(日) 01:21:38.56 ID:PZEuAd0p.net
どれも雇われで使うほど普及してなくて、個人事業や趣味で使うものだから、どれがいいのかは自分で選ぶしかないだろう。
今後求人が増えそうな言語、という意味なら… どれだろう?

15 :デフォルトの名無しさん:2016/11/20(日) 06:36:24.49 ID:R76BQYGo.net
今後の伸びならScalaでしょ
Javaから悪い所を取り除いたような言語だし

16 :デフォルトの名無しさん:2016/11/20(日) 07:07:52.27 ID:mRRC2G0e.net
今のところScalaの求人が多そう

17 :デフォルトの名無しさん:2016/11/20(日) 09:31:46.05 ID:zhAQ+Nfm.net
altJavaでは、静的言語からの順番で、Scala, Kotlin, Groovy。
WEB+DB vol.94 の特集が、Kotlin, Electron

altJSでは、Haxe

Haxe(ヘックス)はOSSで、JSに型チェックを付けたような言語で(altJS)、
JS(ES5), Flash, PHP, C++, Java, C#, Python に書き出せる。
Windows8.1対応。IDEは、FlashDevelop

このサイトで、ブラウザでプログラミングして、実行できる
Try Haxe !
try.haxe.org/

Haxeプログラミング入門、尾野政樹、2015

18 :デフォルトの名無しさん:2016/11/20(日) 09:40:09.50 ID:hq0fgw+5.net
Scalaはない

19 :デフォルトの名無しさん:2016/11/20(日) 18:10:11.59 ID:zuVL9nD+.net
へックスって読むのか、かってに「ハッセ」だと思ってた。

20 :デフォルトの名無しさん:2016/11/20(日) 21:57:40.72 ID:zhAQ+Nfm.net
よく考えたら、Haxe → Java → Kotlin

など、Javaに変換すれば、そこから様々な言語に変換できそうw

21 :デフォルトの名無しさん:2016/11/21(月) 10:45:59.65 ID:Z9LRReIl.net
>>10
DelphiのところにはPrologが入るべき。
BASICは第一世代ではないか。
それからJavascriptとPythonは第三世代。

22 :デフォルトの名無しさん:2016/11/21(月) 13:49:39.00 ID:CfCqFwF8.net
まだまだ伸び続けているという意味ではPythonは第4世代で問題ない。
Javascriptも需要が高まり続けているから第4世代でOK。
Rubyは残念ながら過去の言語となりつつあるから第3世代に置いても良さそう。

23 :デフォルトの名無しさん:2016/11/21(月) 21:46:00.46 ID:q1m1IXb3.net
静的枠:
・Go:ポストJavaの進化形。GC
・Rust:関数型枠。並行処理得意
・Scala:関数型兼Java互換のオブジェクト指向、記述の省力化
・Haskell:ガチの関数型。数学枠
・Haxe:関数型。他の言語に変換できる互換性が強み。

スクリプト枠:
・Erlang:並行処理得意。
・Elixir:Erlangの拡張版。Webが得意

結構住み分け的にバランスとれてんのな。

スクリプト枠:
・Erlang:

24 :デフォルトの名無しさん:2016/11/23(水) 10:47:49.98 ID:DH1nBS+W.net
>>22
今更、Javascriptが伸び続けているなんていえないし。ウェブの時代は終わった。

25 :デフォルトの名無しさん:2016/11/24(木) 00:21:27.40 ID:0bzOqP+y.net
Webの時代って典型的なサーブレットとかLAMPモデルの事
言ってる?
ApacheじゃなくてNGINX
MySQLだけじゃなくてPostgleやNoSQLやRedisみたいな多様なDBがある。
IoTではHTTPが組み込みにまで拡張されるし、
人工知能だってWebと無関係ではない。
JavaScriptの時代は終わり得るかもしれないけどWebの時代が終わるわけ
じゃないよ。

26 :デフォルトの名無しさん:2016/11/24(木) 02:12:37.56 ID:wmLpPjU0.net
haxeはよっぽどのキラーアプリでも出ないと開発リソース的にないと思う。
けっこう古くからあるけど未だに広まる気配は無いしょ

27 :デフォルトの名無しさん:2016/11/24(木) 06:33:27.18 ID:g1cJ7kXy.net
Haxeは大規模開発向きだから、いずれ、TypeScriptを抜くかも?

Haxeには、ブロックスコープ { } がある。
this も正常に、インスタンスを指す

同一・異なる言語間で、ソースコードを文字列化して送っても、型が消えない。
全く同じ処理を、複数言語で作らなくてよい

引数付き Enum
Scalaのようなパターンマッチありの、switch

引数付きEnumは、強力。
Input がEnumとすると、引数の型を変えられるから、
別々のインターフェースを実装しなくていい

switch(input){
case Input.Key(keyCode) : trace(keyCode);
case Input.Click(x, y) : trace([x, y]);
}

28 :デフォルトの名無しさん:2016/11/24(木) 11:41:20.13 ID:hdvNkC/E.net
2年前ならいい勝負をしていたaltJS競争だけどもうHaxeに勝ち目はない
というかTypeScriptの隆盛での勝敗がついた

https://www.google.co.jp/trends/explore?cat=31&q=%2Fm%2F0dbjtf,%2Fm%2F0n50hxv,%2Fm%2F0hjc5m0,%2Fm%2F0h52xr1

29 :デフォルトの名無しさん:2016/11/24(木) 13:03:28.21 ID:0bzOqP+y.net
>>2
何で敬語なわけ?何でこのスレにレスした訳?
丁寧な口調で侮辱されるのが一番腹立つ。

30 :デフォルトの名無しさん:2016/11/25(金) 11:42:23.81 ID:Ds5ZOy/e.net
敬語を探してみたがどこにもなかった

31 :デフォルトの名無しさん:2016/11/26(土) 06:16:37.93 ID:QJATEtRs.net
Go は敬語だった...?

32 :デフォルトの名無しさん:2016/11/26(土) 08:10:45.17 ID:7Iw1TmHS.net
お逝きなさい

33 :デフォルトの名無しさん:2016/11/26(土) 15:51:56.37 ID:GTqt9DX8.net
hexaって10年前にOSS AS3コンパイラとして流行ったヤツかいなと思ったら本当にソレだった
まだ生きてたんだな、この言語

34 :デフォルトの名無しさん:2016/11/26(土) 16:50:22.10 ID:fvd5Kdkk.net
JavaScriptならともかくActionScriptはそのまま書けばよかったと思う

35 :デフォルトの名無しさん:2016/11/27(日) 03:04:35.30 ID:LylNNra/.net
情強はErlangを使う

36 :デフォルトの名無しさん:2016/11/27(日) 05:47:13.16 ID:ZtHaodfN.net
Erlang/Elixir はオブジェクト指向できないのがつらみ

37 :デフォルトの名無しさん:2016/11/28(月) 04:59:37.27 ID:ZvcFWjYe.net
Flash APIと同等の、OpenFLの開発言語は、Haxeで、
ワンソースからクロスプラットフォームに出力できる

各プラットフォームの出力機構を使って、ネイティブコードになるから、
Javaで作ったAndroidアプリよりも、速く動く

38 :デフォルトの名無しさん:2016/11/28(月) 06:47:47.10 ID:padn7mYh.net
速いだけでその言語学ぼうなんて思わないから。
大体近年のパフォーマンスのボトルネックは計算時間じゃなくて
データがただ単に膨大なだけの IO待ちがボトルネックな訳で、
つまりJavaだろうがCだろうがPythonだのの違いなんて体感レベル
には関係ないよ。
その点マルチスレッドや複数のディスクにIO を物理的に分散できる
Erlangは本当に速い。

39 :デフォルトの名無しさん:2016/11/28(月) 14:49:55.71 ID:idbpwLs0.net
一番大事なのは低賃金でプログラマを雇えるかとうかですぜ兄貴

40 :デフォルトの名無しさん:2016/11/28(月) 21:56:07.22 ID:GHhkk0F/.net
>>38
でも型推論無いんでしょう?

41 :デフォルトの名無しさん:2016/11/28(月) 22:49:54.86 ID:hdcKwTEq.net
100のスレッドにIOを分散すると100倍の速度になるのでしょうか。
IOがボトルネックだと自分で言ってるのにw

42 :デフォルトの名無しさん:2016/11/29(火) 00:01:49.78 ID:W5pjxeIa.net
そうだよ、CPUもディスクもバスも複数あるからね。

43 :デフォルトの名無しさん:2016/11/29(火) 01:33:11.25 ID:T2gsp5HS.net
Erlang開発効率が高いけど性能を求めるならErlangは間違い

44 :デフォルトの名無しさん:2016/11/30(水) 01:44:20.70 ID:ZKyAnMFn.net
erlangのボトルネックはerlang自体

45 :デフォルトの名無しさん:2016/11/30(水) 03:47:07.04 ID:tfyAgmME.net
erolang

46 :デフォルトの名無しさん:2016/11/30(水) 10:07:42.12 ID:QrNzcyxl.net
notChild = condom(chinko) -> manko

47 :デフォルトの名無しさん:2016/11/30(水) 18:26:34.04 ID:8wpifVGr.net
>>40
Prologには型概念がないけれど、Erlangに型はありますね。型推論は知らないけれど。

48 :デフォルトの名無しさん:2016/11/30(水) 19:47:35.26 ID:OW21XJk/.net
>>47
>>40には型推論ってハッキリ書いてるけど

49 :デフォルトの名無しさん:2016/11/30(水) 23:01:01.11 ID:QrNzcyxl.net
>>48
でも型推論無いんでしょう?

50 :デフォルトの名無しさん:2016/12/01(木) 06:40:02.77 ID:6Ua6SiVz.net
ところでclojureはいかんの?

51 :デフォルトの名無しさん:2016/12/01(木) 07:01:04.97 ID:q2hojMc7.net
>>49
Prologの推論機能は捨ててしまいました。

52 :デフォルトの名無しさん:2016/12/01(木) 10:18:36.28 ID:isdetJjt.net
推論自体が実行時の動作のPrologとコンパイル時の型推論とは別のものじゃ

53 :デフォルトの名無しさん:2016/12/01(木) 16:29:33.44 ID:mgNdczCi.net
考えてみれば既存のメジャー言語の株を奪うのって容易じゃないよな
コンパイラ、クロスプラットフォームシステム、IDE、パッケインスト管理、
既存ライブラリ、環境自動化システム、Webフレームワーク、DBフレーム
ワーク、非同期処理用ライブラリ、単純に構文覚えるのがめんどくさい

既存言語が築き上げた障壁がぶ厚すぎるぜ…

54 :デフォルトの名無しさん:2016/12/01(木) 16:47:42.43 ID:OWujHEiH.net
前方面で戦う必要はない
一点突破してよいサイクルが出来たら充実していけばいい

55 :デフォルトの名無しさん:2016/12/01(木) 18:15:59.70 ID:aVqOQbdr.net
普及を考えるのなら、どんな問題を解決するのかの方がよっぽど大事。
PHPとかHSPとかですら流行ったからな。

56 :デフォルトの名無しさん:2016/12/01(木) 19:21:45.02 ID:5qk2sqQ8.net
>>52
これなんかは? http://qiita.com/h_sakurai/items/717dad7d25bac18d40ab

57 :デフォルトの名無しさん:2016/12/01(木) 21:30:19.62 ID:XF2FB4o/.net
>>55
悪貨は良貨を駆逐するといってだな

58 :デフォルトの名無しさん:2016/12/01(木) 23:06:04.88 ID:mgNdczCi.net
というかJavaScriptに対抗するプロトタイプ指向の言語ってないの?
ErlangとかElixirってどんな感じなん、HTML埋め込みとかjQueryみたいな
ajax的な機能とか持ってるん?

59 :デフォルトの名無しさん:2016/12/01(木) 23:23:42.82 ID:XF2FB4o/.net
プロトタイプ指向とかただの糞やん
ES5以降じゃ見捨てられたし

60 :デフォルトの名無しさん:2016/12/02(金) 01:07:32.69 ID:pKSfy0xc.net
プログラミングElixir、2016

Ruby界隈から、名著が出た。
著者は「プログラミングRuby」のDave Thomas

関数型言語Elixirは、Ruby + Rails + ErlangVM で、並行処理が得意

61 :デフォルトの名無しさん:2016/12/02(金) 21:54:13.04 ID:/62N2Ze8.net
>>59 その糞がいまかなり人気なんですが…

62 :デフォルトの名無しさん:2016/12/02(金) 22:25:51.30 ID:m+3RpHqs.net
Kotlinをスレタイからハブるなんてとんでもないだろ

63 :デフォルトの名無しさん:2016/12/02(金) 22:46:48.09 ID:8JZv7iKy.net
Dart, Boo, Cobra, Genie, Groovy, Nemerl, Vala …… (´;ω;`)

64 :デフォルトの名無しさん:2016/12/02(金) 23:12:33.09 ID:+/BurYJT.net
>>61
どこ情報?
ワイのなかで今人気なのは関数型(Scala)やで

65 :デフォルトの名無しさん:2016/12/02(金) 23:17:19.52 ID:gT4xVOuK.net
純粋関数型以外は関数型とは認めません

66 :デフォルトの名無しさん:2016/12/02(金) 23:36:23.76 ID:+/BurYJT.net
>>65
おはスケル
ちょっと文法が難しすぎんのよ〜

67 :デフォルトの名無しさん:2016/12/03(土) 08:40:53.91 ID:KTQmXTV9.net
>>1
ちょっと待って!? 岡村さんが入ってないとかこれマジ?

68 :デフォルトの名無しさん:2016/12/03(土) 19:06:36.75 ID:hHkjqHSd.net
haskell は文法簡潔だろ

69 :デフォルトの名無しさん:2016/12/03(土) 20:03:28.66 ID:uGz1+3L0.net
>>68
あんな実行順序のよくわからんもの使えるか

70 :デフォルトの名無しさん:2016/12/03(土) 20:30:41.97 ID:Y9I90W1E.net
ハスケル実サービスで使ってるとこなんて皆無だろ
Javaの資産使えるScalaがやN1だと思うわ

71 :デフォルトの名無しさん:2016/12/03(土) 20:38:44.60 ID:Y9I90W1E.net
Javaの資産使いつつ関数型できるScalaがやN1だと思うわ

72 :デフォルトの名無しさん:2016/12/03(土) 22:52:14.69 ID:MCWCirTG.net
Clojureがナンバーワン!!

73 :デフォルトの名無しさん:2016/12/04(日) 03:21:07.46 ID:QXL9G2QO.net
ゲハ臭がしてきたな

74 :デフォルトの名無しさん:2016/12/04(日) 10:43:14.55 ID:ijuOYWzP.net
>>70
まあ個人が趣味でやるようなもんじゃないかもな。
金融サービスとか文献・ステートメント解析ではよく使うが。

75 :デフォルトの名無しさん:2016/12/04(日) 10:48:44.88 ID:q5ZWXjRo.net
厳格な定義を好む開発者が多い分野では今後Haskellが伸びると思う。

76 :デフォルトの名無しさん:2016/12/04(日) 12:26:15.93 ID:dWip5QS2.net
日本トップのHaskellerが
競技プログラムの問題解くのにC++使ってたのを見て
Haskellは趣味の言語だと見限ったわ来がないこ

77 :デフォルトの名無しさん:2016/12/04(日) 14:04:30.04 ID:iVFW+LnC.net
堅く書くことが目的なんであって
早く書くことが目的じゃねいんじゃねーのハケルス
ワオScalaラバーズだけどコーディングサイトで解くときはPython使うし
コンパイルなんかしてられんもん

78 :デフォルトの名無しさん:2016/12/06(火) 15:56:58.63 ID:GwUkD2Q0.net
>>59
駆逐されたならプロトコル指向は良貨じゃん

79 :デフォルトの名無しさん:2016/12/06(火) 16:41:32.53 ID:K0FvZgpo.net
論理学の初歩からやり直せ

80 :デフォルトの名無しさん:2016/12/06(火) 23:37:42.05 ID:ZdJwFyPe.net
なあ、ディープラーニングってゴルフと同じだよな?
ゴルフと全く同じだってきずいたんだよ。
そう考えるとそれほど難しくないな。

81 :デフォルトの名無しさん:2016/12/06(火) 23:42:07.03 ID:r0hSL9Mg.net
どの辺がゴルフなのさ?

82 :デフォルトの名無しさん:2016/12/07(水) 09:19:46.65 ID:5VwP5aCe.net
まずは道具を揃えろってことか。

83 :デフォルトの名無しさん:2016/12/07(水) 09:28:58.83 ID:WkIilmtL.net
球が転がり落ちていく様子がAdaと似てるとか?

84 :デフォルトの名無しさん:2016/12/07(水) 10:28:23.50 ID:1xQzW6oG.net
おそれず、あなどらず

85 :デフォルトの名無しさん:2016/12/07(水) 10:29:05.90 ID:1xQzW6oG.net
大敵と見て恐れず小敵と見て侮らず

86 :デフォルトの名無しさん:2016/12/07(水) 17:02:19.47 ID:MY/cuqD+.net





87 :デフォルトの名無しさん:2016/12/07(水) 17:39:03.12 ID:5VwP5aCe.net





88 :デフォルトの名無しさん:2016/12/10(土) 23:09:36.92 ID:SCCkpZrN.net
スカラは頭一つ優位なイメージだな。

89 :デフォルトの名無しさん:2016/12/11(日) 01:46:41.69 ID:ZTpNN/gU.net
学習コストの高さ(特にあのメチャクチャな記号)とJava8の逆襲で、逆にオワコン気味なイメージだわ>スカラ

90 :デフォルトの名無しさん:2016/12/11(日) 02:06:42.58 ID:pm6ghExK.net
>>89
じゃあ、ハジコンは何ですか?

91 :デフォルトの名無しさん:2016/12/11(日) 06:36:59.90 ID:hiiS8aXy.net
AltJavaでは、静的言語の順に、Scala, Kotlin, Groovyがあるけど、

Scalaは他よりも、少し難しい

92 :デフォルトの名無しさん:2016/12/11(日) 09:54:34.34 ID:ZTpNN/gU.net
>>90
PHP7やろなぁ

93 :デフォルトの名無しさん:2016/12/11(日) 11:10:26.18 ID:f0tlS9W7.net
難しいのではなく経験が活かしにくいだけ
初めからScalaを学ぶなら他の言語と学習コストは変わらん

94 :デフォルトの名無しさん:2016/12/11(日) 11:25:13.90 ID:ZTpNN/gU.net
>>91
難しい上にコンパイル速度も糞遅いし
それに見合う対価は得られるのだろうか?っていう

95 :デフォルトの名無しさん:2016/12/11(日) 13:18:45.79 ID:givNk4mN.net
Scalaは日本では絶対に流行らない
なぜなら人を集められないことを見越したSIerがプロジェクトに採用しないからだ

96 :デフォルトの名無しさん:2016/12/11(日) 13:53:11.63 ID:ZTpNN/gU.net
某チャットの会社も失敗したらしいしなぁ

97 :デフォルトの名無しさん:2016/12/11(日) 16:41:42.81 ID:pm6ghExK.net
ScalaってJava系というよりJavaScriptに近い気がするけど違うの?

98 :デフォルトの名無しさん:2016/12/11(日) 16:57:53.44 ID:xRu9Q2yy.net
>>97
少し触った感じではぜんぜん違う。JVMで動いてるだけでJavaともぜんぜん違う。

99 :デフォルトの名無しさん:2016/12/11(日) 18:39:15.03 ID:yIoYPFKI.net
Haskellはwindowsのサポート弱すぎ

100 :デフォルトの名無しさん:2016/12/11(日) 19:28:34.84 ID:XLAOeW6t.net
SIだったら言語はCOBOLかJavaだけでしょう
場合によってはC/C++

それ以外は(例えばJP1/Scriptのような運用系の人が使うようなものを除いて)
使っているのを見たことがない

人を集められるか以前に
どこの馬の骨だかわからないようなオープンソースの実装を使うわけにはいかないでしょう

101 :デフォルトの名無しさん:2016/12/11(日) 19:35:13.71 ID:ZTpNN/gU.net
ガラパゴスジャップランド土人のSIなんて話題に出すな
汚らわしい

102 :デフォルトの名無しさん:2016/12/11(日) 19:55:18.62 ID:wc7LxWrn.net
オープンソース否定してる人ってオープンソースのコードよりマシなコード書ける人集められるつもりなんだろうか?

103 :デフォルトの名無しさん:2016/12/11(日) 20:11:04.48 ID:UUDzf3sv.net
オープンソースは責任の所在やサポート問題が宙ぶらりんだからな。
使うとしてもRed Hatのような支援体制の整ったものでしょう。

104 :デフォルトの名無しさん:2016/12/11(日) 20:25:02.05 ID:yIoYPFKI.net
下請けって責任取るためにいるんだなあ

105 :デフォルトの名無しさん:2016/12/11(日) 20:57:34.20 ID:pm6ghExK.net
一生Javaでエンプラ系作ってろ
企業のために覚えるわけじゃあるまいし、俺はScala覚えるよ
SIlerとか下請けとか心底どうでもいいし

106 :デフォルトの名無しさん:2016/12/11(日) 21:58:58.64 ID:XLAOeW6t.net
オープンソースというのは自己責任の限界があるということ
オープンソースの開発にかかわっているのは日本人以外が多い
中国やロシアもかなりの割合だ

日本を代表するようなインフラにそういった素性のものを活用すべきだろうか?
日本の平和を維持するために他国の技術をどこまで利用するべきだろうか?

わざわざ自社でCOBOLやGitもどき、SIツールもどきを作っているのは
なにもガラパゴス色を出したいだけじゃない

ハードウェアは中国と手を組み、オフショアも盛んに行っているかもしれないが
決して譲れない部分もある

107 :デフォルトの名無しさん:2016/12/11(日) 22:03:26.11 ID:ZTpNN/gU.net
決して譲れない部分(納期とメンツ)

108 :デフォルトの名無しさん:2016/12/11(日) 22:15:29.66 ID:xRu9Q2yy.net
>>106
日本人以外が作ったOSSを使うことにはリスクがあるから使わないというのがSIerの意見なのかな?

109 :デフォルトの名無しさん:2016/12/11(日) 22:37:29.72 ID:ZTpNN/gU.net
SIerが書いたソースが一番のリスクという真実

万里あるやろ?

110 :デフォルトの名無しさん:2016/12/11(日) 23:58:53.09 ID:Cg3P+2IZ.net
>>103
サーバをredhat系にしてパッケージ少ないから結局サードパーティのリポジトリ追加したりして何だかなぁってよく思う。

111 :デフォルトの名無しさん:2016/12/12(月) 03:39:38.71 ID:5lmNURKr.net
>>107
日本の企業ってほんとつまらんメンツにこだわるよな
カスみたいなもんなのに

112 :デフォルトの名無しさん:2016/12/12(月) 04:47:30.38 ID:SVFks7Ub.net
Scalaなんか覚えて何を作るんだと思う一方で、
OSSは他国の技術でもあるから日本で使うべきじゃないとかいう変な思想も、お上や大企業臭くて嫌悪する

113 :デフォルトの名無しさん:2016/12/12(月) 08:35:50.39 ID:SW2srtAl.net
Haskellめっちゃ好きなんだけどパッケージ周りが糞すぎ
代数的データ型とかHaskellっぽくかける言語って何がある?

114 :デフォルトの名無しさん:2016/12/12(月) 09:45:14.01 ID:dG+hv8AD.net
>>113
そんな事も自力で調べられない検索力で
マイナー言語を学ぼうとか頭悪そう

115 :デフォルトの名無しさん:2016/12/12(月) 10:00:13.74 ID:d2bpb6Pd.net
F#おすすめ

116 :デフォルトの名無しさん:2016/12/12(月) 10:21:13.92 ID:eXQ8bj54.net
Haskellって日本ではC++から現実逃避した連中の吹き溜まりだよね
将棋ソフトの大会にHaskell使用者が0名だったのは笑わせて貰った
C++並の速度が出せるとかいう虚勢はどこに行ったんだか

117 :デフォルトの名無しさん:2016/12/12(月) 10:50:49.02 ID:URLATzKi.net
CのほうがC++より速いわけだが

118 :デフォルトの名無しさん:2016/12/12(月) 11:37:29.60 ID:SW2srtAl.net
C++からなんか逃げたいに決まってるだろ
S/N比悪すぎ

119 :デフォルトの名無しさん:2016/12/12(月) 12:00:11.17 ID:SW2srtAl.net
>>115
型の定義と共に継承するインターフェースの実装も書かなくていけなくて、見た目悪いイメージあるんだけど、案外慣れるもん?

120 :デフォルトの名無しさん:2016/12/12(月) 12:09:54.92 ID:wAsQV1H6.net
>>118
逃げたいけど逃げる先が今の所無いという現実か

121 :デフォルトの名無しさん:2016/12/12(月) 12:30:21.74 ID:URLATzKi.net
objective-cがある

122 :デフォルトの名無しさん:2016/12/12(月) 14:41:52.06 ID:tdNqUxnO.net
julia

123 :デフォルトの名無しさん:2016/12/12(月) 14:48:01.25 ID:GIqpZSIx.net
>>117
速かったり遅かったりだけどC++の方が最適化が効きやすい印象

124 :デフォルトの名無しさん:2016/12/12(月) 14:51:06.22 ID:DhBCg1f9.net
まあこれからはpythonよね。
変なテクニック使わなくても短く書けるから生産性が段違い。
実行速度の言語とコーディング速度の言語での棲み分けが進むでしょう。

125 :デフォルトの名無しさん:2016/12/12(月) 15:42:03.13 ID:URLATzKi.net
結局、同じ中間コードに変換されるから最適化は同じだよ
オーバーヘッドがないC言語のほうが早いよ
最近ではスマートポインターとかいうやつ使うから
さらに速度は低下してる

126 :デフォルトの名無しさん:2016/12/12(月) 16:08:34.94 ID:GIqpZSIx.net
>>125
> 同じ中間コードに変換されるから最適化は同じ
> オーバーヘッドがないC言語のほうが早い

俺の知らない処理系ではそうなのかもしれないから出鱈目とは言わないが
すくなくてもgcc/g++やclang/clang++は当てはまらないな

127 :デフォルトの名無しさん:2016/12/12(月) 16:29:10.20 ID:URLATzKi.net
clang++とgcc++はただのフロントエンドから、
最適化は同じバイトコードに変換されたあとだから
同じだよ

128 :デフォルトの名無しさん:2016/12/12(月) 18:02:40.89 ID:GIqpZSIx.net
CならCの、C++ならC++なりのコードを書くから全く同じバイトコードになることはまず無いし
それらの違いが最適化に影響するのは当然のことなんだけどな

129 :デフォルトの名無しさん:2016/12/13(火) 00:02:25.09 ID:wm86+Ixr.net
昔はCのqsortよりC++のstd::sortの方が最適化が効きやすくて速かったんだけど最近は同じになったん?

130 :デフォルトの名無しさん:2016/12/13(火) 00:11:23.71 ID:E8ACHl16.net
つかC++やJavaはまだいいとしてCOBOLとか正気で言っているとは
思えないな。

つか >>1 のスレタイの言語の抜擢基準は何なんだ?
一般的な承認を得ているのか?

131 :デフォルトの名無しさん:2016/12/13(火) 00:21:40.67 ID:QKhZWs7J.net
Scala最強はい終わり
ペチパーやコボラーは早く首吊って死ね

132 :デフォルトの名無しさん:2016/12/13(火) 01:50:20.71 ID:ts6Fg0hq.net
COBOLの代替は見つからないんだし
次世代でも生き残る可能性は高いと思うよ
バッチがなくなることはないだろ?
プリミティブなものってなかなかなくならないもんだよ
COBOLを言語だと思うから古臭く感じるだけ

133 :デフォルトの名無しさん:2016/12/13(火) 08:33:50.37 ID:BMnwgeAA.net
オブジェクト志向と関数型のハイブリッド系ってオブジェクト志向的なメソッドと関数型的な関数をどう使い分ければいいのかよくわからん

134 :デフォルトの名無しさん:2016/12/13(火) 09:19:21.40 ID:2oGa6DNb.net
https://chrome.google.com/webstore/detail/%E3%81%AF%E3%81%A6%E3%81%AAng/mbgdnfmdelffjdhkdggilmphfdihnmcj?hl=ja

135 :デフォルトの名無しさん:2016/12/14(水) 23:53:46.75 ID:Wj/eE5z1.net
ぶっちゃけJavaって使いづらいし、案件もJava使うのってスマホアプリ系じゃなければIT土方(何でもいいから人数集めろ)系ばかりだ。
早く他の言語広まってほしい

136 :デフォルトの名無しさん:2016/12/15(木) 00:06:15.32 ID:TY3h+L6y.net
Delphiは良かったのになぜ.NETにしたのか(ちなみに同じ開発者)
ていうかJavaとC++のせいらしいが(C++はバッファオーバーラン問題で移行させるも似てないとやだって話)
Javaは無料だからかな?
Javaもそれ真似した.NETも、それ以前のWin系に比べてオープン系とは言い難いような
たくさんコンポーネント用意するかわりに、単一環境に閉じようとしてるので、クローズ系と言いたい感じ

137 :デフォルトの名無しさん:2016/12/15(木) 00:48:52.70 ID:GBhksizf.net
>>135
広まった言語が次のIT土方系言語になるだけだそ

138 :デフォルトの名無しさん:2016/12/15(木) 00:52:57.14 ID:TeVpWuQ6.net
rustを勉強しとくと何かいいことある?

139 :デフォルトの名無しさん:2016/12/15(木) 01:03:02.46 ID:9iWeiPqy.net
Delphiはよかったな
でもVB6と比べて.NETがかなり高速だし
ネイティブはつらいんじゃないか?

常識的に考えるとネイティブのほうが遅いって信じられんが

140 :デフォルトの名無しさん:2016/12/15(木) 01:15:05.88 ID:ryYHdhLD.net
効率悪いコードならネイティブでも遅いってだけだろ

141 :デフォルトの名無しさん:2016/12/15(木) 02:14:01.63 ID:GBhksizf.net
C/C++は英語みたいなもんだな。
ある程度は読めないと
吸収出来る知識の幅が大きく狭まる。

特にマイナー言語なんてサンプルコードも落ちてないのがザラだから
C++で書かれたコードを自力で翻訳するのが基本の勉強法になるし。

142 :デフォルトの名無しさん:2016/12/15(木) 07:58:52.62 ID:f53xuNGE.net
関数型だとそのポジションはhaskellだな
関数型の説明はどこもhaskellのサンプルばっかり
haskellは覚える気なかったのに

143 :デフォルトの名無しさん:2016/12/15(木) 10:15:13.90 ID:TY3h+L6y.net
DelphiはC++のノウハウが直訳で使えたのもよかった

144 :デフォルトの名無しさん:2016/12/15(木) 12:25:25.65 ID:7KRIzock.net
https://chrome.google.com/webstore/detail/%E3%81%AF%E3%81%A6%E3%81%AAng/mbgdnfmdelffjdhkdggilmphfdihnmcj?hl=ja

145 :デフォルトの名無しさん:2016/12/15(木) 12:36:19.06 ID:jYtTego3.net
>>135
ほんそれ

>>137
集まる人は変わらない

>>136
>Javaは無料だからかな?
企業はそんなセコい理由で選ばない

146 :デフォルトの名無しさん:2016/12/15(木) 14:17:59.22 ID:TY3h+L6y.net
>>145
企業じゃなくて、大学とか
習得人口が多ければ企業も自然とそうなるんじゃないかと

147 :デフォルトの名無しさん:2016/12/15(木) 14:38:29.35 ID:45UipUv6.net
機械学習を凌いで中二が集まるスレ

148 :デフォルトの名無しさん:2016/12/15(木) 20:52:29.09 ID:9iWeiPqy.net
とはいえ中小企業にOracle契約してよとか、グレープシティ買ってよといっても
出し渋るわけで、無料なのはある程度大事じゃないか?

149 :デフォルトの名無しさん:2016/12/15(木) 23:05:50.52 ID:tdNKFUea.net
来年は、Ceylon でも触ってみるか

150 :デフォルトの名無しさん:2016/12/16(金) 18:34:54.52 ID:BRSJ0aiG.net
F#どうなん?

151 :デフォルトの名無しさん:2016/12/16(金) 18:35:06.82 ID:UN7/R1CA.net
頭の体操用: Haskell Ruby Scala
実用: C/C++ Python JavaScript C#
土方、Slerの奴隷用: Java COBOL PHP

152 :デフォルトの名無しさん:2016/12/16(金) 22:07:31.70 ID:1qE67r3j.net
Lispはもういらない子なの?

153 :デフォルトの名無しさん:2016/12/16(金) 22:17:47.23 ID:kbc66K65.net
Clojure好き

154 :デフォルトの名無しさん:2016/12/16(金) 22:49:40.41 ID:Rf32SvPx.net
>>151がScalaのステマ

155 :デフォルトの名無しさん:2016/12/17(土) 00:12:22.45 ID:YI3ufh9D.net
2017年からSmalltalkに(再)挑戦したい人へ
http://phaendal.hatenablog.com/entry/2016/12/14/230422

156 :デフォルトの名無しさん:2016/12/17(土) 00:19:02.63 ID:I1a9emLd.net
Smalltalkが再挑戦しろ

157 :デフォルトの名無しさん:2016/12/17(土) 00:58:27.79 ID:lu7YUydK.net
AltJavaでは、Scala以外に、Kotlin, Groovy があるから。

それと、Ruby, Haxe をやれば、たいていの事はできる

158 :デフォルトの名無しさん:2016/12/17(土) 01:10:19.67 ID:HUzLix+O.net
それただの器用貧乏ですやん

159 :デフォルトの名無しさん:2016/12/17(土) 01:30:49.89 ID:HUzLix+O.net
たいていの事はできる(たいした事はできない)

160 :デフォルトの名無しさん:2016/12/17(土) 01:58:04.72 ID:tizNM2+U.net
プログラマーなら普通は複数の言語を身に付けているし、
それを器用貧乏と評するのは意味がわからん

161 :デフォルトの名無しさん:2016/12/17(土) 03:00:01.83 ID:snvYzUCe.net
AltJavaだけで三つも四つも憶えるのは効率悪い
更にそれ以外がRubyとHaxeという選択は筋が悪い

162 :デフォルトの名無しさん:2016/12/17(土) 06:00:32.59 ID:lu7YUydK.net
JSは、Haxeで、
Javaは、Groovyで、
Androidは、Kotlinで、
シェルスクリプトは、Rubyでやる

他には、Electron

163 :デフォルトの名無しさん:2016/12/17(土) 07:23:16.03 ID:MJ/TQYFY.net
swiftは次世代言語ですか?

164 :デフォルトの名無しさん:2016/12/17(土) 08:13:52.21 ID:bYUfwITN.net
>>155
良い

165 :デフォルトの名無しさん:2016/12/17(土) 08:54:47.18 ID:u0MCFX41.net
smalltalkってゴミだな

166 :デフォルトの名無しさん:2016/12/17(土) 09:09:48.13 ID:lTxyqRlM.net
ひねった言語に逃げなくても
C++とHaskellだけ学べば他の言語は応用効くでしょ。

「C++余裕だけどJava難しい」とか
「Haskellから来たけどScala挫折しました」
とか聞いた事ないし。

167 :デフォルトの名無しさん:2016/12/17(土) 09:32:05.96 ID:SZHJDyPT.net
>>166
C++はわりと出来るけどCOBOLは挫折する(やる前から)

168 :デフォルトの名無しさん:2016/12/17(土) 10:26:56.52 ID:HUzLix+O.net
>>166
C++難しい
Haskell挫折しました

169 :デフォルトの名無しさん:2016/12/17(土) 10:34:17.41 ID:I1a9emLd.net
HaskellはWindowsで厄介

170 :デフォルトの名無しさん:2016/12/17(土) 11:45:18.62 ID:eluHTQQy.net
そういう話なら論理型言語代表の Prolog も入れてあげて。
手続き型とも関数型とも違う世界でやってる言語だから、教養としては重要だよ。

171 :デフォルトの名無しさん:2016/12/17(土) 12:24:58.17 ID:0gKLg1TK.net
>>170
Prologっていわゆる業務系みたいなアプリ作れるの?ウェブアプリとか。できなくはないんだろうけど実績とかあるのかな。アカデミックな領域がメイン?

172 :デフォルトの名無しさん:2016/12/17(土) 15:17:46.57 ID:ViZRp8Ek.net
煽る訳じゃないけど
Prologが代表って時点でもう
論理型言語そのものが終わってない?

173 :デフォルトの名無しさん:2016/12/17(土) 15:37:46.78 ID:cI2MiRpF.net
むしろ今からじゃないの
AI隆盛になって自然言語処理とかもさらに活発化するだろうし
ただの知ったかだけどさ

174 :デフォルトの名無しさん:2016/12/17(土) 16:13:23.71 ID:2Jm0iG/u.net
機能もろくに差別化されていないのに文字コードのように
覇権争いになるのは勘弁願いたい
個人的に「○○言語の拡張」みたいな感じで似たような
言語は乱発してほしくない。
新言語学ぶなら唯一無二の機能が欲しいな。
描きやすさを追求した言語ならPythonは凌駕してほしいところ
今のところ俺の中でPythonがダントツ

175 :デフォルトの名無しさん:2016/12/17(土) 16:28:09.78 ID:HUzLix+O.net
中途半端なOOPで腐ったPythonのどこがええんや
糞や

176 :デフォルトの名無しさん:2016/12/17(土) 16:32:05.33 ID:EjoxwQPp.net
いわゆるLL言語でオブジェクト指向がうまくいってる言語ってなくね?Rubyぐらい?

177 :デフォルトの名無しさん:2016/12/17(土) 17:23:09.78 ID:0gKLg1TK.net
>>176
OOPってオブジェクトが定義できて継承とポリモーフィズムあれば十分じゃない?
どのLLでも手段は提供されてるからあとは使い手の腕次第だと思うけど。

178 :デフォルトの名無しさん:2016/12/17(土) 17:26:32.03 ID:HUzLix+O.net
使い手の腕次第(笑)
で、どっかの「PHP7で堅牢なコードを書く」みたいに
車輪の劣化再発明を繰り返すのか
LLの連中って頭までLだよな

179 :デフォルトの名無しさん:2016/12/17(土) 17:35:18.54 ID:u0MCFX41.net
オブジェクト指向と堅牢なコードになんの関係があるの?

180 :デフォルトの名無しさん:2016/12/17(土) 17:55:16.63 ID:HUzLix+O.net
使い手の腕次第とかいって目的と手段をはき違えてるバカに言ってんだよターコ

181 :デフォルトの名無しさん:2016/12/17(土) 18:01:38.13 ID:u0MCFX41.net
お前、C++難しくてHaskell挫折してPythonもダメって言ってんじゃねーか

性能も追及できず理想に準じることも出来ず実用性で妥協も出来ないなら
お前の気にいる言語なんてねーよw

182 :デフォルトの名無しさん:2016/12/17(土) 18:30:21.42 ID:2Jm0iG/u.net
Pythonはモジュール作るのも他人の既存のモジュールを解析するのも
簡単、以上。
必要以上にオブジェクト指向である必要がない。
よくわからないものをブラックボックスのままとりあえず参照
って使い方じゃなくて、ざっとモジュール読んで、
モジュール書いて、必要なものだけインポートして使える。
あんま継承は使わないし、既存のものを丸ごとコピッて
要らないとこ削って使えるくらいimportの構文がシンプル。

183 :デフォルトの名無しさん:2016/12/17(土) 18:33:42.34 ID:yLbp/UkZ.net
競技プログラミング系のサイトだと
Pythonの回答はえらい短い事が多いよね。
その点に関しては右に出る言語はなさそう。

184 :デフォルトの名無しさん:2016/12/17(土) 18:44:11.39 ID:b79E6Pux.net
>>182
土方言語として優れた特質だな。

185 :デフォルトの名無しさん:2016/12/17(土) 18:54:36.05 ID:HUzLix+O.net
土方ならJava7以下かPHPだろ

186 :デフォルトの名無しさん:2016/12/17(土) 21:52:35.83 ID:zhH9hqJS.net
本屋行ったらpython本が増殖してた。

187 :デフォルトの名無しさん:2016/12/17(土) 22:01:00.84 ID:0gKLg1TK.net
>>180
だからどの言語も一般的な機能は備えてるんだからあとは使い方次第ってこと。言語は手段で道具なんだからあとはどう使うかだけでしょ。Pythonできれいなコード書けるけどPHPだと書けませんって人はいないよ。どっちも汚いかどっちも綺麗かだけ。

188 :デフォルトの名無しさん:2016/12/17(土) 22:01:29.61 ID:0gKLg1TK.net
>>186
機械学習が流行ってるからね。

189 :デフォルトの名無しさん:2016/12/17(土) 22:27:22.02 ID:2Jm0iG/u.net
でもJavaScriptだけは汚いイメージが払拭できない

190 :デフォルトの名無しさん:2016/12/17(土) 22:46:09.48 ID:K7bSiR2D.net
ねえねえrustはどうなのみんな

191 :デフォルトの名無しさん:2016/12/17(土) 22:53:03.85 ID:EjoxwQPp.net
Pythonも入門書ばかりでその上をあまり見かけないね
C++やJavaはその辺が厚いんだが・・・
近所の本屋の売れ行きの都合かもしれんが何かいい本あるか?

192 :デフォルトの名無しさん:2016/12/18(日) 00:26:42.84 ID:aCKcGLhu.net
Python, JS には、ブロックスコープが無い

だから、Ruby, Haxe が堅牢

193 :デフォルトの名無しさん:2016/12/18(日) 00:44:36.30 ID:KFsMSIdd.net
Haxeってすごいんだね
ディズニーやトヨタやBBSやコカコーラが使ってるらしい

Haxe - Wikipedia
https://en.wikipedia.org/wiki/Haxe

194 :デフォルトの名無しさん:2016/12/18(日) 00:56:16.48 ID:v8zNK0rs.net
Haxeでググルとtypescriptを勧められる始末


TypeScript最強伝説

195 :デフォルトの名無しさん:2016/12/18(日) 01:49:18.31 ID:5HKYrKlu.net
10億人流出の米国ヤフーは何の言語使ってるのかな〜と思ったら
https://en.m.wikipedia.org/wiki/Programming_languages_used_in_most_popular_websites
まさかのPHP一本足打法・・・

196 :デフォルトの名無しさん:2016/12/18(日) 02:03:38.29 ID:sPLdNIEi.net
>>192
つ let

197 :デフォルトの名無しさん:2016/12/18(日) 02:23:43.04 ID:v8zNK0rs.net
>>195
アホーゴミ過ぎワロタ

198 :デフォルトの名無しさん:2016/12/18(日) 12:34:24.22 ID:8F2gNr16.net
Clojureが相手にされてないのは寂しい

199 :デフォルトの名無しさん:2016/12/18(日) 15:21:13.61 ID:1DW+/DGy.net
なんで関数型やりたがる人ってClojureやF#すっ飛ばしてHaskellやりたがるん?
ただただ手間じゃねアレ

200 :デフォルトの名無しさん:2016/12/18(日) 15:48:06.84 ID:5HKYrKlu.net
参考文献や日本語の解説が充実しているから。

201 :デフォルトの名無しさん:2016/12/18(日) 16:30:19.60 ID:8F2gNr16.net
Lispは神の言語だけどHaskellみたいなデータ型がないのが頂けない

202 :デフォルトの名無しさん:2016/12/18(日) 16:31:55.95 ID:v8zNK0rs.net
LispってFortranとかCOBOLの仲間だろ
完全に死んだ老害言語

203 :デフォルトの名無しさん:2016/12/18(日) 17:12:01.68 ID:lPdYfHUm.net
>>202
またまたご冗談をwww

204 :デフォルトの名無しさん:2016/12/18(日) 18:13:50.19 ID:v8zNK0rs.net
Lispのプロダクトなんて聞いたことない
ないよね?

205 :デフォルトの名無しさん:2016/12/18(日) 18:20:44.14 ID:+J9lZQEn.net
クラッシュバンディクー(震え声)

206 :デフォルトの名無しさん:2016/12/18(日) 20:19:13.32 ID:kFQZgr3z.net
Lispをバカにするのは自分のアンテナの低さを露呈するもんだな

207 :デフォルトの名無しさん:2016/12/18(日) 21:22:59.82 ID:+J9lZQEn.net
でも正直common lispとかschemeの関数名の雑然とした感じ嫌い

208 :デフォルトの名無しさん:2016/12/18(日) 21:55:11.61 ID:XOBRXwmr.net
COBOLは老外
FORTRANは科学者の中で現役
LISPはなんていうかプログラミング言語のメタを行く存在
プロダクトが聞いたことが無いのはLISPはインスタンスではなくて、
その上の抽象的な存在だから。Haskellもそういった類だね。

209 :デフォルトの名無しさん:2016/12/18(日) 23:17:04.06 ID:v8zNK0rs.net
Haskell haskell = new Lisp(Haskell.class);

こうですか?わかりません><;;;;

210 :デフォルトの名無しさん:2016/12/18(日) 23:28:49.90 ID:XOBRXwmr.net
んーとね、ポケモンに「メタモン」っているだろ?
LISPもメタモンなんだよ

211 :デフォルトの名無しさん:2016/12/18(日) 23:29:55.38 ID:BnvcAWRa.net
COBOLも現役だぞ
銀行以外でもまだまだ使われてる
計算メインだとああなっちゃうよ
画面制御なんかはCOBOLでやりたいとは思わんが
金勘定ならむしろ楽だよ

212 :デフォルトの名無しさん:2016/12/19(月) 03:32:43.92 ID:x/DzWopZ.net
現役の定義を
新規の案件で採用される事と定義すると
COBOLは現役引退近い状況でしょう。

まあスレで語られているのは
一度も現役になった事のない言語が大半だけどね。
(例えばHaskellは現時点では新規も保守も需要がない)

213 :デフォルトの名無しさん:2016/12/19(月) 21:35:37.92 ID:q+GbM0Hb.net
>>209
型とインスタンスが逆じゃね?

214 :デフォルトの名無しさん:2016/12/21(水) 01:09:09.16 ID:NlXO0i2+.net
アレだろ清純とビッチどっちが抜けるかって議論を始めるに当たって
とりあえず清純の頂点として性知識一切なしの女の子定義しましたってのがHaskellだろ?
「それ抜けるじゃん!」ってなった奴がHaskellラー

215 :デフォルトの名無しさん:2016/12/21(水) 06:35:26.81 ID:Fv4yEKAo.net
Lispはどんな女の子なの?

216 :デフォルトの名無しさん:2016/12/21(水) 11:19:26.79 ID:pQngWRnW.net
Lispは服(構文)を着ない野生児的な女の子(ちなみに生まれた頃は比較的普通の服を着ていた=M式)
ただこれで意外と育ちは良くて(ANSI)、教養(仕様)もしかっりしている
マクロという裁縫術を心得ていて、必要な服をいつでも作って着分けることができる

217 :デフォルトの名無しさん:2016/12/21(水) 19:44:11.45 ID:DAWAuc9g.net
LISP(の方言)は不滅じゃね?emacsの上で

218 :デフォルトの名無しさん:2016/12/21(水) 21:00:19.84 ID:SAz7LbLJ.net
>>212
個人から見たらそうなのかw

219 :デフォルトの名無しさん:2016/12/21(水) 21:37:06.90 ID:LwOfWJ5k.net
集団から見ると違うのか

220 :デフォルトの名無しさん:2016/12/21(水) 22:22:07.11 ID:EHIXxsY5.net
俺みたいなアジャイルでスクラムなチームでスプリントしながら振り返りDDDな目線だと、また新しい視点が見えてくるね

221 :デフォルトの名無しさん:2016/12/22(木) 02:31:44.42 ID:LKHTDYaz.net
>>217
なんでemacsの不滅は前提なんですかね…

222 :デフォルトの名無しさん:2016/12/22(木) 08:43:00.02 ID:tQtLk2Co.net
Lispは標準関数名汚すぎな
Clojureはまだマシだけど

223 :デフォルトの名無しさん:2016/12/22(木) 09:19:52.84 ID:8qaRbIfF.net
Haskellを純粋関数型って言葉やめない?
参照透過型言語と呼ぶべき.

これなら最近増えた
表面だけパクった言語達と同じカテゴリに入らなくて済む。

224 :デフォルトの名無しさん:2016/12/22(木) 09:22:45.26 ID:piqYaj8F.net
参照透過を徹底してる言語なんてHaskellしかないんだから
ストレートにHaskellって呼べば良くない?

225 :デフォルトの名無しさん:2016/12/22(木) 12:42:33.24 ID:LVFOwIG/.net
lazyとstrictで大分違うのにいっしょくたに語られる関数型

226 :デフォルトの名無しさん:2016/12/22(木) 18:03:40.60 ID:mT17SxA8.net
ていうかなんで言語開発者はHaskellなんてめんどくさいだけの言語パクりたがるのか分からん
後のアップデートで結局Haskellらしさを潰して使いやすくしました!とかやってるし意味が分からん

227 :デフォルトの名無しさん:2016/12/23(金) 14:30:21.94 ID:FYU3Gmnx.net
Rustの用途ってc++で書かれたプログラムの移植版を作ることでいいのか?

228 :デフォルトの名無しさん:2016/12/23(金) 14:44:06.63 ID:yIxDn18f.net
mozilla開発ってだけでなんかもう負け組臭が酷い

229 :デフォルトの名無しさん:2016/12/23(金) 14:54:07.50 ID:TK7Butbo.net
Goより明らかにいい言語なのにバックの印象で負けてるrust

230 :デフォルトの名無しさん:2016/12/23(金) 15:00:36.49 ID:Np2+Er+t.net
えっ? rust が?

231 :デフォルトの名無しさん:2016/12/23(金) 15:31:23.69 ID:F0XljJId.net
>>228
googleがrust作ってたらpython, ruby, c++開発者が流れたよね

232 :デフォルトの名無しさん:2016/12/23(金) 15:39:29.01 ID:yIxDn18f.net
>>231
歴史に鱈レバーはないが
そうかもしれぬ

233 :デフォルトの名無しさん:2016/12/23(金) 19:34:45.48 ID:yIxDn18f.net
Rustにもマスコットが必要だな
ゴファはモッサイから、もっとケモナーの精巣に響くようなマスコットがいい

234 :デフォルトの名無しさん:2016/12/23(金) 19:34:49.78 ID:RCL+KsCc.net
資金力が違いすぎるからなぁ

235 :デフォルトの名無しさん:2016/12/23(金) 19:53:22.32 ID:TK7Butbo.net
Lolifoxだな

236 :デフォルトの名無しさん:2016/12/24(土) 08:38:43.16 ID:di+rXJ0g.net
>>229
雷鳥「一体何が不満なんですか?」

237 :デフォルトの名無しさん:2016/12/24(土) 19:01:30.80 ID:hxBGGNm6.net
量産されているHaskellのパクリ言語が
どれも本家より良いとは言われない不思議

238 :デフォルトの名無しさん:2016/12/25(日) 13:34:16.89 ID:kF/mK/Cf.net
自分自身をコンパイルできるコンパイラ
またはCで書かれた中間言語コンパイラ
このどちらかがあると良い

239 :デフォルトの名無しさん:2016/12/28(水) 02:12:07.16 ID:Pt7cMAGf.net
lisp未だにCADの組み込み言語で使うから、全く馬鹿にできんが、
俺はGoを会社では推してる。
未経験でも2日でわかる、言語仕様ちゃちいから闇が浅い、フォーマットは強制、リンターが強力
threadやら、Runnableやら、synclockやら、哲学者の食事やら教えんでも8割くらいがチャンネルで解決する。
コンパイルしたらワンファイルでどこでも動く。

240 :デフォルトの名無しさん:2016/12/28(水) 08:34:54.14 ID:bvnjBJpz.net
>>239
> 闇が浅い、
型台無しにするinterface{}とか闇と思う。

241 :デフォルトの名無しさん:2016/12/28(水) 09:55:30.25 ID:JT952dSj.net
>>240
今のところジェネリックスないからなぁ。
インターフェイスが勝手に実装されるんだから使いそうな値は全部名前つけて管理しろと思う。
intに ScreenYPosとか型名つけれるのマジ便利。

242 :デフォルトの名無しさん:2016/12/28(水) 11:22:58.21 ID:h6cUbtbL.net
MapもReduceもなくて三行かけてループで書く言語はちょっと……

243 :デフォルトの名無しさん:2016/12/28(水) 12:06:37.48 ID:JT952dSj.net
まあ、タイプ数は多いけど。
mapやreduceが何スレッド使ってどう動くかをかける分、rangeとゴルーチンとチャンネルの方が便利じゃない?

mapのmapのreduceのmapとかになって来たら、チャンネル繋げたほうがわかりやすいし。
一台では捌けんなと思ったら、受け取ってネットワークに投げるチャンネルと
ネットワークから拾って次のチャンネルに渡すチャンネル書けば、割と解決するし。

Erlangも同じ理由で好き。

244 :デフォルトの名無しさん:2016/12/28(水) 13:57:13.59 ID:MIXabYYa.net
Goはシンプルでいいんだけど、コードが冗長にならない?if文がつらつら並んでしまうことよくある。書き方が悪いのかな。
文字列処理が中心のウェブアプリだとこの傾向が顕著な気がする。APIだけならまだマシだが。

245 :デフォルトの名無しさん:2016/12/28(水) 14:19:25.35 ID:kFL7wfb2.net
うむ

246 :デフォルトの名無しさん:2016/12/28(水) 19:02:14.47 ID:pwprnBc6.net
golang はよくも悪くも実用性第一の言語なんだから、言語に高度な抽象化や表現力を求める層に勧めてもニーズがずれてるんと違うん。

247 :デフォルトの名無しさん:2016/12/28(水) 23:29:01.55 ID:Eve+QkKl.net
自動ダックタイピングとか、基地外!

老害プログラマが言語を作っとる

248 :デフォルトの名無しさん:2016/12/28(水) 23:43:54.55 ID:NN0/J7oE.net
自分で理想のプログラミング言語作って使ってればええやん

249 :デフォルトの名無しさん:2016/12/28(水) 23:48:59.74 ID:JT952dSj.net
>>244
switchで、かなぁ。
テーブルジャンプになりそうな所はそうしてしまうって発想に近いと思う。
抽象化って言語仕様的にはこれ以上必要ないレベルまで抽象化されてると思うよ。
interface定義すればそれが一致すればすべてその実装とみなすとか。
cppで書いたバカみたいなvirtualの塊をコンパイルしたようなコードになるなら、コンパイラが全部解決しとけってのは理にかなってるんじゃないかな。
さもなくばJavaScriptでダックタイプしとけと思ってしまう。あれはあれで便利だし。
大体の言語のカスい所を削るとあれになった感があるけど。

250 :デフォルトの名無しさん:2016/12/29(木) 00:03:11.38 ID:RruPXahs.net
>>246
表現力ってよくわからんのよね。
何もかもを表す言語って自然言語には無いんよ。
霧雨や狐の嫁入りを綺麗に英語には出来ないし
Be it as.と単文では日本語にはニュアンスが出せないようなもんで、
ある言語がある領域で万能であれる訳がないのに、
まやかしの如くその辺を解決した気になってる言語が純粋に気持ち悪い。
あるゆる、演算子をオーバーライドできる言語に対して思う。

251 :デフォルトの名無しさん:2016/12/29(木) 00:07:10.35 ID:byMsx2NY.net
>>250
実際にタイプする文字の量ということで良いんじゃない?

252 :デフォルトの名無しさん:2016/12/29(木) 00:09:42.38 ID:rvAXIAg7.net
>>250
表現力の解説は他の人に任せるとして、取り敢えず演算子オーバーライド出来ないと線形代数が悲惨なことになるのでその最後の行は頂けない

253 :デフォルトの名無しさん:2016/12/29(木) 00:20:16.74 ID:CZgr2A6D.net
タイプする文字の量で行ったらPythonが最強でしょう。

254 :デフォルトの名無しさん:2016/12/29(木) 00:38:47.33 ID:jOhOrzjU.net
>>246
この意見には賛同できるな。Scalaのパターンマッチとかコレクションの操作は表現力が高いと思う。何をしようとしてるか明確だから。Goはもっとプリミティブな操作しか持ってないから。

255 :デフォルトの名無しさん:2016/12/29(木) 00:39:17.73 ID:OGBMppob.net
>>250
お前は文字列処理だけやっとけ低脳

256 :デフォルトの名無しさん:2016/12/29(木) 01:11:04.33 ID:RruPXahs.net
>>252
要らないだろ。
ベクトルとベクトルの掛け算が外積なのはわかるが、三次以上のテンソルとテンソルの掛け算がどう定義されるか、
ベクトルとスカラのタプル同士の掛け算がどうなるかなんか、型同士で勝手に定義されても困る。

>>254
何をしようとしてるか明確なのはその型作った奴だけだろ。

>>255
文字列なんかほとんど触らんわ。

257 :デフォルトの名無しさん:2016/12/29(木) 01:25:58.55 ID:rvAXIAg7.net
>>256
ベクトルの足し算をa+bと書くよりもvector_add(a, b)と書いた方がいいということ?あり得んだろそんなの

258 :デフォルトの名無しさん:2016/12/29(木) 02:27:22.56 ID:RruPXahs.net
>>257
だから、ベクトルと単に定義すんなと。
何のベクトルかを型として持つべきでしょ。
加速度のベクトルと角加速度のベクトルは系が違うんだし。

関数名も嫌な感じ。演算子のオーバーライドと次元同じじゃん。
型が適当だからそんな発想出るんじゃないの?
ものによっては交換法則が成り立たんのだから、addは適切じゃない上に、aにaddするのか、aにaddしたものを返すのかもわからん。
a+b はオーバーライドされて、原点からの距離になります(ただしAが南北方向加速度、Bが東西方向加速度の場合)
みたいな例外でしか構成されてない仕組みで埋め尽くされるじゃん。
なんとかvector.CombineZX(z ZVecror,x Xvector)でしかない。

259 :デフォルトの名無しさん:2016/12/29(木) 02:48:32.46 ID:rvAXIAg7.net
>>258
ちょっと適当に関数定義していいから、線分クラスを始点と方向ベクトルで構成されるものとして、2線分の交点を算出するプログラム書いて見てよ
Numpyより見やすくな

260 :デフォルトの名無しさん:2016/12/29(木) 03:07:10.97 ID:yr0J1az9.net
会話の流れを一切無視した要求に笑ったw
まあPythonはこの面子では抜けてるとは思うよ

261 :デフォルトの名無しさん:2016/12/29(木) 06:18:55.17 ID:13IxHxtA.net
うむ

262 :デフォルトの名無しさん:2016/12/29(木) 06:56:51.24 ID:V7u6j1LO.net
演算子オーバーライドはご飯に卵を掛けたら卵掛けご飯にならなきゃおかしいっていう人のためのものだ

263 :デフォルトの名無しさん:2016/12/29(木) 09:40:32.87 ID:MXIaWcPX.net
>>259
> 書いて見てよ
> Numpyより見やすくな

こう言うこと言うと絶対相手は逃げちゃうよな
書いてるの100人に1人くらいのもんだよ(俺調べ)

264 :デフォルトの名無しさん:2016/12/29(木) 10:27:49.91 ID:CAvee1NA.net
    ∧_∧  ミ _ ドスッ
    (    )┌─┴┴─┐
    /    つ. 終  了 |
   :/o   /´ .└─┬┬─┘
  (_(_) ;;、`;。;`| |

265 :デフォルトの名無しさん:2016/12/29(木) 10:52:33.95 ID:OGBMppob.net
>>256
> 三次以上のテンソルとテンソルの掛け算がどう定義されるか、
> ベクトルとスカラのタプル同士の掛け算がどうなるか

ちょっとそれ定義してみてくれよ低脳

266 :デフォルトの名無しさん:2016/12/29(木) 10:59:44.31 ID:AIw2bcpm.net
>>259
Numpyも中途半端だけどなぁ。
確かに書くコード量は少ないだろうが、
書いてないコード量は圧倒的に多いじゃん。
でもその定義ならMaximaで解けるよ。
プログラム組むまでもない。

267 :デフォルトの名無しさん:2016/12/29(木) 11:01:35.01 ID:AIw2bcpm.net
>>265
使いみち次第だよ、Goなら正直。
むしろ、何か推してる言語あるならそれでこう書けば万能って言ってくれると、
新しい知識が得られて嬉しい。

268 :デフォルトの名無しさん:2016/12/29(木) 12:42:34.63 ID:rvAXIAg7.net
>>266
いや、その式をMaximaとかで解いてプログラムに埋め込むのよ
アスペみたいなこと言わんといてくれ

269 :デフォルトの名無しさん:2016/12/29(木) 12:47:44.02 ID:yr0J1az9.net
その代わりPython側も何か書くというイーブンな条件なら良いんじゃね?
何を書くのかしらんけど

270 :デフォルトの名無しさん:2016/12/29(木) 12:49:14.73 ID:rvAXIAg7.net
よく考えたら例題がよくなかったな
(a+b*c-d*e/f)/(a@f-b@c)-hとかをvector.Combinezxとやらで書けとするべきだった。
まあどうでもいいけどな

271 :デフォルトの名無しさん:2016/12/29(木) 22:40:40.45 ID:5yPVbf0y.net
>>268
馬鹿じゃねえの?
なら何の多性態もいらねえじゃん、言語には。

>>270
自明でない式に意味なんかねえよ。
サンプルにでもabcdなんて命名する奴に全くセンス自体がないから、そういう発想になるんだろうな。

272 :デフォルトの名無しさん:2016/12/30(金) 00:53:59.91 ID:RKFPkfCK.net
>>271
ほーん負け惜しみはいいから書いてみ?

273 :デフォルトの名無しさん:2016/12/30(金) 01:13:07.40 ID:S2I7JRvC.net
つーかこいつ線形代数エアプすぎてMaximaとかで解いた結果>>270みたいな感じのちょっとややこしいベクトルの式が解になることがあることすら理解してなさそう
そういう時に演算子オーバーロードは本当にコードを見やすくするのに。
馬鹿すぎて>>259すら自力で解けないんだろなあ

274 :デフォルトの名無しさん:2016/12/30(金) 07:44:18.97 ID:sL0wWCmI.net
今時ジェネリクスも無い go は次世代言語として筋が悪い
個人的には、google 信者か動的型言語しか使った事が無い人が go をマンセーしてるイメージがある

275 :デフォルトの名無しさん:2016/12/30(金) 08:22:50.47 ID:n0+bjvYh.net
>>274
Google自身もそれほど推してないから。
GoがAndroidバイナリー作れるようになってから1年以上たつわけで、推してたらNDKのようにAndroid SDKからダウンロード出来るようにするはずだよね。

276 :デフォルトの名無しさん:2016/12/30(金) 10:54:37.77 ID:NmKeqyEh.net
ジェネリクスね。。
バカが俺様ライブラリを無駄に作り出すだけじゃん。

277 :デフォルトの名無しさん:2016/12/30(金) 11:04:50.67 ID:Sfay42t+.net
https://golang.org/doc/faq#generics

Why does Go not have generic types?
Generics may well be added at some point. We don't feel an urgency for them, although we understand some programmers do.

Go公式ですらこう言ってるのに馬鹿みたいな意見いらないから

278 :デフォルトの名無しさん:2016/12/30(金) 11:08:20.23 ID:NmKeqyEh.net
だから慌てて入れて c++ のテンプレみたいなバカみたいな状況になりたくないつってんだろw

279 :デフォルトの名無しさん:2016/12/30(金) 11:12:29.79 ID:Sfay42t+.net
それはお前が決めることじゃない

280 :デフォルトの名無しさん:2016/12/30(金) 12:38:19.14 ID:qVys9VlH.net
generics が無くても困らんのでな

281 :デフォルトの名無しさん:2016/12/30(金) 13:45:01.80 ID:7+wVhCY3.net
C++のテンプレートみたいなのは
set<char>みたいに型にフィットしたコンテナを用意するのに気持ち良いけど
Javaやっててジェネリクス必要になるから欲しいって人はその設計が間違ってる
そうは思わんかお前ら

282 :デフォルトの名無しさん:2016/12/30(金) 14:46:08.73 ID:Sfay42t+.net
うっざJavaスレでやれ

283 :デフォルトの名無しさん:2016/12/30(金) 15:46:41.55 ID:7Zd5OH2Q.net
>>273
エアプがなんだかわからんが、手で解けるからやらすんであって、
最初からMaxima使ったら検算できねえじゃん。
書きやすいなんて理由でパフォーマンス落とす意味がわからん、と>>249で言ってんのに。
情報系の学部生みたいな事言われても苦笑いしか出ない。

284 :デフォルトの名無しさん:2016/12/30(金) 15:48:07.60 ID:7Zd5OH2Q.net
なんでも積むのが最新型な点を通り越しただけっしょ。

285 :デフォルトの名無しさん:2016/12/30(金) 16:01:58.78 ID:n0+bjvYh.net
パフォーマンス落とすって…
批判するなら批判する所だけでもちゃんと理解しとこうね。

286 :デフォルトの名無しさん:2016/12/30(金) 16:46:36.97 ID:hOz+Sgq9.net
>>285
指摘は事実を以て、ね。

287 :デフォルトの名無しさん:2016/12/30(金) 19:26:31.24 ID:RKFPkfCK.net
>>259は余裕で手で解けるけどな。線分クラスを始点s方向vで構成されるものとして一つ目の線分をs1,v1二つ目をs2,v2とし、S=s2-s1,V={{-v2y, v2x},{-v1y,v1x}}として、答えはV.dot(S)/det(V)。
このくらいスパって書けばいいのに、検算出来ないとかパフォーマンス落とすとかうだうだ言い訳してカッコ悪いやつだ

288 :デフォルトの名無しさん:2016/12/30(金) 19:28:49.78 ID:RKFPkfCK.net
おっと求められた答えそのままではなかった

289 :デフォルトの名無しさん:2016/12/30(金) 21:12:04.72 ID:0uD1Maua.net
書きやすいなんて理由でC言語以上の高級言語使ってるバカはおらんよね?
アセンブリでオーバーヘッドゼロで書くのが真のプログラマー
メモリ管理もできないバカは紙とパイナッポーペンからやり直せ笑

290 :デフォルトの名無しさん:2016/12/30(金) 21:24:32.93 ID:vRTC1WE2.net
30年位時代を間違えてますよおじいちゃん

291 :デフォルトの名無しさん:2016/12/30(金) 21:55:04.63 ID:VqDrYuY4.net
>>287
線分が不明確。
ユークリッド幾何に限られる。
だから情報系の奴って馬鹿だって言われるんだよ。

292 :デフォルトの名無しさん:2016/12/30(金) 21:56:11.76 ID:VqDrYuY4.net
>>289
ネタで言ってるんだろうけど割と合ってるんじゃない?
機械語が予測できる形で落ちない言語はゴミ。

293 :デフォルトの名無しさん:2016/12/30(金) 22:09:12.67 ID:RKFPkfCK.net
>>291
本気でそれが問題だと思ってるの?
ちなみに俺は化学だ。勝手に決めつけんな

294 :デフォルトの名無しさん:2016/12/30(金) 22:18:57.48 ID:VqDrYuY4.net
>>293
そう言われて反応する時点で同じ穴の狢。
って言われんようにやれよ。
2通り以上に解釈される化学式の表記法とかゴミだなって思うだろ。

295 :デフォルトの名無しさん:2016/12/30(金) 22:22:05.89 ID:VqDrYuY4.net
書き方の工夫で、一つに絞られる、と言う事をするよりも、
示性式と構造式書いたほうが余程的確。

296 :デフォルトの名無しさん:2016/12/30(金) 22:50:00.86 ID:RKFPkfCK.net
情報系と思ってもらえたようで至極光栄
で、本気でそれが問題だと思ってるの?理解できてないだけだよね。理解できてるなら>>287の数値は何を表す値を導出してるか書いてね
もしくはこの話飽きて来たからClojureの話しようぜ

297 :デフォルトの名無しさん:2016/12/30(金) 22:55:30.78 ID:ToL6TU3u.net
Swiftやってんだけど、おまえらの中じゃもう古そうだな

298 :デフォルトの名無しさん:2016/12/30(金) 22:57:34.88 ID:RKFPkfCK.net
古くはないんだけど、なんか手を出す気もしないなあ

299 :デフォルトの名無しさん:2016/12/30(金) 23:02:05.67 ID:ToL6TU3u.net
そもそもプログラミング素人でさ、なんかアプリ作りたいと思ったからswift選んだんだけど、間違い?
ほかにやったほうがいいことあるなら教えてください

300 :デフォルトの名無しさん:2016/12/30(金) 23:03:36.76 ID:RKFPkfCK.net
Objectice-Cやってた頃はMacアプリ作りたかったのにiOSの本ばかりで手を焼いた記憶があるけど、Swiftはどうなんだろう?

301 :デフォルトの名無しさん:2016/12/31(土) 01:03:03.34 ID:0acoUq44.net
>>296
そりゃ、交点ではなく交点を通る線出してんじゃねえの?
ってか、

Clojureはあんまりこう惹かれなさ過ぎてわからんな。

302 :デフォルトの名無しさん:2016/12/31(土) 01:39:29.82 ID:kSL6UTz/.net
>>301
残念ながら違う。

ClojureはLispの中ではなんか関数名が綺麗な感じで好きなんだよ。
基本的にクラスは使わずに組み込みのList,Vector,Mapを使うとか、変数は全部イミュータブルとか、一風変わってるけど慣れるとこっちの方が書きやすくて好きなんよ
まあHaskellとかと比べると汚いけど、いろんな環境で使えるし、replも使いやすくてちゃちゃっと使えるのがgood

303 :デフォルトの名無しさん:2016/12/31(土) 08:15:21.14 ID:5P7T9Bui.net
このスレの謎のScala押しなんなの?
あんなの関数型触ってなかった人が持て囃してるだけでしょ?
真面目に書くとPerl並に汚いコードになるのに

304 :デフォルトの名無しさん:2016/12/31(土) 08:28:01.13 ID:qTR6JDNw.net
>>303
OOP+関数型
JVM

最強やん

305 :デフォルトの名無しさん:2016/12/31(土) 08:34:05.20 ID:pegMHpax.net
F#が流行らなかったんだから
そんなのが武器になるとは思えないけど

306 :デフォルトの名無しさん:2016/12/31(土) 08:41:27.20 ID:qTR6JDNw.net
JVMの部分に対するツッコミか?
ドトネ自体が流行ってねーだろ、まずよ

307 :デフォルトの名無しさん:2016/12/31(土) 09:09:42.34 ID:pegMHpax.net
そうじゃない
CSharperがOOP+関数型のF#へ移行しなかったんだから
Javaerも移行しないだろうってこと

308 :デフォルトの名無しさん:2016/12/31(土) 09:54:57.32 ID:qTR6JDNw.net
なるほど
Javaerも大概レガシーうんこまみれだからな
でもJava8にラムダやStream入ったし、少しは連中考え直すんじゃないか?
C#はそもそもF#に乗り換えなくて十分なほど便利に見える
(C#はよくしらんが)

309 :デフォルトの名無しさん:2016/12/31(土) 11:02:24.70 ID:0acoUq44.net
>>302
そうなのか、変に煽ってはいかんな。

最初の一歩が辛いけど発想が気持ち良いと言えば俺はErlangが良いと思うな。
実用性もあるし。

310 :デフォルトの名無しさん:2016/12/31(土) 11:11:50.12 ID:Mr9jnWHp.net
やはりオーバーロードはあったほうが便利だな

311 :デフォルトの名無しさん:2016/12/31(土) 11:48:39.35 ID:0acoUq44.net
オーバーロードについては言い方変えよう。
軽率に使うやつは馬鹿としておく。

312 :デフォルトの名無しさん:2016/12/31(土) 19:47:18.58 ID:5P7T9Bui.net
アドホック多層は散らばると面倒だよな
最初からジェネリックに書けばいいだけ

313 :デフォルトの名無しさん:2016/12/31(土) 20:37:47.46 ID:CS9EEzAV.net
次世代を制するのはGo
次点でこのままスクリプト言語が他に出ないならばElixer
これに気付いていないやつは情弱だからもっと情報を積極的に
吸収したほうがいい。

314 :デフォルトの名無しさん:2016/12/31(土) 22:21:32.08 ID:7tMjSoOS.net
Goは次世代というか現実的な選択肢の一つという感じ

315 :デフォルトの名無しさん:2016/12/31(土) 23:09:38.24 ID:Mr9jnWHp.net
次世代はrust

316 :デフォルトの名無しさん:2017/01/01(日) 00:21:12.92 ID:uk+ZZWDP.net
あのGoogleが超最近に出した言語なのに現状これだけ盛り下がってるGoこれから流行っていくってありえるか?

317 :デフォルトの名無しさん:2017/01/01(日) 00:29:30.23 ID:y/0zTBoG.net
>>304
なんでも詰め込めばいいとかバカなんじゃないの。

318 :デフォルトの名無しさん:2017/01/01(日) 00:51:32.52 ID:VtFWW7J2.net
>>304
最低やん
OOP部分捨てろ

319 :デフォルトの名無しさん:2017/01/01(日) 01:23:10.78 ID:ltF9gKFQ.net
参照透過でなきゃ関数型とは認めんよ。
実際のコードは殆ど手続き型で書く癖に
イメージ戦略で「関数型」を名乗る偽物の多い事多い事。

320 :デフォルトの名無しさん:2017/01/01(日) 01:30:27.07 ID:0J24YwIc.net
>>318
ほんとこれ

321 :デフォルトの名無しさん:2017/01/01(日) 01:58:04.14 ID:uk+ZZWDP.net
言語なんて手段でしかないんだから
突然優越感たっぷりにオレオレ関数型定義を宣言されても困る

322 :デフォルトの名無しさん:2017/01/01(日) 02:57:38.67 ID:acF61tOZ.net
>>316
下がってるか…?
結構Go製のもの増えてきたけどな。

323 :デフォルトの名無しさん:2017/01/01(日) 11:47:46.26 ID:wqx7ZaQB.net
>>313
Erlangなら判るがElixirは糞だろ

324 :デフォルトの名無しさん:2017/01/01(日) 12:44:16.18 ID:fRaQvE2f.net
GoとScalaって今から勉強するならどっちがいいの?

325 :デフォルトの名無しさん:2017/01/01(日) 13:16:06.95 ID:0J24YwIc.net
scalaとかゴミなのて

326 :デフォルトの名無しさん:2017/01/01(日) 13:36:53.96 ID:b8ZAKc8l.net
>>320
OOPで挫折したのか?

327 :デフォルトの名無しさん:2017/01/01(日) 13:40:12.31 ID:rXsHTVhD.net
Scala最強伝説を祈願してあけましておめでとうございます。

328 :デフォルトの名無しさん:2017/01/01(日) 13:42:37.35 ID:Qg1j0Wmf.net
ScalaよりClojureの未来が明けますようお願いいたします

329 :デフォルトの名無しさん:2017/01/01(日) 13:55:18.09 ID:NDuNncrW.net
あけましておめでとうございます。今年こそjvm言語が絶滅しますように…

330 :デフォルトの名無しさん:2017/01/01(日) 17:24:23.36 ID:SJYwRSMl.net
未熟な新言語ならば今後の今は使いづらくても今後の改良に
期待して学びたいと思う。
一方、JVMやマイクロソフトみたいに腐敗したシステムは
いくら既存の資産との互換性があったとしても新しいものを
学ぼうという気が起きない。
古いシステム廃止に伴い新システム移行を強制してくるなら
じゃあこれを機に別の環境に乗り換えますんでって気分になる。

331 :デフォルトの名無しさん:2017/01/01(日) 17:49:31.12 ID:QliWG2cV.net
MSは最近頑張ってるイメージ

332 :名無し集中:2017/01/01(日) 18:01:48.24 ID:jy2g6db8.net
>>330
C#もだめ?作者の人すきなんだが

333 :デフォルトの名無しさん:2017/01/01(日) 18:14:39.44 ID:SJYwRSMl.net
わざわざC#と書かずにマイクロソフトと書いたんだよ。
C#は嫌いじゃない。

334 :デフォルトの名無しさん:2017/01/01(日) 21:06:03.64 ID:rXsHTVhD.net
でもちょまどさんを前にしたらモジモジして「C#いいですよね」とか言う気なんでしょう?
キモオタきも

335 :デフォルトの名無しさん:2017/01/01(日) 21:12:15.02 ID:9MvoRZrQ.net
ちょっ()まどさんのおかげでペチパーも許せるようになった

336 :デフォルトの名無しさん:2017/01/01(日) 21:31:45.89 ID:rXsHTVhD.net
それはありえない
ペチパーだけは老若男女一族郎党皆殺しの上晒し首にして当然

337 :デフォルトの名無しさん:2017/01/01(日) 22:15:55.23 ID:uk+ZZWDP.net
F#も良いよ

338 :デフォルトの名無しさん:2017/01/01(日) 23:36:31.27 ID:y/0zTBoG.net
>古いシステム廃止に伴い新システム移行を強制してくるなら
>じゃあこれを機に別の環境に乗り換えますんでって気分になる。
こういう発想がカス言語機能追加の原動力になってんだろうな。

339 :デフォルトの名無しさん:2017/01/02(月) 04:03:16.31 ID:gdAYBpSh.net
>>338
バージョンアップで互換性なくす言語は馬鹿

340 :デフォルトの名無しさん:2017/01/02(月) 04:11:10.89 ID:pb7rNf+H.net
>>326
頭悪そう

341 :デフォルトの名無しさん:2017/01/02(月) 10:14:22.78 ID:9iyonvDZ.net
もうこれ以上糞言語増やさなくていいよ
十分便利な言語が出揃ったってみんな言ってるだろ

342 :デフォルトの名無しさん:2017/01/02(月) 12:19:20.43 ID:5B8cWWn7.net
>>341
CやCobolが出たときも当時の人達みんな同じこと思ってそう

343 :デフォルトの名無しさん:2017/01/02(月) 12:31:09.88 ID:GdcUHK9D.net
そうでもない

344 :デフォルトの名無しさん:2017/01/02(月) 12:51:44.30 ID:D033LP4m.net
技術のキャッチアップができなくなったなら、エンジニアとしてはもう寿命
その後はIT土方かマネジメントで生きるしかない

345 :デフォルトの名無しさん:2017/01/02(月) 13:04:50.20 ID:EcE1aP5C.net
swift最強

346 :デフォルトの名無しさん:2017/01/02(月) 18:25:12.48 ID:1m/cK6rN.net
>>342
Cの頃はもっとユーザー、言語設計者、言語実装者の距離が近かった。
今は遠い。それがクソ言語が作られる大きな理由になってる。

347 :デフォルトの名無しさん:2017/01/02(月) 19:13:01.90 ID:hRjlMCft.net
Haskellなら近いよ!

348 :デフォルトの名無しさん:2017/01/02(月) 19:23:51.11 ID:XmNT/ume.net
特定のIDEとか環境ありきが前提となっている言語は一度氏んだ方が
いい。

349 :デフォルトの名無しさん:2017/01/02(月) 22:41:29.99 ID:9iyonvDZ.net
IDEも使えない糞雑魚ナメクジ
intellijに見捨てられた糞言語信者は死んで、どうぞ

350 :デフォルトの名無しさん:2017/01/02(月) 22:52:40.90 ID:OVlW98VI.net
>>348
うむ。goなら大体揃うし、作ったあともワンファイル

351 :デフォルトの名無しさん:2017/01/03(火) 00:23:18.89 ID:qOafqQyJ.net
Haskellってオワコンなのかな?
主な用途が自身のコンパイラを書くことのまま進展がないけど。

352 :デフォルトの名無しさん:2017/01/03(火) 00:32:50.68 ID:8fB2VnKn.net
開発環境整えるだけで尋常じゃない苦労するはめになったり特定のOSだと動かないなんてことになるよりは
IDEさえ落とせばすぐ環境整う言語のが遥かにマシじゃね?

353 :デフォルトの名無しさん:2017/01/03(火) 00:37:30.08 ID:sAzrCak7.net
>>351
もちょと言語コア以外のエコシステムのほうにも助力をまわしてほいところ。
素性はいいんのであとは使える周辺とスタータードキュメント整理られれば

354 :デフォルトの名無しさん:2017/01/03(火) 18:13:38.86 ID:YaTOHTL4.net
パッケージ管理が cabal から stack になってまともになったと聞くがどうなんだろう。

355 :デフォルトの名無しさん:2017/01/03(火) 19:25:56.97 ID:jYOP1H4c.net
>>352
IDEが無ければ何もできないホモには言われたくないですね...
言語への依存性から抜け出せなくなってしまう
IDEのボタンクリックしたとき自動発行されるコマンドとか
コンソール叩いて問題解決する方法覚えないから

356 :デフォルトの名無しさん:2017/01/03(火) 19:43:55.85 ID:AiznZoHE.net
だからなによ

357 :デフォルトの名無しさん:2017/01/03(火) 19:45:10.33 ID:ZcRDiYy/.net
IDEではなくエディタとコマンドを使えば成長できる
誰もが通り、数年後に間違いを自覚する道

358 :デフォルトの名無しさん:2017/01/03(火) 20:26:30.11 ID:qVjCXJPU.net
Goの実行速度が速いですっていうのは
OCamlが速いって言ってるのと同じことだよね?

Dやrustの足元にも及ばん

359 :デフォルトの名無しさん:2017/01/03(火) 21:12:09.97 ID:Uq62B4BS.net
エディタとコマンド使えば成長できるけど、補完は欲しい
Vimもemacsも補完とかのプラグインをちゃんとするのは面倒

360 :デフォルトの名無しさん:2017/01/03(火) 21:18:07.41 ID:qVjCXJPU.net
IDEのない言語はコーディングにも悪影響が出てるという。
タイプするの面倒くさいから標準ライブラリの関数名が略字で意味わからんかったりするらしい。
IDEが無いとファイル増えると面倒だから1ファイルにいくつもクラスを定義して保守性が下がったり。
プロジェクトみたいなのも作るの面倒だからって
動的ライブラリや静的ライブラリを作成せずに毎回全部フルビルドするとか。

361 :デフォルトの名無しさん:2017/01/03(火) 22:03:37.86 ID:Uq62B4BS.net
標準ライブラリの関数長いのは可読性も低いと思うけどな

362 :デフォルトの名無しさん:2017/01/03(火) 22:58:15.02 ID:ZeRcLg0V.net
>>360
>IDEのない言語は

今時のエディタ使ってないの?
大抵の言語用の支援機能有るけど。

363 :デフォルトの名無しさん:2017/01/04(水) 01:11:27.78 ID:S4XLibkf.net
すいませんcoconutユーザーなんです……

364 :デフォルトの名無しさん:2017/01/04(水) 01:50:54.55 ID:MZRDhGwM.net
DataGridViewCellToolTipTextNeededEventArgs e とか凄いよねw
DataGridView.Cell.ToolTipText.EventArgs.Needed こうならんかね
DataGridView.Cell.ToolTip.EventArgs.Needed できればこう

365 :デフォルトの名無しさん:2017/01/04(水) 02:06:37.88 ID:+9xRXlmE.net
Scalaが没落してRustが急上昇してるけと何があった!!?
http://i.imgur.com/ujNoggx.jpg

366 :デフォルトの名無しさん:2017/01/04(水) 02:20:49.49 ID:cHwoKYKd.net
pythonは次世代言語のくくりに入るという認識でおけ?

367 :デフォルトの名無しさん:2017/01/04(水) 03:24:57.77 ID:sO2gccKh.net
>>365
Rustは半年位前にFirefoxの新しいブラウザエンジンに使うとかで
記事とか結構出たからトレンドが上昇したんだろ

>>366
pythonは現役世代

368 :デフォルトの名無しさん:2017/01/04(水) 09:31:28.55 ID:oS0JsegY.net
遊びで勉強するならRust のが面白そうってのはある。

369 :デフォルトの名無しさん:2017/01/04(水) 09:45:56.11 ID:KKg6qYkQ.net
C言語的な文法だから、その派生のC++やJavaやJSの流れを汲む奴らが調べてそう
関数型とオブジェクト指向のハイブリットだし、そいつらの中でも同じ趣向のScala勢に受けたのか

370 :デフォルトの名無しさん:2017/01/04(水) 10:04:55.29 ID:KKh75lzL.net
まだ正月なのに今日から社畜奴wwwwwwwwwwwwww

371 :デフォルトの名無しさん:2017/01/04(水) 10:07:07.37 ID:KKh75lzL.net
>>365
HaskelはScalaのおかげで下駄はいてるだけ
ルーストとかいう言語はMozilaのステマ

372 :デフォルトの名無しさん:2017/01/04(水) 15:59:34.67 ID:AIzwqNfs.net
ルーストって読む人初めて見たw

373 :デフォルトの名無しさん:2017/01/04(水) 19:29:31.66 ID:xL7XSQ6Y.net
ScalaアンチはRustについてはどう思ってるの?
関数型なんでもいいからやりてえけどどれがいいか迷ってんだよ
速く結論出せよ。

374 :デフォルトの名無しさん:2017/01/04(水) 20:21:26.05 ID:R3mMJ28k.net
全然用途が違うわ

375 :デフォルトの名無しさん:2017/01/04(水) 20:54:09.10 ID:jwIM7MLJ.net
Go言語がダメな理由
(Why Go Is Not Good (2014-07-18)by Will Yager)
ttp://postd.cc/why-go-is-not-good/
> Goは何も新しいことをしない。
> Goは全てにおいてうまく設計されているとは言えない。
> Goは他のプログラミング言語から退化したものである。

376 :デフォルトの名無しさん:2017/01/04(水) 21:46:39.87 ID:u2CyXKSE.net
>>371
意味不明

377 :デフォルトの名無しさん:2017/01/04(水) 21:55:31.77 ID:xL7XSQ6Y.net
>>375
>イメージキャラのデザイン

378 :デフォルトの名無しさん:2017/01/04(水) 22:21:37.36 ID:+0Y5k0lr.net
       , - ―‐ - 、
      /         \
     /    ∧ ∧  ,   ヽ
    ./  l\:/- ∨ -∨、! , ',
   / ハ.|/          ∨|,、ヘ
  |ヽ' ヽ     ●  ●    ノ! l
. 〈「!ヽハ._    __    _.lノ |
  く´ \.)    ヽ. ノ   (.ノ  ̄ さあ寄っといで 才能のカケラもない
   \ `'ー-、 ___,_ - '´         カスどもが Go 叩きを始めるよ
      ` - 、 ||V V|| \
        | ||   || l\ ヽ

379 :デフォルトの名無しさん:2017/01/04(水) 22:30:18.96 ID:R3mMJ28k.net
googleはハッタリばっかだからな

380 :デフォルトの名無しさん:2017/01/04(水) 22:48:17.88 ID:6ooS73gi.net
google社内ではPythonが使われているらしけど
Pythonってそんなに良い言語なの?

381 :デフォルトの名無しさん:2017/01/04(水) 23:08:10.23 ID:u2CyXKSE.net
>>380
MITで使われてるってだけじゃない?
機械学習とかは結局Mathematicaだし
速いの欲しかったらFortranだし

ところでFortranとヨード卵って語感が似てるよね

382 :デフォルトの名無しさん:2017/01/04(水) 23:08:31.74 ID:J+uePkPh.net
pythonは良い言語であることは真実だが
googleが使ってるから良いという訳ではない

383 :デフォルトの名無しさん:2017/01/04(水) 23:18:52.16 ID:wbEXeosH.net
昔の行番号BASICみたいなポジションでしょ、Pythonは

384 :デフォルトの名無しさん:2017/01/05(木) 01:35:15.02 ID:yCqown6i.net
Goって、
新しい事を放棄して、
複雑に考えるのをやめて単純愚直に設計して、
さらに引き算を繰り返した結果残った、
ホントに馬鹿には使えない言語になっただけのような。

馬鹿でもオートマ車ならどれでも「アクセル踏む」って抽象操作でそれなりに動かせるからな。
だから使えてる気になるけど、でもその機能は必須だと信じて疑わない。

マニュアル車乗れてチェンソー始動できるから、舶用エンジンをエアスタータで始動できる、要はクラッチきって何らかの方法でクランクシャフト回せば良いだけじゃん。方法は各々考えろよw
みたいな話を、そんな方法があると信じない人が居るようなもんなんだろう。

385 :デフォルトの名無しさん:2017/01/05(木) 03:23:55.68 ID:QhGjq51m.net
Goの冗長さを上手く表現した良いレスだと思った(小並感)

386 :デフォルトの名無しさん:2017/01/05(木) 03:24:17.84 ID:RTsEBP8Y.net
日本語でおk

387 :デフォルトの名無しさん:2017/01/05(木) 03:25:25.26 ID:RTsEBP8Y.net
>>385
wwww

388 :デフォルトの名無しさん:2017/01/05(木) 06:16:57.27 ID:42rV0dht.net
3行で

389 :デフォルトの名無しさん:2017/01/05(木) 07:32:18.35 ID:AnMF2hlN.net
むしろマニュアル車にあるようなクラッチは残して、
自動運転機能みたいなものを削ったのが go
馬鹿が間違った使い方して事故が多かったから外しましたみたいな。

390 :デフォルトの名無しさん:2017/01/05(木) 08:40:03.55 ID:BBOrCYHK.net
>>385
冗長だけど、一番動いたものの効率が良くて、かつ一番言うこと聞く言語だと思うよ。

>>389
そうそう。成り立つために必要な道具は揃ってる。
危なそうなものは、危ないと書かないと書けないようになってるしな。
ナタで刺し身は誰だって作りたくあるまい。

391 :デフォルトの名無しさん:2017/01/05(木) 08:43:16.83 ID:hcwYrMOW.net
Google Open Source Blog: Grumpy: Go running Python!
https://opensource.googleblog.com/2017/01/grumpy-go-running-python.html

392 :デフォルトの名無しさん:2017/01/05(木) 08:54:52.91 ID:rS/TqFdr.net
Goはgc持ってる言語の嫌いなところもそのまま受け継いでるのがなぁ
俺はRustのアプローチのほうが好き

393 :デフォルトの名無しさん:2017/01/05(木) 14:06:16.31 ID:+tgtyLjf.net
GoMi

394 :デフォルトの名無しさん:2017/01/06(金) 01:42:01.86 ID:JzQSK9Gh.net
>>391
これpython2系かよ

395 :デフォルトの名無しさん:2017/01/08(日) 01:27:02.78 ID:YWYSDpb5.net
Goは関数型じゃないからなぁ
ScaraもJava臭がするし
やっぱ学ぶならRustかな

396 :デフォルトの名無しさん:2017/01/08(日) 23:21:07.52 ID:zNv0/ewK.net
勉強するならHaskell
実用ならF#

397 :デフォルトの名無しさん:2017/01/09(月) 00:18:26.59 ID:Dm7q6S9e.net
勉強するならScala
実用ならScala

やSN1

398 :デフォルトの名無しさん:2017/01/09(月) 18:04:58.00 ID:zt+XskRh.net
Fregeはいいぞ

399 :デフォルトの名無しさん:2017/01/09(月) 18:31:23.77 ID:Dm7q6S9e.net
そんなハスケルパクの無名言語いらんわ禿

400 :デフォルトの名無しさん:2017/01/09(月) 20:28:50.84 ID:zt+XskRh.net
>>399
パクリじゃなくてJVM実装が目的だぞ
Fregeはいいぞ

401 :デフォルトの名無しさん:2017/01/09(月) 21:00:11.79 ID:9ACblGiY.net
うるせー禿!

402 :デフォルトの名無しさん:2017/01/09(月) 21:45:30.60 ID:YAuw1D1o.net
人は他人を罵倒するとき、自分がもっとも気にしていることを題材にする傾向があるらしい

403 :デフォルトの名無しさん:2017/01/09(月) 22:08:04.91 ID:4xLqZyPu.net
Haskell、今はスノッブな人たちが他人と区別するためのファッションに使ってる側面があるけど、
今後、義務教育でプログラムを学んだ層が働く頃には、考え方は常識になるんだろうな。

404 :デフォルトの名無しさん:2017/01/09(月) 23:43:18.79 ID:JTQclrck.net
考え方だけだな。
遅延評価はたぶん流行らん。
さんざんデバッグしずらいことが言われまくってる。

405 :デフォルトの名無しさん:2017/01/09(月) 23:44:01.52 ID:9ACblGiY.net
せやな

406 :デフォルトの名無しさん:2017/01/10(火) 09:24:07.72 ID:pkH5q+Un.net
Go and Dogma https://research.swtch.com/dogma

Remember that none of the decisions in Go are infallible; they’re
just our best attempts at the time we made them, not wisdom received
on stone tablets. If someone asks why Go does X instead of Y, please
try to present the engineering reasons fairly, including for Y, and
avoid argument solely by appeal to authority. It’s too easy to fall
into the “well that’s just not how it’s done here” trap.

407 :デフォルトの名無しさん:2017/01/10(火) 23:02:05.76 ID:v/OI4yM1.net
>>401
プログラマの偉人はだいたい禿げてる
禿げてないのはヘジたんぐらいのもん
ヘジたんもやばそうだけど

408 :デフォルトの名無しさん:2017/01/10(火) 23:36:03.65 ID:PjuH0Yrh.net
ジョン・マッカーシーはフサフサだった

409 :デフォルトの名無しさん:2017/01/11(水) 11:11:08.07 ID:wls9g7W6.net
ストールマンもハゲじゃなかったな

410 :デフォルトの名無しさん:2017/01/11(水) 17:06:43.26 ID:O2me4zYJ.net
歌舞伎座.tech#13「Elixir 勉強会」
2017/01/11(水) 開場:18:57 開演:19:00  ニコニコ生放送
lv286846512


zcx65czx4

411 :デフォルトの名無しさん:2017/01/11(水) 17:21:23.56 ID:wls9g7W6.net
2ちゃんって川上さんと喧嘩したんだっけ
live.
nicovideo.
jp/
watch/
lv286846512

412 :デフォルトの名無しさん:2017/01/12(木) 21:25:14.59 ID:l7q6mhnn.net
このスレ的にSwiftってどうなの?
なんか独自色強すぎて近づきづらいんだけど。
あと意識高い人達がやたら騒いでる印象。

413 :デフォルトの名無しさん:2017/01/12(木) 21:50:25.37 ID:eHeLEFbF.net
swiftは現世代だろうが

414 :デフォルトの名無しさん:2017/01/12(木) 22:24:12.58 ID:D/kCxt4Z.net
IOSのためにしょうがなく使うやつやろ

415 :デフォルトの名無しさん:2017/01/13(金) 01:16:04.00 ID:nRnNKqfV.net
macOSやiOSのアプリ作る上では実質一択だから議論するまでもないよな
それ以外で使うことなんて殆ど無いし

416 :デフォルトの名無しさん:2017/01/13(金) 09:36:11.23 ID:89YmVUl6.net
Swift3はええ言語やがな
林檎独占はもったいない

417 :デフォルトの名無しさん:2017/01/13(金) 22:03:58.24 ID:uRaSOz6f.net
開発者がテスラモーターズに引き抜かれて大混乱してるね、Swift

418 :デフォルトの名無しさん:2017/01/13(金) 22:57:52.88 ID:u2Ry7481.net
「未来とは、今とは違う時間――より良き世界を指す言葉ではなかったか?
そこに、ジオン・ダイクンが夢見た人の進化と調和は無い。
ジオンの名を受け継ぐ者として、一年戦争の惨禍を引き起こした者として、
私たちには責任があるのです! 現実を現実と受け容れるだけでは――」
go は間違ってないけどフルフロンタルぽいんだよ。

419 :デフォルトの名無しさん:2017/01/14(土) 02:16:40.03 ID:SauIKXvW.net
Scalaはユニコーン
ScalazはNT-D

420 :デフォルトの名無しさん:2017/01/14(土) 08:06:28.69 ID:w5rWI0QQ.net
ユニコーンではなくオワコーンの間違いでは?

421 :デフォルトの名無しさん:2017/01/14(土) 08:54:34.36 ID:Ar++pxuH.net
だれうま

422 :デフォルトの名無しさん:2017/01/14(土) 11:02:38.34 ID:SauIKXvW.net
始まってるプログラミングコンテンツは南南や?

423 :デフォルトの名無しさん:2017/01/14(土) 14:28:39.82 ID:BE8dMuIV.net
>>422
最近はじまったばかりのEta lang

424 :デフォルトの名無しさん:2017/01/14(土) 15:04:33.35 ID:SauIKXvW.net
>>423
演算子はSi No Ko Syoか?

425 :デフォルトの名無しさん:2017/01/14(土) 17:35:29.36 ID:zqw+i5es.net
否認

426 :デフォルトの名無しさん:2017/01/15(日) 10:04:02.63 ID:S6PWqiSK.net
rustをrust-lang.org/book読みながら触り始めてみたけど確かにめっちゃ安全って感じがする

427 :デフォルトの名無しさん:2017/01/15(日) 10:23:09.09 ID:IlUPDinI.net
バックがモジラとか始まる前から負けてる感

428 :デフォルトの名無しさん:2017/01/15(日) 10:33:13.26 ID:bhs1F35V.net
こういうのに投資する日本の大手企業が皆無
IT関連に近い企業でも…
経営センスがなさ過ぎる
ドワンゴが最強囲碁AI開発宣言したら
直後にalpha GOが出るとか
お笑いのレベル

日本は終わっとるね

429 :デフォルトの名無しさん:2017/01/15(日) 10:36:42.12 ID:e6h5RF1E.net
アメリカ以外の国は?

430 :デフォルトの名無しさん:2017/01/15(日) 10:42:34.69 ID:bhs1F35V.net
欧州は金は出せなくてもlinuxのlinus君とか
人材が出せる。
が日本はそっちもお寒い限り。

431 :デフォルトの名無しさん:2017/01/15(日) 11:06:24.97 ID:e6h5RF1E.net
欧州???国って言ってんだけど????
100歩譲って認めてやるがそれ以外は????
世界の中で日本が特別に劣ってる証拠あるの???
やっぱパヨクの卑日ポルノか????

432 :デフォルトの名無しさん:2017/01/15(日) 11:07:16.61 ID:e6h5RF1E.net
自分が雑魚でゴミなのを企業や国のせいにしてるだけか。

433 :デフォルトの名無しさん:2017/01/15(日) 11:23:39.35 ID:JVFXGhWK.net
googleの創業者のなかに日本人が居ないこと自体既にマズイ。
創業はロシア、アメリカ(母ユダヤ系)の2人か。

アメリカかIT産業の創業者は海外の移民が多いと言うが
庶民にも聞こえるような大手企業の創業者に日系のプレイヤーが居ないのは残念。
禿電?
あれは日本に寄生した北朝鮮系だな。

434 :デフォルトの名無しさん:2017/01/15(日) 11:48:46.47 ID:ezeuue3x.net
日本は全体主義で相互監視が酷い。毛色の違う異物への攻撃性が異常に高い
集団から逸脱して、新しいものを作ったり、新しいことを始めるのには根本的に向いてない

諦めて何か他の得意なことを強みにしたほうが良い
ITの分野で日本人が強く出れる部分はどこだろう?

435 :デフォルトの名無しさん:2017/01/15(日) 12:48:51.29 ID:nEHh2xZn.net
次世代言語の議論をしろ��

436 :デフォルトの名無しさん:2017/01/15(日) 13:37:17.55 ID:bMxmBfkn.net
もう少し流行って、かつ、
armが一級になって、staticなバイナリが正しく作成されるようになれば使うんだけど。

437 :デフォルトの名無しさん:2017/01/15(日) 22:46:08.78 ID:o+7bTZNn.net
これから10年間超高給とれる言語という意味の次世代言語なら、アセンブラとCOBOLで確定。
メンテナンスできる人材が定年で消えたから、引っ張りだこです。

438 :デフォルトの名無しさん:2017/01/16(月) 00:13:25.16 ID:WtkYzKjH.net
>>437
君10年前も同じ事言ってたよね

439 :デフォルトの名無しさん:2017/01/16(月) 00:25:00.39 ID:gqa5wV4S.net
>>437
COBOLは金融系だから高給かもしれんが、アセンブラって高給もらえる?

440 :デフォルトの名無しさん:2017/01/16(月) 11:28:50.29 ID:ByzsO0Om.net
こんなレガシー言語リプレースされるだけやん

441 :デフォルトの名無しさん:2017/01/16(月) 11:39:43.83 ID:1jE1rrTm.net
アセンブリ言語の仕事は
有るか聞くような程度のやつに回る仕事ではない

442 :デフォルトの名無しさん:2017/01/16(月) 21:27:23.95 ID:PFk6C6RG.net
10年、20年前も同じようなこと言ってたわけで。

443 :デフォルトの名無しさん:2017/01/17(火) 01:10:20.90 ID:MyNqNbNL.net
プログラマー失格なんだろうが名前がかっこわるい言語や処理系は使う気がおきない・・・
GoとかGoとかGoとか

444 :デフォルトの名無しさん:2017/01/17(火) 01:43:54.38 ID:SfC1RQBu.net
その点ElixirとPhoenixは厨二心くすぐる良いネーミング

445 :デフォルトの名無しさん:2017/01/17(火) 06:57:19.29 ID:F7nL193/.net
実用性はないだろうけどhaskell面白い

446 :デフォルトの名無しさん:2017/01/17(火) 07:25:18.30 ID:mlYpDpZm.net
>>443
ググルのくせにググラビティの低い単語使うなって感じだわな
それとも間違えて検索したやつも釣る作戦なのか?

447 :デフォルトの名無しさん:2017/01/17(火) 07:28:23.67 ID:o6RPtWbY.net
その点ではHoogleがあるHaskellは使いやすい

448 :デフォルトの名無しさん:2017/01/17(火) 17:19:23.23 ID:1PLMnPDO.net
>>443
PHPとかVBもかなり恥ずかしい

449 :デフォルトの名無しさん:2017/01/17(火) 23:38:44.00 ID:mlYpDpZm.net
>>448
名前だけじゃなくて中身もゴミだからセーフ

450 :デフォルトの名無しさん:2017/01/17(火) 23:38:54.26 ID:tEbt44iK.net
Haskellはうんこ
基礎部分に遅延評価なんて必要なかったのに、これ入れたせいでまともにデバッグもできない
でも好き

451 :デフォルトの名無しさん:2017/01/18(水) 00:27:03.29 ID:8wN4arsI.net
>>450
ツンデレめw

452 :デフォルトの名無しさん:2017/01/18(水) 01:22:48.98 ID:89m8Rmgi.net
ここまで、Elmの話題が皆無…

453 :デフォルトの名無しさん:2017/01/18(水) 01:23:42.53 ID:mjM2FghJ.net
>>450
きしょ

454 :デフォルトの名無しさん:2017/01/18(水) 09:02:36.47 ID:lnNGIUHh.net
>>452
なぜかHaskell使いに仲間意識持たれて初心者が勝手に遠ざかっていくElmくんかわいそう

455 :デフォルトの名無しさん:2017/01/18(水) 20:16:05.51 ID:mPXW+ZQ1.net
趣味ですらアセンブラが活躍する場所がなくなってきたな
昔はちょっとしたパズル感覚で遊んでたのに、今は開発環境見つけるだけで一苦労
手軽にアセンブラしようと思ったら組み込みになってしまう

456 :デフォルトの名無しさん:2017/01/18(水) 20:50:56.98 ID:gekV74Sk.net
JITが大流行りという印象だが

457 :デフォルトの名無しさん:2017/01/18(水) 22:47:06.89 ID:47oqHyXA.net
Erlang読みにくいって思ってたけど、ちょっと触ってみよかな

458 :デフォルトの名無しさん:2017/01/19(木) 00:11:30.37 ID:CpaC5IR5.net
やっぱScalaよりKotlinだよね

459 :デフォルトの名無しさん:2017/01/19(木) 01:42:08.57 ID:zHR4QFYC.net
ちょっと待って.このスレ, Rust に対して「関数型」って位置づけで理解してるの!?!?!?
確かに Haskell あたりから良い言語機能パクってるし,そう見えても仕方ない部分はあるかもだけど,
Rust はどこからどう見ても現在の C++ の位置(システムプログラミング)を置き換える大本命でしょ.
自分の周りを見てみる限り,トップレベルで C++ を理解して使っている人ほど
Rust に惹きつけられてるって印象なんだけれど…….

460 :デフォルトの名無しさん:2017/01/19(木) 02:50:28.41 ID:RXOn32X2.net
>>459
言語のパラダイムとその目的は直交する概念でしょう
システムプログラミングを目的とする言語は常にC++的パラダイム、
まあこれもなんのことか分からんが、
でなければいけないというのはおかしい
むしろ違うからこそ置き換えが生じるなんてこともあるだろ

461 :デフォルトの名無しさん:2017/01/19(木) 06:24:55.96 ID:/jbUfW0M.net
>>459
言語機能にHaskell云々とかが謎
一意型はCleanとかだし、traitとかもないよ
メモリ管理的にも基本は紛うことなくC++で間違いない
むしろなんでそう思ったの?

462 :デフォルトの名無しさん:2017/01/19(木) 07:41:32.90 ID:CpaC5IR5.net
モジラだから始まる前から負けてる

463 :デフォルトの名無しさん:2017/01/19(木) 07:43:34.72 ID:RXOn32X2.net
はい、Goの方が好きです

464 :デフォルトの名無しさん:2017/01/19(木) 10:52:15.29 ID:WfPlwH7z.net
>>459
お前はいきなり何言ってるの?
誰が「関数型だ!」なんて言ってる?
関数型の特徴 *も* あるってだけだろ?

465 :459:2017/01/19(木) 12:25:38.64 ID:zHR4QFYC.net
すいません.スレに Rust に対して関数型だという認識でいるっぽい
レスが散見されたので脊髄反射で意味不明なこと書いてしまいました.
無視してください.お騒がせしました.

466 :デフォルトの名無しさん:2017/01/19(木) 12:36:13.78 ID:3cGCPrfQ.net
459の人気に嫉妬 (C++屋)

467 :デフォルトの名無しさん:2017/01/19(木) 17:34:52.40 ID:/jbUfW0M.net
>>465
言い訳も意味不明すぎる…
人のせいかよ

468 :デフォルトの名無しさん:2017/01/19(木) 23:15:35.47 ID:ywtfLg9V.net
>>438 >>442
うちの会社は去年、定年でアセンブラ職人が文字通り職場から消えた
もう仕事請け負えなくなった

469 :デフォルトの名無しさん:2017/01/20(金) 23:05:58.25 ID:nqPs9mCA.net
WikipediaのGoの記事でパラダイムの欄にコンパイラ言語って書いてあるんだけど
あれどういう意味?

470 :デフォルトの名無しさん:2017/01/22(日) 00:24:26.64 ID:JSjE+wfT.net
実装が主にコンパイラであるとか、その程度じゃないの

471 :デフォルトの名無しさん:2017/01/22(日) 01:03:58.55 ID:34mb+epJ.net
”コンパイラ”という言葉の使い方間違えてない???

472 :デフォルトの名無しさん:2017/01/22(日) 01:36:33.15 ID:EXKusZK8.net
Cが歪んだ欠陥の多い英語なら、RustはエスペラントでGoは土方の符丁。
それが次世代かと問われればまぁ悩むが、少なくともエスペラントよりは既に役に立ってる。

473 :デフォルトの名無しさん:2017/01/22(日) 12:47:11.76 ID:gR66eMPN.net
こういうRust触ったこともないのに語るやつ多すぎ
仕様変遷しまくってる事すら知らんのだろうけど

474 :デフォルトの名無しさん:2017/01/22(日) 15:18:10.45 ID:5oGRvfyZ.net
じゃあLispはラテン語かね?

475 :デフォルトの名無しさん:2017/01/22(日) 16:00:53.39 ID:Y6eD6Fzb.net
そもそもお前らほんとにスレで上がってるような新興言語実際に使ってるんか?

476 :デフォルトの名無しさん:2017/01/22(日) 16:48:44.65 ID:LnKWEMsE.net
  __    .,-、
  │゙}    | .|    ,「゙'',!     ,,.,,
 .│.| lニ二" 二,,コ  | .l      l、.゙l、
  | .|    | |    | .|      l、.゙l
  | .|  __} .|     l ゙l ,r、   . l .゙l   .,i-''''二二゙''、
  | .| ./┌‐i、 ,"ヽ,、  l ヽl  i     l-┘   ゙'''"    | !
  ゙l,,〕 ヾ‐''_,/`゙'-"   ヽ  ,/          ,i--‐'゙,/
        ̄        ゙''''"            `'''^´

477 :デフォルトの名無しさん:2017/01/22(日) 16:53:40.51 ID:x/I4pfhT.net
この記号の羅列何?

478 :デフォルトの名無しさん:2017/01/22(日) 21:14:13.78 ID:oEaDlbYA.net
>>473
触ってるよ。エスペラントよりもっとひどくなってるな。
変遷しまくる程度にしか煮詰まってないか、必要でない機能がまだまだあるんだろ。
しょーじき、賢いプリプロセッサ程度じゃん。今の状態。

>>475
GoとErlang使ってるよ。あとHaxeと。

479 :デフォルトの名無しさん:2017/01/22(日) 23:47:16.62 ID:34mb+epJ.net
>>478
すげー変態的
趣味だろ?業務じゃありえんやろ?

480 :デフォルトの名無しさん:2017/01/22(日) 23:57:03.89 ID:oEaDlbYA.net
>>479
Goはふつーに実務で使ってる。
ErlangはCouchDB周りで触らざるを得ないときには少し読むけど、それ以外は趣味。
Haxeは完全に趣味。

481 :デフォルトの名無しさん:2017/01/23(月) 02:21:05.80 ID:2bmTlfe7.net
>>478
明らかに触ってない人間の解説乙
どこがプリプロセッサやねんw

482 :デフォルトの名無しさん:2017/01/23(月) 08:52:10.29 ID:+G4albEd.net
たぶんプリプロセッサがわかってないんだと思う

483 :デフォルトの名無しさん:2017/01/23(月) 10:43:46.85 ID:+k8JNm+i.net
>>481
好きな人にはそうとしか見えないんだろうね。蓼食う虫も好き好きだし。
他の言語で十分なんとでもなる事をキツめのlintとマクロ展開でごまかしてるだけにしか見えん。
よくできたCじゃん。

484 :デフォルトの名無しさん:2017/01/23(月) 14:12:35.24 ID:uB7NxMna.net
>>1
一番進み過ぎた言語 Prolog こそ次世代言語の本命でしょう。

485 :デフォルトの名無しさん:2017/01/23(月) 17:18:39.16 ID:uf3hmdYR.net
今まで「u'日本語'」じゃないと文字化けしていたのが
Python 3.6で試したら「'日本語'」でも文字化けしなくなった。
いつのバージョンからuなしでも文字化けしないようになりました?

import win32com.client
shell = win32com.client.Dispatch('WScript.Shell')
shell.Popup('日本語')

486 :デフォルトの名無しさん:2017/01/23(月) 18:41:30.80 ID:2bmTlfe7.net
>>483
最近のlintは型推論まであるのか、そりゃすごいな
ところで素朴な疑問なんだけど、プログラミング一切できない人が、なんでプログラム板の次世代言語のスレで議論できると思ったの?

487 :デフォルトの名無しさん:2017/01/23(月) 18:47:35.91 ID:+k8JNm+i.net
>>486
うーん、出来るけどね。
Roslynなんかはコンパイルとしての動きとは別にちゃんと解釈して、インテリセンス出したりしよるけど。
文字列としてではなく、ASTとして解釈するたぐいのlinterならちゃんとやりよるよ。gometalintとか。
見聞狭いね。議論出来るの?

488 :デフォルトの名無しさん:2017/01/23(月) 18:57:29.08 ID:+k8JNm+i.net
こういう煽りとか受けると、Rust使いの人って、Ruby使いそっくりだな、って思うわ。
自分が使ってるものが一番であるべきで、別の解はありえないと思ってるとか、
その中のいびつな部分や、別に言語が担保するべきでない部分まで肯定する所とか。
あのマクロ定義、間抜けすぎるだろ。

489 :デフォルトの名無しさん:2017/01/23(月) 20:08:59.71 ID:2bmTlfe7.net
>>487
RoslynにLint関係ねえじゃんw
しかもastと型推論は別なのに、それすらわからんとか
最初に叩いて煽ったのもそっち
知識アピールはいいけど、墓穴掘りすぎだぞニワカ

490 :デフォルトの名無しさん:2017/01/23(月) 20:14:39.55 ID:2bmTlfe7.net
>>488
お前が大した知識ないのはバレバレ
しかもどんどん自分の意見の適用範囲広げてるけど、
その突っ込んでる内容、あらゆる高級言語に当てはまる詭弁ばかり
最初から煽る目的で議論する気ないくせに良く言えるな

491 :デフォルトの名無しさん:2017/01/23(月) 20:32:56.32 ID:a4+az9Fs.net
そんなことよりClojureの話しようぜ

492 :デフォルトの名無しさん:2017/01/23(月) 22:52:08.68 ID:+k8JNm+i.net
>>489
お前はちょっとずれてる。
他の高級言語で出来るなら他の高級言語使えば良いんだよ、と言ってんの。
歪にでも機能盛るのなんか簡単なんだから。
Cのプリプロセッサの闇マクロとレベルが変わらん。
と言うか、ごく最近のCならその辺割と無理矢理でも対応してる。autoとか。
叩いて煽ったって言ってるが、被害妄想も甚だしいだろ。
ただの相応の評価だよ。
ErlangやらGoみたく、抽象化に成功してる訳でなく、ただの意識高い言語でしかない。エスペラントそのもの。

別なのに、って言うが型推論するためには、何が必要か考えれば、自明でしょ。
余程、知識が無いのが悔しいんだなあとしか言えんな。

493 :デフォルトの名無しさん:2017/01/24(火) 01:43:26.86 ID:AL5KdU5e.net
めちゃくちゃな位置に読点打つのやめてくれ

494 :デフォルトの名無しさん:2017/01/24(火) 02:59:17.73 ID:nvNd8iP1.net
どうでもいいけど最近(というほど最近でもないけど)autoが変わったのはC++な

495 :デフォルトの名無しさん:2017/01/24(火) 09:41:48.45 ID:X6a8J5Il.net
こういうやつがRustに来ないようでなにより

496 :デフォルトの名無しさん:2017/01/24(火) 10:10:39.11 ID:9yrS8iWN.net
numpyみたいな配列演算が出来て、高速なバイナリを吐ける数少ない言語、Fortean

497 :デフォルトの名無しさん:2017/01/24(火) 10:35:47.27 ID:tjYeiy24.net
中二病御用達

498 :デフォルトの名無しさん:2017/01/24(火) 12:35:58.80 ID:ZplzBBh2.net
やはり、日本ではRubyがこれからの主流になっていく。
Rubyは、わかりやすくて、とても便利な言語になっていくよ。

499 :デフォルトの名無しさん:2017/01/24(火) 12:41:09.69 ID:v4PNRBuu.net
https://youtu.be/quIHgwuF6r4

500 :デフォルトの名無しさん:2017/01/24(火) 12:45:34.16 ID:1jD/G+od.net
>>498
無理だよw
Haskellが有るから

501 :デフォルトの名無しさん:2017/01/24(火) 13:06:07.13 ID:ZplzBBh2.net
Haskellってどんな言語?

502 :デフォルトの名無しさん:2017/01/24(火) 13:41:46.26 ID:8DG1wjio.net
個人的な印象だけど、自己満足のオナニーコードゴルフをするための言語?

503 :デフォルトの名無しさん:2017/01/24(火) 13:44:01.82 ID:qWEELi6g.net
ゲイが好んで使う言語教えて

504 :デフォルトの名無しさん:2017/01/24(火) 14:19:38.30 ID:wfxe1Gqr.net
>>496
Julia
python

505 :デフォルトの名無しさん:2017/01/24(火) 15:39:09.84 ID:pLdiQDlt.net
>>504
Juliaはバイナリ吐けないだろ!

506 :デフォルトの名無しさん:2017/01/24(火) 15:45:45.60 ID:PRTM8AJA.net
>>505
馬鹿はだまってろ

507 :デフォルトの名無しさん:2017/01/24(火) 16:25:37.57 ID:pLdiQDlt.net
>>506
どう馬鹿なのか説明しろ

508 :デフォルトの名無しさん:2017/01/24(火) 17:54:48.16 ID:vEK0QlhR.net
>>498
世界で一番醜い言語引き合いに出して面白い?

509 :デフォルトの名無しさん:2017/01/24(火) 21:22:20.55 ID:GIi5sfFU.net
これからはVHDLだよ。

510 :デフォルトの名無しさん:2017/01/25(水) 00:03:19.00 ID:lIO6GAcv.net
プリティで
プロプロ
ふたりは
プリプロセッサ

511 :デフォルトの名無しさん:2017/01/25(水) 06:03:53.20 ID:X1/NSe9Y.net
>>492
Cのautoは今でもANSIのままだろw
これでCすら触ったことないのがバレたとw
この調子じゃCやRustやRubyどころか、GoとErlangも触ってないなw

で理解できない素人が背伸びすると、
平気で「賢いCプリプロセッサ」とか異次元方向の妄想した上に、
理解できない言い訳に、使ってる奴は意識高い系だからとか言っちゃうw

プログラマならRustの種々の型機能やメモリ機能を軽く紹介読むか、触ればCとは別種とすぐわかる

つかGoやErlangみたいのは、経緯も機能も抽象化じゃなく、どちらもよく考えられた特化だよ
どちらも苦手なものは冗長になり、抽象でもなんでもない
抽象化してるのは記述側であって、それこそast変換やマクロの担当領域
で、なぜか流れでお前の言う意味の抽象化に優れるRubyを貶しとるのも、また墓穴だなw

そもそもジェネリックプログラミングもさせてくれない物を抽象化とか、
さらにRustの文脈でGoと明らかに対照的なErlangと比べてる時点で、なーんもわかっとらん
触ってもないのにErlangやGo出さないでくれな?

512 :デフォルトの名無しさん:2017/01/25(水) 08:45:34.77 ID:JgDNrEDV.net
必死だな。

513 :デフォルトの名無しさん:2017/01/25(水) 11:11:42.72 ID:rV9IVXhE.net
なんでRustがあんな褒め称えられてるのかわからん。
書きたいことも書けないコンセプト段階からの欠陥言語。そのうえ全く言語仕様が安定してないくせにバージョン1を名乗っていやがる。

なにより開発元があの悪名高いモジカス。
使ってるやつの名簿を詐欺師に売ったら儲かるだろうなとしか思えん。

514 :デフォルトの名無しさん:2017/01/25(水) 12:30:09.23 ID:a41bI17H.net
LLVMのフロントになっててemscriptenでwasmに持ってけるのってどれ?
C/C++, OCaml, Rustは出来る(安定とはいっていない)っぽいんだけど

515 :デフォルトの名無しさん:2017/01/25(水) 13:37:52.95 ID:jalhm0fE.net
書きたい事が書けないって普段良くない設計でばかり書いてるんじゃないかなぁという印象

516 :デフォルトの名無しさん:2017/01/25(水) 14:58:30.01 ID:qs8Et3LQ.net
>>515
Rustが受け入れない設計は悪い設計とか信者はお務め御苦労様ですとしか言えんわ。

ポインタ引き回してアロケーションの回数抑えるみたいな当たり前の設計も良くない設計か?

517 :デフォルトの名無しさん:2017/01/25(水) 16:10:34.78 ID:oqpNR6jO.net
アロケーションの使い回しってCとかForthくらいでしかやらんと思うんだが、そんな良い設計かね?リスクに見合うほどのリターンが得られるのか疑問
スレタイにある次世代言語の中でアロケーション使い回しが一応可能なのはRustだけなのにRust叩きに使うのもおかしい

あと、1.0より前の仕様変更とそれ以降の仕様追加を一緒にしちゃいけないよ。1.0で動くコードは1.14でも動く
nightly使ってて仕様変更が激しいと文句言ってるなんて流石に無いと思うが

518 :デフォルトの名無しさん:2017/01/25(水) 17:13:18.29 ID:qs8Et3LQ.net
>>517
スレタイ言語の中で「システムプログラミング言語」と自称してるのはRustだけのはず

システムプログラミング用途というからにはメモリ領域を人の手で管理することができないといけないのに、
メモリ領域の操作に異常に制限がかかっていて単純なポインタ引き回しすらコンパイラを通してくれないのは
コンセプトの時点で矛盾していて使えたもんじゃない欠陥言語といえる。
プログラム全体をunsafeで囲わないと何もできやしない。

スレタイの他の言語は別にシステムプログラミング言語とは自称してないからこの点についてはどうでもいい。

あと「言語仕様が安定してない」は自分の日本語が悪かった。
正しく言うと「言語仕様が完成していないのにバージョン1を名乗っている」だ。
stableでは全く機能が足りないからと、事実上nightlyがスタンダード化してる状況が言語として最悪だということがいいたかった。
バージョン1.0から今までで後方互換性が崩れたことがないのはその通りで、そういう意味では安定しているのは間違いない。

519 :デフォルトの名無しさん:2017/01/25(水) 21:34:41.13 ID:Lq+TsBQo.net
まあ、Rustがメインになることなんて無いんだからどうでもいい話だわ

そんな事よりもっと前向きな話しようぜ

520 :デフォルトの名無しさん:2017/01/26(木) 00:24:16.43 ID:gI5T8RS3.net
そもそもGoよりマシって話はあってもRustを褒め称えるレスなんて無くね

521 :デフォルトの名無しさん:2017/01/26(木) 01:22:41.08 ID:U+wIxi6K.net
Rustは存在が破綻してるから言語の選択肢に入ってること自体が異常だから。
次世代言語と称してMalbolgeがリストに入ってたらちょっと待てってなるだろ?

522 :デフォルトの名無しさん:2017/01/26(木) 01:35:23.63 ID:ReQNma6u.net
Rustは確かにC++的な意味で糞だけど
仕様すら読めない半可通が叩ける言語でもないがな

523 :デフォルトの名無しさん:2017/01/26(木) 02:15:11.80 ID:HYQr5vgB.net
ものすごい抽象的だけど、
コードをきれいに書く力って、後天的に身に付けられるものかな?

職場のオッサンが、マジでゴミみたいなコード書いてて
しかもそいつが年功序列でレビュワーやっててすごい迷惑

Effective Javaもリーダブルコードも何も勉強してないような、
3年目の俺から見ても汚物にしか見えないコード書いてるんだ

俺もサボってたら将来あんな薄汚いオッサンになるかと思うと恐怖でしかない
でもサボるサボらずに関わらず、コード力が先天的な頭のよさで決まるのだとしたら・・・・

524 :デフォルトの名無しさん:2017/01/26(木) 02:17:15.59 ID:HYQr5vgB.net
付け加えて、言語で糞コードをなくせるか?
についても気になっている

少なくとも、PHPが糞コードを幇助する糞言語なのは
身をもって知っている

525 :デフォルトの名無しさん:2017/01/26(木) 09:22:54.52 ID:a0I3whVq.net
JS、PHPは糞しか生まれない

526 :デフォルトの名無しさん:2017/01/26(木) 10:09:18.60 ID:DaX/1RQ+.net
クソしか生まない言語はあれど、
クソを生まない言語はないと思われる。

あと無能な老人が害悪なのは今の日本の象徴だから割とどうしようもない。

527 :デフォルトの名無しさん:2017/01/26(木) 10:14:14.69 ID:RJ0Hpx43.net
コーダーは糞袋

528 :デフォルトの名無しさん:2017/01/26(木) 12:39:33.06 ID:bsKQCPlQ.net
swiftは同じ処理を書くと同じコードになるって聞いたんだが

529 :デフォルトの名無しさん:2017/01/26(木) 12:43:36.92 ID:7kwoEq8b.net
スポーツと並べるとわかりやすいんじゃない?
正しく練習しなきゃ上手くならない。道具がクソだと下手になる。

530 :デフォルトの名無しさん:2017/01/26(木) 17:57:09.84 ID:g5wYhpw2.net
そのうちIntelliSenseみたいなのがめちゃくちゃ高性能になって糞コードも勝手に直してくれるようになるでしょ

531 :デフォルトの名無しさん:2017/01/26(木) 20:58:32.08 ID:gWo2TLzQ.net
>>523
どんな感じなのがくそだったん?
自分はプログラムを生業にはしてないから、
差し支えなければプロの視点を教えてほしい。

532 :デフォルトの名無しさん:2017/01/26(木) 22:22:51.25 ID:KFyW57Yg.net
結局は都合の悪いことに対して
自分で改善しようとするか無視するか、人のせいにするかってことだな。
はっきりいって技術のあるなしでも言語の良しあしでもない。

533 :デフォルトの名無しさん:2017/01/26(木) 23:47:59.96 ID:RxLp9HsT.net
死んでいく老人の話じゃなくて次世代言語の話しろよ

534 :デフォルトの名無しさん:2017/01/27(金) 00:04:55.72 ID:Qhk5mtQo.net
Fortranの未来について語ろう

535 :デフォルトの名無しさん:2017/01/27(金) 01:24:47.99 ID:NQntvNS5.net
>>523
> ものすごい抽象的だけど、
> コードをきれいに書く力って、後天的に身に付けられるものかな?

もちろん。
ただそのためには自分でコード書いて他人のコードや良き本も読んで、とそれなりに努力をしないといけない。
音楽家しかり小説家しかり。
彼ら彼女らはいつも凄い作品を書いてきたわけじゃない。
凄い作品の後ろにはたくさんの没作品があったことだろう。
ただ、ま、世の中にはその範疇から外れた天才もいるだろうけどね。

で、そのおっさんはそういう努力をしないで歳だけ重ねてしまったんだろうなぁ。
年功序列という制度の悪いところでもあるよなぁ。

536 :デフォルトの名無しさん:2017/01/27(金) 01:35:56.30 ID:62FFmlgo.net
なんかきもい

537 :デフォルトの名無しさん:2017/01/27(金) 01:40:40.83 ID:x0qfwiEe.net
┏━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ヽ,.-、, '  ________  さ い た ま 銘 菓    .┃
┃‐(.゚∀゚)‐<風が語り掛けます   _|_  ┬─ ┬─      .┃
┃ , '`,、',、  二二二二二二二二   .|  .ノフ  ノ口      ┃
┃∩( ゚∀゚),<うまい、うますぎる     食曼  豆頁      ┃
┃ Y  イ   ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄      (株)十万石ふくさや┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━┛

538 :デフォルトの名無しさん:2017/01/27(金) 02:47:21.08 ID:lXZFJWwl.net
Android上で動かない言語って
次世代のカテゴリに含めても良いのだろうか・・・?

539 :デフォルトの名無しさん:2017/01/27(金) 06:05:42.92 ID:jLKypH4t.net
>>533
過去のものの悪習を次世代言語はどう防止するのかを議論するのも大事では?
見やすいコードならPython、モナドで文脈を明示、意識させるHaskellとか。

>>523が具体的事例を挙げれば議論のきっかけになるのではないかと。

540 :デフォルトの名無しさん:2017/01/27(金) 06:31:30.91 ID:gELNspyu.net
こんなこと言ったらお終いな気はするけど、日本じゃJavaとC#じゃね?
未来と言うより将来も安泰そうなの。
結局サポートする企業がどこまでライブラリやプラットホームカバーするのよ?ってのが日本じゃ強いよね。
自分で好きな言語のプラットホーム拡張保守やってる所ってあるけ?
って、ソニーはC#でやってたか。

541 :デフォルトの名無しさん:2017/01/27(金) 06:43:37.24 ID:rENqMvh4.net
JavaはOracleが持ってる時点でもう

542 :デフォルトの名無しさん:2017/01/27(金) 06:53:23.29 ID:gELNspyu.net
>>523
Haskellは副作用有無(入出力)の分割が徹底してるし、パターンマッチで特殊な引数の場合の返り値も徹底されるから保守性や使い回しはやり易い。
(例えばテキストに行番号入れるコード書いた後、さらに単語ごとに別の加工したい際、行番号入れるコードがそのまま流用出来る場合が多い。手続き型言語だと、関数(メソッド)内に出力処理を書いて再利用出来ないことが多い)

コンパイラ言語なのにLLとどっこいどっこいの速度だったり、ライブラリがまだまだ揃ってないのもあるから実用かは微妙だけど、勉強する価値はある。
(LLのライブラリがCで書かれてることが多く、ライブラリ多用するとHaskellと速度差がほぼ無いし、LLはライブラリ多用するのが普通)

543 :デフォルトの名無しさん:2017/01/27(金) 08:44:31.79 ID:0sZ+vQY8.net
>>540
C#、こないだ触ることになったんだけど、相当賢くなってるしね。
F#もあるし、悪いものでは無くなってきてる。

544 :デフォルトの名無しさん:2017/01/27(金) 09:54:43.96 ID:7atcBh1Q.net
>>540
なんだかんだphp使ってるとこ多くない?
javaの案件は面白くない案件が多そう。scalaはまだ良さそうだけど。

545 :デフォルトの名無しさん:2017/01/27(金) 10:19:03.13 ID:wVPMaiNQ.net
>>542
食えない言語勉強する暇があるブルジョア自慢乙

546 :デフォルトの名無しさん:2017/01/27(金) 11:04:09.93 ID:0qUJ+35F.net
F#言語としては好きなんだけどイマイチ使いどころがないんだよな
C#の代わりに使おうとすると何するにもひと工夫必要でじゃあC#使うわってなっちゃう

547 :デフォルトの名無しさん:2017/01/27(金) 11:53:10.18 ID:tJxB3IWG.net
>>545
Haskellを次世代言語の位置づけにするのはおかしいが、可能性を
秘めているのはこの言語しかないのではないか。
C#は次世代の資格はあるが、もうほとんど死んでいる。

548 :デフォルトの名無しさん:2017/01/27(金) 11:53:34.08 ID:0sZ+vQY8.net
>>546
うん、まぁRustと他の言語の組み合わせ程度にめんどくさいと思う。
他の言語に無い概念持ってる言語はその中で閉じといてもらうのが一番良い。いろんな意味で。

549 :デフォルトの名無しさん:2017/01/27(金) 11:54:46.95 ID:0sZ+vQY8.net
>>547
今一所懸命に壊死したところ切り離してるよw
15年の負の遺産は相当。

550 :デフォルトの名無しさん:2017/01/27(金) 12:15:02.65 ID:62FFmlgo.net
すべてF#でやれれば最高なのにって思う
F#覚えたらC#書く気にならない

551 :デフォルトの名無しさん:2017/01/27(金) 12:26:40.08 ID:xRTGaRf/.net
ゲーマー的にはC#はもう次世代じゃなくて現世代だな
次世代はRustっぽい

552 :デフォルトの名無しさん:2017/01/27(金) 13:20:37.43 ID:QnhFowJV.net
>>551
Rustは次世代どころか死産だろ。
MSのTypeScriptとGoogleのGoとAppleのSwiftくらいじゃねーの生きてる次世代候補。

やっぱり資本金の差だわな。

553 :デフォルトの名無しさん:2017/01/27(金) 19:55:10.59 ID:oQLdhHNU.net
>>547
死んでいるとは?

554 :デフォルトの名無しさん:2017/01/28(土) 00:46:14.24 ID:W3Ygu+TX.net
>>552
どれもショボいな
GroovyやRubyのパクリばっかり

555 :デフォルトの名無しさん:2017/01/28(土) 01:06:52.81 ID:+VKCGfwL.net
c++もgccがc++17をサポートしだしたようだしまだまだいくよー、ってかんじだな。

556 :デフォルトの名無しさん:2017/01/28(土) 01:09:22.32 ID:+VKCGfwL.net
rustはその書きづらさとかが何かadaを彷彿とさせる。
どっちもろくに触ってないからまゆつばですが。

557 :デフォルトの名無しさん:2017/01/28(土) 01:09:58.84 ID:7QikrX9R.net
C++ はEigenが仕様についてこれなくなり始めていることを除けば良い方向に進んでいるな

558 :デフォルトの名無しさん:2017/01/28(土) 01:17:58.53 ID:VI/ruDwL.net
Prologが再評価される日は来るのだろうか

559 :デフォルトの名無しさん:2017/01/28(土) 02:12:03.27 ID:XFq0DIM0.net
ねぇよ
関数プログラミング言語の一族の産まれた時点で終了
エピローグでも書いてろだな

560 :デフォルトの名無しさん:2017/01/28(土) 02:36:54.12 ID:W3Ygu+TX.net
>>556
前はC++代替えとしてかなり期待してたけど
なんかもうC++でいいかなって…

561 :デフォルトの名無しさん:2017/01/28(土) 04:03:27.60 ID:RjLDEMKU.net
もう全部Pythonでいいよ

562 :デフォルトの名無しさん:2017/01/28(土) 07:52:24.48 ID:5vZUVW53.net
>>558
最後に生き残るのは、PrologとHaskellだけだと思います。

563 :デフォルトの名無しさん:2017/01/28(土) 08:23:29.25 ID:qS20CWWP.net
>>562
最後は単純なものに収束するのだろうから、Prologは有力だな。
この両方の時代は来るのだろうけれど、さらに20年以上先ではないか。

564 :デフォルトの名無しさん:2017/01/28(土) 08:36:19.21 ID:t4EEW1nJ.net
無いわ。
出てから何十年たってると思ってんだ。
そんな時代がくるならとっくに来てる

565 :デフォルトの名無しさん:2017/01/28(土) 10:03:41.39 ID:O6PqKCVh.net
結局C言語に戻っちゃうんだよな。
そしてC++でいいやってなる。

C++ってある意味次世代言語だと思うんだけど。
こんだけ進化しまくってる言語他にない。

566 :デフォルトの名無しさん:2017/01/28(土) 10:22:49.12 ID:e7B3+uux.net
ガラパゴス化

567 :デフォルトの名無しさん:2017/01/28(土) 10:24:52.55 ID:e7B3+uux.net
生き残るのはDSLだよ
COBOLとか終わる終わると言われ続けてるけど案外長い気がしてきた

568 :デフォルトの名無しさん:2017/01/28(土) 10:31:55.15 ID:W3Ygu+TX.net
>>567
別にCOBOLはDSLじゃないんですけど!
DSLっぽい扱いなだけなんですけど!

569 :デフォルトの名無しさん:2017/01/28(土) 13:33:57.48 ID:sj27+yiD.net
>>554
言語としてショボいかどうかと息してるかどうかは別問題だからな。仕方ない。

570 :デフォルトの名無しさん:2017/01/28(土) 14:37:25.75 ID:uVQI7C3W.net
>>567
> 生き残るのはDSLだよ

DSLというよりも応用分野を確保し独占状態にしてしまった言語が生き残る
その言語を死滅させるには、その応用分野そのものが消滅するか、その応用分野の全てのコードを別の言語でリライトしなければならないから
(後者はリライトのコスト以上に、リライト後のコードの信頼性をリライト前の旧言語のコード並みに向上させるのに要するコストが莫大で現実的に不可能)

> COBOLとか終わる終わると言われ続けてるけど案外長い気がしてきた

COBOLは正にその実例
FORTRANも科学技術計算を握ってるから強い(Cなどに多少は置き換えられたりしてるが、スパコン向けの本当に大きく重要な有償パッケージは
FORTRANのままがほとんど、何しろ誰も全面的にリライトなんてバグ=計算値の間違いの発生が怖くてできない)

「古くから使い続けられている言語ほど今後も永く生き延びると期待して良い」というのがプログラミング言語の余命に関する確実性の高い法則
これは裏を返すと、

     新しい言語ほど早く死滅してしまうと期待できる

となる

だから新しい言語が定着する可能性は現実には一つだけだ(但し、これは新言語が定着するための必要条件であって十分条件ではない)
今まで存在してなかった(少なくとも極く一部の専門家や好き者以外の人間にとっては)全く新しい応用分野と共にその分野用の言語として登場することだ
その具体例としては、例えば以下の2つ

Cが生き残ってて容易に死滅しそうにない理由はそれまでCPU毎にバラバラだった機械語(アセンブリ言語)で書くのが当たり前だった
システム記述用として登場したから

Javaが生き残ってるのは、ネットワークを超えて実行するプログラムという応用と共に登場したから

571 :デフォルトの名無しさん:2017/01/28(土) 16:36:11.52 ID:XSc31UhP.net
でも僕COBOLもFORTRANも書きたくないです

572 :デフォルトの名無しさん:2017/01/28(土) 17:11:37.48 ID:Y6DJH7el.net
書きたくないやつは仕事を失う
耐えられた者こそが適正のある者

573 :デフォルトの名無しさん:2017/01/28(土) 17:15:36.29 ID:0tDA2X/+.net
ナンキン

574 :デフォルトの名無しさん:2017/01/28(土) 19:21:08.55 ID:5vZUVW53.net
>>563
5年くらいすると現在のOR的なAIが見切られて、いよいよ本命の
論理を軸とした知識プログラミングの時代が来るけれど、Prologは遅いから、
専用プロセッサが出てくるまでは本格化しない。やっぱり15年後かな。

575 :デフォルトの名無しさん:2017/01/28(土) 19:34:55.34 ID:YCGMA1K1.net
>>574
15年なんてあっという間だよ

576 :デフォルトの名無しさん:2017/01/28(土) 20:56:30.54 ID:t4EEW1nJ.net
プログラミング言語専用プロセッサとか古い夢見すぎ。今までいくつの専用プロセッサが作られては捨てられてきたと思ってんだ

577 :デフォルトの名無しさん:2017/01/28(土) 21:31:46.52 ID:aj1kIEcQ.net
Lispマシン……

578 :デフォルトの名無しさん:2017/01/28(土) 21:39:50.81 ID:qZyyQJ1b.net
富士通のLisp専用のメインフレームとかあったよなあ

579 :デフォルトの名無しさん:2017/01/28(土) 21:51:03.67 ID:JU7OuWYC.net
シンボリックス…

580 :デフォルトの名無しさん:2017/01/28(土) 21:51:56.18 ID:VuG25nQb.net
結局メモリ読み込んで演算してメモリに書き込むわけだから
cに戻ってくるわけだよ。

581 :デフォルトの名無しさん:2017/01/28(土) 21:54:11.85 ID:5vZUVW53.net
>>576
15年後には深層学習の延長で、大学生でもインテルやAMDクラスの設計が
できるようになる。そういうメーカーは注文に応じて焼くだけ。

582 :デフォルトの名無しさん:2017/01/28(土) 21:56:11.24 ID:aj1kIEcQ.net
>>581
深層学習でCPU作るってどういうことだってばよ……

583 :デフォルトの名無しさん:2017/01/28(土) 22:11:03.00 ID:5eYhXXZd.net
15年後には Central Processing Unit なんてなくなってるんじゃないか

584 :デフォルトの名無しさん:2017/01/28(土) 23:05:42.85 ID:XSc31UhP.net
>>581
ワイのおちんちんもCPUにされそうです・・・

585 :デフォルトの名無しさん:2017/01/29(日) 00:19:47.69 ID:cip5qUAM.net
IoT(Internet of Tinkos)時代の幕開けか・・・

586 :デフォルトの名無しさん:2017/01/29(日) 07:39:32.16 ID:m5jrqXSZ.net
Prologって言語は速度が超遅いから今はマイナーだが
速くできれば、すぐにメジャーに復帰にするよ。15年どころか3年後には。

587 :デフォルトの名無しさん:2017/01/29(日) 08:09:46.11 ID:rcxLcsaw.net
カットオペレーターが鬼門

588 :デフォルトの名無しさん:2017/01/29(日) 08:36:49.81 ID:uQxwW8BY.net
そんなに良いものならとっくに誰かが高速化に取り組んでるよね

589 :デフォルトの名無しさん:2017/01/29(日) 09:45:13.15 ID:9yjQUvuF.net
どう書けるかも大事だが、何ができるかが重要だろ
そのプロロロとかいうゴミは、いったい何ができるんだ?
ハロワして終わりのPHP以下のゴミだろ?

590 :デフォルトの名無しさん:2017/01/29(日) 11:23:49.24 ID:OetkT2qe.net
>>589
GeneXus Watson Pepper

591 :デフォルトの名無しさん:2017/01/29(日) 12:14:43.50 ID:mgBdW0hY.net
DOMとJSONとJavaScriptの構文木のシステムをメガバンクみたいに統合できたらいいなあ

592 :デフォルトの名無しさん:2017/01/29(日) 12:23:55.05 ID:e27+9zV2.net
clojureにはcore.logicってのがあってな

593 :デフォルトの名無しさん:2017/01/29(日) 13:46:52.90 ID:mgBdW0hY.net
括弧を省略できない言語は終わったんだ
Haskellで省略された括弧を全部書いてみろ

594 :デフォルトの名無しさん:2017/01/29(日) 14:42:14.41 ID:9yjQUvuF.net
なお省略しすぎて読めなくなるもよう

595 :デフォルトの名無しさん:2017/01/29(日) 16:05:45.85 ID:l64DxDCa.net
>>589
アセンブラでできること以上のことはどんな言語でも実行不可能。

596 :デフォルトの名無しさん:2017/01/29(日) 16:39:24.28 ID:SZxfjGEN.net
F#はバージョンが5つぐらい進んだC#と思っていい

597 :デフォルトの名無しさん:2017/01/29(日) 16:42:43.91 ID:SZxfjGEN.net
>>307
F#使ってるやつはF#は C# を全てうわまってるって言い切ってるんだけどな
事実はそうじゃないってことかね

598 :デフォルトの名無しさん:2017/01/29(日) 16:58:32.59 ID:FGqv7Eoq.net
LISP Prolog Haskell この三言語だけが生き残る。

599 :デフォルトの名無しさん:2017/01/29(日) 18:44:33.64 ID:9yjQUvuF.net
>>595
ではそのプロロロ(笑)でWebアプリを作ってみて下さい

600 :デフォルトの名無しさん:2017/01/29(日) 21:08:23.34 ID:ZEtActeB.net
>>597
上回ってはないだろ。

601 :デフォルトの名無しさん:2017/01/29(日) 22:50:18.99 ID:Ocx7v7z5.net
PrologはCのインターフェイスから呼び出して領域特化の仕事するための言語で、製品内での位置はどっちかというとLuaに近い。
それ単体でどうこうやる言語じゃないだろ。次世代言語どころかそれ単体で議論する価値がない。

602 :デフォルトの名無しさん:2017/01/29(日) 23:05:57.31 ID:Aj7K1/f5.net
そんな解釈初めて聞いたわ

603 :デフォルトの名無しさん:2017/01/30(月) 00:46:30.51 ID:HnMNGh+y.net
Prologを妄想で語ってるやつ多すぎて笑た
ただのDB性能依存なだけのパターンマッチ言語だから
実際さわってみ
時代遅れすぎて使えたもんじゃないから

604 :デフォルトの名無しさん:2017/01/30(月) 02:32:32.81 ID:HbOHAf+Z.net
動的言語でよくあるハッシュテーブルとクロージャがPrologにはない
それは古いからではなくパターンマッチできなくなるから

605 :デフォルトの名無しさん:2017/01/30(月) 03:49:25.09 ID:XMGcU10o.net
いつまで次世代言語を語るスレで化石の話をしてるんだよ

606 :デフォルトの名無しさん:2017/01/30(月) 04:54:24.86 ID:W8ulMPLc.net
パターンマッチングといえばEgisonはどうなん?

607 :デフォルトの名無しさん:2017/01/30(月) 06:17:33.02 ID:iaipgYYu.net
>>603
「時代」は型推論かいw

608 :デフォルトの名無しさん:2017/01/30(月) 09:18:10.87 ID:djGawl3P.net
F#って次世代ちゃうの

609 :デフォルトの名無しさん:2017/01/30(月) 10:14:55.40 ID:iaipgYYu.net
次世代言語という意味ではなく今後使われるであろう言語という意味だが、
Python Prolog Haskell Scratch だろう。それぞれ
多層学習 意思決定/論理 数学/型推論/遅延評価 初等教育(プログラミング)
に使われる。

610 :デフォルトの名無しさん:2017/01/30(月) 10:52:36.65 ID:HnMNGh+y.net
謎のProlog押し

611 :デフォルトの名無しさん:2017/01/30(月) 12:15:07.23 ID:HbOHAf+Z.net
過去の流行が再現するループ
謎ではないがループを許したら旧世代と次世代の上下関係は壊れる

612 :デフォルトの名無しさん:2017/01/30(月) 12:32:28.19 ID:yNK3VZ2J.net
Prologは言わずもがなだけどEgisonも人工知能の実現を視野には入れているみたい

個人的にはHaskellで人工知能ができて主要言語に仲間入りしたら嬉しい

613 :デフォルトの名無しさん:2017/01/30(月) 17:09:24.55 ID:fyhe5MSA.net
>>603
確かPrologは実用面ではUNIXでのmakeを高度化したようなアプリのインストーラの内部で様々な条件に対応したインストールを行うための
スクリプト記述用としては現在でも使われているはず

まあ普通のプログラムをあれで書く気はしないね、性能的にも処理の考えやすさでも
logicとして考えやすいのは方向性のない(あるいは双方向と言い換えても良いかも知れない)関係のレベルであって
実際の処理プログラムで必要とされる入力から出力という一方向の流れはlogicとは縁も所縁もない概念で、
だからそういう方向性のある処理をPrologで書くとなると、カットを多用せねばならなくなってlogicとしての理解容易性が急激に失われる

614 :デフォルトの名無しさん:2017/01/31(火) 03:09:27.57 ID:tYaUr3EC.net
>>613
どこから突っ込めばいいのか
まず君が言ってるのは方向じゃなくて順次処理だろ
そして順次処理と論理は別に背反しない

Prologが論理的とでも言いたげだけども、ただ網羅性あるから使われてるだけで
その実単なるオーバーロードの塊でしかなく、しかもそれを書くのは人間
実際の記述は論理どころか冗長性だらけ

しかも性能も高くない
ただのレガシーだよ

615 :デフォルトの名無しさん:2017/01/31(火) 09:10:49.94 ID:qlhVwcaG.net
化石の話はやめてください!

616 :デフォルトの名無しさん:2017/01/31(火) 09:22:33.04 ID:lkTuVnqH.net
そうだよ。早く永遠の次世代言語Haskellさんの話に戻ろうぜ

617 :デフォルトの名無しさん:2017/01/31(火) 12:34:36.20 ID:JS6r4WTp.net
>>614
Prolog自体が論理式なのだから仕方がない。
網羅性とかオーバーロードとか曖昧な表現を使わないこと。

618 :デフォルトの名無しさん:2017/01/31(火) 12:41:14.64 ID:yyJuX8zg.net
>>616
どこの17歳さんかと
2004年にghcのソース読みながら書いたHaskellのコードが
2014年に手も加えずに動作したときには感動した

619 :デフォルトの名無しさん:2017/01/31(火) 13:15:48.55 ID:vxyHL6QY.net
Haskellを勉強してると、Prologでよくね?って思うこと多い

620 :デフォルトの名無しさん:2017/01/31(火) 14:56:50.62 ID:tYaUr3EC.net
>>617
曖昧じゃないのに曖昧と詭弁を言わないこと

621 :デフォルトの名無しさん:2017/01/31(火) 15:59:57.16 ID:1O9cc50/.net
Prologなんてマトモな入門書、教科書が無いじゃん

622 :デフォルトの名無しさん:2017/01/31(火) 16:10:38.41 ID:14v4i2eO.net
>>619
どの辺り?

623 :デフォルトの名無しさん:2017/01/31(火) 16:44:27.23 ID:sDgEqzOm.net
>>621
The Art of Prolog
https://mitpress.mit.edu/books/art-prolog

624 :デフォルトの名無しさん:2017/01/31(火) 17:02:45.56 ID:JS6r4WTp.net
>>621
Prolog Programming for Artificial Intelligence (4th Edition)
http://amazon.co.jp/dp/0321417461/

625 :デフォルトの名無しさん:2017/01/31(火) 18:46:27.00 ID:JS6r4WTp.net
>>621
邦訳は 2th Edition のものだが、二分冊で出版されている。
「Prologへの入門」 http://amazon.co.jp/dp/476490165X/
「AIプログラミング」 http://amazon.co.jp/dp/4764902540/
入門書としてもこの二冊の本が一番評価されている。

626 :デフォルトの名無しさん:2017/01/31(火) 20:27:29.03 ID:nadqMqy3.net
>>619
でもPrologにはカットがあるしモナドがないから
Haskellの遅延評価はPrologのカットと同じ役割を持つ

627 :デフォルトの名無しさん:2017/01/31(火) 22:52:22.12 ID:KtQaXPs7.net
Haskell Erlang なんて作られてから三十数年経ってる言語を次世代なんて。
LISP Prolog みたいなかってはメジャーだった言語を次世代言語候補扱いしたら
怒られるよ。
このスレおかしくないか。

628 :デフォルトの名無しさん:2017/01/31(火) 23:02:13.55 ID:rB3HMGuL.net
>>627
正論禁止

629 :デフォルトの名無しさん:2017/01/31(火) 23:19:45.21 ID:nadqMqy3.net
確かに怒られる側よりも怒る側の方が正論っぽい
だからいつもみんな怒ってるんだな

630 :デフォルトの名無しさん:2017/01/31(火) 23:30:54.27 ID:sDgEqzOm.net
既存言語に怒ってるエネルギーを次世代の新言語を創る作業に投入すればよいのに

631 :デフォルトの名無しさん:2017/02/01(水) 00:49:18.38 ID:Hn+PaGAx.net
もうこれ以上言語いらねえだろ
アホか

632 :デフォルトの名無しさん:2017/02/01(水) 03:08:47.89 ID:AFQEQKMv.net
これが右上がりの言語を次世代と定義しようぜ
http://i.imgur.com/ujNoggx.jpg
Scalaは残念ながら次世代言語から陥落したようだ。

633 :デフォルトの名無しさん:2017/02/01(水) 07:46:04.46 ID:Hn+PaGAx.net
>>632
あああああああああああああああああああああああああああああああ!!!!!!!!!!!(ブリブリブリブリュリュリュリュリュリュ!!!!!!ブツチチブブブチチチチブリリイリフ

634 :デフォルトの名無しさん:2017/02/01(水) 07:54:12.66 ID:6MDtUtj9.net
>>632
この統計正しいの?
Scalaが人気すぎる気がするんだけど。イタリアでの人気が不自然に高いようだし

635 :デフォルトの名無しさん:2017/02/01(水) 08:06:48.64 ID:aIK12EZW.net
検索で他のが落ちたのは、他のはみんな大体習得したんでしょ

636 :デフォルトの名無しさん:2017/02/01(水) 08:46:14.40 ID:JzrfAYDc.net
>>632
カテゴリでプログラミングを指定するのどうやるの?

637 :デフォルトの名無しさん:2017/02/01(水) 10:21:36.50 ID:sUfhjsu+.net
https://www.youtube.com/watch?v=quIHgwuF6r4&sns=em

638 :デフォルトの名無しさん:2017/02/01(水) 21:40:31.66 ID:90VT0b4D.net
Elixirは流行らないと思う
erlangってそんな悪い言語じゃないでしょ
JavaやJavascriptはクソだからaltがはやるわけで、ベース設計がしっかりしている言語のaltは流行らない

639 :デフォルトの名無しさん:2017/02/01(水) 21:44:24.53 ID:90VT0b4D.net
というかaltJSという考え方はない

性能が向上しないのに静的型付けをいくらしたところでシンタックスが冗長になることによるタイプエラー、実効エラーが増えるだけ

そもそも型を間違えるような奴は馬鹿なんだよ、さらにもっとも重要なnullpoは型チェックじゃ捕まらん
性能目的以外で型を宣言する必要はない、これは動的をすこしでもかじってればわかること

640 :デフォルトの名無しさん:2017/02/01(水) 21:52:51.62 ID:RPQD9uLI.net
Erlangがなくならない以上、elixirの実行環境はなくならない
elixirは流行る必要はない
課題提出の集計をパイプみたいにポイントフリーで整理するスクリプトを作れた時点で彼の役目は終わった

641 :デフォルトの名無しさん:2017/02/01(水) 22:13:40.70 ID:90VT0b4D.net
俺はclojure使いだけど、ロマンを感じるのは兄弟言語のracket
laat of usでもスクリプトとして使われたらしいね
ノーティドッグ信者なので、ゲームアーキテクチャという本も持ってるがやっぱりc++は必須だとも書いている

個人的にはメイン言語clojure
(ただしディープにやるならJavaに向き合う必要あり)
継続的研究対象lisp,haskell,racket
パフォーマンスクリティカルなプログラム c,cpp
かつて使っていた言語c#
公用語 javascript

Javascript自体が動的な以上altJSを使う意味がない、functionをfnとか書けたらいいなってぐらいで、それだけのために言語としてラッパー噛ましますかって話
Alt Cが欲しいが、rustはパッと見た感じではC#とかわんなくね?
構文をScalaのような簡潔性を持たせただけ
C#がダメなのは、
クラスネームが無駄に長いことが推奨されていること
.netライブラリに付き合わされること
てかオブジェクト思考のライブラリは基本的にドキュメントが貧弱過ぎるのでつかわなくなっちゃった
でも結局rustは改良したといってもそれのサブクラスでしかないと思う、よって流行らない、それならDのほうがよほど可能性あるわ

次世代の言語、それはD

642 :デフォルトの名無しさん:2017/02/01(水) 22:21:34.40 ID:ciQGnh7G.net
言語とそれ以外がごちゃまぜになってるぞ。
たとえば現状、altJSがJavascriptに翻訳されるからといって、
そのままスクリプトとして動作する環境やコンパイラが出てきたら新言語と認めるという立場だろ?
C++を昔はCへ変換されてたし、C/C++はいまでもアセンブラへ翻訳するだろ。

643 :デフォルトの名無しさん:2017/02/01(水) 22:30:30.50 ID:o164RxC2.net
Haskell嫌いなやつって数学嫌いなんだと思う

644 :デフォルトの名無しさん:2017/02/01(水) 23:07:25.28 ID:/u9dasnn.net
>>641
RacketとDが好きとは気が合うな

645 :デフォルトの名無しさん:2017/02/01(水) 23:30:09.01 ID:Hn+PaGAx.net
>>641
マニアックすぎる

646 :デフォルトの名無しさん:2017/02/01(水) 23:35:08.50 ID:I4hYXvB3.net
Racketなんて言語、B級グルメ好きの俺ですらはじめて聞いたわ。

647 :デフォルトの名無しさん:2017/02/01(水) 23:51:06.89 ID:/u9dasnn.net
Racketは"Lisp gui"で検索かけるとすぐに当たるからLispにアンテナ張ってるなら知ってもおかしくない言語
逆にLispに一切興味がないなら出会う機会は無い

648 :デフォルトの名無しさん:2017/02/02(木) 00:19:57.04 ID:ni6gL+6B.net
Racketは言語使用、ライブラリ、ドキュメント全て半端なく充実しているのに知名度だけが致命的に足りない謎

649 :デフォルトの名無しさん:2017/02/02(木) 07:10:10.84 ID:O2Px6xPF.net
>>641
ネイティブコードは型ない、お前の感覚は未熟
あとC++やってないやつがD出すとかわけわからん

650 :デフォルトの名無しさん:2017/02/02(木) 10:52:40.39 ID:XYLSZm2r.net
>>648
互換性じゃないかな
古いLispを捨てろ新しいLispを覚えろって言われたら
古い方の知名度は順調に下がるんだけど新しい方の知名度は上がらない

651 :デフォルトの名無しさん:2017/02/02(木) 12:49:26.74 ID:997LLvzK.net
>>650
Racketはschemeへの後方互換あるでしょ
さらに言うとalgol60も使えるんじゃなかったか

652 :デフォルトの名無しさん:2017/02/02(木) 13:04:32.19 ID:Y5kXFMjA.net
>>634 >>632
パイの大きさは変わってないんだな
だから変なグラフになる

653 :デフォルトの名無しさん:2017/02/02(木) 18:32:48.21 ID:xBx+Q4xD.net
>>643
俺だわ…
数学もHaskellもただただ面倒くさい

654 :デフォルトの名無しさん:2017/02/02(木) 18:36:57.76 ID:XYLSZm2r.net
>>651
scheme自体に互換性のないバージョンが何個かある
そのうちの一個と互換性を持つか、全くの無関係を装うか
どっちにしても詰んでるだろ

655 :デフォルトの名無しさん:2017/02/03(金) 01:19:44.40 ID:B2TgZG7L.net
>>651
Racketはschemeと決別して独自の道を歩むと決めたから、今はまだよくてもそれに頼るのはちょっとな

656 :デフォルトの名無しさん:2017/02/03(金) 01:35:48.05 ID:gTPj6g+n.net
ここまで、Coqの話題なし

657 :デフォルトの名無しさん:2017/02/03(金) 01:55:31.97 ID:8CU6Wj2k.net
Cock-sucking

658 :デフォルトの名無しさん:2017/02/03(金) 05:28:31.24 ID:9JF21fic.net
確かに、証明支援系のネタがないね。
ラムダキューブとの対応を考えると、

Lisp : untyped
Haskell : typed (λ2, λω)
Coq Agda : typed(λ2, λω, λΠ)

てな感じで順当に進化してるように見えた。
この先には何があるんかな?

659 :デフォルトの名無しさん:2017/02/04(土) 15:46:03.29 ID:OEWGq6Bc.net
データもないのに推論だけで証明ができるというネタは現時点では異端
証明といえば多数決のように統計データで証明するものだ

660 :デフォルトの名無しさん:2017/02/04(土) 16:03:34.70 ID:yGLia+BU.net
データならあるよ。公理や推論規則というデータが

661 :デフォルトの名無しさん:2017/02/04(土) 16:44:43.91 ID:M9nvjW5A.net
統計で証明って初めて聞いたわ。
あおる訳じゃないが、そういう使い方する分野があるのか?

662 :デフォルトの名無しさん:2017/02/04(土) 16:46:42.42 ID:e9aNESBj.net
リーマン予想も統計的には正しいらしい

663 :デフォルトの名無しさん:2017/02/04(土) 16:48:59.12 ID:jFsHbXy/.net
ツッコミ待ち?

664 :デフォルトの名無しさん:2017/02/04(土) 20:02:18.74 ID:OEWGq6Bc.net
逆に、初めて聞いた日本語が見つかったら炎上する分野があることの方が問題なのでは

665 :デフォルトの名無しさん:2017/02/05(日) 00:35:13.86 ID:EaWYUXzz.net
>データもないのに推論だけで証明ができるというネタは現時点では異端
数学者がお前んとこに釘バット持って走っていったぞ。

確かに物理分野とかだと理論に沿った物理現象を観測(統計データで見ることも含む)することで証明完了とするけど、
それと数学の「証明」は別モノで、いくらデータを数え上げても無意味だ。

んで型推論とかCoqの定理系はこの「数学の証明」に相当するもんだ。

666 :デフォルトの名無しさん:2017/02/05(日) 06:26:09.68 ID:dAPLgvDP.net
>>558
PrologもHaskellも速度的なもので外されちゃうのよね。
コンピュータアーキテクチャと切り離されてるが故に。
そこが書きやすさの根源なんだが。

MSなりAppleなりが公用言語に指定した言語が勝ちって面は否めない。
Web系はともかく、何らかのOS上で動く言語は。

667 :デフォルトの名無しさん:2017/02/05(日) 06:45:50.36 ID:lVtt30wn.net
コンパイル、バイナリ化できれば言語と速度は関係ない。
処理系の最適化しだい。

668 :デフォルトの名無しさん:2017/02/05(日) 07:25:52.43 ID:dAPLgvDP.net
>>653
Haskellは再帰で関数書くところから始めれば良い。
それがHow(どういう手順)では無く、What(どういう性質か)を書いてると気付くと一気にハマる。
リスト内包表記とsumでlength書くのも違和感なくなる。
(最近のHaskellは普通の再帰もループにするのでメモリの心配不要)

length [] = 0 --空リストになったら0を足して終了A
length (_:xs) = 1 + length xs -- 先頭から1を足して行って@

length xs = sum [1 | _ <- xs] -- 文字と同じ数の1を用意して、足し合わせる。

文字と同じ数だけ1を用意する処理を関数に括り出せば

ones xs = [1 | _ <- xs]

length = sum.ones

カリー化の勉強にもなる。

どういう性質かで書くようになると、Haskell通してソートの動きなど、アルゴリズムの動きの理解が進む。
(どういう理屈で高速化してるか)

そうしてから、手続き型でどうすれば配列で実現出来る?と考える感じで実用言語へ得た知識を持ち帰るのに良い。
(Haskellの中では速いけど、他の言語のが大抵速い)

触って損はない。

669 :デフォルトの名無しさん:2017/02/05(日) 07:30:56.66 ID:ur3RCCjc.net
Haskell、速いんじゃないの?
HaskellBeats CUsing GeneralizedStream Fusion
て論文があるが、どうなんだろう。
読んだ人いる?

670 :デフォルトの名無しさん:2017/02/05(日) 07:42:36.70 ID:dAPLgvDP.net
>>667
いいや。
関係ある。
細かく指示しないといけないという事は、最適化する単位が小さい。最適化しやすい。
PrologやHaskellは柔軟性があり過ぎて最適化し難い。
それはC++のSTLに似てる。
100倍コードが短くなるけど、遅くなる。

そもそも論理型も関数型もメモリ大食いな宿命を背負ってるので、メモリ速度が遅い今のアーキテクチャに合わない。

671 :デフォルトの名無しさん:2017/02/05(日) 07:52:56.70 ID:dAPLgvDP.net
>>669
C始め、手続き型は普通に書いても速いけど、Haskellは普通に書くと遅い。
手続き型っぽくユーザーの方で書きかた変えて、リストもbyteStringなどの速い構造を使う。
だったら、最初から手続き型で書けば良いやんってなる。
Haskellは、普通の書き方と最適化する書き方で落差がありすぎる。

普通の書き方のコードの高速化が望まれる。

672 :デフォルトの名無しさん:2017/02/05(日) 08:38:34.50 ID:WR2Bdndi.net
>>671
じゃあその論文に書いてあるのは、手続き的なコードということか。あとで詳しく読んでみる。

673 :デフォルトの名無しさん:2017/02/05(日) 11:21:24.55 ID:cMmfZpdA.net
>>668
Haskellってやっぱ基本的にギュッって省略されてる感じで、返って分かりづらい、Rubyと同じ臭いがする
これなら、OCaml・F#の方が、記述は長ったらしいが逆に分かりやすいと感じた

674 :デフォルトの名無しさん:2017/02/05(日) 13:09:18.75 ID:39kPthL5.net
HaskellとかRustとかScalaとかそういう目新しいだけで何もできない言語をドヤ顔で使うのはただドヤ顔したいだけの無能な。
本当にできるプログラマはJavaとかC++とかPHPとかの「物が作れる」言語をひたすら極める。
お前らも遊んでないで勉強しろよ。

675 :デフォルトの名無しさん:2017/02/05(日) 15:06:44.63 ID:eh0DAHa0.net
本当にできる奴はFortranを極める

676 :デフォルトの名無しさん:2017/02/05(日) 15:08:48.15 ID:5fSxdbmG.net
いやForthだろ

677 :デフォルトの名無しさん:2017/02/05(日) 15:40:10.05 ID:ca5We8fF.net
Factorのまともなチュートリアルを教えろ��

678 :デフォルトの名無しさん:2017/02/05(日) 15:50:42.78 ID:uN/SMrch.net
>>675-676
Julia

679 :デフォルトの名無しさん:2017/02/05(日) 16:25:03.68 ID:eIQFXmLo.net
手続き型で書けば速くて関数型で書くと遅いってのは全く的外れ
トレードオフを理解した上で状況にあった言語を選べばいい
http://benchmarksgame.alioth.debian.org/u64q/which-programs-are-fastest.html

680 :デフォルトの名無しさん:2017/02/05(日) 16:27:05.14 ID:eIQFXmLo.net
>>674
Scalaを目新しい言語に入れるな
そしてC++とJava/PHPを一緒にするな

681 :デフォルトの名無しさん:2017/02/05(日) 16:34:26.09 ID:Ijtu7jlP.net
>>674
Haskellが目新しいのですか。
大学ではずーーと昔から、Haskellの話題だらけですが。

682 :デフォルトの名無しさん:2017/02/05(日) 17:04:47.17 ID:eIQFXmLo.net
Haskellは実際のアプリケーションに使われる事例が増えてきたのは最近だから
そういう意味では目新しい言語と言ってもいいと俺は思うけど
RubyはJavaより古い言語だけどRails以降に認知されるようになったのと似たようなもん

683 :デフォルトの名無しさん:2017/02/05(日) 17:48:20.62 ID:mKg8Z6Nb.net
>>674
だいたい同意かな。
ただ新しい言語が何に気を付けてるのかを見るのは意味がある。
Rust がオブジェクトの寿命を気にしてたり、alias を嫌って = のデフォルト動作が move になってたり
ってのは今使ってる言語でも意識はできるし。

684 :デフォルトの名無しさん:2017/02/05(日) 17:58:10.61 ID:6tQdqPMe.net
十人一束の安いプログラマ

685 :デフォルトの名無しさん:2017/02/06(月) 00:05:14.66 ID:w4PqxpOt.net
>>674
PHPでできあがるのは糞の山だぞ
標準関数も文法も挙動も
何もかもが糞
C++やJavaと、PHPなんぞを一緒に語るな痴れ者

686 :デフォルトの名無しさん:2017/02/06(月) 00:09:58.93 ID:5DOCNE2E.net
>>685
多分 >>674 の言う物が作れる言語って、金が稼げる言語の間違いなんじゃね?
ドヤ顔したつもりで自分が1行いくらで稼ぐ系の安プログラマなのバラしてかわいそ。

687 :デフォルトの名無しさん:2017/02/06(月) 00:28:57.43 ID:MWJx5Fr9.net
>>670
コンパイラの自動最適化だ。
おなじ動作をするプログラムなら、
言語によらず最適化ののちにほぼ同速度になるはずだ。
アルゴリズム自体がおなじになるとして。
メモリ食い過ぎとかも最適化が足りてないだけだろ。
かなりいいコンパイラならC/C++やアセンブラなみになるはず。

688 :デフォルトの名無しさん:2017/02/06(月) 00:41:36.15 ID:SAGpF4BT.net
>>687
はずはず言うのはいいから実際の処理系の名前をあげてくれよん

689 :デフォルトの名無しさん:2017/02/06(月) 00:42:49.71 ID:PxvqegTw.net
.
.
.

>悪質パクツイ垢(自称ハッカー)のコピーライティング特定されててワロた

@copy__writing の中の人は東京都三鷹市の莉里子

https://twitter.com/copy__writing
http://i.imgur.com/LyXsDj9.png
http://i.imgur.com/nqT3xBN.png
http://i.imgur.com/2FlhfLE.jpg
https://www.mercari.com/jp/u/446591929/

690 :デフォルトの名無しさん:2017/02/06(月) 00:53:20.06 ID:c0IrdF62.net
 ―┼‐         ノ     /   |  --ヒ_/     /   \ヽヽ    ー―''7
   `」   ┼,   二Z二   レ   /  /´レ' \ ―7 ̄}  |  ー-、   /
 (__  (|フ)   (__ノ  _ノ  ∨`  ノ  /  /     _ノ    \_

    ─┼-        /   |   ‐┼-   |     ー|―
    ─┼─ |   \ レ  /   ̄Tー  /      ノ -─
   (二フヽ  \/    _ノ   (二フ\  ヽ_ノ   / 、__

     i';i
    /__Y
     ||真||                   /⌒彡
  _ ||露||         /⌒\     /冫、 ) ・・・・・・。
  \ ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄\ `./⌒ i `  /ゝ    _,,..,,,,_
  ||\`~~´  (十万石)     \( >     ('\\  ./ ,' 3 `ヽーっ ・・・・・・。
  ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄\`つ    ⌒ _) l   ⊃ ⌒_つ
     .|| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄||                `'ー---‐
( 'A) ・・・。 〃∩ ∧_∧        <⌒/ヽ___
/(ヘ)ヘ    ⊂⌒(  ・ω・) ・・・。  <_/____/ zzzz・・・
         `ヽ_っ⌒/⌒c

691 :デフォルトの名無しさん:2017/02/06(月) 02:22:27.01 ID:MWJx5Fr9.net
>>688
有力HaskellコンパイラはGHCひとつくらいしかない気がするから
いいコンパイラの比較対象がない。

692 :デフォルトの名無しさん:2017/02/06(月) 04:01:30.95 ID:zsAHJXs9.net
>>691
GHCが公開されたのが、1998年でしたか。型推論とか言われだしたのは、
当然コンパイラ以後ですから、そういう意味では20年も経過していない。
次世代言語の候補になっても、不自然ではないかもしれない。

693 :デフォルトの名無しさん:2017/02/06(月) 05:07:32.67 ID:zFZDUWfA.net
>>679
うん。
速度より保守性重視なら関数型も選べば良いのよ。
現役プログラマの先輩の言では、まず一つの言語極めて、プログラミング出来るようになったら言語を選んじゃダメだって。
その点でおいらは落ちこぼれ。
だからHaskellまで抽象化されないとクイックソートが何してるか分からなかったおいらが居る。

普通の言語で理解出来ないなら、プログラマになるべきじゃ無い。

694 :デフォルトの名無しさん:2017/02/06(月) 05:12:14.70 ID:zFZDUWfA.net
>>687
ええと。
最適化するコンパイラ書くのもまた、プログラマなんだ。
Itaniumと言うIntelがx86互換性切り捨てたCPUがあって、コンパイラが優秀なら、すごく並列化出来る命令を切り出せたアーキテクチャ。
でも、コンパイラがそこまで並列化出来る命令を切り出せなくてポシャった。

いくらポテンシャルがあっても、複雑すぎるとコンパイラ書くプログラマがそもそも実装出来ない。

695 :デフォルトの名無しさん:2017/02/06(月) 05:27:55.17 ID:zFZDUWfA.net
>>673
元が数学寄りだから短いけど、別に命名規則で長くしても良い。
実際使う関数さえ機能が分かりやすければ良い。
Hoogleで既存関数も何やってるか調べられる。
ruby,pythonだと手続き型なのでファイルはどんなに短く書いてもOpen、Close処理は書くけど、Haskellは書かない。
LL並みの短さでコンパイラ言語だが、今のところLLが(Cで書かれた)ライブラリ多用すると負ける。

だから、勉強だけして実用言語に持ち帰れと言ってる。

696 :デフォルトの名無しさん:2017/02/06(月) 06:31:27.33 ID:zsAHJXs9.net
>>692
Prologは四十年くらい、仕様がまったく変化していないけれど、
Haskellは大きく変わっている。変わっている方が次世代という感じはするね。

697 :692:2017/02/06(月) 06:34:03.23 ID:zsAHJXs9.net
GHC以外にHaskellコンパイラ開発しようという動きはあるのだろうか。

698 :デフォルトの名無しさん:2017/02/06(月) 10:09:40.36 ID:3ccyGMWG.net
>>692
Proloの言語仕様は変化していないが、作法は以前とは全然違う。
仕様を句構造に解析しておいて、そのまま述語として定義してしまう。
そういう方向。他のプログラム言語とは全然違う領域に踏み込んでいて、
相当に次世代。

699 :デフォルトの名無しさん:2017/02/06(月) 12:33:27.82 ID:5rINm98G.net
move A to B.
のCOBOLの世界に近いのかな。

700 :デフォルトの名無しさん:2017/02/06(月) 17:49:07.32 ID:E9sN5WJf.net
最適化してネイティブコンパイルすれば同等の性能になるなんて
だれがほざいてんだ?
CPUキャッシュのヒット率が全然違うだろ
CPU内で完結してメモリをめったに読まないのが優秀な言語だ

701 :デフォルトの名無しさん:2017/02/06(月) 20:36:16.98 ID:w4PqxpOt.net
よくわからんのだが
実用性と数学性を極めしScalaが次世代最強言語ってことでFA?

702 :デフォルトの名無しさん:2017/02/06(月) 20:48:05.79 ID:mzYzOccO.net
Scalaはバージョン上がる度にぶっ壊れるジョーク言語だろ。

703 :デフォルトの名無しさん:2017/02/06(月) 21:03:12.77 ID:keJvbtX0.net
最強言語とか厨なこと言ってんなという普通の突込みがない。

704 :デフォルトの名無しさん:2017/02/06(月) 21:29:01.36 ID:CnQFCCTc.net
Scalaの構文は吐き気がする
あれは人間が読むものではない

705 :デフォルトの名無しさん:2017/02/06(月) 21:36:55.27 ID:JXLDZe92.net
>>704
REPL入力とソースファイルからの読み込みで受理する構文が異なるという、圧倒的欠点には吹いた

706 :デフォルトの名無しさん:2017/02/06(月) 22:18:58.67 ID:MWJx5Fr9.net
最適化だが。
いまやC++もC#もプレイステーションもGPUドライバもDirectXもLLVM中間言語を使ってるぞ。
JavaやもとのC#も別の中間言語をつかうが
これをLLVMに置き換えてLLVMコンパイラの十分よければ、
Java/LLVMもC#/LLVMもC++/LLVMと遜色ない速度になるはずだ。


LLVM Clang、PlayStation 4用コードを統合開始 | マイナビニュース
http://news.mynavi.jp/news/2015/01/29/018/


Microsoft、LLVMベースの.NET/CoreCLRコンパイラLLILCを発表
https://www.infoq.com/jp/news/2015/05/microsoft-llilc-llvm-compiler

Microsoft、LLVM/ClangベースのDirectXシェーダーコンパイラをオープンソースに2017年1月26日
https://mag.osdn.jp/17/01/26/160000


AMDがドライバを含めたGPUソフトウェアをオープンソース化 - PC Watch
CLANGフロントエンド/LLVMバックエンドのインフラを利用
AMDのオープンソースコンパイラスタックは、CLANG/LLVMのオープンソースコンパイラインフラストラクチャの上に乗っている。
C++の単一ソースコードから、Heterogeneous Compute Compiler (HCC) C/C++コンパイラフロントエンドが中間コードに落とし込む。
LLVMバックエンドで、中間表現からGPUネイティブに最適化コンパイルする。
AMDは、KMDもオープンソース化して行くとしている。言い換えれば、GPUを丸裸にすることになる。
http://pc.watch.impress.co.jp/docs/column/kaigai/736647.html

707 :デフォルトの名無しさん:2017/02/06(月) 22:43:21.44 ID:ZuA1TwNS.net
で、Haskell/LLVMも同じくらい速いのかっていう。

じゃ無ければ、関数型は今のコンピュータアーキテクチャに合わないから、手続き型より早く出来ないと言う私の持論は覆せない。

708 :デフォルトの名無しさん:2017/02/07(火) 02:01:47.12 ID:WpBgUwwL.net
何を持って関数型と呼んでいるかはしらないが手続き型がはやいのは確かだ

関数型の多くは不変的データ構造を前提としていて、できる限りデータコピーを避けるようにはなっているが、データコピーは発生するのでポインタ使ってメモリいじったほうがそりゃはやい

問題はそれで劇的に遅くなるのかという話と遅くなることを許せるかという話

関数型ユーザーは概ねそのコストを支払ってもよいとかんがえているし、払えないなら抜本的な改革を検討する
例えばGPUを操作する、メッセージキューによる並行化

リアルタイムシステムにおいては許容されるレイテンシやスループットを下回るとシステムとして使い物にならない

だが良く考えてみたまえ、金融システムというのはそうしたものの最たるものなわけだ
というか極端なこといえばメッセージキューがうまくまわるなら言語なんてなんでもいいわけですよ
でもってメッセージキューを楽に構築するにはデータが簡単にconstructできるほうがいい

メモリを操作するということは、データをコンストラクトして不要なデータをGCに投げ捨てる、の対極をいってるわけだ

709 :デフォルトの名無しさん:2017/02/07(火) 02:16:47.09 ID:WpBgUwwL.net
つまり要求されるシステム特性によるとしか言いようがない

いわゆるRESTをベースにプログラムを組めるなら、disruptorに代表されるメッセージキューを使うのが最速であるが、3Dゲームみたいな、UIスレッドに負荷が集中するような、副作用の大きいシステムを作成するときには、並行処理なんて無意味だということ

OSが統括するUIスレッドやグラフィックボードが並列処理に対応してれば話は別だが、だからこそ3DレンダリングはCとCppの聖域なわけだ

要はmapしてreduceする処理に還元することが現代のアルゴリズムなわけだ
そうできないなら、シングルスレッドでガリガリやるしかない
そしてシングルスレッドができる処理の限界は、クロックとCPIで決まると、クロックは量子力学的な制約がかかっている以上、もはやCPUを叩いてどうにかする時代は13年前くらいに終わってるはずなんだけど

710 :デフォルトの名無しさん:2017/02/07(火) 07:01:25.51 ID:hM98Yx7Z.net
>>708
何言ってんのかよくわからんなあ…

君が手続き型のが良いと言ってる内容は、さして苦労せずに関数型言語で実装できる
つまり、どちらも扱える関数型から見れば利点になってない

本来の意味で比較するなら、手続き型の制約は、その順序性を必ず担保する必要があるので、簡約も最適化もできない

つまり一般に関数型のが開発効率がいい

711 :デフォルトの名無しさん:2017/02/07(火) 07:34:07.38 ID:hM98Yx7Z.net
>>707
例えばGHCだとしても、コア言語使えば速度も稼げるし、CよりLispのが速いなんてのもよくある話

結局その言語の実行環境と (低級な意味での) 実装するアルゴリズムの問題だと思うね

代表例としてCやFortranばかり出すから、手続き型が速いと感じるだけ
特にLLVMについては、手続き云々より静的型付けによる最適化のがよほど貢献してる

712 :デフォルトの名無しさん:2017/02/07(火) 07:57:32.25 ID:21ebZDJJ.net
そこだよ。
何だよコア言語って。
CはCで速いのにHaskellはコア言語じゃ無いと速く無いのかよって話。
Cは入門書そのまま打ち込めば十分コンパイラが最適化するけど、Haskellはそうじゃ無い。

713 :デフォルトの名無しさん:2017/02/07(火) 08:05:45.72 ID:jqoHFXiR.net
お前アセンブリ言語さんの前でも同じこと言えんの?

714 :デフォルトの名無しさん:2017/02/07(火) 08:12:21.57 ID:ZZufsVw2.net
ゲームプログラミング界の巨人、Tim Sweeneyが「未来のゲーム開発テクノロジー」を語る
超並列処理、次世代のゲームグラフィックスはソフトウェアレンダリングに回帰する

次世代を見据える上では、メニーコアのプロセッサを充分に活用できる大量のスレッドに分割されたゲームエンジンを作らなければならない。
しかし、現状でさえマルチスレッドプログラミングは開発の困難さが指摘されている分野である。
しかも、それを効率的にデバッグすることは非常に難しく、開発規模の拡大や期間の長大化を招いているのだ。

Sweeney氏は、これは現在主流の開発言語であるC++の手続き型言語としての特性に由来すると指摘する。
Sweeney氏に言わせるとそれは「シングルスレッドのプログラムをアセンブラで書くようなもの」であり、生産性が悪いのである。

Sweeney氏は、この問題を解決するためには、ゲーム開発言語として純粋関数型の言語が必要になるだろうと言う。
この種の処理系では、C++のような共有メモリのアクセスや、I/O操作は基本的に行なえない。
その引き替えとして、各関数のアトミック性が構造的に保証されており、安全に並列実行できるのだ。
しかも、コンパイラが対応さえすれば、関数を自動的に多数のコアに分散処理させることができるというスケーラブルな実行バイナリを作り出せる。

Sweeney氏は純粋関数型言語のもつ並列処理安全性に着目しており、将来的にゲームプログラミングはそういった処理系に移行していくべきだとした。
ゲーム開発のメインストリームたり得る言語はまだ登場しておらず、将来に期待しているという。

それにプラスして、Sweeney氏は現在のゲームプラットフォームハードウェアが複雑すぎることも指摘した。
もし、Sweeney氏のいう純粋関数型言語によるゲーム開発が実現したとして、それを基準とするならば、C++によるプログラム開発コストは
マルチスレッド版で2倍、プレイステーション 3版において5倍、シェーダー言語で記述するGPGPU版において10倍かそれ以上にもなるという。

従って、メニーコア世代のプラットフォームに備えて、ゲーム会社は開発基盤を備える必要がある。
次世代のエンジンを開発するには5年くらいはかかるでしょう。だから、今はじめるべきなのです。
ttp://game.watch.impress.co.jp/docs/20080911/epic.htm

715 :デフォルトの名無しさん:2017/02/07(火) 08:21:27.55 ID:oyZmvWF9.net
結局いつの時代も性能と保守性のトレードオフを考えろって話だろ。

716 :デフォルトの名無しさん:2017/02/07(火) 08:21:57.26 ID:Z8WP6lJH.net
俺もそう思ってた、GPUに掛けちゃえばそれ以外の部分が遅くてもあまり関係ないからな。

717 :デフォルトの名無しさん:2017/02/07(火) 08:27:26.29 ID:21ebZDJJ.net
アセンブリ言語は機械語と一対一だろ。
何言ってんの。

高級言語は一対一じゃないから最適化の話が出るんじゃ無いのか?
本当なら、Haskellだって参照透明性活かせば、コード上で計算結果出せるものはD言語みたいにコンパイル時に全部値に置き換えられるはずだが(Cも一部は最適化で値を直接埋め込むが副作用の為に単純なものしか置き換えられない)、そんなHaskellコンパイラは無い。

実装が難し過ぎて、そういう最適化が出来ないなら、机上の空論よりも実際に最適化できる言語が選ばれる。

Cだって、最初は最適化不十分で、アセンブリ吐いて最適化したり、キャッシュに収まるように書いたりという時代があった。

何だかんだで最適化技術の歴史の重みに勝てない。

718 :デフォルトの名無しさん:2017/02/07(火) 08:41:12.90 ID:hM98Yx7Z.net
>>717
いやTemplateHaskellあるから
OCamlも同じく

719 :デフォルトの名無しさん:2017/02/07(火) 08:50:01.92 ID:hM98Yx7Z.net
あー簡約やインライン化の話か
コンパイル時もされるぞ

720 :デフォルトの名無しさん:2017/02/07(火) 08:51:42.62 ID:9tYUAY6s.net
石器時代の環境でプログラミングを楽しみたい
ブートローダは丸暗記して起動する度に
スナップスイッチで打ち込むとか

721 :デフォルトの名無しさん:2017/02/07(火) 09:00:39.46 ID:hM98Yx7Z.net
>>717
あと揚げ足かも知れないけど、ニモニックとマシン語は1対1とも限らない
マクロアセンブラなどに限らず、勝手に変えたり最適化するのもあるから

722 :デフォルトの名無しさん:2017/02/07(火) 09:15:27.43 ID:Z8WP6lJH.net
最適化の重要性はコアを2倍に増やしてスケールできれば
処理速度も2倍だから昔みたいに意味ないんだよね。

723 :デフォルトの名無しさん:2017/02/07(火) 09:16:28.11 ID:lG1uUc9b.net
はいぃ?

724 :デフォルトの名無しさん:2017/02/07(火) 09:34:09.57 ID:vgi/AyaJ.net
>>714
goかElixirでできないのかな?

725 :デフォルトの名無しさん:2017/02/07(火) 09:55:15.02 ID:eLJEaWcO.net
2008年の記事かよ...
カビくせえな

726 :デフォルトの名無しさん:2017/02/07(火) 10:08:27.72 ID:WNm+xswo.net
2008年はまだコア数これからどんどん増えるはずだって時代だったからな。
それに彼は昔、当時としては凄く優秀なソフトウェアレンダラー書いた人だから。
結果は2012年に発表された最新のUnreal Engine4はC++で書かれたとさ。

727 :デフォルトの名無しさん:2017/02/07(火) 10:08:59.30 ID:5WCc2ykt.net
結局問題は今早いかどうかだよ。
Haskellは今、この瞬間にCより速いのか?

そうでないならHaskellを使う理由はどこにもない。どこにもだ。

728 :デフォルトの名無しさん:2017/02/07(火) 10:09:56.06 ID:WNm+xswo.net
>>727
次世代言語を語る部屋なんだから今の話だけしても仕方ないだろ

729 :デフォルトの名無しさん:2017/02/07(火) 10:22:45.70 ID:5WCc2ykt.net
>>728
使う理由はないってだけで、オモチャとして暇潰しに遊ぶことを否定してはいないんだがな。
領域によってはCに替わるとか寝言言ってることに対するツッコミしてるだけ。

730 :デフォルトの名無しさん:2017/02/07(火) 10:26:24.27 ID:pO8TZj/r.net
>>729
(次世代言語スレで)いづれ次世代Cに代わるかもしれないかもしれない
という意見に、結局問題は今速いかどうかってヤバすぎん?

731 :デフォルトの名無しさん:2017/02/07(火) 10:48:41.86 ID:5WCc2ykt.net
>>730
今LL言語レベルの速さのものが将来的に速くなってCにとって替わる目をどれだけ信じられるかって話な。
いずれ高速化するからって希望的観測を自分は信じてない。できるならとっくに高速化してる。

Haskellが次世代言語として実用化するならそれはCとは別領域の話になるんじゃねーの?
以前Haskellでハードウェア記述の話は聞いたことあって、ぶっちゃけそっちの方がNext Cより目あると思う。
実用化いつになるか知らんが。

732 :デフォルトの名無しさん:2017/02/07(火) 10:48:42.62 ID:Z8WP6lJH.net
いまはCPUは複雑な分岐を担当してGPUが単純な計算をするから
あまり速さは関係ないんだよね。

733 :デフォルトの名無しさん:2017/02/07(火) 10:53:19.52 ID:Z8WP6lJH.net
ハスケルは複雑すぎて駄目だなC++と同じくらい複雑すぎて誰も流行らない。
関数型ならLISPがCのようにわかりやすくて良い。
CとLISPを組み合わせて使うのが良いと思うよ。

734 :デフォルトの名無しさん:2017/02/07(火) 11:33:01.31 ID:zhY1djzZ.net
Cと組み合わせる構造は誰でもやってる
ただし見えないように箱の中に隠されている

関数型という名称も箱の名前でしかない
中身を教えないための箱

735 :デフォルトの名無しさん:2017/02/07(火) 12:34:44.05 ID:1OWKqI+v.net
>>731
>できるならとっくに高速化してる。
200人にひとりしか使えないプログラム言語のために、インテルや
AMDが何兆円も掛けて、最適な石を作ろうとするものだろうか。

736 :デフォルトの名無しさん:2017/02/07(火) 12:47:39.04 ID:WNm+xswo.net
汎用プロセッサ沢山積んで並列性高めようとしたlarrabeeポシャったじゃん。
上のTimの関数型言語に言及した記事もlarrabeeの発表あって、それの期待が高まってる時の記事やぞ。

737 :デフォルトの名無しさん:2017/02/07(火) 12:58:52.16 ID:5WCc2ykt.net
>>735
つまり今後も劇的な高速化は見込めないってことだな。

738 :735:2017/02/07(火) 13:09:28.22 ID:s4l5/kyE.net
>>737
何年先は知らないけれど速さというような単純なターゲットの問題は、
高水準の大学生なら多層学習で誰でも最適回路設計くらいできるような
時代が来る。

739 :デフォルトの名無しさん:2017/02/07(火) 13:32:13.80 ID:F4bjZe40.net
>>738
たまに2chでそれいってる奴いるけどソースあんの?

740 :デフォルトの名無しさん:2017/02/07(火) 13:55:47.59 ID:5WCc2ykt.net
>>739
自分の見識が狭いだけだとは思いたいが、
ディープラーニングでハードウェア設計の論文は確かに見たことないな。

741 :デフォルトの名無しさん:2017/02/07(火) 14:07:01.83 ID:42CRzycu.net
cppは結局、1core1PCのスタンドアローンのための言語でしかない
メニーコア時代のゲームのグラフィックは、GPUの成長のおかげ

結局何が並列化できて何が並列化できないかわからない奴の最速理論は無意味なんだよ

そんなに最速目指したいなら、intelのfortranコンパイラ買えばいい、自動で並列化してくれるらしいから

742 :デフォルトの名無しさん:2017/02/07(火) 14:08:56.67 ID:42CRzycu.net
最速目指すならアーキテクチャベンダが作ってるコンパイラ使って当たり前なんだよなあ

743 :デフォルトの名無しさん:2017/02/07(火) 14:17:38.53 ID:5WCc2ykt.net
おうnVidiaがnvhc作ったら考えてやるよ。

744 :デフォルトの名無しさん:2017/02/07(火) 14:58:00.38 ID:21ebZDJJ.net
結局そこだし、時代はIoTでさらに貧弱なCPUが活躍する時代。
ITと相性の良いポストCとも言える言語が求められる。

745 :デフォルトの名無しさん:2017/02/07(火) 19:50:20.98 ID:rnaKi3ZD.net
c++20とかの話しもいいの?

746 :デフォルトの名無しさん:2017/02/07(火) 20:24:44.45 ID:oyZmvWF9.net
まあ確かにそこまで速くしたいソースが手元にあんのかっていうと
特になかったりはする。
てか本当に速くしたいならレイヤー低くしてでもそれなりのことはやるわな。

747 :デフォルトの名無しさん:2017/02/07(火) 22:34:02.71 ID:hM98Yx7Z.net
>>733
C++舐め過ぎか、またはHaskellを勘違いしすぎ

>>736
ポシャってるどころか今売れまくっとるだろ

748 :デフォルトの名無しさん:2017/02/07(火) 23:59:20.16 ID:mio539hi.net
手続き型が高速なのは、ノイマン型コンピュータを前提としているから。

749 :デフォルトの名無しさん:2017/02/08(水) 00:14:23.00 ID:Ie+DQPxz.net
奴隷を並べての一斉計算でシステムを作るなら。
速い言語は変わるだろうな。

750 :デフォルトの名無しさん:2017/02/08(水) 03:00:32.21 ID:r3HFKoMF.net
>>714は2008年だが。
純粋関数型で順序、手続きがないことは、
同一ソースのままコンパイラの側の対応で
シングルもマルチコアに対応できるというのは理屈として正しいし
それ以外に有望な方法はないんじゃないか。
シングルもマルチもソースコードがまったく同一でいいという条件で。

751 :デフォルトの名無しさん:2017/02/08(水) 03:27:00.81 ID:Nu2wobKL.net
実際にはそうなってないのが理想と現実なのよね。。。

752 :デフォルトの名無しさん:2017/02/08(水) 05:18:59.05 ID:/S15sASy.net
>>658から>>659までの空白時間と今の勢いにワロた。
速度はどうでもいいので、Coq、Agdaの先で表現力豊かな言語とかあるん?
どうせやるなら最新のものに触れておきたい。

753 :デフォルトの名無しさん:2017/02/08(水) 06:33:51.04 ID:TX+A2Z+7.net
>>751
なってるだろ
制約は強いがC++でさえある

754 :デフォルトの名無しさん:2017/02/08(水) 08:30:59.39 ID:uiFBRwjo.net
ディープラーニングとかデータマイニングとか言ってるが、SPSSの中の人すら、セミナーで
「予測は予測、推定は推定」「当てずっぽうから『それなりのレンジ』へのチェンジ」「過去の真は現在の真とは限らない」「KKD(勘と経験と度胸)のパラメータ振り」
と正直な事言ってた。
定理証明系の言語は石の開発には確かに役に立つと思うけど、
それ以上は不要だと思うよ。

755 :デフォルトの名無しさん:2017/02/08(水) 10:14:09.19 ID:uXviz4nm.net
書きやすいとかメンテしやすいとかの完全に作り手側の都合で、
速さを犠牲にして使い手側に不都合を押し付けるエンジニアの風上にもおけないようなクズばっかなのかこのスレ。

作り手の都合を使い手にしわ寄せさせるクズはエンジニアを名乗るな。

756 :デフォルトの名無しさん:2017/02/08(水) 10:23:05.69 ID:3ajnzt+4.net
書きやすさ、メンテしやすさは普通にソフトウェア自体の品質に直結するから、その批判は的外れな感じがするね。

757 :デフォルトの名無しさん:2017/02/08(水) 10:36:33.53 ID:cVkmV9gd.net
コストを無視するエンジニアはエンジニア失格だろ

758 :デフォルトの名無しさん:2017/02/08(水) 10:45:10.66 ID:/S15sASy.net
エンジニアという単語やC言語などを自身を同一視するのを止めて、
もっと肩の力を抜いて、新しい可能性を楽しめばいいのに。

759 :デフォルトの名無しさん:2017/02/08(水) 11:02:18.55 ID:6U9fBvBV.net
>>755
書きやすさとかメンテしやすさはコストに直結する。
速さより、コスト重視の使い手の方が圧倒的に多いが。

760 :デフォルトの名無しさん:2017/02/08(水) 11:08:51.59 ID:uXviz4nm.net
そうか。エンジニアって職業そのものが変化してんだな
今のエンジニアは自分の仕事を楽にしたいから製品の品質を下げますとか平気で言うんだな。

俺の知ってるエンジニアは、製品の品質には妥協せず、それで増えるメンテ工数もパシッと実力でねじ伏せたもんだが。

これも時代か。

761 :デフォルトの名無しさん:2017/02/08(水) 11:24:16.20 ID:0pdT/sv9.net
エンジニアーは本物のプログラマーじゃないからな。

762 :デフォルトの名無しさん:2017/02/08(水) 11:27:06.85 ID:3ajnzt+4.net
そうですね。そんなエンジニアばかりであれば一つのCPU命令すら妥協せずフルアセンブラで書かれたソフトウェアがその他の言語で書かれたソフトウェアを実力でねじ伏せてる世界があったんでしょうね。

763 :デフォルトの名無しさん:2017/02/08(水) 11:29:32.03 ID:6U9fBvBV.net
いつから、プログラマを名乗らないエンジニアなんて種族がでてきたんだ。

764 :デフォルトの名無しさん:2017/02/08(水) 11:30:51.08 ID:/S15sASy.net
>>754
周りが不要と思っているものに投資しとくのはビッグチャンスかと。
普通の奴らの上を行け、だっけ?

765 :デフォルトの名無しさん:2017/02/08(水) 11:32:18.41 ID:k7ksM0Re.net
>>764
じゃあやれば(笑)

766 :デフォルトの名無しさん:2017/02/08(水) 11:43:45.36 ID:/S15sASy.net
>>765
もうやってるよ。で、上の質問なわけだ。
CoqよりAgdaの方がシンプルなのでそちらを進めてるのだけど、
その先が既にあったらイヤだなと思った。

767 :デフォルトの名無しさん:2017/02/08(水) 12:03:20.46 ID:MFe8SiQW.net
次世代言語候補がCoqとAgdaというなら納得ではあるが。
1990年代の"Z"を思い出すなぁ。集合論なんて何のと考えていたの
だけれど、さっぱり頭に入らなかった。

768 :デフォルトの名無しさん:2017/02/08(水) 12:09:46.75 ID:k7ksM0Re.net
>>766
大変失礼した

769 :デフォルトの名無しさん:2017/02/08(水) 12:51:48.92 ID:XyA6SYml.net
>>755
書きにくい保守しにくいレベルのものでビジネスに直結するような代物作るなよ
たいていそういうのは書き手自体が無能で、工期不足でUIUXが犠牲にされるんだよ、ポトペタくん

設計センスがないから、アーキテクチャの都合でUI決めるわけだ
わかりやすい例はexcelフォームだよ

770 :デフォルトの名無しさん:2017/02/08(水) 12:54:17.69 ID:XyA6SYml.net
はっきりいうがわかりやすいドキュメントをかけない奴はビジネス適性も設計センスもない

771 :デフォルトの名無しさん:2017/02/08(水) 13:21:32.03 ID:0pdT/sv9.net
本物のプログラマは仕様書を書かない

772 :デフォルトの名無しさん:2017/02/08(水) 13:25:46.66 ID:LV5N7Ks6.net
ats2 は ml と rust と agda を足して 2 で割ったような理解不能言語

773 :デフォルトの名無しさん:2017/02/08(水) 13:33:37.39 ID:ZP7mUzC3.net
そもそもエンジニアなんて別にそんな誇り高い呼び名じゃないし
なんで選ばれしプログラマーみたいな定義になってんの

774 :デフォルトの名無しさん:2017/02/08(水) 16:19:25.95 ID:fGXhImwi.net
チェンジニア

775 :デフォルトの名無しさん:2017/02/08(水) 17:46:03.28 ID:/S15sASy.net
>>767
やはり、有力候補といった感じですかね。
2013年のそっち系の数学の教科書を見るとCoqとAgdaが言及されているので、
現状の最先端と見ていますが、どうかなと。

776 :デフォルトの名無しさん:2017/02/08(水) 18:24:02.08 ID:uiFBRwjo.net
>>764
データマイニングに投資する、と決めること自体が、勘か経験か度胸とも。
Prologで良いじゃん、と言う話やらRで良いじゃん、と言う話をはねのけてコストかける意志的な話。

777 :デフォルトの名無しさん:2017/02/08(水) 19:58:21.05 ID:/S15sASy.net
>>776
これで飯食ってるわけではないので、そこまで必死ではない。
哲学的な何かやりがい感じられて、やってて楽しいのが重要。
旧体制の巨人言語に最先端の尖った言語で挑戦してるっていう設定も厨やハッカーっぽくていいじゃん。
次世代言語スレなのだから皆こういう意識と思ってたが違うのかな?

778 :デフォルトの名無しさん:2017/02/08(水) 20:49:13.83 ID:0pdT/sv9.net
Coqは依存型を超えた高階型が使えてHaskellの100倍凄いよな。
遅延評価もするかしないかも選べるし最強の関数型言語と言っても過言ではない。

779 :デフォルトの名無しさん:2017/02/08(水) 20:56:20.62 ID:+f0LmjaI.net
swift入れてくれよ
goってなんか危ないバイナリ混じってんでしょ
それ聞いてやる気が起きない

780 :デフォルトの名無しさん:2017/02/08(水) 21:07:31.81 ID:k3GtP4PI.net
Haskellでも依存型が使えるようになるらしいよ
2018、2019年辺りから

781 :デフォルトの名無しさん:2017/02/08(水) 21:10:38.79 ID:TX+A2Z+7.net
>>760
昔からそうだが
金も出ないのに要件以上の事をやるのは、単なる馬鹿

782 :デフォルトの名無しさん:2017/02/08(水) 21:30:52.04 ID:0MDQAzJA.net
goはGoogleが全部支配してる言語ってだけで良識ある人は全力で避ける

783 :デフォルトの名無しさん:2017/02/08(水) 21:32:31.61 ID:m2cf+jJp.net
F#ってどう思いますか?

784 :デフォルトの名無しさん:2017/02/08(水) 21:53:11.81 ID:saIve44q.net
google先生は飽きるとバッサリ切り捨てるからねえ

785 :デフォルトの名無しさん:2017/02/08(水) 21:59:43.88 ID:pR9qFxBQ.net
誰が使ってんの状態のDartですらまだほそぼそとメンテされてるんだぞ!

786 :デフォルトの名無しさん:2017/02/08(水) 22:01:53.39 ID:pR9qFxBQ.net
と、気になってgithub見に行ったら2ラストコミット2時間前だった。思ったよりかなり活発なのね。

787 :デフォルトの名無しさん:2017/02/08(水) 22:04:16.61 ID:gd77Yna+.net
F#すこ

788 :デフォルトの名無しさん:2017/02/08(水) 22:35:09.63 ID:ZP7mUzC3.net
Dartは普通のaltJSとしてむしろGoより人気あるイメージあった
対抗馬TypeScriptくらいだし

789 :デフォルトの名無しさん:2017/02/08(水) 22:37:11.52 ID:0MDQAzJA.net
F#はMSに首輪つけられてる身分からすれば良い言語なんじゃね?

790 :デフォルトの名無しさん:2017/02/08(水) 23:21:58.93 ID:b6dR+iVQ.net
まあ go くらいのシンプルな言語なら google が手引いてもメンテくらいできるだろ。

791 :デフォルトの名無しさん:2017/02/08(水) 23:49:14.35 ID:r3HFKoMF.net
関数型の実装は難しくない。関数型は簡単な言語ともいえる。



言語はどこまで小さくなれるか - (unlambda|iota|jot) のすすめ
「言語設計者たちが考えること」の言語設計者たちが考えた、複雑で豊穣な言語に日々触れていると、ときおりその逆も考えずにはいられません。
言語は、どこまで簡潔になりうるのか、と。
小さな言語の代表としては、Brainf.ckがあげられます。
最もタメになる「初心者用言語」は Brainf*ck!といわしめるほどのものであり、
実際言語処理系の演習などではこれはネタではなくベタと言っても過言ではないのですが、命令8つとはいかんせん多すぎます。
実際これを減らすというのもまた esoteric linguists の愉しみの一つで、元祖BFほど美しく見えないのは、「命令を無理してまとめている」ところにありそうです。
それでは。他に手だてはないのでしょうか?
希望の光は、命令型ではなく関数型の方からさしているように見えます。たとえば、SKI combinator calculus。
これを使うと、ラムダ計算を、S, K, I という三つの関数に集約することが出来ます。
これに関数の適用を加えた4つのシンボルがあれば、チューリング完全な言語を実装するのに充分ということになります。
これを実現したのがUnlambdaですが、余計な関数も数多く入っています。
そこから不要なものを取り除き、純粋化したのがLazy Kです。
コンパクトなのは仕様だけではなく実装もそうで、JavaScriptであれば以下で全てです。
S = function(x){return function(y){return function(z){return x(z)(y(z))}}};
K = function(x){return function(y){return x}};
I = function(x){return x};
unlambda = function(str){
return (function(a){
if (!a.length) throw 'syntax error';
return { s:S, k:K, i:I }[a.shift()]
|| arguments.callee(a)(arguments.callee(a))
})(str.replace(/[^`ski]/g, '').split(''));
};
http://blog.livedoor.jp/dankogai/archives/51524324.html

792 :デフォルトの名無しさん:2017/02/09(木) 00:10:31.53 ID:lnTHGhne.net
>>788
そうなのか。Goの方がおれの観測範囲では見る方だし、Dockerとかにも使われてるしメジャーかと思ってたわ。

ちなみにGithubのスター数
Dart SDK 979
coffeescript 13693
TypeScript 18833

typescriptの対抗馬coffeescriptじゃね?エディタ的にも。

793 :デフォルトの名無しさん:2017/02/09(木) 00:12:34.54 ID:eJKwaunX.net
バカな私に関数型は無理な気がする

794 :デフォルトの名無しさん:2017/02/09(木) 00:13:24.51 ID:lnTHGhne.net
おまけ、
GoのGithubでのスター数 24498

795 :デフォルトの名無しさん:2017/02/09(木) 01:15:02.70 ID:/fB7Lbok.net
>>789
Monoあかんか……

796 :デフォルトの名無しさん:2017/02/09(木) 01:50:19.00 ID:bk38Uo9V.net
Goで作られたのは出来のいいやつが多い印象

clojurescriptも入れてくれ 6762

797 :デフォルトの名無しさん:2017/02/09(木) 04:13:32.99 ID:SonJzAjc.net
>>793
どこがそう思った?
むしろ下手なLLよりも覚える事少ないと思うが。
学習するだけなら、ほぼ算数/数学と同じ。

代入とかオブジェクト作ってnewとか、コンピュータ都合の概念は無いと言うか、型ぐらいなもの。

用語にビビってるなら、怖がる事ない。

798 :デフォルトの名無しさん:2017/02/09(木) 07:06:30.83 ID:f+azW8iy.net
型だって、どちらが先か分からんが型理論という形で論理学や数学に合流しているよ。
オブジェクトうんぬんは知らない。
もしかして圏論のオブジェクトと関連するんかね?そうは見えないが。

799 :デフォルトの名無しさん:2017/02/09(木) 07:17:40.39 ID:gkU41vRr.net
>>798
C++/Java系のはSimulaが語源
最初から複雑な仕組みだったし、全然関係ないぞ
というか、あのクラスや継承の仕組みのどこで圏論と思ったんだ

800 :デフォルトの名無しさん:2017/02/09(木) 07:30:29.58 ID:ZDdUJ5Qr.net
数学との関係は
型=プログラムの仕様書=定理で、値=プログラム=証明
という関係だよな
定理を証明した瞬間プログラムが完成している凄い関係なんだよね。

801 :デフォルトの名無しさん:2017/02/09(木) 07:58:57.08 ID:f+azW8iy.net
>>799
皮肉で書いたんだが。
既にある全然関係ない用語をよく使うなぁと。

802 :デフォルトの名無しさん:2017/02/09(木) 08:05:13.55 ID:7uQf4n0A.net
関数型信者ってなんでこんな押し付けがましいん?

803 :デフォルトの名無しさん:2017/02/09(木) 08:59:47.75 ID:ZDdUJ5Qr.net
オブジェクトは昔から普通の英語の言葉だろ。

804 :デフォルトの名無しさん:2017/02/09(木) 10:12:27.85 ID:X3gAJ9Ta.net
関数型言語とか言ってるやつは某毛の壁と同水準の頭脳の持ち主だから触らないのが一番いい

805 :デフォルトの名無しさん:2017/02/09(木) 10:43:40.77 ID:qVFFfrqq.net
何を押し付けるかにもよるな
関数型じゃなくて静的型を押し付けると支持率が下がらない

806 :デフォルトの名無しさん:2017/02/09(木) 11:41:13.14 ID:X3gAJ9Ta.net
強い静的型付けをいかにも関数型の恩恵みたいに言うやつに、
Javaですら型推論がないだけで普通に強い静的型付けだって言うと決まって顔ひきつらせるの笑える

807 :デフォルトの名無しさん:2017/02/09(木) 12:33:05.97 ID:qVFFfrqq.net
恩を感じたら負け、顔がひきつったら負け、笑われたら負け
でも、型推論がないだけなら負けじゃない
一体何の勝負をしているんだ

808 :デフォルトの名無しさん:2017/02/09(木) 12:53:34.71 ID:aq6OLK4H.net
関数型で強い静的かたづけがどうこう言ってる奴は型システムと関数型が直交している概念だと理解していない
型システムはむしろオブジェクト指向のほうがややこしい

いわゆるきょうへん性はんぺん性の話はオブジェクト指向でも出てくるだろうしな

809 :デフォルトの名無しさん:2017/02/09(木) 12:55:49.56 ID:aq6OLK4H.net
関数型を叩くときに決まってけのかべを持ち出す奴は気持ち悪いデザパタを何個か知ってるだけでプログラムをかけないし、デザパタの適用範囲も理解できていないだろうね
Cすら通っていない気がする

810 :デフォルトの名無しさん:2017/02/09(木) 13:24:20.98 ID:/miB3JEc.net
おまえら煽りあってばっかりやなw

811 :デフォルトの名無しさん:2017/02/09(木) 13:40:38.39 ID:dzc+/x52.net
関数型なんて簡単やん関数作ればええだけやし
モナドとか圏論とか数学じみたクッソ煩雑な概念必須なのHaskellくらいでしょ

812 :デフォルトの名無しさん:2017/02/09(木) 14:08:16.34 ID:xprSmyqC.net
再帰処理が苦手な人は多いからな

813 :デフォルトの名無しさん:2017/02/09(木) 14:29:45.94 ID:X3gAJ9Ta.net
>>811
Scalaも必要になってるんだよなこれが。

814 :デフォルトの名無しさん:2017/02/09(木) 15:03:52.72 ID:rFsWpsiI.net
>>811
必須じゃないよ。
分からんでも使えるけど、分からないからモヤモヤするから勝手に挫折するだけ。
すごいH本で大分モヤモヤする人少なくなった。

815 :デフォルトの名無しさん:2017/02/09(木) 18:47:14.33 ID:gV98R3Qz.net
>>801
> 皮肉で書いたんだが。
> 既にある全然関係ない用語をよく使うなぁと。

横レスだが、オブジェクト指向の源流はSimulaだがSimulaでは確かobjectという言葉は使用していなかったはず(classとinstanceは使ってる)
objectという用語を使いだしたのはAlan KayらによるSmalltalkの初期バージョンあたり(-72ぐらいかな)だろうが
彼らが"object"という言葉を使った時には数学の圏論なんて全く視界にはなかっただろうね
単にコンピュータの中で仮想的な世界を直感的な形で容易に操作できるように(つまり小学生でも習得できるように)作り、
その仮想的な世界での操作対象を「対象」つまり"object"と呼んだだけだ、だって一般用語の意味での「対象」"object"をコンピュータの内部に作り
それらを画面上にマルチウィンドウなどのマニュアルを熟読しなくても直感的に習得可能な形で提示し操作するのを目指したのだから

そもそもオブジェクト指向が誕生した時代には、ほとんどのソフトウェア屋は数学なんて興味はなかった
数学の圏論なんてので基礎づけがどうしたこうしたなんてのはずっと後の話だよ
数理論理学者が新たな論文を書くネタとして型理論を橋頭保にして大量に計算機科学に参入した1980年代後半以降からだが
categoryやらfunctorやらという言葉を(理論方面の研究者でなく)一般のソフトウェア屋の少なからずが口にするようになったのは
ここ10年ぐらいじゃないの? 少なくとも世紀が変わってからだ

というわけで「既にある全然関係ない用語をよく使う」というのが"Object-oriented"界隈での"object"の使用(「既にある」は圏論での使用)を
指しているのならば、その批判は全くの的外れです

OOの連中は"object"という用語を日常用語としての意味で使ったのであって連中には数学など眼中になかった
(そもそも圏論なんてのも90年代以降になるまでは理論計算機科学者ですら関心を持っていたのはかなり少数だったし
数学でも代数幾何とか代数位相幾何とか一般代数(universal algebra)など、かなり限られた分野の研究者以外は
abstract nonsenseとして敬遠あるいは軽蔑されていたのだから)

816 :デフォルトの名無しさん:2017/02/09(木) 18:49:00.45 ID:gV98R3Qz.net
>>815の補足

失礼、紛らわしいので以下のように言葉を補い訂正しておく

誤> OOの連中は"object"という用語を日常用語としての意味で使ったのであって連中には数学など眼中になかった
正> OOを創始した連中は"object"という用語を日常用語としての意味で使ったのであって連中には数学など眼中になかった

817 :デフォルトの名無しさん:2017/02/09(木) 19:18:51.18 ID:f+azW8iy.net
>>816
勉強になった。
ガキの頃に見た岩波の数学辞典がガチガチの圏論ベースで書かれていたから、
理論科学系の人間には常識だったと思ってたが違うのだね。

818 :デフォルトの名無しさん:2017/02/09(木) 20:44:11.62 ID:mW4P8Un/.net
>>815
OO の "object" って何だ?って所のモヤモヤ感がすっきりした。アリガd

819 :デフォルトの名無しさん:2017/02/09(木) 21:14:53.16 ID:f+azW8iy.net
>>816
今、辞典を見返してみたが、そうでもなかった。
第二版第一刷が1968年で載ってるなってくらい。
紛らわせてすまない。

820 :デフォルトの名無しさん:2017/02/09(木) 21:28:36.71 ID:Q39QXQMs.net
object指向なんじゃなくて、subject思考なんだよ
俺が言ってることがわかる奴は、object指向も関数型もわかっている

821 :デフォルトの名無しさん:2017/02/09(木) 21:30:06.23 ID:Q39QXQMs.net
object指向主義者は、subject抜きで、形式言語は成立しないとかんがえているだけなんだよ

822 :デフォルトの名無しさん:2017/02/09(木) 21:37:16.22 ID:UTxumv29.net
またくだらんテクニカルターム論になってるな。

823 :デフォルトの名無しさん:2017/02/09(木) 22:03:59.55 ID:f+azW8iy.net
>>820
objectといった時点で主語はあくまで操作者で、むしろobject=データに働きかける関数型のイメージであり、
いわゆるobject自身がsubjectで何かするというのがobject指向ということでおけ?

824 :デフォルトの名無しさん:2017/02/09(木) 22:53:39.96 ID:gkU41vRr.net
すごくざっくり言えば
ステートフルがオブジェクト指向
ステートレスが関数型

データを数人で囲んでリンチし続けるのがオブジェクト指向
データを大勢で大玉送りしてネチネチいじめていくのが関数型

825 :デフォルトの名無しさん:2017/02/09(木) 23:12:14.47 ID:+psfLY/9.net
関数型って流行るの?
オブジェクト思考からパラダイムシフトするの?
勉強する価値あるの?

826 :デフォルトの名無しさん:2017/02/09(木) 23:18:52.57 ID:gkU41vRr.net
>>815
いんや、Simulaはコンセプトからして思いっきりオブジェクト指向だし
オブジェクトって単語もクラスなどの説明に多用してるよ

Smalltalkもオブジェクトという概念の再解釈ってだけで、源流はSimulaと言っていいでしょ

827 :デフォルトの名無しさん:2017/02/09(木) 23:27:43.80 ID:gkU41vRr.net
>>825
人数や流行りが重要ならC、Java、JavaScriptあたり極めとけば?
どれも馬鹿にするやつ多いが、奥は深い
中途半端にかいつまむのが一番いけないよ

828 :デフォルトの名無しさん:2017/02/09(木) 23:30:29.54 ID:f+azW8iy.net
>>825
まずは触ってみると良いかと。全然違う感覚で楽しいよ。
プログラミングHaskell(Graham Hutton)が薄くて、
しかし基本は押さえてていい気が。
hugsではなくghcが主流なので注意。

829 :デフォルトの名無しさん:2017/02/09(木) 23:36:42.34 ID:gkU41vRr.net
ぶっちゃけ、今からHaskellはオススメしない
stack不安定だし、まともに使えないパッケージ多すぎる

830 :デフォルトの名無しさん:2017/02/09(木) 23:41:42.73 ID:jcuzgsFP.net
>>825
Javaもラムダ式取り入れたし多少はね

831 :デフォルトの名無しさん:2017/02/09(木) 23:51:18.99 ID:f+azW8iy.net
確かにstack不安定ですね。
でも雰囲気をつかむのなら、やはりHaskellが良いのではないかと。
別にHaskell続けなくても考え方を持ち帰るのはいい経験になるのでは?
他人の意見に惑わされず、まず自分で触るのが大事かと。

832 :デフォルトの名無しさん:2017/02/09(木) 23:55:08.80 ID:Jh/6F1Jd.net
>>829
Stack不安定は同意だけど、何がおすすめなの?

833 :デフォルトの名無しさん:2017/02/10(金) 00:01:40.00 ID:5MVdS2z+.net
>>832
Scala最強電鉄

834 :デフォルトの名無しさん:2017/02/10(金) 00:17:36.10 ID:2oDNuzZU.net
関数型の言語じゃなくても最近の一般的言語で
こういう書き方してるやついたらそりゃないっしょって思う

var arr = [["x",1],["y",2],["z",3]]
var result = {}
for(i=0;i<arr.length;i++){
result[arr[i][0]] = arr[i][1]
}
//-> result: { x: 1, y: 2, z: 3 }

835 :デフォルトの名無しさん:2017/02/10(金) 00:24:28.11 ID:fUC4e4v0.net
LINQもある種、関数型への歩み寄りだよな

836 :デフォルトの名無しさん:2017/02/10(金) 00:45:51.11 ID:sIFP3alf.net
>>834
別にそりゃ無いよとは思わないが…
回すとmapは遅いもの
もし元データ表現を言ってるなら、制約で冗長に書く事はサーバーサイドjsだと結構あるよ

837 :デフォルトの名無しさん:2017/02/10(金) 00:51:09.50 ID:Nrgs4Acd.net
>>834
Rubyの場合:

[手続き型プログラミング・スタイル]
 arr = [[:x, 1], [;y, 2], [:z, 3]]
 result = {}
 arr.each do |(key, val)|
   result[key] = val
 end
 # result --> {:x => 1, :y => 2, :z => 3}

[関数型プログラミング・スタイル]
 arr = [[:x, 1], [:y, 2], [:z, 3]]
 result = arr.inject({}) { |hash, (key, val)| hash.merge(key => val) }
 # result --> {:x => 1, :y => 2, :z => 3}

参考:
 Rubyによる関数型プログラミング
 http://www.h6.dion.ne.jp/~machan/misc/FPwithRuby.html
  この文書にある「列挙オブジェクトからハッシュを生成する方法」を参照

838 :デフォルトの名無しさん:2017/02/10(金) 01:06:01.01 ID:2oDNuzZU.net
>>836
最適化が必要なケースだとか性能超重視のシステムでコーディング規約でしばってるようなケースは別よ
一応確かめてみたけどFirefoxだとmapのほうが若干速い
Chromeだとmapが異常に遅い
https://jsperf.com/native-map-versus-array-looping

839 :デフォルトの名無しさん:2017/02/10(金) 01:15:08.04 ID:6n4BenjP.net
そういうの見ると無駄にわかりづらくしてるだけだな関数型って思ってしまう

840 :デフォルトの名無しさん:2017/02/10(金) 01:16:56.57 ID:2oDNuzZU.net
>>837
arr = [[:x, 1], [:y, 2], [:z, 3]]
arr.to_h
=> {:x=>1, :y=>2, :z=>3}

Ruby好きだわ

841 :デフォルトの名無しさん:2017/02/10(金) 01:17:00.79 ID:sIFP3alf.net
>>838
これ逆じゃない?
Firefoxだけmapが異様に速い
pushにからくりがありそう

842 :デフォルトの名無しさん:2017/02/10(金) 01:18:40.24 ID:8nnnziXA.net
>>837
Rubyみたいな欠陥言語は出してくんなよ。
列挙子は割と遅いし、空配列とマージって発想はキチガイ沙汰。それが当たり前だと思ってるならもはやキチガイそのもの。
回す前に長さわかってんだから、その長さの配列くらいつくれるだろ。

なんとか型スタイルの問題ではなく、カーゴカルトそのもの。なんとか型を真似してみました、こんなコードだよね、みたいな無様な事はホントやめて。
議論の邪魔。

843 :デフォルトの名無しさん:2017/02/10(金) 01:19:48.77 ID:Nrgs4Acd.net
>>840
おぉぉ、いつの間にやらメソッド Hash#to_h が追加されていたんですね
情報thanks!

844 :デフォルトの名無しさん:2017/02/10(金) 01:21:22.89 ID:8nnnziXA.net
>>840
頭おかしいわ

845 :デフォルトの名無しさん:2017/02/10(金) 01:22:09.65 ID:Nrgs4Acd.net
>>843を訂正
X:メソッド Hash#to_h
O:メソッド Array#to_h

846 :デフォルトの名無しさん:2017/02/10(金) 01:27:06.72 ID:sIFP3alf.net
>>838
どうやらFirefoxはmapで、事前に領域を予約してるみたい
なので、pushがボトルネックで遅いだけ
下の例の通り、ちゃんとnew Arrayしてforで回すとmapより速くなる
https://jsperf.com/map-vs-native-for-loop/7

847 :デフォルトの名無しさん:2017/02/10(金) 01:31:56.38 ID:sIFP3alf.net
>>838
あとちょっと誤解があるようだけど、
データ表現云々というのは、サーバーサイドJavaScriptだと、
引っ張ってくる元データの制約で、冗長な抽出コードは書く事がよくあるって意味だよ
コーディングルールとかじゃなくて

848 :デフォルトの名無しさん:2017/02/10(金) 01:42:45.21 ID:2oDNuzZU.net
>>843
古いバージョンならHash[arr]でいけるよ

849 :デフォルトの名無しさん:2017/02/10(金) 01:49:13.94 ID:2oDNuzZU.net
>>846
その例で見ても俺の環境だとChromeのmapはfor-loopより95%以上遅くて
jQueryよりも遅いくらいだしなんか問題があるんじゃないかな
Firefoxのmap/for-loopの差(俺環で8%)のほうが普通だと思う

850 :デフォルトの名無しさん:2017/02/10(金) 05:21:19.45 ID:x+RHeUvW.net
>>825
流行らない。
でも、遅延評価のHaskellは良い経験になる。

例えば

[[1,2,3],[4,5,6],[7,8,9]]

ってデータ作るのに、

手続き型だと二重ループと代入使う。

Haskellだと

[1,2,3]:[1+3,2+3,3+3]:[1+3+3,2+3+3,3+3+3] = [[1,2,3],[4,5,6],[7,8,9]]

って性質使ってtake,iterete,map使って書いたり、多分他にも書き方ある。
iterateみたいな無限関数使う経験は貴重。

iterate f x = x:iterate f (f x)

って一行だけの停止しない関数。標準で使えるが、自作も出来る。takeとかが無いと停止しない関数とか面白い。
二重ループ処理も関数としてバラして再利用出来るのかと感心したし、逆に二重ループも代入も使えないから頭使った。
でも、プログラマとして大事な何かを得た気もする。
(気がしただけかもしれないが)

take 3 $ iterate $ map (+3) [1,2,3]

851 :デフォルトの名無しさん:2017/02/10(金) 05:27:53.31 ID:x+RHeUvW.net


take 3 $ itetate (map (+3)) [1,2,3]

だったorz

852 :デフォルトの名無しさん:2017/02/10(金) 07:11:07.98 ID:DVfbLU0l.net
細かいけど、cons使うなら右端はリストのリストかな。

853 :デフォルトの名無しさん:2017/02/10(金) 09:14:27.82 ID:iFUFe9wv.net
>>850
勉強したって流行らなければ時間の無駄じゃないの
プログラムなんてお金になってなんぼでしょう

854 :デフォルトの名無しさん:2017/02/10(金) 09:55:14.86 ID:OEqNc6jK.net
じゃあ、マイクロソフトが作ってるC#とかF#いう言語が一番金になるからそれ使え。

855 :デフォルトの名無しさん:2017/02/10(金) 10:27:26.49 ID:WtkyQY/r.net
>>826
Simula 67 は「オブジェクト」と「クラス」という言語機能を提供した初めての言語ではあるけど、
Simula 67 がオブジェクト指向というのは後付け。

特に「クラス」に着目し、これを抽象データ型(簡単にはユーザー定義型)に応用したのがストラウストラップの C++ で
特に「オブジェクト」に着目し、これをメッセージの受け手として用いたのがケイの Smalltalk-72 。

のちに後者の Smalltalk も Simula 67 スタイルのクラス(具体的には継承機構)を Smalltalk-76 から採用するに至り、
両者とも「(継承付)クラス」と「オブジェクト」を有し、理解が足りないと静的か動的かくらいの差しかわからなくなってしまったため、
出自も目的も異なる二人の“OOP”の解釈がが混同され混乱が生じた。

856 :デフォルトの名無しさん:2017/02/10(金) 10:34:42.65 ID:VL68/4tY.net
関数型でコード短く分かりやすくなるとかほざいてるアホは、それでCやJavaと同じ性能出してくれ。

857 :デフォルトの名無しさん:2017/02/10(金) 10:37:15.55 ID:VL68/4tY.net
訂正
C、百歩譲って少なくともJavaとおなじ性能。

858 :デフォルトの名無しさん:2017/02/10(金) 10:46:38.55 ID:8U0cA5Uo.net
その辺は言語やコンパイラの完成具合による
昔はJavaだってCと比べればミジンコみたいなものだった
理論的にはScalaはJavaと同じ性能
RustはC++と同じ性能を出せる

859 :デフォルトの名無しさん:2017/02/10(金) 10:50:26.26 ID:Wf2kRBSt.net
性能って何を指してるのかわからんが
速度のことならpython全否定かよ

860 :デフォルトの名無しさん:2017/02/10(金) 11:01:44.89 ID:VL68/4tY.net
>>858
HaskellやOCamlがC++と同じ性能出るって話はとんと聞かんがな。出て数年の言語って訳でもなかろう。
Scalaは言語自体が破綻してるから知らん。

>>859
LL言語とコンパイル言語いっしょくたにする論点反らし乙

861 :デフォルトの名無しさん:2017/02/10(金) 11:05:06.32 ID:gInMRNOI.net
パフォーマンスクリティカルな部分は、関数内部では参照透過性を破棄して外部からは参照透過に見えるように設計すりゃいいじゃんって思うけどダメなん

862 :デフォルトの名無しさん:2017/02/10(金) 11:12:58.55 ID:VL68/4tY.net
>>861
それでC++並の速度出るならこんなにdisってないんだよな。

HaskellのSTモナドに芸術感じたのは否定しないが芸術の域を出ないしな。

863 :デフォルトの名無しさん:2017/02/10(金) 11:14:34.97 ID:FJ3G7akv.net
関数型言語は巷のIT土方には使いこなせんからw

864 :デフォルトの名無しさん:2017/02/10(金) 11:17:35.65 ID:Wf2kRBSt.net
>>860
いや関数型=コンパイル言語じゃないし…
LL、関数型、コンパイル言語はそれぞれ別の性質の話だしどれが対義語ってものでもないから全然噛み合ってないぞ

865 :デフォルトの名無しさん:2017/02/10(金) 11:29:24.62 ID:OEqNc6jK.net
そんなに速度重視したいなら手動でHaskellのコードをCにトランスレートすればいいはなしだろ

866 :デフォルトの名無しさん:2017/02/10(金) 11:32:09.86 ID:E8u1TJrq.net
オールアセンブラ書けば爆速

867 :デフォルトの名無しさん:2017/02/10(金) 11:33:57.62 ID:VL68/4tY.net
>>864
んじゃ訂正というか具体例にする。
HaskellやOCamlをもてはやしてる奴は、Cほどとは言わんまでもC++、さらに譲ってもJavaくらいの速度出してくれ。
コンパイル言語なんだからハードルはこの辺だろう。

でなきゃこれらの言語は実用に耐えない玩具ということを否定できないぞ。

F#はC#並の性能出るらしいが上限が.net依存だから比較できん。

868 :デフォルトの名無しさん:2017/02/10(金) 11:38:51.16 ID:VL68/4tY.net
毎度「そんなに速度が欲しけりゃアセンブリ書いてろ」っていう奴いるけど、
最近のCは人間がアセンブリ書くより速いし、関数型言語が遅い弁解にはなってないよね?

869 :デフォルトの名無しさん:2017/02/10(金) 11:42:02.18 ID:4wNIZ7mB.net
>>583
言語は流行らないが、機能は流行る。
先取りして概念や使い所に慣れておけ。

870 :デフォルトの名無しさん:2017/02/10(金) 11:47:45.91 ID:4wNIZ7mB.net
>>856
短いのと速いのは関係無いよね?
Haskellは遅いとも。

だから、関数型は勉強はしておいて、仕事は手続き型が良い。
関数型の機能を取り入れて行ってるから尚の事。

871 :デフォルトの名無しさん:2017/02/10(金) 11:55:51.72 ID:vz9eAXX1.net
なんでコンパイル言語なら速くないといけないの?
Haskellが遅いのはリスト使ってるからだし、Cだってリスト使ったら遅い
それでもHaskellがリスト使うのはその方がイミュータブルなプログラムが速くなるからだ
まさかイミュータビリティは不要なんて言い出すわけ?
それともイミュータブルでもミュータブルな操作並みに速くないと許せないの?

872 :デフォルトの名無しさん:2017/02/10(金) 11:56:59.97 ID:vz9eAXX1.net
あとHaskellは基本BigIntなのもあったな

873 :デフォルトの名無しさん:2017/02/10(金) 12:19:32.33 ID:4wNIZ7mB.net
>>852
itetateは関数と値を受け取って、リストを返す関数なので、値がリストなら、リストのリストが返ってくるので、これで間違って無いですよ。

874 :デフォルトの名無しさん:2017/02/10(金) 12:36:54.80 ID:DVfbLU0l.net
>>873
そこじゃなくて、真ん中の[1,2,3]あたりね。

875 :デフォルトの名無しさん:2017/02/10(金) 13:37:29.21 ID:B/694aWe.net
ああ、確かに。
Consである必要なかったですね。

876 :デフォルトの名無しさん:2017/02/10(金) 13:39:49.21 ID:Yjlp1QL8.net
>>792
coffescriptはオワコンじゃなかったっけ?

877 :デフォルトの名無しさん:2017/02/10(金) 14:11:40.80 ID:r29H8jjf.net
>>855
Smalltalk信者?
Simulaはsmalltalk初出以前の言語標準にobjectがコンセプトと明記してるよ
そのレスの内容思いっ切り間違ってる

878 :デフォルトの名無しさん:2017/02/10(金) 14:13:29.40 ID:l8wsYG39.net
そもそもHaskell自体を実務に使うつもりで勉強する奴なんか殆ど居ないだろう。
だけど考え方は応用が利くので皆やるわけで...

879 :デフォルトの名無しさん:2017/02/10(金) 14:15:21.10 ID:sIFP3alf.net
>>867
なんか勘違いしとるなコイツ
OCamlは普通に速いぞ

880 :デフォルトの名無しさん:2017/02/10(金) 14:18:11.46 ID:sIFP3alf.net
>>849
jQueryの方は見てなかった
Chromeのmapが遅いのも確かのようだね

881 :デフォルトの名無しさん:2017/02/10(金) 14:36:09.82 ID:NRmEQgqe.net
>>879
整数がライブラリ噛まさないとビット数足りなくて、そのライブラリが遅くて使い物にならんかったんだがな。

それとも今はまともに速度出てくれるんかね?

882 :デフォルトの名無しさん:2017/02/10(金) 15:22:35.86 ID:jEE+Gxi+.net
なんかオブジェクト指向についていけなかったコボラーみたいに見える
関数型の考え方は手続き型にも役立ってるけどな

883 :デフォルトの名無しさん:2017/02/10(金) 16:34:47.43 ID:sIFP3alf.net
>>881
具体的にどれ?
Javaと比べて遅いってんだよな?

884 :デフォルトの名無しさん:2017/02/10(金) 17:50:11.42 ID:WtkyQY/r.net
>>877
> objectがコンセプトと明記してる

とまあ件の混同と混乱は、こんなふうに「(クラスや)オブジェクトを使いさえすればオブジェクト指向」と信じて疑わない
オブジェクト指向の本質を理解できないOOP難民を量産してしまった

ストラウストラップ(と同時期に似たようなアイデアを出した人たちの)“OOP”は、
クラスを使って抽象データ型を実現し、型安全なプログラミングやそのサポート
ケイの“OOP”はメッセージングをメタファーとし、動的結合を徹底させるプログラミングやそのサポート、と本質が違う
ダールらもSimulaを発表した後に前者のアイデアに気づいたが、最初から狙ってSimulaを作ったわけではない

885 :デフォルトの名無しさん:2017/02/10(金) 18:05:32.66 ID:Yjlp1QL8.net
>>877
smalltalkのooとsimulaのooは概念の出自が違う

886 :デフォルトの名無しさん:2017/02/10(金) 18:13:39.09 ID:rXluJnty.net
Haskellについては、鯖サイドに向いてる気がするので、Yesod本の日本語訳出せばそこそこ人気出そうだけどね。

小規模ならLLで良いけど、大規模になって来るとコンパイル終わったらほぼバグ無しってのは凄い強み。
元々、凡ミスバグも手続き型より出しにくい。
無限リストとかが、長さが分かりにくいWebデータのコードをスッキリ書けそう。
(元はParl5インタプリタを本家より早く完成させたのが注目された理由だった)

コード量と速さはLL並みなのに、頑強さと並列しやすさは全然違う。
注目集まったら、最適化の進化が早まらないだろうか。。。

アプリも昔のがっちりコード依存のGUIじゃなく、XAMLやHTML/CSSと組み合わせる形なら速度気にしないアプリなら開発効率良いんだろうなって思う。
(だからF#の地位向上には期待してる)

英語出来ないのがつくづく悔やまれるよ。

887 :デフォルトの名無しさん:2017/02/10(金) 18:20:55.48 ID:R5OtDkdz.net
>>883
どれもなにも標準のInt32とInt64。

888 :デフォルトの名無しさん:2017/02/10(金) 18:31:24.42 ID:K96nxyp6.net
>>884
あのねえ、狙って作ってるから、Simulaはobject中心のコンセプトと明記してるわけで
そもそも発表した後に言語標準に追記したとしても、Smalltalkより出自は早いから、間違いだよ

SmaltalkのOOの概念は知ってるし、否定しているのでもない
OOというアイデアを最初に作ったのが、アランケイかのように言ってるから、それは大間違いだぞと言ってるまでだよ

889 :デフォルトの名無しさん:2017/02/10(金) 18:47:41.82 ID:686NvPbu.net
むしろこうやって2者を区別できてないと決めてかかって、仮想敵を叩き始める人間を量産したのが、Smalltalkの悪いところ
Smalltalk自体が害悪と言っていいかもな

890 :デフォルトの名無しさん:2017/02/10(金) 19:32:02.73 ID:QwZMX6+7.net
で、OOが2種類ある原因はなんなのか?
静的型と動的型のせいでしょ
直交性なんてないよね

891 :デフォルトの名無しさん:2017/02/10(金) 20:43:29.26 ID:87WOJqFm.net
>>890
アラン・ケイは別に静的型には反対していないよ
彼の望む遅延結合性の邪魔をしない静的型なら歓迎するはず
http://d.hatena.ne.jp/katzchang/touch/20080807/p2

892 :デフォルトの名無しさん:2017/02/10(金) 20:55:14.84 ID:87WOJqFm.net
>>888
いや、だからその「オブジェクト中心」とかいうのをOOPとするのが間違っているんだってわかんないかな
アイデアが提出されたのの早い遅いではなくて、抽象データ型のOOPとメッセージングのOOPはそもそも考え方が異なる
早い遅いで言ったら、抽象データ型のOOPの方がダールやリスコフが早く気づいた分、メッセージングのOOPよりも早い

>>889
でも実際に区別できていないわけだし…

893 :デフォルトの名無しさん:2017/02/10(金) 21:42:59.21 ID:rXluJnty.net
smalltalkとか懐かしいな。。。
Boolもオブジェクトだったっけ。

(1>3) then: [Workspace display: 'No! 3 is Big!!'] else: [Workspace display: 'Yes. 1 is Small.']

もう十年以上前に触ったきりだからうろ覚えだけど、こんな感じだっけ。
メソッドチェーンが文章的になるの嫌いじゃなかった。

Squeakとかだとコード上のオブジェクトだけでなく、動いてるアプリにもどんなクラスやメソッド持ってるか聞けたり、コード見たり、弄って変更したり出来てたね。
リアルタイムのOS育てゲーム。

上で騒いでるのは静的型言語でも動作中のアプリにクラスやメソッドを聞けて、コード変更と、更新したらすぐに動作に反映出来れば良いって事かな?

アサートとかでメタプログラミングも出来るようになってきたし、コンパイル速度もDelphiみたいに速いのもあるし、コンパイラ内蔵実行ファイルとかでサポート出来なくはなさそうだけど、出来ない方がコード資産守れるから会社じゃ採用されなさそう。

894 :デフォルトの名無しさん:2017/02/10(金) 21:48:40.84 ID:1t5JET4K.net
関数型は確かにコードが短くなるがわかりやすくはならないだろう
短いということは、それだけ文法に暗黙の了解が多いということだ
このような代物は背後にある考え方とそれによるメリットだけ頂いて、残りは捨てるのが正解
つまりJava8が正しい

895 :デフォルトの名無しさん:2017/02/10(金) 21:53:27.37 ID:rXluJnty.net
それは関数型、手続き型じゃなくて、クラスやメソッドの命名規則の問題。

896 :デフォルトの名無しさん:2017/02/10(金) 21:59:35.05 ID:87WOJqFm.net
>>893
プロトタイピングでは威力を発揮するので、動作を検証できたら即座に実戦に投入できるという点に惚れ込んで
ALLSTOCKERを作っているスタートアップの人たちはSmalltalkを採用しているね
https://medium.com/@newapplesho/%E3%81%AA%E3%81%9C%E6%88%91%E3%80%85%E3%81%AFsmalltalk%E3%82%92%E4%BD%BF%E3%81%86%E3%81%AE%E3%81%8B-%E3%81%9D%E3%81%AE2-smalltalk%E3%81%AE%E8%89%AF%E3%81%95-7a3af3cc5823#.8tm02xv3o

897 :デフォルトの名無しさん:2017/02/10(金) 22:00:19.12 ID:1t5JET4K.net
>>895
関数型の利点は短く書けることだと街宣している人間がたくさんいるじゃないか
彼らは命名規則の話なんて一切していないぞ

898 :デフォルトの名無しさん:2017/02/10(金) 22:13:12.95 ID:sIFP3alf.net
>>894
短く済むってことは、良く抽象化されてるって事
つまりそれだけ生産性も高い

文法的に短い事が悪だとかいう考えは改めた方がいいんじゃないか?
ただのコードゴルフとは言ってる意味が全く違うからね

899 :デフォルトの名無しさん:2017/02/10(金) 22:15:03.55 ID:rXluJnty.net
>>896
海外じゃ実戦投入してる会社があるのは当時も聞いてた。
でも多数派では無い。
それぞれ会社の価値観に違いはあっても良いが、それが多数派になるかは別問題。

900 :デフォルトの名無しさん:2017/02/10(金) 22:18:07.57 ID:5MVdS2z+.net
>>876
オワコンだよ
TSでES201Xと同等の文法+αが使えるのに、
わざわざゴミ屑みたいな新しい文法覚える必要ない

901 :デフォルトの名無しさん:2017/02/10(金) 22:19:27.86 ID:sIFP3alf.net
まさかコードの抽象化そのものを否定するプログラマがいるとは思わなかったな
Javaも資産使ったコードは短くなるだろ
それと一緒だよ

902 :デフォルトの名無しさん:2017/02/10(金) 22:19:31.11 ID:5MVdS2z+.net
>>894
わかりやすいと思うけど
filterとかreduceとかmapとか、自前でforやif組んで書きたいか?

903 :デフォルトの名無しさん:2017/02/10(金) 22:30:41.26 ID:87WOJqFm.net
>>899
おっしゃるとおり
もっとも、多数派が正義かっていうとそれも別問題だけどね

904 :デフォルトの名無しさん:2017/02/10(金) 22:39:50.78 ID:sZ6PQDwZ.net
map, fold, filterなどは確かにわかりやすいけど、
再帰的定義は小一時間考えてやっと分かるときがある。
慣れなのかな。

905 :デフォルトの名無しさん:2017/02/10(金) 22:48:55.57 ID:1t5JET4K.net
>>898
抽象化はやればやるほど良いってものでもない
関数型言語は総じてやりすぎでわかりづらい

>>902
そういうわかりやすいものは奪っておいて有用に使うのが良い

906 :デフォルトの名無しさん:2017/02/10(金) 22:53:56.20 ID:5MVdS2z+.net
>>905
奪うってなんや
おまんは盗人か?

907 :デフォルトの名無しさん:2017/02/10(金) 23:02:03.46 ID:rXluJnty.net
>>897
例えばsum関数ってあるじゃ無い?
これって手続き型ならLLでも静的型言語でも基本変わらんよね?
(最近はメソッドに関数渡せるようになってる言語増えたから特に)
んで、関数型言語だと単純なところだとループを再帰で書くから、計算中の値を蓄える変数が一個減る。
ループ命令書くのも減る。
sum [] = 0
sum (x:xs) = x + sum xs
(昔はスタック消費してたが、近年こういう単純な再帰なら、裏で末尾再帰に変形してループに変換してくれる)
次に、じゃあsumの掛け算バージョンが欲しいとする。
Haskellだとproductって関数だけど、言語によって違うのに注意。
product [] = 1
product (x:xs) = x * product xs
はい完成。なんだけど、別にこれで関数型が短いって言うわけじゃない。
sumとproductは構造が似てる。
そこで構造を関数に括り出す。
foldr f n [] = n
foldr f n (x:xs) = f x (foldr f n xs) -- 演算子は特殊な関数で、(+)みたいに書くと2引数の関数になる。
んで、この関数化した構造を再利用する。

sum xs = foldr (+) 0 xs --普通は末尾再帰の構造を関数化したfoldlを使う。
product xs = foldr (*) 1 xs

最後はsumの最後の引数と、foldrの最後の引数が同じだからカリー化で見た目の引数を省略できる。

sum = foldr (+) 0
product = foldr (*) 1

まあ、カリー化が確かに意図を読み取りにくくするかもだが、そもそもLLっぽく対話環境使って単体テストする時に型を調べれば一発で引数何個で、どんな型を求めてるのか分かるし、不満ならトップ関数の型だけ明記しても良い。
カリー化禁止にしたって良い。
ループ構造も関数化して再利用出来るのが大事。

908 :デフォルトの名無しさん:2017/02/10(金) 23:13:38.42 ID:T/QWskV3.net
なるほど
さっぱりわからん

909 :デフォルトの名無しさん:2017/02/10(金) 23:15:34.04 ID:5MVdS2z+.net
わからンゴ

910 :デフォルトの名無しさん:2017/02/10(金) 23:16:19.38 ID:1t5JET4K.net
>>907
正直読む気も起きない

911 :デフォルトの名無しさん:2017/02/10(金) 23:26:19.31 ID:Ks8UPeAC.net
この程度が分からないとか抽象化を云々する以前だろう…

912 :デフォルトの名無しさん:2017/02/10(金) 23:31:17.10 ID:rXluJnty.net
悪かった。
んじゃかい摘んで。

ループとかの構造を関数化して再利用できる。
他にも色々あるけど、分かりやすいのがこれ。

LLにも似たことが言えて、こっちはジェネリクスっぽい事が、元々型がないからダックタイピングで同じ事が簡単に出来る。
(代わりに型安全性が失われてる)

913 :デフォルトの名無しさん:2017/02/10(金) 23:34:06.32 ID:Nrgs4Acd.net
>>904
>再帰的定義は小一時間考えてやっと分かるときがある。

いや、再帰的定義は手続き型と関数型のどちらでも難しい

ただし関数型言語や関数型の影響を受けた言語だと、
配列/リスト/辞書/集合といったコレクションの操作は
map/filter/fold といった標準ライブラリ関数が提供されている
だからコレクション(という抽象データ型)を扱う多くの局面では、
(いちいち再帰的定義をするわけでなく、
 もちろん>>834のようにループでゴリゴリ書くわけでもなく、)
豊富なライブラリ関数を活用して簡潔なコードを表現できる

914 :デフォルトの名無しさん:2017/02/10(金) 23:46:05.61 ID:Nrgs4Acd.net
>>905
>抽象化はやればやるほど良いってものでもない
>関数型言語は総じてやりすぎでわかりづらい

世の中で普及しているのは大半が手続き型言語だから、
日常的に手続き型言語で思考している人にはわかりづらいかもね
発想を手続き型脳から関数型脳へ転換するという大きな壁が立ちはだかる

例えば某純粋手続き型スクリプト言語の例:
 LLにおける関数型プログラミング
 http://echo.2ch.net/test/read.cgi/tech/1345123070/70-71

915 :デフォルトの名無しさん:2017/02/10(金) 23:52:38.73 ID:xAAuNbhK.net
>>910
馬鹿かよこいつやべえな

916 :デフォルトの名無しさん:2017/02/10(金) 23:59:05.09 ID:1t5JET4K.net
>>912
作る分にはなかなか良さそうだが、そのコードを半年後に見ても理解する自信はない
こんなにまで抽象度を上げなくても、少し妥協して具体的に書いておけば後で助かる
ID:rXluJntyが後者より前者のコードの方を早く理解できるのなら何も言えない

>>914
別に超える必要もない
良い所だけ取って残りを捨てるだけで済む
そのスレで言えば>>79と同意見だな

917 :デフォルトの名無しさん:2017/02/10(金) 23:59:56.21 ID:rXluJnty.net
一応言っておくけど最近の手続き型でもFunc型の導入でループ構造の関数化と再利用は出来るんだよ?
ただ、演算子は関数として扱われないのでラムダ式必須だったりするだけで。

んで、関数型言語はまだまだ抽象化の機能がある。
それらがどんな形で入るのか待ちながら先取りして勉強しておくと将来有利になるし、今も関数型言語だと裏で勝手にやってる事を自分が気をつける事で実践出来るものもある。

918 :デフォルトの名無しさん:2017/02/11(土) 00:09:19.50 ID:uRBrgRbG.net
>>916
えとね。
構造を関数化してるから、関数名から構造が読み解けるのよ。
耳慣れない関数名だから慣れてないだけで、慣れればむしろ読み易い。
ぶっちゃけ関数合成とか$でカッコを省略とかはメソッドチェーンと思って良い。

と言うか、忘れても他人でも理解する為のドキュメントだろ。
書かない時点でブラックかグループ開発してない。

いくら仕様をそのまま書き下せるって謳い文句の関数型や論理型でも、規模がでかくなりゃドキュメントくらい書くだろ。

919 :デフォルトの名無しさん:2017/02/11(土) 00:20:17.16 ID:PF8ePb43.net
慣れれば読みやすいとかドキュメントがあれば誰でも理解できるとか言い出す人と、
YESハイブリッドNO関数な俺は永遠に平行線なのでもうやめよう
おそらく分かり合ってしまうと天変地異が起こる

920 :デフォルトの名無しさん:2017/02/11(土) 00:22:14.72 ID:ria0yk5C.net
>sum [] = 0
>sum (x:xs) = x + sum xs

この手の言語見たこと無かったらこれが関数定義してるってこと自体がわからんのよ
(x:xs)でパターンマッチしてhead|tailに分割してることもわからない
そういう状態だとさっぱりわからないほうが普通だろ

まそういう人こそ関数型を学んだほうがいいと思うけど
それも扱ってるドメイン次第じゃないの

921 :デフォルトの名無しさん:2017/02/11(土) 00:26:19.59 ID:0GjTSBdX.net
filter処理を
filterと書くか、tempListとforとifを書くか

map処理を
mapと書くか、tempListとforとifを書くか

半年後見て、どっちがわかりやすいかなんて
ひとめりょうねんやろ

922 :デフォルトの名無しさん:2017/02/11(土) 00:32:28.22 ID:bFcm8Xsz.net
>>912
>LLにも似たことが言えて、こっちはジェネリクスっぽい事が、
>元々型がないからダックタイピングで同じ事が簡単に出来る。

LL という言葉が Python/JavaScript/Ruby といったスクリプト言語を
指しているのなら、その認識は誤っている
これらLLはどれも関数型言語の影響を受けて
(>>913でいう) map/filter/fold に相当するライブラリ関数を標準提供している
だから(その適性度に差異はあるとしても)関数型プログラミングを実践できる

またダックタイピングに関しては、LLコミュニティ全体で邪道と共通認識されている
(現在の)LLの特徴の一つは動的型付けであるけれど、データ型を無視する
ダックタイピングは嫌われている(その場限りの使い捨てプログラミングであれば許容されるが,,,)
ジェネリクスやダックタイピングといったデータ型(or 型システム)に関する概念と
手続き型/関数型という計算モデルに関する概念は直交するものであり、ごっちゃにすべきではない

923 :デフォルトの名無しさん:2017/02/11(土) 00:33:39.15 ID:ria0yk5C.net
個人的に関数型の良さは
小さな関数を合成してパイプラインを作れるところだと思ってる

924 :デフォルトの名無しさん:2017/02/11(土) 00:45:25.28 ID:z0i3VjKa.net
>>894
本来プログラムは短くかけるもんなんだよ

コードが長くなる理由の大半は

型推論のない静的型宣言
融通の聞かないジェネリクス
ローカル変数の定義、束縛
関数名が長い
引数が長い
ライブラリ使用時の作法、データ制約にたいする適合
ラッパークラス
汎関数使用に制約がかかっている
マクロの使用に制約がかかっている

データ型を宣言するたびに自分で使わない関数をインプルメントするということがビジネスを度外視したドカタ行為であると理解してからOOPを使おうね

次コードが遅くなる原因

925 :デフォルトの名無しさん:2017/02/11(土) 01:02:29.08 ID:ria0yk5C.net
>>924
>データ型を宣言するたびに自分で使わない関数をインプルメントするということ
ん?意味が分からん

926 :デフォルトの名無しさん:2017/02/11(土) 01:15:27.54 ID:z0i3VjKa.net
コードが遅くなる原因

アルゴリズムが悪い
アルゴリズムが悪いと思っているが高度なアルゴリズムを設計実装できない
ディープコピー
安全性(バウンダリー、オーバーフロー)
ガベージコレクション
メモリアロケーション
配列を使わない
(ポインタを集約しない)
二分平衡木など木構造を使いこなせない
マルチコアを活用しない
非同期処理を活用しない
IO待ちネットワーク待ち

関数型というのはコンピュータアーキテクチャを知らなくてもかけるようになっているが、何がドメインにおけるbyrefつまり変更しうる点なのか、何がbyvalつまり本質的に不変な値であるかを考えずに書くということはない
何が並行的に処理できて、何が並行処理できないかも概ね予想がつくようになっている


大量のrefオブジェクトが、相互に結び付き合って動的に変化していくようなプログラムはcでかくほうがいい

それは明らかに並行処理不可能で、ポインタによる大量のref宣言がないとガベジコレクトあるいはrefにたいする参照コストが高くつくからだ

一方でそれ以外の分野、たとえば給与計算システムを書くにあたって命令的プログラミングは保守の足かせにしかならない
なぜならば命令型になじめば、必要以上にrefオブジェクトを定義するからだ
関数適用による遅延評価よりも、ポインタ変数の書き換えのほうが、常に高速であるというのだから、仕方のないことだ

927 :デフォルトの名無しさん:2017/02/11(土) 02:21:40.45 ID:Xp+0sQ+z.net
>>905
なんか駄目プログラマっぽいな
抽象化は手続き型でコードをライブラリにして使用する、というだけでも起ってる事だよ
それとも、使い方を知らないから不要とでも言うのか?

928 :デフォルトの名無しさん:2017/02/11(土) 02:26:38.98 ID:PF8ePb43.net
>>927
やりすぎが良くないというだけで別に抽象化を否定していない
可読性を損なうほどの抽象化なんてドブに捨てたほうがよい

929 :デフォルトの名無しさん:2017/02/11(土) 02:34:57.87 ID:PF8ePb43.net
誰もが知っているDRY原則でさえ、時としては不正解になりえる
俺と同じ意見を拾ってきた

http://postd.cc/on-dry-and-the-cost-of-wrongful-abstractions/
http://プログラマが知るべき97のこと.com/エッセイ/共有は慎重に

930 :デフォルトの名無しさん:2017/02/11(土) 02:57:37.46 ID:Xp+0sQ+z.net
>>928
手続き型は冗長すぎて可読性を損なうからダメだ、と言うのと同レベル
そちらの言う関数型云々という主張はそれ以前の話だと思うが

そしてDRY原則が抽象化であるというのが解釈間違えてるよ
抽象化という作業には適切な取捨選択という意味もあるから

931 :デフォルトの名無しさん:2017/02/11(土) 03:06:25.79 ID:Xp+0sQ+z.net
というかDRY原則とか久々に聞いたな
少し和んだ

932 :デフォルトの名無しさん:2017/02/11(土) 03:17:56.37 ID:Xp+0sQ+z.net
>>925
ドカタ用のOOPはAdhocな実装しかできないのを言ってるんじゃないの
汎用型の操作を挿入したくても、合わせるために後から基底クラスやインターフェースぶっこむとか無茶できないしな

933 :デフォルトの名無しさん:2017/02/11(土) 03:20:13.58 ID:uRBrgRbG.net
>>928
それは自分でコントロールすればいいだけで、関数型言語を否定する理由にならない。

934 :デフォルトの名無しさん:2017/02/11(土) 03:38:55.41 ID:1GGXJcPM.net
>>921
それ単にライブラリ使うか自前で書くかの違いしか言ってないよね。

935 :デフォルトの名無しさん:2017/02/11(土) 05:08:14.46 ID:R87vRIPm.net
>>886
perl5じゃなくてperl6な

936 :デフォルトの名無しさん:2017/02/11(土) 05:18:05.14 ID:R87vRIPm.net
>>907
言語仕様で再帰はループ最適化されるようになってるの?でなけりゃちょっと、、、

937 :デフォルトの名無しさん:2017/02/11(土) 05:31:02.37 ID:R87vRIPm.net
>>914
関数型がわかりずらいってことは無いと思うが、抽象化のやりすぎが害ってのは程度や周辺の環境にもよる。
実例では、昔bazzarって分散バージョン管理システムがあって当時はgit, mercurialとならんでvcs御三家だった。
UTF-8対応とかsvnからの移行のしやすさとか他より進んでたけど、過度の抽象化・内部隠蔽やりすぎて速度出ないわ複雑化したちゃったわで廃れた。後年中の人が反省してた。
速度については実装言語がpythonってこともあったけど、同じくpython使ったmercurialよりも廃れるのが早かった。

938 :デフォルトの名無しさん:2017/02/11(土) 07:08:44.79 ID:UbYHAA6y.net
>>907
非常にわかりやすく説明されてますね。
(+) (*)だとまだfoldのありがたみが分からない人がいる気がするので、λ式を使う例も挙げると、
例えば数値リスト中の最大値を求めるには、
  foldl (λx ->λy-> if x < y then y else x) 0
とすればいい。

ループって、i -1の時点での結果(上のx)と、iの要素(上のy)をゴニョゴニョするパターンが多いから、
それらをfold(foldr、foldl)でまとめとこう、ということ。
上の右端の0は、i=0での初期値(最初のx)。
最初はうっ、となるかもしれないけど訓練だわね。
xがi - 1の結果、yがiと見ながらやる。
慣れるまでは全部λ式で理解した方が迷わないと思う。

939 :デフォルトの名無しさん:2017/02/11(土) 07:33:46.72 ID:4lMkkL1V.net
最近プログラミングを始めた初心者なんだけども
プログラミング言語ってのは万能では無くて
それぞれ用途によって成り立ちが違うものだと理解していたんだけども違うの?

それぞれの分野でいろんな方面に(意図的に)特化された言語が出てきてて
それが次世代の言語なんだと思ってた

同じ分野の言語ならともかく
違う分野の言語同士の優劣を議論しても無意味な気がするんだけど…

的外れな事言ってたらスイマセン…

940 :デフォルトの名無しさん:2017/02/11(土) 08:12:27.67 ID:JyXRsfxl.net
正論言うのは初心者だけか。

941 :デフォルトの名無しさん:2017/02/11(土) 08:16:38.80 ID:uRBrgRbG.net
>>935
プログラミングから離れて久しいのでうろ覚えだったん。。。
ご指摘感謝。

>>936
5年くらい前までは再帰はスタック消費するからと入門用で、実際には末尾再帰を書いた。
当時もリストを受け取ってリストを返す関数は遅延評価のお陰?でループになってたけど。

942 :デフォルトの名無しさん:2017/02/11(土) 08:20:55.94 ID:uRBrgRbG.net
>>922
関数型もLLも手続き型のコンパイラ言語より短いのと言われるので、短い理由が意図を圧縮(高い抽象化)とは違うと言うのを伝えたかった。

ご指摘の通り、関数型由来の機能が多いからだが、これはコンパイラ言語にも入ってるので、違いと言うとそれぐらいかと思って。

943 :デフォルトの名無しさん:2017/02/11(土) 08:30:07.41 ID:uRBrgRbG.net
>>939
特定分野のはある意味圧勝してるのであまり話題になりませんね。
ここで議論されるのは応用範囲が広い事を前提に作られた汎用言語が多いです。

なので、生産性重視か、実行速度重視かのバランスや政治的理由(どんな企業がバックに付くか)でしばしば論争になります。

仕事に使うだけなら流行りの言語でいいですが、いち早く波に乗りたいならどんな言語か?と。

個人的には言語自体は流行らなくても、オブジェクト指向ならsmalltalk。関数型ならHaskellを学んでおくと、突き詰めた先に何が待ってるかが見えて勉強になると思ってます。
ただ、突き詰め過ぎて実践より研究向きなのであくまで勉強用です。

944 :デフォルトの名無しさん:2017/02/11(土) 08:48:31.39 ID:4lMkkL1V.net
SIの営業を10年位やってまして
自分の売ってる物をちゃんと理解したくて
数年前から暇を見つけては独学で勉強してるんですが
サーバインフラ周りはひと通り理解した(つもり)ので
プログラミングを始めた感じです

ひとまず書籍が入手しやすいpythonをやってますが
同僚のSEに他にどんな言語勉強したら良いか聞いたら

「現状ならjavaやるべきだけど多分衰退するから
もっと先を見据えるなら他の言語やっとけ」

と言われまして次世代言語について調べてる次第です
いろいろあってどれが良いのかさっぱり判らんです…

945 :デフォルトの名無しさん:2017/02/11(土) 09:07:44.10 ID:xeNWfnm4.net
言語なんて少ししかないんだから思いついたら全部やればいいんだよ
そうすることによって異なる言語間でで共通した部分が浮き出てきて
新しい概念何て何もないんだ、組み合わせが違うだけなんだということが
わかるんだよね。

946 :デフォルトの名無しさん:2017/02/11(土) 09:18:04.26 ID:uRBrgRbG.net
>>944
SEさんはご自分の立場視点で言ってますが、営業が覚えるべきは自分の会社のサービスは何に役に立つか?どんな強みがあるか?です。
プログラミング言語ではありません。
そのサービスがどう言う仕組みで動いてるかを学ぶにしても、ネットワークの仕組みとか、そう言う概要的なもので良いはずです。

947 :デフォルトの名無しさん:2017/02/11(土) 09:20:33.72 ID:iADUiS1q.net
>>945
言語なんか少ししかないとかどんな観測範囲で生きてるんだよ

948 :デフォルトの名無しさん:2017/02/11(土) 09:24:36.21 ID:xeNWfnm4.net
宇宙に存在する原子の数に比べていってるんだよ。

949 :デフォルトの名無しさん:2017/02/11(土) 10:07:36.85 ID:Xp+0sQ+z.net
>>939
無意味ではないよ
むしろせっかく各言語の使用者が集まってるのに、議論を放棄する方が勿体無い
例えば初心者なら、学習コストについては興味あるだろう?
虚無主義こそ無意味

950 :デフォルトの名無しさん:2017/02/11(土) 10:57:18.09 ID:1GGXJcPM.net
ループに展開されることを期待して再帰書くってなんか負けてるよね。
最初からループ書けよって思っちゃう

951 :デフォルトの名無しさん:2017/02/11(土) 10:58:15.33 ID:R87vRIPm.net
>>944
俺はpython好きじゃないけど、pythonの選択は良いと思う。
javaは日本の場合は、お役所案件とかクソ面白くない仕事したいとか他に選択の余地が無いからしょうがなくやる感じ。
ブロックが波カッコの方が好きなんだけどなぁ。
pythonはエコシステムがそろってきててポジティブフィードバックができてきてるからそのまま深めるといいと思うよ。
俺も主要linuxディストリブューションのデフォルトpythonが3系になったら真面目にやり直そうと思っている。

952 :デフォルトの名無しさん:2017/02/11(土) 11:01:59.47 ID:R87vRIPm.net
>>950
再帰で書いた方がスッキリ書けるのもあるから、そういうのでスタック消費気にせず書けるようになると嬉しいよ。

953 :デフォルトの名無しさん:2017/02/11(土) 11:15:25.28 ID:U4DU79V8.net
再帰はスタック無駄消費するしフローチャートに起こしにくいしでいいことがないので、レビューで出されたら突き返してる
末尾再帰がループに最適化されるなら初めからループで書けばいい話だしな。

954 :デフォルトの名無しさん:2017/02/11(土) 11:21:17.30 ID:vYnF6jq+.net
953は高齢おっさん

955 :デフォルトの名無しさん:2017/02/11(土) 11:23:43.12 ID:OKIE+D8i.net
>>944
これからの時代は知能プログラミング、知識プログラミングになっていきますから、
そういうものに向いていて、最先端のものが次世代プログラム言語です。
ところが、現在この分野で主流のPythonはMITで流行っていたから現在も
使われているだけで、特別理由があってのことではありません。
LISPやPrologも旧世代の言語で次世代というようなものではありません。
現在、その芽もないという状態だと思います。強いてあり得るとすれば、
Haskell。

956 :デフォルトの名無しさん:2017/02/11(土) 11:26:38.99 ID:U4DU79V8.net
>>954
せめて内容に反論してくれ……

957 :デフォルトの名無しさん:2017/02/11(土) 11:29:16.75 ID:fyD8uwxk.net
最適化してくれるんなら再帰で書くだろ、普通。
なんのための高級言語なんだよ。

958 :デフォルトの名無しさん:2017/02/11(土) 11:45:29.33 ID:bKkZmPiT.net
コンパイラの挙動を意識せずにプログラミングできないものか

959 :デフォルトの名無しさん:2017/02/11(土) 12:04:05.35 ID:U4DU79V8.net
>>957
書き手のミスで末尾再帰でなくなった時になにも言わずにスタック使った再帰に変わるのは危険だろ。
なら初めからループで書いた方が間違いが起こらない

960 :デフォルトの名無しさん:2017/02/11(土) 12:20:17.71 ID:C+/v5lR8.net
なんでわざわざ次世代言語スレに古いおっさんが湧くんですかね……

961 :デフォルトの名無しさん:2017/02/11(土) 12:24:49.75 ID:xeNWfnm4.net
古いオッサンはフローチャートが大好きだからすぐわかるな。

962 :デフォルトの名無しさん:2017/02/11(土) 12:28:02.82 ID:Xp+0sQ+z.net
再帰の危険性はまあ同意するけど
フローチャートは無いわ
無いというか引くわ

963 :デフォルトの名無しさん:2017/02/11(土) 12:28:40.99 ID:cPTgzj2b.net
>>953
末尾呼び出しが最適化される文脈なら、
コードとフローチャートは一対一で対応すると思うぞ

>>959
それは書き手の問題でループでもバグは生まれる

964 :デフォルトの名無しさん:2017/02/11(土) 12:52:34.51 ID:qQmrAco8.net
ふ、ふ、ふ、ふろーちゃーとwww
コード書くのにふろーちゃーと作ってる化石発見wwww

965 :デフォルトの名無しさん:2017/02/11(土) 12:54:30.58 ID:0GjTSBdX.net
次世代言語スレでフローチャートなんて単語がびっくらポンと飛び出るとは思わなかった

966 :デフォルトの名無しさん:2017/02/11(土) 13:00:04.46 ID:z0i3VjKa.net
>>944
システムインテグレータなら業務システムうってるわけだ
しかも開発したいわけじゃなく売り物の勉強がしたいと
それならJavaでいいんじゃないの
たぶんもの自体がJavaでかかれてるだろうし、Javaは業務システムでの公用語みたいなもんだ

同僚SEが何を持って次世代としていて何故Javaを終わった言語とよんでいるかによるね

個人的にjavaがダメなところを指摘すると、OOPを強制するところだ、OOPはたいして役に立たない上無駄な構文を沢山導入する、これらはコンピュータのためのものであって、顧客や人間のために用意されたものじゃない

それでも個人的にはjavaをオススメする
あと関数型言語を少し勉強する
(haskell,ocaml,clojure,scala)
個人的には同じjava系言語のclojureかscalaをオススメする
これらの言語はJavaを簡単に呼び出せる

何故関数型を勉強すべきか
1.顧客が必要としているものを記述する上でもっとも短い表現を考えることになる、そしてそれはコンピュータで動作する
2ドメインにおいて不変なものと可変なものの見極めをするようになる、それは要件定義においても、データベース設計においても有効

pythonもスクリプトとしていい言語だからそれでもいい
ただし2.を真剣に考える助けにはならない

それを補う意味でもエリックエヴァンスのドメイン駆動設計も一読をオススメする、これは業務システム設計の本だがOOPと関数型の架け橋たりえる内容を含んでいる、ただ独特な用語が多過ぎて初学者には難しいかもしれない

個人的に関数型が好きなのは、用語の定義づけ、概念の適用範囲が割と明確だから、設計にも活用しやすいことだ、ここで学んだことをもちろんCやC++でも使えるようになる

要は人間様のために書くのかコンピュータ様のために書くのかということを分けて考えられるようになる

967 :デフォルトの名無しさん:2017/02/11(土) 15:16:27.69 ID:2PZ2/Gs1.net
>>950
手続き型でも再帰の方が一般に読み易い。
だけど再帰はスタック消費するから敬遠されてた。
Haskellも最初はそうだったけど、今は違うし、関数型の再帰は上でも言ったけど、ループを関数として括り出して再利用出来るのが良いのよ。

最近のLLやC#でも同じ事出来るけど、演算子も関数ってのが効いててHaskellのが自然に書ける。
遅延評価で無限の数列や無限に繰り返す関数を扱えるのも大きい。
ファイル処理とか大活躍。

この辺はHaskellだと自然だけど、手続き型はFunc型やイテレータ、エナメレータとかって新しい機能の追加で対応してる。
関数型は数学的な関数+データ構造+副作用のある関数ってだけの知識が、手続き型だとどんどん覚えることが増える。
ハイブリッド言語になる程そうなる。

968 :デフォルトの名無しさん:2017/02/11(土) 17:37:28.50 ID:ria0yk5C.net
>>944
自分でプログラミングできるようになりたいならPython続ければいいと思う
業務システムで役立つ概念とか考え方を学びたいなら>>966の進めてるDDD本を読んでScalaかF#勉強するのが現状ではオススメ
ただ営業ならプログラミングを勉強するよりコードを書かない”SE”がやってる仕事を勉強したほうが100倍役立つと思うよ

969 :デフォルトの名無しさん:2017/02/11(土) 17:44:38.51 ID:ria0yk5C.net
>>939
超正論
コンテキスト次第でどの言語がいいのかは変わってくる

970 :デフォルトの名無しさん:2017/02/11(土) 17:56:01.24 ID:2PZ2/Gs1.net
営業なら社長さんか、社長の考え知ってそうな上司から、どんなシステムの使い方を想定してるのか、今後どう進化させるつもりか聞いた方がいいんじゃないかな。
言語って結局アイデア実現させる道具で、より使い易いのが出たら移り行くものだし。
トップがどんなアイデア持ってるかが重要だと思うの。
(もしくはアイデア担当者)

971 :デフォルトの名無しさん:2017/02/11(土) 18:24:10.77 ID:v4Iby9pe.net
フローチャートがだめな根拠が「古いから」だけでは差別だからな
数学的根拠が欲しい
そうやってフローチャート叩きを利用して関数型が勢力を拡大してる

972 :デフォルトの名無しさん:2017/02/11(土) 18:29:53.26 ID:ria0yk5C.net
何のためにフローチャートを書くのか、もしくは昔は書いてたのか自問したほうがいいかも

973 :デフォルトの名無しさん:2017/02/11(土) 18:32:20.85 ID:Dru7rPMr.net
関数型でもフローチャートは有効だけど
データフロープログラミングなんてその最たるものじゃね

フローチャートの逆は、GUIに代表されるイベントプログラミングでしょ

よくUMLのクラス図だしてフローチャートはオワコンだって言ってる奴がいるけど、そいつはuMLすらしらないから放置していい

974 :デフォルトの名無しさん:2017/02/11(土) 18:36:52.20 ID:jrzBmbad.net
> フローチャートの逆は、GUIに代表されるイベントプログラミングでしょ

そうなんだよね、イベントループからコールバック関数に処理が移る過程を
フローチャートでどう表現すればいいのか分からなくて、独自のチャートを
追加して誤魔化したっけなぁ…

975 :デフォルトの名無しさん:2017/02/11(土) 19:43:22.33 ID:QWfOXaMD.net
基本はBASICだよ

976 :デフォルトの名無しさん:2017/02/11(土) 20:02:46.46 ID:qQmrAco8.net
>>971
書く時間が無駄だから!!

977 :デフォルトの名無しさん:2017/02/11(土) 20:07:11.81 ID:4lMkkL1V.net
仕事から帰ってきたら物凄いレスついててびっくりです
みなさんありがとうございます

pythonをやってみての印象は「何でもできるんだなー」という感じでしょうか
ひとことで言うなら「汎用的」というのがしっくりきました
だからこそ思うのですが、こんだけ汎用的に使えるのに
何で他に多数の言語が存在するのかが不思議でならなかったです

それで他の言語はどんな感じ何だろうかと思って同僚に聞いた答えが>>944ですね

そういった経緯で色んな言語について調べてたのですが
次世代の言語はjavaやpythonといった現行の汎用的な言語に関数型言語をミックスしたものかその逆かっていう印象です

ひとことで纏めるとそんな印象なんですが、軽く仕様を見るとそれぞれ全然違うんですよね…
goやrust辺りは何となく理解できなくも無さそうなんですが
scalaで「えっ?」てなって、haskellで「???」ってなって、
erlangに至っては理解することを諦めました…
唯一理解できたのはerlangのvmに魅力を感じてelixirを作ってしまったという人の心境だけでした…

仕事で使う訳でも無いですが、pythonを書いてるのは純粋に楽しいです
将来的には起業とか考えてるので仕事で使えそうな次世代言語も勉強してみたいですが、
まだ時期尚早(私の能力的に)なんだろなと痛感してたりします

まずはpythonを自由に書けるようになってからjavaとhaskellを勉強してみようかなと思います
いろいろなアドバイスありがとうございました

978 :デフォルトの名無しさん:2017/02/11(土) 20:16:03.84 ID:2PZ2/Gs1.net
Erlangはそんな難しい印象なかったが。。。
Prolog由来の大文字がウザかっただけで。

Haskellは基礎を学ぶならプログラミングHaskell。
んで、モナドとはなんぞや?を理解したいならすごいH本へ進むと良いよ。

初心者はむしろJavaとかよりHaskellのが算数・数学に近いから馴染み易い。
Javaから行ってもいいけど、Haskell覚える時はJavaは一旦忘れて、数学をプログラミングに広げたのがHaskellだと思えば良い。
(実際、紙と鉛筆があればプログラミングと動作の確認ができる)

979 :デフォルトの名無しさん:2017/02/11(土) 20:28:42.84 ID:C+B9fCOA.net
フローチャートが描かれていたのは、紙に書いて専業のパンチャーに
打ってもらった時代の名残り。今はエディタを操作する速さにチャート
編集がついていけなくなった。
フローがわかりにくい部分のみをチャートに書き出すのはありだろうが
そもそもそんなコードは書くなっていう

980 :デフォルトの名無しさん:2017/02/11(土) 20:41:24.76 ID:v4Iby9pe.net
>>979
その理屈だと、キーボードとコマンドの速さに、タッチパネルとGUIがついていけない

981 :デフォルトの名無しさん:2017/02/11(土) 20:43:04.84 ID:7Nq7SR91.net
>>978

>初心者はむしろJavaとかよりHaskellのが算数・数学に近いから馴染み易い。

これ、自分もそう思ってて、
会社の初心者のエンジニアにこう吹き込んでプログラミングHaskell渡したら、
舐めてんのか的なリアクションだったわ。

実績ある?布教したいので、うまいやり方を教えて欲しい。

982 :デフォルトの名無しさん:2017/02/11(土) 20:49:32.91 ID:WuFir4ww.net
次世代言語はいつまで経っても次世代のまま。
SwiftやKotlinの様な中庸な言語の方が余程将来性ある。

983 :デフォルトの名無しさん:2017/02/11(土) 20:50:51.13 ID:2PZ2/Gs1.net
それはもう、エンジニアとして初心者でも、それなりに手続き脳に固まってるんだと思う。

手前勝手だが、パブーにHaskell入門以前ってepubの本置いてるので、使えると思ったら読ませてみて。
(パブー Haskell で検索)

あんまり純粋関数型言語ってブランドに振り回されてもいけないと思う。

984 :デフォルトの名無しさん:2017/02/11(土) 20:52:11.41 ID:Dlx8qt0u.net
初心者なら環境作りも楽で強力なIDEの恩恵が受けられるF#がいいと思うなあ
もっと関数型について深くまなびたいとなったらHaskellやってみない?という流れが良いんじゃないかな
HaskellはHello,Worldまでが遠すぎるから初心者にはどうかなあ

985 :デフォルトの名無しさん:2017/02/11(土) 20:55:58.54 ID:2PZ2/Gs1.net
え、JavaやPythonの環境構築と変わらんが。。。
あれ出来なかったらプログラマ以前の問題。

986 :デフォルトの名無しさん:2017/02/11(土) 20:56:30.71 ID:Dlx8qt0u.net
いやプログラマじゃなくて初心者の話でしょ

987 :デフォルトの名無しさん:2017/02/11(土) 21:04:17.29 ID:2PZ2/Gs1.net
>>982
Haskellは永遠の次世代言語何だろう事は承知してるが、学ぶべき言語である事に変わりはない。

988 :デフォルトの名無しさん:2017/02/11(土) 21:07:57.21 ID:2PZ2/Gs1.net
>>986
全くの初心者も一応?想定してるので無問題。
あれで拒否られたら、ただの食わず嫌い。

989 :デフォルトの名無しさん:2017/02/11(土) 21:08:58.10 ID:0eM0mGZz.net
Haskellは言語仕様は好きだけど、学べるまでが遠い
Stackがもっと整備されるまではコンピューター初心者に勧めるものじゃない

990 :デフォルトの名無しさん:2017/02/11(土) 21:11:13.26 ID:Dlx8qt0u.net
いやまあ環境構築の部分は別にそこまでこだわらなくてもいいんだけど
要はより簡単に始められて、簡単に出力するプログラムもつくれて、間違いもIDEに指摘してもらえるってこと
HaskellはHelloWorldまでに学ぶことが多いから初心者に向くのかなあと思ってね

991 :デフォルトの名無しさん:2017/02/11(土) 21:15:17.00 ID:2PZ2/Gs1.net
なぜstack。。。
そこまで応用出来んでも、十分既存の言語使うのに役立つ知識を吸収出来る。
アルゴリズムをコード丸暗記馬鹿とかに効果覿面。
(おいらの事だ)

992 :デフォルトの名無しさん:2017/02/11(土) 21:15:25.18 ID:v4Iby9pe.net
初心者に静的型付けを布教するな
Java初心者にはジェネリクスを教えないし
C++初心者にはCを教える

993 :デフォルトの名無しさん:2017/02/11(土) 21:16:47.99 ID:9jDGkB4H.net
エディタを、Haskell用に補完も出来る、コンパイルも出来る、バッファ内でghiが動くように持ってくだけでも一苦労だわ。

994 :デフォルトの名無しさん:2017/02/11(土) 21:20:21.10 ID:Xp+0sQ+z.net
純粋関数型と言うが、よく考えたら結構ひどい宣伝だな
真面目に製品レベルで組もうとすると、traceやunsafePerformIOが増えてくし
そこまで行かずとも、IOUArrayとか使ってるだけでIOだらけになって、純粋って何だっけとか思い始める

995 :デフォルトの名無しさん:2017/02/11(土) 21:21:28.63 ID:2PZ2/Gs1.net
>>990
それこそ、Haskell知ってる人(>>981)が身近に居るなら、その人に聞けば良いじゃない。
それでなくてもHoogle教えれば勝手に調べられるし。

996 :デフォルトの名無しさん:2017/02/11(土) 21:23:10.42 ID:Xp+0sQ+z.net
>>993
leksahとか使ってあげてよ…

997 :デフォルトの名無しさん:2017/02/11(土) 21:24:23.52 ID:7Nq7SR91.net
>>983
ありがとう、見てみるよ。

998 :デフォルトの名無しさん:2017/02/11(土) 21:27:00.53 ID:7Nq7SR91.net
>>995
いや、解説するまでもなく、渡して一時間でごめんねー自分そこまで賢くないから、
ごめんねー、
と、ややおこで返却された。

999 :デフォルトの名無しさん:2017/02/11(土) 21:27:29.82 ID:2PZ2/Gs1.net
>>993
待て待て、ただの学習用になぜそこまで環境整える。
普通に好きなエディタでいいよ。
何も本格的に使う訳じゃない。
良い概念覚えて知ってる言語に活かせってんだろ?

1000 :デフォルトの名無しさん:2017/02/11(土) 21:30:05.06 ID:0GjTSBdX.net
「フローチャートは時代遅れの厄介者」

1975年初版発行の『人月の神話』より

>1975年
>1975年
>1975年

わかるか?

総レス数 1000
257 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★