X



次世代言語議論スレ[Rust Kotlin Haskell]第6世代 [無断転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
0003デフォルトの名無しさん垢版2017/08/28(月) 22:07:52.50ID:5I+bTEeA
Goは次世代じゃないのでw
0004デフォルトの名無しさん垢版2017/08/28(月) 22:08:16.11ID:5I+bTEeA
Scalaは文字数の関係で消した
Kotlinがあるしまあええやろ
0007垢版2017/08/28(月) 22:36:21.21ID:J4nOOC8D
宛らHaskellオナニー会場だな。
0010デフォルトの名無しさん垢版2017/08/29(火) 01:21:57.77ID:2UGV+crA
Goはな、一瞬 勢いはあったからこれは結構伸びるなって思ってたけど、本当にどこいったの?
0013垢版2017/08/29(火) 08:02:13.86ID:OUqaVZ1b
>>8
古い状態しか知らなかったのは認めるが、Haskellを攻撃してるんじゃないぞ。
Haskell信者に、オナニーすんなよって牽制してるだけ。
0014垢版2017/08/29(火) 08:03:40.21ID:vVNBkV0e
>>10
>>11
Scalaも消えてる時点でお察し。
0015デフォルトの名無しさん垢版2017/08/29(火) 08:30:30.26ID:IyuoKWtG
古い状態? 古い状態?????wwwww

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>)である時くらいかな。

0940 デフォルトの名無しさん 2017/06/01 01:21:00
>>930
>いや、完全に記憶だよりだからその辺違うなら違うんだと思う。
>optionじゃなくてnilだった気もする。

記憶違いのレベルでなく、それはどこからどう見てもHaskellの型とは似ても似つかない。
記法の問題でもない。
概念レベルから根本的にHaskellとは異なるものをHaskellの欠点と言い張っているだけ。


クソゴミガイジスギィ!!!!!!!!!!!
こんなガバガバ知識でHaskell 信者牽制しようとか草草草ァ!!!!!
0016垢版2017/08/29(火) 11:12:24.85ID:vVNBkV0e
>>15
余程Haskell好きなんだね。
そりゃ永遠の次世代に相応しいのかもしれんな。
0017デフォルトの名無しさん垢版2017/08/29(火) 11:54:57.29ID:sgTDSrY2
Go消すなや。言語としては素朴だがエコシステムは他の言語でも取り入れてほしい部分が多いぞ。
0018垢版2017/08/29(火) 12:48:01.55ID:vVNBkV0e
Haskell推したくて仕方ないんでしょw
わざわざScala落としてるし。

しかし、Haskellなプロジェクト聞かんなぁ。グループ社内にも稼働してるプロジェクトなさげ。
どこでどう使ってるんだろう?

まあ、知識無いのはそうなんだろう。本気で使った事は無いし。
アンチ的な意味ではなくて、実用例知りたい。
信者なら信奉してる凄いコードとかプロダクトあるだろうに。
無いから次世代だって訳でも無いだろうしね
0020デフォルトの名無しさん垢版2017/08/29(火) 15:11:18.71ID:mQvEZTS9
次世代言語ってのは出た時期じゃなくて言語の機能だぞ
Goは全然次世代言語じゃない
0021デフォルトの名無しさん垢版2017/08/29(火) 15:43:04.97ID:JnW2kyj+
スレチかもしれませんが質問です。
爆サイというサイトで「なりすまし防止」でパスワードを入れたんですが、解析されて同じトリップを相手に使用されました。
気持ち悪くて怖くなり、それ以来やっていません。
62^4=14776336通りもあるパスワードをどうやって解析したんでしょうか?
もし解析ができるなら、やり方までは聞きません。
解析ができるのかできないのかを知りたいです。お願いします。
0023スレチにマジレス垢版2017/08/29(火) 17:51:59.68ID:U+uFo9S9
40bit(2^40≒1兆通り)暗号化が
総当たり攻撃であっという間に陥落するご時世ですが、何か?
0026垢版2017/08/29(火) 20:00:09.20ID:vVNBkV0e
あれ?煽りは書けるのにプロダクトは出てこないんだ?
0027デフォルトの名無しさん垢版2017/08/29(火) 20:31:26.98ID:I7TvgsKU
>>23
つまり、ここ2ちゃんのトリップも簡単に該当できるということでしょうか?
>>24
すみません。
ここと合わせて3ヵ所に書きました。
どこのカテゴリーで尋ねればよろしいでしょうか?
0028デフォルトの名無しさん垢版2017/08/29(火) 20:59:39.37ID:vNMaMIi0
前スレでも書いたけど、うちの会社はネットワークインフラをdotで書くんだけど、それが論理矛盾してないかを確かめるツールはHaskellで書いてあるよ
0031デフォルトの名無しさん垢版2017/08/29(火) 21:15:01.24ID:k20a446A
>>29
そうなんですか。凄い詳しいんですね。ありがとうございます。
私みたいなクズ人間の住所を知られて、お伺いしてもらってもかまいません。
オフ会でもしますか?
0033デフォルトの名無しさん垢版2017/08/29(火) 21:43:45.07ID:k20a446A
>>32
textPlusってアプリ入れてますか?
お電話します?
タダでは申し訳ないので、色々と教えていただけましたら、お礼はいたします。
0036デフォルトの名無しさん垢版2017/08/29(火) 22:08:55.01ID:k20a446A
>>35
なにもしてないですよ?
0037デフォルトの名無しさん垢版2017/08/29(火) 22:42:29.93ID:E/zLqwO6
>>20
機能かなぁ。
むしろポリシーとか思想とかそっちじゃない?
機能だとしても、温故知新でより整理されたのであれば必ずしも新しなくてもいいと思う。
0038デフォルトの名無しさん垢版2017/08/29(火) 23:32:07.30ID:zopxH8Yq
おれも思想とかポリシーのが重要だと思う。
糞機能をなるべく排除した方がよいというのはとても前向きな発想。
0041デフォルトの名無しさん垢版2017/08/30(水) 01:06:01.85ID:t7ExSs7Y
>>39
そうだよ
0042デフォルトの名無しさん垢版2017/08/30(水) 01:06:33.52ID:t7ExSs7Y
次スレは実用言語のKotlin外してprolog入れようぜ
0043デフォルトの名無しさん垢版2017/08/30(水) 01:41:45.91ID:2eRd6qUC
>>38
まさにこれ。 Goは引き算の美学がある。

* publicとかprivateとか本当に識別子として必用?削ろうぜ。
* classとstructって本当に両方必用? structだけにちゃうぜ
* 構文規約、言語側で決めちゃうんで問答無用で従ってね。
* パッケージ管理っている? 直接import文にgithubのurl使っちゃおうぜ。(最高!)
0045デフォルトの名無しさん垢版2017/08/30(水) 01:54:44.48ID:2eRd6qUC
>>44
それはあるのかもしれない。

まつもとゆきひろの 言語のしくみ を読んでるけどそんな感じはする。
rubyの作者が作ってる言語streemも気になる。
言語としてRxの全てはストリーム。を体現する言語になるんだろうか。
0046デフォルトの名無しさん垢版2017/08/30(水) 05:36:12.15ID:p2CL0unP
>>43
引き算は使いやすくなる範囲でなら良い
Lispみたいに極端に単純化し過ぎて
可読性下げなければ
0048垢版2017/08/30(水) 07:14:31.87ID:lVz5AbT7
>>47
別にgithubではなくても、リポジトリ作れるし取ってこれるよ。
逆に、フォークするのがめんどいと問題になるぐらい。
0051デフォルトの名無しさん垢版2017/08/30(水) 09:58:26.18ID:aU59dfgr
エディタが括弧ハイライトしてくれるし、)))))が読みにくいと感じたことはない。
いやメモ帳で書いてるんなら確かに読みにくいと思うけど
0053デフォルトの名無しさん垢版2017/08/30(水) 15:34:39.73ID:t7ExSs7Y
>>43
リスト操作をforで書かせる言語のどこが引き算の美学?
0054デフォルトの名無しさん垢版2017/08/30(水) 15:35:17.90ID:t7ExSs7Y
goはまともにリスト扱えるようにしてから出なおして来い
0055垢版2017/08/30(水) 16:03:05.84ID:lVz5AbT7
>>53
forと言う単語に引きずられてるのでは?
チャンネルが尽きるまで、がforで書ける。
シーケンシャルに舐めるのであれば、バッファのあるチャンネルが実質、リストとして使うに充分。
マップでも同じ構文で書けるけど、キーでアクセスしない、Enumerator的なものは充分にチャンネルで捌ける。
かつ、そうしとくと入れる方も出す方も両方goroutineにできるので、思ってるより色々シンプルに片付くよ。
0057デフォルトの名無しさん垢版2017/08/30(水) 16:32:29.25ID:IELUMgSj
>>56
具体的にどのあたりが読みにくい?
確かに視認性はよくないなと思うことはあって
エディタの助けがかなり必要だとは思うけど。
0058デフォルトの名無しさん垢版2017/08/30(水) 16:33:38.01ID:YH54NEsT
>>56
>Lispは可読性の低さが普及しない原因

そこまで断定的に書くってことはなんかエビデンスあんの?
0059デフォルトの名無しさん垢版2017/08/30(水) 16:59:12.43ID:flwVYOal
こうなってくると未だに現役バリバリなC言語って凄くね?
適当なメモリブロックを適当な型に適当にキャストするだけで
配列としてアクセス出来たり、構造体としてアクセス出来たり
世の中には、こんな基本的な事すら出来ない言語もあるようだし
0061垢版2017/08/30(水) 18:35:51.68ID:lVz5AbT7
clojureの記号が読みやすいと思う奴居るんだ。
あれクソ構文だと思ってた。
0063デフォルトの名無しさん垢版2017/08/30(水) 19:05:39.52ID:2eRd6qUC
Lispって()使いまくりなんだろ。だから可読性低いってイメージ
使ったことはないが。
0064デフォルトの名無しさん垢版2017/08/30(水) 19:25:08.76ID:CBl6UY0A
>>44
rubyは足し算の醜学だろ一緒にすんな!
map/reduce, collect/inject これすらまとめられません笑
関数、ブロック、プロック、え?ラムダが流行りだって?じゃそれも笑
思想がないからあれもできるようにしましたこれもできるようにしましたで何一つまとめられません涙
goと真逆じゃねーか何でもかんでも未整理にぶっ混みやがって思想もへったくれもあるかあんなゴミ。
言い過ぎたがgoの引き算にすり寄っていい言語じゃないことは確かだろ
0067デフォルトの名無しさん垢版2017/08/31(木) 00:09:20.36ID:PxNjJG10
インデントしなきゃどんな言語も可読性悪いし、すればlispだって読めるだろ
普及期にC言語が一番使われてたからそれに似た言語が一番読みやすい人が多いってことだろ
0068デフォルトの名無しさん垢版2017/08/31(木) 00:42:44.93ID:+TmXt6Nx
それでもCライクな文法が一番流行ってるのは
それが読みやすさの本質を持ってるからだろ

ペェ〜ルとかルビー(藁)とかさぁ・・・なんだい、あのゴミは
0069デフォルトの名無しさん垢版2017/08/31(木) 00:54:30.69ID:uZy7Dhde
ブロックインデントの方が読み易いしC言語のように括弧を多用する言語は読み難いと思う
0070デフォルトの名無しさん垢版2017/08/31(木) 01:06:35.21ID:witLpSbc
ブロックインデントってBNFとかで表現するときどうするんだろう
yaccとかに食わせられるんかね、良く知らんが
0071デフォルトの名無しさん垢版2017/08/31(木) 01:18:56.42ID:09Aq80RE
可読性が… みたいな事言ってる人はどうやってソース読んでるんだろ

まさかソースを(白黒)印刷して読んでるわけではあるまい?
0072デフォルトの名無しさん垢版2017/08/31(木) 01:20:35.67ID:J2aSRpVx
英語と日本語と中国語どれが読みやすいかと同じじゃね?

漢字のような表意文字は抽象度が高く、短い語数で意味が凝縮されるから可読性は高まる
でも中国語のように英数字以外がすべて漢字になると、区切りや各単語の軽重が分かりにくく可読性が下がる面もある
ということで日本語は優れてると思うけど結局は慣れの問題が一番大きい
0073デフォルトの名無しさん垢版2017/08/31(木) 02:02:58.96ID:witLpSbc
それ言ったら英語なんか動詞で文全体の構造が決まる言語だからな
基本五文型とか初めて習ったときは意味不明だったよ
日本語には無い考え方だ
着目している部分が全然違ってて流石だなとしか言いようがない

もっと言えば英語のような言語は構造重視、関係性重視の言語だと思うし
日本語のように述語が最後に来る形式は時系列重視の言語だと思う
0074デフォルトの名無しさん垢版2017/08/31(木) 02:12:56.17ID:witLpSbc
あと、a とか the とかもマジ意味不明で
そんなもの無くても会話は成立するのになんでって感じだし
日本語には全くない感覚だからな
あるカテゴリーの中の一つ、とか、固有名詞、とか、えらく数学的で
普段からそんなこと考えながら会話してんのかよマジ半端ネーナって感じ
文法の中にそんなものを持ち込むこと自体が凄いし
言語が自然発生的に出来上がったのだとすると、脳の構造違いすぎるでしょ
世の中のことをそういうベン図みたいな捉え方するのが彼らの日常ってことだからな
0075デフォルトの名無しさん垢版2017/08/31(木) 03:23:00.21ID:hkO3UzM0
a * (b * c) = (a * b) * c (可読性高)

(= (* a (* b c)) (* (* a b) c)) (中)

a.mul(b.mul(c)).eq(a.mul(b).mul(c)) (低)

(中)と(低)の括弧の数は同じ
0078垢版2017/08/31(木) 07:55:30.12ID:554UpIND
>>74
意外に日本語では修飾語使うしかないシーンでも端的に話せるから便利だよ。
ラテン語ぐらい活用があればホントに単語に主語すら含まれてるから文章の密度が濃くできる。
aや数詞とtheは、日本語でも知らず知らずのうちに使ってるよ。
0079垢版2017/08/31(木) 08:09:36.17ID:554UpIND
>>75
まともなlisp書くやつは、可読性中とやらみたいなの書かんだろ。
(= (* b c a)
  (* a b c)
)
みたいになるんでないの?
0080デフォルトの名無しさん垢版2017/08/31(木) 09:50:39.26ID:PxNjJG10
>>77
表示可能な文字数が少なかったりプリンタだったりしたらRISCの方が効率いいだろ
お前が書く全てのプログラムは>>75程度なのか?
それともお前の頭がおかしいのか?
0082デフォルトの名無しさん垢版2017/08/31(木) 10:43:49.29ID:JmniUbtV
PEG.jsつかえば俺言語が簡単に作れる。
jsの処理系使ってaltJS作るのに最適かもしれない。
こういうの触るとLISPってまんま構文木を言語と対応させたもんって感じ。
0083デフォルトの名無しさん垢版2017/08/31(木) 12:24:42.21ID:a2uCTVPo
>>57
括弧が多いこと以外にも
JavaやRubyみたいな
ふつうの言語の文法と違いが
大きいところが読み書きしにくい

たとえば代入は=じゃなくてsetqとか
0084デフォルトの名無しさん垢版2017/08/31(木) 14:08:57.13ID:PxNjJG10
それは最初に慣れた言語がそうだったからというだけでは
たまに初心者がなんでイコールが代入なの言うけど確かになが
0085デフォルトの名無しさん垢版2017/08/31(木) 15:50:27.57ID:7dzGRe5W
C系の文法ばっかりになったのは個性が薄い感じがして寂しい
という漏れもそうじゃない文法を自分で書きたくはないけどねw
0086垢版2017/08/31(木) 16:46:31.78ID:554UpIND
>>83
setqはset quoteに展開されるマクロで、setも関数。
ただの代入の構文ではない。
すべて式、みたいな流行りの言語のように、すべてリストで、リストの先頭を関数として解釈しとるだけ。
0087デフォルトの名無しさん垢版2017/08/31(木) 17:58:28.60ID:zwp65mkz
>>85
OOPは言語レベルでサポートされていなければならないってC++の作者が力説したから
これは文法とパラダイムは無関係という説を否定したようなもので
同じパラダイムをサポートするなら文法もほぼ同じになると考えられる
0089デフォルトの名無しさん垢版2017/08/31(木) 20:52:52.64ID:7UUgppAQ
>>72
a→具体的な意味を持たない。ok?
鋭→具体的な意味を持つ。まだ大丈夫?
具体的の反対は何か分かるかな?
分かんないか、ごめんね。正解は「抽象的」
漢字のような表意「文字」が(アルファベットのような表音「文字」と比べて)抽象度が高いなんてことはあり得るのかな?お母さんに聞いてみようね!
0090デフォルトの名無しさん垢版2017/08/31(木) 20:58:02.45ID:witLpSbc
俺もそれは気になってたけど指摘しなかった
漢字を抽象度が高いというのは何か違うと思った
0091デフォルトの名無しさん垢版2017/08/31(木) 22:44:56.31ID:zwp65mkz
重要なのは意味とか音とか二つ以上の部品に分解することだよ
それらは対等に扱った方が対称性が高い
どっちが高レベルでどっちが低レベルかという問題にこだわるのは対称性が低い
0092デフォルトの名無しさん垢版2017/08/31(木) 23:07:03.73ID:J2aSRpVx
>>89
「抽象度」という概念を知らないのね

1. x^100 + 9x^7 - 3x^2
2. x to the hundred plus nine x to the seventh minus three x squared.

「どっちが抽象度が高い?」と言うのと
「どっちがより具体的な意味を持つ(もしくは持たない)?」と言うのとは意味が違うんだよ
0093デフォルトの名無しさん垢版2017/08/31(木) 23:16:39.69ID:+TmXt6Nx
まぁつまり、読みやすさ・機能・シェア・WORA、すべてを兼ね備えたコットィンが最強ということだね
0094デフォルトの名無しさん垢版2017/09/01(金) 00:44:11.29ID:R253OLB+
>>92
その1と2って表意文字と表音文字には対応しないよね?
表意文字と表音文字の抽象度云々論じるなら例えば
2a. x to the hundred plus nine x to the seventh minus three x squared.
vs
2b. xの百乗足す九xの七乗引く三の自乗。
になるけどこの2a vs 2bの文字レベルの抽象度の差とやらは1 vs 2a/2bの表現レベルの違いと比べたらあるとしても誤差レベルじゃないか?
俺には2aと2bは全く等価に思えるんだが、、
0095デフォルトの名無しさん垢版2017/09/01(金) 01:32:05.15ID:l17yIu6s
抽象度(抽象的)は普遍的に与えられるものだと思うの。

>>89 が聞いてるのは抽象的とは何か また2つのモノが与えられた場合の抽象度の比較についてだと思うの。

>>92 はそれに対して 答えてるだけだと思うの。
そしてそれは 普遍的に決まるので正しいと思うの。
0096デフォルトの名無しさん垢版2017/09/01(金) 04:10:50.99ID:A4rxsWGh
>>94
“アラビア数字、その他の数学記号は、代表的な表意文字である”
https://ja.wikipedia.org/wiki/表意文字

情報密度が高いと言えば理解してもらえるのかな?
2bを全部平仮名にしたものと比べれば一目瞭然でしょ
んで情報密度の違いは抽象度の違いによる結果だから
0097デフォルトの名無しさん垢版2017/09/01(金) 06:55:07.96ID:9fFcfHIv
抽象度が高いと情報量は少なくなるだろ
たとえば写真は具体的で情報量が多い

漢字もアルファベットより具体的だから
一字あたりの情報量は多いが
覚える必要がある字数は多くなる
0098デフォルトの名無しさん垢版2017/09/01(金) 07:57:22.32ID:Xtw6aZxr
1平方メートルの絵と1秒の音は比較できないんだが
抽象化()で単位をあやふやにすれば比較できるのかな
0099デフォルトの名無しさん垢版2017/09/01(金) 08:40:04.85ID:sKG/CNAU
俺もそう思う
基本的に抽象度が上がれば情報量は下がっていくものだと思う
プログラミングやってれば経験するものだと思うが
Object型は抽象度が高いが型に関する情報量はほぼ無い
0100デフォルトの名無しさん垢版2017/09/01(金) 10:35:11.06ID:aCeisBp6
>>99
よう、オフィスマ。元気かい?(笑)
0101デフォルトの名無しさん垢版2017/09/01(金) 11:48:31.76ID:d9WpXGRQ
具体的なほど高いのは選択情報量で、抽象的なほど高いのはその系が持ってる平均情報量かな

具体的な実装が隠蔽されているほど抽象化の度合いが高いという意味で、
漢字は2バイト(以上)を1文字に「抽象化」していて、
1文字あたりの「情報量」はアルファベットより多い
0102デフォルトの名無しさん垢版2017/09/01(金) 12:00:35.64ID:+7mPWp0H
>>101
ママンにパンツ洗ってもらったか?(笑)
0104デフォルトの名無しさん垢版2017/09/01(金) 12:36:09.46ID:XfLLwzvm
どぴゅっ(笑)
0105垢版2017/09/01(金) 13:02:30.04ID:8i7au6Vc
2バイト以上を一文字に抽象化、ってのもわからんけど。
「筆や指、ヘラ、ナイフなどを使い、油性の絵の具を、板や布、紙など平面に、芸術性のある意匠を表現すべく塗布したもの」を「油彩画」と記載できるのは、情報密度が高く(3文字)抽象性が高い(『など』、を特定出来ない)と表現するならわかるけど、
英語でも「oils」、くどい奴でも「oil paintings」だし、抽象度や情報密度としてはあんまかわらんかと。
単に抽象度をあげると情報密度が下がるという訳ではなく、用途に対した適切な情報密度を提供するために抽象化するのかと。
情報量は減るけど情報密度が上がる方向に持ってくのが抽象化で、両方下がるのは標本化みたいなやつじゃない?
0106デフォルトの名無しさん垢版2017/09/01(金) 13:21:48.04ID:CfoCWIuq
>>96をまとめると、
数学記号は表意文字。つまり
1. x^100 + 9x^7 - 3x^2
は表意文字の例。
2a. x to the hundred plus nine x to the seventh minus three x squared.
は表音文字の例。
2b. xの百乗足す九xの七乗引く三の自乗。
は表意文字の例(かな混じってるけど)
2c. xのひゃくじょうたすきゅうxのななじょうひくさんのじじょう。
は表音文字(2bを全部平仮名にしたもの)

かな?
1の数学記号が抽象度高いのは分かる。
で、2bと2cくらべて一目瞭然って何が?
どっちも1に比して恐ろしく冗長だな、としか思わんが。2bの表意文字も2cの表音文字も。
要するに文字が表意か表音かは抽象度とは関係ないということではないか?>>96の当初の主張「漢字など表意文字は表音文字にくらべて抽象度が高い」とは裏腹に。
0108デフォルトの名無しさん垢版2017/09/01(金) 14:21:49.79ID:5cPRuFJx
       __     /
      /⌒ ヽ  /        /
      (     )'゙ヽ.     _/
.    /iー-‐'"i    ,;   /
  i ! ( ヽ.    )  ノ/ .:/
    (\.゙ヽ_(_/,イ/
  i ! (\\_,_)' ノ
    (\\_,_,)'
  i !  l ,i\ ヽ、 !  あ”っー あ”っー あ”っー あ”っー あ”っー
     し'
0109デフォルトの名無しさん垢版2017/09/01(金) 14:22:05.77ID:9fFcfHIv
抽象ってのは不要な情報を捨象するんだから
情報量は少なくなるに決まってるんだよ

必要な情報だけ抽出することで
量より質を求めてるわけであって
0110デフォルトの名無しさん垢版2017/09/01(金) 14:24:39.67ID:rDYiQT91
       __     /
      /⌒ ヽ  /        /
      (     )'゙ヽ.     _/
.    /iー-‐'"i    ,;   /
  i ! ( ヽ.    )  ノ/ .:/
    (\.゙ヽ_(_/,イ/
  i ! (\\_,_)' ノ >>109
    (\\_,_,)'
  i !  l ,i\ ヽ、 !  あ”っー あ”っー あ”っー あ”っー あ”っー
     し'
0111垢版2017/09/01(金) 14:43:14.24ID:8i7au6Vc
>>107
いいんでないの?
数学に強いであろうHaskellerさんなら、標本化と抽象化、情報量と情報密度を語ってくれるだろう。
きっと。

次世代じゃない、とか、文字数の関係、とか言って議題を恣意的に絞った罰に相応しい流れだと思うが。
0113デフォルトの名無しさん垢版2017/09/01(金) 18:54:24.75ID:SQFm1IPC
どの言語でも最低限、実装しなきゃいけない
言語仕様ってできないものなのかね

printf()みたいなのとかですら
言語ごとに"微妙に"違ってて
いちいち覚えなきゃいけないのって
アホらしくない?
0114デフォルトの名無しさん垢版2017/09/01(金) 19:01:13.70ID:9fFcfHIv
言語を超えた共通規格を制定すると
数年も経つと想定されてない
技術が出てきて負の遺産になりそう
0115デフォルトの名無しさん垢版2017/09/01(金) 19:02:03.36ID:GWPC4pz1
そんなもんだろ。
print 文を本当に統一するとしたら一番、低レイヤーな扱いしてる c に合わせるしかない。
てか統一厨ってなんで分かれてるのかについてほんとに思考しないよな。
0116デフォルトの名無しさん垢版2017/09/01(金) 19:09:57.94ID:9fFcfHIv
共通規格って使わないものを入れるとムダだから
どうしても後追いの追加しかできなくて
そうすると時代遅れの規格になる

MSやグーグルやアップルみたいな大企業は
それを無視して需要のある新言語を作るだろうし
だから今の現状がこうなってるんだろう
0117垢版2017/09/01(金) 19:22:19.70ID:8i7au6Vc
Cに合わせると、そもそも標準出力って何?って話に行き着いてそこからの話になるので誰も幸せになれんぞ。
標準出力がない環境やら、sprintfとかは普通のlibcではでか過ぎるとか話とか、ファイルシステム?そんなのねえけど?みたいなめんどくさいのを経ての仕様策定になる。

どっかで線引かないと仕方ないけど、その線は言語次第で決めざるを得ない。
Rustの「マクロで展開」もありだろうし、GoやらPythonの「だいたい付いてるけど、それが動く環境以外ではそもそも動かない」もありだし、
Scalaとか古いPascalみたいな「VMが動く環境では動きますけど?VMポートしてよね(笑)」みたいなスタンスもアリなんだから。

仕様や規格って「守らなくてもそれで良い。むしろ守らないほうが(うちのシステムでは)確実に早く動く」って奴が絶対出てくるから、どれだけ未来の事考えて準備しても無駄。
今要るものを今要る範囲で作るのがいいんじゃねえの?
過去と今を見ずに未来や次世代の話する奴にろくな奴はおらん。
0118垢版2017/09/01(金) 19:24:24.40ID:8i7au6Vc
「次世代じゃないので外した」なんて、次世代全く見てないって事。
0119デフォルトの名無しさん垢版2017/09/01(金) 19:58:18.00ID:9fFcfHIv
JavaScriptができてから
ES2015が出るまで20年も掛かってるから
各言語共通規格なんて100年掛かっても
できるかどうかってところだろ
0120デフォルトの名無しさん垢版2017/09/01(金) 20:08:14.74ID:sKG/CNAU
そんなことよりはライブラリやモジュールの統一フォーマットが欲しいところ
どんな言語からも、どんな言語で書かれた関数でも、呼べるってやつ
どんな言語は言いすぎだが、大体のメジャー言語は似たような着地点に落ち着いてるし
このような重大なことは無理やりにでももっと黎明期に決めておくべきだったな
標準入出力用意しておいたので後は好きにしてくださいってのはちょっと
0121デフォルトの名無しさん垢版2017/09/01(金) 20:13:11.99ID:SQFm1IPC
違う違う
個々で独自な処理なんて
いくらでもしたらいいけど
最低限、(例えば)printfって打てば
文字列出力するのは
保証しとけって話
0122デフォルトの名無しさん垢版2017/09/01(金) 20:16:06.24ID:sKG/CNAU
ただしそれをやると、野良言語が沢山できる可能性もあるんだが
つまりはライブラリは標準仕様に準拠しているので
ライブラリは揃ってますんで
是非俺の糞言語を使ってくださいっていう
しかし今みたいにライブラリの互換性を盾にして
既得権な言語が常に上位に固定されて全くシェアが変動しないのも不健康
何の言語で書かれていてもかまわない、どうせ好きな言語から呼び出して使えるから
ってなってれば良かったんだが
移植とかマジ馬鹿らしいし
0123垢版2017/09/01(金) 20:17:44.92ID:8i7au6Vc
>>120
JVMか.netで動く言語でも使えば?
どんな環境で動くかも決まって無い上にさらに言語の定義すら無いとなると、呼び出せる訳ないかと。
あとは別プロセスとして通信するか。

>>121
文字列って何?パスカル文字列?ヌル終端?エンコーディングは?出力って何?
って話じゃん。独自の処理ではないと言いながら、既に充分独自の話。
0124デフォルトの名無しさん垢版2017/09/01(金) 20:23:19.04ID:SQFm1IPC
だから終端文字がどれかなんて
どうでもいいのよ
対応する事を仕様にいれろって事
0125デフォルトの名無しさん垢版2017/09/01(金) 20:24:36.88ID:sKG/CNAU
>>121
そのようなことは正にどうでもよいだろうというのが俺の意見
言語の多様性の観点からも、そんなことを縛っても意味はない
それよりは、どんな言語からでも、どんな言語のモジュール(ライブラリ)でも
呼び出せるって方が重要だと思うよ
もしそれが出来てれば、君は延々と自分の好きな言語だけ使ってれば良かったかもしれないし
そうじゃなかったとしても、どの言語からでもCのprintfが簡単に呼び出せるんなら
君の願いは達成するんだろう?
0126デフォルトの名無しさん垢版2017/09/01(金) 20:31:30.03ID:sKG/CNAU
>あとは別プロセスとして通信するか。

それも構わないと思う
通信のフォーマットが統一されてれば
後は処理系がそれに対応すればよいんじゃないかなー
RDBとのやり取りも、それですれば良かった話
さらにはネットワーク越しに呼び出したり

そういう標準が一つ欲しかったね、って話
今更遅いが
0128デフォルトの名無しさん垢版2017/09/01(金) 21:07:30.99ID:Xtw6aZxr
商売なら有料版と無料版を統一するわけがない
趣味で作るならユーザーの願望よりも作者の都合が優先される
0129垢版2017/09/01(金) 21:26:53.26ID:8i7au6Vc
>>124
アホか。対応する事を仕様で決めるためには、何に対応しないといけないか定義出来てないと、対応しようが無いだろう。
何をどうしたいのかわからん。俺ラッパー一枚で済むんじゃねえのそれ。

>>126
今までもCorbaとか色々あったけど、結局は一番無難かつ使われてるHTTPになるんだろうなって感じかな。
前にも同じ発想を書いた気がするけど、なんだかんだでこなれてるし、いつ使うねんと思ってたし、RFCにも「どっかで役に立つ」みたいな記載されてたUPGRADEのおかげでWebSocket使えたりしてるし。
もうちょい早く、なら処理系で対応するよりOSに頼った方が良いんだろうな。UNIXドメインソケットとか。
0130垢版2017/09/01(金) 21:30:39.30ID:8i7au6Vc
124みたいな奴が書いた酷いCがあったはずだと思って探したらすぐあったわ。
http://www.pro.or.jp/~fuji/mybooks/cdiag/cdiag.8.2.html

もう20年以上前になるのか。歴史は繰り返すんだな。
0132デフォルトの名無しさん垢版2017/09/01(金) 22:26:00.55ID:o/CD7d/B
ガイジID:SQFm1IPCの言いたいこと全く理解せずにディスったり謎リンク貼ってるガイジ本当に草だ……w
ガイジVSガイジって感じやね
0133デフォルトの名無しさん垢版2017/09/01(金) 22:35:14.33ID:9fFcfHIv
でもまあ共通規格を立てようって発想自体は
まっとうな意識ではあると思うよ

HTML5とJSに人が集まってるのも
今一番の共通規格っぽいからなんじゃね?
0134デフォルトの名無しさん垢版2017/09/01(金) 22:36:34.19ID:4l9jDYBk
>>132
ID:SQFm1IPC「ぼきプェチピィ〜しか書けましぇ〜ん
他の言語もプェチピィみたいになればいいと思いましゅ、アヘアヘ」

こうやろ
ガイジウムとりすぎか?
0135デフォルトの名無しさん垢版2017/09/01(金) 23:26:12.33ID:GWPC4pz1
>>133
そりゃブラウザっていう共通実行環境があるっつーのに、
各々のメーカーの都合で規格がずれてるって状況があるからでしょ。

なんもないところにとりあえずグローバルな規格作ろうとか誰かの自己満足にしか
ならんことを言い出すからバカにされるんだよ。
0136デフォルトの名無しさん垢版2017/09/01(金) 23:51:48.74ID:sKG/CNAU
その前にHTML5やJSが他の言語と、例えばCのprintfと仕様が同じになってるとか
そういう他言語を意識したつくりになってるってわけじゃないから今回の件では不適切な例だよ
どう贔屓目に見てもHTML5とJSは他の言語とは違った異質なもので
ぜんぜん寄せてきてないよ
こういったものを例に挙げて肯定的にとらえる文体なら
よりいっそう各言語で共通の文法〜〜は要らないってことになる
これは意訳すれば全部Javaで書けばよくね?って言ってるようなもので
他言語を巻き込んで文法を共通にするとかとは反対のベクトルの意見に見える

文法に共通な部分を持たせるっつっても、使用感だけの問題であって
PythonでRubyのコードが走るようになるわけじゃないし
大体のメジャー言語はC言語の文法に寄せてきてるから
その意味で特に不満はないな
細かな仕様が違うのはそりゃ当たり前でしょ

言語として最低限サポートしなければならない仕様を作って
それを満たしていればC上でもJava上でもPython上でもRuby上でもPHP上でも
とりあえずは動く、っていうなら、有りかもしれないけど、あり得ないでしょ
全然違った概念とメカニズムで動いているのに
0137垢版2017/09/02(土) 00:17:53.83ID:LCAfPD7A
>>131
これ、確か本で読んだと思う。確かに10代だったかもしれん。
>>132
伝わってるやつが居るのに、まだお前は馬鹿な事言いづけるのかなぁ。
0139垢版2017/09/02(土) 00:30:19.85ID:LCAfPD7A
>>138
どー言うこと?

要は、puts("文字列");
程度のコードはどの言語でも寸分違わぬ同じ動きをすることによって、学習コストを下げたい、って話だと受け取ったが。

そして、それは無理、言語の良いところを殺す。極論は>>130。こんなことするならPascalで書けと。

そもそもさー。"文字列"がすごい、ものによっては言語設計の軸になりうるものなのに、「文字列を出す程度の関数」が低レベルで各言語共通にできる訳ないっしょ。
0140垢版2017/09/02(土) 00:30:51.41ID:LCAfPD7A
>>138
まー、代わりに説明しといて。あとで読むわ。
0141デフォルトの名無しさん垢版2017/09/02(土) 00:45:41.97ID:DpVc64wR
クライアントの統一が無理でもサーバーは統一できるんじゃないかっていう安心感
を土台にして成功したのがJS

C++がCを土台にしたみたいに
0142デフォルトの名無しさん垢版2017/09/02(土) 00:58:02.21ID:qZ0SgL8Y
>>139
なーんでそこまで分かってて
『「文字列を出す程度の関数」が低レベルで各言語共通にできる訳ないっしょ。』
なんてレスが出来るのかわからん。
あとこの文脈でおまえがどういう意味で「低レベル」という単語を使ってるのかわからん

少しのズレ承知でありたいていに言えば、こいつは「内部でどういう動作するかなんてどうでもいいからとにかく、端末のある環境なら、putとかではなくprintfと書けば端末に表示することを保証しろ」と言ってんだよ
0143デフォルトの名無しさん垢版2017/09/02(土) 01:04:47.83ID:qZ0SgL8Y
本当に>>129で言う「俺ラッパー一枚で済む話」なんだけど、それを現実に実行してしまうと、それこそ>>130の記事のコードの出来上がりだから「最初から統一していて欲しい」と願うんだろうなきっと
0144デフォルトの名無しさん垢版2017/09/02(土) 01:13:52.49ID:je61f8uF
>少しのズレ承知でありたいていに言えば、こいつは「内部でどういう動作するかなんて
>どうでもいいからとにかく、端末のある環境なら、putとかではなくprintfと書けば
>端末に表示することを保証しろ」と言ってんだよ

だからそのことが否定されているのでは?
何言ってんだ?
0145デフォルトの名無しさん垢版2017/09/02(土) 01:18:08.23ID:je61f8uF
エスペラント語みたいなものだな
まぁ無理だろう
それより通貨を行き来できるようにする方が良い
0146デフォルトの名無しさん垢版2017/09/02(土) 01:18:25.67ID:qZ0SgL8Y
>>144
だからただID:SQFm1IPCを否定するレスには俺は文句つけてないだろ?俺もID:SQFm1IPCはガイジだと思うし。

いつまでも「低レベルで」とか「文字列の仕組み」とか言ってる奴はおかしいって言ってるんだ
0147デフォルトの名無しさん垢版2017/09/02(土) 06:19:16.76ID:WzdBIuT6
はいはい、一通りの文字列入出力関数も覚えられないバカは
プログラマにはならないほうがいいと思いますよ。
0148垢版2017/09/02(土) 07:07:42.32ID:LCAfPD7A
>>142
ムリだよ。
多少のズレがある時点で仕様では無いし、言語仕様レベルから>>130の無茶苦茶感出てくるぞ。

低レベルってのは、ごめん、いつもこれ伝えづらいな。
システムコールとか呼ぶようなオペレーション、かな。

ちなみに、putsではなくて、printfなら、フォーマットはやるんだよね?Cの形で。
0149垢版2017/09/02(土) 07:30:58.56ID:6K7Z1T4/
>>146
文字列の仕組みは知らないと今時の言語でも辛いだろ。
そんな事気にした事もないなら、一生気にしないだろうけど。
0150デフォルトの名無しさん垢版2017/09/02(土) 07:42:43.45ID:ekcXroij
俺、20年プログラム組んでるけど
文字列未だに理解不能(笑)

utf8だったり、sjisだったり
c#になってからstringが
なんの文字コードで扱ってるかまったく理解してない

sjisのファイルから読み込んだ文字列と
utf8のファイルから読み込んだ文字列とか
c#のstringではどうなってるか知らんw
どの段階かで変換されるのか保持されるのかわかってないw

日時の文字列のカルチャとかいうのもよくわからない
無指定だとos依存になってバグるし
じゃあc#のstringって何使われてるの?
osに依存するの?とかマジよくわからん

初心者スレで聞いてみたかったw
0151デフォルトの名無しさん垢版2017/09/02(土) 08:18:23.67ID:qZ0SgL8Y
>>148
確かにprintfのfはフォーマットのfだったと思うけど、Fortranではprintでフォーマットもするんだし、言語仕様レベルで滅茶苦茶は言い過ぎでしょ

そりゃfはあったほうがいいと思うけど、fがないと言語仕様レベルで滅茶滅茶ってことはない

そして、厳密な名前にしたことで得られるメリットより、全部printにしたことによる学習コストの低下を優先しろとガイジID:SQFm1IPCを主張するんだよなあ
0152デフォルトの名無しさん垢版2017/09/02(土) 08:20:49.80ID:qZ0SgL8Y
まあID:SQFm1IPCはなんでfがついてるのかも知らなかったと思うけど、それは「文字列の仕組み」と連呼して彼に伝わるものではないし関係ないな
0154デフォルトの名無しさん垢版2017/09/02(土) 08:25:33.52ID:VfNRhazy
けっきょく、みんな近視眼的に言葉尻を捉えてるだけで
この話題の本質わかってないのなw
0155デフォルトの名無しさん垢版2017/09/02(土) 08:30:19.62ID:qZ0SgL8Y
>>154
なんかよくわからんけど、エンジニアガイジと話すと撹乱されて本質が見えなくなる。多分普通の文より解釈がしんどくてそっちにリソース割くんだろうな。
正直>>151も書いていて微妙とは思ったし、昨日思ったこととなんか違う気はする。
もし本質が見えているならちょいと書いてくれると助かる
0156デフォルトの名無しさん垢版2017/09/02(土) 08:48:35.94ID:eEwxJqdV
少し思ったことを書くか。

まあとりあえず c の printf からはじめるけど、これってバイト列からそのまま、出力する形式としては
とても普通な形式なわけだ。低レイヤーから見ても最低限のものになってる。

ただ、一方で型に対していい加減で %d とかと , 以下のところに放り込む変数が
ずれてたら簡単にアボーンするってなことが言われて cout << とか
まあ他の高級言語の print なんかがでてきたわけ。

じゃあ c もそうすりゃいいじゃんと思うだろうけれど、実際そんな高級なことすると
システムプログラミングみたいな生な現場だとその高級なとこにバグが潜む可能性が
高いし、そもそも無駄なメモリ食うし
ってな理由で拒むわけ。

とりあえず単純な見方をするなら上記のような理由で統一はされない。
0158垢版2017/09/02(土) 10:01:43.08ID:6K7Z1T4/
>>151
言い過ぎでも無いのでは?
printfでも、言語によっては概念が無いので使えない(はず)の%pとか、じゃあ%sは何を取る?%cは?と、収拾がつかんかと。
まずメモリの値を何かに出すって事が実はすごく面倒だって分かってほしいけどな。安易な事言うやつには。

仕様で決めたいならミニマムなのが要るかと。

>>157
何がわかってないか説明してくれる?
わかってないって言うのは簡単なんだし、説明できないって事は自分もわかってないって事と取るけど。
0159垢版2017/09/02(土) 10:07:29.51ID:6K7Z1T4/
「最低限言語というからにはこの命令をこういう引数で呼べる事」
ってのは、語順が変わる言語は守れない。

なら引数の順番は見逃すわと言ったら、次は型の問題。

型の定義と表現の定義は○○準拠な、となると、それを持ってない言語は用意すべきかとなる。

その辺見逃すわ、人間が見て理解できる形で!となると、見る人間がどんな人間か(言語は何か)でかなり変わる。少数とかだとフランスでの地獄の,とスペースに殺される形。

それも見逃すわ、うまいことやって!となると、
もう定義なんか残ってなくない?
0160デフォルトの名無しさん垢版2017/09/02(土) 10:10:50.16ID:FHcsad6W
>>158
ない概念は非対応にして%sはその言語で主に扱う文字列にすりゃ満足するだろうよID:SQFm1IPCは
なんならフォーマット機能すらなくしてfortranのprint*の挙動にしてすら満足するだろうよ
0161垢版2017/09/02(土) 10:11:18.31ID:6K7Z1T4/
だから、Hello Worldなんてお題目があるんよ。どんな言語にも。
0162垢版2017/09/02(土) 10:12:21.75ID:6K7Z1T4/
>>160
もう別物じゃん。
0163デフォルトの名無しさん垢版2017/09/02(土) 10:16:07.91ID:FHcsad6W
>>162
別物でいいんだよ。ID:SQFm1IPCみたいな手合いはそういうこと気にしない。printfと打てば出力すれば満足なんだから
0166デフォルトの名無しさん垢版2017/09/02(土) 11:09:56.12ID:DpVc64wR
>>161
これは正論だ
テスト駆動でライブラリをテストする感覚
だが慣れたらテストではなく有名なソフトのソースを読めるからテストいらない
0167垢版2017/09/02(土) 12:18:54.23ID:6K7Z1T4/
>>163
なんかわかってきた。本質ではない形でだけど。
標準出力と標準ライブラリとかそういうキチッとした話ではなくて、「printfデバッグで使うための関数」程度の存在として同じような名前で同じような仕様の関数が欲しい、って事か。
>>166
最初にやるようなつまんねー演習課題は、地味に奥が深いんよ。
はいはい画面に出ましたね。予想してたけど。って思うのも当然だけど。
帳票エンジン作った時にDSLのチュートリアルも書いたんだけど、書く側として見ると新しかったと言うか、新鮮だった。
0168デフォルトの名無しさん垢版2017/09/02(土) 12:39:54.25ID:OknToGa2
Javaが依然としてナンバー1だが、それに取って代わるのは何か?
https://www.infoq.com/jp/news/2017/08/Java-Still-One-Tiobe


>TIOBEは、特にCrystal、Kotlin、Clojure、Hack、Juliaを挙げて、
>新しい言語への関心が高まっていると見ている。
>これらの全体シェアは小さいが(すべて1%未満)、その浸透速度は注目に値する。
>特に、RubyのいとこにあたるCrystalは、1ヶ月で60位から32位へと飛躍した。


Crystalが早くRuby を追い落としてほしい。
0172垢版2017/09/02(土) 12:55:46.34ID:6K7Z1T4/
>>170
擦り合わせしたいと言うと荒らし扱いされるから気をつけてね。
0173デフォルトの名無しさん垢版2017/09/02(土) 14:12:09.69ID:DpVc64wR
さんざん宣伝された「コミュ力」でさえ
プログラムにコミュ力が必須という共通認識は出来ない
0174デフォルトの名無しさん垢版2017/09/02(土) 14:26:26.94ID:CJZVlBwp
頭の悪い人がちょっと覚える労力を避けるために
頭の良い人が多大な無駄な苦労をするのは
社会的損失だ
0175デフォルトの名無しさん垢版2017/09/02(土) 14:26:47.13ID:9PaYDv7F
抽象化思考能力が欠如してるから
自分の知ってる分野・レイヤーの視点で語りたがる
0177デフォルトの名無しさん垢版2017/09/02(土) 15:06:32.25ID:iROop40D
2ちゃんとスーパーハカーによると抽象的思考にはアルファベットよりも漢字を使うのがいいらしい。
プログラミングも漢字でやるといいらしい。
0179デフォルトの名無しさん垢版2017/09/02(土) 18:15:56.44ID:aqG50DC7
アルファベット仕様キーボードで入力してる限りは
入力速度がアルファベット>非アルファベットになるのはどうしようもない
0180垢版2017/09/02(土) 20:43:09.37ID:6K7Z1T4/
>>179
タブキーと補完使わないの?
俺、和文のあとに、同じ内容の英文つけたメール書くことあるけど、あきらかにタイプ数は和文の方が少ないよ。

抽象思考したいならLabViewとかSPSSあたりでブロック図とかフィルタのグラフで思考するのが一番早かろう。
0181デフォルトの名無しさん垢版2017/09/02(土) 22:56:58.71ID:DpVc64wR
今の世の中に抽象的思考が足りないって実感あるの?ないでしょ
そんなことよりユーモアが足りないと思う
0182デフォルトの名無しさん垢版2017/09/02(土) 23:39:15.33ID:je61f8uF
ユーモアが足りないように感じるのは
ネットのおかげか世の中がマトモという言い方はおかしいけど
正解を引くひとが多くなってきたから
明らかにおかしい状況を
ユーモアで笑い飛ばす必要性があまりなくなってきたんだと思う
苦痛な環境に置かれても、ある種納得してるっつーか

でもプログラミングの世界はまだまだ黎明期に当たるのか
偉い人でも、おかしなことしている人がいっぱいいて
https://img0.etsystatic.com/178/0/13833747/il_340x270.1165546874_11w2.jpg
↑まだまだこういうユーモアが有ったりする
今後ある程度成熟していくと、もうこういうユーモアも見れなくなると思うと残念だね
と同時に、正しいことを知っているだけでは勝負にならなくなる
実力が問われるね
0183デフォルトの名無しさん垢版2017/09/03(日) 01:21:59.30ID:hrqzcgfY
そんな残念、杞憂だよ

糞バカジャップランド土人が
山ほど遺してくれたコボルやペェチプゥの保守案件があるからね
0185デフォルトの名無しさん垢版2017/09/03(日) 03:47:08.84ID:3gHqT14e
>>182
これ何がアカンの?
0190デフォルトの名無しさん垢版2017/09/03(日) 11:27:05.90ID:F0wU88Va
明示的に call とか書くのはあんま流行らんぞ。
おれはそれくらい明示的でいいかなと思うのだが。
0191デフォルトの名無しさん垢版2017/09/03(日) 13:01:37.55ID:HuyjtM/i
Coffeeが空かどうかのStateをインターフェースで持たせて、StateはVisitorを受け入れるのが伝統的なやり方かね
次世代だとCoffeeが空かどうかのStateは、インターフェースじゃなくて、型クラスで制限して、パターンマッチで処理を切り分けるって感じかね
0197デフォルトの名無しさん垢版2017/09/03(日) 14:27:10.98ID:tndEY2pO
>>196
強いて言うなら学習コストだ高いとか。
インタラクティブに勉強する教材とか欲しい。
nodeSchoolみたいなやつ
0200デフォルトの名無しさん垢版2017/09/03(日) 15:11:53.96ID:1HtAUlO9
>>196
ちょっと込み入ったもの書こうとすると即座にコンパイラがあらゆるコード受け付けなくなる言語のどこがいいんだ?

なおC++コードはきちんと動くことは実証済でな
0202デフォルトの名無しさん垢版2017/09/03(日) 15:56:06.83ID:NUcZKlpc
Rustには保守しにくいコードを事前に排除する意味もあるようなw
ぶっちゃけ書き捨てプロトタイプには向かない言語
0203デフォルトの名無しさん垢版2017/09/03(日) 15:59:55.01ID:th8Kz7qM
>>200みたいなコンパイルエラーを嫌う人種ってどういうひとなの?
インタプリタ最強みたいな感じなのかな?
ランタイムでこけるより、コンパイラでエラー出たほうがいいじゃん
0204デフォルトの名無しさん垢版2017/09/03(日) 16:01:57.97ID:ULbykCIX
>>189
>>190
今どきのメジャー言語は
たいてい関数名+括弧だけじゃないか?

いちいちcallとか書いてたらコードがcallだらけになるし
関数定義のfunctionすら面倒だっていう声があるから
いちいち関数を明示的に呼び出す言語は流行らないよ
0206デフォルトの名無しさん垢版2017/09/03(日) 16:32:54.49ID:uF0EtmbD
>>196
言語はいいんだけどまだ普及してないからライブラリが辛い
0207垢版2017/09/03(日) 16:44:19.82ID:DQefzD0A
「f(x)」以上に「関数」らしい表現を見た事無いがな。

call書かないとカッコ書けないVBAとかが、callだらけになるかな。
0210垢版2017/09/03(日) 17:25:55.62ID:DQefzD0A
たしかに。
lispのS式は自然なんだなぁ。
0211デフォルトの名無しさん垢版2017/09/03(日) 17:47:32.06ID:9XytL+lI
でも、けっきょく
f (x + 1) みたいないことしたり
f () みたいなことするなら括弧的なもの必要になるし
単に省略してるだけでしかないのでは?
0212デフォルトの名無しさん垢版2017/09/03(日) 18:01:27.53ID:fyDk5FSQ
f(x+1)はともかく、f()は関数というよりはサブルーチンなんだよな。Fortran以外の言語はあんまり区別しないけど
0216デフォルトの名無しさん垢版2017/09/03(日) 20:26:30.83ID:ne8qPBqk
括弧ないと関数だと区別できないとか

関数と変数とかで名前空間分けるのが普通なのかな
一緒のがシンプルな気がするけどダメなの?
this.objみたいにスコープで名前空間分けたらダメかな
0217デフォルトの名無しさん垢版2017/09/03(日) 21:13:19.59ID:fyDk5FSQ
Common Lispは名前空間分けてるけどSchemeは同じだよね
個人的には分けないほうが好きだな
0220デフォルトの名無しさん垢版2017/09/03(日) 22:05:19.16ID:c1xnmxfX
括弧を開く位置には何か記号が要るが閉じる記号は要らないな
最後のセミコロンが要らないのと同じ
0222デフォルトの名無しさん垢版2017/09/03(日) 22:52:39.79ID:m/SUUCxo
>>220
pyてょnのことか
ブロックあった方が正直みやすいわ
初心者にも、視覚的にここからここまでがまとまりだと説明しやすい
インデント強制はいいけど、いきなりインデントがどうとか説明しても、イミフやろ
0229デフォルトの名無しさん垢版2017/09/04(月) 00:04:41.50ID:ixJinX3O
括弧の意味は二つある
優先順位を明示する、または関数呼び出し
どっちの意味か分からんから関数呼び出しの意味で括弧を使うのはもうやめたほうがいい
0231デフォルトの名無しさん垢版2017/09/04(月) 00:09:48.10ID:Y+E/rlzt
タプルやらにも()を使うのが普通だし
無意味な主張だな
0233デフォルトの名無しさん垢版2017/09/04(月) 00:16:07.76ID:b61MsJzB
>>220
>最後のセミコロンが要らないのと同じ

それなら、最後のコロンも要らないだろ

インデントを強制する言語の中で、
Haskell や Occam は文末は改行のみだけど、
pyてょn(>>222)だけが要らないコロンを強制する
0234デフォルトの名無しさん垢版2017/09/04(月) 00:31:15.86ID:2tWkVSGI
pythonって中途半端だよな
高階関数とかドットチェーンしづらくして、平易な書き方を強制したい
と見せかけてあの可読性ゴミ屑なリスト内包表記糞とかいう糞を強制してくる真性ガイジ
間違いなく俺が設計した方がいい言語できるね
0237デフォルトの名無しさん垢版2017/09/04(月) 01:09:13.44ID:cfrjyXAp
高階関数とドットチェーンし辛いのはそうだけど、リスト内包読みにくいっていうのは理解できない
0238デフォルトの名無しさん垢版2017/09/04(月) 01:28:25.81ID:+PpsHAgy
条件分岐や反復なんてもんはどんなに言語が良くなっても
馬鹿が書けばどこまでもくそにすることなんてできんだよ。
0240デフォルトの名無しさん垢版2017/09/04(月) 06:07:53.93ID:IbU7wZyf
以前仕事でRuby書いてて、()省略すると自分はいいんだけど他人が書いたコードは変数だかメソッドだか分からなくて面倒な事多かったから無しだなぁ
0241デフォルトの名無しさん垢版2017/09/04(月) 08:57:59.85ID:T3q42BSC
IDEの機能を言語と一緒にして例えば
アンダーバーとか、色とか、枠線をつけられるようにしてブロックを表せたりとか
そういうGUI的に拡張させるアイディアって無いのかな?
0243デフォルトの名無しさん垢版2017/09/04(月) 09:24:23.35ID:XPn2hQsA
確かにhaskellの$で閉じカッコは要らないは惹かれる。
他の言語でも採用されればいいのに。
0244デフォルトの名無しさん垢版2017/09/04(月) 09:33:26.87ID:T3q42BSC
でもそれって、表記上、末尾の括弧を省略できるって状況だから可能ってだけで
実際は括弧付いてるようなもんなんじゃないの?
0245デフォルトの名無しさん垢版2017/09/04(月) 10:21:51.60ID:XQHe+uhp
>>241
特定の開発環境に依存するのはリスクを感じる
言語の機能でなくてjavaのdocletやpythonのdoctestみたいに自由な部分で拡張すればいいんじゃないの
拡張可能にさえしといてあげれば、数多の楽したがるエンジニアが稀にいいもの作ってくれるよ
だから言語はシンプルがいい
0246デフォルトの名無しさん垢版2017/09/04(月) 10:41:39.20ID:T3q42BSC
>>だから言語はシンプルがいい

これはちょっとすでに古い考え方だよ
今の人気言語は最初から機能てんこ盛りだし
ほとんどの言語はいろんな形でで最初から拡張可能
lispやschemeですら充分に複雑だよ
0247デフォルトの名無しさん垢版2017/09/04(月) 11:14:48.20ID:XQHe+uhp
そうだな
初心者はIDEに統合されててなんでも言語がやってくれる方がいいな
フレームワークとか作ってると競合しないように気を遣うが
0248デフォルトの名無しさん垢版2017/09/04(月) 13:29:53.64ID:xkSzDYnx
>今の人気言語は最初から機能てんこ盛り
Scalaなんかは最初からいろんな機能盛り込んでるな
そのおかげで言語仕様が複雑になって覚えにくいけど
0249デフォルトの名無しさん垢版2017/09/04(月) 13:34:02.71ID:xkSzDYnx
>>241
IDEの機能はIDEに任せた方がいいんじゃないの
たとえばシンタックスハイライトとかIDE側の機能を
言語側に仕様を入れる必要ないと思う

そこをあえてやりたいなら
アノテーションで拡張可能にするかな
0250デフォルトの名無しさん垢版2017/09/04(月) 13:55:27.67ID:Y+E/rlzt
メールなんかでHTML形式があるけど
あんな感じでHTML形式でプログラムを書く
そうするとソースコードの途中にコードを説明する画像を挟み込むことが出来るし
音楽を入れて音声で説明してもよい
さらにはJSを駆使して動的なことをしてもよい
で、それで何のプログラムを書くかというとHTMLを書く
ブラウザで表示させる
ソースコードのソースコードがあるということだ
素晴らしいね
0251デフォルトの名無しさん垢版2017/09/04(月) 14:19:19.83ID:T3q42BSC
>>249
それをあえて入れるところに意味があって
人はあくまでプログラム自身に集中するべきじゃないかな
0252デフォルトの名無しさん垢版2017/09/04(月) 14:28:08.47ID:dW3H/gJQ
OSと言語とIDEを選ぶのは大変だからね
言語を選ぶだけで他の全てが自動的に決まるのが理想のように思える

現実には言語を変更するだけで他の選択肢も強制的に変更させられることがよくある
0255デフォルトの名無しさん垢版2017/09/04(月) 19:26:15.80ID:nN0imIwG
YouTubeで稼げるジャンルは〇〇動画です。YouTube講座
https://www.youtube.com/watch?v=_Nps8xb5czQ
最新トップYoutuberの年収は10億円、1億円の時代はもう古い
http://www.himatubushisp.com/entry/2017/05/10/224945
Youtuberヒカルが月収を明らかに!!おはよう朝日です出演
https://www.youtube.com/watch?v=RLZGrqQnnZc
第1回案件王ランキング!YouTuberで1番稼いでるのは誰だ!
https://www.youtube.com/watch?v=asF2wQ2xhjY&;t=61s
ユーチューバーの儲けのカラクリを徹底検証!
https://www.youtube.com/watch?v=FUSb4erJSXE&;t=504s
【給料公開】チャンネル登録者4万人突破記念!YouTuberの月収公開!
https://www.youtube.com/watch?v=Y7DAQ0RKilM&;t=326s
誰も言わないなら俺がYouTuberのギャラ相場を教えます
https://www.youtube.com/watch?v=E4q-vaQh2EQ&;t=118s

最高月収5000万円だとさ。年収じゃなくて「月収」な
おまえらもyoutubeに動画投稿したほうがいい
手っ取り早く視聴数稼ぐには有名ユーチューバーへの物申す系動画がオススメ
しばたーやよりひとやkunやぽんちやモンスタージョンなどを真似すればいい
0256デフォルトの名無しさん垢版2017/09/04(月) 23:12:52.17ID:2tWkVSGI
docのマークダウン対応くらいはあった方が便利だけど
愛生病院みたいなsrc読みたくねえだろ
0257デフォルトの名無しさん垢版2017/09/05(火) 00:11:19.92ID:oHHekjEQ
コメントみたいな曖昧な仕組みじゃなくて
コードのメタデータとして言語機能が積極的に管理していく方向に発展して欲しいね
0258デフォルトの名無しさん垢版2017/09/05(火) 01:26:37.76ID:wNpTPeXF
愛生病院は懐かしい・・・と思ったら
2013年まであったのかよ、恐ろしすぎ
病院の先生ってやっぱ頭良いんだなって思うのは
未だかつて愛生病院のサイトより見てて不安になるサイトには出会ったことが無い
やろうとしてできるものではない
そんなことが片手間で出来るんだから、医者って本当に凄い
http://web.archive.org/web/20130515083615/http://www.aiseikai.or.jp/
↑魚拓
若い人で知らない人は一度勉強したほうが良い
昔のインターネットがいかに刺激的だったかが良くわかるだろう
0259デフォルトの名無しさん垢版2017/09/05(火) 05:47:32.86ID:E9NKFgMS
>病院の先生ってやっぱ頭良いんだな

目の前にある具体例と真逆の結論を出すのがすごい
これが抽象化か
0261デフォルトの名無しさん垢版2017/09/05(火) 08:05:20.63ID:JsNUX7wh
MSが提唱してるlanguage server protocol(LSP)はまさにIDEの機能を
言語側で提供しましょうってアイデアだけどね。
TypeScriptで採用してる(採用しようとしてる?)。

言語のシンタックスに一番詳しいのは言語自身なんだからIDEの機能を提供してくれるのは理にかなってると思うけどね。

俺としては、言語を新しく使うたびに初期段階で補完機能に悩むのはしんどいので
新興言語はかならずLSPを用意しておいて欲しい

参考:
http://qiita.com/atsushieno/items/ce31df9bd88e98eec5c4
0266デフォルトの名無しさん垢版2017/09/05(火) 15:40:54.23ID:q9ShOGnC
>>130
ふり返るとこういう言語拡張はLispならアリだし
むしろ今の時代のDSLを先取りしているな
C言語中心の昔じゃ受け入れられなかっただけで
0273デフォルトの名無しさん垢版2017/09/07(木) 15:58:59.27ID:vdNr6DhP
最近の新しい言語を覚える動機が
馬鹿がマウントしてくるので、コードを荒らされないようにするため
ってなことが増えてる。
悲しい話だよ。
0274垢版2017/09/07(木) 16:21:29.64ID:ibNR9uCU
>>273
マウントとの関連性がわからんのだが。ってかマウントがわからん。

自分のソースが荒らされる(≒自分では社内政治も含めて『直せない』)ほどの影響力ってマウントじゃ無くて、ついていけてない実力差であって、あんまりマウントマウント言うべき事で無い気がする。
現に、新しい言語を覚えるモチベーションになってるならなおさらでは?
0277垢版2017/09/07(木) 18:20:23.88ID:ibNR9uCU
自分で言語書くのはマジで勉強にはなるからな。
負債作るだけだから実務では余程求められない限りやるべきでは無いけど。
0282垢版2017/09/08(金) 13:12:52.58ID:nyqS04uZ
言語作ったらパーサーも勿論作るっしょ。
yacc要るほどの自作言語なら言語自作らんほうが幸せ。
セルフホストするときに苦労が増える。
0285垢版2017/09/08(金) 16:44:10.33ID:nyqS04uZ
>>283
構文解析に専用ツール作るならわかるけど、少なくとも+++++の解釈が不能とかいや出来るとかくだらん事は考えたくないし、フルにそいつの機能使うわけでもないのに、ビルドするために依存したくはなくない?
そいつでコンパイルできるソースが出るパーサジェネレータが欲しい。それが面倒なぐらいなら、その言語で手書きできるパーサの範囲の言語にしろって事。
0286デフォルトの名無しさん垢版2017/09/08(金) 16:55:28.74ID:VL+fdMeQ
どうせ遊びと勉強のためなんだから手っ取り早く色々試せたほうがいいに決まってるだろ
BNF書くこと自体も勉強になる
パーサ手書きの練習なんぞ電卓レベルで一回やれば十分
あんなもんただの単純作業だ
0287デフォルトの名無しさん垢版2017/09/08(金) 17:14:50.03ID:3vC4jpKo
とにかく「あ」の文章は読みづらくて脳に入ってこない
他の人の書く文章と明らかに違う
そもそもの何かが違うとしか言えない
何が違うかは分からんが、とにかく違う
0288デフォルトの名無しさん垢版2017/09/08(金) 17:16:31.02ID:3vC4jpKo
そしていつもの事だけど、こいつが居るだけで話の論点がズレる
話を長引かせる能力だけは本当にすごい
0289垢版2017/09/08(金) 17:56:18.05ID:nyqS04uZ
>>287-288
そりゃお前だって2レスも(しかも無駄に)してるんだから長くなるんじゃねえの?
「何が間違ってるかわからないけど間違っているに違いない、なぜなら俺がそう思うから」みたいな感想文の代わりに建設的な否定でもすりゃ、早く話終わるんじゃねえの?
自分で論点ずらして話を長引かせる瞬間の>>287を書いて気付いてない無能にはそれは無理なの?
0290デフォルトの名無しさん垢版2017/09/08(金) 18:05:23.42ID:VL+fdMeQ
話の意図を汲めずこうやって短絡的に反応するのは典型的な発達障害でしょ
「あ」に忠告しておくが、君は特に>>289のように概念的な話をしようとすると本当に全く人に伝わらないから注意した方がいい
>>285のように具体的な物事に照らして話をしてくれれば、まだ少しは理解できる
0291デフォルトの名無しさん垢版2017/09/08(金) 22:23:20.42ID:1S/6tt8C
こいつ読み辛さを指摘されるとすぐ発狂するよな
これまで何度も指摘してやってんだから素直に認めて頑張って直せや
0292デフォルトの名無しさん垢版2017/09/08(金) 23:27:45.45ID:bVC6EyFy
単に知ったか自己弁護野郎だから
そいつつついても何の得もねえぞ
そいつはお前らに相手してもらうことだけを目的としてる
0293デフォルトの名無しさん垢版2017/09/08(金) 23:38:12.57ID:DSAbXTCl
情報工学の基礎すらしらん自称イット産業のニートよりかは
いくらかマシなレスしてるから許せるよ
0295垢版2017/09/09(土) 00:58:11.59ID:8ScVmx1k
>>290
汲んでないのはそもそも汲もうとしてない。
書かれていることを書かれているように理解して、書かれていない事を推測しないのは基本じゃないの?
そんなとこ汲むから全員が思い込みで話して、散らかるんじゃないの?

具体的に照らせても無いのに否定してるやつにそれ言っといて。
>>291
理解できない馬鹿に合わせて説明屋になるつもり無いから。
土俵にも立ててない事をまず恥じてから書いてほしいと言う嫌味だとまで言わないといかんの?
0298デフォルトの名無しさん垢版2017/09/09(土) 05:17:03.57ID:wSgl3Z7X
>>295
あのさ、みんなが努力して君の言いたいことを汲んでくれてるから話が成り立ってるんだぞ?
このスレに限らず、おそらくリアルでもそうだと思う。
皆がその努力を放棄したら本当に君は誰にも理解されなくなってしまう。
最低でもその努力に対する感謝だけは忘れちゃいけない。君のことを思って言ってるんだ。
0299デフォルトの名無しさん垢版2017/09/09(土) 07:02:59.09ID:sfteO0rb
>>286
ほんとそれ
本格運用するでもない、自作言語の字句解析や構文解析を自前で実装とか、ムダもいいとこ
そういうのは流行ってからやるもんだし
0300デフォルトの名無しさん垢版2017/09/09(土) 07:21:40.69ID:sfteO0rb
>>289翻訳

2つも駄レスしてる奴がそれ言う?
理解しようともせずヘイト感想文撒くぐらいなら、しっかり否定できる意見書けばいいじゃん
ま、>>287-288みたいな自己矛盾したレスしちゃう無能には無理かな?
0301デフォルトの名無しさん垢版2017/09/09(土) 07:26:53.54ID:sfteO0rb
まあ、俺もこいつは恣意的に長文レスするからあんま好きじゃないが、
少なくとも知識もない上、中身の伴わない批判しかしない単発の糞よりはマシだと思うわ
0303垢版2017/09/09(土) 09:39:36.25ID:Z2MHyKQu
>>298
それはわかっとるよ。
語弊があったな。「自分が理解できない事を『理解できていない』と認識できない」と言うわ。
なぜ理解出来ないのかヒントでも出してくれんと、なんともしようがない。
0304垢版2017/09/09(土) 09:46:03.17ID:Z2MHyKQu
>>299
自作言語で、新しい構文考えた時に、今まであった言語とは違う形でパースしたいとか、そういう事考えたら、パーサーは作ったほうがいいと思う。
行き着く先はどうせBNFと既存の色んなパーサジェネレータなんだろうけど、それが何故かを理解しないまま適当にパーサージェネレータ使うのは危ないと思うな。
まぁ、原動機の仕組みを知らんでも車には乗れると言えば言えるけど。
0305デフォルトの名無しさん垢版2017/09/09(土) 09:55:35.28ID:wvHXgSou
お前の書き込みのどこがマズイのか、1,2スレくらい前にさんざん教えてやっただろうが
まるでヒントを貰ってないような書き込みはやめろや
0309垢版2017/09/09(土) 10:47:25.31ID:eKVf9QIm
ほな俺は出張旅行いってくるわ!海外前ノリは毎回楽しみ。
ではー
0311デフォルトの名無しさん垢版2017/09/09(土) 17:40:28.33ID:h5yhjckw
それを構うやつが居るから居付いちゃうんだよ
みんなもうさすがに分かったと思うけど
0312デフォルトの名無しさん垢版2017/09/09(土) 21:28:03.09ID:3bqTNO9F
…わかった
この「あ」って人の書き方、頭に入ってこない感じに既視感があると思ったら、一昔前の専門書の和訳だ。
自分の言葉で表現し直すか、元の英文を想像するかしないと理解できないところがそっくり

多分日本人なんだろうけど、どういうプロセスでそういう文章になるのかね?
0313デフォルトの名無しさん垢版2017/09/09(土) 21:56:34.25ID:Mx1Qamh7
怪しいことを言って突っ込まれたら適宜解釈を変更できるように、分かりやすく具体的なことを言うのを避けてるだけだろ
0314デフォルトの名無しさん垢版2017/09/09(土) 21:56:54.45ID:xEPuJyU1
プログラム的に言えば、やたら細かいクラスに沢山分割されてて
しかもそれらが同一レベルで扱われてて
全体の流れが分からない、って感じか?
0315デフォルトの名無しさん垢版2017/09/09(土) 22:09:17.18ID:xEPuJyU1
多分一度に頭で扱える文章の長さが極端に短くて
継ぎはぎだらけになって読みにくいとか
そういうことだと思う
それプラス、オブジェクト指向のやりすぎで
文章の流れがおろそかになってるとか

例えば
>負債作るだけだから実務では余程求められない限りやるべきでは無いけど。
だと、普通なら
>負債作るだけだから余程求められない限り実務ではやらない方がいいけど。
だろう
「実務では」の位置がおかしいのと、「べき」の後ろに「無い」の否定は読みにくい
そういうのの積み重ねで読みにくくなってる
0316デフォルトの名無しさん垢版2017/09/09(土) 23:17:03.19ID:LZlw8NOw
句読点を入れろってだけだろ
馬鹿なのか?チョンか?ガイジか?
現役ニートはさすがだな
0317デフォルトの名無しさん垢版2017/09/09(土) 23:42:35.97ID:qAGs4qP5
脳内メモリ不足のADHDっぽいな
運動と瞑想すると軽減されるぞ

>>316
一歩間違うと読点過剰症候群に陥るんだよな
0318デフォルトの名無しさん垢版2017/09/10(日) 08:00:20.21ID:LIZz+c2t
よくわからんがとにかく結論を最初に書くとよいらしい
どうすれば改善するかダラダラ考えるより、改善は不可能って最初に書けばよい
0319デフォルトの名無しさん垢版2017/09/10(日) 13:09:30.62ID:XlugmfFW
なんでどの次世代言語も似たような機能ばっかりになっちゃうんだろう
もっと独自性出そうって思わないのかな?
0322デフォルトの名無しさん垢版2017/09/10(日) 14:23:46.07ID:/LC/x3j3
c++ なんか明らかに他の言語にあるならおれんとこにも入れんと
みたいな発想だよな。
0324デフォルトの名無しさん垢版2017/09/10(日) 15:26:12.99ID:ODr7u6re
Goとかは俺の思想感が強くて、むしろちょっと他の言語の真似して欲しいってなるの。ジェネリクスとか
0325デフォルトの名無しさん垢版2017/09/10(日) 16:29:21.95ID:dC7LVsZq
>>319
いい機会だからスレタイに入ってるやつ含めて、どれを次世代言語として想定してるか列挙したって。
0326デフォルトの名無しさん垢版2017/09/10(日) 16:49:55.51ID:ZBmzdD/d
次世代言語っていうからには、いつの「次世代」を想定しているのかも書いてね
まさか30年後には普及する、とか言わないよね
0329デフォルトの名無しさん垢版2017/09/10(日) 17:50:38.05ID:E1NtPZfm
それをモデルにして生まれた数々の分散オブジェクト指向技術はとっくの昔にことごとく爆死したよ
0333デフォルトの名無しさん垢版2017/09/10(日) 19:02:33.63ID:RsJHqjxK
プログラミングが義務教育化するみたいだけど、
どの言語でどのアプリケーションをネタに教えるんだろうね。
0338デフォルトの名無しさん垢版2017/09/10(日) 19:52:19.31ID:w1siUvvP
正直教育者の教育から始まるからなぁ。
javaとかなったら泣くわ。
Goも特殊すぎてないし。
やっぱりPythonじゃないかな。海外じゃ教育用としても使われてるんでしょ?
0340デフォルトの名無しさん垢版2017/09/10(日) 20:07:24.82ID:1ZuyAb/B
良い話かな
我々は曲がりなりにもプロなわけだし、家庭教師や個人授業で誰でも稼げるようになる
0341デフォルトの名無しさん垢版2017/09/10(日) 20:08:05.58ID:ZU7MRPZN
JavaだろうがPythonだろうが、現場の教師が対応できるわけないじゃん
しかも小学生やで
普通にScratchやって簡単なアルゴリズム作るまでで終わり
0343デフォルトの名無しさん垢版2017/09/10(日) 22:14:58.48ID:dC7LVsZq
pythonはヘビの絵があかんわ。
ヘビ嫌いの子がプログラミング嫌いになりかねない。
0344デフォルトの名無しさん垢版2017/09/10(日) 22:23:57.60ID:dC7LVsZq
30年後に普及する次世代言語Haskellがいいと思うよ。
実際彼らが活躍するのはそれくらいだろうし。
0346デフォルトの名無しさん垢版2017/09/10(日) 23:49:55.76ID:CfAD8p5O
趣味でやるならともかく
義務教育として小学生がプログラミングを勉強する必要性って全くないよな
小学生の貴重な時間の無駄遣い
0350デフォルトの名無しさん垢版2017/09/11(月) 00:11:32.96ID:idFHJ0OR
そんなこと言ったら家庭科の授業もいらなくなるしな
PC触れない機会なんて絶対無いんだからやるのはいいことだろ
メインは理論的な思考を養うことだろうけどな
0351デフォルトの名無しさん垢版2017/09/11(月) 00:14:38.85ID:/+/7clo/
プログラミングを学んだ結果がそんな非論理的な主張しかできない人間なら、
必要性が無いに同意するわ
0352デフォルトの名無しさん垢版2017/09/11(月) 00:15:51.69ID://vUn5WY
プログラミングっていうほど論理か?
ソリティアとかフリーセルでいいじゃん
パズルゲームこそ論理そのものだと思う
0353デフォルトの名無しさん垢版2017/09/11(月) 00:16:51.57ID:wRb7h9Km
PCの使い方やコンピュータやWebそのものについて勉強するのと
プログラミングの勉強をするのとじゃ意味が違うよね?

理論的な思考は小学生なら算数を中心に他の教科で勉強した方がいいでしょ
図画工作で物理的なものを作ってたりしたほうがよっぽど脳が発達すると思うわ
0354デフォルトの名無しさん垢版2017/09/11(月) 00:44:35.97ID:I3u+9T/v
実用性というなら、法律の授業でも設けたらどうだろうか、と俺は思う
あと、経済のことも全くやらないよね
で、結局、テレビで池上さんとかでしょ
どーなん
0355デフォルトの名無しさん垢版2017/09/11(月) 00:44:39.37ID:iCkxSQKi
正規表現使って一気にファイル編集するとか
そういうのは教えてもいいかもね。
それくらいやってくれって思うこと多いし。
0357デフォルトの名無しさん垢版2017/09/11(月) 01:07:36.28ID:I3u+9T/v
プログラミングって専門的ではあるんだが
そのベースとなってる部分にあまり学術性が無いというか
例えば電気回路で言うところのオームの法則など
そういう学校で扱いやすい話題があまりない
疎結合やモジューラビリティー、テスト性とか
すぐにえらく専門的で現実的で「実技」な話に発展する
学校で扱いやすいのは、せいぜい論理演算などの離散数学ぐらいか

もともとやらせたいことを順番に並べて書いておけば
コンピュータが逐次実行してくれるってだけだし
そのような仕組み的概念など、一瞬で理解できてしまう
足し算よりも簡単な概念だ

ただし、コンピュータに、何を、どうやらせるか、の話になると難しいが
これは電子回路で言えば、理想素子など存在しない現実世界で
実際に回路を組む場合のノウハウの話であって、えらく専門的だ

それでも学校でプログラムをするなら
きっと目的に向けて手続きプランを立てる力を養うためなんだろう
0358デフォルトの名無しさん垢版2017/09/11(月) 01:16:30.25ID:I3u+9T/v
それか将来ソフトウェアエンジニアになるのを早期に諦めされる意味合いは有るか
例えば、もし音楽の授業が無ければ、俺は自分に才能が無いことに気づかず
ミュージシャンになりたいと思っていたかもしれないしな
そのような面はあるかもしれない、向き不向きがあるからな
0362デフォルトの名無しさん垢版2017/09/11(月) 10:08:22.10ID:DHXKOr7V
>>357
明らかに素人の戯言すぎる…
アルゴリズム云々置いておいても、
形式言語とか式の簡約とか、もろにプログラミングそのものを扱ってる分野なんていくらでもあるのに…
0363デフォルトの名無しさん垢版2017/09/11(月) 10:59:25.42ID:ZLduiCK4
話の筋がズレてるし、その元の話もスレ違い。他人をこき下ろすのに夢中になってるのは見苦しいです
0364デフォルトの名無しさん垢版2017/09/11(月) 11:26:09.84ID:09oj3uvE
子供向けでって言うとラズパイ使ってマインクラフトをカスタマイズするみたいな教育あったよね。
マインクラフトそんなに面白いんか
0365デフォルトの名無しさん垢版2017/09/11(月) 11:50:13.17ID:XW0rQ7er
>もともとやらせたいことを順番に並べて書いておけば
>コンピュータが逐次実行してくれるってだけだし
とりあえずこいつがコンピューター科学全く知らないで戯れ言ほざいてる下流コーダーなのはわかった
0366デフォルトの名無しさん垢版2017/09/11(月) 12:06:08.53ID:J+iRaHDS
自動運転で運転手を解雇するのに夢中になってるかと思えば
読書やゲームをするだけのために教師を雇う
この需要の乱高下が見苦しい
0368デフォルトの名無しさん垢版2017/09/11(月) 13:34:35.42ID:I3u+9T/v
何か反論がいっぱいあるようだけど
小学生や中学生が理解できるか?って部分が抜け落ちてる
論理演算などの離散数学ぐらいならまぁなんとか
それ以上は難しいだろう
0371デフォルトの名無しさん垢版2017/09/11(月) 14:30:46.93ID:I3u+9T/v
そりゃ今は義務教育の話だからな
> 例えば電気回路で言うところのオームの法則など
> そういう学校で扱いやすい話題があまりない
の「学校」は小中学校を意味しているのは明らかだろ?
0372デフォルトの名無しさん垢版2017/09/11(月) 16:04:33.60ID:t4wV8ThU
プログラミングを教えて日本国民を論理的にしてしまうと
政府は国民を騙せなくなるから義務教育では教えないだろうな
0373デフォルトの名無しさん垢版2017/09/11(月) 16:36:47.25ID:XW0rQ7er
>>371
義務教育で扱える程度の内容に乏しいって意味で「学術性がない」なんて強い語を使うなよ紛らわしいわ
0374デフォルトの名無しさん垢版2017/09/11(月) 17:02:06.23ID:J+iRaHDS
>>372
歴史では昔の政府が国民を騙していたと教えてるんだろ
エビデンスを集めるのに数十年かかるようなので
エビデンス重視の教育では不確定な最新情報を教えるわけにはいかない
0375デフォルトの名無しさん垢版2017/09/11(月) 17:24:00.69ID:lPwceoCU
義務教育期間にプログラミングを教育するのなら、
問題に直面したときに次の3つの意志が自然に芽生えるよう教育してもらいたい。

1. 問題を直列に分けて考えようとする意志
Aを解決するにはBが必要、BにはCが必要・・・と考えること。

2. 問題を分割統治して考えようとする意志
平行して解ける小問題に分けることと、それらを合成すること。

3. 問題を状態遷移の観点で考えようとする意志

こういう意志が自然に芽生える子は、
プログラミング以外でも問題解決能力が高いと思う。
0379デフォルトの名無しさん垢版2017/09/11(月) 19:22:43.34ID:gBm4eJz0
>>378
でも、今の言語でも充分
メンテしやすいし、これ以上コードを書く労力を減らすなんて無理じゃない?
0381デフォルトの名無しさん垢版2017/09/11(月) 20:21:25.04ID:GjBYU0fZ
じゃあ、例えば、深層学習やA.I.的なものを言語やIDEに組み込んで
ほとんど(全く)コードを書かないで半自動でプログラミングするとかって次世代?
0383デフォルトの名無しさん垢版2017/09/11(月) 21:19:49.73ID:94wLBHZD
深層学習でそんなもん実装しようとしたら何を入力にすればいいのか良くわからんが、万一出来たら次世代。かなあ?
0385デフォルトの名無しさん垢版2017/09/11(月) 21:43:29.39ID:09oj3uvE
次世代というよりも今求められてるのは並行処理が簡単に実装できる仕組みを言語側で用意すること。
CPUのシングルコア性能が頭打ちになって後はマルチコア化するしか無いから。
次はGPUを勝手に使ってくれる言語とかかね。
0386デフォルトの名無しさん垢版2017/09/11(月) 21:59:37.77ID:OxYgv+JG
>>383
入力はクラウドからビッグデータ的なものとかランダムに垂れ流しに叩き込んで
そこから深層学習でパターン化できたものを
勝手にプログラム化するとか
0387デフォルトの名無しさん垢版2017/09/11(月) 22:14:12.68ID:J+iRaHDS
AIと小中学生に教えるのは完全情報ゲーム
次世代は不完全とか不完備とかいうのをやれば需要は確実にある
0388デフォルトの名無しさん垢版2017/09/12(火) 03:49:03.61ID:GMj2pr0d
政府が義務教育で国民に絶対教えたくないのは十分条件と必要条件だな。
これを教えないからマスコミを使って簡単に騙すことができる。
0389デフォルトの名無しさん垢版2017/09/12(火) 07:21:54.73ID:kvuESNKU
>>386
えーと。失礼ながら深層学習のご経験は?
ちょっと深層学習組んだことのある人の発言には見えなかったもので……
0390デフォルトの名無しさん垢版2017/09/12(火) 09:01:15.01ID:EOOe72TQ
○次受けが多いほど退場率が早くなる。高くなる

直受けの50万 客:いつまでもうちにいていいよ
3次受けの50万(客は90万払ってる) 客:短期延長していい?
5次受けの50万(客は150万払ってる) 客:作り終わったらとっと出てけ できなかったら即退場だ 
長時間労働 高稼働 高スキル要求が多い

フリーランスサイトを運営している零細ITの自称エージェントは労働市場から流れてくる案件を転売してるだけだった。
労働市場に加入すれば誰でも案件に応募することができた。収入が40万50万台にならなくて済む

エンド - ユー子 - エージェント-JIET 公表価格 90~60 - エージェント×3 = 言い値50万以下
エンド - ユー子 - エージェント-JIET 公表価格 90~60 - エージェント×1 悪質な言い値で50万以下
エンド - ユー子 - エージェント-JIET 公表価格 90~60 - JIETに加入して公表価格で応募できる

eJobgo JIET JISA で検索

優良エージェント・優良サイト

首都圏IT(PE-BANK) クラウドテック プログラマーズ
0392デフォルトの名無しさん垢版2017/09/12(火) 21:38:00.26ID:9b2dKLBo
>>391
江戸時代のミナトモノチンポコリンが紫式部とセックスしてひり出した国産みが、日本の始まりです。
君たちは十分勉強した。頑張った。
だから大学にいったらたくさん遊んで、頭クルッパーになるまで酒浴びて、友達とセックスして、
楽しい思い出たくさん作りましょう。
就職したら、よくわかんないけど税金と年金を払えば一生安泰。美しい日本をトラストミー。


これが中世ジャップランド土人村の教育方針。
そもそも、現代史の存在すら知らなくてよいのです。
0394デフォルトの名無しさん垢版2017/09/12(火) 23:31:41.00ID:l9r9oGrF
これ陰謀論だからね
異常な言動をするのは、想定外なことをやらないと陰謀を阻止できないという理由だね
0395デフォルトの名無しさん垢版2017/09/13(水) 01:02:34.46ID:S8v0D06m
次世代言語の持つべき機能は何ぞや、と考えてもらちが明かない
その前に、次世代とは一体いつの事か、だろう
次世代はいつ到来するのか
到来しないなら意味が無い
来もしない架空の次世代を議論しているだけになる
かつて次世代言語と言われたD言語は普及する前に陳腐化して消えた
実際スレタイにもD言語は入ってないし、話題にも上がらない

例えば30年後じゃ遠すぎて議論する意味が無い
今現役の人は既に現場を退いているだろうし
今大学生で言語に興味がある人でも30年後じゃ50歳
30年後にメジャーになるなら25年後から学び始めても間に合う
今から30年前は1987年、30年は遠い
その前に30年後じゃスレタイに挙がってる言語も陳腐化しているかもしれない

なんで、次世代は5〜10年後が妥当だろう、と俺は思う
今ある言語で5〜10年後に普及してなかったら、その先もずっと普及しないんだろう
0397デフォルトの名無しさん垢版2017/09/13(水) 01:09:18.00ID:S8v0D06m
ただやはり俺は問いたいんだよ
次世代とはいつの事なのか?

機能だけじゃなくて、ちゃんと時間軸があって
その中で流行り廃りがあってやってることだから
時間無視して機能だけ着目してもプランが見えないだろ

むしろ機能がどうであれ、5年後に普及している言語は
次世代言語と言えるだろう?正に一時代

当然今普及しているC#やC++だって貪欲に新しい機能を取り入れていくわけで
その中で5~10年後を目途に食い込んでいけるかどうかなんだよ
0398デフォルトの名無しさん垢版2017/09/13(水) 06:54:03.73ID:7a6JI6gZ
次世代ってのはそんな時間がどうしたこうしたとかの話じゃないよ
流行り廃りとかも関係無い

そう狭い視点で考えずにもっと広い視野をもった方がいいよ
0401デフォルトの名無しさん垢版2017/09/13(水) 10:01:06.54ID:VzT/OXBr
次世代って機械学習になるんじゃない。
行列計算とかするときに勝手にクラウド経由で計算リソースを取ってこれるようになる。plan9ってそういうosだって聞いた。
0406デフォルトの名無しさん垢版2017/09/13(水) 14:21:30.33ID:zxtAcgsZ
勘違いしてるみたいだけど、エンタープライズITでいうDSLってのは
「専業エンジニアでなくてもビジネスドメインの専門家自身で使いこなせる言語」のことな
言語そのものは汎用言語でも構わない
0407デフォルトの名無しさん垢版2017/09/13(水) 19:36:23.72ID:sz/jAogc
次世代言語はプログラム開発言語じゃなくなるよ
口語で伝えればそれでプログラム組んでくれるように成る
「この前教えた利子計算の方法あるでしょ? それでこれ計算しといて」
「都会の中にワーゲンビートルの車表示して、太陽光は七夕の東京あたりの午前10時の薄曇りって感じで、街は勝手に作っといて、あ、車は運転下手なおばさん設定で」
とかね
0408デフォルトの名無しさん垢版2017/09/13(水) 19:46:39.51ID:rpjhM8lZ
>>407
「自然言語でプログラミング」このたかだか12文字で表現できる主張に、何行かけているのやら。
お前がやると簡単な集計のために一日中PCとおしゃべりしてそうだなw
0413デフォルトの名無しさん垢版2017/09/13(水) 21:59:42.50ID:K9O6G+Si
>>412
なら次世代だろうと同じ言語でいいんでないの。
同じような仕事なら言語変える必要ないだろうし。
0415デフォルトの名無しさん垢版2017/09/13(水) 22:19:03.30ID:zq5Xcc85
>>411
運動会の「プログラム」とコンピュータの「プログラム」は同じことだよ。
式次第。次こうしてその次はああして…とつらつら書いてある。
それにしたがって動くのが人かコンピューターかというだけの違い。
人とコンピュータには違った特徴があるけどね。
人は融通が利くがコンピュータは違う(厳密)とか、人は単純計算が遅いとか…
要するにお前も毎日会社で上司のいい加減なプログラムを柔軟に解釈して実行してる計算の遅い手足のついてるポンコツコンピュータみたいなもんだ。
0417デフォルトの名無しさん垢版2017/09/13(水) 22:43:48.95ID:jnRF1U52
Ceylonがeclipseに移管されたらideサポートはeclipseの方が充実するんだろうか。
ここに専用スレないし日本語の情報も少なくてまだマイナーだよね。Ceylon.
0420デフォルトの名無しさん垢版2017/09/14(木) 07:53:14.18ID:Yd9ve2DW
>>415
式とお前さんが本来言いたい文じゃ、順序性の観点で全然違うんですが
最近この手の完全な門外漢がこのスレ出入りしまくってるのなんで?
どっかで流行ってるのこのスレ?
0423デフォルトの名無しさん垢版2017/09/14(木) 11:04:50.97ID:MFnw+s/0
口語で
GUIで
要は文字を使わなければいいと思ってるだろ
あとGPUみたいな回路にも文字がない
0425デフォルトの名無しさん垢版2017/09/14(木) 13:56:14.47ID:1DVuzpHn
そんなもんできても
これこれのドット判定は信用が薄いからほにゃららの色に統一すべきとか
糞みたいな運用しだすだけだよw
0426デフォルトの名無しさん垢版2017/09/14(木) 14:08:32.92ID:emC4w7HW
言葉で説明されるより、疑似コードでも何でもいいから
コードで説明された方が分かりやすい場合も多いし
その時点で・・・
0427デフォルトの名無しさん垢版2017/09/14(木) 14:15:15.18ID:emC4w7HW
あと、科学的観点からみると、再現性が無ければならないというのもあるし
品質の面からみてもそうだし
再現性が無ければバグ取りも苦労するだろう
正確無慈悲なところがコンピュータの良さでもあるわけで
0428デフォルトの名無しさん垢版2017/09/14(木) 16:41:08.91ID:XVFgKdZv
GUIプログラミングじゃなくて
ビジュアルプログラミングのことだったか
それは言語というよりツールの話だね
0429デフォルトの名無しさん垢版2017/09/14(木) 20:57:30.44ID:yZdo78uI
昔prograph っていうビジュアルプログラミング言語があったな。
大昔の話だけどね。
0434デフォルトの名無しさん垢版2017/09/15(金) 02:52:14.36ID:ESgpb85E
>>433
で?www
>>415のどこに式と文について書いてあるの?www
あれ?wもしかして「式」次第だから式だと思ったってこと?
小学生かよw国語の勉強頑張れよー
0435デフォルトの名無しさん垢版2017/09/15(金) 02:52:22.07ID:ZHku/f/z
そもそも予定という意味のprogramme と手続きを記述したコードを混同して、
それを例えになってない例えにしてる時点で頭が悪いんだが、
まあそこは許してやろうか
0436デフォルトの名無しさん垢版2017/09/15(金) 02:57:43.05ID:ZHku/f/z
>>434
演目を集めたものが式という解釈では、
プログラムとはプログラム次第であるとかいう頭の悪い主張になるけどいいのかな?
あ、もしかしてそれすら理解できない?
0439デフォルトの名無しさん垢版2017/09/15(金) 03:59:24.62ID:ESgpb85E
>>436
>演目を集めたものが式という解釈では、
ん?w誰がどこを解釈してそうなったのかな?www
とりあえずどこを解釈したのか引用して示してみ?
小学生のくせに藁人形論法使ってごまかしにかかるとかwww
0440デフォルトの名無しさん垢版2017/09/15(金) 06:00:02.17ID:gy747Xnp
>>431
純Lispの原理はシンプルで良いけど
CLの実装がいろいろ汚いんだよな

特にこのスレだしClojureでいいと思う
0441デフォルトの名無しさん垢版2017/09/15(金) 07:13:24.68ID:ZHku/f/z
>>437
>>439
で結局語彙の乏しい雑な煽りには必死だが、何の説明と反論もできないと
お前病院でIQ測定して手帳もらってきた方がいいぞ、将来のためにも
0442垢版2017/09/15(金) 08:07:52.43ID:2tC+gtK2
ただいま。

>>407
それ、あんま良くわかってない(特に営業上がりの)PMがやってる事じゃない?
その下がPMの発言を汲み、そして纏まらなかったらメシ打ちで機嫌を取り、深堀してヒアリングさせて、なんとかごまかすという人間だけが出来る事をやって、
それでも死屍累々になる今よりもっと酷くなるかと。
0443デフォルトの名無しさん垢版2017/09/15(金) 08:25:16.27ID:RDFKPiHT
客の言ったことだけに基づいてシステムを作るのが不可能なのは当然でしょ
最も重要なのは客の言葉よりもアーキテクトやエンジニア自身の経験や常識だ
人間も結局、事例を学習して継ぎ接ぎしてるだけだよ
そう考えると、それが機械に置き換わるのは案外夢物語ではないよ
0444デフォルトの名無しさん垢版2017/09/15(金) 08:47:31.96ID:wLRyrMrR
Clojureはjavaの上にあるのが特色だけど、この特色がどうしても好きになれない。どうせならLLVMの上にでも乗せてくれれば良かったのにって思う
0445垢版2017/09/15(金) 08:52:44.26ID:2tC+gtK2
>>443
継ぎ接ぎで解決する部分と、研開で本気でやらなきゃいかん部分がどーしても出てくるかと。
うちも知財部はチェックはしてくれるけど、明細書は自分で書かにゃならんし、継ぎ接ぎではやっぱ拒絶査定食らうし、弁理士の得意分野なら「新規性に疑問を持たれるのでもうちょい頑張って」って言われて知財部からかえってくるよ。
0446デフォルトの名無しさん垢版2017/09/15(金) 09:06:38.50ID:0REmg3W0
>>441
何の説明も反論も出来ていないとは、まさにお前のことだな。自己紹介乙。

>>415
>運動会の「プログラム」とコンピュータの「プログラム」は同じことだよ。
>式次第。次こうしてその次はああして…とつらつら書いてある。

に対しお前は
>>420>>433で式だ文だとトンチンカンなことを言っているが、
一体>>415のどこに式と文に関する記述が出てくるのか、まず発端のそこを説明しろよ。
いくら聞いても
>>435>>436と下手なごまかし藁人形捏造して逃げてばかり。

「式」次第だから式だと思ったってこと?小学生かよw国語の勉強頑張れよー
0448デフォルトの名無しさん垢版2017/09/15(金) 10:21:32.89ID:aCZyfKQz
副作用がガンガン使えるHaskellってつくれないのかな?
内部でモナドに変換してくれて解決してくれるようなんでいいから

人がそういうのをいちいち気にして
プログラミングしなきゃいけないってちょっと次世代的にダサくない?
0449垢版2017/09/15(金) 10:44:10.07ID:2tC+gtK2
プログラムと言う単語が悪いわな。
もう少し語源に近づいて「(ある目的のために)予め書かれたもの(pro(羅pre 前以て)-gamme(羅gram 書く))」とすると、運動会のプログラムも電算機のプログラムも同じものなんだが。
書かれた順に行うからプログラムでも無いよ。
紅組優勝の場合は○○、とか、もっと言っちゃえば午前中に雨が降った場合、午後のこの演目は土が乾くまで他の演目を先に行う、なんてのも運動会のプログラム。
それを読んで行う>>415の半分は「スケジュール」。ジョブスケジューラがやるべき事。
0454デフォルトの名無しさん垢版2017/09/15(金) 12:12:03.29ID:LWf5nRni
>>448
ずっとIOかStateの中に居ればいいと思うよ
do記法が副作用すなわち手続きを自動的にモナドに変換してくれるよ
0456デフォルトの名無しさん垢版2017/09/15(金) 12:17:37.01ID:0MiV6Sa6
Haskellの型システムを理解できていたら副作用ガンガン使えるよ
型システムをいちいち気にしないやつはPythonを使えよ
0457デフォルトの名無しさん垢版2017/09/15(金) 12:24:26.12ID:dK0HzMbN
>>449
どうでもいいがラテン語かね?
普通ラテン語で、書く、となるとscribo、(略)、、scriptumじゃね?
0458垢版2017/09/15(金) 12:52:34.10ID:2tC+gtK2
>>457
ごめん、思い切り間違えた。希だな。
0459デフォルトの名無しさん垢版2017/09/15(金) 13:04:41.59ID:aCZyfKQz
>>454 >>456
そういうのを取っ払って使えるようにして欲しいのよ
型クラスとかdo記法も隠蔽してシステムの方で勝手に管理してくれればいいじゃん
0460デフォルトの名無しさん垢版2017/09/15(金) 13:56:26.77ID:Tu1mqslW
ぶっちゃけhaskell使ってどんくらい開発効率上がるか知りたい。
railsみたく10倍開発スピード上がるって文句のフレームワークでないのかな。

個人的にはgolangのgoaがそれに匹敵する気がする。
webpaiに特化したフレームワークでswagger.jsonも吐いてくれる。
クライアントライブラリまで自動生成できる。
0462デフォルトの名無しさん垢版2017/09/15(金) 15:34:36.71ID:aCZyfKQz
むしろ、作る事≒使う事になっていくだろうな
ある意味先祖返り的な感じだけど
分けることが意味が無い方向に進んでいくと思う
やりたいことを思いついたら、それでプログラム完了したと同じみたいな
0463デフォルトの名無しさん垢版2017/09/15(金) 15:51:54.65ID:Xh3vGrxx
>>462
それはもうプログラミングとは呼ばなくなるんだよ
すでに通ってきた道

作る事と使う事の境界線が時代とともに移動することはあっても
分ける事に意味が無くなることはない
概念に名前を付けるというのは分けることそのものだから
0465垢版2017/09/15(金) 18:51:48.11ID:Or0Hv36R
人間は概念に名前がついてると、そいつの素性を知らなくてもなんとなく完璧に理解した気になるステキな特性を持っとるからな。
js界隈のFluxとか使い古しの技術の詰め合わせだし、disりの為の池沼、ガイジ、アスペらへんの言葉も同じ。
精神医学やら臨床心理学、障害者心理学やっても無いのになぁ、って思うわ。やった人間からすると。
0469デフォルトの名無しさん垢版2017/09/15(金) 20:54:08.67ID:ZHku/f/z
>>446
ごまかしって、今お前がやってる下手くそな例えのポエムで自爆してる事?

文や式云々は確かに俺個人の解釈の一つだ
で、それで?
いつまでもまもな解釈を提示できない時点で、意味のないレスと自分で反復的に証明してる用なもんだぞ

ちゃんと理解できてるか?知恵遅れ
0473デフォルトの名無しさん垢版2017/09/15(金) 23:06:38.84ID:7m1NmZ8+
言語で開発効率が上がるのではない
その言語を使いこなせるエンジニアだから開発効率が上がるのだ
流行に流されず手に馴染んだものを使いたまえ
0474デフォルトの名無しさん垢版2017/09/15(金) 23:15:03.10ID:klJRpzhS
それはちょっと違うな
言語の性質そのものが生産性を大きく向上させることはないのは同意するが、
その言語に習熟しているかどうかもそれほど重要ではない
最も重要なのは、学習コストを受け入れて生産性の向上を図ることのできるエンジニアは優秀なエンジニアである、ということだ
0475デフォルトの名無しさん垢版2017/09/16(土) 04:11:26.94ID:AcW1bn43
あと生産性については使い分けがあるな

関数型は記号処理が中心なら簡潔に書けるが
ゲームみたいな
状態遷移が中心の開発対象に向かない

あとCRUDとか定型的なアプリなら
ライブラリやフレームワークの方が
生産性の要素として大きい

結果メジャーなOO言語の方が使いやすい
0476デフォルトの名無しさん垢版2017/09/16(土) 08:18:11.68ID:8gG27N70
言語で効率に差はない君の主張は「HelloWorld程度なら」という前提らしいので真に受けてはいけない
0477デフォルトの名無しさん垢版2017/09/16(土) 09:11:09.54ID:F+TnbpuB
デマを真に受けるだけで効率100倍ぐらい悪化するよな
言語は変えてもせいぜい2倍程度だろう
だから言語の差は意味がないと考えられる
0478デフォルトの名無しさん垢版2017/09/16(土) 16:33:37.37ID:aqKyvOS6
oO(アセンブラでアプリケーション全部書くのからはC++2011でも100倍は確実だと思うけど)
0479デフォルトの名無しさん垢版2017/09/16(土) 18:14:46.05ID:kjHVa57h
お前らは気持ちよくかけるオナニー言語が欲しいんだろ
普及するのは入りやすくて変化の少ない言語だろ

なのでどっちみち生産性とか実用性は無視していいんじゃないか
0480デフォルトの名無しさん垢版2017/09/16(土) 19:05:55.59ID:j0p/1V2e
>>479
これなー
別にC/C++で実行速度も解決できるしほぼなんでもできるからな

言語で何をするかが重要なのであって案の定スレ開いてみたら言語の欠点じゃなくわけのわからんこと抜かしてるし

多分こいつら下の階層のプログラマーじゃないだろ
0482デフォルトの名無しさん垢版2017/09/16(土) 20:48:37.37ID:AcW1bn43
>>477
>>478
100倍は大げさ
機械語と高級言語だったら100倍ありそうだけど

アセンブリとCで10倍くらいかな
アセンブリとC++で20倍くらい?
0485デフォルトの名無しさん垢版2017/09/16(土) 22:16:18.09ID:j0p/1V2e
そもそも次世代ってどれも対して変わらんだろ。GUIでプログラミングとか今までにない要素ぶち込むならまだしもどれも劣化python/C++じゃん

java/kotlinなんか仮想化すんなら別に言語javaである必要はないしな
次世代取りたきゃandroidみたいにほぼ強制的にやらせればいい
0493デフォルトの名無しさん垢版2017/09/17(日) 00:49:41.17ID:WzljKSlU
>>485
>今までにない要素ぶち込む
じゃVR/AR/MR or(amazon Echoみたいな)スピーカーデバイスだけで
プログラミングできる言語作れと?
確かに次世代っぽくはあるかもねw
0495デフォルトの名無しさん垢版2017/09/17(日) 08:32:15.30ID:msCJo3bN
他言語もそろそろRustのぱくりを考えているだろう
例えば参照カウントが2以上なら例外を投げるだけの機能
0497垢版2017/09/17(日) 15:03:42.87ID:4luHVr+4
VRで作業は少しアリかもしれんけどな。単純に視野的に。
Oculus買ったけど、Unityでアプリのウィンドウをキャプチャしたものを浮かべてたくさんの仮想ディスプレイのようにして遊んだけど楽しかった。NASA感ある。
でもキーボードとトラックボール以上の入力装置は無いな。空間をつかむって思ってるより難しかったわ。

でも何より熱いのと、その仮想ディスプレイを浮かべる部分作る作業は酔う。
0498デフォルトの名無しさん垢版2017/09/17(日) 17:49:11.61ID:iL83YJ5L
キーを押した感覚とかフィードバックがないとな
タッチパネルの課題としても研究してる人いるけど
0499デフォルトの名無しさん垢版2017/09/17(日) 17:56:51.20ID:T71SjEGu
良く知らないんだけど、関数型の言語って関数を動的生成してるんだろうか?
C++のラムダはしてないけど
0500デフォルトの名無しさん垢版2017/09/17(日) 22:55:01.08ID:3VVJG3KB
そんなことしなくても推論したシグネチャ通りの関数をコンパイル時に生成すれば十分。
0501デフォルトの名無しさん垢版2017/09/17(日) 23:44:37.23ID:T71SjEGu
クロージャとか関数オブジェクトはそう簡単にはいかんくね?
C++だと結構ダイナミックに引数変更してくるし
0502デフォルトの名無しさん垢版2017/09/18(月) 01:25:42.89ID:+b1AQYPX
>>499
関数型言語の計算モデルであるラムダ計算モデルを単純に実装すると、
常に(「関数」ではなく)クロージャがヒープ上へ動的に生成され、
最終的にガーベジコレクションによって回収される
これはSICP本にあるような初歩的な関数型言語インタプリタ実装や
初期のLISP処理系実装で見ることができる

で、現在の最適化技術が反映された関数型言語処理系では
「クロージャ変換」と呼ばれる技術が使われていて、
単に束縛変数(いわゆる関数の仮引数)だけを参照する関数は
手続き型言語と同様にスタック上へ引数が割り当てられ、
本当に必要な時しかヒープを消費しないよう設計されている
その概略はTiger本に解説がある

なお、Haskellのような純粋関数型言語では「ラムダリフティング」と
呼ばれる技術によってクロージャ変換と同様な最適化が実現されているらしいけど、
自分は知らない
0504デフォルトの名無しさん垢版2017/09/18(月) 12:25:46.18ID:/x8A7ZAN
それ最適化と呼ぶようなことなのか?
ラムダを普通の関数として実装するくらいのこと、静的言語だったら必ずやってるよね
静的言語の場合は単にそう実装するのが自然だからそうしてるだけで、最適化でも何でもないな
その程度のことにわざわざかっこいい名前をつけなきゃいけないほど動的な関数型言語の最適化技術は貧弱なのかなと思ってしまった
0505504垢版2017/09/18(月) 12:53:56.59ID:/x8A7ZAN
全ての名前をコンパイル時に解決する言語ではラムダは自由変数を参照してないのがデフォで、
静的解析時に自由変数の参照を発見したら例外として変数をヒープへリフティングする
名前を動的に解決する言語では、あえて静的解析を入れない限り基本的には常に自由変数の参照があると仮定する
という意識の違いがあるってことかな
0507デフォルトの名無しさん垢版2017/09/18(月) 13:22:40.50ID:aKawbEQ/
ID:/x8A7ZANが何言ってるのか良くわからんのだが、まず「動的な関数型言語」って何を指してんだ?

俺の認識では動的な関数型言語って言ったらErlang,Lisp,Schemeを指すんだがそれのことを言ってんのか?

俺は話を動的型付け言語に限定してないぞ
0510デフォルトの名無しさん垢版2017/09/18(月) 14:47:16.89ID:aKawbEQ/
C++はautoで持ってるかstd::functionで持ってるかでもう最適化の内容が変わるし、ラムダは普通の関数ポインタでは持てなかったりするし、autoで最適化したら環境の変数も引数として渡すことになってたりすることもあるし良くわからん
苦手や
0511垢版2017/09/18(月) 15:32:23.61ID:HvWrF9I2
なんか変な話だな。
ラムダをどう使いたいかの方が最適化では問題になるのでは?
インライン展開してしまうか、関数にするか、関数内関数にするかってことになるなら、関数ポインタとして呼びたいか条件分岐の方が良いのかとかそっちの観点が問題になるような。
それは石にもよって、armなんかだと再帰しないならインライン展開と条件実行の方が具合が良かったりすると思う。
0512デフォルトの名無しさん垢版2017/09/18(月) 15:47:47.30ID:vOYXlSBd
>>511
レイヤの違う問題。誰もそんな話はしていない。
インライン展開するにしても、前のプロセスで自由変数に依存しないラムダについては独立した関数への変換を予め済ませておけば、
インライン展開は容易になるだろう。
0514デフォルトの名無しさん垢版2017/09/18(月) 19:19:25.45ID:urldNTTh
型概念はリソース制限がきつかったころのレガシーなところはあるかもね
今わざわざunsignedにして1bit節約したい人はまずいない
20年後はchar?そんなのint(64bitだけど意識してない)でいいだろ?になるんじゃない?
0516垢版2017/09/18(月) 20:01:58.72ID:HvWrF9I2
>>512
「自由変数に依存していない」から、ラムダが変換出来る訳じゃないよ、って言ってんの。
レイヤの違う話ではなくて、地続きの話では?
その上、最適化と言う言葉は危険すぎると思うが。
0518デフォルトの名無しさん垢版2017/09/18(月) 21:41:40.52ID:dU2P6lSN
なんか突っかかってることはわかるけど、読み辛すぎて読む気がしない。二行目でギブ(笑)
0519デフォルトの名無しさん垢版2017/09/18(月) 23:48:00.28ID:Wz+o0dZv
>>513
jsもそうだな。関数型じゃないけど。

大雑把に書くと

所謂var bindingされる宣言を評価->所謂let bindingされる宣言を評価->実行

だからvar bindingされた名前は一番最初に見えてる。
やろうと思えばIRの変換で出来ることは実行前に(JIT使わずに)できる。
型情報がないから役に立つのか分からんが。
0521デフォルトの名無しさん垢版2017/09/19(火) 03:04:41.27ID:NsD/KMp/
>>514
レイヤー次第だろうけどそれは無いと思う。
ネットワーク関連のバイナリプロトコルは思いっきりビット・バイト意識しまくりだし。
0522垢版2017/09/19(火) 06:53:09.32ID:GMytP/5k
なんで疑問に思えないんだろう。
0523デフォルトの名無しさん垢版2017/09/19(火) 07:36:33.77ID:L/k3HGkW
下手に最適化するとデバッグが困難なイメージを払拭できないどころか助長している
最適化しない動的言語のデバッグは容易な気がする
0525デフォルトの名無しさん垢版2017/09/19(火) 08:03:33.07ID:t8DbjZup
>>522
じゃあラムダが自由変数に依存してないのに独立した関数へ変換できないケース、
または、その変換を行うことにより最適化が適用しづらくなるケースの例を挙げてくれ
あDHDの主張はこのどちらかを反例として挙げることで裏付けられるというのが俺の理解だが、合ってるかな?
あと、自然言語で回答されても誰も理解できないと思うから必ず具体的なコードで頼む
0526デフォルトの名無しさん垢版2017/09/19(火) 09:30:28.30ID:B9qsqzra
>>525
こいつが言ってるのって、たぶん他の最適化如何でラムダ部分のコードそのものが変わるとか、そういう話じゃねえかな…
変換が何を指してるかは分からないから、完全否定はしないけど、反例の種類は対偶もあるだろよ
0527デフォルトの名無しさん垢版2017/09/19(火) 09:36:28.47ID:sbIiLP4m
あDHD(いいネーミングセンス)の言うことを真面目に読むのは疲れるし、読み人によって解釈が異なる上に詠み人は違う解釈でいる
おまえら良くやるわ
でもたしかに自然言語で描かれるよりコードか数学記号で主張してるほうが読みやすそうww
0528垢版2017/09/19(火) 18:24:32.47ID:ORpK0dfd
>>525
例えば、ARMだとインライン展開してしまえばADDEQとかADDNEみたいな条件付き命令でループ中でもストールさせずに飛ばしたり出来ちゃう時とか。
関数にしてjmpすると効率悪いコードになる時。
最適化では。
>>526
コードは変わらんよ。
0530デフォルトの名無しさん垢版2017/09/19(火) 20:25:33.85ID:BJkNW1hw
コードで言われているのに自然言語で返すガイジ
Haskellの時に具体的に書いた結果無知を晒して大恥をかいたことがよほどトラウマになっているものと見える
0531デフォルトの名無しさん垢版2017/09/19(火) 21:17:03.18ID:OwH7JHtJ
前原も就任した後のTV出演で
モリカケ問題ばかりをやるきはないっていったそばから
モリカケ問題トーク始まったからなw
0533垢版2017/09/19(火) 22:09:51.81ID:ORpK0dfd
>>529
それは独立した関数が最適ではない、と言う話ではないか。
何が最適化なんだよ。

>>530
別に恥とは思っとらんよ。勉強にはなった。
しかし余程、自分は恥だと思うんだろうなぁ、他人に対してそういう風に「恥ずかしいに違いない」と断定的に言うところ見ると。
余程恥ずかしいな、その思考回路が。
0535デフォルトの名無しさん垢版2017/09/19(火) 22:39:47.10ID:zY0OeQa1
>>533
いやあれは流石に恥ずかしすぎ。あれを恥ずかしいと思わない思考回路がまず恥ずかしい。

勉強になったとかじゃなくて、最低限の勉強すらせずしったかしてたのがバレただけだろ美化すんな
0536デフォルトの名無しさん垢版2017/09/19(火) 22:40:22.21ID:6tkowvmv
なんで最適化の話になってんだか。
javaのGraal使って人間がハンドアセンブルしたマシン語をJITに使える新時代くるで。
いちいちjava bytecode生成しなくて済むよ。TruffleRubyが速い。
0537デフォルトの名無しさん垢版2017/09/19(火) 23:17:20.17ID:y3g67zRP
あの人にボロクソに論破されて発狂して何とか揚げ足取りたいガイジがおるようやね
0539デフォルトの名無しさん垢版2017/09/19(火) 23:27:50.73ID:4ouvyY05
>>533
直行する問題だと言ってるんだよ
等価なものは同じものとして扱ったほうが最適化の実装は容易になるだろ
0540垢版2017/09/20(水) 07:03:02.13ID:0AKG+c7B
>>535
そーかー。
そら楽しかっただろうな、嗤うだけのお前はw

最適化の話は、話の発端>>502で、最初から言うとるぞ。
0543垢版2017/09/20(水) 08:32:31.84ID:0AKG+c7B
最適化を知ったかしてる人にヤイヤイ言われる程度の事っしょ。
間違ってたら正せば良いし、積極的に正されてるつもりだぞ。
「間違ってるウゥ!」って指差して笑い転げるのは中学生くらいで終わらせとけよ。。
0544垢版2017/09/20(水) 08:33:34.51ID:0AKG+c7B
>>530
ADDEQがどんな命令か知ってれば必要最低限のコードでは?
0547垢版2017/09/20(水) 08:54:13.08ID:0AKG+c7B
>>545
オペコードはコードでない、と。
面白いな。

>>546
理解してないんじゃない。
着地点が定義されてない最適化なんぞ、どのレイヤであっても無意味。
末尾再帰を解釈できるコンパイラと関数呼び出しとしてしか解釈できないコンパイラの話をしないうちに、
ループの最適化の話しても無駄でしょ。
0548デフォルトの名無しさん垢版2017/09/20(水) 09:02:56.02ID:lnxmN51d
誰もループの最適化の話なんかしてないでしょ
今の論点は、
・クロージャ変換によりガベージの増加を低減できる
・インライン展開により関数呼び出しのコスト低減を図ることも実行速度の向上には効果的である
・クロージャ変換を行うことによりインライン展開などのより低レベルな最適化が行えなくなることはない
・したがって、両者は直行する問題であり、それらを相反するものとするあDHDの懸念は誤りである
これでいいだろ?
0549デフォルトの名無しさん垢版2017/09/20(水) 09:12:41.36ID:meNSbSun
>>540
嗤うだけっていうのはただのディスやね。決めつけはニート認定みたいで、頭悪そうなのでやめといたほうがいいと思うよ

少なくとも、めっちゃ読みづらい知ったかぶり長々書かれて全然楽しくなかったぞ
あの時からずっとおまえのレスは普通に邪魔
0550548垢版2017/09/20(水) 09:14:30.17ID:lnxmN51d
いやインライン展開を先にやっちゃったらクロージャ変換はできなくなるから正確には直行する問題ではないか
何事も負荷逆な操作をできるだけ後回しにするのは基本だよね
0551デフォルトの名無しさん垢版2017/09/20(水) 09:24:37.99ID:NK01lAwy
>>543
最適化知ったかぶりしてる奴って誰だよ

間違い自体は全然問題にされてなくて、Haskellの実装を知ってるとまで言っておきながら、その基本文法すらわかってなかった酷い知ったかぶりを責められてるのわかってる?
0552デフォルトの名無しさん垢版2017/09/20(水) 09:40:23.50ID:meNSbSun
あと全く知らないものを、まるで知ってるかのように振舞ってディスってたっていうのも問題だな
あんだけ散々ディスってたくせに知らんのんか〜いって思った

あれ以来、こいつは知ったかぶりする傾向があるから動くコード書くまで信頼出来んと思ってる
0555デフォルトの名無しさん垢版2017/09/20(水) 10:04:00.22ID:OlAvSaNc
Cのマクロは人でも読めるコードを生成してくれるから良かった
だがマクロよりインライン関数の方がすごいんだという謎のマウンティングが始まった
人にコードを見せる習慣がなくなったのはそういう歴史の影響があるんだろう
0557デフォルトの名無しさん垢版2017/09/20(水) 11:30:55.10ID:meNSbSun
展開されない時って、コンパイラ判断として展開しないほうが良い時なのでは……?
いやコンパイラに任せるより手動で最適化したほうが良いような実力者なら知らんけど
0559デフォルトの名無しさん垢版2017/09/20(水) 11:47:06.69ID:OlAvSaNc
実力者になった後で手動にするか、手動にした後で実力者になるか
現金で買うのとカードで買うのはどちらが賢いかというのに似ている
0560デフォルトの名無しさん垢版2017/09/20(水) 11:49:12.59ID:meNSbSun
はえー。俺はコンパイラより正しい判断が出来る自信はないから全部コンパイラに任せてるわ
いやすごいな。-O0でコンパイルして-O3並みの速度出せたりすんの?
0561デフォルトの名無しさん垢版2017/09/20(水) 12:03:51.93ID:qH6V6v7k
コンパイラの最適化は速度を優先するかメモリを優先するかバランスとってるからね。
俺みたいな速度最優先の少数派のことなんか考えてくれてないから自分でやるだけ。
0563デフォルトの名無しさん垢版2017/09/20(水) 14:02:50.79ID:32CWNlSU
>>547
詭弁もいいとこだな
どこがコードなんだよ

オペランドすら記述していない上に、
結局大部分を文章で説明している
それでも、すべて支離滅裂な文よりはいくらかマシだが
0564デフォルトの名無しさん垢版2017/09/20(水) 14:07:16.46ID:32CWNlSU
そしてオペコードをコードと言いながら>>528で、最適化でコードが変わる事ではないという言い草
恣意的にレスしてるのがまるわかり
0565デフォルトの名無しさん垢版2017/09/20(水) 14:50:54.31ID:rh0oGGav
あのー結局のところHaskellが良さそうだけどモナドっていうのが分からないとつかえないの?
それともモナドとか分からなくてもそこそこ普通に使えて、しばらく使ってたらモナドとかも雰囲気でなんとなく分かってくるものなの?

YouTuberで圏論の勉強会ビデオ四回目まで見たけどなんとなく理解はできたの
結局のところ集合と関数をより抽象化して記号化していろいろやってるんだよね?
0566デフォルトの名無しさん垢版2017/09/20(水) 15:00:39.54ID:f95dJFKd
モナドはまあ満たすべき性質ではあるけれど、別に理解してなくても問題ない。
コンパイラもモナド則をチェックするわけでもないし。
0567デフォルトの名無しさん垢版2017/09/20(水) 15:30:18.35ID:qH6V6v7k
俺はネットに無料で上がってる凄いH本よんだけど圏論何て一つもでてこなかったけど
モナドはわかったぞ。
0568垢版2017/09/20(水) 15:44:48.04ID:0AKG+c7B
テンションすげえな。水曜なのに。
0569デフォルトの名無しさん垢版2017/09/20(水) 17:03:51.19ID:66cdr9VM
モナドとか分からなくてもなんとかいけるんやー
ちょっとがんばっておぼえてみよーっと
ありがとー
0570デフォルトの名無しさん垢版2017/09/20(水) 18:09:54.14ID:66cdr9VM
Ryzenとか出てきてこれからは6コア、8コアあたりまえになったらマルチスレッドとか大切になるんだとおもうの
それでちょびっとぐぐったらどうも関数型プログラミング言語はどれもマルチスレッドが得意らしいの
だからやっぱり関数型プログラミング言語が流行よね
そんな気がするの
0571デフォルトの名無しさん垢版2017/09/20(水) 18:21:45.19ID:8NhAmDw4
もうみんなコテハンつけたら?
ここにいるのって、どうせいつも同じ人間じゃね?
0572デフォルトの名無しさん垢版2017/09/20(水) 18:29:38.52ID:eqHukz4h
Haskellの並列ってあんまりマルチスレッドって認識してなかったけど、たしかにマルチスレッドあるな
0573デフォルトの名無しさん垢版2017/09/20(水) 18:35:57.38ID:OlAvSaNc
関数型の入門書はパターンマッチができるデータ構造ばっかり教える
クロージャやモナドはパターンマッチができない構造なのに
0575デフォルトの名無しさん垢版2017/09/20(水) 21:15:05.03ID:+ftcwVio
関数型全般はさておきHaskell自体は並列処理書きづらいイメージがあるんだけど気のせいか
0576デフォルトの名無しさん垢版2017/09/20(水) 21:36:57.21ID:meNSbSun
あんまり詳しくないんだけど、Haskellの並列だと、いくつかの関数をそれぞれ1スレッド(プロセスだったかも?)に割り当てて並列で計算するのが印象に残ってる。
えらい簡単に並列化出来るんだなって思った記憶ある
なんだっけなあのライブラリ
0577デフォルトの名無しさん垢版2017/09/20(水) 21:42:45.54ID:ej6oPx0l
純粋な関数は並列化簡単だからね
0578デフォルトの名無しさん垢版2017/09/20(水) 21:59:48.39ID:OlAvSaNc
インターネットとマルチスレッドを区別しないと
マルチスレッド派はガベコレ廃止してborrowチェックしないと
0580デフォルトの名無しさん垢版2017/09/20(水) 23:43:37.21ID:XmuyR82X
>>576
HaskellだとControl.Parallel.Strategiesを使うと
map関数が容易に並列化できてお手軽だった
ちゃんと使おうとするとWHNF(Week Head Normal Form)だとかの理解を要求されるので
そういう敷居の高さはあるけど
0581デフォルトの名無しさん垢版2017/09/21(木) 01:50:38.06ID:QW6vwaf/
>>579
この人はScala大好きのようだが
同様に誰かにのScalaここが嫌だと言われそうなレベルの話で
ふーんでおしまいだなあ。
0582デフォルトの名無しさん垢版2017/09/21(木) 05:23:51.87ID:r0JkAuLO
{ "aaa" }
このラムダ式の凄さが分かって無いな。
ルビーでいうとブロックが何個でも持てるるのと同じことなのにな
0585デフォルトの名無しさん垢版2017/09/21(木) 07:08:49.84ID:r0JkAuLO
わかりやすくいうと
javascriptのcallbackのfunction()という邪魔な奴が消えて見やすくなるということ
0586デフォルトの名無しさん垢版2017/09/21(木) 08:36:52.83ID:q4h3VbHC
Kotlinのパターンマッチは確かにC#の最新版にすら抜かれたダメな子だが、
nullのくだりは全く同意できないな
そもそもScalaにnull safetyなんか無くね
0588デフォルトの名無しさん垢版2017/09/21(木) 12:19:06.27ID:xGEE8GqX
>>555
inlineの方がいいのは型チェックあるからだろ
0590デフォルトの名無しさん垢版2017/09/21(木) 14:07:02.73ID:+Jhp3IyY
doubleかintしか使わないなら意味あるが、2つ使うなら意味あるだろ。
しかも、完全にじゃなくて殆どならなおさら。
型の意味わかってないだろ。
0595デフォルトの名無しさん垢版2017/09/21(木) 16:29:56.24ID:rIFSqMAF
C のデバッグしてると int -> double も明示的に変換するように設計されてりゃよかったのにと思うことが多い。
python3 の int と float をごっちゃにあえてしたのなんてありゃ失敗だろ。型を弱くしてどうすんだっていう。
0598デフォルトの名無しさん垢版2017/09/21(木) 22:58:59.34ID:2mLwGNyW
doubleとintを間違える可能性は確かにあるけど
座標とかはdoubleとdoubleだったりintとintだったりするだろ
それを間違える可能性まで網羅しないと致命的じゃないか

型システムに都合の良い範囲を想定してしまったらかえって想定外の盲点が増えてしまう
0600デフォルトの名無しさん垢版2017/09/22(金) 01:09:22.44ID:VcH/r1aN
intとdoubleを明確に区別するといえばOCamlだが、あれは流石にやりすぎと感じる。にわか感想だけど
0601デフォルトの名無しさん垢版2017/09/22(金) 03:19:07.10ID:g4HdW9MF
暗黙の型変換の邪悪さは経験積めばわかる
あとIntへの型変換はHaskellが一番ドイヒー
0604デフォルトの名無しさん垢版2017/09/22(金) 07:53:43.74ID:eIMWXunI
IDE補完が効きまくるという点で静的型が好き。
phpStormとか使うとphpでも補完効きまくるようになるん?
0605デフォルトの名無しさん垢版2017/09/22(金) 08:34:49.37ID:ig88NjIH
>>601
10年以上Haskellメインで使ってますが、
あなたの言うIntへの型変換の「酷さ」が分かりません。

他言語と比べて何か問題あるのでしょうか。
0609デフォルトの名無しさん垢版2017/09/22(金) 11:00:09.62ID:g4HdW9MF
>>605
え?計算毎にいちいちNum経由にするのが酷くないって?
お前もしかしてHaskell使ったこと無いんじゃないの?
0610デフォルトの名無しさん垢版2017/09/22(金) 11:06:23.68ID:g4HdW9MF
Haskellメイン(仕事とは言ってない)

コンパイラとかの文字列処理や、モデルの妥当性検証とかに使うならまだしも、
数値計算でHaskellw
Repa位しか優位性ないだろ
0611デフォルトの名無しさん垢版2017/09/22(金) 11:40:01.90ID:ig88NjIH
>>609
Numは型ではなく型クラスです。

具体的には、どの型からInt型への変換が酷いのでしょうか。
Stream Fusion は働かないのでしょうか。
0612デフォルトの名無しさん垢版2017/09/22(金) 11:45:22.74ID:ig88NjIH
>>609
失礼、Stream Fusion と言うより、書き換え規則ですね。

書き換え規則が働けば、大抵の型変換は必要最小限のオーバーヘッドで行われる筈です。
0613デフォルトの名無しさん垢版2017/09/22(金) 11:47:26.66ID:g4HdW9MF
>>611
Numが型だとも型クラスでないとも言ってないし、
Stream Fusionだろうと変換はいるけど?
お前さっきから何知ったかぶってるの?
0616デフォルトの名無しさん垢版2017/09/22(金) 12:01:58.15ID:Q4+Qj6om
例えばInt型の3って名前の関数をNumタイプクラスの3って名前の仮想関数に変換する関数で
変換してそれをDoubleを使う関数にいれるパターンだよな。
0618デフォルトの名無しさん垢版2017/09/22(金) 12:33:30.94ID:A2XKXMkJ
仮想関数は酷いってのは常識になりつつある
オーバーロードはいいがオーバーライドは酷い
だがオーバーロードとオーバーライドを勘違いする非常識なやつもまだいっぱいいる
0620デフォルトの名無しさん垢版2017/09/22(金) 13:14:10.74ID:ig88NjIH
>>601
ある型の値をInt型の値へ変換する際にあなたにとって酷いことが起きる、
あるいはあなたにとって酷いプログラムコードになる、という話ですよね。

>>609
Int型への変換の話の中で「Numを経由する」という言い方を聞いて、
あなたが Num を型だと勘違いしていると思いました。
大変失礼しました。

ある型の値をInt型の値へ変換する際は一度Num型クラスのインスタンス型の値へ変換し、
それを改めてInt型の値へ変換しないといけない、
あるいはそういう型が多い。
あなたはそう思っているのでしょうか。

もしそのような場合でも、私書き換え規則があれば経由しないようにできると私は言いました。
標準ライブラリの中で定義されている型で、
頻繁にInt型への変換が必要と思われる型に対しては、
書き換え規則がライブラリ内に書かれています。
自分で書く場合も一度書けば済むだけみます。
これが酷いのでしょうか。

改めて聞きますが、具体的にはどの型の値をInt型の値へ変換する際に、
Num型クラスのどの型の値を経由しなければならないのでしょうか。
0621デフォルトの名無しさん垢版2017/09/22(金) 13:37:46.62ID:g4HdW9MF
>>620
>改めて聞きますが、具体的にはどの型の値をInt型の値へ変換する際に、
>Num型クラスのどの型の値を経由しなければならないのでしょうか。
だから全部自分で書いた話だろそれ
VanillaじゃIntとIntegerすら必要だろ

そんな事言ったら何らかの形で暗黙の型変換許してる言語全部そうだわ
お前マジで頭の病院行ったほうがいいんじゃねえの?
0623デフォルトの名無しさん垢版2017/09/22(金) 14:14:32.59ID:A2XKXMkJ
言語の問題を医学部に丸投げするなよ
今ここで必要なのは法学部か文学部のような能力だという現実を受け入れろよ
0624デフォルトの名無しさん垢版2017/09/22(金) 14:19:32.05ID:ig88NjIH
>>621
Integer型の値をInt型へ変換する際に、
Num型クラスのどのインスタンス型にまず変換する必要があるのか、
その型を教えて頂けないでしょうか。
0628デフォルトの名無しさん垢版2017/09/22(金) 15:10:56.24ID:XD+YRvZx
ほわ?そのコードの何が問題なんだ?
上も下も非常に妥当な挙動に見えるんだけど、いったいどうなって欲しいんだ?
0629デフォルトの名無しさん垢版2017/09/22(金) 15:11:44.73ID:g4HdW9MF
ああ、意図がわかった
こいつIntegralをNumって言った事とっかかりに揚げ足取りしたいんだな
IntegralはReal通してNumのサブクラスですよクソ野郎
0631デフォルトの名無しさん垢版2017/09/22(金) 15:28:32.33ID:ig88NjIH
>>627
fromIntegral 関数は、Integer型の値をInt型の値へ変換する際に、
どのような他の型へも変換しません。
経由しません。

Inreger型の値をInt型の値へ変換するのにNum Integer を経由、
という言い方がおかしいと思うのですが。
0632デフォルトの名無しさん垢版2017/09/22(金) 15:41:26.97ID:g4HdW9MF
>>631
言葉遊びばかりだな
fromIntegralはfromIntegerを使う時点でNum経由
あといちいち俺が言っていないことさも言ったかのように決めつけて反論するの、やめてくれないかな?
0634デフォルトの名無しさん垢版2017/09/22(金) 15:54:31.81ID:g4HdW9MF
そもそもHaskellで数値計算なんて
チューンしたところでLL並の速度なのに何を躍起になってんだか…
このクソ野郎には適材適所という言葉を送りたい
0635デフォルトの名無しさん垢版2017/09/22(金) 15:59:41.73ID:ig88NjIH
>>632
fromIntegral = fromInteger . toInteger

Integer型の値からInt型の値への変換はどこも経由しません。

例えばWord型の値からInt型の値への変換は、
書き換え規則を働かせないようにわざわざすれば、
Integer型の値へ変換されてからInt型の値へ変換されます。

ですが、このような変換の書き換え規則を働かせないようにするメリットがありません。
初めから標準ライブラリに書かれていて、
プログラマは意識する事無くそれを使っているのだから。

ちなみに、私は>>627のコードが冗長だとは特に思わないです。
文字fromIntegralが長いと感じるのであれば、
fiにでも変えればいい話ですし。
0639デフォルトの名無しさん垢版2017/09/22(金) 16:25:12.12ID:g4HdW9MF
>>635
だからそれfromInteger使ってんだろ
そしてIntとWordが例外なのに、さも他に定義されてるように言いやがるし
詭弁が多すぎ
0641デフォルトの名無しさん垢版2017/09/22(金) 16:31:40.02ID:ig88NjIH
>>639
他にも色々な型の書き換え規則が定義されています。

ここで全て挙げるのはさすがに勘弁してほしいので、
興味がおありなら標準ライブラリを調べてみてください。
0644デフォルトの名無しさん垢版2017/09/22(金) 16:37:24.43ID:XD+YRvZx
そもそもIntとIntegerを混ぜて演算する時なんてそうあるか?
浅学非才な俺には設計が悪いとしか思えないんだけど。どういう時に必要なんだ……
0646デフォルトの名無しさん垢版2017/09/22(金) 17:05:23.17ID:XD+YRvZx
>>645
いや、速度関係なく、取り敢えず型は揃えとかない?
関数作る時にわざわざ一つの引数はIntegerで一つはIntとかせんだろ?
俺は大体全部Intで作ってるから、Integerは即Intにしてるわ。みたいな
0649デフォルトの名無しさん垢版2017/09/22(金) 20:04:54.06ID:yMB3txhD
そもそも人が
型とか、型クラスとか、
パブリック/プライベートとか
ポインタだとか
そういう言語側の都合を意識しちゃ
次世代言語として
ダメだと思うんだけどどう?
0651デフォルトの名無しさん垢版2017/09/22(金) 20:24:36.31ID:yMB3txhD
え〜、でも、そういうのも
言語側が裏で判断して処理してくれればいいじゃん
A.I.でもディープラーニングでもなんでも使ってさ
ハスケルでもエリクサーでも
古いコンピュータ言語の慣習にとらわれてて
全然、次世代って感じしないじゃん
0654デフォルトの名無しさん垢版2017/09/22(金) 20:37:05.38ID:b6yHr9//
車の自動ブレーキと一緒で
危険な操作をできなくする方向で言語は進化してきているから
別に古い習慣とかじゃなく、そういう方向へ進化していくものだから
0655デフォルトの名無しさん垢版2017/09/22(金) 20:40:16.61ID:b6yHr9//
危険な操作を禁止するといっても
やりたいことが出来なくなっては意味が無いので
その辺の制約の付け方が次世代で評価されるポイント
0656デフォルトの名無しさん垢版2017/09/22(金) 21:16:44.42ID:A2XKXMkJ
変な操作を禁止する方向と
変な現象を報告するだけの方向があるぞ

そして両者の存在を認める方向と、相手の存在を禁止する方向がある
0657デフォルトの名無しさん垢版2017/09/23(土) 03:41:51.45ID:qWNtk5Ea
むしろ自動ブレーキじゃなくてオートマチック車が
マニュアル車より速くなったとき次世代だと思うな。
0662デフォルトの名無しさん垢版2017/09/23(土) 19:13:02.33ID:nrpIGIl5
禁止するだけだともっと糞な方向に行くだけだろう。
規則で禁止しまくった SIer の現状を見ろ。
そうじゃなくてより安全な方向を提示するほうが正しい。
0665デフォルトの名無しさん垢版2017/09/23(土) 21:09:08.49ID:3CWlI3/Q
>>653
多分PHPのことを言ってるんじゃないかな。
結局動的言語ってテンプレート文字列使ってプログラミングするのと変わんないんじゃないかと思う。
0670垢版2017/09/24(日) 01:03:00.91ID:g+SOx1mh
まー、MT車でもニュートラルにしてブレーキペダル踏んでないとセルを回せない、なんて仕組みになったりしてるしな。
安全性としては進化しつつ、機能・機構としては複雑になったり踏切からの緊急脱出の手段を一つ捨てるといった退化してる。

結局、言語も何が正解かは使う人間と用途次第だろ。

「ポインタを捨てたりNullableとそうでない型すらもわけるのが正しい言語」「型なんて飾りです、キャストすりゃいいんです、電文?unionで解釈しましょう」みたいな言語が相容れうる訳がない。
0672デフォルトの名無しさん垢版2017/09/24(日) 09:18:19.02ID:L7/sMAP/
しかし時系列でみれば新しい言語ほど何かをするための専用の構文が追加される
傾向があって、その専用の構文では「それ」しか出来ない制限があることで
危険なことが出来なくなったり、読みやすくなったりしているのだから
次世代言語とはそういうものだろう
0675デフォルトの名無しさん垢版2017/09/24(日) 15:15:34.52ID:FsQtGtar
>>672
それ自称シンプル言語()のGolangだろ
array、slice、map,chan。全てが専用構文
次世代言語は演算子もメソッド呼び出しだったりするから専用構文は少ないよ
0679デフォルトの名無しさん垢版2017/09/24(日) 18:23:00.77ID:fyfssP0K
LLVMって第一級関数ないんだよな……
HaskellとはバックエンドにLLVMあるんだけど、どうやって実装してるんだろ?
0680デフォルトの名無しさん垢版2017/09/24(日) 18:51:05.70ID:ueXBBIg3
新しい概念がなくても、古すぎて記憶にない概念を蒸し返すだけで十分たのしそうだな
0681デフォルトの名無しさん垢版2017/09/24(日) 18:53:11.57ID:fU9iGs3X
>>679
インタプリタで実装できるんだから、極端な話、インタプリタをそのまま埋め込んでしまえばいい。
それをいかに効率化するかは最適化次第だけど、基本的にはエミュレーションだよ。
CPU命令セットとの親和性の高い一部の低レベルな言語を除けば、
コンパイラというのは君が想像してるより非常に複雑でソースからかけ離れたコードを生成するもんなんだよ。
0682デフォルトの名無しさん垢版2017/09/24(日) 19:10:03.30ID:fyfssP0K
>>681
いやまあ、せやね。Haskell が吐くアセンブラ複雑すぎてビビったことあるわ
しっかしやっぱりインタプリタ埋め込みかあ。Haskellもそうしてるんだろうか?
0683デフォルトの名無しさん垢版2017/09/24(日) 23:54:19.09ID:tjbSkdrA
c/c++ のコンパイラしか知らんけどそんなに複雑なものが必要かね。
あんまりイメージできないな。
0685デフォルトの名無しさん垢版2017/09/25(月) 00:29:03.12ID:10sBRTwD
ブラウザがDOM操作とかgetとかpostとかするのもインタプリタのように見える
JSをいくら最適化しても複雑なデータ構造はそのままだから
0688デフォルトの名無しさん垢版2017/09/25(月) 10:51:28.03ID:8jaeeQ+5
Dは指針に欠けていて、書けるコードの種類が多すぎる。
最近はクラスは使わないとか言われた時はビックリしたわ。割と好きだけどさ

テンプレートとオーバーロードの充実っぷりはC++の比じゃないし、プロパティあるし、UFCSある所とか好きだけど、演算子の定義を構造体中に書かないといけない所だけは解せない
0689デフォルトの名無しさん垢版2017/09/25(月) 12:10:20.51ID:Vj0qyvjj
>>679
llvmのレベルでクロージャー定義されたらつぶし効かなくなるだろ
llvmにそれを期待するのが間違ってる
0690デフォルトの名無しさん垢版2017/09/25(月) 12:40:19.83ID:8jdzqYUG
>>689
期待はしてないぞ。ヒープに関数を展開する機能がないのに、どうやってヒープに関数を展開してるんだろう?って疑問を覚えているだけだぞ
0691デフォルトの名無しさん垢版2017/09/25(月) 12:54:44.69ID:Vj0qyvjj
>>690
llvmを持ち出す意味がわからん
cで実装されてる関数型言語はどうやってクロージャー実現してんだろ?とか
jitってどうやったら実現できんだろ?
という疑問の持ち方ならわかる
0692デフォルトの名無しさん垢版2017/09/25(月) 13:05:30.42ID:8jdzqYUG
>>691
「Cで実装されてる関数型言語はどうやってクロージャを実装してるんだろう」でもほとんど同じ意味だけど、別にLLVMでもいいじゃん。俺がLLVMの方を意識してるからLLVMって書いてるだけだが

Jitの方はよくわからん。関数型言語一般でJit使ってるの?
0693デフォルトの名無しさん垢版2017/09/25(月) 13:25:06.64ID:X0v0rcqt
すごい素朴には
class {
unsigned int eax;
...
void add();
...
}
みたいなアセンブラ実行クラス作ればできんじゃないの?
0694デフォルトの名無しさん垢版2017/09/25(月) 15:00:43.13ID:AJsPQEJa
そもそも関数を動的に生成する必要はない
クロージャは環境を引数に取る関数として実装するのが普通だ
0696デフォルトの名無しさん垢版2017/09/25(月) 15:40:30.80ID:AszBb3kH
その前にまず再帰関数で100の階乗を計算すればいい
関数を100個作るやり方とは違うやり方がわかる
0697デフォルトの名無しさん垢版2017/09/25(月) 20:30:11.80ID:Vj0qyvjj
>>692
単なる疑問ということはわかった
物理cpuとそのabiを扱うことを前提にしてるllvmと
λ計算を理論的基礎にしてる関数型言語とでは
メモリモデルが全く違うんだからいきなりマッピングを考えるのは
無理があるとだけ
0699デフォルトの名無しさん垢版2017/09/26(火) 13:49:21.20ID:3DlL6rrx
だからそれは
データは制御フローに影響を与えるし
制御フローはデータに影響を与える
このように双方が影響しあってプログラムが展開していく
(まるで電磁波のようだ)
この複雑性はソフトウェアが有用であり続けるためには仕方が無い

なので
・制御フローがデータに何か書き込むタイミング
・制御フローがデータを読み取って分岐するタイミング
の二つをトラップして言語やシステムで何かサポートしてやろう
というのが基本的な考え方なんだよ
0700デフォルトの名無しさん垢版2017/09/26(火) 14:35:36.67ID:dFfa0kvi
制御フロー?は座標系や文字のエンコーディングに影響を与えるやつですか?
エンコーディングに依存しないデータが欲しいです
0703デフォルトの名無しさん垢版2017/09/27(水) 05:16:13.47ID:phMqkxHz
どうせ博士クラスの研究者しか扱えない代物なんでしょ?
0704デフォルトの名無しさん垢版2017/09/27(水) 08:06:15.29ID:RgM5LnyS
この中に1人だけ、量子コンピューティングと機械学習を混同してドヤってるバカがいます。
0705デフォルトの名無しさん垢版2017/09/27(水) 08:58:09.74ID:iTQClNYA
>>704
相手にしてるお前なんなん?
恥ずかしいからやめて。

量子コンピュータの用途が何%機械学習を経由するであろうか、お前は全て見通しているとでもいうのか?
お前のその自己矛盾に気づかない頭の悪さよりよっぽどマシな発言だと思うが。
0707デフォルトの名無しさん垢版2017/09/27(水) 09:43:14.65ID:VJzN3SRS
少なくとも今現役の量子コンピュータは機械学習専用ってくらい
それくらいしか使いみちがないと思うんだが。
他の用途で使えるの?
0709デフォルトの名無しさん垢版2017/09/27(水) 09:49:46.52ID:S3cenggq
別に今使ってるパソコンが量子コンピューターに置き代わっても
処理速度が向上してうれしいだろ。
0711デフォルトの名無しさん垢版2017/09/27(水) 10:36:08.63ID:S3cenggq
日本人は量子コンピューターのなかで機械学習をやってるように物事をみるが
西洋人は機械学習を量子コンピューターでやっているようにしか見えないらしい
0712デフォルトの名無しさん垢版2017/09/27(水) 13:42:52.32ID:t1YPNFYO
機械学習やりたいからやってるだけの人の気持ちがわからない
わからないなら真似しなければいいのに
量子力学上の理由で機械学習をやってるという設定で人の真似をするモンスターがいる
0713デフォルトの名無しさん垢版2017/09/27(水) 17:06:07.52ID:BP44oxnY
結局は大きい部屋を占領する量子コンピューター(冷却の都合で小型化困難)で
端末から2進数コンピューターのエミュレーションさせてそうw
0715デフォルトの名無しさん垢版2017/09/27(水) 21:35:28.14ID:Z//p6YWO
お前らずっと型型うるさいな。だまってSmalltalkかjsかRuby使ってろよ。
そんなんじゃrustで発狂するぞ。

>>649
>パブリック/プライベートとか
カプセル化が幻想だっていい加減気付いてほしい。
有用なのも抽象データ型だけだし。
0716デフォルトの名無しさん垢版2017/09/27(水) 21:39:54.28ID:t1YPNFYO
>>714
行きたいところがあれば大抵一人で行けるからみんなで移行はしないのであって
みんなで行けないから一人で行くのではない
0717デフォルトの名無しさん垢版2017/09/27(水) 23:40:28.56ID:ECh+B8hR
>>715
> 有用なのも抽象データ型だけだし。

個人的にはデータと操作を一緒にして 型 としなくてもいいかもって思うことある。

でも複数のデータをまとめる機能とオーバーロード・ジェネリクス可能な関数、それと名前空間は欲しい。
0718デフォルトの名無しさん垢版2017/09/27(水) 23:54:51.33ID:t1YPNFYO
最初の引数名をthisかselfするとデータと操作が一緒
それ以外の名前にするとデータと操作が一緒じゃない
これは幻想
0719デフォルトの名無しさん垢版2017/09/28(木) 04:02:34.66ID:y9L3Umrp
オブジェクト指向はスケールしないパターンマッチングとしか言いようがないな。
抽象データタイプの値コンストラクタの引数は評価されなくてもサンクの為の
メモリーを消費するかな。
0722デフォルトの名無しさん垢版2017/09/28(木) 12:13:20.80ID:9BGh9eWC
>>720
結論なんてないさ
結論がないということはどれでも一緒なんだろうという推理は微妙に間違っている
0724デフォルトの名無しさん垢版2017/09/28(木) 15:55:46.02ID:y9L3Umrp
要するに構文が単純になるとコンテキスト依存になってパースが
線型時間スペースで不可能になりコードを生成に向かないジレンマなんだよな。
0725デフォルトの名無しさん垢版2017/09/28(木) 21:56:38.55ID:QyC1nyMw
理解が浅い、じゃなくて変な理解をしているか使う言葉にオレオレ文脈を入れてるかだろう
1レス内に意味の通じない言葉や理屈が複数あると突っ込むことも面倒臭いから、よっぽど親切な人に出会わないと自覚できない
0726デフォルトの名無しさん垢版2017/09/29(金) 00:23:21.75ID:QjWIl+U1
幽霊には主体性がない
人を怖がらせるのも自由意志ではなく信賞必罰か何かのルールに従っているだけ
逆にルールを破るのも他人が言ったことを鵜呑みにする形で破る
0727デフォルトの名無しさん垢版2017/09/29(金) 01:30:00.14ID:ppl3WHHK
%%%3%%%
000-DOK<NAZE-0.8112162>
001-3800%\73NMB/1,81,2,NB"IKKI"%
002-91.81%ML7"8.122231746668193,43@ML.4@"%^23.1444
003-1.33321444718%"YLD""SO"%{71.%{62.1339816{331.422231765%<<<NL6
004-LOOP%Go To"000"%

VCL
0730デフォルトの名無しさん垢版2017/09/29(金) 04:58:15.94ID:UyK8hEcX
自然科学の雄たる物理学のこれまでの試みを全否定でワロた。
そういう所謂愚かな天才たちのお陰で今がある訳だが。
0732デフォルトの名無しさん垢版2017/09/29(金) 08:29:27.12ID:SkRkhnTn
物理学はバカにはできないのと同様、いい言語はバカにはできないのでこの世にはPHPが存在するのです……
0734デフォルトの名無しさん垢版2017/09/29(金) 11:04:49.63ID:Ge6Tlx2B
>>730
ニュートン力学で十分なところを相対性理論だの量子力学だので解こうとするのは
高度なアプリケーションをマシン語で書くようなものでは
原理的には単一の言語で書けるというのと
実際にそれで書くというのは違う
0736デフォルトの名無しさん垢版2017/09/29(金) 18:13:13.46ID:Nb5uhyxU
プログラミング言語を手軽にプログラミングできる言語を開発すれば
あらゆる問題に対処できる言語になるんじゃないかな
0737デフォルトの名無しさん垢版2017/09/29(金) 18:20:21.61ID:LiYG09Uz
プログラム言語のシンタックスはスケールしないからな。
要するに一次元のストリングスをパースする実行性の限界なんだよな。
0738デフォルトの名無しさん垢版2017/09/29(金) 19:22:42.97ID:kiQUSPyl
「言語」がカバーしようとする範囲はある意味では「物理学」の範囲を超えてるしな。
文学だろうと心理学だろうと社会学だろうと記述しようとしているようなもんだよ。
0739デフォルトの名無しさん垢版2017/09/29(金) 19:53:59.09ID:K1n6MHEs
そんなことより世の中 車輪の再発明と移植がおおすぎるから
どんな言語で書かれたライブラリもどんな言語からでも呼び出せる
ライブラリの標準フォーマットと仕組みを作ってほしい
そしたら言語のシェアなどもう気にする必要ない
0741デフォルトの名無しさん垢版2017/09/29(金) 20:29:00.72ID:Nb5uhyxU
でも統一ライブラリとなるとオブジェクト指向とかが必須になるような
マクロとか許可すると意味不明なことになるから

でもそうなると言語自体の進化がしづらくなるかも?
0742デフォルトの名無しさん垢版2017/09/29(金) 20:44:30.11ID:v+2E5EyQ
>>737
映画メッセージの話みたいだな。
人間の認識能力を進化させて言語を+次元化するしかないな。

ところでUE4のブループリントって正直使いづらいんだけど
あれってメリットあんのかね。ビジュアルスクリプティングっていまいち
シンドいんだよなぁ。
0748デフォルトの名無しさん垢版2017/09/30(土) 01:03:28.54ID:J50qyRrt
言語は統一できない
コンパイル済みのライブラリに言語の痕跡が残っているからライブラリも統一できない
0751デフォルトの名無しさん垢版2017/09/30(土) 08:20:51.39ID:iIQSfMFY
>>736
アラン・ケイがそんな研究してた
助成金が尽きてやめちゃったけど
言語自体にPEGベースの解析器生成器を組み込んで
既存の言語も含め、ドメインに適した言語を適宜構築・実行できるようにして
2万行でWindowsみたいなGUI OSを書けるようにするってやつ

STEPS プロジェクトご紹介
http://d.hatena.ne.jp/propella/touch/20091219/p1

STEPS プロジェクトご紹介その2
http://d.hatena.ne.jp/propella/touch/20111022/p1
0752デフォルトの名無しさん垢版2017/09/30(土) 09:30:03.37ID:Vg7VBsmM
>>751
PEGいいよね。PEG.js使ってるけど簡単に言語が作れそうな予感
独自HTMLモドキパーサー書いてつかってるわ。
0754デフォルトの名無しさん垢版2017/09/30(土) 10:47:06.01ID:mj2lGBa5
そう言うだろうと思って、統一はしないで各自で好きなものを自由に使えるようにした
ここまで予想できてたやつは頭良いな
0757デフォルトの名無しさん垢版2017/09/30(土) 22:40:20.15ID:VjEq+HDI
糞ペチプーの標準ライブラリをHaskellで呼び出すプロジェクトとかあったら発狂しそう
0758垢版2017/10/01(日) 00:21:40.89ID:14LFf82H
phpを単に糞と言うにはphpを知らなすぎるんじゃないかなぁ、と思うが。
あれはただの歯ブラシだけど、最高の歯ブラシだよ。歯を磨くことに関しては。
0759デフォルトの名無しさん垢版2017/10/01(日) 00:40:48.00ID:5jXWEgsq
>>758
そういう比喩は結局なにに向いてるって言ってるのかわからんよね。
フレームワークを駆使するような規模のコードには合わないって言ってるのかな?
0761デフォルトの名無しさん垢版2017/10/01(日) 01:17:26.87ID:unGk0Arz
>>758
君はPHPのコンセプトは知ってるようだが、現実を知らんのだね
PHPは便器に突っ込まれた糞ブラシだよ
汚物まみれで害を撒き散らす

PHPのプロジェクトは例外なく糞まみれだった
糞みたいなプロジェクトに糞みたいな運用に糞みたいな技術者
今さらPHPを選ぶ奴は糞、センスないと言ってもいい
0762デフォルトの名無しさん垢版2017/10/01(日) 03:04:52.91ID:0gcknzCm
いまだにそんな事言ってる奴のがよっぽどセンスない
速度上がってから案件増えてるよ
0764デフォルトの名無しさん垢版2017/10/01(日) 05:23:27.13ID:yhU1ELrC
「PHPプロジェクトは糞ばかり」への返答が「PHPプロジェクトは増えている」ってなんだよ。大した日本語だな
0765デフォルトの名無しさん垢版2017/10/01(日) 05:38:37.40ID:ogXt//ms
サーバーの話?
PHPってjavaやC使うほどでもなく
ライトな技術で実装できるからPHPにしてるんでしょ?
0766デフォルトの名無しさん垢版2017/10/01(日) 09:47:56.64ID:unGk0Arz
>>762
やっぱペチパーって能なし脳なしセンスなし技術なしのガイジですわ

まぁ俺の関係のない最底辺の土方イット産業で
せいぜい糞ブラシで糞こねくりまわしとけや
0768デフォルトの名無しさん垢版2017/10/01(日) 09:52:38.54ID:unGk0Arz
>>765
ペチパーに技術選定なんてできるわけないだろ
ペチパーはPHPしか知らないからPHPを選ぶんだよ
そして単価50万レベルの障害者を寄せ集めて
ヘビーな糞の山をこさえる
開発が糞まみれなら保守も運用も糞まみれ

そして障害者ペチパーは糞みたいな経歴書を元に
糞みたいな案件に流されていくこと糞のごとし
糞の輪廻転生
0769デフォルトの名無しさん垢版2017/10/01(日) 09:55:13.81ID:unGk0Arz
>>767
でたよ、ペチパー最後の砦だな
「道具は時と場合で選ぶ」
これ言ってりゃPHPでも正当化できると信じてる

糞ブラシを選ぶ時も場合もねえって言ってるんだよ、ガイジw
0773デフォルトの名無しさん垢版2017/10/01(日) 10:07:57.31ID:unGk0Arz
>>772
PHPしか書けない人に何いってもなぁ

ねえ、前世でどんな悪いことしたんだ?
糞ブラシで便器掃除の仕事しないと生きていけないって
かわいそう
0782デフォルトの名無しさん垢版2017/10/01(日) 10:57:59.75ID:0gcknzCm
即レスで連投してたのに
都合悪くなったら途端にレスを止めて単発IDで斜め上の話題そらし
次は匿名を理由にレッテル貼りかな?
小学生かよ
0795デフォルトの名無しさん垢版2017/10/01(日) 11:23:07.63ID:kJ8csjIE
次世代言語()で悦に入ってる奴より
ペチパーでもSlack作るような奴ののほうが
数百万倍価値がある
0796デフォルトの名無しさん垢版2017/10/01(日) 11:26:29.40ID:AELHct99
>>795
そのSlackのようなものを作った某ワークスは
PHPが糞だったからとんでもない損切りをせざるをえなかったのですがそれは

しかもSlackはPHPじゃないからね嘘までついちゃって必死だな糞ペチパーは
0799デフォルトの名無しさん垢版2017/10/01(日) 11:32:03.68ID:WA8PJzoP
>>795
てきとうなものつくるだけじゃ価値はないな。
保守し続けながら、アップデートしていくのが現代のソフトウェアの課題だから。
0807垢版2017/10/01(日) 18:07:49.52ID:14LFf82H
>>759
フレームワークが、Railsのパクリみたいな無理矢理他の思想を持ってきたようなものなら、合わないと思う。

>>761
汚物を汚物と認識して、一定の範囲で閉じ込めて使う分には全く問題ないよ。
歯ブラシで台所を磨こうとするからおかしくなる。
便利だし形が似てるから使うもんでもない。
プロジェクトが糞まみれだったなら、そりゃプロジェクトが悪いわ。おそらく、どこもかしこもphpで書いてあるようなプロジェクトだろうけど。
DBへのバッチをphpで書いてるプロジェクトはゴミだと思うが、DB周りはそれなりの言語で、画面だけphpとjQuery、なんて諦めがあって良いと思うよ。
0808デフォルトの名無しさん垢版2017/10/01(日) 18:18:14.66ID:YXjJncWi
また意味不明なことを
DB周りがそれなりに強いと自分で言ってるのに何故DBバッチをPHPで書いてはいけないのか?
PHPの問題はペチパーのコーダーとしての品質の低さ。言語自体の問題ではない。
閉じ込めて使うべきというのは同意するが、それはペチパーの得意分野がフロントだから。
それ以外までペチパーに手を出させるとシステムの品質は著しく低下する。バッチをPHPで書いてはいけないのはそういうこと。
0809808垢版2017/10/01(日) 18:29:30.88ID:YXjJncWi
ああすまん、読み違えてたわ
それなりの言語→PHPではなく他の言語
と置き換えれば矛盾はないな
でも単純に言語を置き換えても決して品質が向上することはない。
全てPHPで書かれてるプロジェクトの品質が低いのはコーダーの品質が低いから。あくまで人の能力の問題。
0811デフォルトの名無しさん垢版2017/10/01(日) 18:54:18.97ID:TUvpXpRh
それもう無理矢理PHP使う必要ないよね、っていう
複数言語使って学習コスト上げるだけだよね、っていう
0812デフォルトの名無しさん垢版2017/10/01(日) 19:45:13.63ID:5jXWEgsq
phpの問題点はどんな言語仕様も取り込んでいることだと思う。
正直ダックタイピングの動的言語にインターフェースがある理由がよくわからん。
いや。まぁいいんだけど。
なんというかできないことが明確って結構重要だよね。
なんでもできる分、人によって全然やり方が変わる。
c++みたいな嫌な感じがする。

とGoをよく触るようになって思いました。
0814デフォルトの名無しさん垢版2017/10/01(日) 20:26:31.04ID:YXjJncWi
型はむしろやり方を統一するのに役立つだろ
ソースに型書かないなら結局ドキュメントに書くんだから
0815垢版2017/10/01(日) 20:27:13.36ID:14LFf82H
>>808
バッチとするには遅すぎるし、例外の扱いは適当だし、向いてない。
何より、仕様として180秒以上動いてれば殺すとかそういう設定項目がある時点で、あれはSSI用の言語。

向いてる向いてないを、コーダのせいにしてはいかん。
歯科衛生士を台所を歯ブラシで磨く名人にする必要は無い。

>>811
学習させなくてももう使える奴がいくらでも居るからな、phpは。
perl全盛の頃に、C組とperl組に別れてたようなもん。

>>812
よくわかる。
0816デフォルトの名無しさん垢版2017/10/01(日) 21:09:45.37ID:Uy9r/fJ2
PHPって型チェックができねえんだな
オブジェクト指向の半分くらい良さが無くなってるわ
0819デフォルトの名無しさん垢版2017/10/02(月) 02:04:01.28ID:sbwrnD0w
それでうまくいってんならいいんじゃね?
#pragma once
みたいに実装がどうなってんのか怪しいものより
インクルードガードのが俺は好きだけどね
0822デフォルトの名無しさん垢版2017/10/02(月) 15:33:54.77ID:hE+5Iy+f
(´・ω・`)あのー
いまいろいろみてたら
関数型リアクティブプログラミング言語Elm
こういうのあったの
2012年に生まれた言語みたい
これも次世代言語なの?
リアクティブプログラミングってすごいの?
Haskellの仲間なの?
0823デフォルトの名無しさん垢版2017/10/02(月) 17:21:07.36ID:48oqYDIq
>>822
ここは議論するスレなので、自分で調べて「自分の意見」が言えるようになってから、出直した方がいいと思います。
0824デフォルトの名無しさん垢版2017/10/02(月) 17:58:49.31ID:hE+5Iy+f
(´・ω・`)はい
0826デフォルトの名無しさん垢版2017/10/03(火) 11:33:59.51ID:1PTxbey1
>【衝撃】2chの移譲先「5ch」の代理人がしばき隊であることが判明 なにが始まるんです…
https://twitter.com/htmk73/status/914989085269168128


■専ブラ(2ちゃんねるブラウザ)からお〜ぷん2ちゃんねるを見るには?
【おーぷん2ちゃんねる】は全ての2ちゃんねるブラウザに標準対応してます。 ◆お〜ぷん2ちゃんねるボード一覧URL のボードを検索してください

●お勧めの広告なし2chブラウザ ついんてーる twintail の環境設定でお〜ぷん2ちゃんねるボードを入れるだけで使えます。
http://www.geocities.co.jp/SiliconValley/5459/
0827デフォルトの名無しさん垢版2017/10/03(火) 15:51:12.88ID:aErAbfBu
真面目な話Rust触ってると、クソのPHPですらマシに見えてくるから困る

言語を名乗ること自体が冒涜の極みの存在Rust
0830デフォルトの名無しさん垢版2017/10/03(火) 18:46:54.01ID:9EEmWhET
typescriptでも十分助けになるけどね。optionalは偉大だわ。今日も潜在的なバグを知らず知らずに回避してることがわかって感動した。
0834デフォルトの名無しさん垢版2017/10/03(火) 23:32:56.72ID:VvnGZhVU
Rustはスマポを使うべきところで参照を使うとコンパイルできないね
スマポは1種類ではなくて左辺値みたいなスマポと右辺値みたいなスマポがある
0836デフォルトの名無しさん垢版2017/10/04(水) 06:05:52.94ID:I8P8RQcn
>>832
否定はできないけどエコシステムを含めて評価して欲しいところ。
nim < Go が世間の評価なんだから自分の感覚がずれているということをわかってもらいたいな。

多分goが色々仕様が足りないようにみえるのは言語の再考だからだと思う
例えばclassって本当にいるのか?って考えてるのはすごいこと。
普通は皆つけちゃうよね。そこでclassを採用しなかった。

ジェネリクスも多分いちばんいい形で実装されると思う。
0837デフォルトの名無しさん垢版2017/10/04(水) 07:02:44.52ID:VzltHPaW
どう見てもガイジなんだからまともに相手する必要ねえだろ
しかも新人かと思えばいい歳したオッサンとか、もう色々と終わっとる
0838デフォルトの名無しさん垢版2017/10/04(水) 08:01:52.09ID:6fGy+UI9
Nim<GOが世間の評価ってことはないだろ。そもそも世間はNimなんて知らないんじゃないか?
0839デフォルトの名無しさん垢版2017/10/04(水) 08:09:59.02ID:pULpEgLQ
世間の評価って本当にいるのか?って考えてるのはすごいこと。
多分いちばんいい形で評価されると思う。
0845デフォルトの名無しさん垢版2017/10/04(水) 19:03:11.59ID:LT+9qEc0
rubyだとprint!ならできたけどprintはダメだった
a 500 :: varset
succ(x) x+1 :: def
みたいにひたすらこの形式のみにしたらどうかな、とか思った
0847デフォルトの名無しさん垢版2017/10/04(水) 21:22:38.73ID:ObffTMEn
ちなみに Smalltalk は最初の Smalltalk-72 から Smalltalk-78 まではずっと 'Hello,world!' print
だけど Smalltalk-80 以降は最新の Pharo、Squeak を含め Transcript show: 'Hello,world!' に

ただひとつ変わり種の GNU Smalltalk だけが今も変わらず 'Hello,world!' print
https://ideone.com/p1HVKw
0848デフォルトの名無しさん垢版2017/10/04(水) 21:41:15.01ID:LT+9qEc0
やはりSmalltalkですか
でも今見直したらFactorも "Hello,world!" print だった

より純粋なオブジェクト指向とかスタック指向を目指すなら後置関数にこだわるのも良い気がする
0849デフォルトの名無しさん垢版2017/10/04(水) 23:07:25.22ID:rikHP6KZ
Juliaなら
"Hello, world!" |> println
とか行ける |> は左の引数を右の関数に適用する演算子
多分高階関数を気軽に扱える言語なら大体似たようなことができると思う
0851デフォルトの名無しさん垢版2017/10/04(水) 23:55:10.27ID:VzltHPaW
もっとくだらなくてゴミみたいな自称次世代言語下痢糞プェチピィについて語ろうゾ
0852デフォルトの名無しさん垢版2017/10/05(木) 00:04:04.93ID:0B54PbO+
Nimのシンタックスが「俺の求めていたものはこれなんだ」って感じでしっくりきている
0853デフォルトの名無しさん垢版2017/10/05(木) 10:00:21.57ID:6CUoA44/
>>840
同意
0854デフォルトの名無しさん垢版2017/10/05(木) 12:08:45.40ID:2VHNud46
発見したんだけれど語だとAさんBさんの間に自分がいると、自分の前にAさんがいて後ろにBさんが
いるってかくけれど、
にほんごだとAさんの後ろに自分がいてその後ろにCさんがいるのように自分中心
に書かないだろ。
これが日本人にオブジェクト指向があわない証拠だとおもうな。
0855デフォルトの名無しさん垢版2017/10/05(木) 12:56:26.82ID:U9Ub2sS/
そういう話じゃないと思うけどね。
単純に実行効率とメンテナンス性のバランスとるのが下手なだけ。
0858デフォルトの名無しさん垢版2017/10/05(木) 17:54:15.12ID:hq5BCXwT
でも英語だと命令形は動詞が先に来るけど、日本語だと後に来るので、
その点ではオブジェクト指向的な気がする

Lispみたいに前置にこだわった感じの関数型は英語的だと思う
0859デフォルトの名無しさん垢版2017/10/05(木) 17:57:02.28ID:Jc3a3LA7
得意なら半年で習得できるとか自分勝手にハードル上げて勝手に挫折して苦手になるのだ
10年かかると最初から思ってたら挫折もしない
0860垢版2017/10/05(木) 19:36:48.36ID:5X6CpPIC
ってか習得するもんでも無いんじゃないの?
やりたい事をやりたいように出来ればそれで良い気がする。

自動車整備の達人はレンチの達人かもしれんが、ただのレンチの達人は自動車整備出来んだろ。
新型のレンチ試して習得する前に、どう使うかを考えた方が余程良いかと思う。
0861デフォルトの名無しさん垢版2017/10/05(木) 22:08:07.44ID:5FiWY82n
goはjavaの境界ワイルドカード型が理解できなかった奴らに支持されてるんじゃないの?
javaのパラメトリック多相が複雑だからって後発言語ではin/outになったじゃん。
0862デフォルトの名無しさん垢版2017/10/05(木) 22:25:32.14ID:DNu4hyXr
最初にジェネリックの変性にin, outを使ったのってC#だっけ?
あれ思いついた奴は天才だろ
あれだけ意味不明だったJavaのワイルドカードが一瞬で誰でも一目で理解できるものになってしまった
0864デフォルトの名無しさん垢版2017/10/05(木) 23:53:50.11ID:9FcQYtba
in, outとかはAdaにあったけどあれとは違うの?
0866デフォルトの名無しさん垢版2017/10/06(金) 01:50:35.56ID:mbAUXPYs
gcのときといっしょの浅はかな議論
nullがなくなろうと意味的なnullは必要なんだよ
だから絶対にそこにバグは入り込む
バグり方が変わるだけ
下手に動き続けるよりヌルポの瞬間に潔くクラッシュしてくれた方が
調査しやすいという考え方もある
0867デフォルトの名無しさん垢版2017/10/06(金) 07:22:04.51ID:Pjx+vQ2Q
>>866
意味的なnullを想定しない箇所については型でnull を弾くよう静的検査するべきということなんだが?
0869デフォルトの名無しさん垢版2017/10/06(金) 12:24:07.66ID:28ESsb6Q
null安全言語使うとホント幸せだよな。

結果的にここにnullの可能性がある変数が到達しないってことを言語として保証してくれるってすごすぎる。

書いてみると分かるけど返り値がnullの可能性があるかどうかは
内部で使うapiに依存してたりして、外側から見ると予測できない。
だから人間がやろうとしたら、結局使う側で全ての引数にnullチェック入れるしか無い。
まぁ面倒だからnullPointerExceptionを出しちゃうわけですけど。

コンパイラが把握してくれれは必要最低限のチェックで済むから精神衛生上も大変よろしい。
こういう進化はどんどんしていって欲しい。
0871デフォルトの名無しさん垢版2017/10/06(金) 12:52:52.70ID:sp3JMBsg
機能としては悪くないと思うけどnull安全とかいう頭悪いワードでバカを勘違いさせるのやめろ
nullで落ちるならnullチェックすればいいというわけじゃない
0872デフォルトの名無しさん垢版2017/10/06(金) 13:13:58.43ID:W7gYVrEG
まあないよりはマシだろうけどくらいの意味合いだな。
レイヤーを下りれば結局人間が判断することになることが多い。
0875デフォルトの名無しさん垢版2017/10/06(金) 19:11:52.24ID:avQrunR/
NullPointerExceptionがことさら悪いことのように言われるが
俺にはどーも単に他のバグ(?)と違いが分からない
意図通り書かれてないからバグ(?)るんであって
いつだって、書かれたとおりに動いてるだけのことであって
0877デフォルトの名無しさん垢版2017/10/06(金) 20:21:56.80ID:Rv6hBe2m
nullで初期化して後で代入しようしたら急に例外が来て脱出することがある
その例外を処理する途中でバグるから他のバグよりも深刻

例外を投げない言語なら問題ない
0878デフォルトの名無しさん垢版2017/10/06(金) 20:59:37.31ID:7QyvSB4A
>>874
interface Hoge<TIn, TOut> { convert(val: TIn): TOut; }
class B extends A { ... }
このとき、Hoge<A, B> のオブジェクトを Hoge<B, A> として扱っても理屈上問題ないはずだろ?
それを可能にするのがジェネリックの変性という概念。
ちょっと考えたら分かるはずだが、変性が適用できるのは型パラメータが入力または出力のどちらか一方にしか使われていない場合だけ。
さらに、型引数が入力と出力どちらであるかによって、変化の許される継承の方向が逆になることも分かるだろう。
C#では、interface Hoge<in A, out B> のように型パラメータの方向を限定してやることで変性を与えることができる。
これ Java だとHogeを使う側で Hoge<? extends A, ? super B> と書くんだけど、意味不明だろ?
0879878垢版2017/10/06(金) 21:07:24.53ID:7QyvSB4A
すまんちょっと訂正
C#では、interface Hoge<in TIn, out TOut>のように
0880デフォルトの名無しさん垢版2017/10/07(土) 00:18:08.77ID:ay0KJt9o
>>862
ガビン・キングか誰かが同時期に+-考えて後にceylonに導入されてる。

>>864
あれは入力変数と出力変数と入出力変数

>>878
ムダに長いな。
いちばん重要なのはどの型変数が入力/出力用か定義した側は分かってるから
宣言部だけに書けばいいのにjavaの仕様だと利用する側も利用する型を
書かなきゃいけない無駄が無くなること。

javaも型推論の範囲広げてくれればダイヤモンド演算子で済むんだけど。

話は変わるけど「意味的なnull」の場合はnullable typeとoptionalどっちがいんだろうな。
optionalがモナドかどうかは抜きにして。
0881デフォルトの名無しさん垢版2017/10/07(土) 01:10:07.86ID:ZhYAfijB
>>878
すまんいまいちわからん。

in outの指定がなくても推論できそうな気がするんだけど。
それがどう便利になるのか、、、、
推論のための情報を増せるってことかね。
0882デフォルトの名無しさん垢版2017/10/07(土) 01:14:59.49ID:ZhYAfijB
>>875
コンパイラ側で実行時エラーが減らせるならそれに越したことはないと思うんだが。
特にコード書いてる最中に指摘してくれるから頭がいい人が隣に座ってくれてる感ある
0885デフォルトの名無しさん垢版2017/10/07(土) 08:31:36.09ID:Wf+VpSRV
具体的な例を上げると、
例えば型パラメータに応じたオブジェクトを作成して返すFactory<T>インターフェースがあったとして
Factory<DBConnection>型をパラメータとして要求するメソッドに対して
Factory<OracleDBConnection>オブジェクトを直接渡せるってことだ
型推論じゃなくて型パラメータの互換性までを考慮したアップキャスト
0888デフォルトの名無しさん垢版2017/10/07(土) 09:58:03.30ID:h9TjUWM8
>>885,887
抽象度さがってるんだから、アップキャストじゃなくてダウンキャストじゃねーの?
0891デフォルトの名無しさん垢版2017/10/07(土) 14:40:09.93ID:U1Wl1fD6
俺はもう
(単なるType **を)ダブルポインタ
(単なるポインタ型の値渡しを)ポインタ渡し
(謎の用語)アップキャスト
(謎の用語)ダウンキャストの飛び出して来ない世界に旅立ちたい
0893デフォルトの名無しさん垢版2017/10/07(土) 17:33:27.49ID:ZhYAfijB
>>885

やっぱ具体的なコードがないとよくわからんな

<T extends Hoge>XXX のHogeの部分を自由に指定できるようになるってこと?
0894デフォルトの名無しさん垢版2017/10/07(土) 18:36:11.03ID:3J6O2fHU
class ExtendsX a where { toX :: a -> X }
class SuperY a where { fromY :: Y -> a }

Haskellなら単なる関数にするだろ
キャストという謎の用語を使う必要がない
0895デフォルトの名無しさん垢版2017/10/07(土) 18:37:08.45ID:U1Wl1fD6
>>892
い(ちごや、み)かんでしょ

あとJavaしか知らない人が背伸びしようとして?
(参照型変数の値渡しのことを)参照渡し
これもいつまでたっても無くならない
0896デフォルトの名無しさん垢版2017/10/07(土) 19:08:57.97ID:ODmPff4g
>>893
var f1: Factory<OracleDBConnection> = getOracleDBConnectionFactory();
var f2: Factory<DBConnection> = f1;
var conn: DBConnection = f1.create();
こういうこと
いちいち無駄な型パラメータを使う必要がない
0899デフォルトの名無しさん垢版2017/10/08(日) 00:02:28.18ID:CO5NODlU
>>885,887
できねーよ。

>Factory<DBConnection>型をパラメータとして要求するメソッドに対して
>Factory<OracleDBConnection>オブジェクトを直接渡せるってことだ
>List<object>にList<string>を代入できる
これが出来るのはFactory<T>/Factory<U>やList<T>/List<U>が共変のときのみ。
それを緩めるのがjavaの上限境界ワイルドカード型。

>>898
それじゃモナドだろ。変性の話な。
変換の話ししてんのはID:Wf+VpSRVだけだから型変換は忘れろ。

おまえらPECS理解してなさすぎ。ポケモンで説明してやるよ。

List<? extends ゼニガメ>があった時このリストに入るのはゼニガメ、カメール、カメックス。これが上限境界ワイルドカード型。

set<T super ピクシー>(T value)というメソッドのときピクシー、ピッピ、ピィが入力できるんだよ。これが下限境界ワイルドカード型。

ValueT<?> value = foo.get<ポッポ>()とあった場合は?はポッポに変身したメタモン。これが非境界ワイルドカード型。

ただし、非境界ワイルドカード型はjavaの場合は型消去されてすべての型のsuper typeを表すObject型になる。つまりに何にも変身してないメタモンのまま。
これはjavaがnone-reifiableだからでreifiableな言語ならポッポに変身したメタモンならポッポのまま。
0904デフォルトの名無しさん垢版2017/10/08(日) 07:01:36.88ID:gfyVN7gN
このように、>>899のように俺は分かってる感を出してる奴にとってすらジェネリックの変性は理解が難しいんだよな
ちなみにKotlinだと型定義時の指定と型使用時の指定の両方をサポートしてたりする
TypeScriptの場合はキャストが完全なstructual-subtypingベースで、型名やジェネリックは型定義のエイリアスに過ぎない
だから特に変成を明示的に指定する必要はない
0905デフォルトの名無しさん垢版2017/10/08(日) 09:49:48.11ID:83iEE1/H
C++「仮想関数とtemplateは直交する」
Go「templateやめた」
Haskell「仮想関数やめた」
Java「直交やめた」
0906デフォルトの名無しさん垢版2017/10/08(日) 10:08:21.08ID:Eg4i3QFB
>TypeScriptの場合はキャストが完全なstructual-subtypingベースで、型名やジェネリックは型定義のエイリアスに過ぎない
>だから特に変成を明示的に指定する必要はない

TypeScriptの場合は必要ないと言うより、個々に指定できないから固定ルールでごまかしてるってのが近いと思うが。
0907デフォルトの名無しさん垢版2017/10/08(日) 11:22:02.79ID:83iEE1/H
ごまかしてるというのは擬人化しすぎというか
擬人化だけならいいが擬人化してから罪悪感を植えつけるのは科学ではない
政治に近い
0911デフォルトの名無しさん垢版2017/10/08(日) 15:08:02.99ID:83iEE1/H
言語を決めようとするなよ
言語は決めたがコードは書けない無駄な状態ができるだけだから
決められない状態の次の瞬間に書き終えるのが正しい
0913垢版2017/10/08(日) 19:27:00.87ID:j8mHa+JP
ラダーでも描くか
0914デフォルトの名無しさん垢版2017/10/10(火) 00:29:11.40ID:nhSeKmwJ
>>881
T extends Foo
U super Bar
だと人間がその型変数が入力用か出力用かわかりづらいからin/outの方がわかりやすいって言ってるだけ。

>>903
キャストじゃないって言ってるだろ。
0915デフォルトの名無しさん垢版2017/10/10(火) 02:22:58.57ID:sTZmKFl8
PHP出身のオッサンマジでつっかえなくてワロタ
mapとlistの区別もできないガイジ
年上に敬語使いたくなくなったの初めてだわ
0916デフォルトの名無しさん垢版2017/10/10(火) 03:11:06.93ID:5pISAq8F
PHPはちょっと前までリストは無かったかならぁ。
あったのは数値インデックスをキーとするマップだった。
でもPHP7からまともになったと噂で聞いたがどうなんだい?
0919デフォルトの名無しさん垢版2017/10/10(火) 07:24:37.15ID:6OEY56cJ
概念なんて知らなきゃ知らない
知ってりゃ知ってる程度の話で
ただやった事あるかないかの差だろう
やればすぐに覚える
その程度で上になった気になってマウント取れる頭が羨ましいわ
0922デフォルトの名無しさん垢版2017/10/10(火) 13:11:11.72ID:CR13gByh
>>919
まぁ、逆にそういう基礎的なことを知らない時点で他も推して知るべしってなってイライラする気持ちもわかる。
多分、色々あったんだよ
0923デフォルトの名無しさん垢版2017/10/10(火) 13:30:28.05ID:lvgfa+uM
自己学習をしない老人ほど役に立たないものはない
若者にバカにされたくなかったら勉強を怠るなということさ
0924垢版2017/10/10(火) 18:49:40.52ID:DF0+rUls
まあ、敬語を使う基準や使ってはいけない基準が「年上」ってのも相当だけどな。
他人であれば敬語以外の選択肢が出てくる時点で異常。
上司であれ部下であれ、客であれ飼い主であれ、友達じゃねえんだから。

ほんとにドヤ顔したいなら、理解させたら良いのに。
理解させる事が出来ないなら、そいつ以下な気がするわ。
少なくともそいつより賢くないとできない事が、そいつに教えるって事なんだし。
0925デフォルトの名無しさん垢版2017/10/10(火) 19:22:18.97ID:/pjPidVz
無料で教えるのは難しくないね
ブラックジャックのように報酬はいくらでも出すと言わせるのが難しい
0926垢版2017/10/10(火) 22:24:43.37ID:iLP+BZ6B
別に手弁当で教えなくても、理解させりゃ良いと思うが。
教えるって直接何かを伝える以外にも色々あるじゃん。覚えなきゃ切るって言ったり何でも。
それなら賢くなくても出来るか。
0927デフォルトの名無しさん垢版2017/10/10(火) 23:06:31.17ID:fjptMfzZ
>>920
C#でも同じだバカ。
パラメタ型がキャストできたら型引数が部分多相になるだろうが。
おまえが代入互換性とキャストの区別もついてないだけなんだよ。
0928デフォルトの名無しさん垢版2017/10/10(火) 23:08:02.34ID:ximXNc4+
まあ若い人が今新しいと思ってるものが将来のレガシーコードを生んでることが多いんだけどね。
今巷にあるテストのないコード見てるとそれが良くわかる。
0938デフォルトの名無しさん垢版2017/10/11(水) 09:59:29.85ID:zxckWzxc
とりあえず有名な物批判すれば通ぶれるってメンタルだろ
構ってちゃんにまともに取り合おうとするな
0939デフォルトの名無しさん垢版2017/10/11(水) 11:18:23.60ID:FXPTh88o
悪いものは更新する
正義なら古くてもそのまま
これだけの話なのに
おそらく正義か悪かを判断したくないから、新しいか古いかだけで決めようとするんだろ
0940垢版2017/10/11(水) 18:05:13.39ID:Q0CgrKbU
わからんのだろう、それが一体どういう場合にどういう悪になるか、とか、
悪は悪だが必要悪だとか、悪は悪だがそれを避けるコストが、我慢して使うコストを圧倒的に上回ってるとか。

ちょっと前の話なら、ClassicASPを嗤ってた割に、SSRとか言ってはしゃいでた奴とかいたが、心底アホなんだなぁって思ったよ。
0942デフォルトの名無しさん垢版2017/10/11(水) 22:21:07.88ID:YaLB6Rv/
スカラー型程度で嬉ション漏らしてPHPにも型を!
とか言ってる連中ってマジで頭おかしいんちゃうか
あまりのレベルの低さに草も生えない
0944垢版2017/10/11(水) 22:23:46.07ID:76AReSDy
>>941
割と色んなものに当てはまると思うよ。
できればもう書きたくないけどプロジェクトは大規模だし、改修範囲は把握してるし、
動作環境も固定されてるとある機械の制御端末なので、VB6のプログラム改修してパッチ出します、とか真顔でやってるプロジェクトある。
よーやるわ、と思うが。

>>942
建設的にやれば?
0945デフォルトの名無しさん垢版2017/10/11(水) 22:32:54.93ID:wTw7h0wv
なぜペチパーは頑なにPHPに拘るのか不思議には思う
JavaScriptはしょうがないにしても、今どきPHPを積極的に採用する理由が見当たらない
0947デフォルトの名無しさん垢版2017/10/11(水) 22:41:53.70ID:LTsyra25
>>944
そういうことか。
古いjavaならoracleがAPIを削除し始めたから、
そのうち強制移行だろうけどイントラネットみたいなところで生き続けて、
言語仕様の進化から取り残されるんだろうな。
VMレベルで互換性失うのはまだ先だろうけど。
0948垢版2017/10/11(水) 22:48:53.10ID:76AReSDy
>>945
javascriptはしょうがないで書くような言語でも無いかと。
よくできてると思うよ。
上からまっすぐ降りてくる言語しかできん奴はjs嫌いだろうけど。
型が柔軟なのも良いけどな。なんでも突っ込むのは頭おかしいが、代数的データ型として使う分には良い具合の無茶が出来る。awaitが使えるようになって、ますます良い具合。

phpは置けば動くあの簡単さが良いんだろ、多分。
0950デフォルトの名無しさん垢版2017/10/11(水) 22:53:28.87ID:/Z9HBCDN
某Drupal案件は最悪だったな
よくわからんモノシリックFWに、低単価で寄せ集められたクズどもがどうしようもないゴミ山こさえて
どうにかこうにかまともな風に仕立て上げた頃に、新任のCTO就任
早々に言い出したのが「こんなレガシーではいけない!次は・・・Symfonyだ!」
あっという間にみんな撤退したよ

一応未だに企業は残ってるから、あれを保守して何とかやってるんだろうな
Symfonyエンジニアも絶賛募集してるから、レガシーからレガシーへの移行も諦めてないんだろう

あんなゴミでも営業や企画次第で優秀な金儲けの道具になるんだから
エンジニアリングって何だろう、って切なくなる思うことがあるよ
0951垢版2017/10/11(水) 22:55:49.93ID:76AReSDy
>>947
ASP生きてる会社もあるよ、聞いた所だと。
純然たるソフト屋なら対策するだろうけど、製造業やら医療のシステムってたとえイントラでもすぐにスクラッチで作れるもんじゃないしね。台帳保存の法規制とか諸々含め。
windows7のVDI環境もあるし、IEのエンタープライズモードもあるし、多分使わなくなっても5年は動態保存してる。
0952デフォルトの名無しさん垢版2017/10/12(木) 09:19:49.86ID:psiPw/kX
大抵の言語でもフレームワークでも向き不向きがあって
よほどのレガシー以外で普通に生き残ってるのは
それなりに理由がある。
すぐ優劣みたく言う人はスキル低そうとしか思わんな
0955デフォルトの名無しさん垢版2017/10/12(木) 11:04:53.10ID:NcrW6M9b
「代わりはいくらでもいる」とかなんとか脅して丸投げするのが不可能になるだけだから
自力で読み書きするなら何の問題もない
0956デフォルトの名無しさん垢版2017/10/12(木) 21:49:54.65ID:BJ7mXHtm
問題は流行り廃りが激しいことじゃない?

>>954
未だにCOBOLの求人あるぐらいだから"余程"じゃないなw
0957デフォルトの名無しさん垢版2017/10/13(金) 17:26:23.01ID:+y/vofi6
>>954
俺なんかは言語機能はさほど求めない方だけれど、
さすがに構造体みたいなデータをまとめるものは必要じゃないですかね。。
0958デフォルトの名無しさん垢版2017/10/14(土) 07:01:13.41ID:stfa44Wg
>>956
流行り廃りはランダムではないよ
ほとんどが静的型と動的型が原因だよ
basicが廃れてC/C++が残った原因
Lisperがリストばかり使ってタプルや構造体を使わない原因
動的型に近い性質をもつ継承やvirtualが排除されるかもしれない原因
0960デフォルトの名無しさん垢版2017/10/14(土) 12:07:25.16ID:XovBHwqd
継承やvirtualが動的型に近いならパターンマッチやジェネリクスも動的型に近いので廃れますね
0963デフォルトの名無しさん垢版2017/10/14(土) 13:14:29.49ID:RWnzXwfl
Hackはどうなんだろ。PHPがこんだけ使われてると、
PHP+静的型というのも悪くない気がする。
0964デフォルトの名無しさん垢版2017/10/14(土) 14:20:32.74ID:tBBaDIC1
頭がウンポコピーの頭がクルクルペチパーに
型なんて概念理解できるわけないだろ!いい加減にしろ!
0965デフォルトの名無しさん垢版2017/10/14(土) 21:51:27.07ID:Ls8C6+0E
固定長のリストならcdrにデータ直接入れてconsを節約できるんで
それがlispのタプルかな
0970デフォルトの名無しさん垢版2017/10/14(土) 22:58:56.35ID:Ls8C6+0E
>>966
2個組みならドット対、3個組みならドット対のcdrにドット対入れたものになって、あと4個以上もその繰り返し
表記的には全部ドット対にしてもリストの末尾だけドット対でもどっちでもいいが
0974デフォルトの名無しさん垢版2017/10/15(日) 00:46:19.53ID:BEFbV1PZ
隔離スレに分離できたのに
いまだにペチパーペチパー言ってる連中はどんだけペチパーに恋い焦がれてるんだよ・・・
0976垢版2017/10/15(日) 02:55:56.71ID:FgkAwWwR
おおかた自分がそうディスられて悔しくて別の言語勉強したとか、
自分が勉強した言語より重宝されてて悔しいとか、
会社で自分が言ったことが通らずPHPが採用されたとかそういうつまらん理由だろ、あいつは。
0977デフォルトの名無しさん垢版2017/10/15(日) 10:28:25.68ID:PEr5E9z9
PHPプロジェクトで頭がおかしくなってしまったんだろう
PHPに関わった者はみんな不幸になる例
0979デフォルトの名無しさん垢版2017/10/15(日) 13:14:13.26ID:C2I3JaNq
数学で習った関数しか知らない数学の大先生の気持ちを考えてみよう
文字列処理は敵だよ
0983デフォルトの名無しさん垢版2017/10/15(日) 15:38:53.48ID:ZaYcI5ev
>>980
始まってもいない
0984デフォルトの名無しさん垢版2017/10/15(日) 18:43:36.35ID:G3UKFtBK
多次元配列を搭載した言語が少なすぎる。setとかdict より需要がないとか信じられん
0985デフォルトの名無しさん垢版2017/10/15(日) 18:55:17.98ID:aaEJwvll
多次元配列は線形代数ライブラリとセットじゃないと使い物にならないからじゃない?
0987デフォルトの名無しさん垢版2017/10/16(月) 15:23:09.01ID:Z0srHJQs
PHPERを卑下するよりhackをはやらせたほうが世の中のためな気がするけど
割と先進的な機能が入ってるみたい。
0988デフォルトの名無しさん垢版2017/10/16(月) 22:28:52.38ID:lIn6MSR1
まあどうせ c とかのライブラリ呼ぶんだろってのはあるか。
あと一般の多次元配列とか考えると結局データベースになるっつー話もある。
そういう意味では統計扱う言語(R,python)は DataFrame とか用意してはいるな。
0990デフォルトの名無しさん垢版2017/10/17(火) 01:17:43.44ID:dWslrgIK
numpyは本当に優れたライブラリだ。numpy相当のことができる言語はFortran 90、R、Juliaくらいか?
10011001垢版Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 51日 23時間 51分 31秒
10021002垢版Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

ニューススポーツなんでも実況