[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 04/16 10:35 / Filesize : 272 KB / Number-of Response : 1024
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

次世代言語議論スレ[Go Rust Scala Haskell]第5世代



1 名前:デフォルトの名無しさん mailto:sage [2017/06/13(火) 08:54:07.99 ID:O1HnBMDk.net]
いざ、語ろうぞ。

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

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

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

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

import Data.List
import Text.Printf

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

fline f = unlines.f.lines

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

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

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

grep w = fline (filter (isInfixOf w))

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

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

writefc (f,c) = writeFile f c

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

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

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

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

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

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

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

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

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

92 名前:デフォルトの名無しさん mailto:sage [2017/06/25(日) 20:59:18.08 ID:+XToNy/r.net]
Idrisとか?

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

110 名前:デフォルトの名無しさん [2017/06/25(日) 22:56:39.77 ID:pYBZiqDJ.net]
>>99
うい。
ぶっちゃけ大きめのファイルだとLLより遅いの体感出来るw
んでも実用的な時間だし、上でパイプの例えあったけど言い得て妙で、
LLでforとかeachとかでループとして処理するのもメソッドチェーンみたいにファイル名のリスト受け取って、
中身のリスト受け取って。。。ってパイプ処理して行くから、

111 名前:LLより考え方が流れを辿る感じでシンプルなんだよね。
速さよりも書き易さ優先。
速さ気にしてたらそもそもHaskell選んでない。
速さが我慢出来なくなったらCで書くよ。

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

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

でも、もうそこまで行くんならCで気持ちよく書く。
[]
[ここ壊れてます]

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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



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

import java.io.File

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

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

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

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

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

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

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

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

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

main = getArgs >>= mfput fs id

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

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

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

main = mfput fs (unlines.reverse.lines)

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

main = mfput fs (fline reverse)

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

132 名前:デフォルトの名無しさん [2017/06/26(月) 08:15:23.64 ID:O05czwZw.net]
あ、

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

だった。

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



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

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

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

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

main = getArgs >>= mfput (fline reverse)

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

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

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

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

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

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

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

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

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

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

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



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

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

unlines.lines要らんかった。

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

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

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

146 名前:デフォルトの名無しさん mailto:sage [2017/06/28(水) 22:04:57.53 ID:l3RQzrcR.net]
F#ってどうよ

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

148 名前:デフォルトの名無しさん [2017/06/29(木) 17:11:41.82 ID:wGgfLCtF.net]
***SLAMO***

}

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


---

[[[C%%]]]
}

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

171 名前:デフォルトの名無しさん mailto:sage [2017/07/02(日) 09:54:28.82 ID:sP9TjomQ.net]
もうjavascriptだけで良いよ

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

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



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

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

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

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

178 名前:デフォルトの名無しさん mailto:sage [2017/07/02(日) 14:28:11.11 ID:lZlu9LSV.net]
>>173
老害を自覚しましょうね

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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



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

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

206 名前:の話になるのか []
[ここ壊れてます]

207 名前:デフォルトの名無しさん mailto:sage [2017/07/03(月) 15:00:48.27 ID:JOeKNGQV.net]
全部、第3世代言語じゃ

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

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

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

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

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

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

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



214 名前:デフォルトの名無しさん mailto:sage [2017/07/03(月) 20:56:29.38 ID:NMIlsMGj.net]
https://codereview.stackexchange.com/questions/75530/haskell-in-place-quicksort-ord-a-a-io-a

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

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

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

218 名前:デフォルトの名無しさん mailto:sage [2017/07/03(月) 21:13:32.99 ID:lw0BfZsD.net]
ぜひ樂しさを語ってくれ

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

238 名前:デフォルトの名無しさん mailto:sage [2017/07/03(月) 23:16:44.69 ID:lw0BfZsD.net]
>>233
2冊ww

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

でもお前さんがオレオレで作ったものの再利用性は低いよなあってお話

253 名前:
なんせ既にあるものガン無視でオレオレ仕様の再発明しかしてねえんだから
[]
[ここ壊れてます]



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

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

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

255 名前:デフォルトの名無しさん mailto:sage [2017/07/04(火) 19:26:44.78 ID:Mgy1XtU/.net]
cat より less
cat より vi

256 名前:デフォルトの名無しさん mailto:sage [2017/07/04(火) 19:32:55.21 ID:bn9cQclE.net]
catよりdog

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

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

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

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

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

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

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

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

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

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

262 名前: ◆QZaw55cn4c mailto:sage [2017/07/05(水) 03:30:13.16 ID:CpudxOdu.net]
>>256
データのコピーを極力少なくしてその場でソート

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



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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

277 名前:デフォルトの名無しさん mailto:sage [2017/07/05(水) 12:45:05.83 ID:XfevCCY3.net]
しんちゃんスレ

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

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

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

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

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

282 名前:デフォルトの名無しさん [2017/07/05(水) 21:03:02.86 ID:z3CI8qH6.net]
x29
o20

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



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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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


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

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

ideone.com/wnQXXE

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

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

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

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

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



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

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

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

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

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

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

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

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

320 名前:デフォルトの名無しさん mailto:sage [2017/07/07(金) 13:14:54.40 ID:SZnapx63.net]
>>314
そこまで構想(妄想?)ができたならもうそろそろいいだろ
続きはgithubで語れ
mfput(笑)みたいなサンプルじゃなく、

321 名前:ソゃんと実用性のあるGUI&DBアプリを作ってくれよ
期待してるぞ
[]
[ここ壊れてます]

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

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



324 名前:デフォルトの名無しさん mailto:sage [2017/07/07(金) 21:35:56.42 ID:0YPYv3Ek.net]
出すまで帰って来るなよ

325 名前: mailto:sage [2017/07/07(金) 22:07:41.70 ID:TSmGX11I.net]
ダム端の画面エンジン面倒見たことあるわ。

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

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

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

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

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

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

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

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

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

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

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



334 名前:デフォルトの名無しさん mailto:sage [2017/07/10(月) 20:00:12.08 ID:d0flA58w.net]
お、おう・・・

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

336 名前:デフォルトの名無しさん mailto:sage [2017/07/10(月) 21:04:24.59 ID:Fha/eGoH.net]
すげえ論理でワロタ

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

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

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

340 名前:デフォルトの名無しさん [2017/07/11(火) 17:23:33.46 ID:9uLf2kf9.net]
>>333
マルポ
mevius.2ch.net/test/read.cgi/tech/1495343069/262

341 名前:デフォルトの名無しさん mailto:sage [2017/07/11(火) 18:53:45.21 ID:dSS1j36W.net]
[][Tebla][]

}

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

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

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

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

343 名前:デフォルトの名無しさん mailto:sage [2017/07/12(水) 23:51:46.66 ID:k6H5UqbS.net]
Smalltalkは実用されてるだろ

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



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

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

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

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

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

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

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

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

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

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

353 名前:デフォルトの名無しさん mailto:sage [2017/07/13(木) 13:28:33.65 ID:xX1L5EAL.net]
haskell(1990)



354 名前:デフォルトの名無しさん mailto:sage [2017/07/13(木) 13:36:01.36 ID:zQhEdRBN.net]
よっしゃ!haskell離脱おめ!!

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

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

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

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

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

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

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

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

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



364 名前:デフォルトの名無しさん mailto:sage [2017/07/13(木) 21:44:41.50 ID:XbAGpGn+.net]
Manager

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

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

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

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

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

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

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

371 名前:デフォルトの名無しさん mailto:sage [2017/07/14(金) 08:07:10.82 ID:fA8HzWsU.net]
rustにもtraitあるよ

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

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



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

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

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

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

qiita.com/tomooda/items/8685782c42f674307dfe

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

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

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

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

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

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



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

385 名前:デフォルトの名無しさん mailto:sage [2017/07/14(金) 13:07:32.87 ID:esHF/eTU.net]
>>379
出来ないから嘘つくな

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

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

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

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

390 名前:デフォルトの名無しさん mailto:sage [2017/07/14(金) 15:41:16.51 ID:J9LHnyh2.net]
アンチの頭の固さが露呈したな

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

392 名前:デフォルトの名無しさん mailto:sage [2017/07/14(金) 17:40:20.13 ID:Rnz3lE+5.net]
>>386
>>383

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



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

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

396 名前:デフォルトの名無しさん mailto:sage [2017/07/14(金) 23:24:30.71 ID:MTLV3Z4y.net]
Smalltalkerじゃ頭がSmallwwwww

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

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

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

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

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

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

403 名前:デフォルトの名無しさん mailto:sage [2017/07/15(土) 10:29:26.28 ID:ztUW4ffu.net]
自分も分かってないからだろ



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

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

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

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

408 名前:デフォルトの名無しさん mailto:sage [2017/07/15(土) 11:36:09.13 ID:jg2H7hGL.net]
>>400
わかりません。説明して。

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

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

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

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

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

413 名前:デフォルトの名無しさん mailto:sage [2017/07/15(土) 15:18:27.64 ID:Xb/NLsOQ.net]
このアンチ、レベル低すぎ



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

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

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

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

417 名前:デフォルトの名無しさん mailto:sage [2017/07/15(土) 22:02:44.95 ID:UrVE89DJ.net]
このアンチってどのアンチだ

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

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

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

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

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

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

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

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



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

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

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

427 名前:デフォルトの名無しさん mailto:sage [2017/07/16(日) 18:26:38.70 ID:UQE14EKf.net]
ペェ〜ルおじさん単発ワラワラで草

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

429 名前:デフォルトの名無しさん mailto:sage [2017/07/16(日) 19:17:03.45 ID:DhlGbGJr.net]
>>419
そんな店に行くなよ

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

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

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

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



434 名前:デフォルトの名無しさん mailto:sage [2017/07/16(日) 22:06:13.03 ID:UQE14EKf.net]
>>427
Scalaさんの悪口はやめるのだ

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

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

437 名前:デフォルトの名無しさん mailto:sage [2017/07/16(日) 23:22:52.15 ID:GtbxOg8N.net]
scalaがいつ誰に負けたんや

438 名前:デフォルトの名無しさん mailto:sage [2017/07/16(日) 23:38:44.37 ID:ACbzRC5e.net]
2017/05/18、kotlinに負けた

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

440 名前:デフォルトの名無しさん mailto:sage [2017/07/17(月) 07:08:09.71 ID:gU9jd8Vq.net]
まじ

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

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

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



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

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

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

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

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

449 名前:デフォルトの名無しさん mailto:sage [2017/07/17(月) 14:08:19.67 ID:zWvYcWKi.net]
S言語あかんか……

450 名前:デフォルトの名無しさん mailto:sage [2017/07/17(月) 14:10:03.81 ID:vodzC7WI.net]
Simula
Smalltalk
Swift

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

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

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



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

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

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

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

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

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

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

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

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

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



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

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

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

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

468 名前:デフォルトの名無しさん mailto:sage [2017/07/18(火) 23:30:04.84 ID:cep190eg.net]
今どきメーブンて

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

470 名前:デフォルトの名無しさん mailto:sage [2017/07/19(水) 00:24:35.66 ID:wHmuM9lY.net]
Android の、Gradle

Groovy のクロージャで書ける

471 名前:デフォルトの名無しさん mailto:sage [2017/07/19(水) 07:47:57.21 ID:fL6ya1px.net]
GoogleはBazelっていうのを押しているだろ

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

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



474 名前:デフォルトの名無しさん mailto:sage [2017/07/19(水) 21:20:24.68 ID:747RlNYZ.net]
型無し能

475 名前:ウし役目無しの糞言語は全て滅びろ []
[ここ壊れてます]

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

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

478 名前:デフォルトの名無しさん mailto:sage [2017/07/19(水) 23:57:15.73 ID:/uBE13O5.net]
Homebrew処刑ってマジ?

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

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

481 名前:デフォルトの名無しさん [2017/07/20(木) 17:15:19.69.net]
>>474
nim とかいかが?

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

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



484 名前:デフォルトの名無しさん mailto:sage [2017/07/20(木) 22:23:52.99.net]
>>474
ホーン・ト・コトイレン

485 名前:デフォルトの名無しさん mailto:sage [2017/07/20(木) 22:27:02.38.net]
perl使う理由って何かある?

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

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

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

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

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

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

490 名前:デフォルトの名無しさん mailto:sage [2017/07/20(木) 23:09:52.08.net]
老害言語ってことか
早く死んで欲しいな

491 名前:デフォルトの名無しさん mailto:sage [2017/07/20(木) 23:10:18.31.net]
sedおじさんawkおじさんvbaおじさんと一緒に地獄に堕ちろや

492 名前:デフォルトの名無しさん [2017/07/20(木) 23:13:27.39.net]
>>481
さっさとpython3標準にしてくれよ

493 名前:デフォルトの名無しさん mailto:sage [2017/07/20(木) 23:19:24.42.net]
頭がパーのパーカスパールお爺さん

早く死んで!



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

495 名前:デフォルトの名無しさん mailto:sage [2017/07/20(木) 23:23:30.28.net]
頭がパーのパーカスパールお爺さん

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

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

497 名前:デフォルトの名無しさん mailto:sage [2017/07/21(金) 02:09:05.74.net]
Nim良いよね〜

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

499 名前:デフォルトの名無しさん mailto:sage [2017/07/23(日) 02:52:57.22 ID:QcJiE5IU.net]
>>492
2014年て

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

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

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

ただし、2位のCとの差は0.3ポイント、3位のJavaとの差も0.5ポイントと、1位、2位、3位の差はほ

501 名前:んのわずかなものでした。
ちなみに4位のC++は約3ポイント離れた97.1ポイント、5位のC#は10ポイント以上離れた87.7ポイントですので、いかに上位3位の人気が堅いものかが分ります。

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

http://www.publickey1.jp/2017/ieeesp01.gif
[]
[ここ壊れてます]

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

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



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

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

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

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

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

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

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

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

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

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

510 名前:デフォルトの名無しさん mailto:sage [2017/07/24(月) 01:03:44.29 ID:FW938Hri.net]
>>155
miniKanrenはどう?

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

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

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



514 名前:デフォルトの名無しさん mailto:sage [2017/07/24(月) 19:05:02.59 ID:GrwGqoyw.net]
好きな言語と使う言語は違う

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

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

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

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

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

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

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

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

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

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

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



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

525 名前: mailto:sage [2017/07/25(火) 01:55:35.53 ID:lgBfQhyF.net]
php書くとき、型は気にするのでは?
eqeqeq使えないじゃん

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

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

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

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

528 名前:デフォルトの名無しさん mailto:sage [2017/07/25(火) 08:57:41.36 ID:SyNDf/s0.net]
falsy って何やねん?

529 名前: mailto:sage [2017/07/25(火) 10:08:41.40 ID:Yx6+jkpX.net]
>>521
評価した結果falseとみなされる値。

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

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

532 名前:デフォルトの名無しさん mailto:sage [2017/07/27(木) 11:56:41.88 ID:T03zDTBA.net]
Lispは神の言語

533 名前:デフォルトの名無しさん [2017/07/27(木) 15:33:01.66 ID:dBtvUIpG.net]
forthは?



534 名前:デフォルトの名無しさん mailto:sage [2017/07/27(木) 16:20:31.74 ID:gEdE1/qh.net]
May the Forth be with you!

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

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

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

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

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

539 名前:デフォルトの名無しさん mailto:sage [2017/07/31(月) 02:49:09.85 ID:RkZnFpRc.net]
nimとcrystalは?

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

541 名前:デフォルトの名無しさん mailto:sage [2017/07/31(月) 11:09:33.58 ID:TrWT5gkf.net]
Nim結構良さげな感じするなあ

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

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



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

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

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

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

548 名前:デフォルトの名無しさん mailto:sage [2017/07/31(月) 15:45:00.94 ID:u2+qVqAB.net]
オブジェクト指向言語で作るときよくOMT(オブジェクトモデリ

549 名前:ングテクニックとかなんとか)をよく使って設計してたんだけど、
関数型言語で作るときは何使えばいいの?
[]
[ここ壊れてます]

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

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

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

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



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

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

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

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

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

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

560 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 09:55:49.70 ID:QEGWTgnM.net]
そろそろ次次世代が気になる

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

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

563 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 15:56:17.80 ID:HS7kzK9m.net]
機械学習のハードが実現してなくても、ソフトで実現



564 名前:すれば数世代先取りできるだろ
現にソフトで機械学習やってるし
ソフトでやるのに飽きた頃にハードが出てくる
[]
[ここ壊れてます]

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

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

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

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

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

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

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

572 名前:デフォルトの名無しさん mailto:sage [2017/08/03(木) 21:01:12.44 ID:cUZMqwjs.net]
OCamlに限った話ではない

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



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

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

576 名前:デフォルトの名無しさん mailto:sage [2017/08/03(木) 21:37:14.15 ID:e6YEFDfb.net]
>>565
は?

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

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

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

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

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

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

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



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

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

585 名前:デフォルトの名無しさん mailto:sage [2017/08/04(金) 01:18:05.91 ID:f63aP9iW.net]
java8w

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

587 名前:デフォルトの名無しさん mailto:sage [2017/08/04(金) 10:42:41.04 ID:zYGfuuva.net]
型無し能無しセンス無し

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

589 名前:560 mailto:sage [2017/08/04(金) 14:49:35.41 ID:eMF9uhYU.net]
>>562
レスと御教示ありがとう
機械学習のコードをOCamlでですか

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

元凶はJavaあたりか。

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

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

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

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

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

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

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

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

593 名前:デフォルトの名無しさん mailto:sage [2017/08/05(土) 01:02:28.33 ID:jB/epMOs.net]
どこの世界の話だ



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

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

595 名前:デフォルトの名無しさん mailto:sage [2017/08/05(土) 09:39:30.67 ID:LM2wNYVN.net]
Petit peu な Codeaux un commois liais mois liais?

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

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

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

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

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

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

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

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



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

605 名前:デフォルトの名無しさん mailto:sage [2017/08/05(土) 16:12:29.25 ID:uXlFBIBD.net]
フルスタックって、FORTH かよっ!

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

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

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

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

610 名前:デフォルトの名無しさん mailto:sage [2017/08/05(土) 22:33:18.79 ID:r+UIi6ic.net]
Javaかよ(笑)

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

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

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



614 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 03:13:20.32 ID:JQasL6d0.net]


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

616 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 04:44:58.60 ID:X6yw5Nga.net]
>>603


617 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 04:45:24.92 ID:X6yw5Nga.net]
なんだエアプが湧いてんのか

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

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

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

620 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 10:18:56.55 ID:fAxfwMN0.net]
OCamlアンチおるな

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

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

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

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



624 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 12:03:55.69 ID: ]
[ここ壊れてます]

625 名前:K4D4wFtM.net mailto: >>613
型ありライブラリなし特技なし
[]
[ここ壊れてます]

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

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

628 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 14:51:53.14 ID:9I48IW8u.net]
ocaml, haskell の比較

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

661 名前:デフォルトの名無しさん mailto:sage [2017/08/08(火) 23:05:33.35 ID:uStlgM0t.net]
>>650
多値返却に関してはgoのことやね
Eitherに関しては取り敢えず無視してたわ

662 名前:デフォルトの名無しさん mailto:sage [2017/08/09(水) 00:30:01.84 ID:89KnBaBf.net]
エラーをバケツリレーするより
エクセションで飛ばした方が簡単でしょ

663 名前:デフォルトの名無しさん mailto:sage [2017/08/09(水) 08:59:18.22 ID:FPEvL6ue.net]
簡単そうに見えても結局それぞれの場所でオブジェクト



664 名前:J放を
うまくやらなきゃならんことを考えれば大して楽になるわけでもない。
[]
[ここ壊れてます]

665 名前:デフォルトの名無しさん mailto:sage [2017/08/09(水) 12:40:14.22 ID:aEwDYdDe.net]
VSCodeでインテリセンス技術をオープンソースにしたのは地味に画期的なことだと思う
IDE分野でのMSの強さを支えるコア技術だよね

666 名前:デフォルトの名無しさん [2017/08/09(水) 13:12:03.09 ID:ZSp2lruc.net]
Goはパターンマッチないのに例外を戻り値で返すからあんな面倒な事になってるんだろ

667 名前:デフォルトの名無しさん mailto:sage [2017/08/09(水) 19:01:09.05 ID:FPEvL6ue.net]
その言い方だと例外投げられればいいのかパターンマッチが導入すればいいのか
わからんが。
どっちかもしくは両方あれば楽になったとでも?

プログラム書く上でまったく本質的な制約だと思わんな。

668 名前:デフォルトの名無しさん mailto:sage [2017/08/09(水) 19:08:28.68 ID:h3UNfnj7.net]
本質的な制約って何だよ?

669 名前:デフォルトの名無しさん [2017/08/09(水) 19:25:58.05 ID:ZSp2lruc.net]
>>656
どちらか欲しい
両方ないのはキツイ

670 名前:デフォルトの名無しさん [2017/08/09(水) 19:26:26.92 ID:ZSp2lruc.net]
あと複数の戻り値じゃなくてタプル+単一戻り値の方が扱いやすい

671 名前:デフォルトの名無しさん mailto:sage [2017/08/09(水) 19:49:05.94 ID:gdB1BRW9.net]
よくわからんが、タプル+単一は複数とは違うのか?

672 名前:デフォルトの名無しさん mailto:sage [2017/08/09(水) 19:53:53.66 ID:h3UNfnj7.net]
Pythonとかあれタプル+単一じゃね?

673 名前:デフォルトの名無しさん mailto:sage [2017/08/09(水) 20:19:16.67 ID:jK6ObLbS.net]
+演算子をorの意味で使ってるのか?
それだとタプルを返した時は単一ということになるか
単一の意味も違うのかもしれない



674 名前:デフォルトの名無しさん mailto:sage [2017/08/09(水) 20:44:15.24 ID:h3UNfnj7.net]
形式的にだけど、返り値はタプル一つになっていて、それを分配束縛してることになってなかったっけ?
違ったかも

675 名前:デフォルトの名無しさん mailto:sage [2017/08/09(水) 21:03:21.63 ID:gdB1BRW9.net]
んで結局、>>659はどういうのが扱いやすいと言っていたわけなの

676 名前:デフォルトの名無しさん mailto:sage [2017/08/09(水) 21:22:14.98 ID:SHgM+TeI.net]
タプルとEitherはC言語のstructとunionに戻るようなものだからな
次世代の面子が潰れる

677 名前:デフォルトの名無しさん mailto:sage [2017/08/09(水) 21:38:43.55 ID:cB8pPRbn.net]
goの戻り値がタプルのほうが嬉しいという気持ちはわかる。
自作の型に自由にメソッド生やせるのに、メソッドチェーンしようとした場合に、多値を返されると無理。

678 名前:デフォルトの名無しさん [2017/08/09(水) 22:04:04.13 ID:ZSp2lruc.net]
>>666
golangは本当メソッドチェーンが出来ないよな

679 名前:デフォルトの名無しさん mailto:sage [2017/08/09(水) 22:51:13.67 ID:cB8pPRbn.net]
まぁそういう弱点ありつつもgoは嫌いじゃないんだけどね。
エコシステムの部分とか。

import文にgithubのurl?を書けたり。

標準ライブラリのコードが自然に見にいけるから書いている最中も勉強になるし、標準ライブラリが教科書的な役割をはたしてくれたり。

コードフォーマットが標準装備で言語仕様的に制約が強いから構文規約は一つしかないところとか。

と言いつつも他の言語を見て羨ましくもあり。もっと関数型チックになってほしいけど無理かな。

680 名前:デフォルトの名無しさん mailto:sage [2017/08/09(水) 23:57:18.80 ID:ECmmt/Ev.net]
メソッドチェーンが遺物だと気づけw
Goは意図的にメソッドチェーン出来ないようにしてるんだ

681 名前:デフォルトの名無しさん mailto:sage [2017/08/10(木) 00:20:35.92 ID:eLvHxdUn.net]
パイプライン演算子の便利さを考えるとメソッドチェーンもそこまで悪くない気もするが、使い方次第かねえ

682 名前:デフォルトの名無しさん mailto:sage [2017/08/10(木) 01:03:52.42 ID:BXUbqcL4.net]
パイプカットでGo

683 名前:デフォルトの名無しさん mailto:sage [2017/08/10(木) 01:40:12.18 ID:+tFBM5sG.net]
パイプラインの方が柔軟性高くていいよね
do_something foo |> lambda x => x + other_fun bar |> ...
みたいな前の戻り値のメソッドに限定しない書き方ができる

これをもっと楽にするような記法、例えばパイプラインの式中のアンダースコアは前の値とする、みたいなのがあると嬉しい
上のやつと等価だったらdo_something foo |> _ + other_fun bar |> ... みたいな



684 名前:デフォルトの名無しさん mailto:sage [2017/08/10(木) 01:51:16.15 ID:eLvHxdUn.net]
Juliaでそのアンダースコア議論されてて、結局実装されなかったんだよなたし

685 名前: []
[ここ壊れてます]

686 名前:デフォルトの名無しさん mailto:sage [2017/08/10(木) 01:52:27.10 ID:E9UII0hi.net]
それはおかしいでしょ
カリー化した方が自然

687 名前:デフォルトの名無しさん mailto:sage [2017/08/10(木) 01:55:26.39 ID:eLvHxdUn.net]
2番目の引数を先に埋めてアンダースコアは一番目にしたいパターンがあるので、どちらかと言うとカリー化は好きじゃないなあ。設計が悪いと言われたらそれまでだけど

Juliaの場合は多重ディスパッチを採用している関係でカリー化は諦めたっていうのもあったな

688 名前:デフォルトの名無しさん mailto:sage [2017/08/10(木) 03:00:14.84 ID:J41+5nHx.net]
>>665
いやだからEitherモナドはMaybeみたいに正常系だけ書いていけるし単値だしで全然違うって
なんで皆使ったことも無いのにそんな事言うの…

689 名前:デフォルトの名無しさん mailto:sage [2017/08/10(木) 07:31:11.02 ID:EsQl4Iyt.net]
単純にノイズが増えるだろう
現実にはほとんどの関数がエラーを返す可能性を持ってるんだから、言語に織り込んでデフォルトを Error | Result とするのは悪いアイデアではない

690 名前:デフォルトの名無しさん mailto:sage [2017/08/10(木) 08:32:51.57 ID:eLvHxdUn.net]
>>676
これ実際Haskell書いてないと分からない感覚かもな

691 名前:デフォルトの名無しさん [2017/08/10(木) 23:01:38.31 ID:g9gtECZC.net]
(Elixirは?動的型付け言語に人権はありますか)

692 名前:デフォルトの名無しさん mailto:sage [2017/08/11(金) 07:15:28.72 ID:VinUUXdS.net]
ほとんどの動的型言語ってそれが動的型であるメリットは特に無くて
単なる処理系実装者の怠慢でしかない
動的型言語を推すならまずはそれが動的型でなければならない理由を示すこと

693 名前:デフォルトの名無しさん mailto:sage [2017/08/11(金) 08:32:31.97 ID:wS48fUKa.net]
lisp とか仕様をシンプルにできることかな。
あほみたいに仕様が膨らんで意味の分からんキャストをがばがばおこなわなきゃならん
みたいな不自然なことで生じるバグは減る。



694 名前:デフォルトの名無しさん mailto:sage [2017/08/11(金) 08:51:11.85 ID:Pc9UeBFi.net]
>>680
怠慢に寛容になると嘘をつく人間が減るから
自分はなにもしないくせに他人の嘘をデバッグするのだけはうまい奴がいる
そういう奴がいても許されるから嘘が減る

怠慢を許さない環境では忙しくて嘘を見抜く暇もないから嘘が蔓延する

695 名前:デフォルトの名無しさん mailto:sage [2017/08/11(金) 08:56:57.66 ID:wWK8j68x.net]
そもそも型が必要な理由が分からん。
数学なら「整数型のxが・・・」なんて言わないしな。
「ここでxは整数とする」はあるけど、条件に過ぎないし。
リストやタプルも分ける必要ある?

696 名前:デフォルトの名無しさん mailto:sage [2017/08/11(金) 10:46:48.12 ID:4bbWTV9L.net]
372仕様書無しさん2017/08/11(金) 10:31:43.41
フリーランスで検索すると引っかかる零細ITがやっているサイトだめだ。
高額に見せているけど実際は50万前後
JIET加入した方がいいよ。案件は毎日千件以上末端価格は60万円 平凡な稼働時間の80万円の案件もある。
ユー子が求人をだしてる。名刺も渡せる。ユー子に名刺を渡せるんだぞ。夢のようだ

それらの案件まさぐってHPで転売していたのが零細ITがやるフリーランスサイト

697 名前:デフォルトの名無しさん [2017/08/11(金) 11:00:48.00 ID:HT0ZPb79.net]
>>683
型はその条件をいろいろ細かく定義したものだろ。
値域や定義域だって型。

698 名前:デフォルトの名無しさん mailto:sage [2017/08/11(金) 11:17:57.35 ID:Dik+7mIk.net]
動的型の問題って関数のインターフェースがガバガバなところでしょ?
elixirはパターンマッチで結構制約できるから動的だからって卑下する必要ないのよ

699 名前:デフォルトの名無しさん mailto:sage [2017/08/11(金) 11:44:41.66 ID:23hvE/8L.net]
>>680
動的型でなければならない理由?
それは、おまえがバカだからだろう。

700 名前:デフォルトの名無しさん mailto:sage [2017/08/11(金) 11:59:08.49 ID:wWK8j68x.net]
>>685
少なくともunsigned は要らなくない?
1bit ケチれるだけだし。
中途半端な単精度浮動小数点とかも。

701 名前:デフォルトの名無しさん mailto:sage [2017/08/11(金) 12:01:25.46 ID:u64fZ1yg.net]
申し訳ないが未だに使っているGPUの多い単精度小数点DisはNG

702 名前:デフォルトの名無しさん mailto:sage [2017/08/11(金) 15:03:12.85 ID:Pc9UeBFi.net]
>>686
まだコードを書いてないのに問題でしょとか言われても
言う時期が早すぎるし言う内容に具体性がないよ
まるで数学も英語もまだ知らない小学生にプログラミングを教えているようだ

703 名前:デフォルトの名無しさん mailto:sage [2017/08/11(金) 15:39:55.52 ID:Dik+7mIk.net]
TypeScript触ってるとjsに型がある方が幸せだってわかる。
jsonにスキーマ設定無しで
reduxでstate管理するのとか絶望する。
あと、学習面でも明らかに型があったほうが幸せ。書いてる端から指摘してくれるからすごく幸せ。
TypeScriptはvscodeとセットで幸せー



704 名前:デフォルトの名無しさん mailto:sage [2017/08/11(金) 15:58:37.67 ID:uuzmQ1J4.net]
>>688
今言ってる片野必要性は容量のためじゃないだろ
全ての引数をテストするとすると1bit減ることでテストの数が半数になる実装もその1bitに対して考える必要がなくなる
例えばルートを計算する関数を実装するのに引数が正の整数と限定されてれば簡単だが、負だったり小数した場合は複雑になる。文字列や画像だった場合は例外が発生したりアボートしたり誤作動するかも知れない。
型はビジネスロジックに集中するためのルール、制約だ
静的は言語レベルで強制、チェックしてて、動的ではユーザ、実行時に任せてる

705 名前:デフォルトの名無しさん mailto:sage [2017/08/11(金) 18:06:45.60 ID:wS48fUKa.net]
関数の引数なんかはやっぱ型があった方が読みやすいなと思う。
でも内部のテンポラリ変数なんかは別にいらんかもね。
というかテンポラリ変数の型情報がないと読めないようなコードは
そもそもコードが長すぎるとか、他の根本的な部分に問題がある気がする。

706 名前:デフォルトの名無しさん mailto:sage [2017/08/11(金) 19:32:48.58 ID:L+PB1ux2.net]
>>682
>>690
内容がフワフワしてて何言ってるのか理解できない
もっと具体的かつ簡潔に言え
Twitterによくいるプログラミングできないのにプログラム語ってるクソ野郎みたいだぞ

707 名前:デフォルトの名無しさん mailto:sage [2017/08/11(金) 19:36:48.30 ID:L+PB1ux2.net]
>>688
unsignedはオーバーフローしても下から戻るから楽
つか実装型まで否定するって、じゃあ任意精度にしろってか?
計算量制御できなくなるぞ?

708 名前:デフォルトの名無しさん mailto:sage [2017/08/11(金) 21:54:24.08 ID:3dMix9dV.net]
世界で最も使われている西京言語JavaScriptをディスってんのかメーン

709 名前:デフォルトの名無しさん [2017/08/11(金) 22:53:04.88 ID:HT0ZPb79.net]
西京漬けいいよね

710 名前:デフォルトの名無しさん mailto:sage [2017/08/11(金) 23:18:20.12 ID:Dik+7mIk.net]
最近はtypescriptが流行っていてな

711 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 08:33:13.28 ID:Uq7dQQ/j.net]
>>694
プログラミングできるできないではなくタイミングの問題
目の前のことを言えば具体的かつ簡潔になる
遠い将来のことを語るとフワフワする

712 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 09:39:33.11 ID:DS1jvWO1.net]
次世代言語を語りたければ、今流行ってる言語の分析をしないと
Java、C#、C/C++が人気だけど

713 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 11:11:20.00 ID:Uq7dQQ/j.net]
WindowsとLinuxのAPIが人気
Javaは大規模開発が云々で人気



714 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 11:28:39.85 ID:lZqlh0rm.net]
Java系は一貫した技術の枠内で一通り完結するのがメリット
アプリケーションロジックの開発に集中できる

715 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 13:00:05.73 ID:Uq7dQQ/j.net]
マクロはズルってのと同じで枠の外にあるものはズルなんだな

716 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 13:36:29.79 ID:D9kn9WR2.net]
しかし結局欲しいのはマクロでしょ?ってなることは結構ある。

717 名前:デフォルトの名無しさん [2017/08/12(土) 14:15:33.93 ID:bnRf3zzW.net]
>>700
Java…型推論ない、論外
C/C++…メモリ安全じゃないので面倒
C#…まあ使える。ただT aだったりT b()だったりで書き方がちょっと古い

718 名前:デフォルトの名無しさん [2017/08/12(土) 14:17:29.71 ID:bnRf3zzW.net]
C#は良い言語だと思うよ
パターンマッチが追加されたりifが式になったりで便利になってきてるし

719 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 14:20:25.35 ID:D9kn9WR2.net]
.NET依存が激しいのが好きじゃない

720 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 14:22:40.68 ID:ahseiZ+6.net]
>>707
なぜ?

721 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 14:26:21.46 ID:Z/LzjBMS.net]
事実上Windowsでしか動かねーやん
話にならんわ

722 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 14:29:29.00 ID:ahseiZ+6.net]
>>709
いつの時代の話だよwww

723 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 14:31:48.99 ID:Z/LzjBMS.net]
.net coreはまだプロダクションで使うのは怖いだろ
仮にそこ乗り越えたとしても、C#だと結局開発はVS最強なんだから窓開発になる



724 名前:デフォルトの名無しさん [2017/08/12(土) 14:32:59.46 ID:bnRf3zzW.net]
.NET CoreだけじゃなくてMonoもあるぞ

725 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 14:38:41.45 ID:ahseiZ+6.net]
>>711
もう1年以上経つし、そろそろ.NET Standard2.0も出るこの時期に何言ってんだか
素直に知りませんでしたでいいよ

726 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 14:39:29.47 ID:ahseiZ+6.net]
(新しいことを学ぶのが)怖いってことだな

727 名前:デフォルトの名無しさん [2017/08/12(土) 14:46:02.46 ID:bnRf3zzW.net]
.NET Standardってなんや

728 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 14:47:02.12 ID:zLZ79VVH.net]
見事にオープンソースとクラウドの時代を代表するリーダーの一人として転身を果たしたMS
存在感を失い続けるIBMとオラクル
そう考えるとJavaは疫病神なのではないか

729 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 14:51:47.74 ID:ahseiZ+6.net]
>>715
Fullの.NET FrameworkやMono、.NET Coreがそれぞれ実装すべきAPIを定めたもの

730 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 14:53:12.33 ID:n0XoXOKh.net]
LinuxのMonoっていい感じなん?

731 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 14:54:08.03 ID:ahseiZ+6.net]
>>716
こないだのPaketの件といい、.NET CoreからFullの.NET Frameworkの一方的な切り捨てと言い、コミュニティをないがしろにしてちょいちょい炎上してるけどな

732 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 18:22:00.10 ID:D9kn9WR2.net]
こういう妄信タイプがいるから
環境依存言語は嫌なんだよ。

733 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 19:44:58.81 ID:8N+UUpIY.net]
今じゃもう.NETを忌避するほうが逆に宗教みたいになってるよな



734 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 20:00:15.90 ID:2/FX67Cg.net]
.NETはまだまだ環境の問題もあるからともかく、
MSだからという理由でMSのプロダクトが開発者に嫌われることは少なくなったね
マカーがMS製のエディタでMS製の言語でプログラミングしてそれをMSのクラウドプラットフォーム上でホストされてるLinuxへデプロイするとか 一昔前ならあり得ない未来だった

735 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 20:03:25.03 ID:DE4QKP9/.net]
Monoで動いているものは結構色々あるはず
例えば3DGameEngineのUnityはC#で開発できるけど裏でMonoが動いてる
マルチプラットフォームな開発環境であるXamarinもMonoを使ってる。
知らないうちに.Netは大半のプラットフォームで動くように。

736 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 20:10:51.11 ID:A/BCmj8c.net]
完全マカー依存のスーウィフトはどうなりましたか(小声)

737 名前:デフォルトの名無しさん [2017/08/12(土) 20:19:13.69 ID:953va2dM.net]
.NETはLLVMつかってネイティブ化する計画なかったのか

738 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 20:24:30.75 ID:DE4QKP9/.net]
実際のところ.Netを選ぶメリットって何かあるのかな?
マルチプラットフォームならtypescriptとelectron、もしくはreact nativeで良い気がするけど。

739 名前:デフォルトの名無しさん [2017/08/12(土) 20:25:59.19 ID:953va2dM.net]
現行、LLVMの使用はLinux、Macのみらしいが原理としてLLVMが動くすべてのOSでネイティブコンパイルできるのでは?
実際動かしてないし間違えてるかも。


性能を強化した「.NET Core 1.1」が公開 2016年11月21日
米Microsoftは11月16日、「.NET Core 1.1」を公開した。性能が強化されたほか、対応するLinuxディストリビューションも拡大した。
最新版では対応するディストリビューションを拡大し、Linux Mint 18、OpenSUSE 42.1、macOS 10.12、Windows Server 2016で利用できるようになった。
macOS 10.12とWindows Server 2016については、.NET Core 1.0も利用できる。
Linux向け、Mac向けでは、CoreCLRをClang/LLVMでコンパイルするため、次のリリースでClang版のPGOをサポートする予定としている。
https://mag.osdn.jp/16/11/21/154500

740 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 20:33:46.06 ID:D9kn9WR2.net]
まあ実際使ってみると右往左往することになるわけだが。
「互換性」あるってセールストークに馬鹿みたいに引っかかりすぎなんだよ。

741 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 20:36:01.39 ID:Dx69QmpS.net]
>>728
それは環境によるだろ…
すぐ一纏めに考えるのは愚かな事

742 名前:デフォルトの名無しさん [2017/08/12(土) 20:42:05.60 ID:953va2dM.net]
こういう流れらしい。


.NET Coreとは? 2017年6月6日

.NET Coreがリリースされて約1年経ち、ようやくビルドツールも正式版としてリリースされるに至った。
本連載記事では、「Linuxを中心にクロスプラットフォームで開発できる.NET Core」という視点で、開発の方法を説明していきたい。

.NET Coreの歴史
Windows上でのみ動作する.NET Frameworkは、2002年に最初に登場して以来、バージョンアップを重ねてきた。
それに対し、Windows・Linux・macOSで動作するクロスプラットフォームな.NET Coreが発表されたのが、2014年11月12日のことである。
このとき、今までWindowsのみをサポート対象としてきた.NETが、LinuxやmacOSもサポート対象としたことに加えて、最初からGitHubでオープンソースとして公開されたことにも驚きがあった。

クロスプラットフォームを動作環境とすることに関しては、Monoプロジェクトという先人がいた。
Monoプロジェクトは.NET Frameworkの互換環境をLinuxやmacOSを含めたスマートフォンOSにすることを目標としており、その中にはGUIフレームワークも含まれている。
Monoプロジェクトは現在、Xamarin社が開発・サポートをしており、スマートフォン向けのクロスプラットフォーム開発環境であるXamarinブランドの製品を提供している。
そのXamarin社が、2016年にMicrosoft社に買収されて今に至っている。

Monoが.NET Frameworkそのものと互換性のある環境を目指していることに対し、.NET Coreは.NET Frameworkのサブセットとなる機能をクロスプラットフォームで提供することを目標としたわけである。
そして、.NET Coreの発表から約1年後の2015年11月5日にRed Hat社がMicrosoft社と協力し、Red Hat Enterprise Linux上での.NETのサポートを発表した。

.NET Coreの特徴はいくつか挙げられるが、ここでは特に「クロスプラットフォーム」「オープンソース」「軽量」「フレキシブル」の4点について強調したい。
www.buildinsider.net/language/dotnetcore/01

743 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 21:41:47.95 ID:49AswPag.net]
>>726
過去の膨大な資産(負の遺産とも言う)



744 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 23:44:55.22 ID:CJUJVgQO.net]
南シナ海に中国が基地作ってるよね。
だいたいそんな感想

745 名前:デフォルトの名無しさん [2017/08/13(日) 00:09:25.46 ID:5ZVaRTG/.net]
>>728
Javaも同じだけどね。
お陰で一度書けばどこでも動くって宣伝文句も、一度書けばどこでもテストが必要って揶揄されて久しい。
HTMLも然り。
実はHTML5+JavaScriptのが動的言語な分タチが悪いっていう。


>>726
TypeScriptもMS製ですよ。
VS Code出したし、.net Standerd出たしってなると、VC#のマルチプラットフォーム化が始まりそうな予感はするが。
(MonoでC#のマルチプラットフォーム化はしてるけど、C#の良さはやはりIDEであるVSあってこそ)

746 名前:デフォルトの名無しさん mailto:sage [2017/08/13(日) 00:14:48.70 ID:gYyecbpL.net]
>>733
VS for Macは?

747 名前:デフォルトの名無しさん mailto:sage [2017/08/13(日) 00:21:36.37 ID:LJmg41iW.net]
typescriptがMs製なのは知ってるよ。
そして素晴らしいのはtsserverを同梱してること。
言語自体にリファクタリングや定義箇所への参照機能等ideに必要な機能を同梱させたんだよね。

この仕様をlanguage server protocolとして標準化しようとしてるのも素晴しい。
ide側で言語仕様を把握する必要がなくなり、上記のプロトコルを解釈する機構を用意しておけばいい。

748 名前:デフォルトの名無しさん mailto:sage [2017/08/13(日) 00:25:12.33 ID:LJmg41iW.net]
ぜひともlanguage server protocolを言語側で用意するのを必須にしてほしい。
新興言語ほど補完機能が弱いことが多いから。goの補完が効くようになったのもここ二年くらいからだったし。

749 名前:デフォルトの名無しさん [2017/08/13(日) 00:28:03.98 ID:5ZVaRTG/.net]
マルチプラットフォームの夢も分かるけど、現実的じゃないんだよね。。。
一個のOSでさえバージョン違いで互換性崩れるのに、それを複数とか。
現実的にはテストの都合でプラットフォームもバージョンもグッと絞らないと死ねる。

750 名前:デフォルトの名無しさん mailto:sage [2017/08/13(日) 00:53:43.57 ID:47VquCRx.net]
MSはLinuxの技術者が食いついてきたらLinuxがクソになってきたので独自拡張LinuxまたはWindowsのみのサポートにしますって言って利益をあげるんだろ
知ってるんだから

751 名前:デフォルトの名無しさん mailto:sage [2017/08/13(日) 00:57:05.96 ID:PA7iDDOj.net]
>>730
これアレじゃね?
競合しそうな会社を買って手中におさめて
コントロールするか飼い殺しにするかっていう
いつものMSじゃね?
少なくとも
>Monoプロジェクトは.NET Frameworkの互換環境をLinuxやmacOSを含めたスマートフォンOSにすることを目標としており、
>その中にはGUIフレームワークも含まれている。
の部分はもはや怪しいというか
.NET Coreで行きたいんでしょ?MSは

752 名前:デフォルトの名無しさん mailto:sage [2017/08/13(日) 01:07:45.53 ID:WE0t0sIJ.net]
いやXamarinって普通に成功してるからね

753 名前:デフォルトの名無しさん mailto:sage [2017/08/13(日) 01:08:09.23 ID:utxqr9MB.net]
linuxでVS使わせてくれればマルチプラットフォームなんてどうでもいい



754 名前:デフォルトの名無しさん mailto:sage [2017/08/13(日) 01:22:18.67 ID:GoIJeqVQ.net]
次世代言語ってなんなんだ?

Cの次世代言語がC++だと言われれば納得できる
c++の次世代言語がjavaだと言われればちょっと首を傾げながら納得する

javaやc#などの次世代言語が Go Rust Scala Haskellだと言われたら
全く納得できない

755 名前:デフォルトの名無しさん mailto:sage [2017/08/13(日) 01:49:44.40 ID:PA7iDDOj.net]
そりゃそうだ
次世代というなら、シェアをひっくり返すかトントンぐらいまで行かないと
次世代とは言えない
というか、そういう状況にならないと
業界が何となく全体的に次世代に移った、とは言えない
なら次世代とは何なんだ、「世代」とは何なんだ
来もしないであろう架空の未来のことを
「次世代」と言っても仕方がないではないか
C++の次世代という触れ込みだったD言語は言語仕様的にはそうかもしれないが
全然普及しなかったからC++の次世代だ!っつってもふ〜んって感じだし
そんな「世代」は来なかった、って感じ

756 名前:デフォルトの名無しさん mailto:sage [2017/08/13(日) 01:52:23.84 ID:PA7iDDOj.net]
結局はJava、C#、C++などの現世代の王道言語が順当にバージョンアップして
移行が行われたら、その地点が「次世代」って事になる

757 名前:デフォルトの名無しさん mailto:sage [2017/08/13(日) 03:22:34.66 ID:xz6n1XH5.net]
互換性のためだけのレガシー構文が積み重なるわ不自然な拡張方法になるわ
で最終的にperl5みたいな「これでなければなんでもいい」になるんですね?

758 名前:デフォルトの名無しさん mailto:sage [2017/08/13(日) 06:40:32.63 ID:LJmg41iW.net]
構造化プログラミング -> オブジェクト指向 って進化は基本的に
制約をきつくしていく傾向だよね
だから次世代はもっときつくなる。

多分参照型の消滅が次世代の考え方になるのかなと思う。
次世代っていうか関数型の話だけど。
参照型って結局ポインタ型つまり機械語にかなりよった概念だと思う。
これのせいで値の比較とかが難しくなる
インスタンスの内容が同じなのに == で評価したら不一致。みたいな。

参照型って結局メモリ節約のシンプルな解決方法にすぎない。
Immutable.jsとかみてると内部構造をメモリ節約できる仕組みにして隠蔽するとこで表向きは値型にしてる。こういうことができるんだから全部値型で構わない。

759 名前:デフォルトの名無しさん mailto:sage [2017/08/13(日) 10:11:59.72 ID:Zj27tgiX.net]
>>745
perlは役に立つぞ
役に立つという条件さえクリアすればなんでもいいという単純な時代もあったんだろう

今は役に立つだけでは不自然と判明したから更に複雑な条件が追加されていくだろう

760 名前:デフォルトの名無しさん mailto:sage [2017/08/13(日) 10:17:24.38 ID:amPCS2qv.net]
俺はもうscript系の言語はbashとpythonでいいわ。

761 名前:デフォルトの名無しさん mailto:sage [2017/08/13(日) 11:19:43.08 ID:VdRm1Qc9.net]
>>745
そこである程度整理したら perl6 になったんだけども・・・

762 名前:デフォルトの名無しさん mailto:sage [2017/08/13(日) 11:50:48.27 ID:Zj27tgiX.net]
シェルスクリプト系はカーネルにフリーライドしているくせに
そのことを全く気に病む様子がない

Java系は自己完結とかOSを作りたいとか自分自身をコンパイルしたいとか煩悩が多い

763 名前:デフォルトの名無しさん mailto:sage [2017/08/13(日) 21:20:50.78 ID:7Wtpo09/.net]
未だにペェ〜ルとかいう真性糞ゴミをひり出してる糞製造器は死ね
死ね



764 名前:デフォルトの名無しさん mailto:sage [2017/08/13(日) 22:30:38.39 ID:ZLPpL5wN.net]
>>750
いろんなものに手を広げずにシンプルな仕様だけを用意していた方が
結局互換性が高いってことだね。

765 名前:デフォルトの名無しさん mailto:sage [2017/08/13(日) 23:57:03.38 ID:7Wtpo09/.net]
くっさいシェル芸してる汚物製造器は死ね
死ね

766 名前:デフォルトの名無しさん [2017/08/14(月) 05:55:23.82 ID:92xt4hcL.net]
Mono(.NET)と、.NET Coreの用途の違いは、すでに100%.NET環境が移植できていれば.NET Coreの出番はないはずだが。
そうではない環境では、その環境を構築なしに移植できるってことか。
C#のコードをLLVMのアセンブラに翻訳したらあとは既存LLVMに丸投げできるから、移植コストは低く共通化できる。

767 名前:デフォルトの名無しさん mailto:sage [2017/08/14(月) 08:53:13.99 ID:+p07mcQa.net]
\______  _______________________/
           ○
           O  モワモワ
          o
        ∧_∧! ハッ!   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    ___(  ゜∀゜)_    < という夢を見たんだ
    |  〃( つ  つ  |     \________
    |\ ⌒⌒⌒⌒⌒⌒\
    |  \^ ⌒   ⌒  \
    \  |⌒⌒⌒⌒⌒⌒|
      \ |.________|

768 名前:デフォルトの名無しさん mailto:sage [2017/08/14(月) 09:01:00.79 ID:l9TYt/P3.net]
>>754
.NET CoreはCLR自体をアプリに同梱するように作られていて、AOTコンパイルではない
LLVM対応もJITをLLVMで実装しようというものに過ぎず、あくまでコンパイルはJIT
Coreは基本的にWebサーバー用だから少々起動に時間がかかろうが全く問題にならない

769 名前:デフォルトの名無しさん [2017/08/14(月) 09:32:55.89 ID:92xt4hcL.net]
こんなのでてきた


Microsoft、C++技術で.NET Core 2の高速化実現 [2017/07/22]
Microsoftは7月20日(米国時間)、.NET Core 2.0で採用されている高速化技術「PGO (Profile-Guided Optimization )」について伝えた。
この技術はC++コンパイラでより最適化されたコードを生成するために使われているネイティブコンパイラ技術。
.NET Core 2.0にも同様の技術が適用されており、すべてのユーザは特定の処理をすることなくこの高速化技術の恩恵を受けていると説明している。
n.mynv.jp/news/2017/07/22/096/images/001l.jpg
n.mynv.jp/news/2017/07/22/096/images/002l.jpg
news.mynavi.jp/news/2017/07/22/096/



Microsoft、LLVMベースの.NET/CoreCLRコンパイラLLILCを発表
2015年5月6日
.NET FoundationがLLILCという新しいプロジェクトのリリースを発表した。
このプロジェクトはもともとMicrosoftによるもので、.NET Coreのための新しいLLVMベースのネイティブコードコンパイラを提供することを目的としている。
これによって「CoreCLRが移植されていてLLVMがターゲットとしているプラットフォーム上で」.NETプログラムを動かせるようになる。
LLILCのロードマップによると、Install-Time JITコンパイラが次のターゲットだ。「これは生成されたコードを、
1つのアプリケーションの複数の呼び出しの間で、または1つのアセンブリセットを共有する複数のプロセスの間で共有できるようにする」。LLILCプロジェクトでは、Ahead-Of-Timeコンパイラの実装も検討している。
https://www.infoq.com/jp/news/2015/05/microsoft-llilc-llvm-compiler

770 名前:デフォルトの名無しさん mailto:sage [2017/08/14(月) 13:38:56.86 ID:kXWZXT9S.net]
>>742
世間で言われてる分類で言えば全部第3世代言語だからな
他でドヤ顔で言ったら恥ずかしいぞ

771 名前:デフォルトの名無しさん mailto:sage [2017/08/14(月) 13:42:18.27 ID:kXWZXT9S.net]
>>742
世間で言われてる分類で言えば全部第3世代言語だからな
他でドヤ顔で言ったら恥ずかしいぞ
第4世代はユーザが使う言語

JavaはC++--って言われるくらいで先進性よりも普及を重視してたんだろ
今はもう滅茶苦茶だが
でC++++でC#と

772 名前:デフォルトの名無しさん mailto:sage [2017/08/14(月) 14:14:03.57 ID:C7avT2pN.net]
次世代はサービスインテグレーションのための超高レベル言語だろうな
ドメインスペシャリストと開発者の間の垣根を無くすことと、強力なサービス連携がポイントだと思う

773 名前:デフォルトの名無しさん mailto:sage [2017/08/14(月) 17:00:35.75 ID:s23IFiwR.net]
>>759
そういう意味不明などやりかたされてもwwww
このスレでは誰もそんなくくりの話はしてない

第四世代言語(4GL)がなぜ次世代なんだかわからん

4GL
https://ja.wikipedia.org/wiki/4GL

SQL、R言語、RPG-IIの話なんて誰もしてない



774 名前:デフォルトの名無しさん mailto:sage [2017/08/14(月) 17:26:17.70 ID:6DHdEZEL.net]
3.9GL

775 名前:デフォルトの名無しさん mailto:sage [2017/08/14(月) 17:28:12.75 ID:wnsRSkHP.net]
でもまぁ方向性としてはありかと。
結局プログラミング言語ってツールなわけだから
何かに特化したほうが仕事はやりやすくなる。
DB設計したらwebAPIの定義と処理が自動実装されるようなDSLとか欲しい。

golangのgoaとかAPI設計からGoのコードを自動設定するから近いっちゃ近いけど
DB周りとの連携はまだイマイチかなと。

776 名前:デフォルトの名無しさん mailto:sage [2017/08/14(月) 17:38:46.17 ID:kXWZXT9S.net]
>>761
一般的な意味でないから個人で勝手に決める以外ないだろって意味なんだが
難しかったか

777 名前:デフォルトの名無しさん [2017/08/14(月) 19:20:45.04 ID:Ib/9zFrg.net]
自動でコード出力する系は嫌い
改造するの面倒だし
マクロみたいなのが好き

778 名前:デフォルトの名無しさん mailto:sage [2017/08/14(月) 19:42:20.23 ID:O7NIduQl.net]
Excelからコードを自動生成するPHPのプロジェクトがあったなそういえば

779 名前:デフォルトの名無しさん mailto:sage [2017/08/14(月) 20:03:07.27 ID:ysNMGCND.net]
コード生成系は出力先が機械だから手加減しない感じがあるからね。。

780 名前:デフォルトの名無しさん mailto:sage [2017/08/14(月) 22:37:21.06 ID:wnsRSkHP.net]
でもgoaは割ときれいなコード書いてくれるから、結構勉強になるし、生成ファイルとは別ファイルにして動作をカスタマイズする前提だから、
マクロとそんなに変わらないと思う。
マクロよりマジック感が減るから処理を追いやすいし

781 名前:デフォルトの名無しさん mailto:sage [2017/08/14(月) 22:47:09.43 ID:kXWZXT9S.net]
コード出力ってそのあと追記とかするの?
戻れなくないか

いっそバイナリ吐いてくれた方がよくないか

782 名前:デフォルトの名無しさん mailto:sage [2017/08/14(月) 22:55:39.38 ID:O7NIduQl.net]
糞バカペチプァにそんな知能あるわけないだろ
やつら、次に食べる飯と寝ることくらいしか頭に入らない小頭症のガイジだからね

783 名前:デフォルトの名無しさん mailto:sage [2017/08/14(月) 23:04:29.33 ID:W13Bw/D1.net]
>>768
根本的に一から勉強し直したほうがいいぞ

>>769
追記どころかバージョン管理からも外すよね普通



784 名前:デフォルトの名無しさん mailto:sage [2017/08/15(火) 00:47:06.80 ID:Iy2AbH2m.net]
>>769
それじゃ混ぜて最適化できないし
APIの公開非公開の制御もできないじゃん
そらGPLとか仕事じゃないなら関係ないかもしれないけどさあ

785 名前:デフォルトの名無しさん mailto:sage [2017/08/15(火) 00:48:49.86 ID:Iy2AbH2m.net]
>>771
いや流石にソースか出力どっちかはバージョン管理に入れるだろ
CIしてたらコンパイル通らなくなる

786 名前:デフォルトの名無しさん mailto:sage [2017/08/15(火) 02:11:40.42 ID:ucbHC/q/.net]
まあいろいろな環境でも動かしたいとかいう理由で出力したソースを
コミットすることもあるけど、あんまりいいことないよ。。おすすめしない。

787 名前:デフォルトの名無しさん mailto:sage [2017/08/15(火) 05:31:41.09 ID:tN8D0FqC.net]
>>769
もちろん生成コードとは別ファイルにカスタマイズコードを書くよ。
だからgitの管理対象外にするのが普通。
ただ、俺はあえて管理対象にしてるけどね。設計変更したときに自動生成コードがどんな変更をしたかわかりやすい。

マクロ系だとこういう部分が隠蔽されてると考えることができる。
デコレータとかもそうだよね。

goはジェネリクスとかマクロがない代わりにコード生成を推奨してる言語と言えるね。

最初は後退した言語だと思ったけど
コード生成と衝突しない書き方ができるから、マクロとかで裏でどういうコードが生成されているかを把握できる言語と考えれば悪くないなと感じてる。

788 名前: mailto:sage [2017/08/15(火) 10:52:42.87 ID:acuW3DAP.net]
phpバカにしまくる奴が疑問。
言語としてはまあボロボロだけどnginxとphp-fpmより安定したサーバ書けるの?って聞くと黙ったり、
過去、ひどいコード書いたとか、ひどいコードの保守したとしか考えられん。

789 名前:デフォルトの名無しさん mailto:sage [2017/08/15(火) 11:04:03.16 ID:WUz8q6HI.net]
nginxとphp-fpmより安定したサーバ書けるの?という質問が意味不明で黙るしかないよw

790 名前:デフォルトの名無しさん mailto:sage [2017/08/15(火) 11:19:06.17 ID:X4XuSaPF.net]
nginxはC++じゃね?

791 名前:デフォルトの名無しさん mailto:sage [2017/08/15(火) 11:23:06.67 ID:WUz8q6HI.net]
そう
だから意味が分からなくて黙るしかない

792 名前:デフォルトの名無しさん mailto:sage [2017/08/15(火) 12:39:40.27 ID:FVgUs5AP.net]
?黙るしかない
○相手にされてない

793 名前: mailto:sage [2017/08/15(火) 12:46:45.72 ID:acuW3DAP.net]
実用に耐えてないじゃん?みたいな話。
Goのサーバも見たことあるし、ErlangもElixirもあるけど、ずーっと誰かが推してるウェブベースのアプリって見たことねえなあ、ってのが
>>770を見て>>776を書いた所以。
脈絡ないのは認める。すまん。



794 名前:デフォルトの名無しさん mailto:sage [2017/08/15(火) 12:58:02.24 ID:jWNRWc6a.net]
>>781
その辺はAPIやワーカーの実装に使用されるケースがほとんどだろ
PHPとは競合しない

795 名前: mailto:sage [2017/08/15(火) 13:02:18.16 ID:acuW3DAP.net]
>>782
そうでもないよ。普通にいわゆるSSIみたいな形で動的なコンテンツ差し込むサーバも見たことあるし、
逆にPHPでも1ファイル1機能のAPIサーバと静的htmlの組み合わせも見たことある。

後者とは競合する

796 名前:と思うんだが。 []
[ここ壊れてます]

797 名前:デフォルトの名無しさん mailto:sage [2017/08/15(火) 13:20:01.29 ID:X4XuSaPF.net]
nginxが実用に耐えない…?
普通につかってるが…

798 名前:デフォルトの名無しさん mailto:sage [2017/08/15(火) 13:45:53.21 ID:C4ChKb28.net]
発達の相手すんな

799 名前:デフォルトの名無しさん [2017/08/15(火) 13:46:49.20 ID:HWb5gMTo.net]
このクソコテガイジだからな

800 名前:デフォルトの名無しさん [2017/08/15(火) 13:48:14.36 ID:HWb5gMTo.net]
前スレ

918 :あ :2017/05/31(水) 11:10:55.99 ID:dc+IbjjD
>>916
子供作るときに一通りそういう気質があるか調べてもらったが、幸いながらアスペではなかったぞ。
残念ながら多動はあった。

801 名前: mailto:sage [2017/08/15(火) 13:58:19.02 ID:acuW3DAP.net]
>>784
逆。nginxやphp-fpmは信用に足りるが、
個別にウェブサーバ立てるような言語は結局nginxやらtraefikやらのバックエンドに立てんじゃん?みたいな話。

>>786
だから何なんだ…(笑)
それをもってしてもちゃんと働いとるぞ。役職付きで。

802 名前:デフォルトの名無しさん [2017/08/15(火) 14:00:11.08 ID:HWb5gMTo.net]
あガイのガイ

803 名前:デフォルトの名無しさん mailto:sage [2017/08/15(火) 14:04:48.52 ID:X4XuSaPF.net]
まるでphpなら、それらがいらないかのような口ぶり



804 名前: mailto:sage [2017/08/15(火) 14:34:08.47 ID:acuW3DAP.net]
>>790
リバースプロキシは要るだろうが、その裏に立てるのもphp-fpmなりなんなりの、それなりに枯れたもので、スクラッチせんで良いでしょ。

805 名前: mailto:sage [2017/08/15(火) 14:35:20.41 ID:acuW3DAP.net]
他の言語が優れてるのも認めるし、phpがポンコツなのも認めるが、
それ以上に自分で書いたサーバはあてにならん。

806 名前:デフォルトの名無しさん mailto:sage [2017/08/15(火) 14:49:11.64 ID:IlJmfBT9.net]
そりゃ君がPHPなんか使ってるからだろう
スクラッチといったって既存のライブラリを使うわけだし、
そのライブラリがnginxに比べて枯れてないことが大きな問題になるほどHTTPサーバーなんて高度なもんじゃないぞ?

807 名前:デフォルトの名無しさん mailto:sage [2017/08/15(火) 15:24:31.13 ID:IlJmfBT9.net]
あと、今時は静的コンテンツの配信やパスベースのルーティング、SSLなど
Webサーバーの多くの機能をクラウドプラットフォームに任せてしまうから、アプリから独立したWebサーバーの必要性は低下している
もちろんガイジの主張においてnginxがクラウドプラットフォームに置き換わっただけであることは認めるけどね

808 名前:デフォルトの名無しさん mailto:sage [2017/08/15(火) 16:53:16.30 ID:Iy2AbH2m.net]
まあPHPを安易にバカにする奴はエアプログラマだとは思うわ
使われてるだけあって書いてくれって言われることあるし、
書いてみりゃわかるが小規模なら生産性高いからな実際
Wordpressカスタムで済ませられる案件も多いし

809 名前: mailto:sage [2017/08/15(火) 17:00:35.19 ID:acuW3DAP.net]
>>793
俺自身はphpを使うことがある、くらいよ。

既存のライブラリなんて余計に使えないだろ。いろんな意味で。

>>794
それはわかる。GAE/goをタダで使ってる身としては効率的だし、インフラのコストや安定性は桁違い。

810 名前:デフォルトの名無しさん mailto:sage [2017/08/15(火) 17:15:25.67 ID:tN8D0FqC.net]
>>796
GAE/goってそんなに使うの。
DBが独自になるのが気になるんだが

811 名前:デフォルトの名無しさん mailto:sage [2017/08/15(火) 17:39:47.47 ID:LOEABJJK.net]
phpは人口が多くて趣味やデザイナから来た奴が多いのかレベルが低い
他の言語知らないって奴もよくいる
なのでphpの仕事はあまりしたくない

812 名前:デフォルトの名無しさん mailto:sage [2017/08/15(火) 18:10:02.06 ID:tN8D0FqC.net]
>>798
なるほど。そういう考えもあるのか。
Goだったら少なくともプログラマーになりたい人が使ってる感じかな。

813 名前:デフォルトの名無しさん mailto:sage [2017/08/15(火) 18:17:01.25 ID:z3aL1OR7.net]
仕事でGoつかえって言われたら苦痛だな
もっと自由にさせてくれって思う



814 名前: mailto:sage [2017/08/15(火) 18:18:04.71 ID:acuW3DAP.net]
>>797
めっちゃ安い。めっちゃ早い。
永続化考えたら少しめんどくさいから、リクエストに対して即結果が出せるようなものを数珠つなぎにして出せるようなものにしてるよ。
>>798
それはよくあるな。
あと、外注が海外に投げるとホントにひどいのが出てきたりする。

815 名前:デフォルトの名無しさん mailto:sage [2017/08/15(火) 18:20:14.17 ID:IlJmfBT9.net]
>>798の文脈でいうならGoの仕事は悪くないと思うけどな
少なくとも秀丸で書いてFFFTPでデプロイするような奴はその職場にはいないだろう

816 名前:デフォルトの名無しさん mailto:sage [2017/08/15(火) 20:11:04.95 ID:tN8D0FqC.net]
>>802
すごいな2003年辺りで時間が止まってそう。

817 名前:デフォルトの名無しさん mailto:sage [2017/08/15(火) 20:12:50.74 ID:tN8D0FqC.net]
typescriptをメインに据えてる会社とかないかな。
正直typescriptであればサーバサイドjsもありな気がする。

818 名前:デフォルトの名無しさん mailto:sage [2017/08/15(火) 20:16:13.66 ID:tN8D0FqC.net]
>>801
> 永続化考えたら少しめんどくさいから、
> リクエストに対して即結果が出せるようなものを数珠つなぎにして出せるようなものにしてるよ。
もう少し具体的に話せない?。web+dbみたいな用途では使ってないってこと?

819 名前:デフォルトの名無しさん mailto:sage [2017/08/15(火) 20:20:01.11 ID:ucbHC/q/.net]
まあ go は書いててつまらんからって理由で却下されたことがある職場の話は
聞いたことあるな。
面白くても糞品質だったら無意味だとは思うがな。

820 名前:デフォルトの名無しさん mailto:sage [2017/08/15(火) 20:22:01.18 ID:+FCAaQP3.net]
禿丸エディター

821 名前:デフォルトの名無しさん mailto:sage [2017/08/15(火) 20:35:24.55 ID:tN8D0FqC.net]
>>806
goってつまんないかな。
俺は最初にハマったときはシンプルな構文に抑えようという心意気に感動したけどな。
例えばclassとstruct。コレってどっちかでいいよなってずっと思ってて
goはstructに絞ってくれて、コレだっ!って思った。
後構文規約問題とか。コレって最新の言語rustとかswiftとか全然気にしてないけど
goはちゃんと解決してるんだよなぁ。
あとgoroutineとか。スレッドモデルの操作ってPHPでやろうとすると凄くめんどくさくて最初にgoに触ったきっかけになった

822 名前:デフォルトの名無しさん mailto:sage [2017/08/15(火) 21:10:14.60 ID:ucbHC/q/.net]
>>808
個人的には別に好き嫌いはないんだけどね。
まあだいたい以下の話で説明はつくよ。くだらない話。
qiita.com/hirokidaichi/items/adccebb41f77eaa6132f

823 名前: mailto:sage [2017/08/15(火) 21:11:54.94 ID:acuW3DAP.net]
>>805
ウェブアプリとしてはあんまり使ってない。DBは必要があれば基本的には外のAPIとかDB呼んでるけど。couchか、とある階層型DBが多い。
それより、もうちょい単機能で、メモ化で済む様な処理で、さらにスケールする必要があるものが多いよ。
jsonに署名して返すとか、緯度経度から国判断して返すとか、バッチ処理でreduceの部分を一万件ずつくらい請けて結果を別のエンドポイントに投げるとか、json渡すとhtml帰ってくるとか、ほんとバックエンド。

DBのデータのマスタや、テンプレートみたいな類も、毎回要るものはそもそもソースに文字列として埋めて、DB使わんでも良いようにしてる。



824 名前: mailto:sage [2017/08/15(火) 21:17:02.53 ID:acuW3DAP.net]
Goは、あのシンプルな言語仕様だからそもそもが泥臭いけど、何かから書き出してもそれほど無茶なソースにはならないしな。

>>809
なるほど。

825 名前:デフォルトの名無しさん [2017/08/15(火) 21:41:25.44 ID:4yQu0hbw.net]
Goってマルチスレッド書ける?

826 名前:デフォルトの名無しさん mailto:sage [2017/08/15(火) 21:43:52.13 ID:tN8D0FqC.net]
>>810
ほーん。いわゆるマイクロフレームワークとして使ってるってことなんね。
中小でしか働いたことがない人間には無縁臭がするなぁ

やはりgoでDB操作は避けるよね、、、。

イマイチgoでRDBMS使い勝手が良くない、、
GormっていうORMが結局いいのかなって思ったけどパラメータがinterface{}型(いわゆるany型、何でもあり型)ばかりで、これ静的型だよね?ってなるし。
RDMS操作の決定版がいまいちgoにはないよね。

>>809
goは好きだけど不満もあるのは分かる。特にジェネリクスがないから
関数パラメータにinterface{}型ばかりになると萎えてくる。
でも片っ端から言語仕様追加してダサい言語になってほしくもない。
難しいね。

827 名前:デフォルトの名無しさん mailto:sage [2017/08/15(火) 22:25:15.02 ID:EUsgsL74.net]
>>798
言語仕様が糞なのに加えて、
そういう連中が積み上げてきた過去の遺産があるからね
大手のPHPプロジェクトの悲惨さはもう筆舌に尽くしがたいよ

ああいうの見るとね、冗談でもPHPは便利とか言えなくなるよw

828 名前:デフォルトの名無しさん mailto:sage [2017/08/15(火) 22:29:52.97 ID:wXZu/4Fl.net]
若輩俺氏、PHPを触ったことがない
PHPの仕事ってそんなにあるもんか?全く観測できん

829 名前:デフォルトの名無しさん mailto:sage [2017/08/15(火) 22:33:23.96 ID:EUsgsL74.net]
いわゆるWeb系でそう思うんなら、あんちゃんが割とええとこにいるからやな
中小奴隷売買でPHP保守のスパイラルに迷い込んだら
ほんとキャリア詰むで

830 名前:デフォルトの名無しさん mailto:sage [2017/08/15(火) 22:34:05.48 ID:LbZcuCiz.net]
>>815
こないだハロワで検索したら無限に出てきたぞ

831 名前:デフォルトの名無しさん mailto:sage [2017/08/15(火) 22:44:30.92 ID:wXZu/4Fl.net]
こわい

832 名前:デフォルトの名無しさん mailto:sage [2017/08/15(火) 22:49:36.97 ID:ucbHC/q/.net]
UIべったりな糞カスコードを保守してくれる奴隷を探してるんだろうね。。
直してくれる人をありがたく扱ってくれるならいいんだがそういうところって
本当に人間をごみカス扱いしてくるからな。

833 名前:デフォルトの名無しさん mailto:sage [2017/08/15(火) 23:06:08.95 ID:EUsgsL74.net]
直してくれる人がありがたいだって?
余計なことして壊れたらどうするんだ?誰がテストするんだ?

大人しく今のコードを最小限のコピペで直してくれる人を求めてるんだよ、ああいうのは



834 名前:デフォルトの名無しさん mailto:sage [2017/08/15(火) 23:08:55.10 ID:LOEABJJK.net]
新しいサービス思いついた
自分で作れないから人を雇おう
ぺーはーぴーって開発者が工数単価安いみたいだぞ
ねえ君、ホントは自分で作りたいんだけど忙しいから依頼するよ

新しいサービス思いついた
安いホスティングサービス借りよう
PHPが使えるらしいから本買って来て作ろう
真っ白い画面しか出ない
ねえ君、ホントは自分で作りたいんだけど忙しいから依頼するよ

新しいサービス思いついた
ワイWordPressマスター
PHPでプラグインが作れるらしい
ねえ君、ホントは自分で作りたいんだけど忙しいから依頼するよ

835 名前:デフォルトの名無しさん mailto:sage [2017/08/15(火) 23:25:03.76 ID:ucbHC/q/.net]
>>820
その最小限がもうどうにもならんくらいになってるからみんな困ってんでしょうが。
てかそういう場所でまともなテストが行われてることなんてまずないけどな。
逆にテストがまともならそんな状況にはならんよ。

836 名前: mailto:sage [2017/08/15(火) 23:59:10.86 ID:acuW3DAP.net]
>>812
グリーンスレッドならスレッドって何だったっけって思うくらい簡単に書ける。

>>813
マイクロフレームワークだね。
意外に、静的なファイルを撒くのにも便利だったりするけど、何より「全部入り」作ると面倒くささが勝ってくる部分がある。
gorm辛いよ。それなら、boltかleveldbにgobで突っ込んだ方が気楽。boltは書き込み遅いけど。

837 名前:デフォルトの名無しさん mailto:sage [2017/08/16(水) 01:07:27.27 ID:DsnJQVtM.net]
>>822
ペチプァのテストとは
自動テストのことではなく
Excel項目書の丸付けと
ExcelエビデンスYYMMDD.zipのことですよ

838 名前:デフォルトの名無しさん mailto:sage [2017/08/16(水) 13:16:52.76 ID:WsLhfWto.net]
名前を言ってはいけない あ の人

839 名前: mailto:sage [2017/08/16(水) 13:36:14.43 ID:d4ksVO/Z.net]
>>824
でかい所になるとそれを要求する奴が居るしね。
ただ俺も自動テストのテストは要求するし、
テスト用のクライアント一式(物理〜イントラ接続インフラ一式セットアップ〜デバッグビルド一式が配信される環境含め)を用意してくれと言われたら用意するけど、
ネゴなしにそれ以外のテスト環境でエビデンス取っても不適合でサクッと返すからなんとも言えん。
俺自身コード書いても社内では第三者に同じ事されるし割と平等かと。

これは請ける側のパワー次第だと思うよ。
1次請けが面倒くさがる会社の2次請けさんの嘆きは話は聞く事あるけど、それで1次請けに俺が何か言うと割と問題になるしな。
できることと言えば話のわかる1次の奴と2次の奴を飲みに誘う位しかできん。

840 名前:デフォルトの名無しさん mailto:sage [2017/08/16(水) 13:51:45.97 ID:3p707Jkt.net]
>>826
テスト環境用意してくれるんだ。良い会社じゃん。
そっち

841 名前:フほうがいいね。エクセルでエビデンスとかしんどすぎるし
役に立つのそれって感じだし
[]
[ここ壊れてます]

842 名前: mailto:sage [2017/08/16(水) 15:26:31.90 ID:DRyABrqx.net]
>>827
用意するし、ヤバイから台数増やして!ってあとから言われたら、貸出機出払ってても、少なくともうち来たらテストできるようにゲストカード用意するよ。

エクセルというか文書ファイルは必要悪と言うか、製造業は「いざとなったら手でできる」にこだわる側面もあるから、チェックシートで欲しいってのもある。
その辺汲んで、自動テストのテスト仕様と、自動テストで行うテストと結果を出してくれたら無理矢理でも俺通してきた。

東日本の震災でも、九州の震災とか豪雨でも、非常事態対応しながら開発したり、そもそも対応での不整合影響範囲推定とかせなならんかったし、あれは要る。

843 名前:デフォルトの名無しさん mailto:sage [2017/08/16(水) 20:59:07.98 ID:NyarCuNK.net]
雑談クズが住み着いちゃったね



844 名前:デフォルトの名無しさん mailto:sage [2017/08/16(水) 21:42:18.26 ID:79/XacN3.net]
な? Juliaの話しようぜ?

845 名前:デフォルトの名無しさん mailto:sage [2017/08/16(水) 23:58:53.11 ID:1tm61gk1.net]
>>830
Pyplot と Gadfly と Winston どれがいい?

846 名前:デフォルトの名無しさん mailto:sage [2017/08/17(木) 00:19:10.91 ID:RP+KduLB.net]
Winston なんかあったのかよ
俺はGadfly使ってたけど特に理由はないなあ
Pyplotも悪くはないけどなんとなく使ってなかった

847 名前:デフォルトの名無しさん mailto:sage [2017/08/17(木) 00:42:21.76 ID:x9wW63w8.net]
テストとか仮想環境でしかしてないわ
本番も仮想環境ばかりだけど
モノにもよるか

848 名前:デフォルトの名無しさん mailto:sage [2017/08/17(木) 06:59:54.30 ID:vNKyeUGQ.net]
震災が起きると動かなくなる自動テストって何だよ(驚愕)

849 名前:デフォルトの名無しさん mailto:sage [2017/08/17(木) 07:36:01.82 ID:oMgRAJ/R.net]
彼はADHDだから問題の切り分けが苦手なんだろう
大目に見てあげなさい

850 名前: mailto:sage [2017/08/17(木) 09:00:54.38 ID:FZ3wXczz.net]
>>834
すでにディーゼル発電機回ってるような状況で、本番機の分しか電源取れないような時に、テスト環境まで起こしてられん。

>>835
切り分け得意だよ。あとバグ出し。
むしろ多動だからなのでは?

851 名前:デフォルトの名無しさん [2017/08/17(木) 09:08:56.76 ID:I4N//eQS.net]
>>830
どう見ても汎用言語じゃないんだが。。。
RとかMathematicaの分野の次世代言われてもな。。。

852 名前:デフォルトの名無しさん mailto:sage [2017/08/17(木) 09:10:01.18 ID:EtIXwQlG.net]
今fortranで量子化学のプログラムのボトルネック部分書いたんだけど、バグ取りしんどいわあ。
Juliaで書けって話だけど、Juliaコードは他言語からの呼び出し微妙なんだよな

853 名前:デフォルトの名無しさん mailto:sage [2017/08/17(木) 12:29:44.17 ID:BOGxSFah.net]
>>838
そういう用途ならFFIじゃなくてファイルだけ連携する伝統的なバッチでいいだろ
その方がリトライや並列化も簡単だし



854 名前:デフォルトの名無しさん mailto:sage [2017/08/17(木) 13:35:40.38 ID:EtIXwQlG.net]
>>839
渡さないといけない波動関数情報が4GBとかになってディスク書き込みにえらい時間がかかるので、ハードディスク書き込みは最低限にしたいんだけど、なんか良い方法あるもんですか?

855 名前:デフォルトの名無しさん mailto:sage [2017/08/17(木) 14:51:29.63 ID:BOGxSFah.net]
>>840
RAMディスク作るとかRAIDやクラウド使うとか

856 名前: mailto:sage [2017/08/17(木) 15:51:15.31 ID:Clfoc/NQ.net]
>>840
tee的なコマンド作るといいんでないの?

857 名前:デフォルトの名無しさん mailto:sage [2017/08/17(木) 18:45:53.40 ID:0J2w2YFT ]
[ここ壊れてます]

858 名前:.net mailto: 他言語から一番呼びやすいのは C なわけだが。 []
[ここ壊れてます]

859 名前:デフォルトの名無しさん mailto:sage [2017/08/17(木) 19:01:21.96 ID:EtIXwQlG.net]
>>841
あんまり詳しくないんだけど、/dev/shmにファイル作って書き込むみたいなもんです?

>>842
???

860 名前:デフォルトの名無しさん mailto:sage [2017/08/18(金) 00:00:31.37 ID:+7kF3zDD.net]
Cは呼びやすいっちゃ呼びやすいんだが
関数のプロトタイプもろもろがヘッダファイルで定義してあるから
ヘッダファイルの移植が面倒だなぁ
何かライブラリのインターフェースに関して
統一的なフォーマットが欲しいと思わなくもないけど
どっちにしたって関数の呼び出しに必要な構造体とかも
ヘッダファイルで定義してあるし、どうにもならないんだろうな
標準入出力でやりとりするのもタルいし
WindowsならCOMとかあるけど・・・

861 名前:デフォルトの名無しさん mailto:sage [2017/08/18(金) 00:04:56.58 ID:YDSkJKvw.net]
てか、それくらいプリミティブな仕組みだから呼びやすいわけだ。

862 名前: mailto:sage [2017/08/18(金) 01:19:03.96 ID:WQb8VpS1.net]
>>844
中間ファイル作りながら、次工程進めれば良いのでは?って。
HDDに書き込むのはその端末自身である必要も無いだろうし、別の端末にやらせても良いかと。

teeコマンドは、標準入力からの入力を、ファイルなりなんなりと標準出力に出すコマンド

863 名前:デフォルトの名無しさん mailto:sage [2017/08/18(金) 07:08:42.68 ID:YaXOGzzP.net]
シミュレーションなら入力の内容は全部まとめて読むだろうからパイプを使うのはあまりメリット無いでしょ
デッドロックの原因になるから作法的にも好ましくない
単純にファイル名を起動引数で渡した方がいい



864 名前:デフォルトの名無しさん mailto:sage [2017/08/18(金) 09:59:20.00 ID:64r0PFl5.net]
>>841が非常に適切なアドバイスをくれたから、俺の書き込みでも割と通じてるんだと思ったけど、
>>844>>847には通じてなさそうな気がする
>>848には通じてる

865 名前: mailto:sage [2017/08/18(金) 13:16:32.57 ID:WQb8VpS1.net]
>>849
通じてるよ。ただファイルで渡しても良いけど、出来上がった暁には全部流したいだろうなと思ったんだが。

866 名前:デフォルトの名無しさん mailto:sage [2017/08/18(金) 15:30:18.21 ID:5aImaITs.net]
>>840
圧縮して書き込めば?

867 名前:デフォルトの名無しさん mailto:sage [2017/08/18(金) 15:56:35.28 ID:64r0PFl5.net]
>>850
流す?よく分からんけど、FFIの代わりの話ししてるのになんで標準出力にもHDDにも出すことになってるんだ??????

>>851
double precisionで構成される配列を圧縮……

868 名前:デフォルトの名無しさん mailto:sage [2017/08/18(金) 17:29:36.01 ID:5aImaITs.net]
>>852
圧縮でサイズが1%でも減らすことができればほぼ確実にパフォーマンス向上するぞ。
https://gist.github.com/jboner/2841832

869 名前:デフォルトの名無しさん mailto:sage [2017/08/18(金) 18:38:52.93 ID:Rznosojv.net]
デバッグしにくい設計してしまったんだな

870 名前: mailto:sage [2017/08/18(金) 21:59:17.07 ID:WQb8VpS1.net]
>>852
標準出力とは限らんよ。
だからtee「的」と言ってるんだが。

871 名前:デフォルトの名無しさん mailto:sage [2017/08/18(金) 22:15:46.41 ID:64r0PFl5.net]
何この人。結局何を伝えようとしてくれてるのか全く分からなくて怖いんだけど

872 名前:デフォルトの名無しさん mailto:sage [2017/08/18(金) 23:31:23.26 ID:j6mLrsKq.net]
自分の頭が混乱してるのを
2chに書き込むことで整理しようとしているだけの人だからね

873 名前:デフォルトの名無しさん mailto:sage [2017/08/19(土) 00:57:54.03 ID:bV1JViRB.net]
つか素直にメモリ詰むかSSD買ってこいよ
それも駄目ならinplaceな方法にでも書き換えるしかない



874 名前:デフォルトの名無しさん mailto:sage [2017/08/19(土) 01:10:16.34 ID:T5uwruzP.net]
キチガイが住み着くのはよくあること

875 名前:デフォルトの名無しさん mailto:sage [2017/08/19(土) 01:14:45.90 ID:nPJhR8kx.net]
>>858
いや普通にFFI使うわ。なんかFFI微妙そうに言われたからFFIよりいい方法があるか聞いてただけだし。
>>841の後も長々やっちゃって申し訳ない

876 名前:デフォルトの名無しさん mailto:sage [2017/08/19(土) 01:41:53. ]
[ここ壊れてます]

877 名前:01 ID:bV1JViRB.net mailto: そんなにFFIが面倒ならmmapとexecとか、端的なやりようあるよ
つか俺もストリーム処理にでもした方がいいんじゃねえかと思うが
[]
[ここ壊れてます]

878 名前:デフォルトの名無しさん mailto:sage [2017/08/19(土) 02:04:33.04 ID:GJ9v1oeu.net]
FFIは不安定になったりビルドが面倒になったりデバッグも開発も面倒だったりで極力やりたくないわ
ファイルやパイプはもちろん、RPCやMQを使う手もある

879 名前:デフォルトの名無しさん mailto:sage [2017/08/19(土) 11:08:22.66 ID:SFm+w/sk.net]
設定より規約ってのを実践すればFFIも面倒ではないだろう
パイプには型がないから型を宣言する設定ファイルもない

880 名前:デフォルトの名無しさん mailto:sage [2017/08/19(土) 13:43:40.11 ID:y3ZCFtJS.net]
ファイルベースだと分散処理とかクソ簡単
俺も学生時代シミュレーションやってたけどMakefileのjオプションで並列化してる人もいた

881 名前:デフォルトの名無しさん mailto:sage [2017/08/19(土) 13:58:03.00 ID:h9Bm6H42.net]
え?分散処理するならファイルシステム使うとか悪手中の悪手でしょw

882 名前:デフォルトの名無しさん mailto:sage [2017/08/19(土) 14:01:57.56 ID:E6tSyHuQ.net]
ストリーム処理にできるかどうかって何やろうとしてるかによるでしょ
長大テキスト処理的なものかどうかはわからないのにパイプやストリームがいいって言っても意味なくない?
質問がどういうデータをどう処理するってのを専門外の人に書いてないのも返答が発散する原因の一つではあると思うけど

883 名前:デフォルトの名無しさん mailto:sage [2017/08/19(土) 14:04:50.26 ID:GJ9v1oeu.net]
>>865
バッチ処理なら普通に使うでしょ
Hadoopとかファイル使いまくりだよ



884 名前:デフォルトの名無しさん mailto:sage [2017/08/19(土) 14:14:41.27 ID:GJ9v1oeu.net]
>>866
シミュレーションで波動関数情報渡すって言ってるから、
普通に考えてストリーミング処理できるようなデータではなく全部一括して扱うもんだろう
複数件のジョブをまとめてバッチとして渡してるとかなら分ける余地はあるかもしれないけど

885 名前:デフォルトの名無しさん [2017/08/19(土) 14:18:44.31 ID:VwTbQ4le.net]
波動関数情報4GBをアップロードして、必要な分だけシーケンシャルかランダム・アクセスしたらいい

886 名前: mailto:sage [2017/08/19(土) 16:00:48.68 ID:b1lc6Upk.net]
規格化されとるならtとx1でアクセスできる方が便利では?
確率密度で欲しいならちとめんどいが。
全然ジョブ別けれると思う。

887 名前:デフォルトの名無しさん mailto:sage [2017/08/19(土) 16:06:22.01 ID:Czvm/mK/.net]
>>870
早く発電する作業に戻らないとテストできなくなるぞ

888 名前: mailto:sage [2017/08/19(土) 16:13:24.70 ID:b1lc6Upk.net]
>>871
発電機回すのは俺のやる事じゃないよ。
主任技術者がやる事。

889 名前:デフォルトの名無しさん mailto:sage [2017/08/19(土) 16:20:38.90 ID:y3ZCFtJS.net]
この人がまともに働けるってすごいことだと思う
周りの人が理解してサポートしてくれている恵まれた環境なんだろうな

890 名前:デフォルトの名無しさん mailto:sage [2017/08/19(土) 16:52:15.03 ID:SFm+w/sk.net]
コミュ力と文章力はほとんど関係ない気がするので文章だけ見てもよくわからないな

891 名前: mailto:sage [2017/08/19(土) 17:57:32.52 ID:b1lc6Upk.net]
>>873
周り良い人だよ。俺含め変なやつ自体が多いけど。
人間、三十人ぐらい集まれば最終的に良い部分同士でキレイにまとまる。

>>874
文書として書くならちゃんと書くぞ。

892 名前:デフォルトの名無しさん mailto:sage [2017/08/19(土) 21:26:38.70 ID:E6tSyHuQ.net]
>>868
趣味で超適当な流体シミュレーションぐらいしか作ったことないけど全部一括して扱うもんだろうという推測には同意する

たとえば画像処理でSIFTとかの特徴点抽出アルゴリズムを使いたい場合に、ストリーミングで実装することに可能性やメリットはあるのかなぁ。

なんでもかんでもストリーミングで実装して効率良くなるなら極端な話スパコンなんて要らないじゃんってことになると思うんだけど

893 名前:デフォルトの名無しさん mailto:sage [2017/08/19(土) 23:57:56.57 ID:3LWi1RRc.net]
直受けの50万 客:いつまでもうちにいていいよ
3次受けの50万(客は70万払ってる) 客:短期延長していい?
5次受けの50万(客は11



894 名前:0万払ってる) 客:作り終わったらとっと出てけ できなかったら即退場だ 
長時間労働 高稼働 高スキル要求が多い

零細フリーランスサイトは5次受けから誰もできない難易度の高い仕事 余り物の仕事を紹介してくる。40万円代でやってくれと

これならJIETから3次でいったほうがいいな

446非決定性名無しさん2017/08/02(水) 22:12:48.95

JIETに毎月5千円払えば3次から入場できるだろ?
高額をうたうフリーランスのサイトはだいたい5次から45万円
JIETで閲覧応募できる末端価格からさらに搾取するのが高額をみせつけるフリーランスサイトでした
高額案件をみせつけるフリーランスサイトも案件の取得はJIETでした

473非決定性名無しさん2017/08/03(木) 15:21:30.71

JIETに加入すれば誰でも3次60万からスタートだ。フリーランスのサイトをやってる
自称エージェントもそこから案件情報を取得しきてる。サイトで60万で釣って40万から55万の
間でやらしている。

372仕様書無しさん2017/08/11(金) 10:31:43.41
フリーランスで検索すると引っかかる零細ITがやっているフリーランスのサイトはだめだ。
高額に見せているけど実際は50万前後
JIET加入した方がいいよ。案件は毎日千件以上末端価格は60万円 平凡な稼働時間の80万円の案件もある。
ユー子も求人をだしてる。名刺も渡せる。ユー子に名刺が渡せるんだぞ。夢のようだ

それらの案件まさぐってHPで転売していたのが零細ITがやるフリーランスサイト

自称エージェントはJIETから流れてくる案件を転売してるだけだった。
JIETに加入すれば誰でも案件に応募することができた。収入が40万50万台にならなくて済む
[]
[ここ壊れてます]

895 名前:デフォルトの名無しさん mailto:sage [2017/08/20(日) 01:15:26.57 ID:r7P84g+k.net]
>>876
そら富豪プログラミングが一番いいわ
ただリソース削ろうなんて貧乏性な考えしてるんだから他に方法ねえだろ

896 名前:デフォルトの名無しさん mailto:sage [2017/08/20(日) 01:31:48.22 ID:PUhzCj71.net]
>>878
そういう問題じゃない
ランダムアクセスされるデータをどうやってストリーミング処理するのか

897 名前:デフォルトの名無しさん mailto:sage [2017/08/20(日) 01:39:16.53 ID:PUhzCj71.net]
あと、>>876が言ってるスパコン云々は
データをストリーミング処理できるということはすなわちデータ件数に対して線形時間で処理できるということを意味する
全ての問題がそうだったら世の中に重い処理なんか存在しないからスパコンなんか要らないよね?ということだと思う

898 名前:デフォルトの名無しさん mailto:sage [2017/08/20(日) 01:46:50.23 ID:r7P84g+k.net]
>>879
意味不明
メモリ転送だけが問題なら転送だけストリームすりゃいい
もとの文脈無視してただ叩きたいってだけか?

899 名前:デフォルトの名無しさん mailto:sage [2017/08/20(日) 01:50:05.35 ID:r7P84g+k.net]
>>880
んな当たり前の事ドヤ顔で語る前に
前提と問題ぐらい読み解こうな

900 名前:デフォルトの名無しさん mailto:sage [2017/08/20(日) 02:00:28.35 ID:r7P84g+k.net]
いや、これ本人がマウントしてんのかな…

901 名前:デフォルトの名無しさん mailto:sage [2017/08/20(日) 04:44:52.46 ID:HvheRl8w.net]
>>876だけど元の質問してる人とは別人だよ。
ストリーミング処理って普通は大きなデータをストリームで流して一部だけ処理していくことで大きなデータを全部オンメモリにしなくても処理できるから嬉しいよねっていうことで
ストリームに対して処理する実装のことを指すと思うんだけど。

元々の話はFortranはデバッグがきついからJuliaで書きたいけどデータの受け渡しイマイチだし他にいい方法あるか?って話だと思うのでリソースを削ろうって話ではないと思う
ただ、データが4GBとデカいんでmemcpyとかディスク書き込みとかは明らかなメリットがなければしたくないっていうだけの話で

そもそもメモリ転送だけストリームっていうのは、ストリーム処理と言えるのかな?そして、本来はメモリ転送も無い方がいいに決まってるので。

スパコンの例はまさに>>880の言ってるとおり。

902 名前:物理現象の時間発展をシミュレーションすることが目的のプログラミングなんかは瞬間瞬間のデータ全部が相互に影響を与えあっているような
モデルを用いて実装されるだろうから、全部がオンメモリでランダムアクセス可能でなきゃそもそも実現が難しいと思うのよ。今見える範囲だけ処理するというストリーミングのやり方では原則的にはうまくいかないと思う。
[]
[ここ壊れてます]

903 名前:デフォルトの名無しさん mailto:sage [2017/08/20(日) 05:41:57.25 ID:r7P84g+k.net]
文脈が違うから違う結論になっただけと言ってるのに、なぜくどくど説明したがるのか…

まず最初から素直にtmpfsでも高速なSSDでも使えばすぐ済む話
まさかそれすら最初から思いつかないってことはないだろう

でもグダグダ言ってるんだから、代わりにメモリや高速ストレージに金やリソース割くのが無理って事だろ
なら共有メモリにでもするか、処理単位を分けストリーム処理でもしろって話
で、ほしい処理主体がストリームじゃなかろうが割当は細く切り出しながら渡す必要あるから、どう言い繕ったってストリーム化だよ
いちいち言葉尻につっかかるあたりマウントしたいだけだろうが



904 名前:デフォルトの名無しさん mailto:sage [2017/08/20(日) 06:26:59.79 ID:Adwommj8.net]
>>838>>860じゃないかな
「FFIを使う」「FFIよりいい方法があるか聞いてみただけ」ということで話は終わっているような

905 名前:デフォルトの名無しさん mailto:sage [2017/08/20(日) 08:00:42.48 ID:XzNX7+yk.net]
で、それのどこが次世代言語なの?

906 名前:デフォルトの名無しさん mailto:sage [2017/08/20(日) 09:02:07.47 ID:02zgg1Cu.net]
話は変わるけどFFIやRPCなどのインターフェイスを抽象化して多言語で共通に使える仕組みがあればいいのに
ThriftやgRPCみたいなのはサービスとして動かさなきゃいけないし、
Javaや.NETみたいなのは理想だけど仮想マシンに縛られるし

907 名前:デフォルトの名無しさん mailto:sage [2017/08/20(日) 11:14:26.93 ID:cXtFYNrL.net]
なんだかんだ言ってjs or TypeScriptが最強な気がする
機械学習すら手軽に始められる言語になり始めてるし
https://pair-code.github.io/deeplearnjs/

ここ最近のES2015以降言語仕様の進化はいい方向に進んでいるし
パターンマッチングとか入り始めたらマジでこれでいいってなりそう。

908 名前:デフォルトの名無しさん mailto:sage [2017/08/20(日) 11:15:55.74 ID:cXtFYNrL.net]
jsonをインターフェースとして考えるならjs

909 名前:デフォルトの名無しさん mailto:sage [2017/08/20(日) 11:36:57.11 ID:m8177A+a.net]
周辺のエコシステムがちっともエコじゃない
ボイラプレート使わないと、めんどくさすぎてまずスタートラインにすら立てないという
おにちく仕様
ちゅか、フロタイプかタイプスクリプトを標準にしろ
生JSはできない

910 名前:デフォルトの名無しさん mailto:sage [2017/08/20(日) 13:16:38.54 ID:IkwItTHK.net]
ここまで次世代言語の議論なし

911 名前: mailto:sage [2017/08/20(日) 14:05:20.43 ID:wfThuXaW.net]
>>888
なんかすごい懐かしい言葉が色々浮かぶけど、どれも対して成功してないな。
逆にhttpがここまで伸びたのも凄いが。

912 名前:デフォルトの名無しさん mailto:sage [2017/08/20(日) 14:40:01.39 ID:856Qy56L.net]
ハイパーテキストじゃなくてもhttpプロトコルだしな。

913 名前:デフォルトの名無しさん mailto:sage [2017/08/20(日) 16:38:15.82 ID:HvheRl8w.net]
>>885
「処理単位を分けられる処理」なのかは把握した上でストリーム化を勧めてるんだったらわかる。
質問者の望む処理がそういう処理だと思ったってことである程度どうやって分割するかも予想がついた上でストリーム処理にした方がいいって言ったってことだよね?

マウンティングとかじゃなくてさ、問題を的確に把握する前にアドバイスしたってしょうがないだろって思ってるだけだよ。



914 名前:デフォルトの名無しさん mailto:sage [2017/08/20(日) 17:02:53.59 ID:zvlsjK6m.net]
>>888
結局、各言語でメモリの取り扱いが異なるわけだから、.NET みたいなことする以外に
解決方法なんてないだろう。
メモリの取り扱いを抽象化するってのはどうしたって結局のところ性能的に無理が生じる。

915 名前:デフォルトの名無しさん mailto:sage [2017/08/20(日) 19:08:10.98 ID:2qDLsNd9.net]
847 あ[sage] 2017/08/18(金) 01:19:03.96 ID:WQb8VpS1
>>844
中間ファイル作りながら、次工程進めれば良いのでは?って。
HDDに書き込むのはその端末自身である必要も無いだろうし、別の端末にやらせても良いかと。
teeコマンドは、標準入力からの入力を、ファイルなりなんなりと標準出力に出すコマンド

849 デフォルトの名無しさん[sage] 2017/08/18(金) 09:59:20.00 ID:64r0PFl5
841が非常に適切なアドバイスをくれたから、俺の書き込みでも割と通じてるんだと思ったけど、
844、847には通じてなさそうな気がする
848には通じてる

850 あ[sage] 2017/08/18(金) 13:16:32.57 ID:WQb8VpS1
通じてるよ。ただファイルで渡しても良いけど、出来上がった暁には全部流したいだろうなと思ったんだが。

852 デフォルトの名無しさん[sage] 2017/08/18(金) 15:56:35.28 ID:64r0PFl5
流す?よく分からんけど、FFIの代わりの話ししてるのになんで標準出力にもHDDにも出すことになってるんだ??????

855 あ[sage] 2017/08/18(金) 21:59:17.07 ID:WQb8VpS1
標準出力とは限らんよ。
だからtee「的」と言ってるんだが。

856 デフォルトの名無しさん[sage] 2017/08/18(金) 22:15:46.41 ID:64r0PFl5
何この人。結局何を伝えようとしてくれてるのか全く分からなくて怖いんだけど


明らかに話が噛み合っていないのに「通じてるよ」とか、855の受け答えとか、話し通じないガイジ丸出しで大変面白い

916 名前: mailto:sage [2017/08/20(日) 22:15:08.78 ID:yEE4C2MX.net]
>>897
なんの会話もせず、レス拾って文句つけるだけとは随分面白くて有意義な書き込みだなぁ。

917 名前:デフォルトの名無しさん mailto:sage [2017/08/20(日) 23:05:46.98 ID:yNKc7CAF.net]
会話ができてないお前がいうか?

918 名前:デフォルトの名無しさん mailto:sage [2017/08/20(日) 23:36:43.04 ID:m8177A+a.net]
単発のお前がいうか?

919 名前:デフォルトの名無しさん mailto:sage [2017/08/21(月) 00:48:06.97 ID:COEoTBs8.net]
>>895
そちらの言い分は分かるが、俺の言いたい事は違うよ
分割の話はFFIを界面にしてる点を取っ掛かりに言ったに過ぎない
不明な仕様という点を踏まえて、より一般化したの代替の提案してるだけ

要するに言外の事に突っ込んだ話はしてません

920 名前:デフォルトの名無しさん mailto:sage [2017/08/21(月) 00:52:50.95 ID:ogLdY0/a.net]
このスピードのスレで単発煽りとか、普段はID真っ赤のガイジですって自己紹介してるようなもんじゃん……

921 名前:デフォルトの名無しさん mailto:sage [2017/08/21(月) 02:03:36.52 ID:sjKZo8mX.net]
>>901
もしストリーム処理的なものを一度も考慮に入れたことがないんであれば、ストリーム処理で実装可能かどうか考えるのも一つの手かもね、
ぐらいの意味であったということかな?それなら納得します。

922 名前:デフォルトの名無しさん mailto:sage [2017/08/21(月) 03:02:40.94 ID:eGD2En39.net]
俺たちのスピードについてこれない香具師がいるようだね

923 名前:デフォルトの名無しさん mailto:sage [2017/08/21(月) 22:30:29.02 ID:UGhNsUQ+.net]
いつまでストリームのはなししてるの。
ストリームならRxだろjk



924 名前:デフォルトの名無しさん mailto:sage [2017/08/22(火) 00:33:08.71 ID:9GD6qpN2.net]
ワイはBlackRx

925 名前:デフォルトの名無しさん mailto:sage [2017/08/22(火) 11:49:00.34 ID:i6ZzO263.net]
光のオーロラ身に纏い
君は闘う人になれ
傷つことを恐れたら
世界は悪の手に沈む

ネットバトラー爆誕である

926 名前:デフォルトの名無しさん mailto:sage [2017/08/22(火) 11:54:49.36 ID:wr0MW0qV.net]
>>903
ニュアンスがやっぱり違うぞ
金もメモリも使わずかつ実装が簡単な代替えとなるとそうなるって話
HDDの速度考えれば都度転送のがまだマシだろ
本当はtmpfsが手っ取り早いけど

927 名前:デフォルトの名無しさん [2017/08/22(火) 16:38:49.34 ID:WO9jjhJ1.net]
名古屋から山口組の6代目が出たんだし、SKEにも頑張ってほしい


◆AKBは近代ヤクザのシステムを導入しているとしか思えない◆
robo-mae.com/2017/06/20/

なんか本職のヤクザ?が書いてる裏事情ブログでおもろいから読んでるんだけど、
ぽいけどこの記事だけ的確過ぎて笑ってしまった。
この人は結構ヲタなんだろうけど、組内では内緒にしてるのかな?

928 名前: mailto:sage [2017/08/22(火) 20:55:51.79 ID:5SSOVQI8.net]
パイプとかRPCでやるなら、
プロセスAがデータ作り終わったら、
プロセスAがデータを一定量、プロセスBに送って、
プロセスBはそれを受けてバッファに置いて、
プロセスAは送った分、確実にメモリを開放して、
全部送り終わったらEOF送って、
プロセスBはEOFで走り出せばいいんじゃないの?
その送受信フックしといたら、プロセスBだけもう一回走らせるのも簡単だし、別の計算機でプロセスB動かすのも簡単だし、エビデンスにもなるのでは?

929 名前: mailto:sage [2017/08/22(火) 20:57:28.90 ID:5SSOVQI8.net]
全部送り終わったら、のところ、全部送り終わってなければ、また「一定量送って」にループね。

930 名前:デフォルトの名無しさん mailto:sage [2017/08/22(火) 21:45:32.91 ID:3dDtZQan.net]
>>910
>送った分、確実にメモリを開放

ってどうやるんだろ

931 名前: mailto:sage [2017/08/22(火) 22:19:18.76 ID:5SSOVQI8.net]
>>912
Fortranなら、allocatableで宣言して、allocateで適当な「一度の量」単位で確保して使って、送ったらdeallocateで開放すりゃいいんじゃないの?
pointerで宣言してるならちと考え方変えねばならんかもしれんが。
あと尻から送ったほうが良いかも。
GCある言語だったら開放待ち作らなきゃなんともならんな。

932 名前:デフォルトの名無しさん mailto:sage [2017/08/23(水) 19:38:39.70 ID:C10WJIyJ.net]
>>912
mallocじゃなくてシステムコール使う

933 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 03:36:25.37 ID:89P6VciC.net]
久しぶりに覗いてみたらまだこの基〇外いたんだwww
俺が勉強している間も遊んでいる間も色々している間もずっと書き込んでいたんだねww



934 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 07:01:09.06 ID:plP2PBjy.net]
まろ〜く

935 名前: mailto:sage [2017/08/24(木) 12:57:45.68 ID:aPple+DF.net]
勉強したり遊んだり仕事したり2chに書き込んだりしてるだけだがなぁ。
一度に1つの事しか出来ないんだろうか。

936 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 13:06:05.45 ID:CU8adGcb.net]
この基地外の収容所と化したからな。このスレは

937 名前: mailto:sage [2017/08/24(木) 13:10:59.72 ID:aPple+DF.net]
賑やかしでいいんじゃないの?
黙ってたら進まんかHaskell信者が踊り狂うスレなんだし。キャットドア()の検証()するスレで良いの?

あと、そもそも盛り上がってたら静観してあんまり書かんぞ。

938 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 13:23:19.75 ID:PzOnmf2Y.net]
結局Haskell最強ってなるの。
正直あんまり仕事で使ってる感じしないけど。
なんか研究者が戯れに使う感じ。そもそも何に向いてる言語なのhaskellって

939 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 13:28:16.99 ID:0Cezav5n.net]
エンジニアガイジ再訪。Part4より

905 :デフォルトの名無しさん:2017/05/31(水) 06:14:00.96 ID:wEozaoTa
>>879
では、具体的にGHCが実行時型情報を必要とするケースを挙げてみろよ。
言っておくが、パラメトリック多相は全てコンパイル時に解決されるし、
型クラスによるアドホック多相も、あれは関数オーバーロードの形式化だからな。
関数オーバーロードはコンパイル時に解決されるぞ。
さあ、具体的に挙げてみろよ。

908 :あ:2017/05/31(水) 09:15:21.09 ID:dc+IbjjD
>>905
具体的に上げろと言われてもなぁ。
<T>を持ったenumがOptionかcar(T)とcdr(<T,T>)である時くらいかな。

940 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 13:32:07.62 ID:z+OCxOWy.net]
>>920
仕事で使ってるよ
ファイルのバリデートチェックとか
あとはネットワーク構成の論理矛盾がないか調べる内製ツールもHaskell

941 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 18:31:02.84 ID:IR7qYp4l.net]
キャットドアって何?

942 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 19:43:58.38 ID:EpnGEQYH.net]
>>920
結論は「〜言語最強」とか言ってる輩は馬鹿ってことかな。

943 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 21:27:56.58 ID:LiUup8WI.net]
>>924
まぁ向き不向きの問題ってことかね。
haskellはバリデーションチェック系が得意っていうのはやっぱりパターンマッチングで宣言的にかけるからってことなのかね。
パターンマッチングはrustとかelixirとかでもできるわけだから
haskellじゃなきゃダメってことはなさそう。



944 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 21:34:11.83 ID:LoTTLSP4.net]
いやHaskellのが楽
RustなどにQuic

945 名前:kTestのようなものはない []
[ここ壊れてます]

946 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 21:34:48.48 ID:LoTTLSP4.net]
QuickCheckだ間違えた

947 名前:デフォルトの名無しさん mailto:sage [2017/08/25(金) 00:50:39.84 ID:KCgpTMlD.net]
ある。使ったことは無いがhttps://github.com/BurntSushi/quickcheck
ただRustの型システムはHaskellより貧弱だし、最初からメモリについて意識しないとプログラムが動かない
Haskellで作ったプロトタイプをRustで書き直して速度を稼ぐのはアリ

948 名前:デフォルトの名無しさん mailto:sage [2017/08/25(金) 06:00:59.36 ID:xDVMzM02.net]
>>928
めちゃくちゃ冗長だねこれ…

949 名前:デフォルトの名無しさん mailto:sage [2017/08/25(金) 11:10:28.70 ID:Yqz1DVXO.net]
暗黙の型変換は大嫌いな俺でも型システムを信じすぎる輩はどうかと思う。

950 名前:デフォルトの名無しさん [2017/08/25(金) 13:37:23.88 ID:nLnLKgfd.net]
>>930
ちょっと言ってる意味わからない。(言いたいことはわかるかな)
暗黙の型変換好きってなら、そのあとの でも型システムを信じすぎる 云々につながるけど

951 名前:デフォルトの名無しさん mailto:sage [2017/08/25(金) 20:25:21.97 ID:7uFXgRip.net]
暗黙嫌い=与党ってことだな
たとえ内容が全く同じでも、野党が批判するのと、与党の俺が批判するのは全然違うと
最近の日本語は面倒臭い

952 名前:デフォルトの名無しさん mailto:sage [2017/08/25(金) 20:45:47.36 ID:xDVMzM02.net]
>>930
もしかしてRustの型が貧弱というのに反論しているつもりなのか?

953 名前:デフォルトの名無しさん mailto:sage [2017/08/25(金) 20:56:12.07 ID:Yqz1DVXO.net]
例えば perl みたいに "123" を勝手に数値変換したり文字列として取り扱ったりってな
言語は好きじゃないって話が一方であり、
じゃあ haskell みたいに型チェックを強めにやってりゃバグありませんって態度も
どうかと思うって話だよ。

なぜ与党とか政治の話になるのか謎。。



954 名前:デフォルトの名無しさん mailto:sage [2017/08/25(金) 21:20:19.63 ID:7uFXgRip.net]
与党は比喩だな
一方、Haskellの「バグありません」って態度とか台詞とかは擬人化だろ

955 名前:デフォルトの名無しさん mailto:sage [2017/08/26(土) 08:42:33.45 ID:OYkNf4vr.net]
PerlとHaskellは両極端だが激しい対立は起きてなかったよね
対立がなかったところに中立の勢力が現れて両極端 vs. 中立の対立が発生したよね
中立の意味ないんじゃないか?

956 名前:928 mailto:sage [2017/08/26(土) 08:49:18.26 ID:Mm+y9adx.net]
HKTが無いことを念頭に入れてのレスだったんよ。RustじゃHaskellで便利なFunctorは作れない
型システムを信じすぎるって状況が自分も想像できない。他言語の話だろうか

957 名前:デフォルトの名無しさん mailto:sage [2017/08/26(土) 13:53:01.93 ID:+XRpmYj4.net]
ペェ〜ルだかプェチピィだか、あんな真性糞ゴミを中立の位置まで持ち上げて議論に引き出すのが
そもそも間違っている
あんなんジャップランドの土方SIerの低学歴奴隷どもしか使っとらんぞ

958 名前:デフォルトの名無しさん mailto:sage [2017/08/26(土) 15:13:15.69 ID:attIITNf.net]
>>938
海外でも使われてるし、土方SIerはむしろPHPなんか使ってなさそうだし色々間違ってるんだが

959 名前:デフォルトの名無しさん mailto:sage [2017/08/26(土) 15:34:56.04 ID:+XRpmYj4.net]
>>939
土方SIerにこき使われてる低学歴奴隷ども、な
おまえさんは海外でウンコが食われてたらおまえさんもウンコ食うのか
ガイジか?

960 名前:デフォルトの名無しさん mailto:sage [2017/08/26(土) 15:37:34.37 ID:yVg+x2rU.net]
自社事業やってるベンチャーをいくつか転職活動で回ったけど、
俺達の事業に最適な最高のシステムを独自に開発した!もう人間要らねえ!俺すげぇぇ!
みたいな知性を感じないオレオレ系はPHP多かったな
もちろん即辞退

961 名前: mailto:sage [2017/08/26(土) 15:42:18.00 ID:X5M1TIXy.net]
>>938
SIerの仕事は、技術ではなくて管理だからな。
不良率や稼働率を客と話し合って、SLAを結んで、それを満たすシステム作らせるべくプロジェクト立ち上げて管理して納品させて、自分らが納品するのが目的なんだし、
定義した稼働率満たしてりゃ中身がなんであれそれで良いよ。
それ以上の品質はただの過剰品質。化粧板止めるネジにチタン使うぐらいのバカ。
理想論者の技術バカは、ちょっと自分に何が求められてるのか把握してほしいわ。

962 名前:デフォルトの名無しさん mailto:sage [2017/08/26(土) 16:10:01.03 ID:+f59r+kw.net]
>>941
事業としてはそれが正解な気がしないでもない。
人間いらないならなんで募集していたのかとか気になるが。

963 名前:デフォルトの名無しさん mailto:sage [2017/08/26(土) 17:45:44.24 ID:F/lZ1rgx.net]
好き好んでSlerのPHP奴隷に成り下がる奴wwwww



964 名前:デフォルトの名無しさん mailto:sage [2017/08/26(土) 18:30:04.24 ID:mC0A2mA/.net]
>>943
最後の皮肉で噴き出したじゃないか、パブリックな場でww

965 名前:デフォルトの名無しさん mailto:sage [2017/08/26(土) 18:44:35.29 ID:+9+W3CBg.net]
test

966 名前:デフォルトの名無しさん mailto:sage [2017/08/26(土) 19:59:48.46 ID:VInW/Le9.net]
>>942
わるいが、俺は25年ぐらいしか業界経験がないから、
「過剰品質なソフトウェア」ってものを見たことがない。
品質が高すぎるが故に害があったソフトウェアの実例を教えてくれるか?

967 名前:デフォルトの名無しさん mailto:sage [2017/08/26(土) 20:06:00.46 ID:QQJs7uWk.net]
>>947
きみがかかわった「完成が遅れたプロジェクト」ぜんぶ

968 名前:デフォルトの名無しさん mailto:sage [2017/08/26(土) 20:34:24.42 ID:+XRpmYj4.net]
>>948
ウンポコピーの糞プェチピィ土方を寄せ集めたジャップランド土人さんの悪口はやめたまえ

969 名前:デフォルトの名無しさん [2017/08/26(土) 20:59:45.94 ID:UaCnfxPk.net]
いい加減にマ板でやれ

970 名前:デフォルトの名無しさん mailto:sage [2017/08/27(日) 00:13:00.86 ID:Xm4zUSYU.net]
PHPやPerlのような、終わった言語の話はもうやめようよ

971 名前:デフォルトの名無しさん mailto:sage [2017/08/27(日) 01:25:48.62 ID:gWxugQMb.net]
goだとGAE/goが使えるから。という理由でGO言語が選択されてたりするかな。

中国人がGOが好きだという話を中国人のエンジニアの人に教えてもらいました。その人の話では中国でのベンチャーはいきなり一千万人単位のユーザが生まれる場合があるから、サーバ単価が低くできるGOが好まれるとか

972 名前: mailto:sage [2017/08/27(日) 01:26:55.82 ID:0sFxQlMg.net]
>>947
俺はもう少し若輩者だけど、それでも過剰品質はあったよ。
●非常時には止めても良いシステムで、止めないでホットパッチ当てれる仕組みまで作ってた
→案の定その部分が原因でデータ不整合が起こった
●ホットなミラーリングが出来るDB使ってみました
→そもそもテンポラリDBしか使わないジョブ用のバッチ。

と言うように、害があるってのは2つの意味がある。
それを作ったせいで余計な対応が発生して余計にかかったコストを害とする
それを作らなくても良かったのに、作った事による、単純な工数の無駄遣い。

973 名前:デフォルトの名無しさん mailto:sage [2017/08/27(日) 01:38:37.46 ID:XtwdHSP9.net]
>>952
景気の良い話だな
お金稼ぎやすそうだ



974 名前:デフォルトの名無しさん mailto:sage [2017/08/27(日) 03:28:48.46 ID:Xm4zUSYU.net]
>>953
PHPで非常時には止めても良いシステムを書かせる
→通常時も落ちる

PHPでDB使ってみました
→不整合データたくさん入りました

PHPを使ったことによる損失は次元が違うから・・・

975 名前:デフォルトの名無しさん mailto:sage [2017/08/27(日) 06:45:30.70 ID:uirFB7xG.net]
PHPで求人だしてるのはそれが一番安く雇えるからだろ
品質なんて気にしないというか知らない
自分が気に入るまで文句言ってれば理想のモノが出来上がると思ってる
画面がーとか言われてもな

976 名前:デフォルトの名無しさん mailto:sage [2017/08/27(日) 07:17:55.40 ID:5p3PV0IY.net]
>>953
データ不整合が起こったというのは、品質の不足だろ?
君が言っているのは過剰品質ではなく、過剰な作業項目による品質劣化だ。

977 名前:デフォルトの名無しさん mailto:sage [2017/08/27(日) 07:39:28.90 ID:9QUPPDGG.net]
>>957
庇うわけじゃないけど
内容的に運用で失敗したって話じゃないのこれ、う?

978 名前:デフォルトの名無しさん mailto:sage [2017/08/27(日) 08:03:58.19 ID:A5vH1dU1.net]
過剰に安く買って過剰に高く売ればいいのにね
物価を固定して品質を変えようとする奴しかいないね

979 名前:デフォルトの名無しさん mailto:sage [2017/08/27(日) 09:30:18.93 ID:J8/CoBlN.net]
今時はSIerも>>959を夢見て自社資産(成果物の流用に限らず無形のノウハウも含む)を作ろうとしてるところも多く、
要件を超えることが必ずしも悪いわけではない
俺もコストの半分くらいが自社の投資でカバーされる案件やったことあるぞ
まあSIerのクソ技術じゃせいぜいテンプレート化までなんだけど

980 名前: mailto:sage [2017/08/27(日) 11:15:59.94 ID:0sFxQlMg.net]
>>955
phpを安易に使ったことによる損失とは違うが、
テレメトリを受けるだけ(取りこぼしても良い)くらいなら十分よ。
>>957
機能を足したことによる、足した部分の品質不足、だな。
メインの機能は十二分にうごいてた。
蛇足そのもの。
>>960
それは研究開発費でやらないと、案件貰わない限りノウハウがたまらない≒ノウハウがないが故に失注する、を乗り越えられんし、研究開発の大切さが上に伝わらんのではないか?
ソフト屋はみんなそうなのかな。
特許請願しにくそう。

981 名前:デフォルトの名無しさん mailto:sage [2017/08/27(日) 13:29:48.08 ID:HU59sOY6.net]
あるECサイトが情報漏えいを起こしてニュースになった。

そのECサイト PHPで調べるとだいたい ECサイト/index.php で大体ヒットする

982 名前:デフォルトの名無しさん mailto:sage [2017/08/27(日) 13:45:21.58 ID:0P4eY3kj.net]
でもphpも最近は型アノテーション効くんだよね。
phpは型がないからダメだというのはないかも。

983 名前:デフォルトの名無しさん mailto:sage [2017/08/27(日) 13:55:08.57 ID:aHc3NNic.net]
phpは良くなっても使ってるユーザの8割はコピペユーザだろ



984 名前:デフォルトの名無しさん mailto:sage [2017/08/27(日) 16:14:38.67 ID:Xm4zUSYU.net]
動的型付けだから書きやすい!生産性高い!
なんて喚いてたのに
今さらプリミティブ型の型アサーション導入で嬉ション漏らしてるなんて
ペチパーってひょっとして馬鹿なのか?
って思った

985 名前:デフォルトの名無しさん mailto:sage [2017/08/27(日) 17:30:06.18 ID:0P4eY3kj.net]
>>965
なんでステレオタイプな一つの人格にしようとしてんの?
俺はphperでもないし、動的言語がいいなんて言った覚えもない。

ただ和田さんのプレゼン、防衛的プログラミングの一環として
型アノテーションを使うことを提案されていて良いと思ったから話しただけ。

sssslide.com/speakerdeck.com/twada/php-conference-2016

986 名前:デフォルトの名無しさん mailto:sage [2017/08/27(日) 18:22:30.86 ID:Xm4zUSYU.net]
>>966
PHP使うのやめたら?ってレベルのギャグだなもはや
なんかもう必死すぎて、そこまでしてPHPにしがみつくなんて
やっぱペチパーって無能なんだなって

987 名前:デフォルトの名無しさん mailto:sage [2017/08/27(日) 18:34:38.91 ID:afYlE8K8.net]
>>966
これ会場で誰か「Java使えば?」って言ってあげろよ

988 名前:デフォルトの名無しさん [2017/08/27(日) 18:50:11.83 ID:q7bmEdLB.net]
PHPはなぜライト層が好むのか

989 名前:デフォルトの名無しさん mailto:sage [2017/08/27(日) 19:22:26.33 ID:Xm4zUSYU.net]
>>969
「PHPなら初心者でも書ける」という大嘘がまかり通ってるから
そんな連中が書いたゴミの山を保守する奴隷が足りてないから
やっぱり「PHPなら初心者でも書ける」と噂を流して
奴隷がやってくるのを待っている

990 名前:デフォルトの名無しさん mailto:sage [2017/08/27(日) 19:39:59.26 ID:0cj4lMWm.net]
暗黙にいろいろ用意してくれてるものがライト層には人気出るのはわかる。

991 名前:デフォルトの名無しさん mailto:sage [2017/08/27(日) 19:48:59.90 ID:ZA6o2PCQ.net]
ライト層が好むんじゃなくて結果的にライト層が残るんだろ
まともにコード書ける奴はゴミみたいな単価のWeb制作なんかすぐ辞めて自社事業系に行くよ

992 名前:デフォルトの名無しさん mailto:sage [2017/08/27(日) 20:47:45.53 ID:0P4eY3kj.net]
>>968
プレゼンの内容ロクに見ずに批判してるのがまるわかり。
動的言語の良さと静的言語の良さをあわせてる
動的言語はメタプログラミングし易いからフレームワークの挙動を組みやすい。
でもインターフェースがゆるゆるだと使う時にひどいから
インターフェース部分を型アノテーションで固めようってことでしょ。

javaは全部かっちりしすぎて辛い部分もある。だからkotlinとか注目されてる。
ボイラープレートだらけとかシンドいのは事実

goも若干きつくて正直goaに出会うまではgoでwebやろうってあんまり思わなかった

993 名前:デフォルトの名無しさん mailto:sage [2017/08/27(日) 21:14:56.73 ID:0uJKb2TV.net]
動的だとメタプログラミングしやすい…?
メタプログラミングって何かわかってる??



994 名前:デフォルトの名無しさん mailto:sage [2017/08/27(日) 21:42:23.55 ID:J8/CoBlN.net]
確かに、Rubyのようにコード上の静的なセマンティクスと実行時のデータ構造とが明確に分離されていない言語において
動的にメソッド生やしたりするのをメタプログラミングと呼ぶのは違和感あるよな

995 名前:デフォルトの名無しさん mailto:sage [2017/08/27(日) 21:43:30.82 ID:0P4eY3kj.net]
>>974
ダックタイピングとマジックメソッドの組み合わせによって
例えばORMとかだとDBのスキーマ情報からメソッド生やしたりできる。
そういうのはjavaとかgoだとcode genereateするしかないでしょ。

996 名前:デフォルトの名無しさん mailto:sage [2017/08/27(日) 21:51:14.06 ID:0P4eY3kj.net]
>>976
あれ?俺の考えてるメタプログラミングって違うの?
例えばジェネリクスもメタプログラミングだと思ってるんだけど

https://ja.wikipedia.org/wiki/%E3%83%A1%E3%82%BF%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0

を見る限りじゃ合ってると思うんだけど。
簡単に言えばロジックを記述するロジックを組むのがメタプログラミングだよね。

997 名前:デフォルトの名無しさん mailto:sage [2017/08/27(日) 22:12:18.75 ID:otpxcVUC.net]
>>977
ジェネリクスによるメタプログラミングは型という本来静的に決まっているものに依存しないという点でメタ
ロジックを記述するメタプログラミングとは意味が違う
動的言語ではメソッドが静的に定義されている必要は元々全くないし、
定義するメソッドもごく普通のメソッドであり決してロジックを生成しているわけではない
LISPみたいに実行するコードそのものを作ってしまうのがロジックを記述する方のメタプログラミングだ

998 名前:デフォルトの名無しさん mailto:sage [2017/08/27(日) 22:25:38.24 ID:J8/CoBlN.net]
補足
動的言語でcallをフックする系のメタプログラミングがメタである所以は、
メソッドは本来クラスに対して静的にアサインされるものである、という前提において、
メソッドを動的にアサイン(動的にロジックを記述しているわけではない)しているという点だ
その前提を認めるかどうかは議論の余地がある
例えば、さすがにJavaScriptでメソッドは静的にアサインされるものだと主張するのは無理があるだろうね

999 名前:デフォルトの名無しさん mailto:sage [2017/08/27(日) 22:26:36.34 ID:QZuIwK0r.net]
>>977
>>978

メタプログラミング関係ないけど
「ロジック」と「プログラム」という用語をどう使い分けてるの?

プログラムの中にロジックを記述した部分と
ロジック以外を記述した部分があるというニュアンスに受け取れるけど
ロジック以外の部分って具体的に何を指してるのか教えて欲しい

1000 名前:デフォルトの名無しさん mailto:sage [2017/08/27(日) 23:44:09.86 ID:0P4eY3kj.net]
>>979
難しいっすわ。
つまりjsでメタプログラミングと言ったら
jsのコードを文字列で記述してそれをevalしたものだけってこと?

学術的な定義だと言われると凄く困るんだけど、
メタ って自己言及ってことでしょ
ロジックを持ってロジックを作るという考え方全般をメタプログラミングと呼んだら
実際的に弊害があったりする?

静的言語だと例えばマクロを駆使してコード生成をかける
部分を

1001 名前:メタプログラミングと呼ぶ。

rust のprintln!とかだよね
テンプレート文字列の内容を実際に渡すパラメータの数と型の一致の確認をコンパイル時に行う。

goだとプリプロセッサがないからcode genereteがメタプログラミングなわけだ。

でも動的言語だとコンパイルはないから全て実行時に処理する。
だから明確にメタプログラミングと言える箇所はないってことか。
そこはわかったよ。

でも、実際には静的言語にはマクロがないとできないことを動的言語はできる。
だからメタプログラミングが動的言語は得意っていいたかったんだよね。
[]
[ここ壊れてます]

1002 名前:デフォルトの名無しさん mailto:sage [2017/08/27(日) 23:47:44.62 ID:0uJKb2TV.net]
C++ではマクロを使わないと実現できない最小のpythonコードをご提示ください

1003 名前:デフォルトの名無しさん mailto:sage [2017/08/28(月) 00:04:08.73 ID:bSe63dl4.net]
誰がなんと言おうと、PHPみたいな糞言語使わないし、使う必要もない
生涯を保守に捧げたい哀れな土方どもにやらせておけばいい



1004 名前:デフォルトの名無しさん mailto:sage [2017/08/28(月) 00:15:01.04 ID:hSp+oBxP.net]
やはり動的型が好きな人はありとあらゆることがゆるゆるで
それはこういった会話にも表れてしまって、全てが場当たり的なんだな
会話がこうなんだから、他のこともそうなんだろう
指摘されてから直したらよい、的な

どうしてそうなってしまうのか、非常に興味深いところであるが
おそらく現実が正しく認識できていないか、もしくは根本的なところを履き違えているだとか
そんなおかしな状態で日常を過ごしていると
思考回路がいい加減になってしまって常習化してしまうのだろう

モデルが正しくないところへ幾らインプットを流し込んでも
正しく学習できないばかりか、どんどん変になっていく
そのうち何が何やらどうでもよくなってしまうのだろう

1005 名前:デフォルトの名無しさん mailto:sage [2017/08/28(月) 01:53:37.57 ID:2qTxVo4t.net]
>>984
動的型ではなくソフトウェアが好きなんだろう
ゆるゆるという言葉を正しく認識すればわかる

1006 名前:デフォルトの名無しさん mailto:sage [2017/08/28(月) 02:23:45.93 ID:PMfiarSN.net]
動的言語のメタプログラミングのメリットもわからないとか終わってるなww

1007 名前:デフォルトの名無しさん mailto:sage [2017/08/28(月) 06:51:11.62 ID:bSe63dl4.net]
ペチプァさん・・・w

1008 名前:デフォルトの名無しさん mailto:sage [2017/08/28(月) 09:41:42.58 ID:hmoIfjPi.net]
あほくさ。
そこまで堅いのが好きならすべてワイヤロジックで組むべきだな。

1009 名前:デフォルトの名無しさん mailto:sage [2017/08/28(月) 09:48:23.03 ID:IHzBG4Iq.net]
メタプログラミングってどれがって定義とかじゃなくて相対的なものじゃないの
敢えて言えば平均的な使い方よりメタかどうかなので、言語によって変わってくるのでは

1010 名前:デフォルトの名無しさん mailto:sage [2017/08/28(月) 10:23:02.60 ID:knrf7PIh.net]
静的なメタプログラミングにはチューリング完全ではない特殊な言語を使う
コンパイル時に無限ループさせないために
言語が二つあるから完全に二極化している

1011 名前:デフォルトの名無しさん mailto:sage [2017/08/28(月) 15:51:07.02 ID:PMfiarSN.net]
メタプログラミングという概念について述べてるところに
メタプログラミングの実現方式について返すから話が噛み合わないわけだw
言語処理能力って重要だね

1012 名前:デフォルトの名無しさん mailto:sage [2017/08/28(月) 15:54:35.06 ID:hmoIfjPi.net]
まあこれ以上、メタプロとはってなこと話しても無駄だろうということで
話題の発端である「動的言語はメタプログラミングし易いからフレームワークの挙動を組みやすい。」
てなところに戻って、
動的言語でフレームワークの挙動を組みやすいかどうかを語った方が良いのでは?

1013 名前: mailto:sage [2017/08/28(月) 16:01:40.95 ID:J4nOOC8D.net]
>>966
素晴らしいスライドだな。
言語はおいといても、同じ思想で開発すべきかと。
言語仕様がそもそも、スライドの通りにしかつくれない言語のほうが良いとは思うけど。



1014 名前:デフォルトの名無しさん mailto:sage [2017/08/28(月) 16:11:48.75 ID:hSp+oBxP.net]
どちらにしても次世代言語の覇者なるものがもし出てくるとしても
動的型言語界隈から出てくるわけないので、どうでもよい
動的なメタプログラミングなど悪夢でしかなく、好まれるはずがない
静的な分、Cのマクロの方がましだ
静的型で出来なくて、動的型で出来ることの殆どは、悪手でしかない
結局人間にもわかりにくい

1015 名前:
実行速度を落としてまでサポートするほどの価値はない
[]
[ここ壊れてます]

1016 名前:デフォルトの名無しさん mailto:sage [2017/08/28(月) 16:37:43.73 ID:eoTPDlew.net]
Lispのマクロはメタプログラムに入りますか〜?

1017 名前:デフォルトの名無しさん mailto:sage [2017/08/28(月) 19:04:21.49 ID:nnMMDr4F.net]
>>984
そうじゃなくて、動的型についてのあんたの理解がゆるゆるなだけだ。
つまり、ゆるゆるなのは、あんたの頭。

1018 名前:デフォルトの名無しさん mailto:sage [2017/08/28(月) 19:06:30.14 ID:nnMMDr4F.net]
>>994
つまりあんたはOSをインストールしたら最後、プログラミングなんて一切しない人なんだね。
動的であることを拒否するということは、OS上でユーザは実行可能ファイルを一切生成することも上書きすることも許されないということだ。

IEでインターネットでもしてろw

1019 名前:デフォルトの名無しさん mailto:sage [2017/08/28(月) 19:41:37.27 ID:hSp+oBxP.net]
と、このように関係のない的外れなことを言い出す
ゆるゆるなのは誰がどう見てもお前じゃねーか

1020 名前:デフォルトの名無しさん mailto:sage [2017/08/28(月) 19:48:51.91 ID:hSp+oBxP.net]
要するには何の区別も分別もついてないということだな
じゃなきゃそんな的外れなたとえ話w
そういった混沌とした状態の頭で生活をしていから
普段から、何もかも、何が何やらで
終いには全てのことが、どうでもよくなるんだろうな
悪循環だな

1021 名前:デフォルトの名無しさん mailto:sage [2017/08/28(月) 20:26:26.83 ID:3Zs55+dM.net]
よく考えてみたらメタプログラミングってgoとかでコードを書くようになったから意識するようになった。php自体は意識しないで使ってたから。

静的言語、動的言語って分け方もよくなかったね。
静的言語だってマクロ機能があればメタプログラミングはある程度できる。
goだとreflectとか使わないとphpと同じことはできないしできたとしてもかなり苦しい。
結局言語機能が不足してるのが問題なんだよね。

TypeScriptはその点でかなり自由度が高かった
型の直和型と直積型を & と | を駆使して組み合わせられるから
かなり動的言語よりにコードを書ける。

let a :string|number|undefined;

とやるとstringの可能性とnumberの可能性とundeifnedの可能性がある型が作れる。
もちろん

if (typeof a === ‘string’) {
} else if (typeof a === ‘undefined’ ) {
} else {
// ここに来るのは絶対number型だとIDEも認識する。
}
とういう風にTypeGuardも完璧に動作する。

goはエコシステムがいいのにこういうのが充実してないからかなり苦しむことになる。
だからメタプログラミングは弱いって思ったんだけど
静的言語だから弱いって言うべきではなかったな。

1022 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 76日 11時間 32分 19秒

1023 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています








[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<272KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef