18/03/20 20:38:30.06 PD8yAuaT.net
>>504
アドバイスありがとうございます、チュートリアル最初の数当てゲームが終わったところです
522:デフォルトの名無しさん
18/03/20 20:39:04.23 tLYOcIpU.net
テストを用意すると自動的にコード生成するのが次世代言語じゃないかな?
523:デフォルトの名無しさん
18/03/20 20:41:08.57 J0Id73NT.net
>>504
WindowsのアプリケーションはほとんどがC++で書かれており、ゲロゲロのごみとはそういったもののことを言うんですよ。
例えばChromeとかね。
524:デフォルトの名無しさん
18/03/20 21:01:58.36 eQ1biRix.net
>>495が偉いのはC++の代わりにJavaではなくCを選ぶところ
C++を使いたくなったらすぐ掌を返せる絶妙な位置
525:デフォルトの名無しさん
18/03/20 21:03:53.47 LX463VTZ.net
>>508
Linusの言だぞ
526:デフォルトの名無しさん
18/03/20 21:07:40.66 J0Id73NT.net
とはいえ、C++にはプログラミングの面白さ全てが詰まっている。
527:デフォルトの名無しさん
18/03/20 21:08:30.04 J0Id73NT.net
頭の良い若者にはぜひC++にチャレンジしていただきたいですね。
※馬鹿にはお勧めしません。
528:デフォルトの名無しさん
18/03/20 22:15:07.02 /+MVnq9/.net
くっ…こいつ(ID:J0Id73NT)全然引かねぇなww
>>501の「RAIIこそが本命だと感じました」に関してはある程度同意するが
RAIIならC++よりRustのほうが優れてると思うけどね。Dropトレイト便利だよ
次世代言語スレで次世代のRustではなく頑なにC++を推す理由は?
529:デフォルトの名無しさん
18/03/20 22:22:14.78 /+MVnq9/.net
>>505
RustはHaskellと同じで実践で役に立つかはともかく学習しといて損はない言語だと思うので頑張って
言ってる自分もいまだに結構な頻度でコンパイラと格闘してるのだが…
とりあえず所有権・借用・ライフタイムの概念まで終わったら感想を聞かせてほしいかな…
530:デフォルトの名無しさん
18/03/20 23:32:04.40 ojRlp1ye.net
c++ で所有権意識して書く方が、rustでunsafe周りを使うより楽で安全だから。
531:デフォルトの名無しさん
18/03/20 23:35:49.06 ck80uwiX.net
C++20でうるう年サポートだってよwww
……なんだようるう年って他にやる事あるだろ…………
532:デフォルトの名無しさん
18/03/20 23:47:09.33 J0Id73NT.net
流行ものはいずれ廃れるんですよ。
533:デフォルトの名無しさん
18/03/20 23:59:40.98 /+MVnq9/.net
>>516
じゃあなんで次世代言語スレに居るんだ…( ゚д゚)?
534:デフォルトの名無しさん
18/03/21 00:23:07.24 fTbDiwfs.net
次世代もC/C++だからですよ。
535:デフォルトの名無しさん
18/03/21 00:34:20.76 6aYzYwF2.net
C++は置いといて、ライフタイムについては何年かしたら画期的な解決方法が開発されて
あのrustに費やした努力はなんだったんだ……って事になったらいいなあみたいな期待はないでもない
536:デフォルトの名無しさん
18/03/21 01:27:25.51 O5cKQJeM.net
>>495
でもgccも今ではc++で開発されてるじゃん
537:デフォルトの名無しさん
18/03/21 01:39:07.97 pF+TNkB8.net
>>495
これ、C++に限らず色々なクラスベースオブジェクト指向言語と信奉者に
多かれ少なれ、言えることじゃね?
538:デフォルトの名無しさん
18/03/21 02:43:19.10 +8mievnH.net
>>519
コピーと参照のトレードオフは本質だよ。
どんな言語作ろうとそれは変わらん。
超える可能性があるとすれば量子効果のあるコンピュータとその言語か。
539:デフォルトの名無しさん
18/03/21 02:47:53.30 pF+TNkB8.net
∧∧
ヽ(・ω・)/ ズコー
\(.\ ノ
、ハ,,、  ̄
540:デフォルトの名無しさん
18/03/21 03:17:32.00 fTbDiwfs.net
注ぎ込めるリソースが少ない場合、C++を選択してください。
あなたの要求は完ぺきにかなえられるでしょう。
541:デフォルトの名無しさん
18/03/21 06:35:12.70 TV3lE0eZ.net
>>521
まあそうだけど C# や Java では既存の実用的なフレームワークが強い影響力を持ってるから
俺が考えた最強の~的なオブジェクト指向の設計はしないんじゃないか?
Windows アプリの場合 C++ でも mfc や wtl 使うから同様のことが言える
542:デフォルトの名無しさん
18/03/21 06:37:39.43 fTbDiwfs.net
Linusは無料で奴隷をこき使える才能がある。
だからこそC。
我々は工数考えないといけないからC++。
543:デフォルトの名無しさん
18/03/21 06:38:46.28 TV3lE0eZ.net
書き捨てのユーティリティとか書くときも map とか使いたいもんね
544:デフォルトの名無しさん
18/03/21 06:43:22.74 fTbDiwfs.net
Linusは生粋の5ちゃねらだし、あいつのあおりを真に受けちゃいかんよ。
545:デフォルトの名無しさん
18/03/21 06:48:17.40 fTbDiwfs.net
OOはウィンドウシステムと非常に相性が良いんだ。
CでもOO出来るって?
ああそうだな、Xのソースは1980年代末期に研究したよ俺も。
流行ってたんだ。
歩いてだってアメリカには行けるさ、お前ならな。
だが俺は飛行機で行く。
それだけのことだ。
546:デフォルトの名無しさん
18/03/21 07:05:06.97 LE/KJcVc.net
Linusがカーネル周りの人間って事を忘れてはいけない
その前提とシステムプログラムの観点からCが選択されたのであるし、更にその発言が結構前であることも意識しなきゃ
547:デフォルトの名無しさん
18/03/21 07:14:44.19 fTbDiwfs.net
KHTMLはIEと同じ表示ができたので気に入っていた。
それが今やEdgeがWebkit互換表示だもんな。
548:デフォルトの名無しさん
18/03/21 07:16:02.63 fTbDiwfs.net
ただなあ、Javascriptの邪悪さには誰も勝てないと思う。
549:デフォルトの名無しさん
18/03/21 08:26:35.73 6aYzYwF2.net
>>522もムーブセマンティクスが流行った時は飛びついたくせにー
古くはPascalのconst引数、新しくはswiftのinoutみたいにコピーと参照が曖昧なのもあるし
明確に区別したままでももっといい推論方法だってできるかもしれない
550:デフォルトの名無しさん
18/03/21 09:47:49.88 7q6KKp9o.net
早すぎる一般化は諸悪の根源なんやで
まずCで書き、そのあと他の言語に移植しなさい
551:デフォルトの名無しさん
18/03/21 11:03:36.91 6+RFoA8s.net
早すぎる最適化や過剰な一般化ならともかく、一般化が早すぎて困ることなんてそうあるかねぇ?
552:デフォルトの名無しさん
18/03/21 11:33:24.48 2s39Qc49.net
むしろ早すぎる具体化詳細化のほうが害悪だな。
553:デフォルトの名無しさん
18/03/21 11:52:04.49 KBtkuQdG.net
Linusは何も間違ってないし、むしろ高級言語使う側が「楽だから」と目を閉じてるのが問題だと思うけど。
ちゃんとどんな機械語になるか把握して、どれぐらいのオーバーヘッドがあって、それはこういう基準やメリットで許容してるから、俺はxxx言語を使う、って言い切れないのが問題じゃない?
554:デフォルトの名無しさん
18/03/21 12:06:23.78 2s39Qc49.net
90年代まではそれで正解だったけど、今の時点で「コンパイラが吐く機械語が予測しやすい」のは欠点でしかないし、実際Cコンパイラもかなりの最適化をするわな。
555:デフォルトの名無しさん
18/03/21 12:17:48.32 KBtkuQdG.net
最適化は想定してコンパイルするだろ。Cなら特に。書き方にも関わるし、コンパイルオプションにもかかわるし。
予測しやすいか、しにくいかなんて問題にしてなくて、予測じゃなくて把握しろって思うんだって。
コンパイル結果みて考えても良いぐらい。
「とりあえず楽」じゃなくてさ。
そういう意味では、Goみたいに-gcflags -Sで簡単にアセンブリコード見れるのは良いと思うし、流行りの高級言語にもあって然るべきだと思うんだが。
要らない、全部コンパイラが楽させてくれる、って言うやつはRustをディスる事も、Cを称賛する事も中途半端だと思う。
556:デフォルトの名無しさん
18/03/21 12:19:27.12 rpkcQ7dD.net
そろそろ人知を超えた最適化を行うAIコンパイラとか出てきても良さそうだけどね
抽象度の高い言語の方が最適化�
557:フ余地が広くて有利になったりして
558:デフォルトの名無しさん
18/03/21 13:16:11.38 WIlWrPur.net
別の方に着目したいから楽ちん高級言語を使っているのに
それを目を閉じると表現するのはいかがなものか
559:デフォルトの名無しさん
18/03/21 13:25:57.59 +8mievnH.net
>>535
いくらでもあるだろ。
めちゃくちゃデラックスなプリント文とかな。
560:デフォルトの名無しさん
18/03/21 14:07:57.78 366TuTPF.net
実はお前らが内心で求めてるのは次世代言語じゃなくて前世代言語じゃね?
561:デフォルトの名無しさん
18/03/21 14:13:44.60 zc8zGgCT.net
コピーと参照の違いは代入すればわかる
だから代入を禁止すればコピーと参照の違いを捨象できる
抽象化とはつまり具体的な何かを禁止することだ
禁止されている自覚がないなら、目を閉じていると批判されても仕方ない
562:デフォルトの名無しさん
18/03/21 14:19:34.98 OmyrbXdn.net
>>500
こんなのあったんか。まだ開発序盤か
563:デフォルトの名無しさん
18/03/21 14:53:44.91 KBtkuQdG.net
別の方を着目したからと言って「見ないことにしている」を「見なくていいから楽」と取るのは間違ってるだろ。
564:デフォルトの名無しさん
18/03/21 15:05:39.36 zc8zGgCT.net
ケースバイケースだろ
・全てのケースで間違ってる
・全てのケースで正しい
これ以外の選択肢が見えなくなるのがおかしい
565:デフォルトの名無しさん
18/03/21 15:08:02.21 7q6KKp9o.net
Cはどのように最適化されるかわかるからそれを想像しながら書くことで
美しいコードがかけるんだよな。
566:デフォルトの名無しさん
18/03/21 15:15:52.41 zc8zGgCT.net
最適化は別にどうでもいい
人知を超えた最適化してもいいぞ
ただし人知を超えた仕様変更とか人知を超えたデバッグは困る
567:デフォルトの名無しさん
18/03/21 15:19:26.15 7q6KKp9o.net
ネットサーフィンでホームページみると汚い糞みたいなコードしかないからな。
俺くらいのプロになると美しいコードを書くだけで勝手に正解になっている。
コツは対称性を意識すること。対称性を持った完全な美に矛盾は存在する訳ないからな。
568:デフォルトの名無しさん
18/03/21 15:28:41.94 fTbDiwfs.net
boostは新言語と言って良いのではないか。
569:デフォルトの名無しさん
18/03/21 15:35:40.07 7q6KKp9o.net
boostは便利なものもあるけれどほとんどがゴミだよね
570:デフォルトの名無しさん
18/03/21 15:36:59.68 2s39Qc49.net
いつの時代のCコンパイラの話だよw
571:
18/03/21 15:39:31.62 ZGJmhAHm.net
>>549
>人知を超えたデバッグ
………
572:デフォルトの名無しさん
18/03/21 15:52:31.99 fTbDiwfs.net
>>552
テンプレート大好きな感じを何とかしてもらいたいよな。
573:デフォルトの名無しさん
18/03/21 16:26:40.62 fTbDiwfs.net
ストリーム廃止運動が必要。
574:デフォルトの名無しさん
18/03/21 18:32:27.05 KwzRI0fp.net
boost もjavascriptのBrowserifyみたいなツールで必要なモジュール部分だけ取り出して
コンパイルを速くできる機能ってないのかね?
それとも依存が激しくて結局全部マルごとになっちまうってことなんかな。
575:デフォルトの名無しさん
18/03/21 18:33:29.63 MnBjTwAx.net
boostがC++標準委員会のケツ蹴飛ばしたおかげでだいぶ今のC++良くなったじゃん
576:デフォルトの名無しさん
18/03/21 18:37:44.59 fTbDiwfs.net
>>557
boostを・・・というより使う側で配慮すれば分割コンパイルの恩恵にあずかれる。
577:デフォルトの名無しさん
18/03/21 19:30:11.24 5MZw04v3.net
>>557
なってるんだが…
578:デフォルトの名無しさん
18/03/21 21:34:18.38 UH8S3msx.net
>>500
PLASMA言語っすか…これは初めて知ったわ
今パッと見ただけだけど、なんとなくHaskellに近い雰囲気を感じた
どこら辺が違うのが詳しく説明してくれない?
579:デフォルトの名無しさん
18/03/21 22:01:31.33 LNpphUL+.net
すべてプラズマで説明できそう
580:デフォルトの名無しさん
18/03/21 22:52:30.65 fTbDiwfs.net
ではboostをプラズマで説明してもらおうか。
581:デフォルトの名無しさん
18/03/22 00:28:48.05 NqS/W9is.net
>>560
いや、二、三個の関数使うだけであのビルド時間はおかしいぞ。
582:デフォルトの名無しさん
18/03/22 01:22:53.45 tiDItZ1f.net
使い方を知らんってことか。
583:デフォルトの名無しさん
18/03/23 21:30:21.55 yG5SnY
584:rv.net
585:デフォルトの名無しさん
18/03/23 21:32:50.91 J4dYcx4H.net
>>566
>c++いいんかそんなに
>>495
586:デフォルトの名無しさん
18/03/23 23:22:27.41 IQgPE3+N.net
混とんとしたウェブの状況を見ればウェブ屋さんが薦める言語なんて使えない。
ウェブ屋さんは昔から頭がおかしい。
落ちまくるネットスケープを推奨してたような人たちだぞ。
IEと互換性があるからKHTMLはダメだとも言っていた。
ウェブ屋さんが一番ネットスケープに苦しめられていたというのに。
つまり彼らはマゾなのだ。
587:デフォルトの名無しさん
18/03/23 23:30:09.64 IQgPE3+N.net
本来ネットワーク上で流通するものはすべて決定性を持つアルゴリズムで解析できなければならないだろう。
言語でいえばJava、データ形式でいえばXMLがそういったものだ。
実はW3Cはそういった方向にウェブを進めようとしていた。
これに反対したのがグーグルやアップルだ。
この反対する姿勢は純粋に政治的なもので技術の上に成り立つものではない。
もしもム板で議論されたなら技術が勝利したであろう。
しかし議論の場はム板ではなかった。
世界中の優秀なウェブ屋さんが集まったとはいえウェブ屋さんはしょせんウェブ屋さんなのである。
588:デフォルトの名無しさん
18/03/23 23:36:00.72 IQgPE3+N.net
OWASPの資料を見てほしい。
なぜウェブが危険なのかわかるだろう。
つまりほとんどすべてウェブ屋さん自身が持ち込んだ危険である。
589:デフォルトの名無しさん
18/03/24 06:31:03.15 iue9vSP8.net
混とんとしたカーネルの状況を見ればOS屋さんが薦める言語なんて使えない。
OS屋さんは昔から頭がおかしい。
落ちまくるBSDを推奨してたような人たちだぞ。
DOSと互換性があるからWindowsはダメだとも言っていた。
OS屋さんが一番MS系に苦しめられていたというのに。
つまり彼らはマゾなのだ。
590:デフォルトの名無しさん
18/03/24 06:34:45.58 iue9vSP8.net
本来OS上で機能するものはすべてPOSIXに準拠しなければならないだろう。
言語でいえばC、データ転送でいえばファイルがそういったものだ。
実はPOSIXはそういった方向にOSを進めようとしていた。
これに反対したのがMSやアップルだ。
この反対する姿勢は純粋に政治的なもので技術の上に成り立つものではない。
もしもム板で議論されたなら技術が勝利したであろう。
しかし議論の場はム板ではなかった。
世界中の優秀なOS屋さんが集まったとはいえOS屋さんはしょせんOS屋さんなのである。
591:デフォルトの名無しさん
18/03/24 07:42:28.38 Z79Bg+7E.net
>>572
決定性を持たなければならないのはsecurity reasonであって標準とは無関係だぞ。
ウェブ屋さんは昔の論文を読み漁るべきだろうな。
セキュリティに最も関心を持つべき職業なんだから。
592:デフォルトの名無しさん
18/03/24 07:46:59.67 Z79Bg+7E.net
世界を再構成する、Re Designを提唱する。
593:デフォルトの名無しさん
18/03/24 07:48:27.16 76HSbC/B.net
すべて文脈自由文法でなければならない
これに反対したのがPerl正規表現やCプリプロセッサだ
この反対する姿勢は純粋にGNU/Linux的なものでグーグル/アップルではない
594:デフォルトの名無しさん
18/03/24 08:41:54.13 Z79Bg+7E.net
>>575
ハイ、ダウト。
595:デフォルトの名無しさん
18/03/24 11:43:16.47 1vPeJim6.net
インターネットはウェブ屋さんだけのもんじゃないからね
素人が適当に作れるのは大事なんだよ
確かに苦労は絶えないけど
596:デフォルトの名無しさん
18/03/24 11:45:42.94 Z79Bg+7E.net
>>577
HTML一つとっても素人が気軽に書ける時代じゃないだろう。
なぜそうなったかわかるかい?
本来別のレイヤーにあるべきものをHTMLは一つ人類みな友達とかわけわからないこと言って一緒くたにしたからだよ。
597:デフォルトの名無しさん
18/03/24 11:54:04.10 Z79Bg+7E.net
html5-tidyでCustom elementのサポートについて議論があって、いろいろ考えさせられる。
598:デフォルトの名無しさん
18/03/24 11:57:19.01 76HSbC/B.net
政治的というのは「人類みな友達」のことじゃないだろう
平気で嘘をついたり、間違いを絶対認めないことを政治的というんだ
599:デフォルトの名無しさん
18/03/24 12:23:11.92 iue9vSP8.net
OS/2 WARPの資料を見てほしい。
なぜpreemptive context switchingが危険なのかわかるだろう。
つまりほとんどすべてOS屋さん自身が持ち込んだ危険である。
600:デフォルトの名無しさん
18/03/24 13:05:00.91 Q4O/QWqD.net
まあセキュリティー商売なんてのは危険を煽らないと成り立たないからな。
601:デフォルトの名無しさん
18/03/24 18:52:42.30 bGodUaM+.net
>>578
いやあ未だに適当に書いてるよ
プロだってほとんど適当だよ
602:デフォルトの名無しさん
18/03/24 19:47:17.53 pV2WFofj.net
HTMLは俺もクソ適当に書いてるわ
あんなもん書捨てで動きゃいい
divじゃなくてarticleタグ使えだのcssのセレクタにdata属性使うのはやめろだのと
くだらない拘りでコードレビュー通さない意識高い系フロントエンダーはマジで害悪だわ
HTML/CSSにおけるデザインと論理構造の分離なるものが現実に何かの役に立ったのなんて見たことない
603:デフォルトの名無しさん
18/03/24 19:58:25.59 DVXvRdXT.net
HTMLはタグの数を極力減らして
XSLT使って独自タグを定義する方向に向かえば良かったと思う
604:デフォルトの名無しさん
18/03/24 20:22:26.30 eKuOy/a9.net
>>585
向かってるだろ
605:デフォルトの名無しさん
18/03/24 20:28:12.89 g25JX84P.net
reactとか?
cssが未だによくわかんねえ。あれわかる人なんなので。
606:デフォルトの名無しさん
18/03/24 20:58:55.04 Z79Bg+7E.net
ReactでSSR、サーバーサイドでレンダリングした結果をクライアントで引き継げて凄すぎ!
みたいなのは、努力の方向性が間違っているような気がする。
SSRの必要があるってことは、結局SPAである必要が無いような。
607:デフォルトの名無しさん
18/03/24 21:12:09.71 uNUSOufN.net
画面の大きさがPCとスマホで全然違うからデザインが違う
せめて論理構造だけは同じにするべきだが
まさかPCと同じ情報を見ることができない実質ガラケーのようなスマホはないよな
608:デフォルトの名無しさん
18/03/24 21:34:42.30 OxsUYtrP.net
>>584
HTMLとして見ればその通りなんだろうけど、XMLで作ったデータフォーマットからウェブも含めた何かを作ってるような人たちには許容できない部分なのかもしれん。
PageMakerで組版してる人たちとか。
同じブロック要素でも、naviとarticleは文字詰めの方法が違うとか、そういう部分で、何でもdiv+classにすんなと言うのは充分わかる。
609:デフォルトの名無しさん
18/03/24 21:37:02.47 LUxFSHaJ.net
>>584
書き捨てで誰もメンテしないならそれでいいだろうな
そんなのレビューしなくていいと思うけど
610:デフォルトの名無しさん
18/03/24 21:42:42.38 Z79Bg+7E.net
考えるのに紙は依然として役に立つけど、読むのには紙である必要がなくなってきたな。
高性能なタブレットが重すぎるのを何とか出来れば完全に紙を駆逐できるんじゃないか。
611:デフォルトの名無しさん
18/03/24 21:42:47.26 gBcMRATK.net
PageMakerじゃないな。普通に名前間違えた。FrameMakerとか。
612:デフォルトの名無しさん
18/03/24 21:45:34.89 Z79Bg+7E.net
Googleが出すOSSは尻切れトンボが多いな。
613:デフォルトの名無しさん
18/03/24 21:49:22.28 gBcMRATK.net
>>592
電池が要らない、
濡れても乾かせば大丈夫、
乱雑に投げられる、車に轢かれても壊れない、
複写を他人にページ単位で簡単に渡せる、
そのへんの筆記具で好きに書き込みが出来る、
氷点下20度でも使える、
破れてもセロテープで取り急ぎ直る、
完全に読めなくなっても比較的安価に買い直せる
このあたりが紙の冊子が電子媒体で駆逐できない所だと思うよ。
特に取説とか。
614:デフォルトの名無しさん
18/03/24 22:03:59.29 Z79Bg+7E.net
太陽光発電でもつけておけ。
615:デフォルトの名無しさん
18/03/24 22:07:01.15 uNUSOufN.net
「QRコードを印刷する紙がないぞ」「あんなの飾りです」
616:デフォルトの名無しさん
18/03/24 22:36:07.63 Z79Bg+7E.net
Gumbo parserってどうなんだよ。
617:デフォルトの名無しさん
18/03/24 23:58:13.59 Q4O/QWqD.net
手触りで大体のページを把握するってインターフェイスに慣れ過ぎてるから
それを超えるまではまだまだ電子ペーパーは人類には早い
618:デフォルトの名無しさん
18/03/25 00:06:04.48 +oTPc842.net
なんの話だよ
OCamlの話いいっすか?
619:デフォルトの名無しさん
18/03/25 00:16:01.86 U5SlEUJl.net
民主党→民進党のように名前をちょっと変えると爆発的に売れる場合もあるからな。
620:デフォルトの名無しさん
18/03/25 00:18:17.39 JVNvN7ma.net
>>591
保守性という観点で言えば、DRYさえ死守してれば後は些細な問題だと思うよ
HTMLに限った話じゃないけど
621:デフォルトの名無しさん
18/03/25 00:30:12.26 GhdgZmXr.net
htmlでdryを守とかそれが無理だっつーの
622:デフォルトの名無しさん
18/03/25 00:41:53.53 Wz8WBZT8.net
OCamlに話すことあるか?
623:デフォルトの名無しさん
18/03/25 00:55:24.67 Qy9e8iWO.net
>>594
収益に直結してないものはやりたい人がいなくなったらそれまでだからな
624:デフォルトの名無しさん
18/03/25 01:20:58.23 4Rittzre.net
>>602
全部グローバル変数で名前規則さえ死守してればいいとでも言うのか?
625:デフォルトの名無しさん
18/03/25 07:18:41.27 WO056vpM.net
>>604
Haskellと重複する部分についてDRYを死守する方法を話して
626:デフォルトの名無しさん
18/03/25 08:01:39.02 U5SlEUJl.net
URLリンク(www.stroustrup.com)
ロッキード・マーティン F-35 Strike Fighter Air Vehicle 開発のためのC++コーディング・ガイドライン。
※URLでお分かりの通り禿が関わっています。
627:デフォルトの名無しさん
18/03/25 14:46:57.32 2EIVAaim.net
>>601
立憲民主党と勘違いしてない?
628:デフォルトの名無しさん
18/03/25 16:11:18.40 +oTPc842.net
関数があるのにDRYに苦労する状況が分からん
629:デフォルトの名無しさん
18/03/25 19:01:20.02 NiWlHtrf.net
政治の話はNGで
630:デフォルトの名無しさん
18/03/25 21:25:39.57 WO056vpM.net
プログラム技術という観点では政治も経済も経営もNG
631:デフォルトの名無しさん
18/03/25 22:55:03.56 U5SlEUJl.net
政治では名前が長くなり始めると危険領域だよな。
○○民主主義自由独立解放戦線的な。
朝鮮民主主義人民共和国とか欲張りすぎな国もあるし。
予言しておくけど立憲民主党は時代とともに名前が長くなるぞ。
632:デフォルトの名無しさん
18/03/25 22:56:11.12 U5SlEUJl.net
日本も大日本帝国時代は危険領域だったんだろな。
633:デフォルトの名無しさん
18/03/25 22:57:49.97 U5SlEUJl.net
Googleのコーディングガイドラインは名前はいくら長くなっても良い、省略された名前はダメと述べているからな。
罠かもしれんな。
634:デフォルトの名無しさん
18/03/26 00:02:29.61 3hemhRjv.net
悩ましいぞな
635:デフォルトの名無しさん
18/03/26 00:05:05.18 mhu6xXG+.net
つまりこう
for (int indexOfItemInArrayOfProxyInformation = 0; ; ++i) {
auto proxyInformation = arrayOfProxyInformation[indexOfItemInArrayOfProxyInfomation];
...
みたいな
636:デフォルトの名無しさん
18/03/26 00:08:00.38 QH+aPMzj.net
ofを使ったら負け
637:デフォルトの名無しさん
18/03/26 00:10:58.12 mhu6xXG+.net
でもインデックス複数あったら?
638:デフォルトの名無しさん
18/03/26 00:23:51.81 WZ1ZCWjW.net
ストアドよりインデックスのほうが早いよ。
639:デフォルトの名無しさん
18/03/26 00:32:41.52 ceAN67+T.net
何でも極端に走っちゃいかん。
バランスは大事よ。
640:デフォルトの名無しさん
18/03/26 00:35:46.73 mhu6xXG+.net
getInfo なんてのは Android の api でも見かけるし
information を info と略するのはありなんだろうな
普通の会話でもしばしばそう略すし
他にもなにか例外があるかとAndroid ndk api リファレンス眺めたら
名前がどれもこれも長くて驚いたわ…特にenum
641:デフォルトの名無しさん
18/03/26 01:21:09.02 BMtnwc7n.net
理由がわからない命令に従うから暴走するんだな
長くする理由を知ってたら必要な長さ以上にはならないし
理解できないものは反対したり批判したりする習慣があれば暴走しない
642:デフォルトの名無しさん
18/03/26 01:28:05.88 mhu6xXG+.net
例えを出しただけなのに「理由がわからないなら反対しろ!」と言われましても…
643:デフォルトの名無しさん
18/03/26 01:45:15.94 h+3ybIF8.net
馬鹿らし過ぎる。。
関数切り出してスコープ切ればいいだけの話だろうに。
今時の言語ならネームスペースだって使えるだろうし、エイリアシングみたいなものも
ある。
てかそれもなければなんの略かのコメントでも付けてろよ。
644:デフォルトの名無しさん
18/03/26 01:59:38.91 BMtnwc7n.net
>>624
反対しろとは言ってないぞ
しかし単語の組み合わせを少し改竄するとそういう意味になる可能性はあるのか
だから短い単語を組み合わせるのをやめて長い固有名詞を一個だけ書くのか
645:デフォルトの名無しさん
18/03/26 02:02:12.66 hwIkGQhx.net
goだとどいつもこいつもクッソ短いんだけどな
google内でも派閥があると見える
646:デフォルトの名無しさん
18/03/26 02:05:44.31 mhu6xXG+.net
>>626
哲学とかも不要な誤解や意図した曲解を避けるために用語をどんどん定義していくよね
今回で言えば「合目的的」であれ、とかか。
でも非常に長い名前は必ずしも判りにくくは無いんだよねああして書いてみると。
見難いのが問題なだけであって。
647:デフォルトの名無しさん
18/03/26 03:07:46.44 qQm2MzQc.net
名前が無いものに分かりやすい名前を付けようとするとどうしてもそのまんまの名前になっちゃうんだよな
aにbを足してcをかけた数に「aにbを足してcをかけた数」という名前を付けたり
648:デフォルトの名無しさん
18/03/26 04:27:44.25 WZ1ZCWjW.net
C++11から日本語の識別子も使えるようになったんだよな。
ということは。
#define もしも if
もしも(0 < プロキシ情報の配列におけるアイテムの索引) {
・・・
}
649:デフォルトの名無しさん
18/03/26 07:19:11.84 WZ1ZCWjW.net
最近気が付いたのは、MSは情報を収集するためにちょっと踏み込んだことをしてるな。
Google的になったというか。
例えばMSが提供する一部のアプリケーションでは変換中の文字列について対象文節をわかりにくくするようになった。
これはつまり、単漢字変換のようなことをせず、一括変換してから間違えた部分を修正してほしいということだろう。
なぜそのようなことをするのか?
誤変換に関する統計情報が欲しいのだろう。
650:デフォルトの名無しさん
18/03/26 07:21:37.08 WZ1ZCWjW.net
もちろん、一括変換がうまく機能しないからこそユーザーは変換範囲を狭めて変換するのだし、誤変換情報が欲しいのは、変換が上手くいかないことがわかっているからだろう。
つまり、一部のソフトウェアは意図的にとても使いづらくなっている。
651:デフォルトの名無しさん
18/03/26 08:36:23.04 fyNor71T.net
つまり次世代言語とは日本語の事だった…!?
652:デフォルトの名無しさん
18/03/26 08:48:45.88 WZ1ZCWjW.net
いや中国語だろうけどさ。
653:デフォルトの名無しさん
18/03/26 16:34:24.37 b2RxclhK.net
ブラックジョークかな?
654:デフォルトの名無しさん
18/03/26 16:41:17.53 jinbnpD9.net
でもたしかにコードが中国語なら、短い変数名で意味が通るからコードはすっきりしそう
655:デフォルトの名無しさん
18/03/26 16:52:27.07 Xx23wWxJ.net
C 風の文法なら名前が空白区切り�
656:ナ並ぶ必要あまり無いし、 名前の途中に空白を含めても良いという言語があっていい気がする var indexOfProxy := 0; var index of proxy := 0; どっちが見やすいかな
657:デフォルトの名無しさん
18/03/26 17:37:31.08 dvRuSlEv.net
>>636
今の中国の字(簡体字)はよくわかりません
658:デフォルトの名無しさん
18/03/26 18:56:27.15 MGgBxL58.net
謝謝茄子…
659:デフォルトの名無しさん
18/03/26 19:33:26.92 sC9O8aKE.net
>>637
勘弁して。こんな発想はエアプだけだろ。少なくともエディターとの連携がしづらいし。
そもそもどっからどこまでが予約語で変数かどうやって判断するの?
当然の帰着として変数名に予約語を含めることは絶対禁止ってことになるだろ。
想像しただけで死にたくなってきた。
660:デフォルトの名無しさん
18/03/26 19:40:27.04 jinbnpD9.net
Fortranは空白無視するがな
661:デフォルトの名無しさん
18/03/26 19:55:57.52 pOsEMXVS.net
お前ホモかよお!?
662:デフォルトの名無しさん
18/03/27 00:43:26.13 ry3uUZdU.net
予約語は大文字だけ、変数名は小文字だけで書くとか…
VAR index of proxy := 0;
663:デフォルトの名無しさん
18/03/27 00:56:02.73 Zrk+MxC2.net
そんな前時代的な……
664:デフォルトの名無しさん
18/03/27 01:05:23.75 5DREL+sj.net
クソワロタwww
665:デフォルトの名無しさん
18/03/27 01:14:44.93 1nOfLeWK.net
お前ら頭悪いなwww
俺様が華麗に解決してやろう
ほらよ
var index%20of%20proxy := 0;
666:デフォルトの名無しさん
18/03/27 02:14:32.56 xOo+kmL4.net
どんどんバカになっていってる。
667:デフォルトの名無しさん
18/03/27 02:49:05.89 nthqohzW.net
>>646
読みにくいしこうしたらどうだろう?(名案)
var index_of_proxy := 0;
668:デフォルトの名無しさん
18/03/27 11:11:55.54 4hOyl1p5.net
バカなことを思いつくことは誰にでもあるが
それを宣伝して押し売りするか黙って廃棄するかの判断がおかしくなってるんだろう
669:デフォルトの名無しさん
18/03/27 22:54:29.91 D/rPklFE.net
いわゆる全角スペース使うとか、とにかくコンパイラにスペースと思われない文字だが見た目がスペースのやつを使えばいいのでは?
Java なんかはそれでなんとかなっちゃうよな。
670:デフォルトの名無しさん
18/03/27 22:59:22.15 xOo+kmL4.net
職場で本気でそんなことしだしたら俺は怒るよ。
671:デフォルトの名無しさん
18/03/27 23:16:27.79 iLpxT8od.net
DDDとかだとDSLを作るって言うけど
それって変数名とかメソッド名に日本語を許容するってこともありえんのかな?
672:デフォルトの名無しさん
18/03/27 23:35:51.57 O0jMKDc6.net
最近の言語って識別子に日本語使えるの増えたよな。まあ日本語っていうかUnicodeなんだけど。
673:デフォルトの名無しさん
18/03/28 05:56:44.07 LrPDAu7h.net
絵文字を駆使したハンガリアン記法時代の幕開けだ
674:デフォルトの名無しさん
18/03/28 07:22:48.81 lXnJ1NTY.net
ようやく時代がSmalltalk-72に追いついたかw
URLリンク(pbs.twimg.com)
675:デフォルトの名無しさん
18/03/28 10:43:26.92 Pilbwiej.net
時代を先取りしすぎるのも考え物
676:デフォルトの名無しさん
18/03/28 10:45:01.89 qnpV2Jxp.net
APL…
677:デフォルトの名無しさん
18/03/28 10:53:19.54 yjlej8xR.net
正直APLは今なら流行ると思う
678:デフォルトの名無しさん
18/03/28 10:55:53.02 qnpV2Jxp.net
統計とか各種データの集計に良さそうだもんな
679:655
18/03/28 11:29:22.55 ng8CxZVM.net
>>657
たしかにそうなんですが…APLの方は記号を読みやすくするために用いているように思えなかったので…
ピタッとはまれば驚愕の短さで書けますけどね
例: Conway's Game Of Life in APL
680: https://www.youtube.com/watch?v=a9xAKttWgP4
681:デフォルトの名無しさん
18/03/28 16:41:04.69 Lb32PKeB.net
>>654
むしろ文字使用禁止な言語
(コーディングルールじゃなく言語仕様でemojiと記号を強制)
次世代言語感がいっぱいw
682:デフォルトの名無しさん
18/03/28 17:21:22.86 4ymmJVEB.net
そういう次世代感か…
文法エラーにも優しくどう書いても何らかの動作をすることが望ましいな。
「プログラマになろう」というサイトを開いてみるか
683:デフォルトの名無しさん
18/03/28 22:26:11.70 CTFOdrqh.net
チューリング完全になろう系じゃないか
C++とHaskellの親戚みたいな言語がいっぱいだぞ
684:デフォルトの名無しさん
18/03/28 23:09:42.27 yjlej8xR.net
C++とHaskell の親戚ってなんだ
685:デフォルトの名無しさん
18/03/29 02:16:30.07 Hc4kPWXM.net
テンプレ(異世界転生or転移、チート、ハーレムあり)小説が量産されるみたいなノリで
テンプレ(手続き型or関数型、型推論あり)言語が量産されるわけか
その傾向はあるよね
686:デフォルトの名無しさん
18/03/29 02:37:14.12 tc7M6rRR.net
Fortranのサブルーチンみたいな感じで副作用は全部intent(out)の引数にのみ許すことで実質純粋手続きみたいな言語って他にある?
687:デフォルトの名無しさん
18/03/29 07:56:15.41 plQi1Ped.net
COBOLとかPLIとか汎用機時代の主役はだいたいそうでしょ
まさかCOBOLプログラミングは全部グローバル変数でデータのやり取りをするみたいな話を真に受けてる?
そんなの汎用機全盛時代の超規模開発において一山いくらのPG達に管理しきれるわけないだろ
コンパイル単位を分割して、サブプログラムに明示的に構造体の参照を渡す形でリンクするか、別の実行ファイルにして間に一時ファイルを挟むんだよ
Cがヘッダのincludeを覚えてしまったことで業界がダークサイドに堕ちたけど、昔のプログラムは今よりずっと疎結合で単体テストしやすかったんだよ
688:デフォルトの名無しさん
18/03/29 08:11:58.91 xXxQyZNu.net
グローバル変数を使うのはパソコンのbasicの時代ではないか
プロがどんな美しいコードを書こうが
ネットで検索できるオープンソース以外は知ったことではない
689:デフォルトの名無しさん
18/03/29 08:13:12.45 9BLtoEOh.net
以前の俺含め今時は一時ファイルなんかダサいAPIやメッセージキューにしろなどと抜かす人が多いけど、汎用機を経験するとみんなバッチ信者になるよ
単体テストしやすく、開発規模面でもパフォーマンスス面でもスケーラブルで、運用も容易
汎用機のバッチ処理の設計は現代のプログラマ全員が学ぶべき素晴らしい技術
690:デフォルトの名無しさん
18/03/29 08:25:29.74 xXxQyZNu.net
ダサいというのは建前で、JITコンパイラ言語でそれをやりたくないのが本音ではないか
691:デフォルトの名無しさん
18/03/29 08:28:00.50 Hc4kPWXM.net
Linux でも良くやってるぞ
692:デフォルトの名無しさん
18/03/29 09:11:24.31 r+OSvbaK.net
>>669
モックライブラリがこんなに発達してるのに何言ってんだ
693:デフォルトの名無しさん
18/03/29 09:27:39.99 pztT5rJU.net
>>672
バッチならファイル作って放り込むだけやぞ
結合状態でのリグレッションテストとかもdiff取るだけだし
694:デフォルトの名無しさん
18/03/29 10:09:08.49 CZF8yyoA.net
バッチ処理で何してんの?
システム運用中に流せるもの?
停止してから流すとしたら、想定時間内に終わらないように作んないといけなかったりするんじゃないの?
695:デフォルトの名無しさん
18/03/29 10:18:06.32 r+OSvbaK.net
>>673
モックならインスタンス作って放り込むだけやぞ
結合状態でのリグレッションテストとかも状態比較するだけだし
696:デフォルトの名無しさん
18/03/29 10:48:51.83 pztT5rJU.net
>>675
結果が意図しないものになってるときにどうやって途中経過を調べるの?
バッチならファイル見れば一発だけど、全サービスクラスにログ出力入れるの?
697:デフォルトの名無しさん
18/03/29 11:16:09.01 r+OSvbaK.net
>>676
ログ出力も何もオブジェクトのスナップショットとって状態比較するだけ
てか、結合テストで途中結果見てる時点で、それモジュールテストだろっていう
698:デフォルトの名無しさん
18/03/29 11:18:13.25 r+OSvbaK.net
結合テストでは通常おのおののモジュールが期待した結果を出力することを前提に振る舞いテストのみを行うだろ?
結果の比較なんかしてる時点で、考え方がズレてる
699:デフォルトの名無しさん
18/03/29 11:26:16.78 r+OSvbaK.net
てか>>674も書いてるけど、バッチ処理なんて前提条件厳しすぎるし、障害対応もめちゃくちゃ大変だろ
今どき、そんなシステムどんな業種で開発するんだ
700:デフォルトの名無しさん
18/03/29 16:52:27.07 wUGa4G8N.net
>>666
純粋手続きってのがわからん。
引数にin outだったらadaも付けれるぞ。
701:デフォルトの名無しさん
18/03/29 17:13:18.86 mREgEFij.net
>>680
Fortranのpure subroutineのことや。まんま訳して純粋手続きって書いたけど、分かりにくいなら以後pure subroutineって書くわ
702:デフォルトの名無しさん
18/03/29 17:55:25.23 d3FuArtt.net
>>680
Fortran等の昔の言語には、サブルーチンと関数の区別があって
サブルーチンは副作用あり、関数は副作用なしって使い分けがあったんだよ
(その区別はAdaにもあったんだが、2012年の改定で関数もoutパラメータを持てるようになってしまった)
703:デフォルトの名無しさん
18/03/29 17:57:17.44 mREgEFij.net
>>682
intent(out)さえつけといたらsubroutineにもpure修飾子をつけれることを俺は>>666で言ったの
704:デフォルトの名無しさん
18/03/29 18:04:24.92 d3FuArtt.net
>>683
あーすまん、話の流れを追いきれてなかった
705:デフォルトの名無しさん
18/03/29 18:42:15.80 mREgEFij.net
言ったのと言いつつ言ったつもりになってただけだわ。謝られるとこっちが申し訳ない
706:680
18/03/29 22:25:28.48 wUGa4G8N.net
>>682
なるほどわかりやすい説明サンクス。
707:デフォルトの名無しさん
18/03/29 23:19:00.18 fG+oYH1y.net
元々の問いに対する答えは持ってないけど、そもそも
引数に明示するのは返却値の代入と同じで副作用でも何でも無いような。
708:デフォルトの名無しさん
18/03/30 00:38:00.59 Cv8Wlmrv.net
そういう、単に複数の値を返したい(outパラメータを使いたい)からというだけで
関数ではなくてサブルーチンになっている物に対して、副作用がないことを明示できるのが
Fortranのpure、という話だろう
今時なら普通にタプル返すだけだけど
709:デフォルトの名無しさん
18/03/30 01:00:29.06 Z4F/kC6f.net
>>688
そうそうそれそれ。汲み取ってくれてありがとう
タプルで返すのもいいんだけど、大きなベクトルとか行列とかは返り値として返そうとすると確保やらコピーやらのコストがかかっちゃうから、サブルーチンって結構いいと思うんだよね
710:デフォルトの名無しさん
18/03/30 03:17:21.13 Wx9gH+Ym.net
でかい配列を返すとして、オブジェクトを複製せずポインター返しておしまいという言語も多いし
711:デフォルトの名無しさん
18/03/30 12:08:24.66 27QTfa4q.net
それのオーバーヘッドがどの程度のものなのかよく分からんで不気味に感じるんだよな。俺が勉強不足なだけかな
712:デフォルトの名無しさん
18/03/30 21:17:44.20 S5bBhBUr.net
ベンチマーク取ればいいだけじゃん
713:デフォルトの名無しさん
18/03/30 21:25:37.94 gL2Crqwy.net
まあ実際そこそこオーバーヘッドあるんだけどね
714:デフォルトの名無しさん
18/03/30 21:34:29.21 35t2qqJ0.net
ベンチマークとれ
テストコードかけ
は若手にいうと凄まじく煙たがれるなw
715:デフォルトの名無しさん
18/03/30 21:37:02.92 lbiuvb17.net
毎回毎回 (N)RVO が効くかなと頭使ったりプロファイル計測したりするより
可
716:能なら out パラメータにしたくなるよな string だけは何故か気軽に戻り値にしてしまうが
717:デフォルトの名無しさん
18/03/30 21:53:34.74 Lu4RhpIc.net
なるほど。
値型ローカル変数でスタックを確保する事が意味論的に決まってると、
返却値でコピー回避は難しいですね。
Nimでresultが予約変数になってるのも不思議だったけど、外部で確保した
領域を直接割り当てられる、みたいな理由だったりするのかな。
718:デフォルトの名無しさん
18/03/30 22:05:59.64 lbiuvb17.net
c++ の場合 RVO (return value optimization) が最高に効けば
string f() { return string(“123”); }
は
void f(void * retval) { new (retval) (“123);}
のように戻り値を呼び出し側が渡した領域に直接コンストラクトするから、
void f(string &s) { s = “123”; }
よりも高速になる可能性がかなりあるんだよね
vectorでもなんでも同じだけど
どうでもいいか
719:デフォルトの名無しさん
18/03/30 22:50:08.41 MliDoeQ0.net
C++ならplacement newを使う手もありそうだが実際に使いこなせる気がしない
720:デフォルトの名無しさん
18/03/30 22:51:45.23 35t2qqJ0.net
どうでもいいな。
そこまで速度欲しいなら他にもっと直接的なやり方がいくらでもあるだろうに。
721:デフォルトの名無しさん
18/03/30 22:53:37.54 s5wfWcqZ.net
そんな細かいことで速くなるような状況ならインライン展開されるだろ
722:デフォルトの名無しさん
18/03/30 23:09:07.15 MliDoeQ0.net
マルチスレッドを考えるとスタックはスレッドローカルなので速度だけの問題ではない
速度だけ考えると確かにどうでもいいからマルチスレッドを考えるといい
723:デフォルトの名無しさん
18/03/30 23:32:59.08 vpP76l93.net
>>699
>>直接的なやり方
それがintent(out)なわけだが
724:デフォルトの名無しさん
18/03/30 23:36:16.61 vpP76l93.net
あすまん>>699は>>697へのレスか。それ分からずに変なこと書いた
>>697
その「可能性がある」ってのやっかいだわ
725:デフォルトの名無しさん
18/03/31 00:27:11.90 Pb+ZodvD.net
そもそも返り値使いすぎなんだよな
返り値なんてエラー管理かスカラー関数くらいにしとくものなのかも
726:デフォルトの名無しさん
18/03/31 01:41:58.87 uN2ioEKO.net
その言語の推奨されるスタイルに合わせるべきじゃね?
C++ならちょっとしたことで>>697のどっちがいいか変わるとかには目をつぶって
返り値使うべき
Fortranならoutパラメータを活用すればいいだろ(タプル無いし)
そこから外れるのは実際に速度が必要になってからでいい
727:デフォルトの名無しさん
18/03/31 02:05:24.43 Pb+ZodvD.net
そう。その推奨されるスタイルとしてintent(out)を採用している言語って少ないよなあーと思うんよ
728:デフォルトの名無しさん
18/03/31 02:15:44.60 t0EWsjNV.net
このスレ的にあれどけどc言語がそうだ
戻り値はスカラーかポインタ
それ以外の返り値が必要なら非constポインタを渡す
729:デフォルトの名無しさん
18/03/31 03:00:03.91 uN2ioEKO.net
C言語はスタイルとしてはそうだけど、言語機能としてポインタ渡しとoutは区別されてないな
逆にD言語やC#はoutをinout/refと区別してるけど、推奨はされてない感が強い
730:デフォルトの名無しさん
18/03/31 08:00:23.62 9+5jHACw.net
まあ直感的には引数はインプットで返り値がアウトプットってのは自然だとは思う。
そうならんのはcの場合は返り値をレジスタ、もしくはスタックにどう置くかを意識してるからでしょ。
良くも悪くも低レイヤーに合わせているわけだ。
731:デフォルトの名無しさん
18/03/31 11:14:49.43 Pb+ZodvD.net
Cはintent指定出来ないことに目を瞑ればかなり良いんだけど、配列の範囲外アクセスチェック周りとかが原始的すぎてデバッグしんどいなあ
732:デフォルトの名無しさん
18/03/31 13:27:31.25 pVxcphgn.net
そもそもpure宣言相当が無い、つまりどんな関数も副作用が有りうると想定する
必要のあるCはお題から外れるので
733:は。
734:デフォルトの名無しさん
18/03/31 14:04:14.80 Pb+ZodvD.net
せやな
735:デフォルトの名無しさん
18/03/31 14:18:10.92 38KyKd1m.net
「副作用が無いDSL」のインタプリタをCで作るか
インタプリタではない何かをDDDで作れ
736:デフォルトの名無しさん
18/03/31 14:45:53.72 uN2ioEKO.net
つ__attribute__((pure))
737:デフォルトの名無しさん
18/03/31 19:03:39.12 pVxcphgn.net
libC関数もヘッダに情報が入って、pure から pure じゃない関数を呼んだらコンパイルエラーになるくらいになったら意味があると思うけど。
738:デフォルトの名無しさん
18/03/31 20:16:30.87 dM6Zlct0.net
画面に出力するのは副作用?Thunderbolt3で接続したGPUボックスをGPGPUとして使った計算は?
ヒープ領域を変更するのは?
と、考えるとpureなものって何でしょうね、ってならないかね
739:デフォルトの名無しさん
18/03/31 20:30:38.28 Pb+ZodvD.net
その辺はHaskell的なアプローチでいいんじゃない?
740:デフォルトの名無しさん
18/03/31 20:31:03.58 Pb+ZodvD.net
Haskell のは並列か
741:デフォルトの名無しさん
18/04/02 19:29:25.78 o7/+6TQd.net
Cって
「本当は疎結合にしたいけど性能優先でしかたなく密結合にするよ」
を理解できるレベルを暗黙の前提にしてない?
なんであんなに流行したんだろ??
742:デフォルトの名無しさん
18/04/02 19:41:43.42 jOZ58Btw.net
Nimって疎結合にしても密結合なCくらいのパフォーマンス出るんだろうか?
743:デフォルトの名無しさん
18/04/02 19:51:29.66 7E1ezZvV.net
ライバルたり得たPascalが
文字列は255文字まで
可変長引数使えない
ポインター扱いにくい
int と char の区別が面倒、など
なんとも無意味な不便さを抱えていたからだと思う
32ビットまでの Windows は API の呼び出し規約が Pasal 流なのに文字列はC式、
初期の Macinrosh は API の文字列も公式の解説書の記述も Pascal だったりしたなあ
744:デフォルトの名無しさん
18/04/02 20:02:30.49 jOZ58Btw.net
ごめんなんでもない
745:デフォルトの名無しさん
18/04/02 22:21:14.63 EN/8rlvw.net
疎結合の意味はよくわからんがdllやsoの中身はほぼ全部Cの関数だろ
746:デフォルトの名無しさん
18/04/02 22:23:36.55 QQz+Sj8+.net
高級言語からCの方向で見てるからの感想だろ。
アセンブラからCの方向だったらまた違った感想になるんじゃないかね。
747:デフォルトの名無しさん
18/04/03 00:10:13.25 RwyGVa1s.net
ドライバのようにインタフェースを関数ポインタで定義して実装を分離するみたいなのが疎結合のC?
748:デフォルトの名無しさん
18/04/03 00:12:50.53 kpq2obaf.net
素直に別の実行ファイルにするのが疎結合のC
749:デフォルトの名無しさん
18/04/03 01:42:26.51 +aZgql8Q.net
>>726
それはコロンブスの卵だから無意識に選択肢から外してしまうんだよな
任意の言語でできることをやっても特定の言語の手柄にならないから
750:デフォルトの名無しさん
18/04/03 03:18:38.36 uqya3zvR.net
作者のwirth先生はPascalを教育用、ModulaをOSも書けるように作ったのに
Pascalの方がそれなりに広まってModulaがさっぱりだったのは不幸だよな
まあModulaはModulaで面倒くさいとこあるんだけど
751:デフォルトの名無しさん
18/04/03 12:54:09.54 GZlQK3q7.net
いい加減スレタイからRustはずそうぜ
752:デフォルトの名無しさん
18/04/03 14:02:58.92 bDjjKsy9.net
つか、スレタイから次世代言語をはずした方がいいんじゃね。
旧世代の言語の話しか出てこないし。
753:デフォルトの名無しさん
18/04/03 14:19:06.58 01qL0AuM.net
>>730
次世代を語るためには旧世代を知っておかねばならんのだ(キリッ
754:デフォルトの名無しさん
18/04/03 14:58:56.73 nX+Jhx5Q.net
おんこちしんと
うんこちんちん
似てる
755:デフォルトの名無しさん
18/04/03 16:29:09.56 lykT2DjF.net
>>729
C++のポジションを狙う言語には「なんなんだよこの仕�
756:l=うっとうしい」もついてくるからw
757:デフォルトの名無しさん
18/04/03 17:41:10.26 01qL0AuM.net
>>733
C++のポジションを狙うRustには「なんなんだよこのアンチ=うっとうしい」もついてくるからw
758:デフォルトの名無しさん
18/04/03 18:01:19.06 teyqxCn/.net
ネタにしてるが、マジで旧世代言語知らずに次世代なんて語れんだろう。
759:デフォルトの名無しさん
18/04/03 19:42:11.24 wFxxlJZP.net
そもそも次世代言語ってまだない言語を夢想して話せってこと?無茶いうな
760:デフォルトの名無しさん
18/04/03 19:48:53.79 AUs9WXEq.net
あのアンチはRustに職を奪われたからね、しょうがないね
Rustスレで気持ちよく大暴れしてるときに自分で漏らしてたよ
761:デフォルトの名無しさん
18/04/03 20:16:15.66 BzNmSsTz.net
なんでこんなrust普及の妨げにしかならんこと言いだすんだろう。
762:デフォルトの名無しさん
18/04/03 20:27:21.10 X7iioW9i.net
UE4やHoudini使ってると次世代言語はビジュアルプログラミングでいい気がしてきた
763:デフォルトの名無しさん
18/04/03 20:33:03.03 s7jZ67re.net
Rustは次世代言語だがC++知ってた人と今から勉強始める人の格差はリセットされないな
世代交代とは寿命が尽きることであって格差がなくなることではない
764:デフォルトの名無しさん
18/04/03 20:44:15.49 uqya3zvR.net
>>739
MSは何故GUIエディタを放棄してXAMLなんぞ作ったんだろうか……
765:デフォルトの名無しさん
18/04/03 21:06:26.14 teyqxCn/.net
XAMLはまだBlendで書けるだろ。
766:デフォルトの名無しさん
18/04/03 21:10:07.12 f/nGrkvY.net
XAMLを手書きしてる人なんているか?
767:デフォルトの名無しさん
18/04/03 21:27:57.24 teyqxCn/.net
Xamarinの人たちかな。
768:デフォルトの名無しさん
18/04/03 22:59:23.72 oucbN3qp.net
補完ありのテキストエディタならいくらでもいそうな気がするが。
769:デフォルトの名無しさん
18/04/03 23:12:30.59 gOYTrQOB.net
Delphi「やっと時代が追い付いたか」
770:デフォルトの名無しさん
18/04/04 00:44:22.36 fh2IMjqM.net
>>739
じゃあdiff取ってみろ。
テキストを超える記述方法は無いよね。
771:デフォルトの名無しさん
18/04/04 16:47:20.75 VNuZKpdj.net
Kylix「誰も知らない 知られちゃいけない」
772:デフォルトの名無しさん
18/04/04 17:04:36.07 Pmay6Vdj.net
deっvi---l
773:デフォルトの名無しさん
18/04/04 17:31:20.15 wRFLDXS3.net
まあVBの方が古いんだけどな
774:デフォルトの名無しさん
18/04/07 09:53:55.09 e89pcJBq.net
>>739
同意
テキストよりビジュアルの方が人間の頭脳に優しい
775:デフォルトの名無しさん
18/04/07 12:37:16.42 JZPNgytE.net
Goの案件って結構あるのね
776:デフォルトの名無しさん
18/04/07 12:55:34.16 y0NHVjlZ.net
Goみたいな不安定なものよく使うな
777:デフォルトの名無しさん
18/04/07 13:26:35.73 LOY6Fa8O.net
Cはグローバル変数の使い方やOOPのやり方みたいなローカルルールないと無理っぽい
Cがいくら安定してもローカルルールは安定しない
778:デフォルトの名無しさん
18/04/07 13:43:27.23 iO/NW/s5.net
流石にひどいw
779:デフォルトの名無しさん
18/04/07 16:18:41.57 dIEw27mY.net
>>752
まじでー。普通のcrudなweb案件とかもあるならやってみたい
780:デフォルトの名無しさん
18/04/07 17:28:50.26 1M9Ik5ns.net
どこが不安定なんだろ?
781:デフォルトの名無しさん
18/04/07 18:15:56.12 LOY6Fa8O.net
小学校でプログラミングを教えろ、ただし中学レベルの数学を教えるな
Goがやりたいことは大体これと同じだろ
782:デフォルトの名無しさん
18/04/07 18:27:40.19 2Xz4c+5M.net
何か問題でも?
783:デフォルトの名無しさん
18/04/07 19:04:22.55 LOY6Fa8O.net
どこかの評論家に否定される前に、自分で考えて肯定すればいいのに
自分で考えるのをやめたら、否定してくださいと言ってるようなものじゃないか
784:デフォルトの名無しさん
18/04/07 19:20:07.17 y0NHVjlZ.net
>>759は自分で考えてなんの問題もないと肯定したレスだろう
785:デフォルトの名無しさん
18/04/07 19:59:52.92 65xgSjRP.net
>>758
まあGoogleの中の人は例外すら理解できなくてGoに盛り込まなかったくらいだからな
Googleのプログラマは小学生レベル
786:
787:デフォルトの名無しさん
18/04/07 20:02:15.13 y0NHVjlZ.net
いやいやいや
788:デフォルトの名無しさん
18/04/07 20:42:13.27 n5lWGq5m.net
>>762
例外なんて機能を欲しがるとか正気か?
タプルかタグ付きユニオンのある言語には例外なんて必要ない
むしろ、無いほうがよほど筋が良い。よりによって例外かよ…
Go言語の問題はもっと他にあるよね
ジェネリクスとかNil安全とかラムダ式とかイミュータビリティとか
789:デフォルトの名無しさん
18/04/07 20:45:00.99 y0NHVjlZ.net
AirPlayさんなんだろ
790:デフォルトの名無しさん
18/04/08 00:14:21.96 Dxb/j7Bg.net
>>764
100得ナイフを欲しがっても無理だぜ。
お前さんは、刺身包丁では肉を斬りにくいと文句いう人なの?
791:デフォルトの名無しさん
18/04/08 00:16:58.41 kOs0IpX+.net
ガイガイ
792:デフォルトの名無しさん
18/04/08 00:44:53.47 V9VuwMAu.net
ここでのクソみたいな議論に時間を使うことが一番コスト高ってことを
goを使ってる人はわかってる。
793:デフォルトの名無しさん
18/04/08 00:59:11.92 yrhx1H5B.net
>>764
例外ってか戻値無視してたらコンパイルエラーにする構文がほしい。(すでにgoにあったらスマヌ)
ライブラリやミドルウェア作るとき、ここでエラーならそれ以上処理進めんなってことあるので、アプリ側のエラーハンドリングを強制させたい。
それができないからやむを得ず例外で終了させてる。
794:デフォルトの名無しさん
18/04/08 01:06:05.49 +FJwvftX.net
>>769
例外とコンパイルエラーを同じものと考える神経がわからん。
実行時にまずい処理が来たらgoのプログラムを強制終了させたいならpanicがあるが。
795:デフォルトの名無しさん
18/04/08 01:11:44.09 +FJwvftX.net
つーかgoが気に入らない理由に例外を上げるけど、例外ってそんなに良いもんかね?
例えばこの関数は例外を上げる可能性があるからtryブロック内に書かないとコンパイルエラーになる言語ってある?
それくらいやってくんないと例外を使う意味って、エラーハンドリング問題の先送りでしかないから。
796:デフォルトの名無しさん
18/04/08 01:12:25.64 DdcJdhQn.net
>>766
問題って書いたのが誤解を招いてしまったかな…
別に上記の全てが無いとダメって言ってるわけじゃないよ。あったら嬉しいなくらいにしか思ってない
けど、例外なんて邪魔にしかならん機能を欲しがるくらいなら他に欲しいものがいくらでもあるだろと思って…
あと、揚げ足取って悪いけど、100徳ナイフを欲しがってるなら例外も欲しがってるはずだろ…
例外と継承を捨てたのはGoの英断
797:デフォルトの名無しさん
18/04/08 01:16:07.05 kOs0IpX+.net
>>772
いやお前は悪くない。相手が意味ワカラン奴なだけだ
798:デフォルトの名無しさん
18/04/08 01:46:25.89 21utqBEE.net
java
但しランタイム例外は除く
799:デフォルトの名無しさん
18/04/08 02:00:48.53 DdcJdhQn.net
>>771
>例えばこの関数は例外を上げる可能性があるからtryブロック内に書かないとコンパイルエラーになる言語ってある?
Javaの検査例外とSwiftの例外はtry必須だよ。
けど、try必須だと書くのが面倒なんだよね。実際、Javaでは非検査例外のほうが主に使われてるし…
検査例外と非検査例外を場合によって書き分けるのがJavaの理想なんだろうけど、現実はそうじゃない…
Swiftの例外はtryの書き方が何種類かあるからJavaより使い易くはなってるんだけど
Rustと同じでタグ付きユニオン(enum型)あるから別に必要なくない?ってなる
Rustはエラー処理にenumのResult型を使うけど、Swiftでは例外を使うのがマナーなのかな?
800:デフォルトの名無しさん
18/04/08 02:16:09.65 +FJwvftX.net
>>775
swiftはそうだったな。
たしか例外周りはswift2で追加実装されてウゲーってなった覚えがあるような。
swiftの言語仕様の変更は凄まじいものがあるよな。もうswift4だっけか?
正直swift信奉者≒apple信者じゃないと説明がつかない。
言語仕様をミニマムに抑えて
801:熟考するgoを見習ってほしいわ。
802:デフォルトの名無しさん
18/04/08 02:26:12.80 +FJwvftX.net
>>775
つまり結局goのエラーハンドリングの面倒くささと一緒になるってことだよな?
goのエラーはただの値だから
構造体のメンバ変数に格納先を用意してやれば、
後で纏めてチェックしたり、
一回でもエラーが発生したら処理を中断する
みたいな書き方は全然できる。
そのへんはgo blogに記事があった。
803:デフォルトの名無しさん
18/04/08 03:04:32.63 N7to3hps.net
>>771
goの例外不在についてはerrorの握りつぶしが書きやすい上に気づきにくいのが不満
握りつぶしに比べたら先送りのほうがまだ良い
>>769が戻値無視してたらコンパイルエラーって言ってるのはそこが理由でしょ
804:デフォルトの名無しさん
18/04/08 03:14:34.94 +FJwvftX.net
>>778
あー。なるほどと思ったけど例外処理は先送りしたあげく、結局とこでも処理せず終わるパターンあるよね。
握りつぶしが簡単にできるのはどっちも一緒では?
805:デフォルトの名無しさん
18/04/08 03:17:34.48 N7to3hps.net
>>779
ハンドルされない例外は処理の中断になるけど、
握りつぶしは処理の続行になる
中断のほうが良い、と思う
806:デフォルトの名無しさん
18/04/08 03:49:10.38 DdcJdhQn.net
>>780
例外の一番の問題は予想外の場所で例外が不必要にキャッチされて、その上で
握りつぶされてしまった場合、握りつぶされた場所を特定するのがかなり面倒臭いこと。
そんなコード書くヤツが悪いと言いたいが実際にいるんだからしょうがない…
どこで握りつぶされるか分からんリスクを背負うくらいならその場で握りつぶされた方がまだいい
因みに、エラーハンドリングに関してはRustのResult型が最も筋が良いと思ってる
Result型なら故意に握りつぶそうとでもしない限りは簡単には握りつぶせない
807:デフォルトの名無しさん
18/04/08 04:07:01.05 N7to3hps.net
>>781
goのほうが握りつぶしが書きやすいからこそ、どこで握りつぶされるか分からんリスクはgoのほうが大きい、と思うんだよなあ
808:デフォルトの名無しさん
18/04/08 08:46:33.77 Dxb/j7Bg.net
>>781
トラブルシューティングの為に、キャッチした時点でロギングしないの?
809:デフォルトの名無しさん
18/04/08 09:00:51.10 RUgiqDA/.net
Cのprintfの戻り値を毎回欠かさずチェックしてる人だけが例外に石を投げなさい
810:デフォルトの名無しさん
18/04/08 10:19:07.88 xmyFoIZI.net
戻り値の握り潰しは局所的・静的に判断できるけど例外はそうじゃないからなぁ。
それこそ例外を起こしてみないと見つけるのが困難だったりして。
811:デフォルトの名無しさん
18/04/08 10:23:53.74 +rfxRhvD.net
例外は継続的な改良に対応しやすいのがメリットなんだよな
取りあえず最初は例外安全だけ意識して例外は上の方でまとめて処理しておいて、
あとでより丁寧な取扱いが必要になったときは問題なく対応できる
もちろん、検査例外とかいうビチグソは無い前提だが
812:デフォルトの名無しさん
18/04/08 11:36:37.63 Bf+GYw8s.net
最初はexit
exitの握り潰しが必要になったら例外で
813:デフォルトの名無しさん
18/04/08 11:42:04.86 YK+KPtHu.net
>>758
1から10までの整数を足すのに
ループで順番に足す方法を教える様なのが
今の日本のプログラミング学習(教育)だからな
そんなんじゃだめ
814:デフォルトの名無しさん
18/04/08 13:08:16.40 mQRLIlYG.net
このスレも例外が理解できない幼稚園児ばっかかよ
Goみたいな言語が流行るわけだ
815:デフォルトの名無しさん
18/04/08 13:22:55.27 Bf+GYw8s.net
自分で選んだ言語がそれだったらそれでもいいよ
より良い言語を後で見つけたら自分が馬鹿だっただけで済む
しかしそれを選んだのが会社や国家だったら馬鹿にしても炎上するし擁護しても炎上する
816:デフォルトの名無しさん
18/04/08 13:39:52.93 T4sPcvM1.net
このスレの議論はほんとレベルが低いな
間違った使い方をしたときどちらがマシかでしか優劣をつけられないのか
817:デフォルトの名無しさん
18/04/08 13:50:33.26 DdcJdhQn.net
>>782 なんか会話が噛み合わないなと思ってたがやっと理由が分かった気がする。 >>782の言う"どこ"はGoのエラー(戻り値)は握りつぶしがしやすいから 誰が"どこ"でエラーを握りつぶすコードを書くか分からないって意味の"どこ"だよね。 俺の言う"どこ"は例外がスローされた場所に対して キャッチされる場所が"どこ"か分からないって意味の"どこ"なんだよ。 キャッチされる場所が分からないとデバッグ時に探すのが面倒なんだよ。 Goみたいに戻り値としてエラーが返されるとエラーの発生場所と 握り潰した場所は必ず一致するからデバッグしやすい。 結局、従来の例外はgoto文と同じでフローが飛ぶから気持ち悪いってのが俺の意見。
819:デフォルトの名無しさん
18/04/08 14:09:14.32 Bf+GYw8s.net
従来の言語にはexitがあるから例外がない
SmalltalkやJavaScriptにはexitがないから例外があるんだろう
820:デフォルトの名無しさん
18/04/08 14:12:58.97 DdcJdhQn.net
>>791
でも、次世代言語って間違った使い方(プログラマによるミス)をさせないように
制限をかける意味合いが強くない?Null安全とかその典型だと思うんだけど。
オレは絶対に使い方を間違えないって言うんならC++, C#とかを使ってろよってなるし…
821:デフォルトの名無しさん
18/04/08 14:13:54.54 aL28Ce5R.net
>>792
戻り値のエラーを握りつぶされると、不適切な状態で動き続けるから、デバッグが困難になると思うんだが。
例外の握りつぶしでも同じ事だけど、構文としては、例外の握りつぶしの方が見つけやすいと思うけどね。catchブロックでしか細工できないから。
goだと正常な返り値の隣に,_つけるだけで握りつぶせちゃうから、見つけづらいんじゃないかな。
822:デフォルトの名無しさん
18/04/08 14:15:23.81 V9VuwMAu.net
間違えを考慮しないシステムの恐ろしさを全くわかってない奴はそもそも話にならん。
プログラミングを語る資格がない。
823:デフォルトの名無しさん
18/04/08 14:23:41.21 DdcJdhQn.net
>>795
すまん。よく考えると確かにデバッグはどっちも面倒なことに変わりないわ。
ただ、個人的にはtry-catchも,_もどっちも見つけづらさは大して変わらないと思ってる。
デバッグ時じゃなくて、普通にコードを読むときに戻り値でやったほうがフローを把握しやすいってことが言いたかった。
824:デフォルトの名無しさん
18/04/08 14:26:14.02 aL28Ce5R.net
返り値でエラーを判別するコードだと、本来やりたいことの次にほぼ必ず、エラー判定処理が入るから、可読性が低いんだよね。
昔、C使ってた頃は、そういうところが嫌でたまんなかったし、ひどいのになると主要な処理が全部、条件部分で行われてて、if文の連なりしかないコードとかみたし。
正常系をリーダブルに書くには、例外の方が気持ちいいなと思うよ。
825:デフォルトの名無しさん
18/04/08 14:32:30.43 kugCg6kv.net
そのあたりはEitherが良いと思うんだな
826:デフォルトの名無しさん
18/04/08 14:35:54.54 aL28Ce5R.net
後、最近のIDE使ってると、todoをコメントに入れとけば、あとでそれを、まとめて見直せるから、取り敢えず、try-catchして、catchのところはtodoにしといて、まず正常系を一通り買いてから、あとで異常系に対処するっていうワークフローにできるのが、例外の利点かなと思う。
827:デフォルトの名無しさん
18/04/08 14:37:10.66 N7to3hps.net
>>792
デバッグ時に、どこかでエラーが握りつぶされてるかもしれない、というパターンを考えないといけない、という意味で「どこ」
しかもそういう状況は>>795の言うように不適切な状況で動き続けるから
握りつぶした箇所と不具合の発生箇所がかけ離れることも多い
だから、goに限ったことではないが、エラーや例外の握りつぶしはデバッグしづらい
例外がどこでcatchされてるか探すのは、握りつぶし探しに比べたらまだ簡単
828:デフォルトの名無しさん
18/04/08 14:37:23.36 DdcJdhQn.net
>>799
タグ付きユニオンがある言語ならそれが一番だと思う。
前にも言ったけど、エラーハンドリングに関してはRustのResult型が一番筋がいいと思ってる
でも、Goにはタグ付きユニオンがないからなあ…
829:デフォルトの名無しさん
18/04/08 14:51:49.81 aL28Ce5R.net
goは本格的には使ったことないけど、無視はできないんで、いろんなコードを見てるんだけど、今のところの感想としては、goって、書き手の思考を遮らないというところに重きを置いてる印象。
deferなんか、なんか開いたらあとで閉めるけど、忘れない内にその処理を予約しとこうみたいな発想かな。
自分は書くことより読むことを重視するタイプなんで、あまりgoには向いてないなあと思ってる。
830:デフォルトの名無しさん
18/04/08 14:51:50.04 Bf+GYw8s.net
副作用禁止ならexitも例外も禁止だからEitherがある
831:デフォルトの名無しさん
18/04/08 15:22:23.64 gQU7xBEC.net
stack traceもしらんのか
832:デフォルトの名無しさん
18/04/08 15:29:06.45 drN9+cfC.net
握りつぶしてるところでスタックトレース出力するんだよ!
('、3_ヽ)_??
833:デフォルトの名無しさん
18/04/08 15:51:49.24 4BboKQKO.net
maybe, eitherがある言語やった後に無い言語はしんどい
834:デフォルトの名無しさん
18/04/08 17:20:17.22 kOs0IpX+.net
Maybe, Eitherは強い。ほぼ必須な体になってしまった
835:デフォルトの名無しさん
18/04/08 17:47:41.66 iGi236dt.net
Eitherは初見だとそれがエラー処理用によく使うっていうことが
名前から全然伝わってこないところだけが嫌い
836:デフォルトの名無しさん
18/04/08 17:58:42.79 +FJwvftX.net
>>803
書きやすさと読みやすさは同一だと思ったが。特にdeferとか大体close処理では?
open直後はdeferにclose処理書いてあったほうが読みやすくないかな?
837:デフォルトの名無しさん
18/04/08 17:58:46.39 AFrzJyvZ.net
たし蟹
838:デフォルトの名無しさん
18/04/08 18:04:30.90 ikNNlzZg.net
リューナイト
839:デフォルトの名無しさん
18/04/08 18:14:07.95 V9VuwMAu.net
defer はスコープの終わりで暗黙的に動くクラスのデストラクタより
コード部分で明示した方がわかりやすくね?って発想じゃないかね。
こういうのは好みだったり書いてるアプリの種類で分かれそうな気はする。
840:デフォルトの名無しさん
18/04/08 18:50:09.38 BxgydgxS.net
c++17の [discard]はどうかね?
841:デフォルトの名無しさん
18/04/08 18:52:29.42 BxgydgxS.net
間違えた nodiscard
842:769,815
18/04/08 23:39:43.80 yrhx1H5B.net
>>792
> Goみたいに戻り値としてエラーが返されるとエラーの発生場所と
> 握り潰した場所は必ず一致するからデバッグしやすい。
俺もそれには同意で、更に一歩すすんでc++17の nodiscard属性みたいな指定ができるてほしいんだよ。デフォルトはコンパイルエラーで。
843:デフォルトの名無しさん
18/04/09 00:41:14.72 R+tVusAV.net
Fortran のIO関係のエラー処理は優れてると思うわ。
Open文にoptionalのerr引数を渡して置けば、エラーが出てもerrに値を入れて続行。err引数を渡してなかったらエラーが出たら異常終了
844:デフォルトの名無しさん
18/04/09 00:59:36.33 1PTa96/6.net
goのdeferは、その中で起こったエラーを外に通知する(簡単な)方法がないってんで
槍玉に上げられてなかったっけ?うろ覚えだけど
845:デフォルトの名無しさん
18/04/09 01:32:15.01 l0nazyXh.net
>>818
一番簡単な方法は名前つきreturn変数を使うことだから簡単ちゃ簡単
だが正直名前つきreturn変数がそもそもクソ構文
846:デフォルトの名無しさん
18/04/09 06:40:40.00 ON56dtQ5.net
>>817
異常終了してはならないUIもある
UIが言語に影響を与える
847:デフォルトの名無しさん
18/04/09 07:57:09.29 1PTa96/6.net
>>819
はー、名前付きreturn変数なんてあったんだ
しかし本来の流れによるerrがある場合は握りつぶさないようにしないといけないし、真面目にやると分岐が入り組みそうだな
848:デフォルトの名無しさん
18/04/09 07:59:50.20 R+tVusAV.net
>>820
いやそのためにerr引数があるのよ……
849:デフォルトの名無しさん
18/04/09 08:27:01.39 D454qjGx.net
>>816
MSはかなり昔からそういうの力を入れていて独自仕様で実現してるな。(SAL注釈)
SDKのヘッダなんかで見かける _Check_return_ とかとかいうやつ。VSの「コード分析」でチェックしてくれる。
850:デフォルトの名無しさん
18/04/09 08:42:34.03 mPPENYW6.net
理想はエラーハンドリングを書いてなかったら�
851:Rンパイルエラー。 (エラーハンドリングでエラー握り潰すやつは流石にそこまで面倒見きれない) 次点は強制終了。その際にエラーがどこで何故起きたのかって情報を出せること。 一番悪いのはそのまま処理進んでサイレントクラッシュ。 こんな感じ。
852:デフォルトの名無しさん
18/04/09 08:51:45.67 2cUxs1pv.net
コンパイルエラーは、そこまで強烈にエラー対応必須にしたらスクリプトみたいな「まずはとりあえず動くコードを書いて様子を見る」っていう使い方は出来なくなるな
853:デフォルトの名無しさん
18/04/09 09:45:04.94 9pBeshvD.net
となるとrustやな
854:デフォルトの名無しさん
18/04/09 09:59:14.65 RBhArkXv.net
そういやClojureってどうなったん?
855:デフォルトの名無しさん
18/04/09 10:18:17.46 aahOEQux.net
Goの名前付きreturn使うとアセンブリまで落としたとき、コードが少しきれいになるぞ。
俺は好き。
856:デフォルトの名無しさん
18/04/09 10:48:34.89 1PTa96/6.net
>>828
返値の最適化だけが目的なら初めからresult変数方式のやつ使えば
Pascal、Eiffel、あとFortranもそうだぞ
857:デフォルトの名無しさん
18/04/09 11:33:31.90 ON56dtQ5.net
デバッグは自分との戦い
だが最適化は自分が速くならなくても相手が遅くなれば勝てる
他人の足を引っ張る要素があるからカオスになる
858:デフォルトの名無しさん
18/04/09 12:00:22.27 aahOEQux.net
>>829
だけが目的と言うか、優劣をつけたりGoを使う理由にはあんまりしてないが。
例外は俺も好きじゃないな。
ただのちょっと見た目のきれいなgotoであって、フローとしては全然きれいじゃないし、
finallyで複数のリソースの開放しようとしたらどこまで進んだか管理するしかなくなるし、
各エラーで細かい処理が必要だったら結局スコープの狭いtry-catch書くことになるし、
毎行errチェックしたり、いっそ無視したりするのとレベルが変わらん。
deferは、実際に使えた直後に開放を予約できるから価値がある。
良くできてると思うけどな。
859:デフォルトの名無しさん
18/04/09 12:16:00.98 Wtc2x12J.net
>>825
そこは、エラー戻値無視するな構文を用意してれば良い
860:デフォルトの名無しさん
18/04/09 12:16:21.64 ebJj02XJ.net
>>829
え、すまん。よく知らないんだけど、Fortran って関数で配列を返してもサブルーチン的ないい感じに最適化してくれるの?
861:デフォルトの名無しさん
18/04/09 13:04:43.93 1PTa96/6.net
>>833
されるよ。全部の実装でそうとは断言できないけど
要するに>>697のretvalが直接返り値用の変数として見えるってだけ
862:デフォルトの名無しさん
18/04/09 14:38:02.08 50KKUeFL.net
何でここの人たちエラーをその場で処理するのが当然だと思ってるの?
普通は上に投げるよね?
863:デフォルトの名無しさん
18/04/09 14:47:49.87 iBEYls0Z.net
>>835
その「上」の関数ではどうすんの?また上に投げるの?
864:デフォルトの名無しさん
18/04/09 15:03:10.07 FuUgA4s9.net
一番上のハンドラでまとめて受け取る
865:デフォルトの名無しさん
18/04/09 15:18:43.79 ml5ntbUH.net
結局人類にgotoは必要だったんだ!
866:デフォルトの名無しさん
18/04/09 16:05:31.09 O1tgNFRh.net
なんで2ちゃんでこういう議論をすると最期は必ずアホアホ展開になるの?
867:デフォルトの名無しさん
18/04/09 16:19:21.64 mPPENYW6.net
>>835
俺は、その上側でのエラーハンドリングを必須にすることができて欲しいという意見。c++17の nodiscardみたいなの。
rustのResult型や他言語のEither勉強不足でわからない。スマヌ
868:デフォルトの名無しさん
18/04/09 16:26:17.23 ON56dtQ5.net
>>835
マルチスレッドが普通になったから
上に投げるよりスレッドの外に投げる
869:デフォルトの名無しさん
18/04/09 16:39:51.89 wyYx8QLn.net
rustのResultは検査しないとコンパイラにワーンされるよ
870:デフォルトの名無しさん
18/04/09 18:13:02.99 aahOEQux.net
>>835
上に投げるとしても、戻り値で明示的に戻せば良いだろう。
とりあえず手に負えないからだれか呼んだ人処理して、って言って、だれの手にも負えない可能性がある、ってのは良くないと思うよ。
普通とか言い始めると誰の普通かはっきりしないから、それはおいといて。
goでも、ホントに戻り値なしで呼ぶとき以外(何かしらの値とともにエラーが帰ってくる時)は、_で明示的に握りつぶさない限り受けた変数に触らないとコンパイル通らないし。
何一つ受けずに呼び出したり、触った結果握りつぶしたらコンパイルは通っちゃうけど。
871:デフォルトの名無しさん
18/04/09 18:20:13.54 2gnvm26g.net
例外安全を徹底してればどこでキャッチしようが手に負えない例外なんか無いだろ
それを不安に感じるのは、個別の事情にばかり気を取られて全体の一貫性を疎かにする典型的な日本人の思考パターンだ
(メモリ不足など、どこでキャッチしても対処のしようがないものは除く)
872:デフォルトの名無しさん
18/04/09 18:26:58.77 aahOEQux.net
>>844
徹底する、というルールベースな時点で「手に負えない例外は存在しない」という事を言い切るのは不可能でしょ。
メインロジックではアプリケーションの総合ハンドラでメッセージ出してリトライさせれば手に負えるはずの例外だったが、
なんの因果かそいつがバッチプログラムに使われる事になった時とかなんて、前提条件や処理フロー自体が変わる典型だと思うが。
最初からエラーとして返しとけば、なんの問題もなく流用できるでしょ。
常に呼び出す親が(さらに親へ丸投げするかの選択も含め)処理することが義務付けられてるほうが明示的だよねって言ってるんだが。
873:デフォルトの名無しさん
18/04/09 18:38:57.68 2gnvm26g.net
>>845
戻り値なら流用しやすいという根拠は?
なんとなく手抜きっぽい、で批判する典型的な日本人的思考だね
874:デフォルトの名無しさん
18/04/09 18:44:44.78 ml5ntbUH.net
チョンが何か言ってらぁww
875:デフォルトの名無しさん
18/04/09 18:45:14.09 2gnvm26g.net
あと、例外機構を持つ言語には例外安全を維持するための仕組みが組み込まれているのが普通だから、
それを「運用ルールに頼っている」と切り捨てておきながら戻り値は言語の補助があるから安全だと主張するのはダブスタの詭弁だ
876:デフォルトの名無しさん
18/04/09 18:45:52.21 w9Q1JF4q.net
>>846
書いてるだろ。
明示的に処理するからだよ。
すっぽぬけて何処か別の定義されている「はず」のハンドラに任せない所。
全関数にtry-catchを書いてて、親にもtry-catchが漏れなくあって、明示的に再throwしてたり、異常な場合はちゃんと死ぬ事が保証できてるなら、それでもいいけど。
この関数では呼び出し先がthrowすることもあるけど、親にハンドラがあるから大丈夫、が一箇所でもあったら認めないが。
何か、戻り値でエラーを返せる言語使ったことある?
パターンマッチングでエラーか結果か判定できたり、複数結果を返せたり、引数でエラーをどう処理するから指定できる言語。
使ったらわかると思うけど。
877:デフォルトの名無しさん
18/04/09 18:50:39.85 w9Q1JF4q.net
>>848
ダブルスタンダードでもないよ。
維持するための仕組みがあったって、維持していると保証がない限り維持は出来てないのと同じでしょ。
recoverがあるから、catchできるのと同じだからエラーハンドラここに書くって言う奴と同類に見える。
878:デフォルトの名無しさん
18/04/09 18:53:07.60 w9Q1JF4q.net
暗黙的に握りつぶす/無視する、か、明示的に握りつぶす/無視する、だけの違いなんだが。
なんでわかんないんだろう。
879:デフォルトの名無しさん
18/04/09 18:53:14.64 2gnvm26g.net
>>849
そんなことはプログラミングのメインストリームがとっくの昔に通った道なんだよ
Javaの失敗をトレースしてるようにしか見えない
Javaの検査例外がなぜ失敗したかを調べてみたら?
880:デフォルトの名無しさん
18/04/09 18:55:18.76 w9Q1JF4q.net
>>852
「そもそも例外があるから、こういう失敗するんだ」を「例外無くして明示的にやろう」
と言語仕様で厳しくやってるだけで、
トレースしているどころか、トレースしないように別ルート取ってるだろ。
どこがトレースしてるの?
881:デフォルトの名無しさん
18/04/09 18:58:04.38 mElBwjLW.net
>>853
まさか検査例外を知らないのか?
あれは戻り値によるエラー処理を強制してるのと等価だよ
まずは勉強しよう
882:デフォルトの名無しさん
18/04/09 18:58:52.48 w9Q1JF4q.net
日本人的だとか、ロジカルでない事をグダグダ言う前に、いろんな言語の言語仕様みてくりゃいいのに。
Fortranが話題に出てるけど、知ってんのかって疑問。
883:デフォルトの名無しさん
18/04/09 19:03:27.06 w9Q1JF4q.net
>>854
知ってるよ。
非検査例外と検査例外のどちらも発生させうるメソッドはどうハンドリングするの?運用のルール?
結局全部検査例外なら良いって話になっちゃうし、throws書いたらガバガバになるだけじゃん。
884:デフォルトの名無しさん
18/04/09 19:58:52.42 rsHYF1DS.net
jsでasync await使おうとするとエラー系は例外扱いになるから辛い。
885:デフォルトの名無しさん
18/04/09 20:15:00.84 ebJj02XJ.net
>>855
Fortranを話題に出してるのは俺で、俺はFortranユーザーだ。なんか用か?
886:デフォルトの名無しさん
18/04/09 20:15:41.91 ebJj02XJ.net
まあ返り値の最適化はわかってなかったけどなw
887:デフォルトの名無しさん
18/04/09 20:24:45.38 25u/0YJa.net
次世代語る前に現世代を勉強した方が良いねこれは。
888:デフォルトの名無しさん
18/04/09 20:25:58.04 w9Q1JF4q.net
>>858
いやいや、そういう意味じゃない、誤解させてすまん。
引数でerrの取り扱いしたり、名前付き引数があったり、そういう言語を触ったことがあるのか?
皆はそれぞれ使ってて、メリットを分かって話してるが、自分(ID:2gnvm26g)は戻り値でそういう処理をする言語は触った事があるのか?
話題についてこれてるか?Javaかなんかの狭い世界の話ししてるんじゃないのか?
って事を言いたかったんよ。
889:デフォルトの名無しさん
18/04/09 20:31:26.77 ebJj02XJ.net
>>861
ああそういうことか。誤解してたわすまん
890:デフォルトの名無しさん
18/04/09 20:39:58.68 2gnvm26g.net
>>861
俺は普通に使ったことあるし、戻り値をエラーに使うことを否定したつもりはないぞ?
ただ、あんたの主張はJavaの検査例外が失敗した理由を解決していない、と言ってるんだよ
891:デフォルトの名無しさん
18/04/09 20:40:46.31 w9Q1JF4q.net
>>862
いやいや、俺の方こそすまん。
慌てて説明したから名前付き戻り値を名前付き引数とか言ってるし。
重ね重ね面目ない。
892:デフォルトの名無しさん
18/04/09 20:40:53.09 FJyngZbb.net
例外設計に関してはrustが現状ベストだと思うけどな
>>857
unhandled promiss rejection出た時の絶望感半端ない
893:デフォルトの名無しさん
18/04/09 20:45:47.57 w9Q1JF4q.net
>>863
解決していないんじゃなくて、結果として検査例外の書き方がまずかった、検査例外以外の存在も実は「これ検査例外にすべきじゃないの?」とか色々物言いもつく、
そもそも論として全部明示的にハンドリングする事をデフォルトにして、検査例外どころか例外を無くそう、って話なんだが。
失敗したも何も、クソめんどくさかったりして、throwsを全部につければ問題無いとか変なルールで回避するからややこしくなるだけなって、収拾がつかなくなったんでしょ。
ジェネリクスがない頃からJavaは触ってるし、歴史を知らんわけでもない。
問題を整理し直して解決したんじゃなくて、捨てたんだよ。柔軟さを。
894:デフォルトの名無しさん
18/04/09 20:56:14.35 ebJj02XJ.net
ID:2gnvm26gの主張って、エラー関係に文句言ってる奴に「別にthrow-catchでもそんなに困らなくね?」って言ってるの?
895:デフォルトの名無しさん
18/04/09 20:56:27.27 1PTa96/6.net
俺には二人ともが「Javaの検査例外は失敗だった」と主張しているように読める……
なんで喧嘩してるんだろうこの人たち
896:デフォルトの名無しさん
18/04/09 20:58:19.15 w9Q1JF4q.net
>>868
その上で例外廃止を是とするか、「ちゃんとしてれば「手に負えない例外」なんてない」って夢物語を語ってるかが違うと思う。
897:デフォルトの名無しさん
18/04/09 21:00:24.61 w9Q1JF4q.net
なんとなく手抜きっぽいからじゃなくて、本気で手抜きだと思ってんだよなぁ。
898:デフォルトの名無しさん
18/04/09 21:00:41.98 25u/0YJa.net
なんかどっちでも大して変わらんというか、
結局実装者がどれだけ丁寧に作るかどうか以上の話にならん気がする。
899:デフォルトの名無しさん
18/04/09 21:04:04.26 mElBwjLW.net
まあthrows Exceptionやるような奴なら、戻り値によるエラー処理を強制したとしても
全メソッド呼び出しでErrorを盲目的に再returnするか全部握り潰してOptionalだらけにするだけだろうな
900:デフォルトの名無しさん
18/04/09 21:06:17.30 w9Q1JF4q.net
丁寧に作ると、大域ジャンプなんかそうそう使わん。
>>872
それでも、どこか遙か上でcatchしてることを期待してthrowされるより、直上がエラーを見てる事が保証できてるほうがマシかと。
握りつぶすのは論外として。
901:デフォルトの名無しさん
18/04/09 21:09:28.00 ON56dtQ5.net
Javaは継承はあるがジェネリクスがない時代の遺物
タプルやEitherを使わないのもジェネリクスがなかったことが影響している
902:デフォルトの名無しさん
18/04/09 21:11:10.68 O1tgNFRh.net
Javaの検査例外が失敗したのは
パッと見で非検査例外と区別がつかなかったことと
try-catch文を毎回書くもがあまりにも冗長で面倒臭かったから
だからSwiftでは非検査例外の方をなくして
更にtry-catch文の改良することで検査例外を復活させてる
ID:2gnvm26gは検査例外という考え方そのものが失敗作だと思ってない?
そうじゃないよ。
903:デフォルトの名無しさん
18/04/09 21:16:16.06 D454qjGx.net
ところで検査例外って「失敗」したの?たしかにJava以降採用する言語はないけどさ。
904:デフォルトの名無しさん
18/04/09 21:19:48.19 mElBwjLW.net
検査例外は多態との相性が最悪なんだよ
Java自身ですら、Lambdaで詰んでとうとう検査例外やめちゃった
905:デフォルトの名無しさん
18/04/09 21:36:54.73 1PTa96/6.net
>>877
この関数は引数として渡されたクロージャと同じ種類の例外を投げますよ記法があれば良さそうに思うけどな
やることは多相型の推論と同じだろう
906:デフォルトの名無しさん
18/04/09 21:48:04.19 1PTa96/6.net
あー、Javaの場合はクロージャを独立したinterfaceとして型を付けないといけないんで無理だな
すまん忘れてくれ
907:デフォルトの名無しさん
18/04/09 21:49:57.80 8jS3HAgs.net
例外をGenericsパラメータにして大体同じような事は出来る。
単に標準ライブラリが採用しなかっただけでは。
908:デフォルトの名無しさん
18/04/09 22:01:05.72 ON56dtQ5.net
動的型は平和でいいよな
検査例外やジェネリクスの無理難題を
追っぱらうため *だけ* だったとしても、それ自体、動的型を使う強力な理由になりうる
909:デフォルトの名無しさん
18/04/09 22:29:22.04 mPPENYW6.net
>>872
明示的に無視するように書いてる場合は議論から除いたほうがよくない?
910:デフォルトの名無しさん
18/04/09 23:37:00.39 zonfm2OA.net
Goはマスコットがきもい!!
911:デフォルトの名無しさん
18/04/09 23:41:10.06 O1tgNFRh.net
>>883
世間一般ではあれをキモカワイイと呼ぶ……はずだ…
912:デフォルトの名無しさん
18/04/09 23:55:03.87 zonfm2OA.net
まぁ一番キモいのはTomcatの猫だが
913:デフォルトの名無しさん
18/04/09 23:56:56.11 GkNeq2uk.net
Kotlinは、名前だけなら一番かわいい。
914:デフォルトの名無しさん
18/04/09 23:59:55.69 GkNeq2uk.net
>>882
複数で開発してる時とか、誰かがやっちまってて、頭抱えることになったりするから、無視しやすいのはギルティだと思うけどね。
915:デフォルトの名無しさん
18/04/10 00:06:23.32 G1U7ZKfA.net
一番キモいのはGitlabの昔のアイコン。
916:デフォルトの名無しさん
18/04/10 00:06:43.88 qmeNshHp.net
>>886
Roslyn「あたしより?(ノД`)」
917:デフォルトの名無しさん
18/04/10 00:15:20.65 RkM59NlG.net
>>887
言語が用意した安全機構を無理矢理回避して握りつぶすことまでは言語側の責任ではないだろうとは思う
とはいえ、安全機構が不十分であるのならそれは言語側の責任だろうと思う
そしてgoの安全機構は不十分だと思う
918:デフォルトの名無しさん
18/04/10 00:21:44.16 EmC/WCPP.net
ねぇ、まだ例外の話するの?そろそろ飽きたんですけど…
最近の言語のエラーハンドリング(Goのタプル, RustのResult, Swiftの例外)が
従来の例外(非検査例外)を使っていないという事実が全てを物語ってるでしょ?
919:Kotlin, TypeScriptは互換性の問題で非検査例外を外すわけにはいかないが… あとは、握り潰しの対処に関しては議論する価値はあるかもしれないけど… 結局「握りつぶすバカが悪い」って結論になりそうな希ガス
920:デフォルトの名無しさん
18/04/10 00:59:26.74 EEQPQ2Uz.net
>>887
無視しやすいとは書いてねーだろ。
無視しずらくしてるのを明示的に無視するコード書くケースは議論から外すべきといってるだけ。
盲目的にエラーを無視するコード書く人間のことまで議論に含めたらきりないじゃん。
921:デフォルトの名無しさん
18/04/10 07:44:44.88 qJmqAz8N.net
結局Lispエイリアンが最高にカワイイんだよな
922:デフォルトの名無しさん
18/04/10 07:54:07.90 Hi+EisyU.net
コトリンなんか使ってる間抜けはandroid屋さんくらいかね
923:デフォルトの名無しさん
18/04/11 20:59:15.55 APP8E9xr.net
いや、俺使ってるよ。趣味でだけど。
924:デフォルトの名無しさん
18/04/14 12:38:55.29 LFIiHGEx.net
>>893
いやキモいだろ
925:デフォルトの名無しさん
18/04/14 12:41:23.74 rk2ZBYTo.net
>>896
どういう感性してんだおめえクロマニョン人か?
926:デフォルトの名無しさん
18/04/14 12:49:22.86 eqcluMRm.net
何で揉めてんだよ
927:デフォルトの名無しさん
18/04/14 18:24:20.33 s0fojNED.net
コトリンなんか使ってる間抜けはandroid屋さんと君くらいかね
928:デフォルトの名無しさん
18/04/14 18:57:30.54 vgY4uhqI.net
googleもなんでkotlinとdartってかぶってることやってるの?
929:デフォルトの名無しさん
18/04/14 21:52:46.32 7M7GkfUj.net
googleは別にことりんは作っておらんで。
dartは作ってるけど。
930:デフォルトの名無しさん
18/04/14 21:57:34.62 xCvUgQvH.net
こういうスレで、特定の言語をディスるやつは、その言語を使えない(理解できないとか、組織の都合とかいろいろあるだろうけど)やつの呪詛だと思うことにしている。
931:デフォルトの名無しさん
18/04/14 22:57:19.09 LHyM2rc9.net
呪詛に反対するならポリコレを推進すればいい
逆にポリコレに反対なら呪詛は許容範囲内だろう
932:デフォルトの名無しさん
18/04/14 23:11:05.96 xdB8fLqn.net
こういうスレで、特定の言語をマンセーやつは、その他の言語を使えない(理解できないとか、組織の都合とかいろいろあるだろうけど)やつの呪詛だと思うことにしている。
933:デフォルトの名無しさん
18/04/15 10:50:29.03 MI4LTSUC.net
俺自身はgoがなんで好きか説明できないけど好き♡
934:デフォルトの名無しさん
18/04/15 11:02:47.68 X/anazzZ.net
一つの言語しか使えないやつは、こんなスレにこないと思うけどな。
>>904
取り敢えず、お前が悔しいと感じていることは理解した。
935:デフォルトの名無しさん
18/04/15 11:45:40.73 ldkcKhuZ.net
ある程度の文法が分かる言語はいくつもあるがエコシステムを十分に使いこなせる言語は少ない
936:デフォルトの名無しさん
18/04/15 12:19:01.56 eLmDxHX7.net
>>906
そいつはただの煽りだろw
937:デフォルトの名無しさん
18/04/17 12:10:26.37 w/mvzKg0.net
例えばMalbolgeは言語として破綻してるけど、これをdisったら「使えない奴の妬み」になるのか?違うだろ?
そのレベルで使い物にならない言語が世の中にはあるってことだ
938:デフォルトの名無しさん
18/04/17 12:58:58.10 QJ3ecdT3.net
ポリコレの人なら差別感情が原因だというし
ニーチェならルサンチマンが原因だという
何を言ったかではなく何が原因かを重視する人が世の中にはいる
939:デフォルトの名無しさん
18/04/17 12:59:55.25 rNTM/JTl.net
Brainf*ck使えない奴の妬みが心地いいなw
940:デフォルトの名無しさん
18/04/17 13:04:24.51 g5yHmTYu.net
ユングならチンコが原因だというだろう
941:デフォルトの名無しさん
18/04/17 13:16:14.75 QO/6Yzum.net
池沼コンプ
942:デフォルトの名無しさん
18/04/17 16:33:29.42 m5s6Mf1F.net
なんでも性欲に還元しちゃうのはフロイト先生じゃなかったっけ
943:デフォルトの名無しさん
18/04/17 16:45:43.91 g5yHmTYu.net
そっかごめん間違えたわ
944:デフォルトの名無しさん
18/04/17 17:04:22.19 gWiyCqxa.net
>>912
どちらかというとフロイト
945:デフォルトの名無しさん
18/04/17 17:19:32
946:.35 ID:cVYjBdTw.net
947:デフォルトの名無しさん
18/04/18 00:07:08.14 gZh+2AXP.net
>>910
普通にレスに参加してると味方も現れたり、割と建設的な会話になるんだが、
名前欄に「あ」と入れるだけで俺が悪くなる不思議な現象もあるんだし、
誰が言ったかもかなり大事だろうね。いろんな意味で。
948:デフォルトの名無しさん
18/04/18 00:33:14.99 IXg32T3d.net
いま適当に調べたらニーチェとフロイトは大陸哲学の先駆者とされる
プログラミングはどう見ても分析哲学です
949:デフォルトの名無しさん
18/04/18 10:22:11.56 E1UyW8OG.net
プラグマティズムでしょ
950:デフォルトの名無しさん
18/04/18 10:43:31.39 ITlW1RMQ.net
【悲報】自己顕示欲の塊「あ」さん、こんな会話でも自分の話に持ち込んでしまう
951:デフォルトの名無しさん
18/04/18 12:13:25.41 gZh+2AXP.net
だいぶ長いこと普通に会話してたからな。
持ち込むも何も、嫌味なんだけどなぁ。
そういう反応含め。
952:デフォルトの名無しさん
18/04/18 12:43:59.64 IrI4bqKj.net
大陸哲学もプログラミングに関係あると思うけどなあ
そういや『記号と再帰』というパースとソシュールの記号論でプログラミング言語を記号論的に語る本があったな
953:デフォルトの名無しさん
18/04/18 12:58:33.98 2VrfViNp.net
おまえら哲学とラムダ計算どっちのほうが詳しい?
954:デフォルトの名無しさん
18/04/18 13:36:02.31 +aOsPa5t.net
クイックソートの各言語での実装はクイックソートのイデアの写像なのだ (プラトン主義)
野の諸言語でのクイックソートの実装のどれ一つとってもその中にクイックソートは内在する (グノーシス主義)
955:デフォルトの名無しさん
18/04/18 17:12:11.36 lZdMxdpS.net
プログラム言語での英米系と大陸系
言語仕様が多少一貫してなかろうが便利ならいいんだよ
vs
そんなんだからごちゃごちゃな仕様になるんだよ
結局「メシマズ野郎」「カエル食い」のいつもの展開になりそうな気もするw
956:デフォルトの名無しさん
18/04/19 17:03:40.67 9euJrxqo.net
哲学史と同じだなw
957:デフォルトの名無しさん
18/04/19 17:42:11.31 Ugd67CCb.net
繰り返している記憶を思い出せないゆえに歴史は繰り返す
958:デフォルトの名無しさん
18/04/20 17:07:59.52 rfyQpLQN.net
>>926
まあ結局なんでこんなにたくさんの言語があるのかってのが答えだと思うな
で、どっちが優れてるかってのはどちらがより後世まで生き残るかで決めるしかないんじゃないかな
まあ時代、時代で必要な技術ってのは変わるからそれで一応の結論が出せるって話でしかないけど
959:デフォルトの名無しさん
18/04/20 17:18:58.21 sbzNwV19.net
未だに決着がついてないところまで似てるw
960:デフォルトの名無しさん
18/04/21 02:20:33.50 h2C47Kaa.net
隙あらばあ語り
961:デフォルトの名無しさん
18/04/21 07:58:45.75 Tcatlxxe.net
いまどき「語り」に罪悪感を覚える人間がどこにいるんだよ
次世代に備えろ
人を見たらサイコパスと思え
962:デフォルトの名無しさん
18/04/21 19:40:57.77 W/q1DIXv.net
隙あらば次世代言語語り
963:デフォルトの名無しさん
18/04/21 20:16:20.43 Z4H7O2O2.net
>>931
俺じゃねえぞ
964:デフォルトの名無しさん
18/04/21 20:45:55.94 dcjYnmEM.net
>>934
誰だよおめー
965:デフォルトの名無しさん
18/04/21 22:42:40.15 zqkaZSIG.net
次世代言語にDartは入りますか?
966:デフォルトの名無しさん
18/04/22 08:48:01.83 jd9SLSuF.net
いいえ、残念ですが死産です
967:デフォルトの名無しさん
18/04/22 09:54:09.54 c2tTlBO1.net
先月Dart2が出たと思ったらもう死んだのか・・・
968:デフォルトの名無しさん
18/04/22 14:12:12.91 TtvJ1g+m.net
Laravelの伸び方がやばい件
これPHP復権するんじゃね?
URLリンク(trends.google.co.jp)
969:デフォルトの名無しさん
18/04/22 14:18:33.01 nugsKp1K.net
Dartほど誰にも望まれてない不憫な子も珍しい
望まれてない技術をゴリ押しするなんて、Google自身が非難していた過去のMSとやってることは変わらないって気付いてないんだろうか
970:デフォルトの名無しさん
18/04/22 14:27:32.48 AAVHB68B.net
ゴリ押すどころかGoogleが真っ先に見捨ててるだろ
971:デフォルトの名無しさん
18/04/22 16:44:50.97 WERdgzar.net
>>939
こっちでどうぞ
【PHP】Laravel【フレームワーク】 [無断転載禁止]
スレリンク(php板)
972:デフォルトの名無しさん
18/04/22 18:30:51.10 jd9SLSuF.net
今さらゲリクソプェチピィでフルスタックとかガイジにもほどが
973:デフォルトの名無しさん
18/04/22 19:35:14.33 bBR6Oib8.net
>>939
laravelってそんなに良いかな?
丁度railsのチュートリアルと合わせてlaravelも触ってるけど
railsの劣化コピー感があるんだけど。
この辺の感覚はここに書くには長すぎるからqiitaにでも書くけどさ
974:デフォルトの名無しさん
18/04/22 20:55:44.29 o9swHd+I.net
どの辺がどう良いか言えない時点で頭お察しのペチパーだろ
せめてRailsと比べての明確な利点を理論的に話してもらわんと。ペチパーには無理だろうけど
975:デフォルトの名無しさん
18/04/22 21:02:46.32 fdCmw2ub.net
Railsと比較したらどんなものでもマシだろう。
976:デフォルトの名無しさん
18/04/22 22:34:33.87 eKADyGOj.net
Rails自体を手放しで賞賛する訳じゃないが、
PHP製のRails劣化コピーフレームワークどもがRailsよりマシってさすがに頭ペチパーでは
SymfonyがRailsより良いのか?
Laravelが?
FuelPHPが?
CakePHPが?
977:デフォルトの名無しさん
18/04/22 23:01:59.83 IlGrff4D.net
JavaScriptはブラウザを変えても動く
それに比べて、PHPとRubyはサーバーを変えたらどうなるの
978:デフォルトの名無しさん
18/04/22 23:20:29.43 9Np5N8Zp.net
phpは知らん。rubyは発狂しそうになった。pythonやjavaもトラブったことある。
goのシングルバイナリとか憧れるわ。青い芝生なのかもしれんけど。
979:デフォルトの名無しさん
18/04/22 23:45:16.35 eKADyGOj.net
jsもサーバで動かそうとするとRubyやPythonの比じゃないくらい頭おかしくなるけどな
Goのシングルバイナリは悪くはないんだが妙にデカいのとコンパイルパスがバイナリから消せないのがクソ
980:デフォルトの名無しさん
18/04/23 00:42:42.58 Qj7zyv05.net
型無し糞言語なんて全部糞だからセーフ
981:デフォルトの名無しさん
18/04/23 02:01:40.00 sTSAMHq0.net
>>950
でかいと言ってもrubyなんかのライブラリ含んだ環境と比べてもでかいもんなのかなぁ?よくわからんけど。
982:デフォルトの名無しさん
18/04/23 03:25:35.65 6kB1GY2J.net
nodeのほうがRubyやPythonよりまだマシだったぜ。こいつらの場合システムプリインストール版と戦わなくちゃならんもん。
983:デフォルトの名無しさん
18/04/23 05:55:51.63 klhfnu8X.net
nodeだってそのうちきっとsystemdあたりが使い出して
プリインストールされて衝突するようになるよ
984:デフォルトの名無しさん
18/04/23 06:26:29.65 u+QX9S93.net
railsが最強なのはrailsチュートリアルという無料コンテンツが存在する点。
これ一本で何も知らない素人をwebエンジニアにしあげてしまう力がある。
しかも常にメンテナンスされてて一部古くて使えない。みたいなことも無さそう。
phpもフレームワークを真似るんだったら、こういうエコシステム面もぱくらんとな。
特にphpは推奨すべきphp.ini構成とかあるんでしょ?
985:デフォルトの名無しさん
18/04/23 07:57:49.59 Lxhtz3Yj.net
>>954
node は素人が普通に使っても衝突しにくいと思う
986:デフォルトの名無しさん
18/04/23 08:36:31.93 SVjZZRS4.net
>>950
デカイのはstaticリンクされてるから。
びっくりするような「ただOSとしてlinuxが起動してるだけ、なんのライブラリも入れてない、コマンドもない、むしろシェルすらない」みたいな環境でも起動するんだから必要悪だと思うわ。
987:デフォルトの名無しさん
18/04/23 08:39:44.34 SVjZZRS4.net
>>955
何も知らない素人を、なんとなく組めるけど考え方の骨子も知らずパフォーマンスなんか気にしない「Rails書き」に仕上げる、の間違いだろ。
Railsからruby始めたやつで、唸るようなコード見たこと無いぞ。
ruby大好きな人が書くコードは好きじゃないけど唸ることはある。