1 名前:デフォルトの名無しさん mailto:sage [2017/04/20(木) 04:43:27.12 ID:mNwXvrXv.net] いざ、語ろうぞ。 スレタイ超過のため、一部省略。 Go, Erlang, Kotlin, etcもウェルカム。 Haskellは協議により次世代失格になりました 前スレ 次世代言語議論スレ[Go Rust Haskell Scala]第3世代 echo.2ch.net/test/read.cgi/tech/1488608741/
534 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 19:24:24.98 ID:rQS0QApr.net] >>529 一般にやれることがおおければそれだけ記述量は増える。 まあよく使われる書き方については短くかけるように符号を割り当てるってのは あるのかもだが。
535 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 20:17:34.42 ID:0YWm4zQf.net] そこそこ高学歴の学生としては数学扱いやすい言語以外はそもそも学ぶ気にならないなあ だからPythonとか大好きだし、もし自分が言語を決める立場になったら、Pythonで出来ることは全部慣れてるPythonでやると思う
536 名前:デフォルトの名無しさん [2017/05/19(金) 20:57:32.26 ID:EInD1neL.net] >>485 をHaskell(読みやすくしてみた)、Ruby、Pythonで書いてみた。 Haskell import System.Environment makeList cs f = take (length cs `div` 2) [cs!!x | x <- [0..], f x] zipArgs args = zip evenList oddList where evenList = makeList args even oddList = makeList args odd main = getArgs >>= print.zipArgs Ruby evenarry,oddarry = [],[] ARGV.each_with_index{|line, i| evenarry.push line if i.even? oddarry.push line if i.odd? } evenarry.zip(oddarry){|x,y| print [x,y] } if evenarry.size < oddarry.size oddarry.zip(evenarry){|y,x| print [x,y] } if evenarry.size >= oddarry.size puts Python import sys evenList = [arg for i, arg in zip(range(len(sys.argv[1:])),sys.argv[1:]) if i % 2 == 0] oddList = [arg for i, arg in zip(range(len(sys.argv[1:])),sys.argv[1:]) if i % 2 == 1] for (x,y) in zip(evenList,oddList): ____print((x,y), end = '') print()
537 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 22:15:21.36 ID:20gWsnkC.net] >>536 例えばRubyで ARGV.each_slice(2){ |e| print e }; puts と書くのと何が違うの?
538 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 22:22:13.75 ID:E3Xd/U2i.net] 今飲み屋なので明日確認するけど、おいらは(へっぽこ)Haskellerであって、RubyもPythonもそこまで得意じゃない。 あんたみたいな精通してる人のがずっと良いコード書けると思う。 ただ、オブジェクト指向も結局、宣言的プログラミングが理想の形なのは確か。
539 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 23:08:50.45 ID:R52jpALp.net] >>535 数学好きならJulia使ってみようぜ。今年1.0出る予定だそうだ。
540 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 23:26:54.55 ID:EInD1neL.net] >>537 クソが!! コマンド引数が奇数の時にエラー出るじゃねーか!!!! ちゃんとテストしやがれ!!!!!!
541 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 23:35:57.31 ID:EInD1neL.net] >>539 ここで興味持って見て見たけど、文法がHaskellよりごちゃごちゃしてるんよ。。。 やっぱおいらはHaskellが好きやねん。
542 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 23:45:26.92 ID:0YWm4zQf.net] >>539 別に数学好きってわけでもないけど、もちろんJuliaは使えるよ 最新の文法を全部追ってはいないから最新のをちゃんと使える自信はないが
543 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 23:48:20.94 ID:R52jpALp.net] >>541 そりゃHaskellやLispと比べりゃどんな言語もごちゃごちゃしてるわ。 Juliaが狙撃対象にしてるのはRやPython(つーかNumpy)だから、Haskellはそもそも意識してないはず。 おまいさんに八つ当たりしてもしょうがないんだが、個人的にHaskellは二項演算子のググラビリティが死ぬほど低いのが困る。
544 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 23:54:27.07 ID:co8auLJ+.net] pythonは言語的に優れてるとはおもわんけど簡素だよね全体的に 学習コストが低い そこが高学歴wの人に好かれるとは思わなかったけど
545 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 23:59:47.82 ID:0YWm4zQf.net] >>544 俺がPython好きなのは簡素だからではないけど、たしかに物理や数学の勉強で忙しくって、あんまり難しい言語は流行らないなあ
546 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 00:04:40.55 ID:HfZ9LPLj.net] Pythonは教科書に載ってる模擬言語にそっくりだ 昔はpascal風のが多かったけど
547 名前:デフォルトの名無しさん [2017/05/20(土) 00:05:47.77 ID:ntB1AqSN.net] >>543 自分で書いたコードはどうやって検索してるんだ もしかして全部オープンソースにしてからぐぐるのか
548 名前:デフォルトの名無しさん [2017/05/20(土) 00:14:11.99 ID:Mj4DXfyk.net] >>523 Haskell ideone.com/affD4l
549 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 00:25:17.41 ID:Mj4DXfyk.net] >>543 なぜHoogleを使わないんだ? あと今のGoogleは記号検索も対応しているぞ。
550 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 01:38:29.31 ID:l+OpXRNf.net] 学歴たけーからこの言語は使えませんとかなんなんw 普通に言ってきたら馬鹿だとしか思えなくなるわw
551 名前:デフォルトの名無しさん [2017/05/20(土) 08:02:40.56 ID:1yTY6BxE.net] 大学生と中学生って3年ちょっとの差しかないからな
552 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 08:20:32.04 ID:4ZGrm/1B.net] >>523 Go ideone.com/Uv5UOC
553 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 08:56:41.66 ID:Ykf9CvnE.net] >>543 すまん。 ググラビリティって何だ? って調べたらググり易さ? そんなに記号多かったっけ。。。 モナドとファンクタ以外は普通の言語にもある記号だろ? 本一冊持ってれば十分だし、Hoogle有るから。 それ言ったら2引数の関数全て二項演算子になるし、二項演算子も全て2引数の関数になる。 かえって(*)とかのセクション(2引数の関数)としてググれば見つかりやすいかもな。
554 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 09:03:31.15 ID:Ykf9CvnE.net] >>544 プログラミングが本分じゃ無い人にとっては言語学習はコストだわな。 オブジェクト指向にどのくらい純粋かとか、そんなのどーでも良いんだろう。 おいらは言語オタだから純粋さにこだわって行き着いたのがHaskellだったが。 そのHaskellも実装が関数型言語ならこんな最適化が出来るって本に書いてたことをあんまり実現出来てない、理想から程遠い実装なんだが。
555 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 09:04:28.62 ID:SQ1bJtqA.net] >>550 そんなん言ってる奴おる?
556 名前:デフォルトの名無しさん [2017/05/20(土) 09:15:34.10 ID:1yTY6BxE.net] 言ってる奴はいるが、ちょろっと検索した程度では見つからないな 検索は万能じゃないというかむしろ無能である
557 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 10:10:53.27 ID:/WJez+wG.net] >>519 Googleは開発言語に関しては保守的 社内で関数型言語使うの禁止されてるし
558 名前:デフォルトの名無しさん [2017/05/20(土) 10:34:26.74 ID:oEL0pKOn.net] Kotlinが晴れて現世代になったから 次スレからHaskellはスレタイに復帰ですね 永遠の次世代言語として
559 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 10:36:59.62 ID:Ykf9CvnE.net] へ〜 Haskellは、サーバサイド・ソフトウェアを構築する際の“秘密兵器に最も相応しい”とCarl Baatz氏(Better社の共同設立者)は述べている。 https://www.infoq.com/jp/news/2016/08/haskell-production-retrospective サーバーサイドで実行するソフトウェアの構築を行う場合は、Haskellは今日探し得る中で最も秘密兵器に近いと言っていいかもしれません。 postd.cc/haskell-in-a-startup/
560 名前:デフォルトの名無しさん [2017/05/20(土) 10:38:31.13 ID:oEL0pKOn.net] 永遠の秘密兵器
561 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 10:47:37.49 ID:K5B4Hn4Z.net] twitterに捨てられ 採用したchatw○rksは運気が下がり Kotlinにすら負けた Scalaよ、どうしてこうなった?
562 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 11:34:53.45 ID:PlVXA0LD.net] >>553 コードリーディングしてるとき、例えば<$>とか<*>とかが出てきて、さてこの二項演算子の意味はなんだ?って調べたいとする。 Googleの検索窓に突っ込む。記号しかないので検索結果がまともに出てこない。 Hoogleはしらんかったな。
563 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 11:40:19.93 ID:Ykf9CvnE.net] まずHaskell入門書なりサイトなり読めよ。 真っ先に紹介されるぞ->Hoogle
564 名前:デフォルトの名無しさん [2017/05/20(土) 11:58:59.27 ID:1yTY6BxE.net] 厳格なクラスベースOOPから撤退して手続き型に戻りたいだけじゃないか本音は しかし撤退しただけというのを秘密にするための兵器が必要だった
565 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 12:00:53.27 ID:Mj4DXfyk.net] >>562 <$>とかはGoogleで検索できるよ
566 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 12:07:06.01 ID:Mj4DXfyk.net] >>559 現状では、その記事にあるStackの守備範囲はそう大きくない。 誇張しすぎだろう。
567 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 12:15:26.38 ID:Mj4DXfyk.net] >>561 記号が多すぎたな。 あと簡単に暗黙型変換ができるのはやりすぎだった。 F#にも機能としてはあるが、幸運にもあまり使われていないように思う。
568 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 12:50:31.59 ID:jUCOTPFR.net] >>539 数学より工学よりだよね。配列扱うには便利。 今年中に1.0になるかな? 毎回のパッケージのコンパイルが不要にならないものか。
569 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 15:28:37.32 ID:SgRoQNx5.net] >>543 そう言えば、おいらは数学が好きと言ってもHaskell切bチ掛けに好きにbネっただけだし=A数学で何か解瑞ヘしたいわけじb癘ウいんよ。 どっちかっつーと、数そのものの研究?みたいな事は趣味でしてる。 チャーチ数に符号付けてチャーチ数版整数作ったり、少数作ろうとしてチャーチ数って無限進数なんだと気付いて、まず10進数から作らなきゃとか。
570 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 15:52:34.74 ID:UvQrCH4D.net] Haskell で扱えるなんて、ずいぶん狭い数学だな。
571 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 16:50:49.32 ID:l+OpXRNf.net] haskell はモナドとか圏論あつかってる、すげードヤ くらいの数学観だろどうせ。
572 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 17:11:03.97 ID:SgRoQNx5.net] 高卒の趣味グラマーに何求めてるか知らんが。。。 Haskellを切っ掛けに数学好きになったんだから、大した数学知識は無いよ。
573 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 20:58:11.85 ID:RDFlCbPz.net] Mathematica使わせたらしっこちびるんじゃねーの?
574 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 21:04:31.14 ID:SQ1bJtqA.net] Mathematica 買えない雑魚に対するマウンティングが発生しました?
575 名前:デフォルトの名無しさん [2017/05/20(土) 21:06:38.85 ID:dTi7LQL4.net] 高いンゴ i.imgur.com/Dk9bC75.png
576 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 21:09:17.84 ID:RDFlCbPz.net] Mathematicaは研究室にあったけど貧乏研究室で2ライセンスしかなく 口頭で使ってるやつに早く終われとか言ってた…
577 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 21:27:42.49 ID:l+OpXRNf.net] RaspberryPi になぜか入ってるという。たぶんこれが一番安い入手方法かと。
578 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 21:28:00.05 ID:dfia18z7.net] Raspberry Pi買えば
579 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 22:48:46.22 ID:5jKPuKGf.net] >>577 脇道的話題にレスして済まないのだが正直感謝だ。 エイプリルフールか夢かと思ったがマジだった。数万円が無料って… 意味がわからねえ。
580 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 22:53:38.13 ID:jUCOTPFR.net] >>575 ホームエディションはアカデミックと同じくらいじゃなかったか? Wolfram Alpha なら無料だし。
581 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 00:12:07.55 ID:X++SkHvT.net] Mathematicaなんて使って何するんだよ 時代遅れもいいとこ
582 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 00:15:45.94 ID:tsOaukBL.net] 微分積分
583 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 00:24:03.86 ID:T2XhzD4X.net] アルゴリズムとかの可視化においてMathematica より手軽なものを知らない
584 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 04:22:10.79 ID:YZtqITyu.net] >>573-583 言語試したいだけでハード買えって。。。 興味はあるよ。 手続きも書けるのがちょっと引っかかるけど。 純粋じゃ無いんかいって思うけど。 本読んだ限りじゃ悪い印象はそんな無かった。 Haskellみたいな汎用性無いのと導入のハードル(値段だったりハード購入だったり)がね。。。
585 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 09:17:42.41 ID:Gn+6D2wr.net] ラズパイも買えないとか お前は次世代にふさわしくないね
586 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 09:30:18.20 ID:bYtGqajI.net] >>584 試したいならお試し版使えばいいだろ。
587 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 09:30:54.35 ID:fDsf7qWs.net] いあ、買えるけどさぁ。。。 買ってまで触りたいものじゃなし。 ノートじゃ無いから場所固定されるじゃん。 手軽じゃないなぁと。
588 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 09:33:24.18 ID:fDsf7qWs.net] >>586 せやね。 試すだけならそれで良いか。 ちびるような使い方出来る数学知識は無いし。
589 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 09:33:34.85 ID:aAAAG14z.net] 純粋関数型とかモナドとかのワードに惹かれただけの ショボいコードしか書けないゴミhaskellerモドキはこんなもんだよ
590 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 09:46:52.19 ID:fDsf7qWs.net] うん。 最初はそう言うワードに惹かれた。 でも今はシンプルな仕様と言うか仕組みが好き。 少ない知識で書いて行けるのが。 そう言う意味じゃCも好きだけどね。 そのショボいコードすら出てこない次世代言語は言語オタに支持されてるだけで、言語オタは実際に役立つコード書いてないんじゃ無い? 少なくとも、おいらのは最終的にはテキストで探したい文の大まかな文脈は表示出来る、文献を参照するのに便利なコマンドになる予定だよ。>>492
591 名前:あ mailto:sage [2017/05/21(日) 09:51:06.00 ID:SzG2p8Pq.net] そういやラズパイにmathematica入ったな、いつか。 俺ずっとMaximaで済ませてたからあれだが。 数学が好きなら、数学を処理する言語使ったほうがいいのは俺も同意する。
592 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 10:11:58.67 ID:GQ3S98if.net] ついにMathematicaまで貶し始めたな… ちなみにRaspPi のはZeroでも使えるはず 流石にこれぐらいなら出せるだろ
593 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 10:28:30.98 ID:fDsf7qWs.net] え、貶してないよ? 次世代言語のここが良いあれがダメって言うだけでコード出さない言語オタは貶したけど。 まあ、おいらもHaskellに出会う前はRubyで"Hello World!!".length.displayとかやるだけで満足してたりする言語オタだったから、人の事言えないんだけどね。 何でもいいから一個の言語を使いこなせるようにまずならないと。 うん。お前が言うなだけど。
594 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 10:36:03.72 ID:GQ3S98if.net] >>593 お前の事じゃない 自己主張強い自覚あるなら控えとけ
595 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 10:39:16.44 ID:fDsf7qWs.net] おおう。。。 すまぬ。 しばらくROMるわ。
596 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 11:04:40.31 ID:NrSnEm53.net] >>523 "Pharo Smalltalk" | queue array ans msToRun sorted | queue := SharedQueue new. array := (1 to: 1e3) asArray shuffled. ans := OrderedCollection new. (1 to: 100) detect: [:m | msToRun := [array do: [:n | [(n * m) milliSeconds asDelay wait. queue nextPut: n] fork]. sorted := (queue next: array size) isSorted] timeToRun asMilliSeconds. (ans add: {#m->m. #msToRun->msToRun. #sorted->sorted}) last value. ] ifNone: []. ^ans asArray "=> { {#m->1. #msToRun->1003. #sorted->false}. {#m->2. #msToRun->2004. #sorted->false}. {#m->3. #msToRun->3004. #sorted->false}. {#m->4. #msToRun->4016. #sorted->true}} " ws.stfx.eu/8W36PYP2PQ1G
597 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 11:07:22.37 ID:bYtGqajI.net] >>593 最低でもフィボナッチはやらないとな。
598 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 19:21:13.10 ID:MtDspqBa.net] >>523 Python3 ideone.com/9um4ku
599 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 21:49:08.94 ID:uTnQjVde.net] Javaドカタでも使える次世代言語は何?
600 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 21:53:40.25 ID:np8fDJ8H.net] >>599 Java 9
601 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 21:54:21.22 ID:sdGytzhA.net] Kotlin 間違ってもScalaには手を出すなよ
602 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 21:55:44.97 ID:t4wHpx3M.net] コトィンだろ
603 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 21:59:52.84 ID:uTnQjVde.net] ペチパーでも使える次世代言語はある?
604 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 22:08:33.54 ID:k8jtGWEX.net] >>603 Go(笑)だな VB以下の低脳言語よ
605 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 22:28:10.80 ID:o+YzRX7H.net] 小岩井Kotlin
606 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 22:31:28.97 ID:t4wHpx3M.net] >>603 ペチプァ土方に次などない 糞ゴミ連想配列のドブに沈むか首吊って死ね
607 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 22:53:09.79 ID:NUyV/iNa.net] ペチパー馬鹿にすんな トレイトあるんやぞ Scalaの優れたヤツじゃなくSmalltalk式の劣った方だが
608 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 23:04:48.46 ID:ydRKGq7n.net] ペチパーってPHPerの事か WEBならKotlinよりScalaじゃない?
609 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 23:13:47.67 ID:npbAin+o.net] 用途の違う言語並べてなにを比べるんだ、、、
610 名前:デフォルトの名無しさん [2017/05/22(月) 23:30:44.58 ID:8HqyDksp.net] >>607 scalaのほうってトレイトと呼んでるけど、実態はmixinじゃないの? そっちの方が優れてるの?
611 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 00:08:59.76 ID:Cmetwh8S.net] ちまちま金出し渋るんだったら 10万程度でpc組め
612 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 00:44:31.76 ID:PZYq3vzy.net] ペチプァ〜のプァ〜は頭がくるくるプァ〜 よくあんな汚物吐瀉物糞尿下痢で踊り狂えるな 狂気の沙汰だわホンマ スレが臭くなるから近寄るなよ疫病神 早く死ね
613 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 01:15:17.85 ID:Ut2KtnOs.net] 今更mapとかfilterとかをforで書く言語のどこが次世代だよ
614 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 01:21:27.28 ID:JnTuEITt.net] なんなのその for 書いたら負けみたいな無意味な思想は
615 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 01:24:34.96 ID:Ut2KtnOs.net] Goは開発がGoogleじゃなかったら絶対流行らなかった 趣味で言語作りました。試しに作っただけなので複雑な事は出来ません こんな言語をシンプルだから分かりやすいよ!ってGoogleの知名度使ってゴリ押ししてるだけ
616 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 01:26:38.72 ID:Ut2KtnOs.net] >>614 forだと無駄な行が多すぎてパッと見て何をしているのか分からない コメント書かなくても読めるのが良いソースだろ?
617 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 01:50:10.95 ID:6XWqRRso.net] >>615 複雑なことっつーか抽象度の高いことが出来ないな。汎用ライブラリ書こうとするとinterface地獄になって悪夢見る。 でも不思議なことに手なりで動くもん量産するのにはものすごく向いてる。 マクロがないかわりにgo generateとかいうクソキモい(誉め言葉)機能があることと、 あとはPHPみたいな言語未満の何かで物書いた時のような負債に陥る危険性が、言語としての幅が狭いお陰である程度緩和されてるってのが案外バランス取れてるのよな。 汎用ライブラリ書くのには全然向かないけどね。
618 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 01:54:36.33 ID:6XWqRRso.net] Googleが作らなかったら流行らなかったってのは大いに同意するが、正確に言うと「Googleじゃないとこんないかれた言語を完成品と言い張れなかった」だと思うね。 周辺ツールの異常な拡充もごり押し戦略の一環だろうしな。
619 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 01:56:50.35 ID:6XWqRRso.net] 総合して、Goは次世代のドカタ言語っていうのが一番しっくりくるわな。 あくまでドカタ言語。
620 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 07:27:48.45 ID:JnTuEITt.net] >>616 いや、ワンライナーで無理やり書いたソースのが読みにくいよ。 てかそこまで行数使う複雑なコードなら関数で切り出せ。 そういうのは使ってる言語の問題じゃなくて書いてる奴の問題だから。
621 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 07:50:29.19 ID:PZYq3vzy.net] >>620 でもペチプァ〜のあなたは、テンプレートにSQLのfor string連結書いちゃうんでしょう? 死ね?
622 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 08:14:57.33 ID:w55PtzH/.net] いや内包表記もしくはmap reduceがあるのは大事でしょ 関数として切り出す時にループの中で行うことだけ書けばいいのがmapないとループそのものを行うサブルーチンもかかなくちゃいけなくなるじゃん map不要とか言う奴絶対Lispすら触ったことないハイパーエアプマンだろ
623 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 08:22:40.89 ID:B87mZx5r.net] 内包表記かmapに関数一つだけ渡すのが一番読みやすいな
624 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 09:04:41.99 ID:PZYq3vzy.net] ペチプァ〜さん・・・w
625 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 09:55:36.88 ID:djHV+jRv.net] >>617 汎用ライブラリ書けないっていうのはかなり大問題だと思うんだが ジェネリクスないのが原因でコレクションとかは特別扱いしないといけない Setとか普通に使えないのは不便すぎるし、SortedSetとか追加しようと思ったらそれも言語で特別扱いするのかってなる 型ごとにコード書くのか?コピペは最も基本的なアンチパターンだよね?それをGoogleは推奨してるのか? >>618 周辺ツールをこれだけ作ったのに言語がこれじゃもったいない もう少し機能入れていれば間違えなくもっと流行ってた
626 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 10:09:21.11 ID:6XWqRRso.net] >>625 ジェネリクスについてはさすがにいれようぜって議論はあるな。 今はそういうのをコピペなしに書くならinterface地獄で、自分もそこは嫌いなとこだ ちなみにgoの汎用sorted setくらいならgithubに既にある上にめっちゃコード短いから、見てみるのも面白いかもしれんね。
627 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 10:30:08.82 ID:+Srr1GFp.net] 内包表記!ワンライナー!読みにくい!って普段どんな糞コード書いてたらそういう発想に陥るんだろう
628 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 11:30:14.87 ID:3W0XlzKr.net] まあ長過ぎるワンライナーが読み難いのは分からなくは無い。 でも書くし、読むけど。 昔何かのJavaの本でJavaでも宣言的に書くべきだ。みたいな事が書いてあって、メソッドチェーンされたインスタンスが二行でちょっとした処理してた。 最近C#6実践入門とか言うの買ったけど、それに載ってるコードもifは出るけどforがほとんど無い宣言的なコードだった。 C#6の新機能紹介はほとんどオマケで、タイトル詐欺だけど。 いあ。。。詐欺じゃ無いけど、紹介された新機能が全然頭に入って来ない位、(ドロドロの)実務的な内容。。。
629 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 11:47:39.23 ID:nY7S90+T.net] Javaは8になって一気に流れ変わった。 なお日本のドカタ現場はJava6をつかっていればましな方なのは内緒な。 ドカタ現場から見ればObj-Cすら次世代言語ってな。
630 名前:デフォルトの名無しさん [2017/05/23(火) 13:10:57.22 ID:fxr47P4A.net] Pythonは内包表記でもforって書くんだな 手続きが透けて見える 見えない奴はエアプ
631 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 13:14:25.27 ID:hsNp2Xw3.net] その辺はhaskellのモナド内包表記も同じことよ
632 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 13:58:34.02 ID:LlhYvOQ7.net] >>630 まあ透けて見えるのはその通りなんだが、逆に聞くが手続き型が透けてたらいかんのか? 機能としてPythonの内包になんか欠けてるのか?
633 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 17:59:05.36 ID:JnTuEITt.net] やべーな。。 内包表記、map, reduce 使えるとだいぶ偉いプログラマーになった気分なのかね。。 別にあれば使うけれど、それで読みやすさが格段にあがるなんてことはないわ。 まさに枝葉としか言いようがない。 てかなんでこんなに php 嫌われてるのか使ったことないからわからんのだが。 perl には相当神経やられたってのは個人的にはあるけれど、 php ってそんな嫌なもんなんかね。
634 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 18:08:35.09 ID:PJIONmxy.net] Haskell的には状態を持たないから、将来並列動作しても良い。 内部動作が実際はどうなってるか気にしなくて良い。 記述上は単純に一行になる。 書きかたによるけど、関数より意味が通じやすいかも。 リストの長さ求める関数length 再帰 length [] = 0 length (_:xs) = 1 + length xs 再帰はスタック消費するので末尾再帰 length cs = length' 0 cs ......................where ..……...................length' n [] = n ..……...................length' n (_:xs) = length (n + 1) xs 末尾再帰を一般化したfoldlで置き換え length = foldl 0 リスト内包表記 length xs = sum [1 | _ <- xs] 過程を知ってればfoldlも意味分かるけど、リスト内包表記はHaskeller以外にも分かりやすいかも。