- 1 名前:デフォルトの名無しさん mailto:sage [2017/04/20(木) 04:43:27.12 ID:mNwXvrXv.net]
- いざ、語ろうぞ。
スレタイ超過のため、一部省略。 Go, Erlang, Kotlin, etcもウェルカム。 Haskellは協議により次世代失格になりました 前スレ 次世代言語議論スレ[Go Rust Haskell Scala]第3世代 echo.2ch.net/test/read.cgi/tech/1488608741/
- 199 名前:デフォルトの名無しさん [2017/05/04(木) 10:09:01.14 ID:g5LPBSe2.net]
- >>186
C方式に慣らされてるからそう感じるだけであって あれはパースしづらいクソ構文だよ struct S s; を捨てたのは何でだろうと問うべきだよ
- 200 名前:デフォルトの名無しさん [2017/05/04(木) 10:44:22.27 ID:IvFxbTrW.net]
- そもそも静的型が悪いと思えば単純明快だな
静的型は悪くない、だがジェネリクスは不要、ただし Array<T> 等はこっそり入れておく こんな状態で統一感(笑)を期待する方がおかしい
- 201 名前:あ mailto:sage [2017/05/04(木) 11:53:43.54 ID:iOTKQL/7.net]
- >>200
思いっきりGoだな。 まぁ、Goに統一感なんか無いし、期待してはいかんw あれは誰でもかける便利な言語だよ。 一切の原理原則以外を排除する崇高な思想で作られた芸術品ではなくて、 「その辺にある便利そうなものを誤謬矛盾なく突っ込めるようにそれなりにルール作りました。 とりあえずこのルール破ると突っ込めなくなるからやめてね。コンパイルさせないよ。」 という、実用のためのルールが細かいのがGoだよ。 電動ドリルのチャックとビットの規格みたいなもん。 「対称性がなくなるからこのメソッドを実装する」という発想ではない。
- 202 名前:デフォルトの名無しさん [2017/05/04(木) 12:29:38.64 ID:IvFxbTrW.net]
- 原理原則というのは崇高な思想じゃなくて無駄な仕様変更の防止という実用の技術だ
- 203 名前:デフォルトの名無しさん mailto:sage [2017/05/04(木) 12:53:07.54 ID:g5LPBSe2.net]
- なんだ PHP だったのか
- 204 名前:あ mailto:sage [2017/05/04(木) 13:45:55.83 ID:iOTKQL/7.net]
- >>202
口実やね。 専用品と汎用品なら、圧倒的に前者の方か仕様変更の回数は少ない。 無理に延命したり使いましたりしたいからこそ、よくわからん仕様変更するハメになる。 無駄な仕様変更なら、最初からしなけりゃいいんだよ。 無駄なんでしょ。 使い捨てを使い捨てと認識する事こそがスタート地点。 歯が折れたら取り替えたいし、違う歯を使いたいからチャックがあるんだから。 歯の代わりにバフ付けることも出来るけど、それに対して仕様変更なんか要らないでしょ。バフを新規に作るだけじゃん。 置換原則出してきて証明する必要も無い。 >>203 そうだ、と言う認識だなぁ、俺は。 PHPも同じ理由で、いろんな意味でとても潔い言語だと思うよ。
- 205 名前:デフォルトの名無しさん mailto:sage [2017/05/04(木) 15:09:17.79 ID:TpHQvZsj.net]
- 言語設計とドリルチャックを一緒くたとか…完全に呆れた
- 206 名前:あ mailto:sage [2017/05/04(木) 17:00:05.42 ID:iOTKQL/7.net]
- 呆れるなら簡単だからな。
どう違うかをきっちり教えて欲しいわ。 本当に勉強になったら素直に勉強になったと言うことにしてるし、実際何度もそうレスしてるよ。 言語なんて外から見たときに一意に呼び出し規約や入出力が決まってりゃそれでいいんだよ。 これでも素晴らしい言語とやらを5個10個と多数見てから言ってるんだけどな。 それ以上の、実用性以上の思想の旗を振りたいなら、何故その思想が必要か語ってほしい。
- 207 名前:あ mailto:sage [2017/05/04(木) 17:07:42.27 ID:iOTKQL/7.net]
- しかし、式に型をつける構文が後置だから出来るのは本当なのかな。
キャストの前置や後置と何か違うのかなぁ。 って考えたら「宣言文 名前 型」の方が遥かに簡単にパースできるなって思わんのかな。 式に型をつけるってのも、コンパイラに教える意味での型か、キャストの型か2つの意味あるけど、どっちの事かな。 疑問。
- 208 名前:デフォルトの名無しさん [2017/05/04(木) 21:21:01.22 ID:IvFxbTrW.net]
- >>204
多分それは使い捨てではなく交換 これを捨てる代わりにあれが欲しい 見返りがあれば捨てるが無条件に捨てられそうになったら使い捨てに反対するだろう
- 209 名前:デフォルトの名無しさん mailto:sage [2017/05/04(木) 22:18:26.60 ID:L3vkrSi7.net]
- むしろ変な原理原則に縛られてる方が糞仕様の増加を招くのだが。
haskell みたいにな。
- 210 名前:デフォルトの名無しさん [2017/05/04(木) 22:34:29.63 ID:IvFxbTrW.net]
- 確かに、関数型とかいう変な原理でHaskellを理解しようとしてるならやめた方がいい
静的型の原理だけで理解できるから
- 211 名前:あ mailto:sage [2017/05/04(木) 22:35:23.26 ID:iOTKQL/7.net]
- >>208
「交換できる、交換出来ない」と「使い捨てである、改良を加えて連用する」は同時にどの組み合わせも成り立つのでは? これを捨てる代わりに、これと同じ機能プラスαの新ライブラリを作る、みたいな話で、 完全に前方後方互換の代替品であるかもしれないし、そうではないものかもしれない。 そういう意味では、無条件に捨てる事ができるってのは立派な見返りだよ。
- 212 名前:デフォルトの名無しさん mailto:sage [2017/05/04(木) 22:36:44.00 ID:hGwzsYkf.net]
- 良いんだよ。
Haskellは美しさが売りなんだから。 むしろ美しさを保ったまま、どこまで実用的なの作れるかが楽しいんだよ。 そう言う意味じゃsmalltalkと同じ、純粋xx言語でxxの真髄理解するなら〜って言語であって、次世代言語じゃあない。
- 213 名前:あ mailto:sage [2017/05/04(木) 22:36:44.02 ID:iOTKQL/7.net]
- >>210
ならPrologの方が賢いし、Scalaの方がまともだし、Lispの方が最低限の原理から出来てるから、Haskellは要らない子だな。
- 214 名前:あ mailto:sage [2017/05/04(木) 22:39:24.44 ID:iOTKQL/7.net]
- >>212
それそれ。エスペラント語とかロジバンみたいなもん。 実用的ではないけど面白いのは認める。
- 215 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 01:26:49.15 ID:xfO5LNpr.net]
- Haskellは代数的データ型が便利
何気にあのレベルに便利な型システム他に見ない
- 216 名前:あ mailto:sage [2017/05/05(金) 03:41:35.36 ID:05XvGSte.net]
- >>215
OCamlの方がシンプルかな。 Haxeの方が記法はきれい。 Kotlinはいささか冗長で使い物になるのかな?みたいな羊感出てるけど、when使うときに逆に便利になる。
- 217 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 05:49:16.66 ID:IB1/E975.net]
- SmalltalkとHaskellは使ってみるとゴミと分かる二大巨頭
信者が煩いとこもソックリ
- 218 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 07:09:34.37 ID:+77JIYq6.net]
- >>217
アンチがウザいのもそっくりだよね
- 219 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 07:18:58.13 ID:IB1/E975.net]
- >>218
どっちの信者?
- 220 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 07:39:38.28 ID:dc5WkLcd.net]
- >>217
アンチが無知なのもそっくりだよね
- 221 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 08:48:03.35 ID:2f8pCQ29.net]
- IntelliJとかのマトモなIDEを使った後に
Smalltalkの時代遅れのIDEモドキ?を使ってみると、 終わった言語の進化に取り残されてる感がよく分かるし こんな出来損ないを使うの強制されるSmalltalkerって哀れだなーって優しい気持ちになれるよ
- 222 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 09:20:19.67 ID:7NmAzLlS.net]
- >>221
言語としてはどこらへんがゴミなの?
- 223 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 09:39:59.96 ID:2f8pCQ29.net]
- >>222
動的型言語の中ではぶっちぎりで冗長なコードになるところ
- 224 名前:デフォルトの名無しさん [2017/05/05(金) 09:54:56.24 ID:WrAdTxbV.net]
- 文字列クラスを改変したら元に戻せないという話はSmalltalkにも当てはまるのかな
文字列クラスクラスがあれば壊れたクラスを使い捨てて新品のクラスに交換できるのに
- 225 名前:デフォルトの名無しさん [2017/05/05(金) 10:13:52.40 ID:b5hiFaeg.net]
- >>224
クラスが壊れるという事自体が糞めんどくさい
- 226 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 13:00:01.57 ID:tVaTXT91.net]
- Smalltalkっていうか遅延結合の徹底ってスタイルは人類には早すぎたんだな
- 227 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 16:27:38.21 ID:lho11o7a.net]
- RESTful API等でサービス間を遅延結合するのは流行ってるしメリットがあるけど
ひとつのプロセス内で遅延結合しても意味が無い アホは適切な抽象化レベルってものが分からないから やりすぎてナンセンスになっちゃうんだよね Smalltalkはアホがナンセンスなデザインした結果死ぬべくして死んだ言語
- 228 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 17:23:18.30 ID:9atsKcF/.net]
- Haskellは遅延評価が本当に苦痛すぎる
あの辛さはやってみるまで想像もつかなかった
- 229 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 17:51:23.35 ID:tVaTXT91.net]
- Smalltalkにおいて「遅延結合の徹底」に期待されるのは通常の言語で想定されるそれとは違って
システム構築中に得られた新たな知見を、既に構築済みだったり運用中の部分へ適用できたり オブジェクトとそのストアを長期にわたって運用し続けるために細胞の新陳代謝を模した試みだから metatoys.org/oxymoron/oxymoron.html '70年代からほんの数回の再起動で動き続けている同システムは狙いとしては成功しているんだよね
- 230 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 17:51:28.56 ID:RNJ7gaAH.net]
- 無限リスト扱えるし便利でもあり、バグ取りで厄介でもあるね。
RWHにその辺の解決策載ってるから手元に置いとくと良い。
- 231 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 17:51:33.32 ID:xTb1W+Ca.net]
- 馬鹿は抽象化することがなんでもえらいと思ってるからね。。
- 232 名前:あ mailto:sage [2017/05/05(金) 19:50:22.56 ID:05XvGSte.net]
- >>227
意味無いとは言わんがなぁ。 プロセス内でもプロトコル決めてやっとくと、あとでスケールするとか、 固まりへのインアウトが自ずと決まるから可換だと言いやすいとは思う。 やりすぎると自分の重さで死ぬだけで。
- 233 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 20:29:10.87 ID:RNJ7gaAH.net]
- FacebookでHaskell採用されたね。
- 234 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 20:49:47.45 ID:JET5JsI8.net]
- >>216
Haskellと比べてOCamlがシンプルって SMLと勘違いしてない?
- 235 名前:あ mailto:sage [2017/05/05(金) 20:51:14.85 ID:05XvGSte.net]
- >>234
してないよw シンプルってのは字数が少ないって意味じゃないぞ。
- 236 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 21:21:35.63 ID:JET5JsI8.net]
- >>235
そんなら勘違いしてるね
- 237 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 21:31:07.05 ID:n4hNDFR+.net]
- 全然関係ないけど、字数が少ないコードって一目で取れる情報が多くて読みやすくて好きだわ
- 238 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 21:42:23.21 ID:RNJ7gaAH.net]
- >>231
時代によって変わる程度問題だけどね。 C++だって、昔はクラスってなんだよ。Cより遅くなるじゃねーかって言われてたらしい。 昔よりも抽象度の高さが問題になる場面は少ない。
- 239 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 22:47:31.33 ID:PGBNZ8Aw.net]
- いつの間にかHaskellがスレタイから抜けててワロた。
- 240 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 23:29:21.86 ID:RNJ7gaAH.net]
- 取り敢えず拡張性比べるんならプログラム組むべ。
まずはファイル名とキーワードを受け取って、ファイルの中にキーワードがあったらTrue。無かったらFalseと表示するコマンド。 プログラミング自体から離れてだいぶ経ったので、錆びた頭だったがHaskellでどうにか書いてみた。 search部分を拡張してくから、各自searchは自前で書いてくれ。 import System.Environment search _ [] = False search s ns | take (length s) ns == s = True search s (_:ns) = search s ns main = do arga <- getArgs content <- readFile $ args!!0 print $ search (args!!1) content
- 241 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 23:31:16.17 ID:tVaTXT91.net]
- 前スレのドアのお題をPharo Smalltalkでも書いてみた
ws.stfx.eu/JD8JH4XF3I3U Go版ももう少しマシな感じにしてみた ideone.com/aFqKsd
- 242 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 23:36:43.64 ID:RNJ7gaAH.net]
- だから、使い所不明なクラス書いてどうしろと。
プログラム組みたいのであってクラス作りたいんじゃ無いんだぞ?
- 243 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 23:59:41.96 ID:tVaTXT91.net]
- >>242
いや別に>>240へのレスというわけではないのだが… これでいいか?(Squeak Smalltalk、もしくはPharo) | search | search := [:fname :keywd | FileStream oldFileNamed: fname do: [:file | (file findString: keywd) > 0 ] ]. search value: 'test.txt' value: 'something' "=> true " ws.stfx.eu/1UQT4K8GSVHU
- 244 名前:デフォルトの名無しさん [2017/05/06(土) 00:04:14.20 ID:nikLe03p.net]
- >>240
それだとコンパイル通らないよ import System.Environment (getArgs) import System.IO (readFile) import Data.List (isInfixOf) search :: String -> String -> Bool search = isInfixOf main :: IO () main = do (word:file:_) <- getArgs putStrLn . show =<< search word <$> readFile file
- 245 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 00:23:53.40 ID:9tv813Aq.net]
- え。。。
通ったけど。。。
- 246 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 00:29:01.13 ID:gXvlLccW.net]
- うん、普通のデータ処理の比較は面白そうだ。
- 247 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 00:29:23.53 ID:9tv813Aq.net]
- >>243
おk。 強いて言えば、この後拡張する時、どこまで今のコードから書き換えないで済ませられるかが仕様変更に強い基準になると思う。
- 248 名前:デフォルトの名無しさん [2017/05/06(土) 00:33:03.34 ID:nikLe03p.net]
- >>245
そのままじゃ通らなかった けどごめんね、詳しく見てなかったけど駄目だったのはタイポだけだったみたいだね
- 249 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 00:35:03.84 ID:9tv813Aq.net]
- あ、argsをargaってタイポしてた。。。
LinuxにHaskell入れたばかりなのでPCで実行確認してiPhoneで書き込んでるんで、コピペでコンパイル出来ない時はどこかタイポあると思う。
- 250 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 00:50:29.93 ID:9tv813Aq.net]
- 次世代言語勢に参戦して貰わんとだから、第二形態は明日の夜発表って感じで良いかな。
一応、第三形態までの予定。 明後日から夜勤なんで、第三形態どうすっかな。
- 251 名前:あ mailto:sage [2017/05/06(土) 02:06:36.33 ID:BE072L/9.net]
- >>236
そうなのかなぁ。 例えばそれぞれのどんな例からシンプルさがわかる? 後学のため教えて欲しい
- 252 名前:あ mailto:sage [2017/05/06(土) 02:11:17.59 ID:BE072L/9.net]
- >>241
Go版、マシどころか疎にしておいたところ密にされてしまったな。 ノブのないドア、ノブはあるけどラッチのないドア 実現する術がなくなったね。 With Withなんて気色悪い無理に継承関係を作ったような型作るくらいならもう継承とか全部捨てたほうがマシ。 もうちょっと真面目にやって。
- 253 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 03:50:07.06 ID:oP2bFz9u.net]
- Kotlinになれるためにアプリを作ってるんだけど、久しぶりにc++触るとセミコロンがうっとおしくなるね
参照、ポインタ、値を自由に扱えてかつ新しい言語の特徴を捉えてるような言語が出てほしい
- 254 名前:デフォルトの名無しさん [2017/05/06(土) 06:35:37.73 ID:7HgaeBZn.net]
- 勝手にHaskellをスレタイから省くな。
- 255 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 07:19:08.10 ID:gBi5/Vqg.net]
- >>252
前スレの埋め込みを使った再帰型の試みとして、主要なメソッドを再定義しなければならない版より「マシ」と言ったまでで 君のチャンネル版よりマシという意味ではない それは他言語版と同じ設計で比較しやすくしたって程度だから気にしないで
- 256 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 07:23:37.59 ID:gXvlLccW.net]
- 各自、次世代言語に求めるものが違うのだろうけど、
気を悪くしないで欲しいがHaskell外してKotlinは個人的にはないかな。 敢えて外すなら次世代感満載のAgdaを入れて欲しい。 が、呼び水としての趣旨からしたらHaskellを敢えて外す理由が分からない、個人的な怨嗟?
- 257 名前:デフォルトの名無しさん [2017/05/06(土) 08:00:28.21 ID:Yu22orOs.net]
- 実用性が乏しすぎるので次世代にふさわしくないとの事
あと前スレでまともなコードを掲示しなかったので、そもそもHaskellerが居ない事が分かった
- 258 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 08:15:37.40 ID:JdaZnrFf.net]
- >>256
Javaより古いHaskellを次世代言語に混ぜた初代スレの>>1がどうかしている。 初代スレはHaskellの美しさを語るエアプログラマーが多かったが 次世代言語の実用性を語るスレに変わってよかったと思うよ。
- 259 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 08:35:08.14 ID:9tv813Aq.net]
- Haskell推しだが、次世代取れるほどライブラリ充実してないし、速くもないからsmalltalk的な立ち位置だと思ってる。
次世代じゃ無いけど、学ぶべき価値ある言語。
- 260 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 08:41:48.81 ID:gBi5/Vqg.net]
- >>255
参考まで、ほぼ同じ設計にした場合の Ruby版 ideone.com/7VnOfe Python版 ideone.com/UngSO8 Scala版 scastie.org/30851 Swift版 swift.sandbox.bluemix.net/#/repl/59032b64ebfba02b8d274320
- 261 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 08:43:22.81 ID:9tv813Aq.net]
- >>257
Mix-inとか言われては書けなかったね。 普通のクラス代りなら何とかなったが。 そもそも目的のプログラム作るアプローチとして関数かクラスかなのに、クラス作れは問題としてオブジェクト指向に有利過ぎ。 実際に動くプログラムで拡張勝負のが公平っしょ。 だから>>240提案した。
- 262 名前:あ mailto:sage [2017/05/06(土) 08:50:48.08 ID:BE072L/9.net]
- >>255
なるほど。申し訳ない絡み方したな。 smalltalkでもパッシングに徹すればひたすらコーディング量はあるけど割りと文句無いのできそう。 >>256 Kotlinなしなの?使いやすいのに。実用性あるから?
- 263 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 08:56:13.51 ID:VviFbgmi.net]
- 各言語、得意分野あるからな。
証明付きでプログラム書けとかなったら、Coqなどの証明支援系の独壇場で、 他言語の入り込む余地がないように思われるが如何?
- 264 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 08:58:57.84 ID:ye19IDAy.net]
- Bertrand MeyerがEiffelを大事そうに抱えながら>>263を睨んでいるぞ。
- 265 名前:デフォルトの名無しさん [2017/05/06(土) 09:31:45.79 ID:nikLe03p.net]
- 自分もRubyやGroovy使ってたせいかもしれないが
Kotlinは言語としては悪くないけど次世代感は感じない golangぐらい簡素な仕様にしてくれればまた違ったとは思うけどJVM言語だしなあ
- 266 名前:デフォルトの名無しさん [2017/05/06(土) 10:21:48.72 ID:BwUsBv8i.net]
- 言語が次世代でありさえすればライブラリはJVMでもなんでもいいぞ
ライブラリ関係ないなら、ライブラリがない言語でも参加しやすい
- 267 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 10:22:29.07 ID:ubF1nelW.net]
- >>262
> smalltalkでもパッシングに徹すればひたすらコーディング量はあるけど割りと文句無いのできそう 具体的にはどこらへんにその「量」を感じた? ドアの振る舞いを記述してるコード自体はGoで書くよりずっと簡潔でステップ数も少ないはずだけど 念のため補足すると件のSmalltalk版では、通常はGUIやIDE任せにするクラスやメソッドの定義 (ちなみにGNU Smalltalkなどを除き、IDE前提のSmalltalkにはクラスやメソッド定義の構文が無い) をあえてクラスへのメッセージングでやっているのでそのぶん冗長にみえるかもしれないけど
- 268 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 12:29:53.45 ID:64kzmcng.net]
- 何でSmalltalkerさんは劣った設計で比較する事に拘ってんの?
Goが得意な技法はダメ、Smalltalkで書きやすい技法だけ使って書くっていう縛りでもあるの?
- 269 名前:デフォルトの名無しさん [2017/05/06(土) 12:43:22.47 ID:xfCUj8G0.net]
- >>259
同意
- 270 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 12:46:26.00 ID:ye19IDAy.net]
- >>268
どうしてそういう発想になるのか全く不明。 人間の言葉でしゃべって。 >>267 を補足すると、 compile:とかがやたら続いているコードブロックがクラスやトレイトの定義に相当する部分で、 それ以外がドアやストッパーを操作するサンプルコードな。
- 271 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 12:52:37.52 ID:ubF1nelW.net]
- >>268
いや別に拘ってないですよ そもそも誤解があるようなので断わっておくとGoを貶めるつもりは全然なくて Smalltalkに難癖を付けてるID:BE072L/9が前スレからGoが詳しそうなんで その方がわかりやすかろうとGoを引き合いに出したまでです Goの得意な技法を駆使した優れた設計ってどんなのですか?ぜひ教えてください 今のところ埋め込みスタイル以外で出ているのだとこういうのでしょうか?→ideone.com/yvttId このお題自体では設計を工夫しにくいと言うことであれば、新たにGoに有利なお題をご提供いただければと
- 272 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 12:58:55.97 ID:ubF1nelW.net]
- >>268
あと、 > Smalltalkで書きやすい技法だけ使って書くっていう縛り とのご指摘ですが、少なくとも Ruby、Python、Scala、Swift では Go よりすんなり書けています>>260 から 旧世代言語で書きやすい…ならともかく、Smalltalkで書きやすい技法だけって縛りにはならないですよね?
- 273 名前:デフォルトの名無しさん [2017/05/06(土) 13:05:23.06 ID:BwUsBv8i.net]
- 愚問という便利な言葉がある
答える側には間違えるリスクがあるのに問う側を無リスクで無謬とするのは不公平
- 274 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 13:51:25.64 ID:dM6SBXFL.net]
- その言語特有の機能で書いた方が優劣分かりやすくね?
- 275 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 14:24:42.57 ID:wNWjHlrM.net]
- >Goの得意な技法を駆使した優れた設計
chan と select 使ったサーバープログラムなんでねーの。 ああいうふうにチャンネルに放り込んだものを適当に一列に並べてくれるのはかなり楽。
- 276 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 15:30:08.75 ID:TldMS9JZ.net]
- ここまで次世代言語から>>240のコードが出てない件。
単純な力押し検索だから、難しいアルゴリズムでも無いんだが。。。 おいらも頭悪いんよ。 >>244の書き方でargs書き換えと、nsをcontentから取ってcsへ変更。sも折角だからwordから取ってwへ。 import System.Environment search _ [] = False search w cs | take (length w) cs == w = True search w (_:cs) = search w cs main = do (file:word:_) <- getArgs content <- readFile file print $ search word content
- 277 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 15:43:50.78 ID:TldMS9JZ.net]
- 仕様変更への耐性だから、基準となる第一形態のコードの長さは問わない。
どんな変更があるか事前準備したクラスがあってもおk。 第三形態までの変更箇所の少なさが言語の優劣とする。
- 278 名前:あ mailto:sage [2017/05/06(土) 16:40:50.57 ID:BE072L/9.net]
- 意見≒難癖とは生きづらいな
- 279 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 18:13:57.91 ID:ye19IDAy.net]
- 事実に基づかない悪評価は難癖だわな
- 280 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 20:12:56.46 ID:XqR1goBE.net]
- エンジニアガイジのGo版ってあのなぜか最初から並列化を意識して書かれてたやつだっけ?
- 281 名前:あ mailto:sage [2017/05/06(土) 23:05:01.66 ID:BE072L/9.net]
- >>279
主観としての悪評価と客観としての悪評価を混同すんなよ…。 採点してる訳じゃないんだから。そこまで傲慢でも無いよ。 俺Rubyボロクソに言ってるけど、主観としてだよ。 >>280 並列化を意識してるんじゃないよ。 コンポーネントとして存在し得るかを考えただけ。 ノブがノブだけで存在できないなんておかしいじゃん。何にも繋がってない地面に転がったノブさえ定義できないのに、突然ドアについてる突起をノブだと言うくらい不自然じゃないの? オブジェクト指向ってなんなの? 地面に転がってるのも、ドアについててもノブであって、ノブとしての役割を果たしているか否かでしかないのでは? 確かにそのノブがノブとして成立するのはドアについたときだろうけど、それ以前からそいつ自身の存在が変わったわけじゃないじゃん。
- 282 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 23:09:30.32 ID:bKqO2+sL.net]
- >>281
んー。クローザーついてないドアにもスレッド使ってなかったっけ?
- 283 名前:あ mailto:sage [2017/05/06(土) 23:16:33.79 ID:BE072L/9.net]
- >>282
スレッドと言うかまあマイクロスレッド使ってるけど。 キューイングしてる所で同期をGoにやってもらった形に近い。 イベントやらメッセージパッシングと変わらんつもりだけど、キュー抜いて中もgoroutineなのは確かに悪手は悪手か。 それは確かにそうだな。
- 284 名前:デフォルトの名無しさん [2017/05/07(日) 02:09:25.68 ID:bNWzpChq.net]
- まだHaskell信者が暴れてるのか
ラッチの開閉すら実装出来ないと前スレで判明してのによく再登場出来るな
- 285 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 02:38:17.71 ID:zdh+Rbcj.net]
- いやあの問題が糞だと思ったHaskellerが問題出してる流れじゃないの?
- 286 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 02:59:03.65 ID:JOXD31Or.net]
- >>284
実装はできてたでしょ?
- 287 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 04:54:40.21 ID:ehHyxLGM.net]
- 久しぶりに覗いてみたけど、お前らまだやってたの?
良く飽きないな
- 288 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 08:02:58.35 ID:M/7nygcc.net]
- Smalltalkerはお題で使って良い言語機能に縛りを入れようとするからクソ
- 289 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 08:26:48.70 ID:HF1KyfYe.net]
- まぁここであーだこーだ言ったところで、大手の採用が多くなった言語が次世代扱いになるだけだからな
主に決めるのは外人だ
- 290 名前:デフォルトの名無しさん [2017/05/07(日) 09:55:32.27 ID:6O1o1Sih.net]
- >>289
まるでトクホや世界遺産に採用されるみたいな 官僚主義だな
- 291 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 10:05:54.32 ID:4Tfm86M3.net]
- >>281
主観で悪評価しているなら、それこそ難癖以外の要素ゼロじゃないか。
- 292 名前:デフォルトの名無しさん [2017/05/07(日) 10:48:31.07 ID:6O1o1Sih.net]
- 嘘ニュースを野放しにして個人の感想を問題視するのは本末転倒
- 293 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 10:56:51.74 ID:U5ljnRqU.net]
- Haskell 難しすぎて叩きたくなるのもわかる。
- 294 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 11:24:25.93 ID:PZmLVVS1.net]
- ほんと難しいよ
物を作る道具としては失格だな
- 295 名前:デフォルトの名無しさん [2017/05/07(日) 11:25:56.17 ID:6O1o1Sih.net]
- 静的型が難しすぎて失格なんだよ
叩きたいことと叩くべきことが一致してない
- 296 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 11:29:53.16 ID:Kq+qtoGk.net]
- microsoft word の動作が難しいって意味での難しさだわな。
無意味なむずかしさだわ。
- 297 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 11:56:43.37 ID:uANj4DVJ.net]
- 性的型が難しいって。。。
自分で正しくプログラム組めてませんって言ってるようなもんじゃん。。。
- 298 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 12:01:01.50 ID:uANj4DVJ.net]
- 溜まってんのかな。。。
x性的型が o静的型が
- 299 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 14:33:06.42 ID:2RFcNsFZ.net]
- お前らのゆう次世代言語って、キャットドア問題を解けるのか?
|

|