X



次世代言語12 Go Rust Swift Kotlin TypeScript
レス数が1000を超えています。これ以上書き込みはできません。
0002デフォルトの名無しさん
垢版 |
2018/07/04(水) 10:05:07.35ID:F5fmBcfk
スレタイ以外の言語は禁止にするべきじゃないだろか。
前スレではC++が次世代だと言い出すやつまで現れたし。
俺だけどな。
0007デフォルトの名無しさん
垢版 |
2018/07/04(水) 12:59:22.65ID:HUsiXQ/g
RPN好きとしては、FORTHも欲しい
0011デフォルトの名無しさん
垢版 |
2018/07/04(水) 16:50:52.74ID:n4h9hTEh
このゲームマジ最高
https://goo.gl/k4ehdm
0012デフォルトの名無しさん
垢版 |
2018/07/04(水) 17:04:53.78ID:KIkXhDUv
感情的になるバカが常駐しているからなあ
昔よっぽどこっぴどく無知を晒されたのだろうな
かわいそうに
0013デフォルトの名無しさん
垢版 |
2018/07/04(水) 18:08:41.56ID:bt+HkB4A
感情の発露は喜んでいいのか恐怖の対象なのか判断が難しいよね。
とはいえ、世界で初めてAIが感情を爆発させたのが5chというのは興味深いよね。
0015デフォルトの名無しさん
垢版 |
2018/07/04(水) 18:51:37.48ID:bt+HkB4A
Wikipediaに載ってるよ。
0018デフォルトの名無しさん
垢版 |
2018/07/04(水) 20:58:31.47ID:0x1B4q8v
rustは案件で採用されづらそうだけど仕事で使ってるやついる?
ツールとかじゃなく製品orサービスとして
0019デフォルトの名無しさん
垢版 |
2018/07/04(水) 21:08:02.24ID:0x1B4q8v
TypeScriptを仕事で使ってるけどjs使いからは不評臭い。ライブラリの使い方+tsの使い方を調べるという二重苦が辛いらしい。
0020デフォルトの名無しさん
垢版 |
2018/07/04(水) 21:12:13.01ID:JJiPoTOv
辛いのはただの自己責任という発想がある

自己の内部に全ての原因がある
例えば感情
外部に原因なんてないし外の人はみんな良い人だよ
0021デフォルトの名無しさん
垢版 |
2018/07/04(水) 21:18:28.94ID:1R4S9ii/
rustやってるやつは
ずっとやっていれば役に立つんだと必死に自分に言い聞かせてる感じだなw
言語なんて開発効率あげるためのものなのにどうかしてる連中だよ。
0022デフォルトの名無しさん
垢版 |
2018/07/04(水) 21:22:52.74ID:0x1B4q8v
>>21
それも決めつけだと思うんだけど、
firefoxが一つの指標になるよね。
実質c++ vs rustの代理戦争だよな。
chrome vs firefixは。
そしていまのところはrust負けてる?
0023デフォルトの名無しさん
垢版 |
2018/07/04(水) 21:35:18.63ID:JJiPoTOv
役に立ちたいとか勝ちたいとかいう感情が前提なので
前提を崩さないためなら決めつけでも何でもやる感じ
0024デフォルトの名無しさん
垢版 |
2018/07/04(水) 21:42:39.10ID:gFgZc5FG
VEC
0025デフォルトの名無しさん
垢版 |
2018/07/04(水) 21:54:43.76ID:t+AJ0eNX
>>19
前に言った通りの状況や、、
書きやすさの為に学習コストがかさんでは本末転倒なんや
これからの新言語はこの問題が常に付きまとう、
0026デフォルトの名無しさん
垢版 |
2018/07/04(水) 21:59:01.25ID:JJiPoTOv
C++とHaskellを知ってたらRustの学習コストは低い
ゆえにHaskellが役に立っていると思うかどうかは個人の感情
0027デフォルトの名無しさん
垢版 |
2018/07/04(水) 22:04:19.95ID:1R4S9ii/
c++は関係あるがhaskellとrustはそんな関係あるか?
rustの評価順序なんていたって普通だし、return書かないことくらいしか接点ないわ。
0028デフォルトの名無しさん
垢版 |
2018/07/04(水) 22:36:36.45ID:JJiPoTOv
C++系でいうオーバーライドとオーバーロードのうち
オーバーライドを極力使わない流儀がRustとHaskell
0029デフォルトの名無しさん
垢版 |
2018/07/04(水) 22:47:00.77ID:qg2ggPtj
スレタイから括弧外したのは構わないようだね
こっちのほうが見やすいだろうし文字数稼げるから
追加でNim入れる考えもあったけど、並べると格落ち感出すぎたので保留した
0031デフォルトの名無しさん
垢版 |
2018/07/04(水) 23:07:47.54ID:qg2ggPtj
>>2
>スレタイ以外の言語は禁止にするべきじゃないだろか。
まず次世代言語というのが何を指すか明確に決まってない以上、
実際にスレタイ以外の言語の話はされるだろう
それに多様な意見を交わす総合スレとしての場を阻害しないうえでも、
言語を限定せず、かつそれを明示しておくべきだと思う

スレタイに言語名を入れる意義があるとすれば、検索性というか客寄せでしょう
立てた人の推しが窺えるのも面白いし

ちなみに「スレタイ以外の言語もok」って一文を付け足したのは自分だけど、
本当のところは、自分の独断でスレタイの言語を選んだ負い目を感じたのが発端だよ
0032デフォルトの名無しさん
垢版 |
2018/07/04(水) 23:07:58.14ID:JCnnCMy6
>>19
ほとんどがただ隣に型書くか推論任せにするだけだろ
こんな簡単なことがつらいとか
ガイジか池沼か知らんが、保守不能なクソコード撒き散らされる前に殴り殺して窓から投げ捨ててカラスの餌にしてしまえ
0033デフォルトの名無しさん
垢版 |
2018/07/05(木) 07:28:33.45ID:9iVhDhpv
Sで始まる信者だけが読みやすいと思ってるクソ言語の話題が出なければ何でも良いよ
0034デフォルトの名無しさん
垢版 |
2018/07/05(木) 07:35:01.13ID:8oHQ34qI
>>33
なんだろうな。環境面でなんか動かないって現象起きやすくない?
tsっていうよりバンドラーの問題なのかライブラリの相性問題なのか?
firebaseの最新ライブラリで動かなくなるとか、そういうのがあってひどく混乱する
0044デフォルトの名無しさん
垢版 |
2018/07/05(木) 12:09:16.63ID:gENMFstY
こんな返答アスペでガイジでADHDやん……
気が狂って頭がパーになってるんちゃうか……
0045デフォルトの名無しさん
垢版 |
2018/07/05(木) 12:24:15.98ID:H3N+PmLk
この場で解決できないのはこの場にいる人間の責任だな
ここにいない医師のせいにするな
0047デフォルトの名無しさん
垢版 |
2018/07/05(木) 19:39:34.37ID:nmRduEAc
>>18
使ってるよ
webだけど
0052デフォルトの名無しさん
垢版 |
2018/07/06(金) 00:26:04.96ID:iypT0A6c
そう?
0053デフォルトの名無しさん
垢版 |
2018/07/06(金) 01:05:52.42ID:6y3UEUjX
>>39
Eiffelよりいいかもって思ったことあった。
0055デフォルトの名無しさん
垢版 |
2018/07/07(土) 09:38:57.91ID:qMZ1w822
aiプログラミングってなんの言語?
swift学んだけどそっちの方向に行きたいから教えてほしい
0059デフォルトの名無しさん
垢版 |
2018/07/07(土) 13:48:36.61ID:vjEVzs47
AIと言ってもルールベースもあれば最近流行りの機械学習もある

これからの時代はPrologかな(^^)
0061デフォルトの名無しさん
垢版 |
2018/07/07(土) 15:04:27.76ID:AdfJnf4g
なんか大昔に大学で、急にAIはだめだって本がでてインパクトがあって研究費さがったって聞いた
よくきいたらXOR計算がでいないからだめとかって不条理な理由で
とにかく偉い人がだめって言ってるからだめなんだろうみたいな雰囲気

裏で一部の人間が研究を独占するための陰謀だったにちがいない
常温核融合だって実際は核分裂で核反応起こってたぽいし
世の中むちゃくちゃ
0062 ◆QZaw55cn4c
垢版 |
2018/07/07(土) 15:13:48.73ID:tAo3CjcH
>>61
そういう混沌のなかから新しいものが生まれてくるんだと思います
私は混沌を歓迎します
0065デフォルトの名無しさん
垢版 |
2018/07/07(土) 19:48:48.73ID:lOmDwJqf
pythonてかnumpyだよな
ai屋さんにとっては言語なんてどうでもいい
0066デフォルトの名無しさん
垢版 |
2018/07/07(土) 19:57:45.39ID:BQfcVKgR
2位じゃダメなんですかおばさんの一声で潰れる程度の研究しかできない連中が悪い
糞バカ中世ジャップランド土人村の末路
0067デフォルトの名無しさん
垢版 |
2018/07/07(土) 20:20:08.28ID:30ihGmDy
ガチで有能なところは企業から金貰って研究してるからな
データ系なんか金稼がないと何の価値もない分野なのに
0070デフォルトの名無しさん
垢版 |
2018/07/08(日) 13:08:33.64ID:NBiUl0PE
>>69
どこが古臭いんだ?
これもATS2とかIdrisとかと同じで依存型がある証明系の言語だろ?
ガチガチの最新言語じゃん
0071デフォルトの名無しさん
垢版 |
2018/07/08(日) 13:14:10.06ID:6xrO+JsL
多分compassとかの勉強会で発表できるようなカッケーのしか認めない層がいるんだろ。
そういう連中は相手にしてもなんの意味もないよ。
0074デフォルトの名無しさん
垢版 |
2018/07/08(日) 14:19:26.14ID:NcSG5fK1
お願いだから全機で超高速で動く言語VMつくって
ちょっとくらい難しくてもいいからお願いします
0075デフォルトの名無しさん
垢版 |
2018/07/08(日) 14:25:02.81ID:NBiUl0PE
>>72
70年代かどうかは知らんが依存型関連の理論自体は昔からあることは知ってる
F*はつい最近知ったので詳しくないから他の言語の依存型とどう違うかは知らないが、
これが最新じゃなかったら君にとっての最新の言語はなんなの?
具体的に「どこがどう違うから新しい」ってとこまで含めて教えて
0077デフォルトの名無しさん
垢版 |
2018/07/08(日) 15:43:31.75ID:NcSG5fK1
>>76
言ってないよー
こんなとこに沸かないで!
008175
垢版 |
2018/07/08(日) 21:11:56.23ID:NBiUl0PE
こういう風に聞くと大抵は黙るのなんなの?
こっちは純粋な興味で聞いてるのに
0083デフォルトの名無しさん
垢版 |
2018/07/08(日) 22:06:17.36ID:0enAxBm5
75に悪意があるとは思わないけれども
煽りとも取られかねない質問文で、後から「純粋な興味で聞いてるのに」ってのは
下手な物の尋ね方のテンプレにしてもいいのではってぐらいよく見る気がする
0085デフォルトの名無しさん
垢版 |
2018/07/08(日) 22:15:40.47ID:hHjcEx8J
君たち、私のチンポをしゃぶってみないかね
0087デフォルトの名無しさん
垢版 |
2018/07/08(日) 22:49:41.47ID:s5OgNQRX
内容が大事だと思っているなら煽らずに本当に純粋に聞けば良い。煽っておいて「大事なのは内容」などと言うのはダブルスタンダード
0090デフォルトの名無しさん
垢版 |
2018/07/08(日) 23:08:01.07ID:0enAxBm5
おまいらなんでこんな事には食いつきがいいんだよ
こっちは純粋な好意で気を遣って書いたつもりなのに
0095デフォルトの名無しさん
垢版 |
2018/07/09(月) 00:15:55.56ID:uCPaSCaV
純粋に考えて、未だに型無し糞言語を崇めてる連中って馬鹿だと思うんだけどどう思う?
0099デフォルトの名無しさん
垢版 |
2018/07/09(月) 08:22:18.46ID:DDmVMIt1
rubyistとrubyの関係みたいなもんか
0100デフォルトの名無しさん
垢版 |
2018/07/09(月) 09:10:36.88ID:wsFssMnI
動的静的問わず型が弱くて扱い切れる人間は殆ど居ないからなぁ
話題の依存型も個人的には好きなんだけど対極的だし汎用プログラミングだと扱い切れなそう
0101デフォルトの名無しさん
垢版 |
2018/07/09(月) 11:15:38.26ID:m7D4XdEw
rubyにはなんであんなクズみたいなのばかり集まっちゃったんだろうな。ruby自信に詰みはないというのに
0102デフォルトの名無しさん
垢版 |
2018/07/09(月) 11:25:12.75ID:rKnQV5/G
当時のRailsの流行は頭の悪い人達のコンプレックスに支えられていたからだよ
英語わからない難しい要件わからない複雑なコーディングできない、でも俺はペチパーとは違う、という層に夢を見せた
0103デフォルトの名無しさん
垢版 |
2018/07/09(月) 11:44:42.26ID:KFrfmR/A
依存型がある言語はML族もしくはF#の軽量構文みたいなのが多いのはなんでなの?
C系のシンタックスだと何か不都合でもあるの?
0106デフォルトの名無しさん
垢版 |
2018/07/09(月) 12:46:40.19ID:KFrfmR/A
>>104
C系の方が慣れてる人が多いでしょ?それだけである程度意味があると思うけど

>>105
正直何言ってるかよくわからないんだけど、依存型とカリー化って別に関係ないんじゃないの?
だって、依存型のあるATS2では関数宣言↓だけは何故かC(Golangっぽい?)シンタックスだよ
fn test(x: double, y: double): double
だから、ATS2はML族なのにカリー化しづらいよ
0107デフォルトの名無しさん
垢版 |
2018/07/09(月) 13:29:20.22ID:wsFssMnI
>>106
型について研究してる畑の人ではML系の方が多数派だからね
それは論理学数学から醸成されたのがML系だからってのもあるし、型についても扱いやすいシンタックスが既にあるML系とわざわざ型を扱うシンタックスを設計しなければいけないC系ベースどっちをまず採用するかってなったんじゃない?
知らんけど
0108デフォルトの名無しさん
垢版 |
2018/07/09(月) 13:40:36.06ID:XHrPXSC2
>>103
> 依存型がある言語はML族もしくはF#の軽量構文みたいなのが多いのはなんでなの?
> C系のシンタックスだと何か不都合でもあるの?

依存型や本来の多相型(polymorphism)[†]などは型理論の体系つまり高階の型付λ計算に関する論理体系に基づくので
プログラミング言語の型システムとして組み込む場合には同じくλ計算に基づくと関数プログラミング言語の枠組みとは親和性が良いが
Cなどのように変数の値を書き換える代入文や代入演算を有する命令的プログラミング言語とは馴染まない。[‡]

だからそれらの型システムを導入した言語は既存の関数プログラミング言語の構文を流用するケースが多いのだろう。
なおStandard ML/CAML/OCaml/F#などeager evaluationを評価ルールとするいわゆるML系の関数プログラミング言語の一群は
ref型のように代入可能な変数を許すが、本格的な型理論に基づく型システムを組み込む場合はref型の類は除いたsublanguageに対して
行うのが普通。


[†]:本来の多相型とはGirardが竹内の基本予想に関する学位論文で最初に発見(あるいは発明)し
Reynoldsが独立に再発見した型の全称化・抽象化やMilnerが発見したlet-polymorphismなどを指す。
オブジェクト指向での継承に伴って使われるようになった“polymorphism”は
定義が不明確で勝手な拡大解釈が多いので「本来の」という修飾句の対象範囲からは除く。

[‡]:代入操作(代入文と代入演算の総称)を含む命令的プログラミング言語
(Cなどの手続き的プログラミング言語やオブジェクト指向プログラミング言語を纏めてこう呼ぶ)に
例えば多相型が馴染まない理由は代入操作可能な変数の型として多相型を許すことは
その変数について動的な型付けを許すことに他ならなくなる。

例で少し説明するが既知なら許してくれ。最も基本的な多相型 ∀t.t (どんな型でもOK)と宣言された変数 x を考える、つまり
  ∀t.t x;
この変数はどんな型の変数としても使えるので、これにint型の値 1 は代入できる、
  x = 1;
この後で式の中でこの変数の値を参照すると int型の値 1 が許される文脈以外ではエラーになる。

即ち、型理論における本来の多相型つまり静的な型付けでの多相型の概念は代入可能な変数では失われるということだ。
0109デフォルトの名無しさん
垢版 |
2018/07/09(月) 15:02:11.35ID:wwylxN3+
Cは関数()をカリー化しなかったが配列[]をカリー化した
2次元配列を1次元のように扱い、逆にスカラー (0次元) を1次元のように扱う

Cには共用体もあるからML系に似ている部分は多かった
0110デフォルトの名無しさん
垢版 |
2018/07/09(月) 16:22:10.83ID:wwylxN3+
オリジナルのC/C++はもう実質的に依存型と同じものを既に使いこなしてるな
依存型がまだないという自称C系ってのは本当はJava系と名乗るべきだな
0112デフォルトの名無しさん
垢版 |
2018/07/09(月) 17:03:28.03ID:b/biyW6c
>>106
カリー化されてると全部1引数の fun a -> aを使う(かもしれない)型 の形で済むだろ
ATS2がどうしてるかは知らん
0113デフォルトの名無しさん
垢版 |
2018/07/09(月) 18:16:53.67ID:KFrfmR/A
別にC以外のシンタックスを嫌ってる訳じゃないよ(てか、なんでそういう風に受けとる…?)
普及を考えれば新規ユーザーのハードルを下げるためにも少しくらい相性が悪かろうが
C系のシンタックスを採用した方が良いんじゃない?って思っただけ

どれだけ理論が優れていようが結局のところ広く普及した言語の大半
(C/C++, Java, C#, JavaScript, PHP...etc.)はC系のシンタックス
勿論C系以外で普及した言語もある(Python, Ruby...etc.)けど…数はそれほど多くない
Cのシンタックスを採用することに致命的な不都合があれば話は別だけど
そうでなければ1つくらい依存型ありの言語でC系の言語があったって良いんじゃない?

優れた理論が使われてる言語がそんなしようもない理由で普及しなかったら勿体ないじゃん
普及させるためにはそういう些細な部分は妥協したらどうだ?と思ったわけ
0116デフォルトの名無しさん
垢版 |
2018/07/09(月) 18:40:59.88ID:EEzdGAQJ
>>109
> Cは関数()をカリー化しなかったが配列[]をカリー化した

配列をカリー化の意味が分からんのだが
0117デフォルトの名無しさん
垢版 |
2018/07/09(月) 18:41:02.84ID:b/biyW6c
まともな推論を入れようとしたら>>108みたいな理由で式ベースになるんだから
C系に似せようとしたところで不格好で無駄に記述量も多いキメラができるだけだろ

ところでBASIC舐めてるわけ?
0119デフォルトの名無しさん
垢版 |
2018/07/09(月) 20:54:48.10ID:XHrPXSC2
>>114
> ALGOL舐めてるわけ?

AlgolとくにAlgol 60は実用性はともかく言語設計の観点からは非常に優れた言語だったが、命令的言語であるがゆえに型理論には馴染まない部分がある
今回の君のような内容ゼロの一言レスしてる暇があったら、ReynoldsやTennentの教科書・論文ぐらいは読んで勉強したらどうよ
0120デフォルトの名無しさん
垢版 |
2018/07/09(月) 21:22:54.54ID:KFrfmR/A
>>117
そうか?式指向でC系のシンタックスっていったら真っ先にRustが頭に浮かんだが
別に不格好とも無駄に記述量が多いとも感じないが…
そもそもC系の時点で何指向だろうが関数型と比べると記述量は少し多くなるものだし…
C系を式指向にしたところでそんなに変になるところは無いと思うんだが

別に全部C系にしろって言ってる訳じゃないんだ
依存型ありの言語にも1, 2個くらいC系があっても良いのにっ思ってるだけで…
0121デフォルトの名無しさん
垢版 |
2018/07/09(月) 21:40:53.57ID:wwylxN3+
現実は正しい
格付けの方が間違ってるんじゃねえか
リーマンショックみたいに
0122デフォルトの名無しさん
垢版 |
2018/07/09(月) 21:46:37.16ID:U1rzq4XN
あってもいいということはなくてもおかしくないという事だよ
言語設計者が依存型を普及させたいにしてもC系シンタックスを蛇蝎の如く嫌っている可能性だってある訳だ

そうでない君が依存型+C系シンタックスが普及に必要だと思うならそれは正しく良い意味で言い出しっぺの法則だね
0123デフォルトの名無しさん
垢版 |
2018/07/09(月) 21:56:18.25ID:b/biyW6c
>>120
rustは根っこのところは手続き型だからな
もっと式ベースを徹底していったらC系文法なんてどんどん余計なものになってくよ
0124デフォルトの名無しさん
垢版 |
2018/07/09(月) 22:16:18.81ID:wwylxN3+
式指向にしてブロックが値を返す
ブロックの中でreturnなどと書いたらブロックだけではなくメソッド全体が終了する

これSmalltalkとRubyでやったやつだ
0125デフォルトの名無しさん
垢版 |
2018/07/10(火) 02:09:51.97ID:PeZ34IEg
>>124
>ブロックの中でreturnなどと書いたらブロックだけではなくメソッド全体が終了する

他のほぼ全ての言語もそうじゃね?
0126デフォルトの名無しさん
垢版 |
2018/07/10(火) 06:52:59.20ID:TRoApVCG
やっとラムダが当たり前になったところだぞ
型理論の成果がプロダクト利用に広まるには時間がかかるんだよ
0127デフォルトの名無しさん
垢版 |
2018/07/10(火) 08:08:34.60ID:Iy+fy/d3
なんでJavaだけバージョンアップしなきゃだのセキュリティアップデートがどうの、大騒ぎしてんの?
JavaScriptなんて毎日のように新しいsyntaxぶち込まれてるし、
Kotlinがここまでアプデに振り回されてるのはあまり聞いたことない気がする

他でここまでセキュホがギャースカ言われてるのって、ポンコツペチプァとWordPressくらいじゃね?
Javaってそんな糞脆いの?
0131デフォルトの名無しさん
垢版 |
2018/07/10(火) 09:24:32.49ID:yvVWnyin
>>127
エンプラで使われまくってるからわずかな変更にも大騒ぎするというだけ
履歴書がフォーマット通りじゃないとか、書類に印鑑がないとか、工場作業員の歩く幅が守られてないとか、そういうので騒ぐと同じ
0132デフォルトの名無しさん
垢版 |
2018/07/10(火) 10:15:33.87ID:kqKjfHzH
javaというのは汲み取り式の便所みたいなもので、それに下水と近代的な便座を取り付けたのがkotlinだが、結局大便か小便かあるいはその両方をひり出す装置だということに気づかず、エレガントなクソの仕方について議論しているのが奴らだからな
いきなり外に出ろと言われても、オラクルにオツムを履かせてもらわないと不安で仕方ないんだよ
0136デフォルトの名無しさん
垢版 |
2018/07/10(火) 15:09:37.59ID:3uxGmvBi
クソ。。
0139デフォルトの名無しさん
垢版 |
2018/07/11(水) 04:26:30.97ID:0IxMzPaq
まーた例外とnullの話してらあ
0140デフォルトの名無しさん
垢版 |
2018/07/11(水) 08:37:33.70ID:dzRS/LEU
語るに足る次世代言語がrustしかないんだもの
0146デフォルトの名無しさん
垢版 |
2018/07/11(水) 15:56:04.73ID:hs+tHtH9
メモリ制御しなきゃいけない世界が無くなることはよしんばあっても当分先なのでメモリ制御できる言語の更新はあった方が皆幸せになると思うんだけどな
0147デフォルトの名無しさん
垢版 |
2018/07/11(水) 20:07:05.04ID:gDwkScTK
>>143
機能の整理って感じかなぁ。
0148デフォルトの名無しさん
垢版 |
2018/07/11(水) 20:48:11.63ID:v5sVc8KX
車輪に怒られるだろ
せいぜい定年後の手作りログハウスだな
0149デフォルトの名無しさん
垢版 |
2018/07/11(水) 21:20:11.21ID:5vCD+XSP
GCはメモリには効くけどリソースの速やかな解放には効かないから
using文とかtry-with-resources文とか必要になってくる

SwiftやRustとかはメモリはGCほどお手軽では無いけど
リソースがメモリ管理と同じ流れに乗るからカメラとかのAPI扱うときはむしろ楽になる

一長一短なところはある
0150デフォルトの名無しさん
垢版 |
2018/07/11(水) 21:33:18.06ID:cyuAyH9j
実際問題ログハウスで十分なところを最近の言語はウインチェスターハウスにしちゃってる感じ。
0151デフォルトの名無しさん
垢版 |
2018/07/11(水) 21:57:59.72ID:v5sVc8KX
ログハウスはお手軽という意味で例に出したんじゃないんですけど
0152デフォルトの名無しさん
垢版 |
2018/07/11(水) 22:05:01.91ID:vUSWO0TO
ログハウスで充分な仕事しかしてないのにウィンチェスターハウス作れる言語に目が向いてこんなスレに迷い込んでしまったの間違いでは
0153デフォルトの名無しさん
垢版 |
2018/07/11(水) 22:08:04.55ID:JQcRgwrO
ほんまに計算科学の次世代言語欲しいわ
Fortranさん仕様は悪く無いのにprint文書くだけで周りの計算結果変わったりしてコンパイラがガバガバすぎる
0154 ◆QZaw55cn4c
垢版 |
2018/07/11(水) 22:16:20.84ID:WXXvptbG
>>153
それはバグっているだけだと思いますが
0155デフォルトの名無しさん
垢版 |
2018/07/11(水) 22:22:20.98ID:JQcRgwrO
>>154
すぐバグるんだよな
gfortranで通ったし大丈夫だろって思ってたらifortでは通らなかったり、C++よりはるかにプログラマの責任が重いと思うわ
0156デフォルトの名無しさん
垢版 |
2018/07/12(木) 08:59:38.99ID:cbg7+Pwy
fortranは仕様より処理系依存の独自拡張が蔓延ってるイメージ
haskellも処理系拡張が基本みたいな所あるしそういうの好きになれない
0159デフォルトの名無しさん
垢版 |
2018/07/16(月) 12:28:43.44ID:0TUA3bfL
       ____
     /⌒  ⌒\
   /( ●)  (●)\
  /::::::⌒(__人__)⌒::::: \   次世代言語でやるお!
  |     |r┬-|     |
  \      `ー'´     /
0162デフォルトの名無しさん
垢版 |
2018/07/16(月) 17:26:19.10ID:sSti604i
rustはダメだな。
信者のウザさがhaskellと一緒だわ。
ああいう1機能を理解するのがめちゃくちゃ嬉しくなっちゃうような言語はダメだわ。
0164デフォルトの名無しさん
垢版 |
2018/07/16(月) 17:38:21.47ID:fgL4HgKC
リアルの知り合いじゃね
Rust信者には会ったことないが、Haskell信者のウザさは割とガチだな
0167デフォルトの名無しさん
垢版 |
2018/07/16(月) 19:11:15.57ID:AYwAzz0o
> 信者のウザさ
自分では到底習得出来ない言語を
楽しげに使いこなしてる事に対する嫉妬でしょ?
0168デフォルトの名無しさん
垢版 |
2018/07/16(月) 19:16:33.22ID:LulkQD8r
なんで所有権の移動という一度しか起こらない元値を破壊するものが印なしで
参照の借用渡しが&にしたんだろう
0169デフォルトの名無しさん
垢版 |
2018/07/16(月) 19:17:08.68ID:PkmPgg8A
リアルうざい知り合いはモチベーションに影響するからなあ
いくら物が良くても距離を置くのはそれはそれで賢い処世術
0171デフォルトの名無しさん
垢版 |
2018/07/16(月) 22:02:29.79ID:0TUA3bfL
あぁ、わからんでもない
言語じゃなくライブラリの話だが
仕事で使ってるライブラリを大して覚えようともせずVue.jsを猛プッシュしてくる中国人が、同僚に居て大嫌いになったわw
日本で流行ってる!ていうのもペチパーのCakePHP臭がして近寄りたくない
0172デフォルトの名無しさん
垢版 |
2018/07/16(月) 23:18:16.92ID:sSti604i
楽しげに使ってるというよりかは
楽しいと思い込もうと必死になってるといった印象だから嫌なんだよ。。
それ絶対楽じゃないよね、もっと簡単なやり方あるよねって話が一切通じなくなるっていう。。
0174デフォルトの名無しさん
垢版 |
2018/07/17(火) 00:27:27.23ID:hR326+dd
rustの狂信者なんて5chですら見たことないけど
0175デフォルトの名無しさん
垢版 |
2018/07/17(火) 00:31:27.59ID:c2JpqyiJ
>>168
C/C++の&演算子と仕様を合わせただけだろ
仮に借用に&を使わない場合はどうするのが良いと思うわけ?

あと「元値を破壊」ってどう言うこと?
「移動」と「破壊」を同義として使ってるの?
0176デフォルトの名無しさん
垢版 |
2018/07/17(火) 00:39:08.48ID:A75xOI8y
rust使うくらいなら何を使用しますか?
0178デフォルトの名無しさん
垢版 |
2018/07/17(火) 00:59:45.92ID:c2JpqyiJ
>>172
Haskellに対してならある程度は同意する
でも、Rustに対しては同意できないな
メモリ管理を自力でするのではなくコンパイラに任せる
メモリリークは自力でデバッグして解決するのではなく
コンパイラに詳細なエラー情報を表示して解決を手伝ってもらう
コンパイルが通ればメモリリークが無いことが保証される
きちんと楽で簡単になってるじゃん
GCの無い言語であれより楽で簡単にメモリ管理を行う方法を俺は知らない
知ってたら教えてほしい
0179デフォルトの名無しさん
垢版 |
2018/07/17(火) 01:07:36.30ID:+XvdRidc
>>178
半ば本気で言うが c++ で生ポインタ使わなければ概ね実現できるんじゃないか
「〜すれば」は(しないこともできちゃうから)ダメとか、
その場合の効率はどうなんだとか議論の余地はあるだろうけど
0180デフォルトの名無しさん
垢版 |
2018/07/17(火) 01:50:03.11ID:BJF1Zhqz
GCが有っても、不要になったデータは破壊される
ただしその事実が隠蔽される

Haskellでもデータは破壊され、隠蔽される
もし隠蔽しなかったら、破壊的代入禁止という無理ゲーがもっと簡単になるよね
だからRustはGCをやめ、隠蔽するのをやめた
0181デフォルトの名無しさん
垢版 |
2018/07/17(火) 07:16:12.90ID:2OjPLMsJ
破壊的代入禁止が無理ゲーってどこのドカタ星の話だよ
Rust使ってると脳が破壊されるのかな?
0183デフォルトの名無しさん
垢版 |
2018/07/17(火) 11:05:08.67ID:hR326+dd
そんな旧約聖書にだって書かれているようなことは議論の余地もない
0184デフォルトの名無しさん
垢版 |
2018/07/17(火) 12:00:50.30ID:6bm5oNFX
rustは次世代言語の逆で、幼児退行言語。
rustの所有権は、赤ん坊のおしゃぶりと同じ。
おなかすいたらGCおかあさんのおっぱい吸えばいいのに
いつもおしゃぶりを握っていないと不安になるだけ。
0185デフォルトの名無しさん
垢版 |
2018/07/17(火) 12:29:27.79ID:vHkWfwEU
不可抗力的にお母さんのおっぱいが出ない(パフォーマンス上制約のある)現場はどうするのか
幼児退行を悪い事として述べる為におしゃぶりという例を用いているのに、良いものとしておっぱいを挙げているので幼児退行と非幼児退行の良し悪し比較がおしゃぶりとおっぱいの比較になりレスの中で批判の比喩が統一されていない

何かに例えてもふわっとしか批判できないのにそれを通り越して例えに統一感がない無意味さの塊みたいなレス
0189デフォルトの名無しさん
垢版 |
2018/07/17(火) 15:13:35.79ID:g4tBIWtL
おっぱい(GC)で十分なのに、実際は効果のない何かを手で握ってないと不安な幼児退行ってことだろ
おしゃぶりじゃなくてガラガラって方が例えとして正しいと思うが

Rustが幼児退行言語ってことには激しく同意する
もうちょい踏み込むとアダルトチルドレン言語か?
ママのおっぱい(GC)には頼りたくないけどガラガラ握ってないと不安なクソガキメンタル
0190デフォルトの名無しさん
垢版 |
2018/07/17(火) 15:20:19.98ID:Xr+5nhkx
スレッドセーフなARCと
シングルスレッド専用ARCと
mark&sweepのようなもの
を使い分けたい=宣言したいという需要がとても強い

どう強いかっていうと、int型とdouble型とstring型を宣言したい需要と同じ種類の強さ
0192デフォルトの名無しさん
垢版 |
2018/07/17(火) 15:29:20.45ID:g4tBIWtL
ガラガラ握り続けてないと不安で不安で仕方ないRustちゃん
巡回参照を持てない時点で使い物にならない言語なんだよなあ
0193デフォルトの名無しさん
垢版 |
2018/07/17(火) 17:22:24.01ID:hR326+dd
巡回ねぇ
0194デフォルトの名無しさん
垢版 |
2018/07/17(火) 18:02:40.72ID:boY3/Xbc
どのcpuでもinterlockedなインクリメントやデクリメントがあるから、
よほどコア数大きくない限りそんなに違いでないのでは?
測ってないけど。

>>スレッドセーフなarcとシングルスレッド専用のarc
0198デフォルトの名無しさん
垢版 |
2018/07/17(火) 19:11:52.22ID:/YoZRf2z
rustみたいな言語が一般に広まっても
結局無理やりコンパイル通すためにRefCell,unsafe使いまくりのクソコードが
蔓延するだけなんだよね。
「コンパイル通れば安全」とかね、プログラムのバグの多くはそんなところにはない。
0200デフォルトの名無しさん
垢版 |
2018/07/17(火) 19:49:51.65ID:llJWBlJL
まあRustなんてやってる奴は、
悪いこと言わないからCやC++やってろってこった
0201デフォルトの名無しさん
垢版 |
2018/07/17(火) 20:03:03.78ID:hR326+dd
どんな現場にいたら >>198 みたいな歪んだ考えをもつんだ?
気の毒すぎるだろ
0202デフォルトの名無しさん
垢版 |
2018/07/17(火) 20:27:09.02ID:anKKTTWb
>>175
デフォルト借用

破壊というと御幣があるが、C++の仕様をいうならなおさら
auto_ptrへの所有権移動で
=だけで移動するのがわかりにくいからって非推奨になった経緯がある
0204デフォルトの名無しさん
垢版 |
2018/07/17(火) 21:45:45.87ID:Xr+5nhkx
>>198
動的言語でできることはすべて静的言語でもできる
この性質により、お前らが気に食わないコードでもコンパイルが通る

RefCellはコンパイル時ではなく実行時にborrowチェックしているようだな
まるで動的言語のようだ
0205デフォルトの名無しさん
垢版 |
2018/07/17(火) 21:51:32.49ID:c2JpqyiJ
>>202
デフォルト借用なら移動の方はどんな演算子orキーワードを導入するの?

>auto_ptrへの所有権移動で
>=だけで移動するのがわかりにくいからって非推奨になった経緯がある
それはC/C++の=はもともとコピーのセマンティクスを持つから移動に変えたら分かりにくいって事情があったからでしょ?
RustはCとの互換を捨ててるからCのセマンティクスの影響は受けない
でも、Rustは互換は捨ててもCとの親和性は欲しいという都合(ワガママとも言える)があるから
Rustの参照(借用)はC/C++の参照と似たようなセマンティクスになる&で妥当だと思うけど?
C++とRustのコピー・移動・参照(借用)の方法を整理すると↓になる

C++
コピー : =
移動 : std::move()
参照 : &

Rust
コピー : Copyトレイト
移動 : =
参照(借用) : &
0207デフォルトの名無しさん
垢版 |
2018/07/17(火) 22:14:55.31ID:anKKTTWb
C++ユーザー取り込むために文法にせてるのに
肝心のところでC++ユーザーが混乱するじゃないか…
どうせ=で移動したって参照わたしてるんだから&の意味がズレてる

所有権の移動という重要なできごとにこそ別途印がつくべきだった
0208デフォルトの名無しさん
垢版 |
2018/07/17(火) 22:18:19.09ID:c2JpqyiJ
>>179
>半ば本気で言うが c++ で生ポインタ使わなければ概ね実現できるんじゃないか
出来ると思うよ
でも、C++はRustよりもさらに複雑怪奇な仕様で使いづらい
C++のスマートポインタは正しい使い方をすればRustに負けず劣らず優れてるけど
それは、同程度に優れているだけであってRustより優れているとは思わない

あと、少し話が変わるけど実はRustの最も優れているところは
所有権・借用・ライフタイムの概念よりもエラーハンドリングだと思ってる
あのResult型とErrorトレイト・Fromトレイトとtry!マクロ(?演算子)を使用した
エラーハンドリングの方法は個人的には感動するレベルの代物だった
今後の次世代言語のエラーハンドリングは全てあれをベースに発展させていくべきだと思うほど気に入っている
0209デフォルトの名無しさん
垢版 |
2018/07/17(火) 22:28:43.55ID:c2JpqyiJ
>>207
>どうせ=で移動したって参照わたしてるんだから
あれ?それって仕様として決まってるんだっけ?
コンパイラの最適化の結果としてそうなるってだけじゃなかったっけ?

>>所有権の移動という重要なできごとにこそ別途印がつくべきだった
いや、だからその移動に何の印を付けるのがいいと思ってるの?
俺は借用には&が妥当だと思うとは言ってるけどベストだとは言ってないじゃん
ベターな代替え案があるなら俺だって意見を変えるよ
0211デフォルトの名無しさん
垢版 |
2018/07/17(火) 23:26:02.33ID:anKKTTWb
Rustも=でコピーのことがあるから余計ややこしい
let p = q ってかいてあってqがその後も使いまわせるかぱっと見わからんとか
ポインタっぽく普段の=は参照渡しで&が所有権移動にすりゃよかったとおもう
0212デフォルトの名無しさん
垢版 |
2018/07/17(火) 23:59:18.30ID:ztKpQtDs
スレチなんでちょっとだけ、C++は別に複雑では無いよ
プリプロセッサは氏んだほうがいいけど
0213211
垢版 |
2018/07/18(水) 00:26:29.77ID:mEKlqXRd
書いてて初めて気が付いた
実際に触ったことないから想像で書いてるんだが

>let p = q ってかいてあってqがその後も使いまわせるかぱっと見わからん

ほんとにこういう仕様なのか
使いづらすぎんかこれ?
0214デフォルトの名無しさん
垢版 |
2018/07/18(水) 00:39:34.50ID:eCPOxZU7
使い回せるかどうかはCloneトレイト実装してるかどうかに依存する
つまり見た目ではわからない

まあそもそも古い変数を変なとこで使い回す設計って普通にバグの元だし
ぱっと見てコピーかムーブか分かるかどうかが重要かと言われると確かに怪しい
ぱっと見で区別が必要なコード書くなって話だな
0216デフォルトの名無しさん
垢版 |
2018/07/18(水) 01:07:18.74ID:oqdCTGqL
使い回せるかどうかは、ぱっと見た時ではなく、コンパイル時にわかる
ぱっと見てわかるならコンパイラいらねえよ
0218デフォルトの名無しさん
垢版 |
2018/07/18(水) 01:51:32.87ID:SDgYFH54
今時文字列リテラルに変数とか式を埋め込めない言語って嫌がらせかよって思う
0219デフォルトの名無しさん
垢版 |
2018/07/18(水) 01:53:31.62ID:JqSumQxK
Goは他のまともな言語をいくつか使える人にとっては、低脳言語な割には意外とまともに使えるよく考えられてる言語だ、という感想になるけど、
PHPとGoしか知らないとかだと普通に低脳なだけの言語になっちゃいそう
頭悪くなるからやめとけ
0221デフォルトの名無しさん
垢版 |
2018/07/18(水) 05:20:47.62ID:ZBblVXCv
>>214
Copyトレイトな
0223デフォルトの名無しさん
垢版 |
2018/07/18(水) 10:24:34.37ID:VMuEGAmx
>>219
まさにこれ
低脳言語の中では一番頭がいいのがGo
頭がいいと思って使うと肩透かしくらうが、低能と割りきるならすこぶる便利

そこにニーズがあると読みきったGoogle少しだけ見直したわ
0224デフォルトの名無しさん
垢版 |
2018/07/18(水) 13:39:15.98ID:uM9cLKhF
Go言語らしさを生かしてどうこう言われると反発したくなるので関心を持たないことにした
0225デフォルトの名無しさん
垢版 |
2018/07/18(水) 15:41:12.26ID:KM8lntjZ
低能言語って何?
0228デフォルトの名無しさん
垢版 |
2018/07/18(水) 21:00:27.24ID:dWzHsOBF
エントロピー低いなら低能じゃないだろって思ったけど、驚き最大的な意味ではたしかにエントロピー高いのが一番いいのか?

圧縮専門の人頼む
0229デフォルトの名無しさん
垢版 |
2018/07/18(水) 21:13:13.80ID:QKyKgyQ2
ざっくり言うと
「これもっと短く書く記法や仕組みがあるだろ」
というようなものが低エントロピー
0231デフォルトの名無しさん
垢版 |
2018/07/18(水) 21:18:56.01ID:zEuGqywN
別に良いとも悪いとも言ってない
エントロピーの話

ライブラリや組み込み機能を使って短く書けました!
なんてのは圧縮で言うなら辞書式圧縮だな
0232デフォルトの名無しさん
垢版 |
2018/07/18(水) 21:22:45.59ID:ZBblVXCv
goはコードの見た目がなんとなくダサい
0233デフォルトの名無しさん
垢版 |
2018/07/18(水) 22:12:26.78ID:ASnSHc4W
よく勘違いしたアホがいうソースコードのエントロピーの増大ってのは、
MOVE A OF X TO A OF Y
MOVE B OF X TO B OF Y
MOVE C OF ...
の二行目だけが仕様変更で
COMPUTE B OF Y = B OF X + 1
に変わったら元より情報量が増えるという当たり前のことを言ってるに過ぎない
最初から
MOVE CORRESPONDING X TO Y
の一行だったら当然同じ行数あたりのエントロピーはずっと大きくなる
0234デフォルトの名無しさん
垢版 |
2018/07/18(水) 22:34:11.10ID:QzRfakeX
エントロピーが低いと無駄な繰り返しが多いけど、高すぎるとgzになっちゃう感じか
ギブズエネルギーに当たる概念はないのか?
0237デフォルトの名無しさん
垢版 |
2018/07/18(水) 23:02:17.93ID:dWzHsOBF
すまんがコンテキストって何ンゴ? エントロピーとはちょっと違う概念なの?
0244デフォルトの名無しさん
垢版 |
2018/07/19(木) 00:10:39.97ID:I2PZiIcj
単純に圧縮率をあげるなら予約語は一文字にすべきだ。
しかし一般に冗長性がないと多分人間はまともに読めん。
0247デフォルトの名無しさん
垢版 |
2018/07/19(木) 00:19:00.62ID:qEg7Djn6
てめえここでンゴるとはいい度胸してんな
まとめ民ならまとめに、J民なら標準語で喋るんやで
0249デフォルトの名無しさん
垢版 |
2018/07/19(木) 00:21:38.54ID:mgU85F4C
もうここJの植民地にしようぜ
0250デフォルトの名無しさん
垢版 |
2018/07/19(木) 00:22:10.96ID:ise8Wrtn
vscodeはemacsキーバインド使えるようになりました?
0251デフォルトの名無しさん
垢版 |
2018/07/19(木) 00:24:42.97ID:qEg7Djn6
そうか……🤔




じゃあ今日からここはプロJ板だからよろしくやで〜
オッスお願いしまーす!
0256デフォルトの名無しさん
垢版 |
2018/07/19(木) 01:33:48.24ID:sa+Z/ha1
何がおかしいんだこのクズ
J言語はとっくの昔にある
ans =: -:@(1&o.@((o.2)&%)@#*+/@(*(}.@, {.))"1@((/:[)/:(/:+/@(*,~/"1)@(*\)@i.@#)))
0257デフォルトの名無しさん
垢版 |
2018/07/19(木) 01:37:16.51ID:qO/fHdWQ
>>256
はぁ?そんなもん知っとるわw 昔からあるからこそ面白いんやぞ��
ユーモアのセンスのないガイジが人をクズ呼ばわりする前にちょっとは相手の意図でも考えればw
0261デフォルトの名無しさん
垢版 |
2018/07/19(木) 07:52:21.90ID:eBiYRhdM
コンパイル言語のScalaですら、イカ演算子やらググラビリティの低さで敬遠されがちだったのに
型無し糞言語の糞みたいな演算子、迷惑以外の何物でもない

ペェルとか死ね今すぐ死ねなるべく苦しんで死ね
0263デフォルトの名無しさん
垢版 |
2018/07/19(木) 09:56:06.21ID:1Xm4mRqX
数学なんかよりも地理歴史政治経済のググラビリティが高いから
マスコミが報道しないネットの真実は地理歴史政治経済の話題ばっかりなんだな
0266デフォルトの名無しさん
垢版 |
2018/07/19(木) 12:14:54.18ID:X2OHrsOF
>>259
慣れても読みやすいとはいえないけど
慣れると「他の言語はコード自体がコメントのように冗長だから読みやすくて当然、」とか思うようになる
0268デフォルトの名無しさん
垢版 |
2018/07/19(木) 12:19:10.67ID:LKwb2rby
swift 触った経験なしなんだけど、自作アプリから他のアプリを操作って可能なの?アプリAの情報をアプリBに書き込んだりとか。
それが出来るならMacBook買おうかと思ってる。
教えてくらはい
ちなみに想定端末はiPhone,iPad
0269デフォルトの名無しさん
垢版 |
2018/07/19(木) 14:26:52.35ID:ise8Wrtn
直接的には無理じゃな
0272デフォルトの名無しさん
垢版 |
2018/07/19(木) 17:23:18.40ID:c7Jt4FwT
>>271
与えられ数列を並べ替えてレーダーチャートにしたときの面積

並べ替える法則がよくわからない
面接が最大になるようにしているように見えるけどもしそうならバグってる

面接最大ならこうだな
ans =: -:@(1&o.@((o.2)&%)@#*+/@(*(}.@, {.))"1@((/:[)/:((i.@#)/:+/@(*,~/"1)@(*\)@i.@#)))
0273デフォルトの名無しさん
垢版 |
2018/07/19(木) 17:30:17.22ID:c7Jt4FwT
ちなみに
-:@(1&o.@((o.2)&%)@#

これが 1/2 sin (num of arg /(2π)) なので円をN分割したような三角形の面積の総和かなあ、と。

こういう書き方だとどんな言語でも読みにくいだろ
式1つで書くと変数名等の読むヒントがなくなって厳しい
0276デフォルトの名無しさん
垢版 |
2018/07/19(木) 18:15:43.64ID:1Xm4mRqX
クラスと変数には必ず名前空間をつけろ
演算子とメソッドにはつけなくていい
つまり、短くしたいならクラスと変数を使うな
0278デフォルトの名無しさん
垢版 |
2018/07/19(木) 19:41:14.50ID:LKwb2rby
>>269,270
ありがと!
脱獄で調べてみるわ
まじサンキューな
0280デフォルトの名無しさん
垢版 |
2018/07/19(木) 22:02:22.76ID:CoOnzJEC
史上もっともカネを動かした言語はAPLだと言われるこの世界線で
なぜJが仕事で使えないと思うのだろう…
0284デフォルトの名無しさん
垢版 |
2018/07/20(金) 00:51:47.59ID:Lpl/4iSW
ガイジでも作れるウンポコペチプーと宣伝した結果
ほんとにガイジに作らせて、保守費用が天までそびえたつ糞と化したゲリクソピィさんも
なかなかのカネを動かしてると言えるんじゃないか?
0286デフォルトの名無しさん
垢版 |
2018/07/20(金) 08:01:32.39ID:Lpl/4iSW
> 「APLという言語そのものがボトルネックとなって巨額の損失を生み出す間接的な要因になってしまった」

ガーイw
0288デフォルトの名無しさん
垢版 |
2018/07/20(金) 09:19:31.09ID:wmaa87sr
単語の辞書化をした上でのソースコードの圧縮率って、糞コード性を推定するメトリクスとしては実際わりと有効そうに思えるけど
研究でやった人いないのかな
0289デフォルトの名無しさん
垢版 |
2018/07/20(金) 21:20:47.38ID:79xYVhLD
Goの勉強始めてみようかと情報探りながら勉強してたんだけど、
http://golang.jp が5年くらい更新されていないのを知って
Goは終った言語なのかと思えて勉強する気がちょっと萎えた。
0292デフォルトの名無しさん
垢版 |
2018/07/20(金) 23:21:56.31ID:3t2LaYgC
>>289
それ、全然goと関係ない。少なくとも勝手にやって勝手に諦めてるだけで誰も参考にしてないから
0298デフォルトの名無しさん
垢版 |
2018/07/21(土) 09:19:43.23ID:FfPVWpYP
非公式翻訳サイトってほんと害悪しかないよな
普通に公式の翻訳に参加しろよと思う
ああいうの作る奴は結果的に自分達が日本の情報的孤立化を増長してることを自覚すべき
0300デフォルトの名無しさん
垢版 |
2018/07/21(土) 09:53:41.15ID:Il2/ph37
翻訳は原文に絶対勝てないのになぜ翻訳するのか
逆に英語に翻訳したくなる日本語を話せよ
0303289
垢版 |
2018/07/21(土) 13:54:28.14ID:v6sdAyo6
>>296
もちろん分かっちゃいるんだけど
思ってたよりオワコン化してるのかとかいう
イメージを持っちゃうんだよなあ。
勉強し始めでこういうの見ると。

python始めたばかりの頃もググると最初に出てくるpython.jpで
欲しい情報探すのに遠回りさせられた記憶あるしなあ。
0307デフォルトの名無しさん
垢版 |
2018/07/21(土) 19:26:46.82ID:H7sr1dU3
あー、なるほど
エイチレス発音のやつですね
声を喉からつむじの方に吹き抜けさせるイメージで発音する
ハトゥムル、ゥムの部分が重要ですね、語学的な意味で
0320デフォルトの名無しさん
垢版 |
2018/07/23(月) 23:05:25.99ID:83b6blUP
D言語くんはマシな方では。Gopher、Lispエイリアンが飛び抜けてキモい
Delphiのアテナでも眺めてよう
0325デフォルトの名無しさん
垢版 |
2018/07/23(月) 23:52:12.28ID:4yZfVTLQ
>>323
ちんこやん
0328デフォルトの名無しさん
垢版 |
2018/07/24(火) 06:53:51.63ID:/29QH+cl
>>327
あのマスコットはたしか非公式だったはずだからセーフ
てか、言うほどキモくないと思うが…
0331デフォルトの名無しさん
垢版 |
2018/07/24(火) 08:31:35.34ID:NIdxQzj1
ロゴは割りとどれもクールでいいんだよ
マスコットは大概きもい
一番キモいのはTomcat
0332デフォルトの名無しさん
垢版 |
2018/07/24(火) 09:02:14.12ID:ADMiai/B
Hadoopのマスコットとロゴ好き
あのゾウ単独だとぶん殴りたくなるけどロゴ全体で見るとパロディっぽくポップにまとめてあるおかげで愛嬌のある顔に見える
0335デフォルトの名無しさん
垢版 |
2018/07/24(火) 17:18:22.08ID:YqCWjlto
たしかにgoと比べたらc++のほうがスイートだね
0338デフォルトの名無しさん
垢版 |
2018/07/25(水) 00:12:17.81ID:jJE6vUMf
スレ違だけど最近javaからの移行でc++使い始めたわ
わりといいかなーと思ってる
win32api使いにくくね?
0341デフォルトの名無しさん
垢版 |
2018/07/25(水) 00:26:36.44ID:jJE6vUMf
んんんそのとおりだ…
ぶっちゃけいうとWin32apiが頭のなかでスパゲッティになってる
C#もやってみるわありがとす
0344デフォルトの名無しさん
垢版 |
2018/07/25(水) 00:55:47.82ID:ZMLutfsH
javaの連中の時は止まったままなのさ
0347デフォルトの名無しさん
垢版 |
2018/07/25(水) 01:29:26.23ID:3cA2KjAW
連日40度を超えるモ〜レツな熱量を電気エネルギーに変換するプログラムとかおまいら書けないの?
次世代だの世界を変えるだの言ってる割りに、おまいらって無力だよなw
0348デフォルトの名無しさん
垢版 |
2018/07/25(水) 01:57:01.52ID:C9Z8nM4a
熱はエネルギーのゴミと言われており、もっとも利用しにくいエネルギー形態の一つだ
0350デフォルトの名無しさん
垢版 |
2018/07/25(水) 02:37:12.57ID:rmgHkEap
 \                    /
   \  丶       i.   |      /     ./       /
    \  ヽ     i.   .|     /    /      /
      \  ヽ    i  |     /   /     /
   \
                                  -‐
  ー
 __           わ た し で す           --
     二          / ̄\           = 二
   ̄.            | ^o^ |                 ̄
    -‐           \_/                ‐-

    /
            /               ヽ      \
    /                    丶     \
   /   /    /      |   i,      丶     \
 /    /    /       |    i,      丶     \
0353デフォルトの名無しさん
垢版 |
2018/07/25(水) 03:48:23.07ID:jjgXfWxH
>>341
UI はWindowsならC#、AndroidならJava、iOSやMacならSwiftで書いて
これはどう考えてもマルチプラットフォームにしたいでしょ
3度も書きたくないしというところだけC++で書くと良いですよ
0356デフォルトの名無しさん
垢版 |
2018/07/25(水) 07:40:02.07ID:TPQazvuH
>>345
今はクロスプラットフォームでオープンソースな.NET Coreがある
オラクルがソースコードをGPLで「リリース」しているだけの○penJ○Kとは違い、
本当にコミュニティベースでMSが参加する形で開発してるしライセンスがMITだしMSからは形式上切り離された非営利団体が権利を持つ形になっている
0358デフォルトの名無しさん
垢版 |
2018/07/25(水) 08:19:47.20ID:HwnrNSAw
JVMの新言語はさすがにもう今後一切出てこない(出ても流行らない)だろうな
手っ取り早く新言語作って既成のエコシステムに乗せるなら.NET Coreはアリかも
コマンド一発でVMごとバンドルできるからそれほど.NET意識しなくていいし
0359デフォルトの名無しさん
垢版 |
2018/07/25(水) 08:24:56.75ID:rGw3w+9D
>>358
ほー。なんか良さげに聞こえるけどvm上で動かすことにメリットあるの?
goで良いじゃんって思ってしまうんだが
簡単にプラットフォームごとにビルド出来るし。
0360デフォルトの名無しさん
垢版 |
2018/07/25(水) 08:39:17.95ID:HwnrNSAw
>>359
goでいいならいいけど他の言語が使いたいならgoのライブラリ使えないでしょ
新しい言語を作ってオナニーしたくても、最低限の実用性を持たせるためにライブラリまで一から作り上げるのはハードルが高すぎる
.NETは元々クロスランゲージを標榜して開発されたから、特定の言語に依存した変な制約はJVMに比べても少なくて、オナニー言語の実装には最適
0361デフォルトの名無しさん
垢版 |
2018/07/25(水) 10:23:24.80ID:fluzsiZw
まーたM$信者が出張ってきたよ
翻訳の改善をコーディングスタイルでリジェクトして炎上してることへの火消しか?

この間はコミッタの名前をsquashして開き直りかましてたし
ほんとお前らがオープンソース活動とかOracle未満なんだよ反吐が出る
0362デフォルトの名無しさん
垢版 |
2018/07/25(水) 10:29:08.43ID:fluzsiZw
>>356
コミュニティベース(実態は都合の悪いことは燃えない聞こえない)
形式上切り離された非営利団体(ただの節税対策の天下り先)
ライセンスがMIT(今後特許を主張しないとは言ってない)
0363デフォルトの名無しさん
垢版 |
2018/07/25(水) 10:40:22.80ID:za88g2Xk
>>360
ライブラリを作り上げる程度なら無力レベルでもできるぞ
作ったものに課金して儲けるのがハードル高い
monoも無料になった時点で無力レベル
0370デフォルトの名無しさん
垢版 |
2018/07/25(水) 21:11:06.64ID:ZMLutfsH
MSの最近のOSSへの貢献度をみればありがてぇと思うけどな

>>359
goはゴミだもの
0375デフォルトの名無しさん
垢版 |
2018/07/25(水) 23:20:52.20ID:qq3eZVKm
>>371
受付の姉ちゃんに絡むような真似してアホかよ
こんな連中が増えるなら日本語翻訳なんか全部やめるべきだな
0377デフォルトの名無しさん
垢版 |
2018/07/26(木) 07:17:20.09ID:shfmC2IZ
私物化?また被害妄想?
0378デフォルトの名無しさん
垢版 |
2018/07/26(木) 08:02:32.45ID:VsLQTYyL
善いことをしたのに処刑された聖人もいるからな
処刑なんてただの被害妄想に決まってるという信念があるから聖人になれるんだな
0383デフォルトの名無しさん
垢版 |
2018/07/26(木) 11:11:47.17ID:GgEIwI9D
>>382
オプソフレンドリーなことを言っておいて
オプソのプロセスよりも社内のプロセスを優先させて
コントリビュータとの対話を一方的に切断するところ。
0384デフォルトの名無しさん
垢版 |
2018/07/26(木) 11:44:13.61ID:+YLmze6V
ドキュメントの翻訳などという機械的な単純作業プロセスを開発とごちゃまぜにして外に公開したのが間違いでしょ
いちいち個別に対応してたらキリがない
0389デフォルトの名無しさん
垢版 |
2018/07/26(木) 16:02:41.98ID:aEpW7KYl
プロセス自体もアレだが、
裏でエバンジェリストに叩かせるってやり方がもうMSを象徴してる
0390デフォルトの名無しさん
垢版 |
2018/07/26(木) 16:04:19.08ID:aEpW7KYl
これよりMSが関わる言語は次世代言語の選択したり得ないことを提唱

当スレでは.NET系言語、Typescriptの話題を禁ず
0392デフォルトの名無しさん
垢版 |
2018/07/26(木) 20:26:28.81ID:1GO/F9JV
MSが関わってない言語しか使わない君は一体どんな仕事をしているの?
なでしこでホームページでも作ってるのかな?
0395デフォルトの名無しさん
垢版 |
2018/07/26(木) 22:09:21.78ID:/vEGowUn
プログラマーとは思えない可愛いレッテル貼りだな
0396デフォルトの名無しさん
垢版 |
2018/07/26(木) 22:38:06.96ID:R0/DrMDw
やっぱりどの言語もライブラリがまだ全然足りてないな。もうちょっとましになってから勉強したい。
0399デフォルトの名無しさん
垢版 |
2018/07/26(木) 23:20:16.94ID:/vEGowUn
無ければ作るんだろ
そのためにプログラマになったんじゃないの
0402デフォルトの名無しさん
垢版 |
2018/07/27(金) 00:13:00.72ID:A3iaMhaK
能率は悪いが完全に無駄だというわけでもない

まぐれで前任者のものよりもっといいのができるかもしれない
0404デフォルトの名無しさん
垢版 |
2018/07/27(金) 01:16:22.09ID:DQ/IIgai
Webkit だの libavformat だのを各言語でまた作るなんてあり得ないから
ライブラリはどの言語からも使える c/c++ でいいよ
0408デフォルトの名無しさん
垢版 |
2018/07/27(金) 06:45:39.56ID:+hWa03DZ
>>396
どんな言語を勉強しても無駄にはならんよ
時間がかかるのは言語の習得じゃなくて、いろんなアルゴリズムを理解することだからね
0409デフォルトの名無しさん
垢版 |
2018/07/27(金) 06:56:08.67ID:iaaPZbOX
>>400
javaとか勘弁
0410デフォルトの名無しさん
垢版 |
2018/07/27(金) 08:12:37.82ID:BgbV5sVA
>>409
別にJava書けとは言ってないんだよなあ
Kotlin側から気にするのはJava側が引数にnull受け入れるか、戻り値にnull吐くかどうかだけ

JVM自体が????が嫌いというならどうしようもないけど
0411デフォルトの名無しさん
垢版 |
2018/07/27(金) 08:40:05.58ID:iaaPZbOX
んだ、jvmがウンチだ
恥ずかしくて使えないよな
kotlinも頑張ってkotlin nativeを完成させて欲しい
0414デフォルトの名無しさん
垢版 |
2018/07/28(土) 14:37:35.99ID:XhNeQ3He
もうDartはそっとしておいてあげてください
たまに気紛れで棺桶から引っ張り出してぶん殴るのはやてめください
0416デフォルトの名無しさん
垢版 |
2018/07/28(土) 15:13:00.14ID:XhNeQ3He
梯子外しの常習犯という意味では目糞鼻糞だけど、それに対して適正な批判を受けていない点で圧倒的にGoogleだろうな
批判を情報操作によって封殺してきたわけだから
0417デフォルトの名無しさん
垢版 |
2018/07/28(土) 18:11:31.06ID:11whM//L
わからないことは正直にわからないと言うやつが信用できる
どんな質問にも答えようとするやつと答えさせようとするやつは信用できない
0423デフォルトの名無しさん
垢版 |
2018/07/29(日) 09:56:53.41ID:tB0h0B46
学歴高い連中にはpythonがイケてる事が分かっちゃうんだよね
綺麗なところと汚いところのバランスが取れてるところとかさ
だからAIで流行っちゃう

pythonの良さが分からない底辺ドカタはシンタックスの重箱の隅をつつくのに夢中だけどね
0424デフォルトの名無しさん
垢版 |
2018/07/29(日) 10:01:04.81ID:Df5F+309
継続最強伝説からモナド最強伝説に移行するところで大多数が挫折しただけだろ
0427デフォルトの名無しさん
垢版 |
2018/07/29(日) 10:40:49.33ID:4MUmFrCs
C言語で書かれたpythonライブラリがイケてるのであって、言語としてのpythonは全然イケてないぞ
0431デフォルトの名無しさん
垢版 |
2018/07/29(日) 11:15:18.90ID:gNiJKIOF
[JavaScript]
a.sort().reverse().map(x => x.toString()).join(“-“)

[Python]
'-'.join(map(lambda x: str(x), reversed(sorted(a))))


うーんこのウンPy
0432デフォルトの名無しさん
垢版 |
2018/07/29(日) 11:17:50.59ID://sAdRxp
結局言語のしょうもないシンタックスについてあーだこーだ言っても意味ねーわって話だな。
インストールの容易さとか実行環境だったりモジュール管理の容易さだったり
そういったところの影響のがでかいってのがpythonが流行ってる理由だろ。
0433デフォルトの名無しさん
垢版 |
2018/07/29(日) 11:37:40.49ID:HPChxVcI
でもPythonのシンタックスに満足してないのは事実なので、Pythonの良いところを全部持った上でシンタックスも良い言語が来たら嬉ぴい
0435デフォルトの名無しさん
垢版 |
2018/07/29(日) 11:47:17.92ID:gNiJKIOF
__init__.py (笑い)
sys.path.append(木亥火暴)


実行環境だったりモジュール管理の容易さだったり藁藁藁藁藁藁藁藁

大草原か?
0436デフォルトの名無しさん
垢版 |
2018/07/29(日) 11:51:28.16ID:lzRBxehA
Pythonは好きだが、MercurialがGitに負けたのは正直Pythonのせいだと思う
Rubyもそうだけど広く使われるツールに使うもんじゃない
0437デフォルトの名無しさん
垢版 |
2018/07/29(日) 11:56:21.18ID:I6LJ2IHq
>>433
というか、(RoR以前に)rubyが受けた理由がそういう感じだったと思う。
pythonのシンタックス以上にrubyに気に入らない点があるなら仕方がないが。
0438デフォルトの名無しさん
垢版 |
2018/07/29(日) 11:59:05.77ID://sAdRxp
>MercurialがGitに負けたのは正直Pythonのせいだと思う
Mercurialの設計がまずかったとしか言いようがないがな。
コンフリクト修正のためのresolveの不自然さとかコミットツリーの修正ができないところだったり
使っていると普通に問題になる。
gitの設計はよくできてると思うよ。

>sys.path.append
こんなものを容易にソースに入れる奴はディレクトリ管理自体ど下手くそなだけで
どんな言語でもクソなことやり出すと思うがな。
0443デフォルトの名無しさん
垢版 |
2018/07/29(日) 12:19:06.63ID://sAdRxp
リスト内包がクソなコード生みやすいってのは賛同するが
多分そういうクソコードを書くやつがruby、perlで書くともっととんでもないキメラコードを作成する。
0446デフォルトの名無しさん
垢版 |
2018/07/29(日) 12:30:59.85ID:OtuHAjKj
pythonが流行ってるというかnumpyが流行ってるだけでしょ
0448デフォルトの名無しさん
垢版 |
2018/07/29(日) 13:14:09.48ID:pFjYaTQt
Python は、メソッドチェーンしにくい。
Ruby, JavaScript, jQuery では、a.b().c() みたいに書けるけど、
Python では、逆に書く

c( b(a) )

オブジェクト指向からすると、突っかかる。
自然に読めない。
思考が乱されるから、バグりやすい

a のインスタンスに、b を適用して、
その結果に、c を適用する

これが自然
0449デフォルトの名無しさん
垢版 |
2018/07/29(日) 13:19:55.26ID:2jsBPgao
>>448
pythonでもそういうメソッドを作ればメソッドチェーンにできるけど、一行にだらだら書くべきじゃないという思想的な問題のせいで、そういうメソッドが用意されてないだけだよね。
0451デフォルトの名無しさん
垢版 |
2018/07/29(日) 13:54:46.41ID:gNiJKIOF
> 一行にだらだら書くべきじゃない

a = unko()
b_result = b(a)
c_result = c(b_result)

あっ、ふーん・・・
0452デフォルトの名無しさん
垢版 |
2018/07/29(日) 13:55:33.44ID:HPChxVcI
>>448
オブジェクト指向というより、パイプラインじゃねえの?
Objective-Cにもそんなチェーンはなかったと思うが
0453デフォルトの名無しさん
垢版 |
2018/07/29(日) 13:55:46.89ID:gNiJKIOF
言うほど読みやすいか?
こんなの書いてくるやついたら草生やしてしばき倒すでフツウ
0455デフォルトの名無しさん
垢版 |
2018/07/29(日) 14:05:24.19ID:UcWx6ddp
見当違いの批判をされてもAI分野で圧倒的に支持されてるのは変わらないから
ドカタが嫉妬してるだけに見えるんだよね
0456デフォルトの名無しさん
垢版 |
2018/07/29(日) 14:08:42.69ID:I6LJ2IHq
関数型言語の関数チェーンはともかく、メソッドチェーンは似て非なるゴミ。
0458デフォルトの名無しさん
垢版 |
2018/07/29(日) 14:20:05.39ID:gNiJKIOF
[JavaScript]
a
.sort()
.reverse()
.map(x => x.toString())
.join(“-“)

[Python]
'-'.join(map(lambda x: str(x), reversed(sorted(a))))

下は書く気にもならん
補完も効かないし

パイソニップさあ・・・このウンコードはなんだい?
0459デフォルトの名無しさん
垢版 |
2018/07/29(日) 14:20:50.80ID:gNiJKIOF
パイソニップさあ・・・
JavaScript以下、ウンポコペチプー並とか
恥ずかしくないのかい?
0460デフォルトの名無しさん
垢版 |
2018/07/29(日) 14:22:50.50ID:Df5F+309
これは数学が悪い
関数はあるのにメソッドがない
ラムダやmapは教えないくせに内包表記は教える
0461デフォルトの名無しさん
垢版 |
2018/07/29(日) 14:23:03.09ID:++hEM/7+
冗長なコードを美徳として可読性の高さを謳っているのは
Python だけじゃなく、同じ手続き型言語の Cobol がある

たとえば >>455 を改変してみると:
  見当違いの批判をされても業務アプリ開発の分野で
  (Cobol が)圧倒的に支持されてるのは変わらないから
  ドカタが嫉妬してるだけに見えるんだよね

仮にこんな感じでコボラが主張したとしても、なんら違和感がない

つまり現在に復権したコボラの正統後継者がフェイトニスタってこと
0463デフォルトの名無しさん
垢版 |
2018/07/29(日) 14:26:32.00ID:++hEM/7+
>>456
COBOL では、まさしくそのとおりですね
まぁ実際には、GBどころかTB単位の夜間バッチですけど
0464463
垢版 |
2018/07/29(日) 14:28:12.27ID:++hEM/7+
アンカを訂正:
  X:>>456
  O:>>457
0467デフォルトの名無しさん
垢版 |
2018/07/29(日) 15:04:42.51ID:gNiJKIOF
>>466
はいガイジ
全てのメソッドチェーンは副作用ないよ
くそパイソニップと違ってね

悔しかったら糞糞糞内包糞記で糞してみろよゴミw
0468デフォルトの名無しさん
垢版 |
2018/07/29(日) 15:06:36.51ID:CvskUGg1
メソッドチェーンってそんないいもんかね?
可読性がいいとも思えないけど
0472デフォルトの名無しさん
垢版 |
2018/07/29(日) 15:22:51.12ID:zv0scSBW
var a = new Array(4, 11, 2, 10, 3, 1);

var b = a.sort();
//var b = a.sort().reverse();

これでaの結果が異なるってマジクソだろ。
0476デフォルトの名無しさん
垢版 |
2018/07/29(日) 15:49:55.75ID:gNiJKIOF
副作用が糞
メソッドチェーンはフツウに良い
パイソニップ≒コボラー

これが結論
0478デフォルトの名無しさん
垢版 |
2018/07/29(日) 16:09:52.04ID:EbPqex13
メソッドチェーンがぱっとわかりやすいのも分かるが
リスト内包はリスト内包で数学やってりゃわかる可読性がある

リスト内包がわからんってわめき散らすの無知晒してるだけだからやめた方がいい

それはそれとしてPythonはもっと関数を横に繋げられるようにしてくれ
Elixirのパイプ演算子みたいな感じでさあ
0480デフォルトの名無しさん
垢版 |
2018/07/29(日) 16:21:10.67ID:ikK7Yp3X
数学wwwwwwwwwwwwwwww
すwwwwwwすううっがくwwwwww
あれwwwwすうがくやったんけwwwww
0481デフォルトの名無しさん
垢版 |
2018/07/29(日) 16:33:06.78ID:/TApOH16
A = {2x + 5 | x ∈ N}
とかな。見たことあるだろ?

リスト内包はこの延長
こんなんもわからんで批判してたんかい
0484デフォルトの名無しさん
垢版 |
2018/07/29(日) 17:33:47.60ID:yV15yOGY
あーもう
どこの板にもこういうキチガイ湧くんだよな
煽りカスでどっちにも有益にならないから放置安定よ
0485デフォルトの名無しさん
垢版 |
2018/07/29(日) 19:13:52.55ID:Df5F+309
物欲はなくて支配欲だけがあるのが問題なんだろう
買いたい物がない人間が一体何のために利益を出すのか
益が少ない者を見下したり支配したりするためでしょ
0486デフォルトの名無しさん
垢版 |
2018/07/29(日) 19:22:52.13ID:eTX7oAdY
お前ら次世代言語の話をしなさいよ
俺はRockstarをお勧めするぞ
プログラムであり自己表現でもある
0487デフォルトの名無しさん
垢版 |
2018/07/29(日) 19:42:52.49ID:eDBn37vJ
言語の内容は一切しらないが
名前が商品っぽくてギーク臭がしないから、その言語ははやらないだろう
0491デフォルトの名無しさん
垢版 |
2018/07/29(日) 22:06:47.14ID:GVyD60rv
多言語を批判するならお互いが同じ例題でソース書き比べたらええやん
ずっとごちゃごちゃ言ってるやつってソースもごちゃごちゃしてそうw
0495デフォルトの名無しさん
垢版 |
2018/07/29(日) 22:25:11.28ID:uE0dE1bw
>>491
書き比べはそれはそれでもめるんよ
言語ごとの推し抽象化手法(有り体に言えば得意分野)が違うから同じの書かせつつ公平にはしにくいし
オーバーラップする領域ではライブラリーのAPI叩くだけのHelloWorldレベルのコード比較に終始してしまう
0498デフォルトの名無しさん
垢版 |
2018/07/29(日) 22:58:30.53ID:GVyD60rv
>>495
なるほどね触れた俺がアホだったわすまんなw
NG入れて見ないようにすればいいだけだしなw
読解力のないIQ低すぎる奴とは会話が噛み合わないから仕方ないなw
0500デフォルトの名無しさん
垢版 |
2018/07/30(月) 00:09:51.52ID:15o6QT6I
なんでpythonの話になっとるんだ
rustの話が尽きたからか
0501デフォルトの名無しさん
垢版 |
2018/07/30(月) 00:20:26.08ID:cSovQdPN
批判っていうか評論も一つの作品だよな
漫画や小説なら良いが評論は悪いという価値観を押し付けるから揉めてるんじゃないか
0504デフォルトの名無しさん
垢版 |
2018/07/30(月) 22:36:49.52ID:15o6QT6I
数学やってりゃ分かるってのは高級言語にとって正当性の担保にならんと思うんだけど
pythonはスクリプトを書くためにあってアプリケーションを書くには向いてないよ
0505デフォルトの名無しさん
垢版 |
2018/07/30(月) 23:30:08.44ID:BCmT78P/
pythonはスクリプトやアプリケーションとかじゃなくてapiとかライブラリとかじゃないか?
0506デフォルトの名無しさん
垢版 |
2018/07/31(火) 02:24:31.97ID:6M1+k6px
スクリプトは後で修正するためにある
正当性の担保ってのがなくても後で修正すればいいと思ってる
だからスクリプトはズル
本物のアプリケーションはズルをしない
0507デフォルトの名無しさん
垢版 |
2018/07/31(火) 06:32:08.41ID:rMUR8HCB
androidアプリ開発でGUデザインに拘りたいとしたら
どんな言語がいいでしょうか?
0514デフォルトの名無しさん
垢版 |
2018/07/31(火) 12:16:30.29ID:MCiT+aJj
>>509
.NetのC#以外は死んでるようなものだし
C#も半端な位置で留まってるから話題にならんのだろ
他バッサリ切ってC#に注力すればいいのにな
0516デフォルトの名無しさん
垢版 |
2018/07/31(火) 13:56:56.90ID:zoworXJJ
>>504
たしかに、そのとおりです

たとえば数学でいう直積(direct product あるいは cartesian product)の
プログラミング言語上の表現を、一般的には「タプル」と呼んでいる
もちろん ML や Haskell に代表される厳格な型システムを前提に設計された
言語の代数的データ型を持ち出すまでもなく、直積と直和の概念は
計算における数学上の概念の中で基本中の基本です

それにもかかわらず Python では、単なる不変(immutable)な配列に対して
公式文書でこともあろうか「タプル」と命名し、驚くなかれ「1要素のタプル」
といふ数学の概念を超越したリテラル構文を定義しちゃいました
世界的に普及している/していた言語は数多くありますが、こんな命名や
リテラル定義が存在するのは、後にも先にも Python だけ、唯一無二の存在です

まさに Python の設計哲学とは;
  スクリプト言語にとって数学なんてクソ
といふことなんでしょうね
0517デフォルトの名無しさん
垢版 |
2018/07/31(火) 14:34:58.99ID:U3QRqLaV
直積集合がタプルじゃなくて直積集合の要素がタプルな
んでもってn個の集合の直積を考える場合普通n=1は除外しない
0518デフォルトの名無しさん
垢版 |
2018/07/31(火) 15:00:19.27ID:zoworXJJ
>>478
あのぅメソッドチェーンとは異なり、内包表記というのは
決して万能な道具ではないんですけど、ご存知ですか?

内包表記というのは、高階関数 map/filter とジェネレータという
三つの要素を簡潔に表現できる構文糖でしかありませんから、
内包表記では表現できない課題も数多く存在します
ですからたとえば Haskell では内包表記を提供する一方で、
ポイントフリーといふ関数を繋ぐ流れるようなスタイルでも書けます
つまり「メソッドチェーン vs. 内包表記」という対決の図式は成り立ちません

これでもまだ「リスト内包がわからんってわめき散らすの無知晒してるだけ」と
騒ぎたいなら、以下のお題(>>430-431)を内包表記だけで書いてみてください

 '-'.join(map(lambda x: str(x), reversed(sorted(a))))

>>478氏が無知でなければ、内包表記でサラッとエレガントなコードを書けますよね?
ちなみに以下のような三重にカッコが入れ子になった醜いコードは勘弁してくださいね

 '-'.join(str(x) for x in reveresed(sorted(a)))
0519デフォルトの名無しさん
垢版 |
2018/07/31(火) 15:33:57.86ID:zoworXJJ
>>517
>n個の集合の直積を考える場合普通n=1は除外しない

ええ、それが Python 村の中では「普通」で常識なんですよね
でも Python 村から一歩外に出れば:
  n個の集合の直積を考える、ここで n>=2
が「普通」なんですけど、ご存知でしたか?

たとえば手元の教科書(*1)だと、直積は以下のように定義されています
・2つの集合の直積 A × B = { <x, y> | x <- A, y <- B }
・3つの集合の直積 A × B × C = { <x, y, z> | x <- A, y <- B, z <- C }
・4つの集合の直積も同様に定義される
この本では n=1 は定義されていないし、個人としても定義のしようがないと考えます
で、ML/Haskell/Erlang/Prolog といったタプルというデータ構造が存在する言語でも、
「普通」n=1の直積を除外しており、これが世間の常識です
ちなみに「Python村の常識、世間の非常識」といふ格言、聞いたことありませぬか?

ところで、もちろん内包表記はご存知ですよね?
知らないと>>478氏に「無知晒してる」と嗤われちゃいますよ

*1:論理と計算のしくみ
  https://www.amazon.co.jp/dp/4000061917/
0521デフォルトの名無しさん
垢版 |
2018/07/31(火) 16:12:57.41ID:zoworXJJ
>>520
>n=1もあるしn=0もある
>n=0は直積の単位元いわゆるunit

たしかに Python 村の中では、n=0 も除外しないのが「普通」ですね

で、静的型付け言語の ML/Haskell では単位型(unit)として定義され
タプル型とは明確に区別されていますし、動的型付け言語では
nil という特別なアトムで表現することが多く、これが世間の常識です
ちなみに「Python村の常識、世間の非常識」といふ格言、聞いたことありませぬか?

ところで、もちろん内包表記はご存知ですよね?
知らないと>>478氏に「無知晒してる」と嗤われちゃいますよ
0522デフォルトの名無しさん
垢版 |
2018/07/31(火) 17:08:51.40ID:LX5aJa12
>>516
なんだか随分と力んでいるみたいだけれど

> それにもかかわらず Python では、単なる不変(immutable)な配列に対して
> 公式文書でこともあろうか「タプル」と命名し、驚くなかれ「1要素のタプル」
> といふ数学の概念を超越したリテラル構文を定義しちゃいました
> 世界的に普及している/していた言語は数多くありますが、こんな命名や
> リテラル定義が存在するのは、後にも先にも Python だけ、唯一無二の存在です

いや、そういうことを言い出せば同じ引数の値で呼び出しても返す値が同じになるとは限らないCなどの「関数」“function”は数学における関数の概念とは全く違う破廉恥極まりない命名だとなるよ
そもそも手続き型プログラミング言語やオブジェクト指向プログラミング言語での「変数」“variable”と呼ばれているものもも数学の変数とは全く異なる
(例えば、それらの言語で書かれたプログラムの検証を考えるとその問題があからさまになる)

つまりプログラミング言語での用語は数学の用語を借りて使ってはいるが数学でのその用語の表していた概念を尊重しているとは限らないということだ
そういう例、つまり数学用語を数学での概念を尊重しない形でプログラミング言語の世界で借用してしまっている例は探せばいくらでもあるだろう
0523デフォルトの名無しさん
垢版 |
2018/07/31(火) 17:40:46.67ID:vAluDZRs
そもそも = が代入って時点で数学と違うんだから
いちいち「厳密な定義がー」いう方がどうかしてる。
0524デフォルトの名無しさん
垢版 |
2018/07/31(火) 17:55:08.00ID:zfxDeDFf
普通にWikipediaでタプルをしらべたら一要素のタプルの事をシングルというと
書いてあるのだがwww
0525デフォルトの名無しさん
垢版 |
2018/07/31(火) 18:08:24.59ID:zoworXJJ
>>522
数学の定義や数式を計算機上で実行するには、
必然的に「解釈」という(あるいは「評価」とも呼ばれる)プロセスを伴いますから、
数学の概念とプログラミング言語との間に乖離(かいり)が存在するのは一般論ですし、
その為に計算機工学という分野で研究成果が積み重ねられてきました

もちろんこうした乖離は一般論ですから、例を探せばいくらでも挙げられるでしょう
たとえば「n個の直積を考える」場合に数学では n=1 や n=0 を除外しないモデルを
構築することは可能ですが(>>517,521)、計算機工学の研究成果を元に設計された
言語だと「n個の集合の直積を考える、ここで n>=2」が暗黙のうちに認知されています
(なぜなら n=1 または n=2 の直積は、一般的には形式的に定義できない為)

ところが、こうした計算機工学の成果である n>=2 を無視し、
そんなのどうでもいいとばかりに「単なる不変な配列をタプルと命名する(>>516)」といふ
深淵の淵へ自ら飛び込んだ稀有な例が Python といふ次世代言語なんですよ

もしも「他のあらゆる言語では計算機工学の常識に沿って設計しているのに、
ある特定の言語ではそれを無視している」という具体例があれば、ご教示願います
たとえば「Python におけるタプルの命名」は、他の言語には見られない唯一無二の例です
0526デフォルトの名無しさん
垢版 |
2018/07/31(火) 18:21:46.76ID:zfxDeDFf
A = { x | x <- A}
A × B = { <x, y> | x <- A, y <- B }
普通に定義できるがwww
0527デフォルトの名無しさん
垢版 |
2018/07/31(火) 18:36:17.24ID:zoworXJJ
>>478
>それはそれとしてPythonはもっと関数を横に繋げられるようにしてくれ
>Elixirのパイプ演算子みたいな感じでさあ

いや、新たにパイプ演算子みたいな構文を追加しなくても、
オブジェクト指向言語の Python であれば、メソッドチェーンで実現できるよ
だって、Python を除く今時のオブジェクト指向言語では実現できていますから
その具体例が >>430 のリンク先のブログ主様が書いた簡潔なライブラリです

問題は、「なぜこれをやろうとしないのか?」という点です
もちろんライブラリの後方互換性は失われますが、
python2 から python3 で致命的な「後方互換性の断絶」を断行したのが
Python ですから、一貫性のあるAPIを提供するライブラリへの刷新もできたはず

さらに根本原因にさかのぼれば、「なぜ最初から一貫性のあるAPIを設計しなかったのか」
といふ疑念に突き当たります
だって、Python を除く今時のオブジェクト指向言語では設計できていますから

最後に背景原因を考察すると、Python 作者のGuido氏が:
  API の設計において一貫性などはクソ
と考えていたのか、それとも:
  オブジェクト指向が流行っていたから行き当たりばったりに設計した、
  今は後悔している
と考えているのか興味深い
0528デフォルトの名無しさん
垢版 |
2018/07/31(火) 18:45:34.71ID:zoworXJJ
>>526
>A = { x | x <- A}

えぇとぉ、{ x | x <- A} というのは単に集合 A を内包的に定義してるだけですから、
それは「1個の集合Aから構成される直積」ではなく単に「単純集合A」を定義してるだけです

あぁそうか、フェイトニスタには内包表記うんぬん以前に、数学の教養が欠けているのですね
ついうっかりしておりまして、大変失礼をば致しますた
0529デフォルトの名無しさん
垢版 |
2018/07/31(火) 19:00:43.13ID:zoworXJJ
うっかりミスを訂正:
  >>525
  X:>(なぜなら n=1 または n=2 の直積は、一般的には形式的に定義できない為)
  O:>(なぜなら n=1 または n=0 の直積は、一般的には形式的に定義できない為)
0530デフォルトの名無しさん
垢版 |
2018/07/31(火) 19:04:21.79ID:zfxDeDFf
定義するのに集合と同じ定義では同じでは駄目というルールはないから間違っては無いwww
ちなみにn=0の直積は1元集合として定義できるとWikipediaにかいてあるwww
0532デフォルトの名無しさん
垢版 |
2018/07/31(火) 19:36:15.75ID:zfxDeDFf
正式な定義だと、直積の要素はペアの中にペアがある構造じゃないと駄目www
A × B × C = { <x, y, z> | x <- A, y <- B, z <- C }
↑の定義があってるのは日本のWikipediaだっけでしたwwww
これを使うにはn-fold Cartesian productという直積を拡張した奴じゃないとだめでした残念www
とくにn=1の時はそのままA=Aとちゃんとした本に書いてあるwwww
0533デフォルトの名無しさん
垢版 |
2018/07/31(火) 19:38:51.12ID:xC1/ia91
今までの流れをまとめるとpythonはクソ。
TypeScriptが最強。という理解でよいでふか?
0534デフォルトの名無しさん
垢版 |
2018/07/31(火) 20:41:56.45ID:CfkG900T
rustが最強
が正しい
0535デフォルトの名無しさん
垢版 |
2018/07/31(火) 21:51:57.40ID:vpErkqT1
メソッドチェーンでもリスト内包でも異常なまでのテンポラリ変数嫌悪を感じるのだが、
無理にそんな書き方するくらいならテンポラリ変数使えや。
0536デフォルトの名無しさん
垢版 |
2018/07/31(火) 22:05:54.62ID:CfkG900T
メソッドチェーンは無理なく書けるでしょ
変数はバグの餌だから忌諱するのは当然
0537デフォルトの名無しさん
垢版 |
2018/07/31(火) 22:09:04.65ID:4i5flEMB
変数があって嬉しいのはデバッガでステップイン実行するときだけだな
そろそろステップの概念を卒業した新発想のデバッガが必要な時期にきてると思う
0538デフォルトの名無しさん
垢版 |
2018/07/31(火) 22:10:09.78ID:/w6/tE8P
一時的な内部処理でまでステートを毛嫌いする純粋病の関数型信者と似ている
0539デフォルトの名無しさん
垢版 |
2018/07/31(火) 22:14:45.36ID:hpcufxDD
お前らみたいなドカタなら兎も角、数学者がn=0やn=1に自然に拡張できる定義をn>=2に限定するわけないじゃん
ドカタここに極まれりだな
0541デフォルトの名無しさん
垢版 |
2018/07/31(火) 22:23:11.93ID:CfkG900T
プログラマならバグの素を毛嫌いするのは当たり前じゃん
あくまでリーダビリティを損ねない範疇でだけども
0542デフォルトの名無しさん
垢版 |
2018/07/31(火) 22:24:35.12ID:omk/SwPI
>>540
途中でクラスが変わるようなメソッド呼び出しを10個も20個もチェインするヤツは知らんが
コレクションに対する操作を数個チェインするぐらいは別に普通じゃね
0543デフォルトの名無しさん
垢版 |
2018/07/31(火) 22:27:24.42ID:10MH4XIN
>>539
ちゃうやろおっさん
型理論的にはn>=2に拡張するために持ち出すのがpair
なのでn=0,1にpairを持ち出す必要がない
別の言い方をすると型理論的にはAと<A>は同じ
そこを区別するのがアドホックにpairを導入した言語ということ
組み込みの土方より
0544デフォルトの名無しさん
垢版 |
2018/07/31(火) 22:35:12.06ID:omk/SwPI
>>541
たとえばコレクションのフィルター関数を実装するようなときに
一時的にミュータブルなコレクション作ってループ回して最後にイミュータブルにして返せばいいようなものを
最初の要素が条件満たさなかったらそれを落とした新しい不変コレクション作って返す関数の再帰で書くようなゴミが純粋病
0545デフォルトの名無しさん
垢版 |
2018/07/31(火) 22:37:48.27ID:vpErkqT1
>>541
バグの元の一番大きなものは可読性のなさだぞ。
測りにくいものを一切無視するのがこの手の輩のダメなとこだな。
0546デフォルトの名無しさん
垢版 |
2018/07/31(火) 22:39:01.83ID:CfkG900T
>>544
なにそれこわい
それってなんというテクニックなの?
0547デフォルトの名無しさん
垢版 |
2018/07/31(火) 22:39:55.17ID:CfkG900T
>>545
だから可読性を損ねてはならないって書いてるじゃん
俺のレスは可読性低かったか?
0548デフォルトの名無しさん
垢版 |
2018/07/31(火) 22:43:24.72ID:10MH4XIN
>>542
コレクションの操作ってのが具体的にどういうのかしらんけど
(おもちゃのような例は勘弁)
初見のコードだと返り値が何なのか副作用のありなしもよくわかんないのが嫌い
組み込み屋なんでそういうのに神経質なんですわ
0550デフォルトの名無しさん
垢版 |
2018/07/31(火) 22:58:39.97ID:omk/SwPI
>>548
おもちゃのような例とやらがなんだか知らんが
「配列にフィルタかけてマップしてソート」みたいなのはメソッドチェインで書くのが普通だし
プロダクトコードで頻出するし
言語組み込みとか標準ライブラリの範囲なので仕様知らないのは知らないほうが悪いで終了
0551デフォルトの名無しさん
垢版 |
2018/07/31(火) 23:33:40.73ID:CfkG900T
組み込み屋だからコードが読めないって言い分が通用するのか
0552デフォルトの名無しさん
垢版 |
2018/08/01(水) 03:26:51.13ID:KaW6n03Q
b=a.filter(hoge).sort(piyo)はaが変化しないけど
b=a.sort(piyo).filter(hoge)はaが変化するJavaScriptとかもあるし
気持ちがわからんでもない
0555デフォルトの名無しさん
垢版 |
2018/08/01(水) 06:24:23.31ID:KofKD7jP
jsのsortはソート結果を戻り値でも返すからよくないんだよね
rustは関数が破壊的な操作をするか一目で分かってよいんだよね
0556デフォルトの名無しさん
垢版 |
2018/08/01(水) 07:33:14.80ID:4GZUmxRn
関数の副作用や純粋性が気になるなら
関数型の言語さわるのも良いぞ

F#は宗教論争に発展せず
現場でも実用十分的
0559デフォルトの名無しさん
垢版 |
2018/08/01(水) 08:54:45.09ID:/d6Lb+hA
>>550
> 言語組み込みとか標準ライブラリの範囲なので仕様知らないのは知らないほうが悪いで終了

なんでそこで特定の言語前提になってんの?w
標準の範囲なら百歩譲ってありだけど標準だけのデザインという保証はないやろ普通
あといちいちAPIリファレンスで確認しないと使えないってのは言語の可読性低いとも言えるわ
0560デフォルトの名無しさん
垢版 |
2018/08/01(水) 09:19:02.07ID:Lq6vBG3T
ドキュメント読まずにコード書くプログラマー降誕
0561デフォルトの名無しさん
垢版 |
2018/08/01(水) 09:29:11.08ID:IFtOcB8Z
批評家が口だけで問題解決することを理想としているように
可読性は目だけで解決するのが理想的である
0562デフォルトの名無しさん
垢版 |
2018/08/01(水) 10:27:41.74ID:Lq6vBG3T
そしてハンガリアン記法が産まれた
0563デフォルトの名無しさん
垢版 |
2018/08/01(水) 10:54:20.08ID:hzuJqRKu
>>559
土方は古代言語をメモ帳で書いてるのか……

写像や部分集合、ソートなんぞはほとんどの言語で標準で用意されてるし
IDEなりプラグイン入れたエディタならリファレンスはマウスオーバーするかショートカット叩くだけだよ
0565デフォルトの名無しさん
垢版 |
2018/08/01(水) 22:15:44.23ID:zZ0QT3av
>>523
> そもそも = が代入って時点で数学と違うんだから

それは単なる記法上の問題であって本質じゃない

C一族みたいないい加減な言語でなくAlgolやPascalのなどの正統派Algol系言語のように代入を表す記号を “:=” で書く言語であっても変数の概念が数学のそれと全く違うという問題はCなどでの変数と同じ
見掛け上の記号の使い方がいい加減という問題と、ある用語で表される概念がいい加減(間違っている)という問題とはレベルが全く違う
0566デフォルトの名無しさん
垢版 |
2018/08/01(水) 22:27:10.95ID:KofKD7jP
それが何レベルなのか知らんけどどうでもいいじゃん
数学とプログラミングは別物なんだし
0567デフォルトの名無しさん
垢版 |
2018/08/01(水) 22:44:31.92ID:vVTk17fP
>>565
タプルがどうとかも十分同じレベルだろ。
そんなところで誤解して問題起こす奴なんて代入以上にいねーわ。
自分の理解の都合でイチャモンつけてるだけってことにそろそろ気づけや。
0568デフォルトの名無しさん
垢版 |
2018/08/01(水) 23:08:34.73ID:KaW6n03Q
>>554
c=aではオブジェクトは作られないので、そうやってもaは変化する

更に言うと
c=a
b=c.sort(piyo).filter(hoge)
でaが変化する
0569デフォルトの名無しさん
垢版 |
2018/08/02(木) 00:36:50.69ID:RmPassIF
こういう話を見ると言語としてイミュータブルな変数しかない言語が良い気がしてくる。
0571デフォルトの名無しさん
垢版 |
2018/08/02(木) 03:23:08.65ID:7JMdFE06
>>518
いつ誰が「メソッドチェーン vs 内包表記」なんて下らん比較したんだよ

内包表記は内包表記で便利だっつっただけで、
メソッドチェーンつーかポイントフリースタイルが内包表記があれば不要なんて言った記憶は少なくとも俺にはないな

つーか>>478下段、まさにPythonにはポイントフリースタイル実現する記法が足りねえっつってんのが読み取れねえのか?

今時エセ歴史的仮名遣いで書き込むクルクルパーは国語の勉強しなおした方がいいぞ
0572デフォルトの名無しさん
垢版 |
2018/08/02(木) 03:24:30.81ID:uTIVZVJH
ずっと数学言ってるやついい加減うぜえわ
別スレ立ててそっちでやれやボケが
0573デフォルトの名無しさん
垢版 |
2018/08/02(木) 06:18:26.62ID:iydYt4gP
JavaScriptのsortとreverseが破壊的なのがぱっと見わからないのも、
JavaScriptの命名規則がうんこなだけでメソッドチェーン自体の良し悪しとは関係ない
0575デフォルトの名無しさん
垢版 |
2018/08/02(木) 08:25:49.67ID:j9EqWGQJ
>>573
こればっかりはなぁ。後発の言語は、副作用有無が明示されるようになってほしい。命名規則とか人間が頑張るタイプはやめて
0577デフォルトの名無しさん
垢版 |
2018/08/02(木) 09:09:27.15ID:eWP0KV4o
webサービス作るとき。というかrdbとの連携って静的言語より動的言語のほうが向いてる気がするんだけど、そんなことはない?
0578デフォルトの名無しさん
垢版 |
2018/08/02(木) 13:33:10.21ID:2LzP698W
そんなことなかっぺ
0583デフォルトの名無しさん
垢版 |
2018/08/02(木) 23:26:38.99ID:xmgsCqay
頑なに副作用嫌ってる人意味分からん
java.awt.Graphics2Dとかにあるような
コンテクストオブジェクトをイジイジするのってめちゃ便利やんけ
0585デフォルトの名無しさん
垢版 |
2018/08/02(木) 23:58:42.08ID:2ToUeHg/
1行に書かなきゃどんどん一時変数を増やさなきゃならない関数パイプラインはそれなりに意義が
あると思うけど、そうじゃないメソッドチェインはわざわざ見にくい1行の式にしなくても、と思う。
0586デフォルトの名無しさん
垢版 |
2018/08/03(金) 01:33:05.65ID:xgfpZ/vV
とはいえtypescriptは型情報が嘘つくことあるのがしんどい。ないよりはマシなんだけど。
いまいち信用できない。
jsに、標準で型情報ついてくれないかなー。
0588デフォルトの名無しさん
垢版 |
2018/08/03(金) 06:06:54.20ID:2wLWPbYE
嘘つき「何も宣言しないよりはマシ」
付け焼刃「何もしないよりはマシ」
ギャンブル依存症「何も賭けないよりはマシ」
0595デフォルトの名無しさん
垢版 |
2018/08/03(金) 15:01:39.29ID:2wLWPbYE
病人は生産性がないなんて言ったらたぶん炎上するし
悪人は生産性がないと言う方が無難だと思うけどなあ
0596デフォルトの名無しさん
垢版 |
2018/08/03(金) 21:26:18.77ID:2vUMzRdm
生産性がないならまだいいが生産性がマイナスな輩というのがいる。
こういう輩を見るとベイシックインカムはいいんじゃないかと本気で思うよ。
0600デフォルトの名無しさん
垢版 |
2018/08/04(土) 10:58:41.10ID:RjyiLlMo
初心者用の言語は上級者の要求を満たすことが出来ないということだな。
上級者が初心者用の言語使うのが間違ってるな。
haskellを使えば副作用を分離出来るし、メソッドチェーンも出来るし、
直積のタプルも0次元からN次元まで使えるし(1次元は普通の集合)
解決だな。
0601デフォルトの名無しさん
垢版 |
2018/08/04(土) 11:18:31.48ID:uVhwgvNs
ハスルケはセパレイタとしての記号が少ないからリイダビリティが悪い
そして誰もいなくなっただろう
0602デフォルトの名無しさん
垢版 |
2018/08/04(土) 12:29:28.79ID:uqPZ4G5F
Haskellはタプルを使わなくてもコンストラクタのアリティを2以上にできる
多変数コンストラクタの具体例のひとつにすぎないのがHaskellのタプル
1変数コンストラクタも無数にある
だから a と (a,) が同じ型にならないPythonを見ても違和感はない
0607デフォルトの名無しさん
垢版 |
2018/08/06(月) 16:48:04.88ID:F/jngZf9
ハスケルはエコシステムが腐ってるという話を聞いたけど本当?
言語がいくらすごくても環境構築で、しんどい思いするなら用無しなんですが
0609デフォルトの名無しさん
垢版 |
2018/08/06(月) 17:02:40.30ID:bv191ZQE
理論ばかりの頭でっかちの奴等ばっかりだからな。
実用性なんかどうでもいいんだろ。
だから実用されないんだよw
0610デフォルトの名無しさん
垢版 |
2018/08/06(月) 19:32:00.71ID:ykSda89u
>>607
パッケージ管理ツールのcabalもstackも依存把握がすぐぶっ壊れる。
あれは何が副作用がないからバグが少ないだって気分になるわ。
0611デフォルトの名無しさん
垢版 |
2018/08/06(月) 21:10:23.18ID:6BhDg/Vc
1. 関数プログラミング自体が実は大したことない
2. 副作用禁止の強制が邪魔
3. 使ってるプログラマーのレベルが低い(偏屈しか使わない・ユーザー層が薄い)
4. まだ成熟していないだけ

どうだろう。4だと思いたいが…
0612デフォルトの名無しさん
垢版 |
2018/08/06(月) 21:20:23.85ID:2AWODdBK
・Web系→モデルやロジックが単純なので関数型のメリットなし
・ゲーム系→常に時間変化を扱うので関数型のメリットなし
・業務系→PGの単価が上がって割に合わないので関数型のメリットなし
0613デフォルトの名無しさん
垢版 |
2018/08/06(月) 21:28:53.61ID:13KQrLiC
関数型の定義が未だに分からない
2だけならどの言語でも原則として受け入れられているんじゃないの
0614デフォルトの名無しさん
垢版 |
2018/08/06(月) 21:45:44.03ID:2AWODdBK
関数型はテストするまでもなく結果の明らかな極めて宣言性の高いコーディングができるというのが実用上最大の強みなわけだけど、
関数型マニアの関心は主に無限リストやら再帰やらモナドやら、自らその宣言性を捨てるテクニックにばかり向いていて、
結局関数型の何が嬉しいのかよくわからん状態になってしまってるのが現状
0615デフォルトの名無しさん
垢版 |
2018/08/06(月) 21:58:21.43ID:13KQrLiC
具体的にはどんなコードになるの?
そんな単純なコードの断片だけを組み合わせるだけで実用に耐えうる可読性や性能を発揮できるもんなの?
0616デフォルトの名無しさん
垢版 |
2018/08/06(月) 21:59:00.02ID:iAZi0X5l
関数単位、メソッド単位でなるべく純粋にしておくのは重要
短い関数内部の実装まで純粋にしようとするのは宗教
0617デフォルトの名無しさん
垢版 |
2018/08/06(月) 22:15:10.24ID:GZIQzwJh
平気で数百メガあるようなデータに対して副作用のないメソッドチェーンで加工するのって普通にやることなの?
0618デフォルトの名無しさん
垢版 |
2018/08/06(月) 22:27:24.52ID:YK5LkNr+
>>617
そういうのはステップ毎に一時ファイルに書き出すのが普通でしょ
COBOL時代からの伝統的なスタイルであり、今でもHadoopなどに受け継がれている
副作用がなくむしろ関数型的だ
0620デフォルトの名無しさん
垢版 |
2018/08/06(月) 23:11:20.61ID:4RMVWTln
遅延評価だったりストリーム使えるんなら大体気にしなくていいんじゃないかね
0621デフォルトの名無しさん
垢版 |
2018/08/06(月) 23:47:33.03ID:+WS/BAR+
関数型言語の本質は関数そのものを柔軟に扱うことだと思うんだけどな
例えばジェネリック関数のある言語ではジェネリック関数をジェネリックなまま引数や戻り値として扱えないと関数型言語っぽくない気がする
0622デフォルトの名無しさん
垢版 |
2018/08/06(月) 23:57:07.45ID:6BhDg/Vc
>>613
副作用はよろしくない、というのは確かに広く受け入れられている。
でもHaskellなどが要求する基準は、もっとずっと高い。
ちょっと前にstackツールのコードを見たことがある。今どうなってるかは知らんが当時は、
ある純粋な関数の中でデバッグ用ログをより詳細に出力するってフラグを、ソースコードに即値でベタ書きしていた。
これは他の言語では例えば環境変数を読み込む関数をその場で実行すれば良いだけなのだが、
Haskellでそれをやろうとすると、関数のシグニチャを非純粋なものに置き換えて、使用する全箇所も合わせて換えるか、
あるいはフラグを引き渡す配管を新設するか、などの工事が必要になる。
0623デフォルトの名無しさん
垢版 |
2018/08/07(火) 00:00:17.86ID:Cr+icss0
>>620
それは勘違い
遅延ストリームでステップ毎にコピーしてるんなら、コピーするオブジェクト数はバッチでステップ毎に全件コピーするのと変わらん
というかメモリアクセスが細切れになる分だけ遅くなる
遅延ストリームはレイテンシの低減には有効だけどスループットも下がるよ
0624622
垢版 |
2018/08/07(火) 00:12:00.15ID:iXXZIPQ5
...という工事が必要になる。だから仕方ないと言えなくもない。

このような事態は純粋な言語では良くあるのだが、このことだけで、すわHaskellあかんやん、は早計だと思う。
Implicit ParametersやGivenのようなアイデアも出てきてるし、これは解決する余地のある課題なのかもしれない。
あるいはこのような事態を引き起こす設計に問題があるのかも。
0625デフォルトの名無しさん
垢版 |
2018/08/07(火) 00:18:57.06ID:UMEYDAwp
次世代言語たって、シングルスレッドのJSをこねくり回してドヤってる人と
Native言語でハードウェアの性能を最大限引きだそうとしてる人とで
必要とするもの違うからいっしょに議論してもかみ合わない
0626デフォルトの名無しさん
垢版 |
2018/08/07(火) 00:20:39.37ID:wPKvZYDw
そもそもハスケルの仕様通りの評価順序で実装してたらまともな実行速度でないっしょ。
そういうごまかしを含んでる時点でしょーもねーわ。
0627デフォルトの名無しさん
垢版 |
2018/08/07(火) 00:30:11.90ID:Cr+icss0
副作用はよろしくない、といってるくせに再帰やら遅延ストリームやらモナドやら状態依存のコードを好んで書きたがるのが関数型マニア
そもそも状態に依存するコードなんか極力書くな、避けられるならモナドなんか使うな、という正論を言えない空気があり、
競って予測困難で難解なコードを書いて「俺すげえ」のマウント合戦を繰り広げている
こんな状態で流行るわけがない
0628デフォルトの名無しさん
垢版 |
2018/08/07(火) 01:14:56.51ID:rAZv+q4y
状態依存は避けられないのに状態を禁止してしまったからやたらと状態関連が発達してしまっているけど、状態なしで書ける部分と状態が必要な部分を分けて書くという理念は守られているはず……
0629デフォルトの名無しさん
垢版 |
2018/08/07(火) 01:27:00.12ID:lcDZ2HG8
Haskellの定義を知ってる人ならいるけど関数型の定義は誰も知らないんだよ
だから「Haskellは関数型である」とか
「Haskellマニアと関数型マニアは同一人物である」とかいう根拠がそもそも存在しない
0630デフォルトの名無しさん
垢版 |
2018/08/07(火) 01:37:43.21ID:wdyVMIbP
つまりおまいらはまたオブジェクティバラブルなコード時代に戻るというの?
0633デフォルトの名無しさん
垢版 |
2018/08/07(火) 02:09:48.40ID:lcDZ2HG8
そのラムダ計算には型があるのかないのか
副作用があるのかないのか
なにも定義されていない
0634デフォルトの名無しさん
垢版 |
2018/08/07(火) 03:28:30.29ID:hhcOlifT
型なしラムダ計算だったとしてもlispだし型付ラムダ計算だったとしてもML/Haskell/etc…だし広義には問題なくない?
副作用の有無=純粋性は程度で片付けなきゃやってられない(どの汎用言語にもプログラムならどこかしら副作用が存在する)し

定期的に定義に固執しすぎなレス見掛けるけど自分でその問い掛けを考えたか?って感じなのが多い
0635デフォルトの名無しさん
垢版 |
2018/08/07(火) 03:47:47.09ID:1Z28ZkuF
計算機科学の研究課題としては興味深いが
プロダクション用途ではないだろう
だから何が悪いというわけではないが
0636デフォルトの名無しさん
垢版 |
2018/08/07(火) 06:13:33.64ID:o88xwRN/
>>614 がいいこと言った。
見通しが良いコードにするための宣言型言語のはずが
むしろ見通しを悪くしている。
0637デフォルトの名無しさん
垢版 |
2018/08/07(火) 07:56:24.18ID:c0zbvnlv
Scalaという見通しの悪い言語が関数型として世に知られてしまったのも不幸だったよね
意識高い系のオモチャに選ばれたのがScalaではなくF#だったら状況はだいぶ違っていたのではないか
0638デフォルトの名無しさん
垢版 |
2018/08/07(火) 07:59:10.87ID:6yZcjsMn
状態に依存する部分と純粋な部分を切り分けること自体は純粋関数型言語じゃなくてもできること

そもそもHaskell使える開発者が集まってるならHaskellじゃなくてもみんな極力そのように書くし、
強制されないと副作用ごちゃまぜコードを書くような土方はHaskellは使えない

純粋性を強制するメリットが禁止して柔軟性を失うデメリットに釣り合ってない
0639デフォルトの名無しさん
垢版 |
2018/08/07(火) 08:35:30.11ID:iXXZIPQ5
純粋性を強制するメリット、を考えてみた。
例えばエディタの設定ファイルをHaskell自身で書くことができる。
設定ファイルがSafeHaskellであることを要請して、かつ設定操作に限定された型のみを許すようにする。

これで設定ファイルに、勝手にビットコインを採掘するスクリプトを忍ばせるような悪さができなくなるし、
Haskellそのものの柔軟性を活かして好きなだけ設定を短く表現できる。
安全さと強力さが両立された。
0640デフォルトの名無しさん
垢版 |
2018/08/07(火) 08:38:42.25ID:FVK8LmPZ
Haskellは状態に依存するコードを書こうとすると途端に
可読性の低い冗長なコードになるのがダメなところだと思う
純粋な部分の構文に比べて手抜きすぎなんだよ
0641デフォルトの名無しさん
垢版 |
2018/08/07(火) 08:54:53.62ID:UMEYDAwp
手抜きではないだろ、むしろ逆
worldを隠しつつ宣言的に書くという変態技のために
モナド用の構文糖衣が多数あるせいで関数型の簡潔さが失われている
0642デフォルトの名無しさん
垢版 |
2018/08/07(火) 09:11:21.06ID:FVK8LmPZ
シンタックスシュガーを幾ら用意しても簡潔に書けるようにする工夫がないから
どう書いても冗長って話なんだけど?分かってないなぁ
0644デフォルトの名無しさん
垢版 |
2018/08/07(火) 10:58:16.01ID:hbLPpe/0
>>642
じゃあ例えばどういう工夫なの?
お前のHaskellの理解力が試されてるから慎重に答えてね
無理なら別に逃げてもいいよ
0645デフォルトの名無しさん
垢版 |
2018/08/07(火) 11:45:14.63ID:7ewfkb5/
工夫するたびに言語の差は大きくなって言葉が通じなくなる
逆に言語を一つにしたければチューリングマシンだとかラムダ計算だとか
人が手を加えないまるで手抜きのような方向に行けばいい
0646デフォルトの名無しさん
垢版 |
2018/08/07(火) 11:56:41.38ID:MwJ3Tuus
>>644
そうだなぁ。何でもいいんだけど、たとえば in-place quicksort をHaskellで可読性高く書けるかって話ですよ
いままでCにも劣る可読性のコードしか見たことないわ
だから、お前が可読性高い in-place quicksort を書いて見せたらこっちの意見は取り下げてもいいけどね

無理なら別に逃げてもいいよw
0647デフォルトの名無しさん
垢版 |
2018/08/07(火) 11:56:53.80ID:UdLWsfQc
関数型は実行モデルに由来する制約が少なくて言語設計の自由度が高い分、アイランドモンキー族にとって馴染みにくいものになってると思うんだよな
「結論から言え」なカルチャーが色濃く出すぎてる
0648デフォルトの名無しさん
垢版 |
2018/08/07(火) 12:42:49.18ID:hbLPpe/0
>>646
お前の可読性の基準なんかこっちはしらんがな
お前が言う工夫が例えば何かって聞いてんだよ
まさかノーアイデアで批判だけしてんの?
0649デフォルトの名無しさん
垢版 |
2018/08/07(火) 13:44:16.06ID:iXXZIPQ5
可読性が低く冗長なのが問題だ。簡潔に書ける工夫があればよい。
例えばどういう工夫が?
例えば in-place quicksort が問題だ。簡潔に書ける工夫はないだろ?

----
まあ問題意識は判った。確かに可読性と速度の両立は課題だと思う。
0650デフォルトの名無しさん
垢版 |
2018/08/07(火) 13:56:33.53ID:7ewfkb5/
CとHaskellの両立ができないやつは二刀流を自粛している
これは自粛であって禁止ではない
0651デフォルトの名無しさん
垢版 |
2018/08/07(火) 14:11:05.26ID:iXXZIPQ5
あれっひょっとして >>642
「もっと状態方面を簡潔に書けるよう工夫しろよ」って非難してるのか。
だとしたら誤読だったすまん。
0654デフォルトの名無しさん
垢版 |
2018/08/07(火) 16:25:52.99ID:1g1T9ybM
>>633
> そのラムダ計算には型があるのかないのか
> 副作用があるのかないのか

副作用を入れたものは本来はλ計算ではないよ
そういう変てこなバリエーションをデッチ上げて「何ちゃらλ-calculus」とか呼んで発表してるのは幾らでもあるがゴミばかり
状態などというものを考えず単純に構文的な置き換えだけで扱えるλ計算の長所を破壊し放棄する拡張をしても何もメリットはない
単にほとんど誰にも論文のカウント数を1増やすだけ
まあ御当人の学位取得や助教職のアプリケーションには有効なのかも知れないが
0655デフォルトの名無しさん
垢版 |
2018/08/07(火) 16:27:13.31ID:1g1T9ybM
>>654訂正
誤> 単にほとんど誰にも論文のカウント数を1増やすだけ
正> 単にほとんど誰にも読まれない論文のカウント数を1増やすだけ
0656デフォルトの名無しさん
垢版 |
2018/08/07(火) 16:59:37.73ID:7ewfkb5/
モナドクラスは副作用を入れたinstanceと入れないinstanceの見た目を同じにする
副作用を禁止しても見た目が美しくなったりしない
Haskellには副作用を禁止するモチベーションがない
0658デフォルトの名無しさん
垢版 |
2018/08/07(火) 17:44:51.87ID:STmUhm8q
>>648
ここはHaskellスレじゃないんですよ?
ゴミ言語にはゴミである理由さえ説明すれば十分ですよ
0659デフォルトの名無しさん
垢版 |
2018/08/07(火) 21:56:56.28ID:rAZv+q4y
Inplaceが必要な時はHaskellを使うべきではない
Inplaceが不要な時に力を発揮する言語だし、Inplaceなんて避けておけというメッセージのこもった言語だ
0660デフォルトの名無しさん
垢版 |
2018/08/07(火) 22:38:15.68ID:ThdtCxHP
>>659
それって言い方を変えると
HaskellもPythonみたいにクリティカルな部分はCで書いてそれ呼び出せ
って解釈できる気がするんだが、そう解釈しておk?飛躍しすぎ?
0662デフォルトの名無しさん
垢版 |
2018/08/07(火) 23:57:01.73ID:z8E9h/cA
たかがin-placeが必要なだけでCの助けが必要って?
そんなウンコは次世代言語に相応しくないな
0663デフォルトの名無しさん
垢版 |
2018/08/08(水) 00:39:35.00ID:MPyzl9Mf
結局C++で全部書けばいいじゃんってなる
0664デフォルトの名無しさん
垢版 |
2018/08/08(水) 00:41:13.08ID:wOobAAAA
>>662
なるべくin-placeは避けろという言語に対してin-placeがかけないなら云々とかもう思想が合ってないとしか言いようがないな
0665デフォルトの名無しさん
垢版 |
2018/08/08(水) 00:46:04.90ID:LvbSOyDD
Haskellは富豪プログラム専用。in-placeがどうしても必要になるような貧乏人の道具ではない
0668デフォルトの名無しさん
垢版 |
2018/08/08(水) 01:17:44.98ID:XKTLbEez
関数型言語に学ぶ価値はあるけど使う価値はないっ昔から言われてるじゃん
Monad勉強してへーうまくできてんなー(実行効率悪そうだけど)
って思っときゃいいの
そして最近の言語はOptionalとかいいとこだけうまく取り込んでるわけだ
0671デフォルトの名無しさん
垢版 |
2018/08/08(水) 07:11:01.72ID:NcOXcLna
既存の手続き型言語で培われてきたアルゴリズムは
ミュータブルなデータ構造に対して最大限の効果を発揮するものなんだから
イミュータブルなデータ構造が基本の言語で同じことをやろうとするのが誤り
0674デフォルトの名無しさん
垢版 |
2018/08/08(水) 08:26:42.80ID:XKTLbEez
速いってケースは思いつかないけど(ヒープを遠慮なく使う時点でたぶんアウト)
SSAとかは興味深い
0675デフォルトの名無しさん
垢版 |
2018/08/08(水) 08:42:20.41ID:Lg30iyda
なんか俺がいなくても結局誰かをガイジ呼ばわりして叩くスタンスには変わりないんだな
0676デフォルトの名無しさん
垢版 |
2018/08/08(水) 09:16:15.89ID:HB5JDXH/
誰だよ
0678デフォルトの名無しさん
垢版 |
2018/08/08(水) 09:24:26.65ID:vRZZuWNv
ビットコドンドコで大負けくらってる僕よりガイジーヌなやちゅなんておらんJARO草ァwwww
んでさでさ、Inplaceて何ンゴンゴ?_?
0679デフォルトの名無しさん
垢版 |
2018/08/08(水) 09:48:10.71ID:x4iNladl
宣言的に書くならC#のLinqよりF#で書いた方が速いね
もちろん速くするだけならC#の方が速いけど

>>670
金融、財務とかかね
stackoverflowのアンケでは給料の高い人が使ってる言語の1位になってるし
日本じゃほぼ使われてないのかもしれんけど
0685デフォルトの名無しさん
垢版 |
2018/08/08(水) 15:37:13.59ID:PIe5jilU
関数型言語が高いんじゃなくて関数型言語使えるような人は土方と違って生産性も収入も高い人が多いってだけなんだよな。
0688デフォルトの名無しさん
垢版 |
2018/08/08(水) 18:42:53.59ID:MPyzl9Mf
Google社内では本当にDart使用していると言い張っているようだな
0692デフォルトの名無しさん
垢版 |
2018/08/09(木) 07:19:31.82ID:a08mMW70
最近の言語ってなんで文末のセミコロンを無くしたがるのかはホント理解できんね
0696デフォルトの名無しさん
垢版 |
2018/08/09(木) 11:32:06.24ID:nOv6o4Tk
正解が二個以上あっても正気を保てるのは言語オタクだけだ
だから改行を唯一の正解とする
改行の強制はインデントの強制でもある
0697デフォルトの名無しさん
垢版 |
2018/08/09(木) 11:45:07.69ID:jYulBjzP
。文頭に。
0699デフォルトの名無しさん
垢版 |
2018/08/09(木) 12:14:58.58ID:oYkmjdVE
次世代言語って、現世代では全く使われていない言語を指すの?
そうなると、ここでは書いたことの無い言語の話しか出来ないんじゃないかな。

もう少し冷静に、新しいか、成長の余地がある言語にすりゃ良いかと思うよ。

新しくもないし凝り固まってるしパラダイムも充分に理解されてるがメジャーではない言語、を入れるかに悩むならわかるけど。
0700デフォルトの名無しさん
垢版 |
2018/08/09(木) 12:30:39.38ID:bosClgwQ
Javaみたいなゲージ御用達スーパーゲージ変換じゃなけりゃなんでも良いだろ
0704デフォルトの名無しさん
垢版 |
2018/08/09(木) 20:59:51.98ID:e5qVRRjG
スレタイの中だとrustかswiftくらいしか成長の余地なくない?
0705デフォルトの名無しさん
垢版 |
2018/08/09(木) 21:20:23.73ID:VJPaXfwo
Kotlin もよろしく
0706デフォルトの名無しさん
垢版 |
2018/08/09(木) 21:38:29.91ID:e5qVRRjG
kotlinは生まれながらにしてjavaの業を背負ったどん詰まり言語じゃん
0711デフォルトの名無しさん
垢版 |
2018/08/09(木) 23:33:53.62ID:e5qVRRjG
>>709
kotlin nativeはjavaに足を引っ張られたkotlinに足を引っ張られるんじゃないかと勘ぐってるけどそんなことないのかな?
0712デフォルトの名無しさん
垢版 |
2018/08/09(木) 23:40:49.80ID:7Swg8quk
それは逆コンパイルしたら中身jvmだったりしないの?
0713デフォルトの名無しさん
垢版 |
2018/08/10(金) 01:01:42.40ID:ucX04wSR
しないと思うんだがなあ
0718デフォルトの名無しさん
垢版 |
2018/08/10(金) 09:40:19.54ID:I/2uhvV4
求人件数だけ見るなら ruby 一択だろう

しかしなんだかとても嫌な予感がしないか?w
0720デフォルトの名無しさん
垢版 |
2018/08/10(金) 15:35:01.51ID:ukxgHu4p
>>718
クッソゴミみたいな保守やらされそう
今やRubyもPHPに匹敵するレベルの糞になりつつあるな
0721デフォルトの名無しさん
垢版 |
2018/08/10(金) 15:51:54.46ID:zgyAwqJP
rubyは散々馬鹿にしてきたPHPと席を分け合うポジションに収まったのが笑える
0722デフォルトの名無しさん
垢版 |
2018/08/10(金) 15:59:34.87ID:ndPpyRQZ
rubyが笑えるのは散々バカにしてきたjavascriptの後塵を拝してるどころか3周差くらいつけられてなお離されてる最中なところ。
0723デフォルトの名無しさん
垢版 |
2018/08/10(金) 19:16:31.89ID:JIBbU2kk
rubyやたらディスられてるけどphpみたいにapiに一貫性がない感じになってるの?
0724デフォルトの名無しさん
垢版 |
2018/08/10(金) 19:20:49.70ID:3XHWU+Ek
>>704
Rustは既に方向性失敗して、2018editionとやらで互換性壊してなんとかしようとしてるらしい
成長の余地どころかぱいてょん(爆)の後追いで死にに行ってる

Swiftも似た感じだが、圧倒的なプラットフォームパワーでなんとかなってる
0727デフォルトの名無しさん
垢版 |
2018/08/10(金) 19:56:48.45ID:RwvSx+PQ
>>724
ぱいちょんと違って何も変えなければ動くんだから事情は違うでろ

コンパイラ言語なら互換性を無理に維持しなくていいと思うけどな
0729デフォルトの名無しさん
垢版 |
2018/08/10(金) 20:33:00.69ID:ky1dXwBu
2にしがみついてる老ガイどもを皆殺しにするウイルスでも仕込めばいいのにな
0730デフォルトの名無しさん
垢版 |
2018/08/10(金) 20:52:57.93ID:USnz8/j9
>>723
Rails全盛期の頃に比べると開発端末としてWinが復権してきたのが大きいんじゃないかな
Python をはじめとして Node, Go, TypeScript, VSCode など、比較的Winと相性のいいツールが全体的に伸びてる
0734デフォルトの名無しさん
垢版 |
2018/08/10(金) 22:07:09.99ID:32dlghG4
そういやRubyってRPGツクールの拡張スクリプト枠JavaScriptに取られたんだったっけ?
0735デフォルトの名無しさん
垢版 |
2018/08/10(金) 22:08:44.06ID:32dlghG4
Kivyのクロスプラットホームで未だにPython2しか対応してないのがガッカリだな
0736デフォルトの名無しさん
垢版 |
2018/08/11(土) 09:11:36.35ID:HU3kTBNR
>>733
明日から2が動かなくなってもnumpy, scipy, matplotlibを使ってる連中は全く困らないし、
その辺のユーザを掴んでる限りPythonは安泰だよ
0737デフォルトの名無しさん
垢版 |
2018/08/11(土) 11:03:57.70ID:0vNf6Bak
perl5とpython2とpython3を全部インストールしても他の言語1個分より小さい気がする
0742デフォルトの名無しさん
垢版 |
2018/08/11(土) 16:41:21.81ID:nLKVRTP/
Dartの功績は、SEOによる情報操作だけでは言語をゴリ押しできないことを証明したこと
0744デフォルトの名無しさん
垢版 |
2018/08/11(土) 17:54:28.51ID:4JPNuUD1
Golangは無実
0746デフォルトの名無しさん
垢版 |
2018/08/11(土) 23:13:04.20ID:dFDFw6X4
Dartを「ごり押ししても」メリット無いってきづけよ。Dartをごり押しして、何のメリットがあんだよ?答えてみろよ!?
0747デフォルトの名無しさん
垢版 |
2018/08/11(土) 23:25:59.16ID:okCpsnhc
googleが言語仕様をコントロールできるからね
新OSもLinuxから離れてるし内製への拘りが強くなってる
0748デフォルトの名無しさん
垢版 |
2018/08/11(土) 23:30:42.85ID:jeWHIwms
goが示したのは
クソ言語仕様を押し付ける暇があったら実装の性能をあげた方がよっぽど良いって事。
0749デフォルトの名無しさん
垢版 |
2018/08/11(土) 23:39:35.18ID:X/mb2cGW
どうせ馬鹿に高度なものは扱えないんだから
馬鹿でも使えるものだけ与えた方が混乱がないってこと
0750デフォルトの名無しさん
垢版 |
2018/08/12(日) 02:20:35.28ID:U6PLakfn
馬鹿にも理解できる言語仕様だからといって
馬鹿でも素晴らしい成果物を得られるわけではない
0751デフォルトの名無しさん
垢版 |
2018/08/12(日) 03:19:07.43ID:BCWcLjTe
かと言って頭のそれなりにある人間も頭抱えるような言語じゃ開発サイクルも早くは回せんけどな
0752デフォルトの名無しさん
垢版 |
2018/08/12(日) 08:00:52.41ID:yev3ahQ7
Go2はどんな風になるんだろう。
0753デフォルトの名無しさん
垢版 |
2018/08/12(日) 10:02:10.86ID:EPMyTgCm
>>752
Generics実装してmapとかreduceとか使えるようになれば申し分ないんだけどなぁ
0754デフォルトの名無しさん
垢版 |
2018/08/12(日) 11:03:46.49ID:3fjFk3bI
Javaのぱくり言語とUnixのぱくりOSはいちいち説明しなくてもわかる
ぱくりじゃないところだけ説明しろよな
0756デフォルトの名無しさん
垢版 |
2018/08/12(日) 11:29:02.69ID:/Wm/F5Iv
>>741
Googleがなんで機械学習系のライブラリを2系でしか出してないか知らないのか
まともに安定してnumpyまわりが動かないからだぞ
0757デフォルトの名無しさん
垢版 |
2018/08/12(日) 11:31:17.00ID:/Wm/F5Iv
>>742
Rustっていう、現在進行形で情報操作でごり押しして
ある程度バカがつられてる言語があるんだよなあ

そういう意味でDartに対するGoogleの姿勢はまだ技術には誠実だと言える
0760デフォルトの名無しさん
垢版 |
2018/08/12(日) 11:45:09.80ID:m3BnuYl0
いや普通に tensorflow1.8.0 は python3 で動いてるぞ。
google cloud 周りは確かに python2 系統だが。

互換性周りの話って、python3推しもpython2推しも普通に嘘つくから嫌なんだよ。
自分の都合のいい話しか信じないっていうのが露骨に出る。
0761デフォルトの名無しさん
垢版 |
2018/08/12(日) 11:54:38.90ID:/Wm/F5Iv
>>756
numpyまわりで3系だけの不具合って何?
まともに動かないと言うくらいなら、いくつも例を出せるでしょ?

え?出せない?思いつきで言っただけ?
0762デフォルトの名無しさん
垢版 |
2018/08/12(日) 11:58:45.26ID:3fjFk3bI
嘘ついても全ての人を騙せるわけではない
情弱が多数派でなおかつ多数決は正しいという前提がなければ騙せない
多数決やめればいいだけだ
0763デフォルトの名無しさん
垢版 |
2018/08/12(日) 11:58:45.27ID:/Wm/F5Iv
>>760
いやTensorflowが3系で動くこと自体がはっきりいって眉唾
公式じゃ動くって言ってるが手元で動いたためしがない

>>761
そもそもインポートでエラー出るんだよなあ
0764デフォルトの名無しさん
垢版 |
2018/08/12(日) 12:03:07.71ID:m3BnuYl0
>>762
多数決とろうが動かないものは動かないし、動いてるものは動いてるんだよ。

>>763
だから普通に手元で動いてるっつーの。
少なくともうちの会社の中で問題が生じた奴はいないし、
問題が生じるのは大抵cudaに対するバージョン依存くらい。
お前の環境がイかれてるだけだろうと思うが他の奴にも聞いてみたの?

python3でgoogleが問題になるとしたらプロトコルバファ周りくらいだろ。
あれはもろにstrの変更の影響を受けるのはなんとなくわかる。
0765デフォルトの名無しさん
垢版 |
2018/08/12(日) 12:04:20.79ID:/Wm/F5Iv
>>763

>公式じゃ動くって言ってるが手元で動いたためしがない

それお前が馬鹿すぎるだけじゃんw
お前みたいな低脳にはDNNなんて無理だから諦めろwm
0766デフォルトの名無しさん
垢版 |
2018/08/12(日) 12:11:54.51ID:/Wm/F5Iv
python3でcudaやtensorflowがセットアップ済みのdocker imageあるから、素直にそれ使えやw
0770デフォルトの名無しさん
垢版 |
2018/08/12(日) 13:22:32.17ID:nleagsaG
typescriptのジェネリクスのヤバさを目撃すると、どうにもgo2でジェネリクスを導入するのは見送ったほうが良い気がする。
少なくとも、慌てて入れるんじゃなくてgoらしく独自な感じで頼みたい。
0774デフォルトの名無しさん
垢版 |
2018/08/12(日) 13:42:50.54ID:evL76NL4
ここでいくら python3 へ移行しても無問題と叫んだところで、
未だに macOS ではデフォルトが python2 のままという事実からは
逃げられないんだな
おまけに次期バージョンの Mojave に至っても、プレビュー版では python2 だし

・Apple、macOS 10.14 MojaveにもPython v2.7.10を同梱?
 https://applech2.com/archives/20180612-macos-10-14-mojave-beta-with-python-v2-7-10.html

>>729 からすれば Apple は「2にしがみついてる老ガイ」らしいけど、
Apple を罵倒できる男の子ってカッコイイなぁ(棒
0775デフォルトの名無しさん
垢版 |
2018/08/12(日) 15:01:21.79ID:b1qxMcA9
>>774
vertualenvどころかhomebrewも使わずにシステムのpythonにnumpyやtensorflowとか入れてんの?
完全にアホじゃんww
0776デフォルトの名無しさん
垢版 |
2018/08/12(日) 15:12:08.06ID:nleagsaG
こういうアホの子も機械学習に手を出してるのを見ると俺もやらないとって思うけど、解決したい問題が無いという
0777デフォルトの名無しさん
垢版 |
2018/08/12(日) 15:30:23.13ID:3fjFk3bI
珍しく弱気だな
いつもならノーベル物理学賞ですら、それ何の役に立つの?って強気で問い詰めるくせに
0780デフォルトの名無しさん
垢版 |
2018/08/12(日) 16:28:19.24ID:nleagsaG
型がない言語に型を持ち込んだからだって突っ込まれるかもしれんけど、
こんなことになる可能性はジェネリクスを持つ言語全般に言える。
ちなみにジェネリクス関連のエラーにぶつかるとさっきのリンクみたいな型情報をエラーメッセージに垂れ流して直せって要求してくる。
0781デフォルトの名無しさん
垢版 |
2018/08/12(日) 17:22:29.96ID:6F6W/tUK
>>774
AppleじゃなくてもどのシステムでもWindows以外はデフォルトはPython2だよ
だからこそPython3にはシステムが依存せずに最新版選ぶ事ができるんだから
0783デフォルトの名無しさん
垢版 |
2018/08/12(日) 18:20:40.98ID:U04Z7MLo
Go
Gnericsできることは中身なしのインターフェース型(interface{})できるからいらないって言う人もいて
確かにできるんだけども
欲しいって言ってる人はできるできないじゃなくて実行前にエラー教えてほしい(せっかく静的型付けなんだから)って人たちだから

できるからいらないって言っても納得しないんじゃないの?
0784デフォルトの名無しさん
垢版 |
2018/08/12(日) 18:26:35.82ID:U04Z7MLo
"で"できる



できる
になって意味不明の文章になってる
すまん
0785デフォルトの名無しさん
垢版 |
2018/08/12(日) 18:28:53.89ID:U04Z7MLo
>> 779

これ、redux に型情報書こうとしてるからこんなことになってるだけで、
int,doubleで2回も同じの書かなくていいみたいのだったらこんなことにならんけど...
0786デフォルトの名無しさん
垢版 |
2018/08/12(日) 18:33:03.21ID:DGxxzN5+
>>783
空インターフェイスが問題なんだから、それが絶対に使わないようにする方法があれば良いんだよね。
goにおいてはcode生成が一つの答えだったりする。
0787デフォルトの名無しさん
垢版 |
2018/08/12(日) 22:54:48.62ID:evL76NL4
>>781
え、 >>774 のリンク先にも書かれている2015年に公開された
Python の公式文書 PEP 394 もご存知ないんですか?

Windows以外の「どのシステム」というのが曖昧ですけど、
すでに主要な Linux ディストリビューションだと
デフォルトのインストールは Python3 になって移行を完了してます

・LinuxディストリビューションにおけるPython 3デフォルト化の流れ
 https://orangain.hatenablog.com/entry/python3-as-default

だからこそ、それでも Python2 のデフォを維持しようとする
Apple は「老ガイ」なのか?と >>774 で問題提起したわけです
もう少し Python を勉強したほうが良いのではないかと思われます
0790デフォルトの名無しさん
垢版 |
2018/08/13(月) 01:13:05.86ID:uSgRX9ke
>>786
コード生成はひと手間かかるから敬遠してしまう。
コード書き換えたら再生成しないといけないし、
やっぱりC++やRustみたいな感じでジェネリクスくらいはできてほしいと思ってしまうなぁ。
0792デフォルトの名無しさん
垢版 |
2018/08/13(月) 03:28:03.67ID:osySO0wY
前メジャーバージョンのサポートを十年以上続けてきた言語って何なんだろうね
0793デフォルトの名無しさん
垢版 |
2018/08/13(月) 07:08:12.23ID:99pSdlxg
>>790
ジェネリックってもの自体が実際それくらい手間かかるものって認識した方がいい。
だからエラー出た時に追いづらいわけで。
マクロにしろテンプレにしろ本質的には生成系だよ。
0794デフォルトの名無しさん
垢版 |
2018/08/13(月) 07:27:37.29ID:WcQzhT4t
rustがあるのにgoの未来に期待する必要ないよね
0795デフォルトの名無しさん
垢版 |
2018/08/13(月) 07:37:37.74ID:psyuonMt
>>793
goaとかコード生成を多用するフレームワークにさわると実感する。
生成されたコードは読みやすいし、
追いやすい。
ジェネリクスは書いてる最中はともかくエラーが出たときに、対応が難しい。
あとgoの言語仕様自体がコード生成に対して最適化されてると思う。
0796デフォルトの名無しさん
垢版 |
2018/08/13(月) 07:55:24.83ID:ECHWlVDH
>>787
そうなん?CentOSは保守的だからさておき
RaspbianもPythonって打つと2が動いてたから
まだまだ2がデフォなんだと思ってた

あとAndroidのPython3もいつになったらKivyに対応するんだかね
0798デフォルトの名無しさん
垢版 |
2018/08/13(月) 08:18:19.29ID:2M26tqwU
つい最近QPython3をスマホに入れてkivyのサンプル動かそうとしたら2でやれってメッセージ出たんだけど
0800デフォルトの名無しさん
垢版 |
2018/08/13(月) 10:36:37.93ID:pnDShR42
ジェネリクスのエラー対応が難しいってよくわからないなあ・・・
ジェネリクスでエラーでるって言っても複雑な型地獄にはまって出るものと、
結局実行時にエラーになるから教えてくれるものがあるし
後者なら別にエラー直すの難しくない

型地獄にはまるのって関数型言語や関数型インスパイアにフレームワークで厳密に型定義しようとした時しか思いつかない…

あと、ジェネリクスって言っても文法上は同じでも種類があって
C++…
超高機能なマクロみたいなもの
全部インライン展開される(実行効率はいい)
コンパイルに時間がかかるし、実行ファイルサイズが膨れ上がる

Java…
Java バイトコード上は generics に対応していない
Java コンパイラがキャストを自動的に挿入してくれる
いわゆる「型消去」

C#…
ILにgenerics 用の命令がある
ャストの分のコードが減って実行効率がいい
ボクシング不要

って種類がってGoはどれになるか...


> goの言語仕様自体がコード生成に対して最適化されてると思う。

ここまで書いといてあれだけど
確かにこれは同意だなあ
0801デフォルトの名無しさん
垢版 |
2018/08/13(月) 11:50:08.24ID:uSgRX9ke
>>794
RustがGCで動けばRust使ってた。
所有権システムがややこしくて挫折した。

>>793
C++使ってたことあるから、エラー出たときの追いづらさについては、個人的に少々目が瞑れる。
Goで新しく実装されるなら、C++よりはマシにはなるだろう。
0804デフォルトの名無しさん
垢版 |
2018/08/13(月) 12:23:51.46ID:xXruU6Jo
所有権システムって、コンパイラに怒られる怒られない関係なく、C++使ってたことがあると言うなら考えていて当然だし、適応できて当然というか感謝するレベルだと思うんだけど、
何でrustアンチは「C++が書ける」みたいなハッタリかますの?
0805デフォルトの名無しさん
垢版 |
2018/08/13(月) 12:32:59.05ID:HlXiUzAE
ややこしくて挫折したと言っているんだから、別にアンチではないでしょ
0806デフォルトの名無しさん
垢版 |
2018/08/13(月) 12:35:54.83ID:xXruU6Jo
確かにアンチでは無いか。
言い方が悪かったな。すまん。

所有権意識しない奴がC++書けるって言っても、全然書ける気がしない違和感の事を言いたかった。
0807デフォルトの名無しさん
垢版 |
2018/08/13(月) 13:30:54.99ID:pnDShR42
ただの入力補完はもう古い!
人工知能がコーディングを補助!

Visual Stuio IntelliCode
https://visualstudio.microsoft.com/ja/services/intellicode/

・無料かつオープンソース
・Githubでスターの多いリポジトリで機械学習
・あなたのコードの文脈を理解した提案
・今のところC#のみ対応、別言語も提供予定
0808デフォルトの名無しさん
垢版 |
2018/08/13(月) 15:55:14.56ID:dTuvNye4
所有権システムの理解と所有権の意識は別の話だと思うけどな

C++と違って型パラメータでライフタイムの整合性取る必要あるし
今のC++はコピー上等の値型指向を右辺値参照でカバーする感じなところなど考え方がやや違う
0809デフォルトの名無しさん
垢版 |
2018/08/13(月) 17:48:17.15ID:HlXiUzAE
rustがgoより劣っているのは学習コストの高さと開発支援ツール(racer/rls)がポンコツであることくらいだけども、誰でもコストが払えるわけじゃないし、ボローチェッカーにうんざりする気分は分かる
0810デフォルトの名無しさん
垢版 |
2018/08/13(月) 19:16:22.47ID:99pSdlxg
>>808
実際にrust書いてる人でも引数のライフタイムがそこまで全く違うようなコードは
普通書かないでしょ。
あれを複雑に設定しなきゃならんシチュエーションはそもそも設計ミスってる。
0811デフォルトの名無しさん
垢版 |
2018/08/13(月) 20:57:16.91ID:Vpwl+vyM
C++ならポインタにはdeleteの義務があるやつとないやつがある
参照カウントがあればカウントが1のとき義務があるのは誰でも理解できる
最適化などと称してカウントを省略するから分からなくなる
そもそもdeleteの義務のことを所有権というから意味が分からない
0812デフォルトの名無しさん
垢版 |
2018/08/13(月) 21:22:57.94ID:TbADB80j
C++書ける人ならRustに感謝するってそんなこと言ってるのRustプログラマだけだろ
こんな仕様に感謝したこと一度もない
Rustの二次元配列の要素のswap
ttps://qiita.com/tanakh/items/d70561f038a0ef4f0ff1
0813デフォルトの名無しさん
垢版 |
2018/08/13(月) 21:56:10.59ID:Vpwl+vyM
MS嫌悪は病気と言ったというLinusが嫌悪したC++を書ける人だけが石を投げなさい
0815デフォルトの名無しさん
垢版 |
2018/08/13(月) 23:01:44.24ID:LpvsV7I/
ルーストにゴールデンカリバーン(GC)が実装されたら最強カードになるとオモw
0818デフォルトの名無しさん
垢版 |
2018/08/13(月) 23:51:09.53ID:WcQzhT4t
>>812
何度もその仕様を憎むコードを書いたの?
unsafe事案なんだからunsafeで書けばいいじゃん
0819デフォルトの名無しさん
垢版 |
2018/08/13(月) 23:54:51.00ID:uSgRX9ke
>>806
C++使ってたときは、所有権(どこでdeleteさせるか)に関して迷うほど複雑なことはしてなかったし、
C++書けるってほどじゃないです。ごめんね。

Rustは特にクロージャ絡んでくると所有権がややこしくて挫折した。
パフォーマンス気にしてRust使ったほうがいい場面もあるかもしれないけど、
GC使って楽できるならそうしたいっていう。
0820デフォルトの名無しさん
垢版 |
2018/08/14(火) 00:16:21.60ID:6wL1SHPP
>>806
正論はときに人を傷つけるからやめとけw
kuso設計をスマポ()で誤魔化してる連中には
所有権も借用もライフタイムもまだ早い
0821デフォルトの名無しさん
垢版 |
2018/08/14(火) 00:20:28.33ID:Ur70Uvut
rustの1番の問題点はハスケルと一緒でこういう選民思想持ったバカが多いって事なんだがまあ気づかないで言語毎消え去るんだろうな。
0823デフォルトの名無しさん
垢版 |
2018/08/14(火) 00:25:37.76ID:GbAAvXu+
よく選民思想だって言われてるけど単に一生懸命勉強したほうがいいよってことでしょ
プログラマにとってはそれが仕事じゃん
goとrustで実行に必要なコンピュータリソースに5%差があるならビジネス的には大きなアドバンテージになるのに、ややこしいからという理由で放棄するのはプログラマとしてどうかと思うよ
0825デフォルトの名無しさん
垢版 |
2018/08/14(火) 00:37:36.39ID:UmfJiPSG
>>823
よく言われてるって…
今までこのスレで選民思想って言ってたの多分全部同一人物だと思うよ
俺の記憶にあるかぎりではどれも主張と口調がすごく似通ってるし…
0826デフォルトの名無しさん
垢版 |
2018/08/14(火) 00:40:35.89ID:Ur70Uvut
まあいいけどね。。小難しく書くことに価値があると思ってるならそうしてればいいさ。
そのうち誰からも相手にされなくなるだけだから。
0827デフォルトの名無しさん
垢版 |
2018/08/14(火) 00:45:34.31ID:6wL1SHPP
その位置からだと「小難しく書くことに価値があると思ってる」ように見えるんだなw
0829デフォルトの名無しさん
垢版 |
2018/08/14(火) 09:58:27.32ID:EmNLnRJK
まあこれはインチキ人工知能が人間に勝つための作戦だと思う
人間が小難しいことを考えたら批判する
人工知能が小難しいことを考えたらほめてほめてほめまくる
0830デフォルトの名無しさん
垢版 |
2018/08/14(火) 10:11:21.24ID:gNz6xl68
なんの目的もなく「小難しい」事を書いてるわけ無いでしょw
そもそも理解すれば小難しくも何でもないし。

選民思想って言葉は、裏表あるが、選民の方の定義がよくわからん。
ついて行けた人間って事?
なら、ついていけなかった自分の心の平静を維持するために
「あいつらは理解できる人間で徒党を組んで理解できない人間をバカにしている」と思い込まないと仕方ないからのように見えるなぁ。
そうなると完璧に敗北を認めたような発言なんだし、選民思想云々と言って恥を晒さずにおとなしくしてりゃいいんじゃないかな?
0832デフォルトの名無しさん
垢版 |
2018/08/14(火) 17:30:29.19ID:YfFk5ERN
自分たちのことを選ばれた民なんて自称する馬鹿は(滅多に)いないので
外から呼ばれる時の言葉に決まってる、という当たり前の話を長く書いてるだけ
0837デフォルトの名無しさん
垢版 |
2018/08/15(水) 07:14:29.89ID:bFtKUg2A
rustで組み込みできないか調べ始めてるんだが
メモリまわり完全に使うがわで制御可能?
暗黙的にヒープ使われると見積りできなくなるからいやなんだが
0838デフォルトの名無しさん
垢版 |
2018/08/15(水) 07:16:40.13ID:bFtKUg2A
c代替言語探しても全部そのへんでアウトなんだよね
妥協して適当なヒープ見積りで作るぐらいならcでいいやってなる
0839デフォルトの名無しさん
垢版 |
2018/08/15(水) 07:25:16.84ID:1RF925rl
ヒープを使わないのは可能
ヒープを使うときはBoxに入れるので宣言的
0843デフォルトの名無しさん
垢版 |
2018/08/15(水) 15:26:38.61ID:fksu3zh2
このスレで教えられた見たことも聞いたこともないような言語:
ponylang
plasmalang
redlang
nimlang
minlang
0846デフォルトの名無しさん
垢版 |
2018/08/15(水) 16:36:47.86ID:x9PTY49Y
Wikipediaにあるプログラミング言語のリスト

1950年代 FORTRAN LISP ALGOL RPG COBOL
1960年代 CPL BASIC PL/I APL BCPL Simula LOGO B
1970年代 Forth Pascal C Prolog Smalltalk Scheme ML AWK SQL Ada
1980年代 C++ Objective-C Common Lisp Eiffel Erlang Perl Mathematica J
1990年代 Python Tcl Haskell Visual Basic Ruby Lua Delphi Java JavaScript PHP OCaml SuperCollider R ECMAScript
2000年代 C# Scala D F# Go Nim
2010年代 Dart Ceylon Elixir Hack Swift Rust Perl 6 Elm Julia Kotlin

90年代は豊作だったな。
0850デフォルトの名無しさん
垢版 |
2018/08/15(水) 18:17:20.87ID:RXe4E/ho
>>848
すげ替えとはどんな意味?
Boxは特別扱いされてるから挙動を変えたりはできないと思う
より具体的な話はrustスレがよいでしょう
0852デフォルトの名無しさん
垢版 |
2018/08/15(水) 21:02:28.91ID:z4s0ucNO
>>848
アロケータを変えたいという意味で聞いてるのなら一応可能だったはず。
「一応」っていうのは確かNightly(不安定版)だったはずってのと
使ったこと無いから正直俺もよく分かってないって意味。

因みにデフォルトのアロケータはjemallocだよ。
0853デフォルトの名無しさん
垢版 |
2018/08/15(水) 22:26:34.97ID:APlu/HCY
>>840
最初から漸進的型付とかバカちゃうか
型無し糞言語だからしょうがなく漸進的型付と型推論入れて糞をごまかしてるのに
最初から糞丸出しの糞とか糞以外の何糞なんだ?
0856デフォルトの名無しさん
垢版 |
2018/08/15(水) 23:41:33.78ID:E3SEeusM
型無しを見下すのも選民思想のようなものだな
HaskellやRustはこいつの手口に学んだのだろう
0857デフォルトの名無しさん
垢版 |
2018/08/16(木) 00:05:20.96ID:8FbEg6pQ
でも型のない言語で作られたプロジェクトの9割がゴミだったわ
PHP 5系とかほんと酷かった
0859デフォルトの名無しさん
垢版 |
2018/08/16(木) 08:43:40.33ID:idL3d23y
最初は型ありで、動的言語台頭してきて、
それがまた型ありのほうが良いってなった。
繰り返してるのかな?
また、将来動的言語の方が良いってならないか?
0861デフォルトの名無しさん
垢版 |
2018/08/16(木) 09:04:42.23ID:RDv9Hkfh
型推論が進化するとむしろ人間が下手に型を書くと推論の邪魔になるから最小限しか書かなくなるようになる
0864デフォルトの名無しさん
垢版 |
2018/08/16(木) 09:22:55.02ID:xlcF1CtQ
>>859
多分君が言ってる「型」ってのは、文字列、整数、浮動小数点とか構造体の事じゃね?
初期に普及したCPUアーキテクチャでは、そういった原始的型の実現が重要だった。
ソフトウェの組み方が、プロセス指向、データ指向、オブジェクト指向、メッセージ指向と拡張されるに連れて、必要な型も拡張されてきた。
で、現在「型」って一般的に言ってるのはオブジェクト指向用なんだが、その一方でC言語の入門編では古代の型を教えるから、大抵の人は混乱してしまう。
0866デフォルトの名無しさん
垢版 |
2018/08/16(木) 10:35:09.79ID:MHncYzYT
最近は動的な型解決が主流なんだろ?
0867デフォルトの名無しさん
垢版 |
2018/08/16(木) 11:27:59.24ID:z7UNiM5y
動的にも静的にも良いところはあるんだし、一概にどうとは言えんだろう。
動的型言語に慣れてるやつに言わせれば、コンパイラに指摘されるまでエラーに気づかないのは甘え、テスト不足、みたいな極論になるぞ。

オブジェクト指向もずいぶんアラン・ケイが考えたものと乖離してる気はするしな。
smalltalkは放置するとして、erlangみたいなメッセージ志向の言語はもう少しあっても良いと思う。
0870デフォルトの名無しさん
垢版 |
2018/08/16(木) 17:52:13.43ID:tq1QhB7i
我が社ではサーバ側をrustでリプレイスし始めた
今のところ楽しい
0871デフォルトの名無しさん
垢版 |
2018/08/16(木) 17:58:22.15ID:c6KW4Xnk
>>870
どの言語からRustにリプレースしてるの?
0873デフォルトの名無しさん
垢版 |
2018/08/16(木) 18:06:45.11ID:tq1QhB7i
php, java(or kotlin), c(apache module), nginx(lua module), python, ruby
など一通り

負荷の高いところからちょっとずつだけど、phpのは一つ終わった
0875デフォルトの名無しさん
垢版 |
2018/08/16(木) 18:17:13.11ID:tq1QhB7i
弊社ちっぽけな会社なもので、ランニングコストを抑えて価格で勝負しないとやってゆけないのです
0876デフォルトの名無しさん
垢版 |
2018/08/16(木) 19:23:57.75ID:gU4Rlb7s
小回りが効くってやつだね
0877デフォルトの名無しさん
垢版 |
2018/08/16(木) 19:46:40.67ID:W9G0HQT/
rust案件として俺を雇ってくれない?
仕事なら勉強しそう。TypeScriptなら仕事で使っとります
0881デフォルトの名無しさん
垢版 |
2018/08/16(木) 21:35:07.40ID:RTeJ6hpe
オープンソースのようにコストを公開する習慣がないから
高いという証拠も安いという証拠もない
だから無視されるんだ
0882デフォルトの名無しさん
垢版 |
2018/08/16(木) 22:00:51.30ID:T9wcum01
>>877
仕事じゃなくても勉強しないと!

>>878
元のコードの良し悪しについて無視するならば、phpのシステムはcpu時間が1/2、メモリ1/50、レイテンシ1/2、スループット3倍になった

>>879
無視してないよ
0884デフォルトの名無しさん
垢版 |
2018/08/16(木) 22:31:32.06ID:kn91KwfN
まあまさか月額百万以下とか言わないと信じてるけど、
動画配信のような本質的に高負荷な事業を除けば、クラウド費用が問題になるのはそもそもビジネスとして成立してないやろ
もしそんな状況なんだったらコスト削減なんかよりピボットして開発に金使うべきだわ
0886デフォルトの名無しさん
垢版 |
2018/08/16(木) 23:10:38.07ID:T9wcum01
>>883
なんの金額?

>>884
なんの金額?

>>885
アリアリだよ
0890デフォルトの名無しさん
垢版 |
2018/08/16(木) 23:43:02.90ID:T9wcum01
>>887
オンプレだからそういう計算はできないなあ
ちゃんとペイするからそう心配しないでよ
0893デフォルトの名無しさん
垢版 |
2018/08/16(木) 23:52:22.29ID:Ffi6604z
>>890
だったらクラウドに移行するか、データセンターに運用丸投げするのが先じゃね
手間も含めたらよっぽどコスト削減になると思うけど
0896デフォルトの名無しさん
垢版 |
2018/08/17(金) 00:14:22.68ID:3R/NRIs6
>>892
ここでアピっとけば誰かがビジネスチャンスだと思ってもっととっつきやすい本執筆してくれるんじゃないかっていうなんかそういうのだよ
0897デフォルトの名無しさん
垢版 |
2018/08/17(金) 00:22:10.39ID:nb1Don8C
>>893
そんなことはないんだけど、残念ながら納得いただけるだけの材料を提供することはできないからなあ
0898デフォルトの名無しさん
垢版 |
2018/08/17(金) 00:37:35.02ID:5IhifcNY
単純に自分の金が欲しいという話ではないんだよな
自分だけでなくみんなが金を欲しがって欲しいという話だから面倒臭い
0900デフォルトの名無しさん
垢版 |
2018/08/17(金) 07:33:34.97ID:eJodi2Ev
今出向してるベンチャーで工数が3倍になるのを覚悟してでも社内システムの開発用言語を関数型にしようとしてる。

最初はHaskell+elmだったけど、エコシステムが腐っているという理由によりScala+elmに変わった。rustは最初から除外されてた。学習コストが半端ないという理由により。
(まともに使えるのに2ヶ月かかる)
0901デフォルトの名無しさん
垢版 |
2018/08/17(金) 07:40:59.38ID:3zz7SNuw
Scalaって最近微妙によくきくな
昔いろいろ入れすぎて一瞬でオワコン化したって聞いたが
0902デフォルトの名無しさん
垢版 |
2018/08/17(金) 08:04:37.32ID:M6ILHp7j
Rustのコードを書くと借用チェッカにコテンパンにされて工数かかる、とでも思ってんのかねぇ。
実際は真面目に設計してりゃそこまで問題でもなかろうに。
0903デフォルトの名無しさん
垢版 |
2018/08/17(金) 08:05:36.14ID:wPZU9Mur
Scalaで生き残ってるのはSparkだけだよ
Sparkがビジネスで受け入れられ始めた頃にKotlinやDottyで無茶苦茶になってアーリーアダプタが一斉に引き揚げ、負債として残っちゃった
0904デフォルトの名無しさん
垢版 |
2018/08/17(金) 08:07:51.84ID:3R/NRIs6
コンパイルと言えばTypeScriptってめっちゃエラー出てるのにちゃんとjsファイル生成されるのには笑う
0905デフォルトの名無しさん
垢版 |
2018/08/17(金) 08:08:05.32ID:xjFqJl5K
>>900
> 工数が3倍になるのを覚悟してでも社内システムの開発用言語を関数型にしようとしてる

これはなんで?
0907デフォルトの名無しさん
垢版 |
2018/08/17(金) 08:24:57.45ID:lGFS5gdF
声の大きい関数型信者がいただけでしょ
社内システムだとビジネス観点の統制もないだろうし
俺も社内向けの仕事するときは毎回新しい言語使ってるぞ
0908デフォルトの名無しさん
垢版 |
2018/08/17(金) 08:44:50.39ID:PxGxdgOM
まあ、社内システムっていつでもごちゃごちゃになるもんだし、本当にできるなら関数型にすればテストは楽だね。

俺が作ってたシステムは、言語は関数型ではないけど、何が何でもキュー処理システムが処理する結果が正で、それ以外の書き込み許してなかったから、ジャーナルを流し直すとデグレてないかテストができるよ。
業種の問題なんだろうけど。売ってるシステムも、キュー処理システムだけが書き込み出来るようになってる。

非同期対応とかも、もともと非同期を前提にしてたから何も困らんし、キュー処理システムは処理ロジックとして何でも呼び出せるからモックにしようが本番にしようがなんとでもなったな。

変な言語で出来てるけど、どんな言語に持ってっても移植できると思うわ。
0909デフォルトの名無しさん
垢版 |
2018/08/17(金) 09:21:55.29ID:73aOPBuv
意識高い系のエンジニアに対してビジネスサイドによる適切な方向付けができてないと、
こうやって誰も求めていない非機能要件を勝手に創造してオナニーを始めるんだよな
0910デフォルトの名無しさん
垢版 |
2018/08/17(金) 09:31:08.74ID:eJodi2Ev
工数3倍というのは学習コストを加味してると思う。仕事で勉強していいとか羨ましい。
elixirも話題になったけど、結局erlangに精通する必要性が出るから除外された。
0912デフォルトの名無しさん
垢版 |
2018/08/17(金) 09:51:00.01ID:RgiGOjCt
Elixirは関数型として見ると微妙なんだよなぁ。
F#から借りてきたパイプライン演算子はなんでああなっちゃったんだろうか。
あれじゃただのUFCSなんだからドットにしとけばよかったのに。
0913デフォルトの名無しさん
垢版 |
2018/08/17(金) 10:36:43.40ID:PxGxdgOM
>>911
そうそう。
売り物の方が、監査証跡と全データの変更履歴が必須だから。
社内システムにも持ってきてるが、今まで事故ったのは入力ミスに赤伝切らずにDB書き換えた事由来ばっかり。
0914デフォルトの名無しさん
垢版 |
2018/08/17(金) 12:20:43.37ID:A0flNsox
俺も初めて任されたwebアプリケーションスタートアップでJSF選んだの後悔してるから変えたいわ
0915デフォルトの名無しさん
垢版 |
2018/08/17(金) 15:48:35.69ID:QW1TB1TE
>>900
Haskellのエコシステム、そんなにひどいのか。
具体的にはどういう所がダメなんだ?
確かにScalaはなんとなく良い感じなのは同意。
0917デフォルトの名無しさん
垢版 |
2018/08/18(土) 07:53:33.41ID:cIuR0GWn
他言語なら他のインストール方法試すなりコード弄るなりで対処しようがある感じだがhaskellはあかんわ。。
0918デフォルトの名無しさん
垢版 |
2018/08/18(土) 07:56:45.72ID:cIuR0GWn
>>907
自分のプロジェクトで使って最後までメンテするんなら別にいいと思うが
人のライブラリに無理やり突っ込んで人を実験台にしてくる輩は死ねと思う。
0920デフォルトの名無しさん
垢版 |
2018/08/18(土) 10:01:38.67ID:a1RXOr9m
>>867
>動的型言語に慣れてるやつに言わせれば、コンパイラに指摘されるまでエラーに気づかないのは甘え、テスト不足、みたいな極論になるぞ。

そんな奴見た覚えはないが、新人君みたいなテスト=単体のインターフェーステストって認識なのかもね。
0921デフォルトの名無しさん
垢版 |
2018/08/18(土) 10:07:23.30ID:NmE0jaYM
>>918
「関数型」と言ってる奴にとってはHaskell自体が実験台でしょ
パラダイムの方に興味があるということは実装のメンテナンスは期待できない
0922デフォルトの名無しさん
垢版 |
2018/08/18(土) 10:28:33.16ID:h0kGojvw
でも今どきピュー(P)と吹けば(H)壊れる(P)ウンポコペチプー選ぶガイジよりはマシだろ
0927デフォルトの名無しさん
垢版 |
2018/08/18(土) 11:20:32.47ID:cIuR0GWn
>>921
別に自分で実験する分にはいいと思うが
メンテナンス性も含めてそのパラダイムが有効か検証しないと意味ないだろ。
今時メンテナンス性を考慮しない言語なんてありえんわ。
0928デフォルトの名無しさん
垢版 |
2018/08/18(土) 11:25:02.02ID:NmE0jaYM
HaskellはCのライブラリをいくらでも取り入れるのでCが分からないと地獄
「全部自動化すればCが分からなくても問題ない」という説を信じたら地獄

一方、JavaやJavaScriptは鎖国のようなことをやってCを使わないようにした

この問題についてはパラダイムは関係ない
0929デフォルトの名無しさん
垢版 |
2018/08/18(土) 11:38:12.60ID:24N2f8T2
Googleは当初Dartでやろうとしてた事にはTypeScript採用したんじゃなかったっけ?
0930デフォルトの名無しさん
垢版 |
2018/08/18(土) 11:39:33.27ID:cIuR0GWn
>>928
haskellの評価順序とcの評価順序のバインディング考えるだけでも頭痛くなるわ。
そこに特有の最適化仕の把握しとかないと使えんだろうし、そんなもん普通のプログラマが使えるか。

>一方、JavaやJavaScriptは鎖国のようなことをやってCを使わないようにした
javascriptは知らんがjavaもc呼び出しはやるだろ。メモリモデルの違いで苦労はするがcの他からの呼び出しやすさはやっぱすげーと思う。
0931デフォルトの名無しさん
垢版 |
2018/08/18(土) 11:46:35.61ID:NmE0jaYM
機械学習がPythonになったのは、JavaでCを呼び出していいのか躊躇したからだと思うよ
0932デフォルトの名無しさん
垢版 |
2018/08/18(土) 11:58:21.02ID:cIuR0GWn
>>931
個人的にはdeeplearningの層を明示的に静的型付で表現するのがあんまり相性良くないから
と思ってるけど。javascriptでもある程度ライブラリ出し始めたところ考えるとそうかなと思う。
0933デフォルトの名無しさん
垢版 |
2018/08/18(土) 12:01:16.82ID:Y8rtZpa1
マルチプラットフォーム実装を前提とするライブラリならともかく
アプリ側からC呼ぶとか何のためのJVMか分からんがな
0934デフォルトの名無しさん
垢版 |
2018/08/18(土) 12:02:08.26ID:k5A8heiz
pythonは読みやすさからサンプルコードとしてよく使われていたのが
そのまま使われ続けただけ。
0935デフォルトの名無しさん
垢版 |
2018/08/18(土) 12:12:12.35ID:bDjLpxd+
何のためのjvmというが現実にはcのコードをポートする方が楽だからな
jvm が使えないプラットフォームにも対応できるし
0942デフォルトの名無しさん
垢版 |
2018/08/18(土) 21:03:35.36ID:NYofKyoT
>>937

コレクションもまともに扱えない言語は遠慮します
>>430,431
0945デフォルトの名無しさん
垢版 |
2018/08/18(土) 22:15:20.95ID:LJUhZIsV
rustのそれは今のところおまけだしょうに
0947デフォルトの名無しさん
垢版 |
2018/08/19(日) 02:12:43.21ID:a8MWQVyh
>>930
>haskellの評価順序とcの評価順序のバインディング考えるだけでも頭痛くなるわ。

どうせIOモナれば先行評価だろ。
0949デフォルトの名無しさん
垢版 |
2018/08/19(日) 10:32:37.43ID:e+xSqcBJ
そうなるわな
アプリを作らない言語は生産性がないと言われて作ってみたら
○○を作りたいだけの言語は汎用性がないと言われる
0951デフォルトの名無しさん
垢版 |
2018/08/19(日) 16:49:31.99ID:446qpG4D
>>936
そりゃ極論かまってちゃんはどんな世界にも居るだろ。
0952デフォルトの名無しさん
垢版 |
2018/08/19(日) 16:52:51.52ID:446qpG4D
>>942
趣味で重箱の隅に拘りたいやつならともかく、プロジェクトでは十分じゃん。
「次世代」ってビジネスの事だよ?
0953デフォルトの名無しさん
垢版 |
2018/08/19(日) 17:02:50.87ID:PCz528s8
十分でないことを説明するのもバカバカしい
0954デフォルトの名無しさん
垢版 |
2018/08/19(日) 17:28:40.01ID:e+xSqcBJ
だから、C言語を使えるレベルならPythonも使えるし
C言語禁止したいならPythonを使う意味はあんまりないって
0955デフォルトの名無しさん
垢版 |
2018/08/19(日) 17:46:58.67ID:aRJ7Tr37
>>952
単純なコレクション操作すら可読性の低いコードになるという指摘に対して
「趣味で重箱の隅に拘る」と決めつける極論を返すなんて、さすがPython信者の鑑です

ここで「たしかにPythonの標準ライブラリ設計には問題がある」と認めた上で、
「しかしながら、機械学習/科学技術計算/ラズパイといった特定の分野に限れば、
 Pythonには優れたライブラリ/フレームワークが数多く存在しているから、
 ビジネスであれば標準ライブラリの問題は取るに足らない些細な事柄だ」と
切り返すなら、常識的で説得力もあるんですけど
0956デフォルトの名無しさん
垢版 |
2018/08/19(日) 17:49:48.28ID:kbh06eRc
>>953
君みたいなドカタが不十分と考えようが、多くの企業で好意的に採用されてるよ
バカバカしいのは君のドカタ人生の方だよ
0957デフォルトの名無しさん
垢版 |
2018/08/19(日) 17:52:35.01ID:fl3oF6bb
pythonのリスト操作すらまともに理解できないならプログラムなんてしない方がいいレベルだと思うが。
0961デフォルトの名無しさん
垢版 |
2018/08/19(日) 18:18:23.40ID:ZGYTo3NV
C言語って言語仕様だけ知っててもほぼ実用性のあるものなんて作れないんだよね

ハードウェアだかOSだかバイナリファイル(画像、音声など)の仕様の理解が別で必要になるし
そっちが非常に難解なだけでC言語の言語仕様自体は極めてシンプル
0963デフォルトの名無しさん
垢版 |
2018/08/19(日) 18:54:44.91ID:aRJ7Tr37
失礼な!!Python は FORTRAN/COBOL/BASIC に代表される
伝統的な手続き型言語の正当な後継スクリプト言語、
次世代の純粋手続き型言語です

関数型?オブジェクト指向?
そんなのは飾りです、偉い人にはそれが分からんのですよ(必死
0964デフォルトの名無しさん
垢版 |
2018/08/19(日) 19:14:57.92ID:ZGYTo3NV
まぁそのうちGoogleがPythonで出来るような事を全部Golangで出来るように頑張って欲しいね
0975デフォルトの名無しさん
垢版 |
2018/08/19(日) 22:46:25.94ID:WKvykaAV
それを言ったらもうKotlinくらいしか
次世代言語と言えない
C#が高速バージョンアップでどんどん別言語になっていくくらい
0976デフォルトの名無しさん
垢版 |
2018/08/19(日) 22:50:07.16ID:4zqpTXDf
>>974
そう言うような気はしてた。じゃあ逆に質問させてくれ
殆どCの上位互換であるC++をわざわざ避けた理由は?
そこに明確な理由が無い場合はやはりRustを勧める
0977974ではない
垢版 |
2018/08/19(日) 23:02:50.52ID:aRJ7Tr37
>>976
横レスになるけど:
 並列プログラミングという課題に対して、
 CからC++へと拡張された「オブジェクト指向」は、
 言語仕様を複雑怪奇にさせた阻害要因となっているから
と考える
0981デフォルトの名無しさん
垢版 |
2018/08/19(日) 23:28:11.39ID:4zqpTXDf
>>978
殆どの言語のFFIが相手がCなの前提にしてるからな…
RustならC互換のABI公開出来るけど、
それなら素直にC使えば…と思わなくもない

俺はRustが好きなんでFFI前提でもRustを使うと思うが、
他人にお勧めはできないかも
0982デフォルトの名無しさん
垢版 |
2018/08/19(日) 23:46:59.25ID:ZGYTo3NV
別にC++のコンパイラを使うからと言ってクラス機能を必ず使う必要はないと思うのだけれども
0985デフォルトの名無しさん
垢版 |
2018/08/20(月) 00:35:07.08ID:JBCtYT+G
>>956
それならphpを使うべきだな
0986デフォルトの名無しさん
垢版 |
2018/08/20(月) 01:04:14.02ID:5QxB31Yx
次世代言語は、なんとなく見えてきた気がする。
そろそろ次々世代言語を考えるべきじゃないか。

正直プログラミング言語なんて全然進歩していない気がする。
2020年にもなってC言語が生き残っているとは思わなかった・・・・
0989デフォルトの名無しさん
垢版 |
2018/08/20(月) 03:25:00.31ID:cWB0G2PQ
Swiftの話題薄いから次のスレタイから入れ替えるのありかも

>>987
Dartについての肯定的な反応少ないし
スレタイがGoogle推しの言語(Go Dart Kotlin TypeScript)に偏りすぎるよ
1000デフォルトの名無しさん
垢版 |
2018/08/20(月) 22:15:10.71ID:Kx0+pXg/
型無し糞言語ガイジどもが地獄の業火に焼かれてなるべく苦しんでグチャグチャに死にますように
ついでに末代まで呪われろ
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 47日 12時間 36分 55秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


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

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

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

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

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