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


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

次世代言語15 Go Rust Swift Kotlin TypeScript



1 名前:デフォルトの名無しさん [2018/11/04(日) 20:30:10.42 ID:OF8fjEC1.net]
スレタイ以外の言語もok

前スレ
次世代言語14 Elixir Crystal Julia Rust Swift
https://itest.5ch.net/mevius/test/read.cgi/tech/1536668904

562 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 16:18:49.96 ID:Nexfdc7v.net]
しょせんパフォーマンスでない言語

563 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 16:34:58.29 ID:RF+VrP1U.net]
esにもクラスはなくても良かったけどデコレータは早く来てほしいね
デコレータ風に組めなくもないけど面倒だしな

564 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 18:01:12.81 ID:ZhSBqocX.net]
tsはjsの呪縛でガンガンに縛られてるから全然いい言語に見えない

共有型からの流れのせいでコードに無駄な型判定が入ってて全然スマートじゃない

565 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 19:00:10.91 ID: ]
[ここ壊れてます]

566 名前:3s1WkY0F.net mailto: >共有型からの流れのせいでコードに無駄な型判定が入ってて全然スマートじゃない

ちょっとピンとこないけど具体的にはどういう記述?
[]
[ここ壊れてます]

567 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 19:23:03.00 ID:YsBQPuQx.net]
js.studio-kingdom.com/typescript/handbook/advanced_types

型判定のifなどが邪魔すぎる
こういうのを見てスマートだと感じるなら毒されている

568 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 19:32:49.50 ID:3s1WkY0F.net]
それは無駄な判定とは思わないが、どう記述出来たらスマートだと言うんだろう。
パターンマッチとか?

569 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 19:37:55.56 ID:503powVA.net]
無駄っつーかanyって言ってるのに実際は2つの型しか認めないのは無責任やな

570 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 19:44:07.97 ID:LeGi1F7Y.net]
>>558
直和型をパターンマッチで処理切り分けるのは、関数型言語からの流れで最近の流行りだと思うんだけどね
if 文で書くのはダサいな

>>560
any がダメだから string | number と書くというのが共用体型じゃないの?おれもtsはよく知らないんだけど

パターンマッチで切り分けて、すべての可能性を記述してない場合にはエラーにしてほしいね



571 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 20:34:17.47 ID:3s1WkY0F.net]
まぁパターンマッチ構文で多少記述がシンプルになるならそれもいいけど、逆に専用の構文に頼らずに
ifやswitchを使っても同等のことができているというのがいいところだと思うがなぁ。
シンタックスシュガーとして入れるなら後からでもできるんじゃね?

>パターンマッチで切り分けて、すべての可能性を記述してない場合にはエラーにしてほしいね

それをエラーにするような記述は今でもできる。パターンマッチなんてなくても。

572 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 21:15:12.88 ID:YouWSmuh.net]
>>562
そんなのなくない?
String | Date | Number
だったとして、StringとNumberの処理しか書いてなくってそれがエラーにはならんやろ

やっぱScala最強やね
コンパイル速度ゴミで死んでしまったが

573 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 21:22:23.00 ID:dT6Xb8jy.net]
>>563
TypeScriptは Discriminated Union 使えるよ
メンバのリテラル値によって型をマッチさせるという中々面白い仕様

574 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 21:32:02.61 ID:503powVA.net]
sbt言うほど遅いか?
Scala2.13でまたちょっと速くなるみたいだし
それにScala3まであと一年と考えるとScala最強説が蘇る可能性もあるで

575 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 21:42:20.21 ID:hMqcesBf.net]
scala死んだ理由どう考えてもバージョン上がる度にコンパイル通らなくなる互換性のなさだろ
3なんかにしたら爆死以外見えない

576 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 22:02:19.88 ID:LeGi1F7Y.net]
>>564
ここら辺見て ts 勉強させてもらったよ https://qiita.com/kobanyan/items/ca56df27de50ec267995
Discriminated Union はすべての可能性を記述してない場合にエラーとするための仕組みになってないだろ
その下に書いてある Exhaustiveness checking っていうのが求めてるものだ

でも、
--strictNullChecks つけて戻り値の型のでチェックするのはswitchの下にreturn 文書いちゃったらスリ抜けちゃわない?
default: return assertNever(s) を記述することでチェックするのは、その記述が無くてもエラーにしてほしいんだけど?

577 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 22:17:38.55 ID:3s1WkY0F.net]
>default: return assertNever(s) を記述することでチェックするのは、その記述が無くてもエラーにしてほしいんだけど?

どのパターンにもマッチしない場合に何もしないという場合はあるわけだから、エラーにするのか
しないのかを示さなきゃならないのは仕方ないだろう。
strictNullChecks付けるのを忘れるからデフォルトでonにしてほしいとか言ってるようなもん。

578 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 22:46:49.41 ID:LeGi1F7Y.net]
>>568
case 文で全パターンを網羅できない場合には default 必須にして欲しい
どのパターンにもマッチしない場合に何もしないときは、その default の処理を空っぽにする
これを強制したい

579 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 22:52:15.99 ID:3s1WkY0F.net]
それはlintでやればいい。

580 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 23:24:23.33 ID:LeGi1F7Y.net]
みんなが Lint かけてくれるわけじゃないので、コンパイル時チェックが望ましい
特に新しい言語作るのならばそうすべき



581 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 23:25:57.15 ID:LeGi1F7Y.net]
あと、>>564は、言語の機能と、コーディングパターンの区別がついてないよね?

582 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 23:29:21.26 ID:dT6Xb8jy.net]
>>572
言語の機能として公式ドキュメントに記載されてるんだよ
https://www.typescriptlang.org/docs/handbook/advanced-types.html

583 名前:デフォルトの名無しさん mailto:sage [2019/03/24(日) 23:54:07.40 ID:LeGi1F7Y.net]
>>573
Discriminated Union とか Exhaustiveness checking は、言語機能じゃなくて
いくつかの言語機能を組み合わせて実現可能なコーディングパターンの解説をしているように見えるよ?
そのドキュメントが Specification じゃなくて Hand book だし

584 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 00:04:21.99 ID:8zmAEr9n.net]
>>571
そういう腐った現場で強制してもコンパイル通すためだけのくそハックが横行するだけ。
事態をもっとややこしくする。

585 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 00:28:45.64 ID:PAua+1O7.net]
>>575
コンパイル通すためのハックしてることがコード見ただけで分かるのが重要

586 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 07:59:56.31 ID:W4SpLKRa.net]
>>571

lintすら不要と思っている人が>>561のようなチェックをしたいと思うシチュエーションが考えにくいが。
PLがメンバーに強制するならlintごと使わせればいいわけだしな。

587 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 09:18:04.90 ID:WuArxINc.net]
次世代言語を名乗るなら網羅性がチェックされたパターンマッチ構文は必須でしょ
TypeScriptのswitch文がJSからのしがらみで前時代的なのは仕方ない

588 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 13:08:18.82 ID:K4z2YXqu.net]
マイクロソフトの「TypeScript」など上昇--RedMonkプログラミング言語ランキング
Liam Tung (Special to ZDNet.com) 翻訳校正: 編集部 2019年03月25日 12時26分
https://japan.zdnet.com/article/35134639/

 Microsoftのプログラミング言語「TypeScipt」の人気が上昇しており、Appleの
「Swift」に続く順位についた。(中略)

 TypeScriptは2018年8月に発表された前回の調査から4つ順位を上げた。JavaScriptは
首位となっている。TypeScriptの最新の順位は、RedMonkが「これまでで最も成長の速い
プログラミング言語」とするSwiftの1つ下だ。

 RedMonkのStephen O'Grady氏は、「TypeScriptは確かにJavaScriptと近いことや、オプ
ションの静的型チェックなどの安全性を実現する機能からメリットを得ている。だが、機能
だけではこのペースで大きく前進できない。成長中の幅広いプロジェクトに活用されて
いるはずであり、これら全てが、TypeScriptの成長が目覚ましく、持続性のあるものと
なっている理由を示している」と説明している。(中略)

 TypeScriptよりも急速に成長している言語は「Kotlin」だ。Kotlinは前回から8ランク
アップし、今回の調査では20位となった。O'Grady氏によると、Kotlinの成長速度はSwiftに
次ぐレベルだという。

 KotlinはGitHubの「2018 Octoverse」レポートでも、GitHubで最もコントリビューター
人口が増えている言語となった。KotlinはGoogleが公式にサポートしているAndroidアプリ
開発言語であることからAndroidのアプリ開発者に人気で、Googleによると「Google
Play」で提供されているAndroidアプリのトップ1000のうち、27%でKotlinが使用されて
いるという。(後略)

589 名前:デフォルトの名無しさん [2019/03/25(月) 13:08:57.00 ID:8zI0ePtf.net]
purescript全然流行ってないぞw
やっぱts人気なのはjs互換だから。良くも悪くも。

590 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 13:17:36.44 ID:MfpTwt9Q.net]
npmがあってこそ



591 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 13:40:39.94 ID:NJTMQsjm.net]
tsといいkotlinといい、言語を流行らせるならまずは開発環境が大事というのがよくわかる結果だな

592 名前:デフォルトの名無しさん [2019/03/25(月) 13:43:55.66 ID:T0osdeZX.net]
Kotlin 万歳

593 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 13:45:37.65 ID:b0YsS78F.net]
JSは言語というより環境
つまりSmalltalkがやりたかったことをやってるのが大事なポイントだ
それとJavaがやりたかったこと (JNI禁止) もまあやってる

594 名前:デフォルトの名無しさん [2019/03/25(月) 13:46:17.07 ID:T0osdeZX.net]
>>582
開発環境と作ったプログラム動かす環境、更にそれで確実に金儲けが出来そうだと思わせる状況があるとよい。

595 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 14:07:09.12 ID:n9E0/aVP.net]
まぁRailsもそうだったけど「これ作るならこれ!」みたいな洗脳が上手くできるかどうかだよね

596 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 14:19:36.61 ID:b0YsS78F.net]
でも洗脳を解いてやったらC/C++をすらすら書けるようになるわけじゃないし
宗教があるのは難易度を下げるのがメインで洗脳は副産物

597 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 15:04:53.80 ID:+4I8CbY7.net]
Javaも部分的かつ牛歩だけど、モダン機能に追従していってる
https://qiita.com/nowokay/items/0e860819b6ffb1aca90a#switch%E5%BC%8F

言語でなく環境の方でもGraalVMを進めてるし一応止まってはいない感じ

598 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 15:17:23.11 ID:NJTMQsjm.net]
Javaは本質的な不便さから目を背けてミーハーな目立つ機能をつまみ食いしてる印象
いいかげん例外透過やクッソ使いづらい非同期APIをなんとかしろ

599 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 15:51:46.88 ID:gMgBFzz/.net]
javaは中間コンパイルしたあとのソースを見るとやる気なくなる

600 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 16:00:12.57 ID:n9E0/aVP.net]
Java「じゃあ互換性切り捨てて小鳥に寄せます」
ってならね?



601 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 17:45:18.30 ID:95AoY43y.net]
>>579
金で操作できるランキングに価値ねえよ
上位言語が企業のステマ言語って時点で疑問持てよ

602 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 18:34:27.56 ID:uGzTncPE.net]
そもそもnumberとstringをいれれる型が邪魔すぎる

603 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 18:51:00.60 ID:g4/jn9Nj.net]
javascriptの制限のせいでtypescriptには従来の言語のような関数オーバーロードがない
あるのは関数シグネチャーのエイリアスのようなもので中ではifなどで型の判定をして使い分けてる
非常に泥臭い

604 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 18:55:41.13 ID:g4/jn9Nj.net]
パターンマッチはクソださいので必要ない

605 名前:デフォルトの名無しさん [2019/03/25(月) 19:03:37.93 ID:8zI0ePtf.net]
javascript離れて独自拡張したら行く末はelmやpurescriptコースだからな。
そうなったtypescriptは誰も使わないし、
js互換の第二のtypescriptが登場してそっちに流れるだけ。
そうでないと言うのならelmやpurescriptが閑古鳥な理由を説明してほしい。

606 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 19:05:06.35 ID:PPwxmC3U.net]
ダサいとかいう非論理的な言葉で要不要を語るんじゃあない

607 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 19:06:59.78 ID:g4/jn9Nj.net]
>じゃあない

ださい

608 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 19:11:19.73 ID:6qJsOYPQ.net]
>>594
tsのunionは、関数の引数だけじゃなくて、戻り値とかオブジェクトのプロパティにも使える
関数オーバーロードの変わりに使うものだと考えるのは、少しズレてる

609 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 19:31:47.11 ID:g4/jn9Nj.net]
numとstringを入れられるプロパティの存在意義は?

610 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 20:32:23.9 ]
[ここ壊れてます]



611 名前:3 ID:6qJsOYPQ.net mailto: >>600
これは number と string とかだけじゃなくて、同じ interface を継承しないオブジェクトをひとつのプロパティに格納できたりする機能なんだよ
利点は intetface を用意して継承するよりも記述が減ることかな
普通の静的型付け言語だと any みたいな型を使う事になるけど、それよりもチェックを少し厳しくできるのが利点だね
[]
[ここ壊れてます]

612 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 20:42:39.81 ID:+4I8CbY7.net]
>>598
https://i.imgur.com/rQXUs9z.jpg

613 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 20:47:57.44 ID:+4I8CbY7.net]
正直オーバーロードは無くていいと思ってる
ジェネリクス等で処理出来ないなら名前変えた方がいい

多言語の境界でよく面倒事の原因になる

614 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 20:48:32.11 ID:g4/jn9Nj.net]
>>601
でもそれを参照する場所で型チェックなどが発生するだろ
A型とB型を格納していたプロパティにC型を格納するようになったら
それぞれの場所でまた変更が必要になる
無駄じゃないかなって思う

615 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 21:00:38.33 ID:/ev0NUx0.net]
関数のオーバロードは正直なくてもいいかなと思うけど(別の名前にすればいいだけ)
その言語はオブジェクトのコンストラクタのオーバロードも多分ないよね
それはどうするか、ちょっと困るな

616 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 21:00:47.68 ID:UtVBJg4o.net]
オーバーロードと、実装を上書きするタイプのオーバーライドは絶滅すべき

617 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 21:14:48.42 ID:+4I8CbY7.net]
>>605
Go Rustはオーバロードが無く、ただのstaticなファクトリメソッドでやってるよ

618 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 21:21:17.36 ID:g4/jn9Nj.net]
fabs()再び

619 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 21:24:14.16 ID:g4/jn9Nj.net]
オーバーロードがないとintのabsのほかにfloat用のfabsを用意しないといけない

620 名前:デフォルトの名無しさん [2019/03/25(月) 21:27:47.27 ID:1GKiPWph.net]
>>603
リーナスも似たようなこと言ってたな
記事探すの面倒だから貼らないが
(誰か探して貼ってくれないかなチラッ)



621 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 21:39:42.65 ID:/ev0NUx0.net]
>>609
そっちはジェネリクスで対応するのでは

622 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 22:26:27.11 ID:8zmAEr9n.net]
オーバーロードだったらマクロのが少しはマシ。

623 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 22:27:46.86 ID:xXsGZ5++.net]
>>604
ts のunion は interface 無しでダックタイピング効くから、参照する時必ず型チェックが必要なわけじゃない
型自体の定義も type alias しておけば一箇所で済むし
静的型付け言語でany使うよりは、遥かに手間はかからないよ

624 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 22:37:18.45 ID:g4/jn9Nj.net]
>>613
だったら余計にinterface付けろよと思うわ

625 名前:デフォルトの名無しさん [2019/03/25(月) 22:38:35.21 ID:9YEdKAJP.net]
Go、Swift、Kotlinの3つは、文法ぐらい一緒にしてくれたら良かったのにな

626 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 22:53:56.04 ID:wbp6GG9F.net]
なんかこだわりがあったんだろう

627 名前:デフォルトの名無しさん [2019/03/25(月) 22:55:21.22 ID:9YEdKAJP.net]
配列にしてもさあ、カッコの形とかにこだわりなんてあるんか?

628 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 22:55:47.18 ID:itUJX6EY.net]
どんな言語使おうが、糞バカ中世ジャップランドSIと、土人ベトコンオフショアが合体すれば
全部ゴミにできるんだけどなw

629 名前:デフォルトの名無しさん mailto:sage [2019/03/25(月) 23:19:26.53 ID:4CvSxgZ7.net]
Kotlinはぱっと見Scalaかと思うくらい似てるよなー

630 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 09:15:45.15 ID:awRDKjDw.net]
えっ?(笑)



631 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 10:31:07.40 ID:F8U/TA3Z.net]
2019/03/06 15:42:58
2019年の愛され言語第1位、嫌われ言語第1位は?
https://news.mynavi.jp/article/20190306-784182/
「愛されプログラミング言語」
Python (51%)
Javascript (49%)
Java (37%)
HTML (34%)
C++ (23%)

嫌われプログラミング言語は以下
PHP (19%)
Objective-C (12%)
Java (11%)

対象となったプログラミング言語を愛している理由としては、その言語を学習するためのリソースや開発するためのリソースが充実していることが挙げられている。
逆に嫌っている理由としては、対象のプログラミング言語を使ったコーディングが楽しくないからという理由が多く挙げられている。

632 名前:デフォルトの名無しさん [2019/03/26(火) 11:13:59.02 ID:pnvMlsp3.net]
忘れ去られた言語
ruupy

633 名前:デフォルトの名無しさん [2019/03/26(火) 14:00:36.03 ID:PDyA3k9g.net]
>>622
俺は忘れてない。なぜならその名前を見たのは今が初めてだからだ。

634 名前:デフォルトの名無しさん [2019/03/26(火) 14:20:02.74 ID:pnvMlsp3.net]
ごめんごめんpoopyだっけ?w

635 名前:デフォルトの名無しさん [2019/03/26(火) 16:57:14.07 ID:PDyA3k9g.net]
>>624
それについても俺は忘れてない。なぜなら以下同文

636 名前:デフォルトの名無しさん [2019/03/26(火) 17:32:40.93 ID:pnvMlsp3.net]
rubooだったか?

637 名前:デフォルトの名無しさん [2019/03/26(火) 19:16:35.45 ID:PDyA3k9g.net]
以下同文

638 名前:デフォルトの名無しさん mailto:sage [2019/03/26(火) 19:18:56.38 ID:NbUyZWCM.net]
誰でも頭が良くなる、プログラムが書けるようになる方法が発見される 99934
https://you-can-program.hatenablog.jp

639 名前:デフォルトの名無しさん mailto:sage [2019/03/27(水) 17:04:40.79 ID:ioHKDgtI.net]
>>603
先にジェネリクスがあったらオーバーロードは不採用だったと思う

640 名前:デフォルトの名無しさん [2019/03/27(水) 17:15:00.98 ID:TdLaeqVz.net]
>>628
あと一回見かけたらはてブロに通報するわ



641 名前:デフォルトの名無しさん mailto:sage [2019/03/27(水) 17:15:08.52 ID:SZ6CWUW7.net]
ジェネリックで必ず同じ操作になるならいいけど
そうでもないときはジェネリックではどうにもできない

642 名前:デフォルトの名無しさん mailto:sage [2019/03/27(水) 17:18:22.78 ID:SZ6CWUW7.net]
オーバーロード否定派は動的型付け言語か形無し言語がメインの人なんだろうか?

643 名前:デフォルトの名無しさん mailto:sage [2019/03/27(水) 18:22:56.09 ID:L8U/qf4n.net]
Cはユーザーが定義できない演算子だけオーバーロードする
ユーザーが定義してない型の情報だけコンパイル後に残る

このユーザー定義型の不当な制限をなくすというC++の理念のおかげで
オーバーロードや実行時型情報ができた
めでたしめでたし

644 名前:デフォルトの名無しさん mailto:sage [2019/03/27(水) 19:26:19.13 ID:0edTBLWO.net]
ほとんどの言語が強制キャストできるのが原因で型安全でなくなっているのが
何とかならない

645 名前:デフォルトの名無しさん mailto:sage [2019/03/27(水) 19:52:11.21 ID:DpIgan7F.net]
>>632
静的型付けメインにも普通に居るよ
RustやGoも関数オーバーロードを導入しなかったし

作為的な例にはなるけどむしろ型システムの阻害要因になることもある
https://ideone.com/uJ1lyb
https://ideone.com/P96nVa

646 名前:デフォルトの名無しさん mailto:sage [2019/03/27(水) 19:59:52.56 ID:DpIgan7F.net]
後者の例で言うと、ライブラリの関数に気を利かせてオーバーロードを追加したところ
別のプロジェクトの既存コードがコンパイル出来なくなったとかもあり得る

647 名前:デフォルトの名無しさん [2019/03/27(水) 20:08:46.35 ID:kkhErUOi.net]
やはりリーナスは正しかった!
c最高!
c++はうんこ!

648 名前:デフォルトの名無しさん mailto:sage [2019/03/27(水) 20:12:19.93 ID:KDFmmUkx.net]
暗黙の型変換を含めた場合のオーバーロードの地獄感は半端ない。

649 名前:デフォルトの名無しさん mailto:sage [2019/03/27(水) 21:04:39.85 ID:ZMj2RB3N.net]
それにテンプレートとADLが絡んでカオス

650 名前:デフォルトの名無しさん mailto:sage [2019/03/30(土) 03:45:54.68 ID:x88rhneO.net]
クロスキャストはカスだから滅びろ
インターフェースの実装を鞍替えしたいんだったらFactoryとか使えや



651 名前:デフォルトの名無しさん mailto:sage [2019/03/30(土) 10:52:42.58 ID:PY6ZYblo.net]
型名を隠蔽すればキャストできないので
無名クラスとラムダの世界ランクが右肩上がり

652 名前:デフォルトの名無しさん mailto:sage [2019/03/30(土) 13:35:24.87 ID:wGFGqWwF.net]
本当に欲しいのは型ではなく制約

653 名前:デフォルトの名無しさん mailto:sage [2019/03/30(土) 19:28:46.42 ID:grSCIEfK.net]
ガイジみたいなコード書くガイジを殺していい法律を作ることだな
皆殺しにしてやるよ

654 名前:デフォルトの名無しさん [2019/03/31(日) 08:00:06.83 ID:S4Tb/ZFO.net]
次世代かは知らんけど、Haskell奥が深い。
プログラマーのための圏論っていうのをネットから落として読んでるが、
圏論的には変数や値そのものも関数足り得るとか、読んでて面白い(理解してるかは怪しいが)

int n = 1とint n(){ return 1 }が同じと言うのは言い得て妙だなと。
Haskellで関数にカッコ使わないのはこれを体現する為なんだなと。

n = 1 ― Haskell的には変数でもあり、引数無しの関数。

関数も値でもあるんだから

sum = foldl (+) 0は、sum xs = foldl (+) 0 xsの部分適用で変数を(見かけ上)減らした関数であると同時に、
部分適用した関数に束縛した変数でもある。。。と。

と言うことはHaskellのmain関数も、関数であり変数なんだなーと。
関数を呼んでプログラムが走り出すとも言えるし、変数を評価しようとして、結果として束縛されたプログラムが走り出すとも言える。

main = putStrLn "hello" ― main関数を呼ばれたとも言えるし、変数mainを評価して値(IO ())を得る過程でプログラムが走り出すとも言える。

655 名前:デフォルトの名無しさん mailto:sage [2019/03/31(日) 10:38:58.10 ID:UUJRkrO5.net]
概念は有用だし言語の進化に多大な影響を与えたけど
道具としてのHaskellは今の位置から上がってくることは無いだろうな

656 名前:デフォルトの名無しさん mailto:sage [2019/03/31(日) 10:43:21.70 ID:KUHIQC/W.net]
>>645 確かにその通り。 実用的な言語は、わかりやすくバグが出にくいことが重要。
他人のコードでも誰が見ても一目でわかるみたいな。

657 名前:デフォルトの名無しさん mailto:sage [2019/03/31(日) 11:07:42.57 ID:s7MuzANU.net]
実用なら副作用認めた方が絶対的に有利なわけでそういうのはOCamlなりF#が担えばいいよ
Haskellが勉強のための言語なのはこの先もかわらない

658 名前:デフォルトの名無しさん mailto:sage [2019/03/31(日) 13:08:06.82 ID:88fzeBO9.net]
xmonadとかあるし、実用的でないとは言い切れないが、いかんせん学習コストが高くてマンパワーに頼れんからな

659 名前:デフォルトの名無しさん mailto:sage [2019/03/31(日) 18:14:52.08 ID:hIxqKKME.net]
Haskellの再発明のようなアイデアを思いつくやつは必ず出てくるよ
これHaskellでやったやつだって教えてあげないと再発明を止められない
高い学習コストをもう一回課金される

660 名前:デフォルトの名無しさん mailto:sage [2019/03/31(日) 19:22:10.57 ID:m+UFTh7s.net]
Haskellは数学的な背景があるから一部だけパクってもうまくいかんでしょ



661 名前:デフォルトの名無しさん mailto:sage [2019/03/31(日) 20:26:01.36 ID:hIxqKKME.net]
一部だけ学ぶのはダメってのは見覚えがある
Perlでやったやつだ
一部だけでいいと作者が言ってるのに全部やろうとして挫折するやつだ

662 名前:デフォルトの名無しさん mailto:sage [2019/03/31(日) 20:40:52.20 ID:1YONhXIR.net]
https://speakerdeck.com/uzulla/gui-tutekita-ping-cheng-zui-hou-falseoreorehuremuwakufalsezuo-rifang

なんでペチパーって自作FW作りたがるん?
もうしばらく関わってないけど、糞SIerいたとき糞案件が軒並み自社製PHP FW(糞)だったの思い出したわ

663 名前:デフォルトの名無しさん mailto:sage [2019/03/31(日) 21:26:26.85 ID:fpw7uUAj.net]
量産型Webは技術が完全に硬直化してるから、ちょっと意識高い奴がマウント取りたくても差別化できるネタが少ないんだよ
で既存の開発プロセスのオーバーエンジニアリングに向かうわけだけど、
ペチパー

664 名前:レベルではインフラや言語を改善したりそもそも開発作業自体を減らすって方向には行きにくい
そこで手頃なのがFWというわけ
[]
[ここ壊れてます]

665 名前:デフォルトの名無しさん mailto:sage [2019/03/31(日) 21:52:14.80 ID:rPARd9Mh.net]
もともとFWっていうのは汚いコードを寄せ集めてライブラリ化した上で
汚いコードの寄せ集めを使う処理を手順化して綺麗に見せるための仕組みだったんだけどな

666 名前:デフォルトの名無しさん mailto:sage [2019/03/31(日) 21:59:57.35 ID:hQIJpK9h.net]
diコンテナは何のメリットがあるのか不明

667 名前:デフォルトの名無しさん mailto:sage [2019/03/31(日) 22:31:08.06 ID:BrkeBPe8.net]
>>655
は?

668 名前:デフォルトの名無しさん mailto:sage [2019/03/31(日) 22:37:11.66 ID:hQIJpK9h.net]
依存性注入はクラスが増えてカオスになる
何故かjavaではよく使われるのが謎

669 名前:デフォルトの名無しさん mailto:sage [2019/03/31(日) 22:49:56.27 ID:fbfMx+RF.net]
オブジェクト指向だとクラスは大量に作るもんだぞ

670 名前:デフォルトの名無しさん mailto:sage [2019/03/31(日) 22:58:47.59 ID:vireAt4B.net]
それLaravel使えば問題ない話じゃね?



671 名前:デフォルトの名無しさん mailto:sage [2019/03/31(日) 22:59:24.74 ID:vireAt4B.net]
アンカ抜けてた>>652

672 名前:デフォルトの名無しさん mailto:sage [2019/03/31(日) 23:08:51.93 ID:rPARd9Mh.net]
カオスだと感じる脳程度だけしか持ち得てないんだろう
察してやれよ

673 名前:デフォルトの名無しさん [2019/03/31(日) 23:49:26.60 ID:qnazkb5e.net]
FXの自動売買ツールを無料で配布しています。
hbgvf.blog.jp

674 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 00:33:10.08 ID:dYyCWZhX.net]
人類最底辺の脳みそしか持ち合わせてない永遠の土方ペチプァの話題なんか出すな
スレが穢れる

675 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 01:55:20.15 ID://wZRuJn.net]
>>641
ついでにSAMも滅びろ
あいつ使いにくくてかなわん

676 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 02:44:37.39 ID:PICzK0N0.net]
>>647 だれが勉強すんねん
一目見た時から、恋の花が咲いた
のでは無く、こりゃダメだと思った。

677 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 02:48:36.94 ID:PICzK0N0.net]
逆に Python はなんとなく幼い頃の悪ガキ仲間と似てるなと思ってたら、立派に成長して懐の深い大人になってた。
ちょっと見の見た目で判断してはいけない。

678 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 07:12:14.06 ID:dYyCWZhX.net]
単純に機械学習ライブラリの虎の威借りてるだけだろ
言語としてはPHP並の糞だわ
venv周りも糞糞アンド糞だしな

679 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 20:13:46.91 ID:5Qv5OJbI.net]
そのへん、他の軽量級言語は何故うまくやれなかったのかな。

680 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 20:23:06.27 ID:no59bRT+.net]
情報系専門でない連中が多い分野だから、言語オナニーには興味ないんだよ
Pythonは昔から数値計算系のライブラリが充実してたし学習コストも低い



681 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 21:00:27.10 ID:oZ4uWA1m.net]
venvなぁ。
中にpython.exeがそのまんま入ってたのを見たときはコントかと思ったw

682 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 21:18:09.61 ID:dOhRlOJ8.net]
数学の関数やOSのシステムコールを
いちいちオブジェクト指向に翻訳しないといけない文化は仕様が不安定になる

不安定な自作オブジェクトを集めたものが自作FWになる

683 名前:デフォルトの名無しさん mailto:sage [2019/04/01(月) 21:52:46.65 ID:I/9Vex97.net]
pyenvとかあの辺弄るくらいならdockerで閉じ込めた方がマシ。

684 名前:デフォルトの名無しさん [2019/04/02(火) 09:42:15.53 ID:exqjvsIl.net]
>>671
翻訳しないで済むOS作れば良いのでは?

685 名前:デフォルトの名無しさん mailto:sage [2019/04/02(火) 20:30:27.35 ID:JAcM/MrS.net]
WinRTがそれかな

686 名前:デフォルトの名無しさん mailto:sage [2019/04/03(水) 11:55:08.65 ID:eJ7jSanC.net]
>>672
venvに比べたら、docker重いよ。

687 名前:デフォルトの名無しさん mailto:sage [2019/04/03(水) 12:10:05.50 ID:nFtQHhqP.net]
>>669
その言語オナシストたちが挙ってPython推してるからお前も鼻が高いだろう
良かったな

688 名前:デフォルトの名無しさん [2019/04/03(水) 13:11:27.32 ID:GUjlsyjt.net]
dockerがどっかー行っちゃったー


すまん。一度言ってみたかったんだ。ゆるせ。

689 名前:デフォルトの名無しさん mailto:sage [2019/04/03(水) 13:47:18.98 ID:ZdmGYXWn.net]
実際には一人で気持ち良くなるのではなく
staticおじさんを責める自分に酔ってるみたいなパターンが多い
一人じゃないから正常なんて思ったら大間違い

690 名前:デフォルトの名無しさん [2019/04/03(水) 13:50:02.32 ID:/cw++oNj.net]
パンツじゃないから恥ずかしくないなんて思ったら大間違い



691 名前:デフォルトの名無しさん [2019/04/03(水) 21:33:59.24 ID:x59pa14S.net]
staticおじさんてなに?

692 名前:デフォルトの名無しさん [2019/04/04(木) 02:32:05.58 ID:dJc2ae+t.net]
>>680
高卒や専門卒のプログラマーのことだよ
そういうのにはstaticが好きが多いからそう呼ばれてる

693 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 05:09:05.51 ID:fR1MFQa7.net]
>>680
つhttps://el.jibun.atmarkit.co.jp/minagawa/2010/04/post-ebc4.html

694 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 05:48:32.02 ID:Bp6OcKFp.net]
特殊用途以外でstatic変数を使うのはアホだけど
staticメソッドもまとめてstaticおじさんとか書いてる記事は
関数型にもついてけないただの周回遅れ

695 名前:デフォルトの名無しさん [2019/04/04(木) 07:07:10.33 ID:vFGtgSry.net]
うちのおじさんはdbのクライアントをstaticにするんだよね

696 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 08:14:30.23 ID:O0tv1R/2.net]
シングルトンおじさんの呼び方のが正しい問題意識な感じがする。

697 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 08:44:10.37 ID:t2REljhQ.net]
ここのstaticおじさんの話題で関数型を持ち出してる人間たまに居る(多分同一人物)けどimmutableに一切言及してないのはなんなんだ
関数型は言語機能で束縛をimmutableにして、それでもなお必要な時にmutableを扱うのであって、staticおじさんのpublic staticなんて言語も踏まえてmutableの可能性の方が高いでしょ

698 名前:デフォルトの名無しさん [2019/04/04(木) 09:23:20.89 ID:NLHdu954.net]
Kotlin もよろしく

699 名前:デフォルトの名無しさん [2019/04/04(木) 09:29:42.90 ID:vFGtgSry.net]
コトリンなんてシングルトンおじさん量産言語じゃん

700 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 09:30:46.16 ID:MhhM4cG2.net]
static禁止の次の世代はimmutableではなく依存性注入だからね
class名をハードコードするだけでアウト
interfaceはセーフ
もちろんSingletonはアウト



701 名前:デフォルトの名無しさん [2019/04/04(木) 09:33:41.65 ID:l5IgkZnr.net]
Love≒依存性

702 名前:デフォルトの名無しさん [2019/04/04(木) 10:37:11.62 ID:NLHdu954.net]
>>688
え?そうなるか?

703 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 10:59:33.23 ID:no/JRFUK.net]
class名.static変数
class名.static関数
超便利じゃん

704 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 11:25:51.28 ID:MhhM4cG2.net]
class名がそのままファイル名になるじゃん
定義を変えてみたくなったらファイルを上書きするしかないじゃん
そういうとこだよ

705 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 11:31:19.04 ID:Bp6OcKFp.net]
>>686
この話題何度も出てるのか
staticおじさん云々に言及したのは初だわ
というか>>683はググって読んだ記事に対する感想な

staticメソッド:
 副作用無し → OK
 引数への副作用有り → 許容内
 標準出力などプロセスに1つのリソースへの副作用 → 許容内
 内部でstatic変数への副作用有り→ デバッグ等の特殊用途を除いてはゴミ

privateでないstaic変数
 → 論外のゴミ

これらをただstaticというだけで
その先にある局所性や副作用への悪影響を区分せず
ひとまとめに扱う雑な記事は、何かをdisるレベルに無いという考え

706 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 12:40:50.62 ID:no/JRFUK.net]
>>692
なんかIDEに怒られてstatic関数にできないときは
シングルトンのgetInstance作って
class名.getInstance.メンバ関数
で回避

707 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 14:01:55.30 ID:t2REljhQ.net]
>>694
私が勢いでレスしてしまったようだすまない
確かにstaticメソッドのみでみれば関数型的な副作用の切り分けとして見れるね

ただ
>>682 リンク先
> 共有変数も、pubulic static宣言していまう。したがってプロパティなんて作らない。
というアレがあるので『staticおじさん』とした時に関数型を持ち出すのは不適であると勢いづいてしまった

708 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 21:07:18.41 ID:zCERpG8r.net]
staticメソッド:
 副作用無し

↑これにめちゃくちゃ違和感がある
特定の言語は宋なのかもしれないけど…

709 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 21:24:47.26 ID:g//GkyZ8.net]
同じ機能を持った別個体のオブジェクト変数を持ちたい時にフィールドをstaticにしてたら何も出来ないけどね

710 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 22:06:34.27 ID:Bp6OcKFp.net]
>>697
どういう違和感か分からないが一応補足しておくと
staticメソッドのうち、副作用無しの場合 という意味な

副作用が無いメソッドというのは
引数以外に影響されず、戻り値以外に影響を与えないもの
具体例としては java.lang.Math.max



711 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 22:39:36.52 ID:bWgxb2Xi.net]
>>699
引数以外に影響されないことは副作用のないことの必要条件ではない
参照透過とごっちゃになってるぞ

712 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 23:09:47.59 ID:ELt56IMR.net]
副作用の定義によっては
参照透過と同義になってしまうかも?

713 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 23:20:58.18 ID:qij6PJCK.net]
定義によってはって、「副作用」の意味を変えちゃうってこと?

714 名前:デフォルトの名無しさん mailto:sage [2019/04/04(木) 23:34:18.16 ID:Bp6OcKFp.net]
>>700
すまんその通り
オブジェクト指向に絡む話なのもあって
関数型に寄りすぎる単語を微妙に避けようとして変なこと言った

715 名前:デフォルトの名無しさん mailto:sage [2019/04/05(金) 20:17:32.71 ID:p2nz2EB6.net]
副作用とは関数使ったら値を返すだけじゃなくて他のとこに影響出てしまうやつ

わかりやすい例で言えばファイル操作(write,read)関数とか画面に文字を出す関数(print)が
副作用があるとされている

716 名前:デフォルトの名無しさん mailto:sage [2019/04/05(金) 22:40:10.47 ID:nOvsDaXU.net]
先生! ユーザー入力や乱数は副作用に入りますか?

717 名前:デフォルトの名無しさん [2019/04/05(金) 23:31:16.26 ID:OJKC59P7.net]
入ります。

718 名前:デフォルトの名無しさん [2019/04/05(金) 23:36:46.00 ID:OJKC59P7.net]
そう言う意味じゃHaskellはHaskell信者?は副作用は無いと言い張るが、確実に有る。
私がHaskellに注目してるのは副作用があっても参照透明性が保たれている。この一点だ。

719 名前:デフォルトの名無しさん mailto:sage [2019/04/05(金) 23:56:50.87 ID:lYJMaqmI.net]
ブログやニュース記事ならhaskellだろうけど
ソフトウェアを書けといわれたらocamlで書くわ

720 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 00:31:00.91 ID:fOYiDoB+.net]
副作用があるのかないのかを型で宣言すればいいんだよ
副作用は無いと言い張るより、型は嘘をつかないと言い張る方が面白くなる



721 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 00:31:05.44 ID:tSYMD8Eq.net]
>>707
Haskellの世界ではないんだよ
まあトリックではあるんだが
でもそこを理解しないとmonadの意義もわからない

722 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 01:24:43.24 ID:fOYiDoB+.net]
モナドは外見上は引数がないけど値を返す
逆に引数はあるけど値を返さないとか、引数もない値も返さないとかの方が
副作用に関してはわかりやすいのだけどモナドの意義は副作用だけではないので

723 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 01:40:05.33 ID:/WRt9p3o.net]
モナドとかクソしょうもない型合わせごっこの遊び道具でしかない。

724 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 01:43:50.36 ID:yyDZS6P1.net]
関数型コミュニティのモナドをディスっちゃいけない空気嫌い
技巧に溺れて本来の関数型のメリットである見通しの良さや宣言性を完全に見失ってる

725 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 01:44:02.26 ID:eNhmVT4m.net]
トレートとインターフェースの違いは何なんだ?rust難しすぎ

726 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 02:56:29 ]
[ここ壊れてます]

727 名前:.83 ID:Rn9Ldrv+.net mailto: JavaとかC#のインターフェイスと似たようなもんだけど、後付じゃないジェネリクスと階層構造の無い型のおかげでむしろ使いやすい
OOPのインターフェイスの方がルール覚えづらいと思う。<? extends T>と<? super T>とかinとかoutとかもう覚えてないわ
[]
[ここ壊れてます]

728 名前:デフォルトの名無しさん [2019/04/06(土) 08:23:20.81 ID:LfoN0yho.net]
>>710
そのトリックに拘って純粋関数型言語と言う言葉に拘ってたら、
そこから話が進まなくなる場面を何度も見てきたから。
純粋じゃない言語から見れば「それもう副作用じゃん」「ただの方便じゃん」と。

だから私はHaskell使って何が嬉しいか聞かれたら、
参照透明性を保つことを徹底する所と答える。

729 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 08:33:11.58 ID:/WRt9p3o.net]
rustはc++に比べると一見学習コストは低いようにも見えるが
色々な機能の意義を理解するには結局c++やることになるという意味でc++以上に学習コストがかかる。

730 名前:デフォルトの名無しさん [2019/04/06(土) 08:37:35.86 ID:LfoN0yho.net]
>>711

モナドは常に引数あるよ。
doでしか使った事ないのかな。。。

main = do
print (1 + 1)
print (2 + 2)



main = print (1 + 1) >> print (2 + 2)

のdo表記だし、(>>)は

main = print (1 + 1) >>= \_ -> print (2 + 2)

の(>>= \_ ->)部分の略記。(print (1 + 1)の戻り値IO()からIOを外した()がラムダ式の引数に入るが使わない)



731 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 08:37:59.39 ID:LXikOU7p.net]
>>712 >>713
でもSwift, Java, JavaScriptとかの関数型がメインじゃない言語にも
実質モナド操作であるflatMapが入ったじゃん

732 名前:デフォルトの名無しさん [2019/04/06(土) 08:43:32.56 ID:LfoN0yho.net]
>>713
そうなん?
Haskell信者は兎も角、OCamlとかLisp系とか他の言語の人もそんな空気なん?
まあモナドをディスる理由も無い気はするが。
見通しの良さや宣言性も見失ってると思わないので、参考までに聞きたい。

733 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 08:48:46.26 ID:/WRt9p3o.net]
そんなクソみたいなものでIOの実行を表現するくらいなら実行タスクのチェーンを作ってますって
意味をもっと明示的に取り扱った方がマシだわ。

734 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 08:56:14.69 ID:fOYiDoB+.net]
>>718
printはモナドを返す関数だ
printの引数は関数の引数であってモナドの引数ではない
だからprintに引数を渡しただけでは副作用が発生しない

735 名前:デフォルトの名無しさん [2019/04/06(土) 09:10:31.05 ID:LfoN0yho.net]
>>722
モナドと言ったら>>=とかの演算子の方だと思ったんだが、IOな関数(アクション)の方なの?
それなら、getLineみたいなアクションは圏論的にはある種の変数扱い。

n = 1 ― 圏論では変数であり、引数無しの関数

値も、Haskellでは出来ないが強いて書いてみると

1 = 1 ― 1という名前の変数(値は1)、もしくは1という名前の1を返す引数無しの関数

そう考えると

getLine ― 外部からの入力(IOな値)が入った変数、もしくは(ry


>>712 の言う通り、型がIOなだけで、何も特別な関数というわけじゃ無い。
少なくともHaskellから見た扱いは純粋な関数と変わらない。
(それにも関わらず、main表層にアクションが自然と集まるというだけ)

736 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 09:13:29.66 ID:LXikOU7p.net]
以下は個別に分けられる話

(1) 純粋関数型ではそれ自体の制限からIOにモナドなどを必要とする
(2) Haskellでは実行タスクのセマンティクスを明示しやすくするためdo構文がある
(3) モナドの有用性はIOの表現用に限らない (他言語にも関連する)

>>721
それは(2)を考慮してもなお(1)に納得してないということ?
より良い方法があるんだろうか?

それ以前の、純粋関数型は要らないということかもしれないけど

737 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 09:17:48.36 ID:LXikOU7p.net]
>>723
その文脈のモナドは、それらを持つ型あるいは値では

738 名前:デフォルトの名無しさん [2019/04/06(土) 09:55:46.82 ID:umTWflC6.net]
これだから関数型の連中はいやなんだよ

739 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 10:04:05.89 ID:fOYiDoB+.net]
Rust「静的型はいいぞ」
Haskell「静的型はいいぞ」
迷探偵「これだから関数型は」

740 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 12:47:15.25 ID:TkGMaDeW.net]
Innullableな世界で仕事がしたい



741 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 13:11:50.28 ID:hBfZV6UD.net]
学習がしたい

742 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 13:33:25.41 ID:fOYiDoB+.net]
学習の難易度と速度を上げると壊れる
やばい全然勉強してないと感じる程度に勉強すれば壊れない
そういうやつほど無駄に成績が良い

743 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 14:03:55.76 ID:hBfZV6UD.net]
あのさ、この世界で学習と言えばAIだろ。 機械学習だよ。

744 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 14:35:38.07 ID:eNhmVT4m.net]
なぜ深層学習は深いんだい?

745 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 15:22:47.45 ID:0N4TKw3/.net]
>>716
そのとおりだよ
参照透過性だとどっから評価しても結果同じなわけで数学的に扱いやすいわけさ
だからそこにこだわるのがHaskell
プログラミングにも理論的なアプローチは重要だよ
ちなみにおれは普段c++使ってるから
実用性重視してる方だけどな

746 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 16:48:06.36 ID:fOYiDoB+.net]
関数型の世界でAIといえば記号処理でその成果が型推論

747 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 17:53:47.62 ID:7tGee9uO.net]
>>734 なんか全く的を外していないかい?

748 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 19:17:55.07 ID:8WC9KsB7.net]
社畜の世界でAIといえばアクションアイテムでその成果はない

749 名前:デフォルトの名無しさん mailto:sage [2019/04/06(土) 22:51:30.58 ID:5uCwXBh8.net]
>>732
昔はせいぜい2・3層だったからとか?

750 名前:デフォルトの名無しさん [2019/04/06(土) 23:03:26.36 ID:qQhidKgX.net]
さんまの世界ではAIと言えばエッチの後



751 名前:デフォルトの名無しさん [2019/04/07(日) 06:55:03.83 ID:DafnpbK7.net]
圏論だ参照透明性だと出て来て難しそうに見えるけど、Haskellの裏でそう言う論理に基づいて処理系が動いてるってだけで、
プログラマーは意識する必要はない。
(必要無いのに知らなきゃダメみたいな雰囲気作ってる純粋関数型言語信者がプログラマーからHaskell触る機会を奪ってるだけ)

もっと言えば純粋関数型言語だからとか、関数型言語だからと肩肘はる必要もない。

型に気をつければ動く算数・数学のエミュレータみたいなもの程度で良い。
変な言語だけど、そう言う言語というだけの意識で良い。

752 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 07:15:45.34 ID:c9qO7NyZ.net]
いやさすがにHaskelをその評価戦略を理解せずに使いこなすのは不可能だ
Haskelが初心者を阻んでいる最大の壁はそれ

753 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 08:18:35.92 ID:OFkYw0l7.net]
だよな
それで使えたら誰も苦労せんだろ
理論知らずにあの型エラーどうやって直すんだ?

つーかHaskell使えない人がそういう知ったようなこと言うのがそそもそもおかしい
そりゃ話が噛み合わないさ

754 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 08:20:55.34 ID:ObuUWG1X.net]
評価戦略と型エラーは関係ないぞバーカ

755 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 08:34:15.00 ID:/9bq+rwa.net]
せやな、デフォルトの遅延評価だと空いてる時間に先読みさせておくとか出来ない。
Deepseqみたいなのを使ってワザと何か変数を明示的に評価したりBangパターン使ったりと少し工夫が要る、、よね?

こと速度云々やり始めるとFusion的なのは強みだけど、評価戦略の理解も必須。

756 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 09:19:17.34 ID:GYBhj6UR.net]
haskellプログラマがすごいと思えるところはその辺の最適化についてしっかり理解してるところだろうな。
決してモナドでド

757 名前:ヤるところではない。 []
[ここ壊れてます]

758 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 09:35:57.59 ID:uhpyC8M8.net]
初心者はPython以外意識する必要はないぞ
近い将来Pythonに代わる言語が出てくるのを知らなきゃダメみたいな煩悩を捨てろ
それと煩悩は信者の陰謀で作られたのではなく人間なら誰でも持っているものだ

759 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 09:41:31.61 ID:I8qUkc8+.net]
>>744
評価順を意識することなく気持ち良く数学オナニーするための遅延評価のはずが、
結局みんな評価戦略のハックを競ってるの草

760 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 09:57:40.07 ID:uhpyC8M8.net]
重要なのは起動時に変数を初期化する順序
C++ならグローバル変数のコンストラクタを呼ぶ順序
Javaならとりあえずnullで初期化して後で代入することになる
この問題をHaskellは遅延評価で解決する



761 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 10:12:31.86 ID:KWJ+xksL.net]
>>747 Pythonだって遅延評価を取り入れてるぞ。
range 関数やジェネレータでは遅延評価する。

762 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 10:35:27.16 ID:PWWywgBM.net]
「遅延評価 *も* できる」と「ぜんぶ遅延評価でやる」の違いの大きさ(良くも悪くも、だが)
が理解できてないPython使い

763 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 11:08:03.83 ID:uhpyC8M8.net]
ジェネレータは疑似マルチタスクを意識する
遅延評価は無意識というか自動運転のようなものを目指して猛反対されている感じ

764 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 11:10:17.55 ID:BQvGqFhC.net]
haskell使うのが適してるのってなんなの?大きなプロダクト?小さなプロダクト?高速動作が求められるプロダクト?生産性が求められるプロジェクト?

765 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 11:11:16.13 ID:BQvGqFhC.net]
煽りっぽい書き込みになってしまってすまん。
よく名前聞くのでGWに勉強してみようか悩み中なんだ。

766 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 11:24:49.64 ID:uhpyC8M8.net]
人工知能プロダクトではなく人工知能ブームのようなものを作るのに適している

767 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 11:42:16.35 ID:b5J7R/uS.net]
>>752
Haskellは時間と気持ちに余裕があるときにやっておいて損はない

LISP(Common Lispの特にCLOSとScheme)、Prolog、APL、Io あたりも同じ

768 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 11:51:03.48 ID:libAZ4Hy.net]
広く普及してる言語で必死に仕事してる人達に対して、俺はhaskell理解してるってドヤ顔するのに適してる

769 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 12:04:12.17 ID:h90p5IeD.net]
>>755
そしてドヤったところで、で?と返されるだけだったりする

770 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 12:37:30.68 ID:/9bq+rwa.net]
このスレ、Haskellにコンプレックスのある人が多いのな。スレタイからいつの間にか締め出されててワロタ。



771 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 12:57:29.07 ID:FeHvfrjY.net]
Haskellって次世代言語か?

772 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 13:28:39.65 ID:uhpyC8M8.net]
互換性を残して何年も再チャレンジするやつは減点するスタイルだな
互換性を捨てるインセンティブ
それでも互換性を捨てないC/C++が勝ち続ける仕組み

773 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 13:34:43.01 ID:/9bq+rwa.net]
>>758
ああ、そういうことか。知ってる人からすると古いのね。なる。

774 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 13:50:53.75 ID:HWuq8CQ1.net]
Python3は、現状では互換性捨てて
成功だったんじゃないかな。

775 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 14:36:36.46 ID:pahFUo3A.net]
>>749 良いところだけ取り入れた Python が利口。
>>750 ソースを教えて。

>>759 C系は現代のアセンブラだからな、必要だが積極的に使おうとは思えない言語。

Haskell みたいに読みにくい言語は支持されない。 LISP でやれる事は殆どPythonで出来る。だからLISP は消えた。

776 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 14:51:40.26 ID: ]
[ここ壊れてます]

777 名前:YrS1j1OB.net mailto: PythonやるならCは必須 []
[ここ壊れてます]

778 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 15:13:13.54 ID:/57iNm6y.net]
>>762
>Haskell みたいに読みにくい言語
え!?

779 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 15:39:31.20 ID:OFkYw0l7.net]
Haskellが気になってしょうがないのはわかる
知能試されてるからな

780 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 15:47:13.09 ID:pahFUo3A.net]
ところで Haskell って誰がどんな場面で使ってるの?



781 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 16:22:12.12 ID:Y0LlEYhJ.net]
どうせお前には扱えないんだから気にすんな
死ぬまでPythonやってれば幸せだろ

782 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 16:36:29.82 ID:/9bq+rwa.net]
Pythonは我が世の春ですな。

783 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 16:56:12.85 ID:pahFUo3A.net]
>>767 自分はどんなものに使ってるんだよ。 ほぼ30年も経って実用的なアプリケーションはあまりお目にかからないだろ。

784 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 17:08:23.58 ID:pahFUo3A.net]
>>767 どこも珍しがってちょろっとだけ触ってみるがみんな逃げだしてるじゃないか。
生産性が悪い証拠だろ。

資金力のないWeb系ベンチャーがHaskellを採用したらどうなったか
https://qiita.com/arowM/items/25b7740ca0f31cc1be15
悲鳴が聞こえる。

785 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 17:33:42.20 ID:OFkYw0l7.net]
だから気にすんなよ

786 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 17:58:08.83 ID:pahFUo3A.net]
>>771 じゃ宣伝すんなよ。目障り

787 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 18:02:29.32 ID:OFkYw0l7.net]
宣伝だそうで

788 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 18:16:51.87 ID:uhpyC8M8.net]
perl python2 python3全部インストールしても全く問題ないのが勝因ではないか

789 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 18:23:13.37 ID:/9bq+rwa.net]
流行りの機械学習のデータ整形とかHaskellは相性良さそうな気がするけどな

790 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 18:25:44.16 ID:dh/+Mumy.net]
>>770
>生産性が悪い証拠
生産性が悪いかもしれないし道具を使いこなす力が足りない人や組織が
手を出したという仮説も成り立つだろうし…。他にも転職が多いIT業界
で更に Haskeller の絶対数が少ないとか軍事・金融関係といった秘匿が
重要な産業分野での応用が多いとかいろいろ候補理由が挙げられそう。

「資金力のないWeb系ベンチャーがHaskellを採用したらどうなったか」
で言及されている ”Beating the Averages” の一節にこんな表現がある。

> ベンチャー企業はライバルになるべく情報を漏らさないもの

言い得て妙。



791 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 18:45:56.29 ID:DgqF8SFg.net]
そういうのだいたいろくなもんじゃない

メンテできるのがその会社しかなくなって客が依存せざるを得なくなるとか
どっかの資本家のサポート得られやすいとか
かっこいいから国が金払ってくれやすいとか
そういうの

792 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 18:51:43.78 ID:/9bq+rwa.net]
他社に追従させず依存させるのが金儲けでないのん?

793 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 19:03:25.42 ID:HWuq8CQ1.net]
>>766
FBやCSV、Excelの簡単なデータ加工用の
1000行いかないくらいのコマンドラインツールを
PythonとHaskellで作って使ってるよ。

ExcelはPythonの方が楽なんでPython使って、
あとは、使い捨てかとか、人に使ってもらうかで、
使い分けてる感じ。

794 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 19:04:22.67 ID:PFYq1oCr.net]
結局ハスケルの良さがさっぱりわからん。
むしろそれを知るために勉強したくなってきた。仕事に生かされる可能性は限りなく低いんだろうけど。

795 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 19:05:41.01 ID:kcIqkU8W.net]
>>779
特定のプロダクトに対しては生産性が良いってことか。

796 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 19:35:40.60 ID:pahFUo3A.net]
>>778 今時そんなの古いよ。 オープンソースの時代だぞ。
オープンにして人からも助けてもらう事でスピードを加速できる。
秘匿なんてしてたら時代から取り残されるだけ。

797 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 20:15:25.82 ID:T2rqGc5k.net]
>>688
staticおじさんは世界の全てがstaticに見えるってマジやったんやね
こわこわ

798 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 20:28:27.13 ID:YrS1j1OB.net]
>>781
特定のプロダクトというよりもネイティブなライブラリをキックさせるにはPythonが楽ってだけだろ
VBAから置き換わるには本当に都合が良い

799 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 20:46:47.54 ID:pahFUo3A.net]
>>779 なんか無理やり使ってそう。

800 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 20:49:47.56 ID:OFkYw0l7.net]
このHaskellコンプレックスの人、目障りなんだけど



801 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 21:19:26.83 ID:uhpyC8M8.net]
一昔前ならC++やHaskellの複雑さが悪魔のように思えたが
悪魔とかいう言葉はもっとひどい事案が発生した時のためにとっておくべき

802 名前:デフォルトの名無しさん [2019/04/07(日) 21:49:15.77 ID:BPc+yUsN.net]
>>714
俺もよくわからない。
トレートはクラスみたいな階層は無くフラット。

803 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 22:02:09.29 ID:pXFOXfTh.net]
>>784
ハスケルも?

804 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 22:07:08.08 ID:B64Ry8yd.net]
身近な例で申し訳ないけど
学歴コンプで地頭の悪い子がHaskellに活路を見出そうとして必死なのを見たな
本人は数学どころか算数レベルなんだけどプライドの高い子だから…
しかもそいつ職業プログラマなんかではなくそもそも無職

805 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 22:08:50.18 ID:B64Ry8yd.net]
高卒なのをすっごい気にしてる奴だった
こっちは何も言わないのに
何かにつけて自分から「高卒だから」と言い出す奴だった

806 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 22:16:25.84 ID:HWuq8CQ1.net]
>>785
Haskellの事を言ってるんだと思うけれど、
Windows環境で不特定の人に使ってもらうのに、
実行時に依存するものが少なけれは、
何でも良かったんだよ。

ただ私がたまたま使えたのがHaskellだっただけ。
覚えるところから始めて良ければ、
GoとかRustでも良かったと思うよ。

807 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 23:46:49.01 ID:aSharIG8.net]
無職バカ高卒と接する機会なんてあるのか

808 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 23:49:38.82 ID:GorT58mz.net]
もしかしてご子息なのでは………

809 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 00:44:23.52 ID:Wi2RN7kc.net]
>>777
>ろくなもんじゃない

マーケティング戦略としては評価されるんだけどなぁ

810 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 02:13:40.78 ID:qKyyMXIN.net]
ろくでもない金の流れを止めたいか
もしかしてそのためにオープンソース時代になったんじゃないか



811 名前:デフォルトの名無しさん [2019/04/08(月) 06:29:47.15 ID:YCk8Lq16.net]
Android、iOS、WebAPIで共通化したい重めのロジックがある場合、新しめの言語だと何で書くのが一般的なの?
今の所試しにC#で書いていてすごく良いんだけど・・・・これだとAndroidやiOSでは怪しい方法を使わないとKotlin、Swiftから呼び出せないんだよね・・・・

812 名前:デフォルトの名無しさん [2019/04/08(月) 08:41:08.45 ID:WsbL+h0n.net]
>>797
rust

813 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 08:55:33.29 ID:nrWiuqwb.net]
オープンソース時代ってのがよく分からんのだが。
全部公開する訳ないじゃん。

814 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 09:32:47.25 ID:qKyyMXIN.net]
スカウターみたいだな
戦闘力を公開してランキングの上位にいるのが実は弱い奴で
測定された値が低い奴が実は強いみたいな

815 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 12:37:40.56 ID:kCGXJ0ps.net]
戦闘力Goか
ゴミめ

816 名前:デフォルトの名無しさん [2019/04/08(月) 12:40:26.18 ID:slzfC4/w.net]
プログラミング言Go

817 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 13:10:40.91 ID:8bidG0zI.net]
>>799
オープンソースなプログラムが増えたのは間違いないけど、今までオープンじゃなかったものがオープンになった例ってあまりないよね。
その辺の電化

818 名前:サ品のプログラムが公開されてるか?ゲームソフトのプログラムが公開されてるか?ってレベルの話だけど。 []
[ここ壊れてます]

819 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 14:02:16.86 ID:jWyFKSPm.net]
>>797
マジレスするとKotlin/Native

820 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 15:52:55.23 ID:AZyGZurv.net]
>>803
Microsoftはどんどんオープンソース化してるよ



821 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 16:39:18.73 ID:RrYITEie.net]
>>804
Kotlin/Nativeは性能が残念らしいよ
Kotlin/JVMどころかKotlin/JSにも勝てないらしい

822 名前:デフォルトの名無しさん [2019/04/08(月) 18:01:15.24 ID:xawk68Fs.net]
jsってたかがスクリプトだろ?それに負けるネイティブとは一体…

823 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 18:18:35.86 ID:g4TwmnyX.net]
>>805
世はオープンソース時代ってことか

824 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 18:53:20.89 ID:b4oWaaYl.net]
>>803
普通に家電のソースは結構公表されてるよ

LinuxつかったらGPLのせいで公表義務がある

825 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 19:05:40.94 ID:dk5yj0CN.net]
なんか議論が上手く進んでない気がするな。
おそらくマイクロソフトのオープンソース化も家電のソースコードが公開されてるのもオープンソース時代とはあまり関係なさそう。
オープンソースで儲かるビジネスロジックの説明があれば、どの分野でオープンソースが増えそうとか、どの分野は変わらなさそうとかわかるだろ。
俺が説明してやりたいところだけど、恥ずかしながらあまり詳しくないのだ。。。

826 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 19:16:21.05 ID:oVXy8kkj.net]
>>803 Apple だって Swift をオープンソースにしてるし。
オープンじゃなければ明日は無い。

弱小個人でもオープンにしてると結構助かる事はあるよ。
でもやはりある程度の大きさが無いと影響力は少ないけど。
逆に言うと大手が始めたオープン環境でも個人が参加できるし、アピールできる環境ができてる。

827 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 19:21:04.54 ID:j9hUx87z.net]
GAFAとか見てもオープンとクローズをうまく使い分けてるだろ。
なんでもオープンのがいいとか言うのは流石に思考停止過ぎる。

828 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 19:23:12.16 ID:oVXy8kkj.net]
>>812 ローカルなものはオープンにしてもメリットがないだけの話では?
Apple が Objective-C をオープンにしていないように。

他で利用できなければ意味ないもん。

829 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 19:25:38.55 ID:dk5yj0CN.net]
>>811
あなたはプラットフォームビジネスに限った話をしてるの?

830 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 19:31:57.48 ID:j9hUx87z.net]
>>813
とりあえずこれくらいは読んでから意見は言ってくれ。
local.joelonsoftware.com/wiki/%E3%82%B9%E3%83%88%E3%83%A9%E3%83%86%E3%82%B8%E3%83%BC%E3%83%AC%E3%82%BF%E3%83%BCV



831 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 19:58:19.89 ID:SOlrlBnQ.net]
>Sunに抜き打ちテストをしよう:音楽が止んだとき、どこに座るつもり?

この記事の7年後、Sunの椅子は無かったな

832 名前:デフォルトの名無しさん [2019/04/08(月) 19:59:36.26 ID:xawk68Fs.net]
Handsontableっていうスター数1万超えのそこそこ有名なOSSライブラリが商用完全有料化
Handsontable drops open source for a non-commercial license
https://github.com/handsontable/handsontable/issues/5831
コミュニティエディションとProのフリーミアムモデルを取っていたようだが、> Unfortunately, our observation is that the ratio of commercial to free users is about 1 to 25.
一人のProユーザーからの収益に25人がタダ乗りの構図w

以下はハッカーニュースのスレ

833 名前:
https://news.ycombinator.com/item?id=19488642
優れたプログラマの仕事がタダで搾取されるの見てるのは忍びなかったので歓迎という声も。

最近は、「OSSは儲からない」と当たり前のいう認識が中小規模から広がってる感じ。
大企業は別よ?
[]
[ここ壊れてます]

834 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 20:28:15.27 ID:b4oWaaYl.net]
必ずしもオープンソース=無料ではないわ

835 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 20:29:07.26 ID:r03ED/xX.net]
>>816
MSに裁判費用でつぶされたようなもんじゃねーか

記事も何がいいたいんかよくわからん

836 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 20:31:08.80 ID:LsIm9Vz3.net]
>>815
記事はオープンソース戦略というものをわかりやすく説明してくれてるんじゃないのか?

837 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 20:55:00.33 ID:qKyyMXIN.net]
オープンソースの世界でコストといえば学習コスト

838 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 20:57:53.89 ID:j9hUx87z.net]
文章を読めない奴が増えてるというのはどうやら本当のようだ。

839 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 21:30:20.12 ID:qKyyMXIN.net]
読むのもコスト
読者の時間をタダでもらっている

840 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 21:46:12.04 ID:HkfhEMJ9.net]
>>823
なんかカッコいい雰囲気だしてるけど何が言いたいの?



841 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 21:59:11.28 ID:qKyyMXIN.net]
数値化されないものが多すぎて数値が役に立ってない気がする
儲からないものは役に立たない
その根拠になっている儲けという値をどう解釈すればいいのかよくわからない

842 名前:デフォルトの名無しさん mailto:sage [2019/04/09(火) 05:14:29.32 ID:tj6v63GM.net]
>>823
このくらいの長さの文章でコストとかさ。。
本当にヤバイレベルで読めないんだな。

843 名前:デフォルトの名無しさん mailto:sage [2019/04/09(火) 05:56:51.75 ID:vvoqC9qD.net]
むしろ>>825の書き込みは短いのによくわからんから読むコストが高い。

844 名前:デフォルトの名無しさん mailto:sage [2019/04/09(火) 08:13:28.59 ID:uGaRLF8u.net]
Swiftはa better objective-cやし、アポー的にはOSSにして開発者を取り込みたいだけやで

845 名前:デフォルトの名無しさん mailto:sage [2019/04/09(火) 09:19:48.56 ID:Xb/cLdUa.net]
>>828 当たり前やん。 オープンソースの力だし。

846 名前:デフォルトの名無しさん mailto:sage [2019/04/09(火) 22:36:34.95 ID:SAQnN0sI.net]
>>806
7倍遅いんだっけ?
JSとかJVMとかはベースのV8とかHotSpotが頑張ってくれるからいいけど共有ライブラリなんてOS依存だもんな

847 名前:デフォルトの名無しさん [2019/04/10(水) 12:07:17.40 ID:LAqpHSrR.net]
>> 829
まだ最適化まで手が回ってないだけやろ?

848 名前:デフォルトの名無しさん mailto:sage [2019/04/11(木) 01:28:30.00 ID:Ukf06xgg.net]
まんこ

849 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 17:36:32.72 ID:JLr321nx.net]
ちゃんとおまんこって言え

850 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 19:19:06.92 ID:fkgKT7Pc.net]
うんこ



851 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 20:21:12.10 ID:4akxaAE1.net]
宣言型でも関数型でも論理型でもない、かつそこそこ実用的な言語ってない?

852 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 20:21:47.38 ID:4akxaAE1.net]
すまん宣言型じゃなかった手続き型だ

853 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 20:22:37.08 ID:MQr+4k7P.net]
英語かな

854 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 20:30:37.62 ID:4akxaAE1.net]
ボケるなら何型かまで書いてほしい

855 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 20:31:53.06 ID:EBXnKzt9.net]
>>835-836
SQL、HTML

856 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 20:45:01.76 ID:dh+zdZXo.net]
py

857 名前:デフォルトの名無しさん [2019/04/12(金) 20:50:21.05 ID:3bjvrHoK.net]
新潟
山形

858 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 21:04:24.33 ID:1KEWhHXZ.net]
HTML+CSSだろ。実用度ブッチギリ。

859 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 21:13:49.31 ID:4akxaAE1.net]
参考になるか笑えるかのどっちかでお願いします

860 名前:デフォルトの名無しさん [2019/04/13(土) 02:31:26.07 ID:fds+UVff.net]
ふとんに寝転んだ!へぇ!



861 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 10:05:18.65 ID:rx5m27Fn.net]
ボクはパイパンマスター

862 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 14:47:38.19 ID:qC7LW8Gr.net]
>>842 それより日本語だろ。

863 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 14:52:20.81 ID:hvrKDDfY.net]
>>846
日本語話してるやつに日本語勉強するように勧めるやつがいるか?
言語よりも論理が大事な証明だな。

864 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 15:26:19.06 ID:qC7LW8Gr.net]
>>847 >>842 がそう言ってるだろ。

865 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 15:29:42.33 ID:qC7LW8Gr.net]
>>842 は、テキスト記述言語であり、論理言語ではない。

HTML(エイチティーエムエル、HyperText Markup Language)

あまりにも浅はか。

866 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 15:45:06.60 ID:hvrKDDfY.net]
>>848

>>842が日本語すすめてるのか????

867 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 16:14:38.05 ID:qC7LW8Gr.net]
>>850 日本語がわからない人間と話す気は無い。

868 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 16:23:27.34 ID:J0f2aNVE.net]
アスペ vs アスペやめろw

869 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 16:31:59.53 ID:fLdXayeH.net]
おせっかいだけどまとめてみたわ

>>835が実用的な言語について質問

>>842がHTML+CSSと答える

>>846が日本語の方が実用的と答える

>>847が日本語話せるやつに日本語を勧めてどうすると、>>846につっこむ

>>848が、>>842がそう言ってると答える

わからんw

870 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 17:31:10.36 ID:3BkbLGk2.net]
くだらんやつらが沸いてるな。



871 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 18:12:54.03 ID:RrmGI4Te.net]
言語より論理って部分じゃね
まあ何にしても次世代言語関係ないが

872 名前:デフォルトの名無しさん [2019/04/13(土) 18:14:07.13 ID:XltOuzVd.net]
日本語なんて旧世代言語の最たるものだしな。

873 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 18:15:48.00 ID:oqNH9LQH.net]
読む限りではID:qC7LW8Grがやばい

874 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 18:16:51.61 ID:oqNH9LQH.net]
発端の>>835が言う 手続き型 関数型 論理型 どれにも該当しない言語って
自然言語かDSL(データ記述言語含む)しか無いだろうから
さらにプログラミング言語に絞るなら「無い」にしかならないと思う

875 名前: mailto:sage [2019/04/13(土) 18:39:37.96 ID:uLCkzvwc.net]
>>858
>>835
prolog はいかがですか?

876 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 18:45:41.20 ID:oqNH9LQH.net]
>>859
論理型の代表格では?

877 名前:デフォルトの名無しさん [2019/04/13(土) 18:58:31.17 ID:XltOuzVd.net]
かつ宣言型だね

878 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 19:01:00.43 ID:w+uNofJT.net]
最近使った中だとNode.jsが結構色んな分野で万能だと思った

879 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 19:16:59.68 ID:P2L1aOcn.net]
>>858
ないと言える根拠は?
知らないならわかるけど

880 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 19:37:09.14 ID:P1cuURkO.net]
俺の作った言語hogehogeが逆手続型だからなあ
(※ただし未発表)



881 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 19:39:22.53 ID:P1cuURkO.net]
悪魔の証明を知らない馬鹿

882 名前:デフォルトの名無しさん [2019/04/13(土) 19:47:56.87 ID:nXQ9b0jN.net]
証明が難しくとも、言い張ってたなら証明しないことにはな・・・・
いわゆる松永問答になっちまう

883 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 19:49:50.74 ID:J/cBqpWV.net]
>>862
Node.jsはAPI設計のセンスが優れてる
移植性と(インターフェイスの)安定性を重視した最小限の低レベルなAPIなのに、
生でもまあまあ使いやすいし、通常のWeb開発ならそこから逸脱してネイティブのライブラリに頼る必要があるケースも少ない

884 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 19:56:11.68 ID:oqNH9LQH.net]
>>863
既知のプログラミング言語の体系にそれ以外が見当たらないことから
「〜だろう」と書いたよ
具体例を1つ挙げてもらえば 857は間違い で終わる話かと

885 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 19:58:14.27 ID:w+uNofJT.net]
>>867
うん、でもWebだけじゃないんだよね
ラズパイと組み合わせたら結構制御系なんかでもPythonより使いやすい

886 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 21:57:00.96 ID: ]
[ここ壊れてます]

887 名前:P1cuURkO.net mailto: Node.jsはただの実行環境だと思うけどなんで唐突に出てきた? []
[ここ壊れてます]

888 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 22:09:10.82 ID:XM33Ir3X.net]
Node.jsはAPIセットでもある
他と違ってJavaScriptは標準ライブラリを持たないのだから、Node.jsとなって初めてPythonなどと対等に扱える

889 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 22:43:55.16 ID:ChpZ8guV.net]
node.jsはchromeのエンジンを持つ実行環境の一つ
javascriptは旧世代から続いてる言語
ライブラリはnpmというツールを使って組み込むだけで標準と呼ばれるものはない
Pythonも仕組みはJavaScript+node.jsと同じ
Pythonは他の言語で作ったライブラリをキックする仕組みが優れてる

890 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 23:07:38.46 ID:w+uNofJT.net]
ラズパイのプログラム実際にシリアル通信とかGPIO通信のプログラム組んでみたらわかるよ
Nodeでやった方が痒いところに手が届く感じ



891 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 23:17:26.38 ID:ChpZ8guV.net]
それはnodeだからというよりもJavaScriptだからだよね
非同期処理はjsが1番やりやすい

892 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 23:26:43.39 ID:BQ6xHmdo.net]
>>868
その見当たらないってのがどの程度見当たった結果なのかの質問
それなりに調べた結果なんだろうと思うから
間違ってるかどうかは知らないよ

893 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 23:57:57.78 ID:oqNH9LQH.net]
>>875
書いてることで全てだよ
後は反証するなり自分で調べるなり好きにして

894 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 00:02:20.27 ID:hnSS13Er.net]
つまり全く参考にならないことわざわざ書いたのな

895 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 00:52:45.60 ID:/V8zrPr0.net]
>>870
言ってることは正しいけど意地悪だな。
例えば「javascriptとnode.jsどちらにしましょう?」とか言われたらアホかとおもうけど
「pythonとnode.jsどちらにしましょう?」と言われてもなんとも思わないけどな。

896 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 01:12:39.16 ID:HNz/PUE2.net]
>>869 そのラズパイのメイン言語がPython なんだけど。
Jetson しかり

897 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 01:16:47.56 ID:HNz/PUE2.net]
Python の良いところは、良いものがあれば利用すれば良いじゃんという考え方。
Javascript で良いライブラリがあればそれを利用すれば良い。
敵対する関係でもなんでもない。 包容力の深さだろうな。

898 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 01:33:10.43 ID:KGA4Z0ov.net]
またHaskellコンプレックスの人か

899 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 02:09:48.17 ID:pAZpm3Pq.net]
Haskellやりたくなってきた

900 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 02:36:16.86 ID:HNz/PUE2.net]
>>881 僻まない僻まない。 堂々としてなさい。



901 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 08:31:25.85 ID:YQLb8Tsj.net]
ただただクソなものを否定するとコンプレックスっていうのもどうかと思うよ。

902 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 09:36:44.35 ID:4GBCpW8E.net]
>>878
言語スレでそれはないだろ
node.jsが出てくるのがそもそもおかしい
typescriptが出てくるならまだわかるが

903 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 09:56:40.33 ID:fg2GMqcu.net]
コンパイルしたらJavaScriptになるのに笑わせんなよw

904 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 10:06:17.80 ID:4GBCpW8E.net]
馬鹿をさらしてるな
node.jsの話題はスレチだろ

905 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 10:15:55.03 ID:/V8zrPr0.net]
>>885
>言語スレでそれはないだろ

議論の流れを遮ってまで拘る必要あるか?という点で意地悪だなと。

ただたしかにスレチだ。

906 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 10:39:11.44 ID:+8hSutfC.net]
PHPクソはコンプレックスですか?

907 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 10:42:55.50 ID:PamrpYki.net]
プログラミング言語を評価するのにその処理系や周辺のエコシステムまで話題にするのは
別におかしいとは思わんがな。Pythonの話にNumpyが出てくるくらいだし。

908 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 10:53:21.00 ID:NjF6kib1.net]
RustかGoでwasmやるためのいいサイトとか本とかってないですか?

909 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 11:04:45.47 ID:aFdd3aVG.net]
>>891
まだ二次

910 名前:情報に頼らないと何もできないような奴が手を出していい代物ではない []
[ここ壊れてます]



911 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 11:18:52.56 ID:lCqRAmft.net]
>>890
次世代言語じゃないからじゃね?たぶん。

912 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 12:00:03.75 ID:4GBCpW8E.net]
Kotlinとjavaがおなじ中間コードを吐くという理由で
このスレでjavaの話題を延々と続けてるのと同じ
スレチすぎる

913 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 14:44:56.19 ID:P/FPH7VM.net]
kotlinとjavaに例えるならnode.jsはJVMじゃね?

914 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 14:50:30.09 ID:P/FPH7VM.net]
いや、JREのほうが適当か

915 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 15:08:52.57 ID:MFvK1n9c.net]
node.jsってTypeScriptやKotlin/JSでも書ける?

916 名前:デフォルトの名無しさん [2019/04/14(日) 16:46:19.08 ID:IovzG98E.net]
>>835
手続き型言語でもなく、関数型でも論理型でもない宣言型言語は私も知らない。
HaskellベースにProlog載っけた関数論理型言語(curry)とか、逆に論理型ベースの論理関数型言語(Mars)なら知ってるが、今実用になってるかは知らん。
(綴りは微妙に間違ってるかも)

917 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 18:36:20.67 ID:8JmU//KT.net]
スレチじゃない話題の方が少ないのにどの面下げてスレチとか言ってんだよ

918 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 19:10:43.03 ID:+8hSutfC.net]
>>899
スレチ

919 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 19:17:17.35 ID:fg2GMqcu.net]
>>897
TypeScript→JavaScript→node.js
Kotlin→JavaScript→node.js
はできる

920 名前:デフォルトの名無しさん [2019/04/14(日) 20:13:21.19 ID:szUdZFoQ.net]
次世代のスレで、なぜ人々が旧世代の話をしたがるのか、その心理は気になる
ぼくの持論は、クソバカ老害どもには趣旨を理解することが出来ないからということになっているが、皆様はどうお考えだろうか



921 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 20:19:11.90 ID:YQLb8Tsj.net]
普通新しいものを採用する際は古いものと比較するよね?
そうすると新しいものって実は価値なくね?ってなることも結構あるんだよね。
僕の持論はそれを恐れているカス野郎が多くいるということになっているが、
皆様はどうお考えだろうか?

922 名前:デフォルトの名無しさん [2019/04/14(日) 20:45:25.54 ID:szUdZFoQ.net]
結構あるなら重畳ですが、このスレにそれがどれだけあるのか、クソバカなりに指し示していただけるとよろしいかと存じます。

923 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 20:50:27.21 ID:qRefkdYJ.net]
バージョンをひとつ飛ばすと効率が良いんだよな
第一世代から第三世代
新旧のバランスのとれた第二世代は評価されず
人々は両極端の話をしたがる

924 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 22:57:37.43 ID:bXuYrZFq.net]
>>902
このスレで次世代以外の話はスレチってのは正しい。
その上でなぜ旧世代の話が出てしまうのかというと、用途が同じなのに能力に差がないから比較して話すことになっちゃうからじゃね?
スポーツ系のスレでよく歴代の選手との比較ネタでスレが進み、懐古禁止って騒ぐ人がでてくるパターンと同じだねw

925 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 23:09:20.67 ID:WjGL7oJM.net]
それなら何故用途が被ってるのにその言語が出てきたかを語らった方が有意義では?

926 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 23:10:09.67 ID:/V8zrPr0.net]
5ch(匿名掲示板)にそんなに高度に話題を制限する能力がないんだよ。割りきって使わないとストレスたまるし他人にも迷惑だぞ。

927 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 23:30:03.16 ID:yhT1bY0Y.net]
旧世代に属するがあまりメジャーではない言語では古くから当たり前の機能を
観測範囲の狭い奴が新世代と称する言語で初めて知って
それをしたり顔で論じようとするから「ちょっと待て」となってるだけかと

928 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 00:28:28.90 ID:5Z9ghND4.net]
node.jsがそれにあたるとは思えない
しかも今更感が漂ってる
いい検索サイト見つけたよgoogleって言うんだみたいな超絶周回遅れ感

929 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 01:17:07.65 ID:rQHM+es2.net]
node.js 初版2009年
go 初版2009年
kotlin 初版2011年
swift 初版2014年
rust 初版2006年
TypeScript 初版2012年
Python 初版1991年
JavaScript 初版1994年
JAVA 初版1995年

930 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 07:07:15.98 ID:KXq8qGFi.net]
Python、古いんだね。載ってないけどHaskellも確か古かったよね。

どちらも旧世代言語やな。Haskellについては後発言語に近年色々パクられてるから次世代言語的的だけど。
Pythonは良く知らんのだけど、そういう要素あったっけ?



931 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 07:53:36.32 ID:LtQIdg5g.net]
クロスではnpm iを気軽にできない環境だと.net coreの方が良いと感じた。
Goほどデプロイ簡単じゃないけど、コピるだけ。
nodeはnpm moduleが全部フルJSとは限らないから、node_modulesコピーするだけじゃうまく行かないケースがある。
ラズパイでビルドが入るnpm iは結構遅い。

932 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 07:54:47.50 ID:LtQIdg5g.net]
C#も.net core 3.0だとパターンマッチが強力になってたり、意外に新しい言語になりつつあるよ。
割と早いし。

933 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 08:10:10.45 ID:6QGEsl+6.net]
趣味レベルならPythonのように遅い言語は良いんじゃないかね
早さを求められないExcelなんかのVBAに置き換わるにも適してるとは思うよ

934 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 08:22:11.09 ID:PQoyOqOA.net]
趣味レベルは正義でも悪でもない
仕事レベルでやってるやつの正義感の強さを冷笑するのが趣味レベル

935 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 08:43:03.48 ID:IXPbMXJW.net]
excelこそ速さ必要じゃないか?

936 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 08:52:14.29 ID:6QGEsl+6.net]
excelで10万件100万件のデータを扱うのか?

937 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 09:18:32.45 ID:5HJMQZCl.net]
ECMAScriptとかわりと次世代的な昨日載ってる方じゃね?

938 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 09:20:05.49 ID:TjoBwL2Q.net]
IEを投げ捨てればそうかもな
VBAerにそれができるの?

939 名前:デフォルトの名無しさん [2019/04/15(月) 10:15:29.58 ID:32QyJyZG.net]
npm って install コマンドでビルドは走らないと思うけど

940 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 10:36:26.91 ID:LtQIdg5g.net]
>>921
走るよ。バイナリ取得できるものは走らないけど。
leveldownあたり入れてみ。



941 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 11:23:07.97 ID:7tXGeSsk.net]
クローム拡張とかって簡単につくれんのかな?
JavaScriptで出来てるものとかあるし。

942 名前:デフォルトの名無しさん [2019/04/15(月) 11:30:59.00 ID:32QyJyZG.net]
>>922
ビルドって C++ のか
js の話かと思った

943 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 11:53:41.07 ID:hce9CeGK.net]
Ruby のBundler でも、バイナリじゃないものは、Windows では、MSYS2 でコンパイルされる

コンパイラは、2〜3GB あるから、漏れは、コンパイラを入れていない

それで、websocket モジュールが使えない。
websocketは、ソースコードで配布しているから

漏れは、node.js もインストールしたけど、VC++ が入ったのかな?

944 名前:デフォルトの名無しさん [2019/04/15(月) 12:31:25.25 ID:BsGbG3gA.net]
ほれ見ろRubyガイジまで来たじゃねーか

945 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 12:54:41.60 ID:zTAvdEPs.net]
お前はガイジガイジな

946 名前:デフォルトの名無しさん [2019/04/15(月) 13:15:48.17 ID:jiJBq32l.net]
Kotlinもよろしく

947 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 17:07:56.68 ID:cVvpURwa.net]
2019年にわざわざ学ばなくてもいいプログラミング言語--Codementorがランキング発表
Liam Tung (Special to ZDNet.com) 翻訳校正: 編集部 2019年04月15日 11時58分
https://japan.zdnet.com/article/35135732/

(前略) Codementorのデータから、2019年にわざわざ学

948 名前:ヤ必要のない言語はElm、
CoffeeScript、Erlang、Lua、Perlが挙がっている。

 最低(ワースト)から最高(ベスト)までのリストを見ると、いくぶん驚きではあるが、
Androidアプリ構築で人気のKotlinは18位から11位に上昇している。もっとも、Kotlinで
書かれたプロジェクトの数が増えたことから、Microsoftが買収したりコードホスティング
サービスのGitHubではKotlinは最も急成長した言語であることが分かっている。

 一方で、Codementorのデータで「最も改善した」言語はDartだった。DartはGoogleで
開発された言語だ。

 CodementorはDartの改善について、Flutterが主な要因としている。FlutterはGoogleの
モバイルアプリを開発するためのSDKで、単一のコードベースでiOSとAndroidアプリを構築
できる。FlutterアプリはDartを使って作成されており、Googleが取り組んでいるOSである
Fuschiaで重要な位置を占めている。

 Flutterを後ろ盾にしたDartの上昇からいえることは、Googleの決定が開発者に大きな
影響を与えるということだ。

 一方で、Codementorの雇用市場に関するインデックスでは、Dartのスコアは高くない。
だが、コミュニティーのエンゲージスコアは改善している。
[]
[ここ壊れてます]

949 名前: mailto:sage [2019/04/15(月) 20:16:36.36 ID:LQQFzfOD.net]
>>911
ruby がないのはどう言ったわけだ!
強く抗議する!

950 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 20:35:58.99 ID:IXPbMXJW.net]
関数一つ作れば済むようなことをわざわざワンライナーで書くための機能とかありがたがるバカが多すぎなんだよ。
そういう奴に限ってまともにマクロも書けなかったりするし意義もわかってない。



951 名前:デフォルトの名無しさん [2019/04/15(月) 20:41:49.41 ID:0pfueoRK.net]
具体てきには?

952 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 21:00:12.73 ID:0fUMxMwS.net]
>>931
> まともにマクロも書けなかったりするし意義もわかってない。

まともに書けてないマクロってどんなん?
意義って何の意義?

953 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 21:18:43.88 ID:uKqF+X4O.net]
まともにマクロ書くのかよ

954 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 21:19:20.70 ID:uKqF+X4O.net]
一生lsコマンド自作してろ

955 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 23:09:56.02 ID:cJmtAKHt.net]
一生slコマンド自作してろ

956 名前:デフォルトの名無しさん [2019/04/16(火) 09:11:44.18 ID:wCqxjGzR.net]
$ cat ls
#!/bin/sh
echo *
$ ■

957 名前:デフォルトの名無しさん [2019/04/16(火) 22:30:50.65 ID:U0PZjfEr.net]
Bosque Programming Language
https://www.microsoft.com/en-us/research/project/bosque-programming-language/

> The Bosque programming language is designed for writing code that simple, obvious, and easy to reason about for both humans and machines.

https://github.com/Microsoft/BosqueLanguage

958 名前:デフォルトの名無しさん mailto:sage [2019/04/16(火) 22:52:45.40 ID:IMDZuPwz.net]
良さげだけど名前なんとかならなかったのか

959 名前:デフォルトの名無しさん mailto:sage [2019/04/16(火) 23:38:30.53 ID:V3kPCGsb.net]
GoのシンタックスをC#系(TypeScript, Kotlinあたり)に寄せた感じだな

960 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 00:27:27.77 ID:SugD6GpG.net]
functionとかの予約語って必要なのかな?
あと ?.演算子が普通に普及しすぎてて声に出すときどうやって読むのか気になる



961 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 00:33:44.22 ID:SugD6GpG.net]
tryGetPropertyなんてクソみたいな関数名つけた例を出してくるのはセンスがないと思う

962 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 00:39:11.86 ID:SugD6GpG.net]
updateYも見てて糞だなって思う
updateX
updateZ
updateXY
updateXZ
後は略

と言ったように後に並んでるのを考えると寒気がする
こういうのを解決

963 名前:しない言語を作ってどうすんの?

updatePoint (p, _ , 5, _) の様に指定で来たらいいだけじゃないか?
[]
[ここ壊れてます]

964 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 18:43:57.77 ID:DaACwh1w.net]
そんなしょうもないシンタックスの問題のために新しい言語を作る必要はない。

965 名前:デフォルトの名無しさん [2019/04/17(水) 18:52:26.28 ID:q/9NxBQE.net]
次スレはBosque入れてSwift外そう。誰も話してないし。

966 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 21:32:33.71 ID:c+s4Q9PY.net]
センス悪いから流行らないだろ

967 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 21:47:50.11 ID:c+s4Q9PY.net]
劣化typescript

968 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 21:53:06.06 ID:x83DzjZ7.net]
TypeScriptもesにデコレーダが使えるようになるまでの命だしな

969 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 22:03:16.93 ID:MHZJUsOd.net]
TypeScriptっぽいML?いまいち存在意義がわからない。

970 名前:デフォルトの名無しさん [2019/04/17(水) 22:13:26.94 ID:pGCWwX/F.net]
>>948
デコレーターの議論は進んでるのけ?



971 名前:デフォルトの名無しさん [2019/04/17(水) 22:33:23.28 ID:wBdVTFw7.net]
まだドラフトなのに早漏がbabelでデコレータ使いまくったせいで記号の交換ができずプライベートフィールドが#になってしまったらしい

972 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 23:20:20.66 ID:yZvf1AfT.net]
言語開発は取り返しつかな過ぎて大変だな

973 名前:デフォルトの名無しさん [2019/04/18(木) 00:10:03.73 ID:T7S3Nadu.net]
これか。

https://github.com/tc39/proposal-class-fields/blob/master/PRIVATE_SYNTAX_FAQ.md#why-was-the-sigil--chosen-among-all-the-unicode-code-points
> @ was the initial favorite, but it was taken by decorators. TC39 considered swapping decorators and private state sigils, but the committee decided to defer to the existing usage of transpiler users.

最低だな。
だから嫌われるんだ早漏は。

974 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 02:22:32.61 ID:xDdfDEdP.net]
>>913
違う環境に移すならnode_modules削除してnpm installし直すの当たり前じゃんコピんなよ

975 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 08:34:12.12 ID:G2shfX5j.net]
「時代が俺に追いついてないので就職先がない」

976 名前:デフォルトの名無しさん [2019/04/18(木) 09:40:33.13 ID:GZG5vyPp.net]
>>955
大丈夫。そのまま待ってると時代の方が後からゆっくり変わってきてやがてフィットするようになるから。

977 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 09:43:44.77 ID:/A1SaGp7.net]
25年後にな

978 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 10:39:33.53 ID:mwcSOOzY.net]
オープンソースには人月の神話がない
そんなふうに考えていた時期が

979 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 11:54:37.34 ID:F6nfsJw8.net]
Ruby では、

cat : ローカル変数
$cat : グローバル変数

@cat : インスタンス変数
@@cat : クラス変数

Cat : 定数は、大文字で始まる

慣習として、
BigCat クラス・モジュールのファイル名は、big_cat.rb

ローカル変数・メソッド名は、big_cat
定数は、BIG_CAT, BigCat

980 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 14:32:05.01 ID:Hosp3yF6.net]
>>959
はいはい斜陽言語



981 名前:デフォルトの名無しさん [2019/04/18(木) 14:47:54.33 ID:OXzSFMTD.net]
>>959
その、ソースを上から下まで舐めるように読まないとグローバル変数が何個あって、どう使われてるか把握出来ないのが大規模開発に向かないんだよ。
動的型言語は自由度が〜って言うけど、他人に把握し難い自由度は害悪でしか無い。

982 名前:デフォルトの名無しさん [2019/04/18(木) 14:55:20.05 ID:nwidurpX.net]
書きやすく読みにくい
どっちゃりある関数ライク

983 名前:の書き方見るに書きやすいとも思えないが []
[ここ壊れてます]

984 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 17:04:59.53 ID:f9Qhvlz2.net]
斜陽言語の宣伝をいくらしても人気が上がることはあり得ないんだから潔く諦めたら良いのに。

怖くて他の言語を勉強できないんだろうな。 爺さんか?

985 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 18:19:58.34 ID:VhOKsbOT.net]
頭文字が大文字か小文字かでアクセス制限が決まる言語は嫌だな

986 名前:デフォルトの名無しさん [2019/04/18(木) 19:21:38.84 ID:htBhhMPG.net]
Bosqueのレビュー記事が来たぞぉ

Microsoft debuts Bosque – a new programming language with no loops, inspired by TypeScript
https://www.theregister.co.uk/2019/04/18/microsoft_bosque_programming_language/

987 名前:デフォルトの名無しさん [2019/04/18(木) 19:53:47.38 ID:jNNJnl9I.net]
あたま文字D。

988 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 19:56:03.14 ID:kJRNYq6f.net]
nodeで動くんか?
遂に.net切りか?

989 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 20:03:33.01 ID:rt2qFRnt.net]
>>874
そんな大層なもんじゃない

990 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 20:04:09.10 ID:rt2qFRnt.net]
>>967
ミスった



991 名前:デフォルトの名無しさん mailto:sage [2019/04/18(木) 21:26:30.05 ID:ILDo2ap3.net]
>>965
名前の由来の画像の印象悪すぎで草
薄暗く霧がかって見通しが悪いところに無秩序に生える木々とか

992 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 09:52:28.55 ID:6Bax6/iK.net]
タロットカードの中で印象最悪なやつに投資してる人もいるんですよ

993 名前:デフォルトの名無しさん [2019/04/19(金) 10:00:20.16 ID:p/ztoCUW.net]
確かになんでこんなセンス無い名前にしたんだろ
せめてスペルくらいbosqにしろや
programをprogrammeと書く奴はいないし
queをqueueと書く奴もいない
referrerはreferer

994 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 10:03:55.74 ID:W0HIZatt.net]
おれはbosqよりはBosqueの方がいいと思う。

995 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 10:06:11.56 ID:W0HIZatt.net]
読みは「ボスケ」だよね?bosqじゃ「ボスキュー」になっちゃう。

996 名前:デフォルトの名無しさん [2019/04/19(金) 10:32:02.15 ID:D1XYkIIA.net]
>>973
俺は思わない

997 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 11:07:14.97 ID:NsTUo0Bg.net]
>>972
>書く奴はいない
イギリス綴りやラテン語由来の雰囲気を出したい意図があるんじゃない?

998 名前:デフォルトの名無しさん [2019/04/19(金) 12:18:06.78 ID:U46FCs4Q.net]
キューは思い切り口を尖らせながら言うこと。

999 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 12:22:27.76 ID:/+wKzNlv.net]
tsで書かれてるけど最終的にjsになるの?

1000 名前:デフォルトの名無しさん [2019/04/19(金) 12:23:51.89 ID:p/ztoCUW.net]
>>976
そんな意図、欧米人にしか通用しないと思うのだがなぁ…

ところで新記事きてた。
googleの力も借りて箇条書き部だけ適当に訳した。

Microsoft aims for simplicity with Bosque programming language
https://www.infoworld.com/article/3390197/microsoft-aims-for-simplicity-with-bosque-programming-language.html
・Bosqueは不変(immutable)データと調和する機能モデルを採用しているため、すべての値は不変です。
副作用がなければ、コードブロックの任意のステートメントの作用を理解することはとても単純になります。
関数型言語は、プログラム開発の単純化、洗練されたツール、およびこのモデルによって可能になるコンパイラの最適化の恩恵を受けています。
・更新可能なvar!変数への複数回の代入を許可することで、関数型プログラミングはブロックスコープと{…}括弧と融合します。
・関数はファーストクラスの値であり型です。
・ラムダコンストラクタは、ラムダ作成時のクロージャキャプチャ変数のために、ラムダ本体のコード定義と変数コピーセマンティクスを組み合わせたものです。
・シンプルで押し付けがましくない型システムは、意図を伝え、問題領域の関連する特徴を符号化するために、構造型(structural types)、組み合わせ型(combination types)、および公称型(nominal types)といった一連の型の使用を可能にする。
・型付き文字列は、文字列の内容に関する既知の構造を、人にとって意味があり、かつ型チェッカーが利用できる方式で型に変換するためのメカニズムを提供します。

続く>>979



1001 名前:デフォルトの名無しさん [2019/04/19(金) 12:24:14.88 ID:p/ztoCUW.net]
>>979 続き

・ref引数を渡すことでパラメータをスレッド化することができます。
複数の戻り値(multi-return values)に代わるものとして、これはメソッドが渡された変数を使用・更新するようなシナリオを単純化します。
パラメータの更新を許可することで、余分な(extra)戻り値の管理が不要になります。
この機能はまだ実装されていません。
・名前付き引数が提供されています。
残余引数(rest parameters)やスプレッド演算子(spread operators)も。
これらは呼び出しやコンストラクタ操作の一部としてデータ操作を実行できます。
・不変式/不変条件(invariants)、サニティチェック、および診断アサーションといったさまざまな表現のための一級のサポートが提供されています。
・Bosqueでの一括代数データ操作は、一括読み取りとデータ値の更新から始まります。
作成されたオペレータは、コードを全体的な意図に集中させ、開発者がデータ構造操作に関する代数推論をするのを助けます。
代数演算は、データ型、タプル、レコード、および名義型、さらには射影、複数更新、およびマージを含む演算に対して提供されます。
・反復処理機能により、構造化ループは高レベルの反復処理構成体と交換されます。
同じループを書くことの定型句を削除することで、束縛計算を含むエラーのクラスが排除されます。
intentは意図(intent)を明確にします。

1002 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 15:34:39.70 ID:y1N4KfNl.net]
>>977
キューじゃなくてケだぞ。

1003 名前:デフォルトの名無しさん [2019/04/19(金) 16:09:21.47 ID:U46FCs4Q.net]
くぇー

1004 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 16:13:42.90 ID:oHWX6/LR.net]
これアメリカ人の大部分は初見で読めないんじゃないの?w
むしろ(ケベック系つながりで)カナダ人のほうが読めそう

1005 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 16:36:30.33 ID:y1N4KfNl.net]
>>982
くぇーでもなくて、ケ

1006 名前:デフォルトの名無しさん [2019/04/19(金) 16:38:33.84 ID:p/ztoCUW.net]
フランス人ならフランス語のQu'est-ce que c'estがケツクセーって読むらしいからやっぱりボスクって呼ばれると思う

1007 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 17:13:18.79 ID:GSI3q7h6.net]
https://ja.forvo.com/word/bosque/
ここで聞くかぎりだと
ボスケー、ボスキーって感じだな。

1008 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 18:08:54.60 ID:nkWQ7fAT.net]
ケかクだってここにいる高学歴高知能な人間なら分かりそうなもんだけどな

1009 名前:デフォルトの名無しさん [2019/04/19(金) 18:54:58.66 ID:U46FCs4Q.net]
Κе

1010 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 19:25:02.32 ID:GSI3q7h6.net]
でも聞くとキが近いんだよ



1011 名前:デフォルトの名無しさん [2019/04/19(金) 20:11:35.59 ID:j6ebG9/X.net]
bosqueじゃ新しいメッセージキューみたいだな

1012 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 20:38:24.84 ID:F98lm+5F.net]
bosque スペイン語で森の意味かな?

>>979
>欧米人にしか通用しない

ラテン語やラテン系言語を学んだことのある層は
欧州以外だとごく少なそう。

1013 名前:デフォルトの名無しさん [2019/04/19(金) 20:43:30.55 ID:U46FCs4Q.net]
また毛の話してる・・・

1014 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 20:58:43.05 ID:omu6urbK.net]
>>954
それが出来ない環境ってあるんよ。
稼働機はインターネット繋がってないとかね。
そういうのはクロスでコンパイルして持ってったりするし、
それと同じマシンをインターネットにつながる場所からnpm iして、持ってったりするんよ。
ラズパイ使うならあるあるのケースだと思うけど。
そういうユースケースすら浮かばない残念な人なのかな?

1015 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 22:05:42.59 ID:GSI3q7h6.net]
ラズパイならネット繋がるとこに持ってって>>954すればいいじゃんw

1016 名前:デフォルトの名無しさん [2019/04/19(金) 22:14:26.38 ID:er92Du55.net]
そういう場合無理せずgoでいいんじゃないか
Cでもいいけどw

1017 名前:デフォルトの名無しさん [2019/04/19(金) 22:19:58.50 ID:er92Du55.net]
残りレスヤバそうだから次スレ立てとく
https://mevius.5ch.net/test/read.cgi/tech/1555679940/

1018 名前:デフォルトの名無しさん mailto:sage [2019/04/19(金) 23:43:51.27 ID:hwsqIZVq.net]
Bosqueよう分からんな。俺の頭の中では別レイヤーの概念が同じ階層にいる感じがする。

あと、型付き文字列って特別扱いしないと駄目な機能なのか?
TString<PhantomType> = { data : String, phantom:PhantomType }みたいに定義してコンストラクタ隠したらできると思うし、
そしたら文字列に限定せず、0より大きい3の倍数だとかを表現するのにInteger[Zm3]とかやれるべきだけど特に書いてないし。

subtypingはOCamlで慣れてるからそんなに難しくはなさそう。ただ、リストや配列をコンパクトにできるのか自信無い

1019 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 00:29:47.76 ID:V6hNb77K.net]
ラズパイ3B+しか持ってないからネットに繋げられないってシチュエーションが想像できないな

1020 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 01:38:26.24 ID:tdttDGmt.net]
スゥウィフトの4値エラーとか革命的発想だと思うんだけどな
なぜ話題にならない?



1021 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 01:39:59.62 ID:tdttDGmt.net]
ボスケってなんやねん
ボスケとか声に出して読みたくないぞボケカス

1022 名前:デフォルトの名無しさん mailto:sage [2019/04/20(土) 01:47:41.08 ID:tdttDGmt.net]
>>997
ただの文字列インタンスを生成するのにそんなゴミ情報くっついてたらオーバーヘッドがオーバーだろが

1023 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 166日 5時間 17分 31秒

1024 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<235KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef