1 名前:デフォルトの名無しさん mailto:sage [2022/08/04(木) 23:32:27.83 ID:yWVViPyIM.net] !extend:checked:vvvvv:1000:512 (新スレ立ての際上記コマンドを2行書き込んでください) C言語の話題のみ取り扱います C++の話題はC++スレへ 質問には最低限の情報(ソース/コンパイラ/OS)を付ける 数行で収まらないソースは以下を適当に使ってURLを晒す https://paiza.io/ https://ideone.com/ codepad.org/ C17 www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4713.pdf C11 www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf C2x ドラフト www.open-std.org/jtc1/sc22/wg14/www/docs/n2731.pdf C99 www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf kikakurui.com/x3/X3010-2003-01.html C FAQ 日本語訳 www.kouno.jp/home/c_faq/ JPCERT C コーディングスタンダード https://www.jpcert.or.jp/sc-rules/ ※前スレ C言語なら俺に聞け 158 https://mevius.5ch.net/test/read.cgi/tech/1640401906/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
596 名前:デフォルトの名無しさん mailto:sage [2022/10/09(日) 21:14:06.38 ID:pElHhn0J0.net] >>585 > メモリがどうとかクロック数が幾つとか そんなものは知らなくても組めるけどそもそもC言語使う必要あるのか?
597 名前:はちみつ餃子 mailto:sage [2022/10/10(月) 00:47:38.73 ID:95zl+JNn0.net] >>585 C の言語仕様は言語仕様上で規定する仮想的な機械の挙動として記述されていて 現実の処理系がどのような機械語を生成するのかは規定してない。 見かけ上の挙動が仕様通りならどういう機械語が生成されてもよいことになってる。 現代的な処理系はすごく高度な最適化をするのでどういう機械語が生成されるのか事前に想像するのは難しいし。 どうしてもすごく高速に動いてほしいプログラムを気合い入れてチューニングしたりする場合には ハードウェアの知識が必要になることも有るし、 他の言語との接続が必要なときにはメモリの管理方法を協調させないとおかしなことになったりもするけど 結局のところやりたいこと次第だし、入門レベルでは気にする必要はない。 今ならアプリケーションレイヤで動くプログラムでクロックを意識するようなことはまずない。 現代のパソコンやスマホくらいの高級な CPU では機械語を分解して 最適化した内部命令 (インテルだと μop と呼んでいるようだがメーカーによって名称はいろいろ) を生成したりする 工程があるので、クロックも一定とは限らない。 そこまで高度なことをしない CPU でもだいぶん前からパイプラインは採用されてるから、 単純に命令ごとのクロック数を合算した値が処理時間になったりはしないし。
598 名前:デフォルトの名無しさん mailto:sage [2022/10/10(月) 01:08:56.92 ID:dL9jKsv+0.net] i++; 辺りは効率の良い機械語翻訳を期待していると思う
599 名前:はちみつ餃子 mailto:sage [2022/10/10(月) 01:16:27.83 ID:95zl+JNn0.net] 言語仕様で規定する仮想的な機械が (C が初期に使われ始めたコンピュータである) PDP と親和性が良すぎるので C のことを PDP エミュレータと揶揄することもあるらしいね。
600 名前:デフォルトの名無しさん mailto:sage [2022/10/10(月) 06:33:30.58 ID:ICu0RgND0.net] >>585 何のプログラムを作るかによる おまえさんが言うようにハードがわかる必要があったり 簿記や不動産取引がわかる必要があったり
601 名前:デフォルトの名無しさん mailto:sage [2022/10/10(月) 08:21:20.44 ID:C38R1GQo0.net] おそらくそこまで高度なことは求めてないよ クロックという言葉を知ってたから口走ってしまっただけで意図としてはハードウェアの知識をつけないとC言語は使えないのかと聞きたかっただけだと思う
602 名前:デフォルトの名無しさん (ワッチョイ 8a7c-O9y3) mailto:sage [[ここ壊れてます] .net] C言語関連のシステム系の質問していいですか? 微妙にスレチっぽいですが、このスレの人が一番詳しそうなのでご容赦ください。 最近Windows Server 2019マシンを導入し、Windows10で使っていたソフト(他社製)を持ってきたところ ほぼ全部問題なく動くのですが、一つだけ10倍以上遅いソフトがありました。 そのソフトはexe1個のみの構成で、Dependency Walkerで調べると C:\Windows\System32\msvcrt.dll に依存していました。 (他の正常動作するソフトでmsvcrt.dllに依存するものはなし) Cにはあまり詳しくないのですが、昔mallocが異様に遅い環境で苦しんだことを思い出し もしかしてWindows Server 2019のmsvcrt.dllの出来が悪いor相性問題が原因なのではと思いました。 そこで考えたのですが、Windows10のmsvcrt.dllを持ってきて使ってみるというのはどうでしょうか? とりあえず速度が正常に戻ってくれれば十分なのですが、やめたほうがいいでしょうか?
603 名前:デフォルトの名無しさん (アウアウウー Sa2f-tmeX) mailto:sage [[ここ壊れてます] .net] やめた方がいい 絶対他に原因あるわ
604 名前:デフォルトの名無しさん mailto:sage [2022/10/10(月) 11:44:15.39 ID:5N3s1AfQ0.net] >>593 やっぱりそうですかね・・・ リソースモニターとかで調べてはみたものの原因がさっぱり分かりません。 特にIOが遅いように感じるんですが、ハイグレードなSSDを積んでいるのでハードとしては問題ないと思います。 100万円クラスのマシンですし他のハードもスペック的には問題ないはずです。 ちなみに試しにWindows10のmsvcrt.dllをexeと同じフォルダに置いてみたのですが、どうも使われていなさそう。 dll検索順ってカレントディレクトリが最優先じゃなかったでしたっけ? できるか知りませんが、System32のdllをspecificに参照するようになっていたらそもそも無理ですね。 開発元に聞けたらいいのだけど諸事情でそれが不可能です。
605 名前:デフォルトの名無しさん mailto:sage [2022/10/10(月) 13:06:26.88 ID:+EPzVvoud.net] 微妙じゃなくて完全にスレチw Windowsシステム関連のスレで聞いたほうがいいと思う
606 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ cb3e-kHT+) mailto:sage [[ここ壊れてます] .net] >>594 > dll検索順ってカレントディレクトリが最優先 もし単純にそういう順序を適用するとマルウェアがファイルをそこに置くだけでプロセスを乗っ取れてしまう。 レジストリのどこかに登録されているやつは別扱いにするとかのややこしいルールがあったはず。 > 特に IO が遅いように感じる IO が遅いというのが事実だとしたら ① 物理的に乗っているのが SSD でもハードウェアの自動認識が誤っていて古いインターフェイスでやり取りしている ② たまたまそのアプリケーションがデバイスドライバかコントローラのバグを踏むような制御になっている ② HDD で性能が出るようにアプリケーション内で凝った制御をしていたが SSD が速すぎて狂った などの事情は思いつくけど……
607 名前:デフォルトの名無しさん mailto:sage [2022/10/10(月) 14:32:16.59 ID:5N3s1AfQ0.net] >>595 Windowsシステム関連のスレがないか探しましたが、どうもこれというのがないんですよね。 Windows板かな?あそこは一般コンシューマが多くてこの手の質問はしにくいのが・・・。 引き続き海外フォーラムを漁ってみます。 >>596 詳しくありがとうございます。 ご提示のものが原因とすると、ちょっと自分の手に余りそうです。 他の似たようなソフトは軒並み問題ないのに何でこのソフトだけ・・・と釈然としませんが どのWindowsでも同じように動きますなんてそう甘い話はないということかな。
608 名前:デフォルトの名無しさん mailto:sage [2022/10/10(月) 14:37:10.94 ID:1bdf6+Ty0.net] 存在しないネットワークドライブにアクセスしに行って、タイムアウトするまで固まるとかは時々遭遇するけどはたして
609 名前:デフォルトの名無しさん mailto:sage [2022/10/10(月) 14:51:34.42 ID:YCEUCnMua.net] ていうか作者に障害報告しろや
610 名前:デフォルトの名無しさん mailto:sage [2022/10/10(月) 14:56:11.84 ID:mfO2JKX70.net] ライセンス料を払いたくないやつかな?
611 名前:デフォルトの名無しさん mailto:sage [2022/10/10(月) 14:58:25.83 ID:2QXR7TRNd.net] 鯖機だとベンダー独自の機器やドライバが入ってたりするだろうから分かる奴はほぼいないだろうな
612 名前:デフォルトの名無しさん mailto:sage [2022/10/10(月) 15:00:55.06 ID:dL9jKsv+0.net] >>597 >一つだけ10倍以上遅いソフト この製造元に聞くのが最短だと思う
613 名前:デフォルトの名無しさん mailto:sage [2022/10/10(月) 18:15:26.96 ID:5N3s1AfQ0.net] 製造元には軽く聞いてみたのですがサポート対象外ですと一蹴されました。 諸事情により相手のほうが立場が上で、現段階でこれ以上聞き出すのは難しいのですが 上手く機会を作って情報を得たいと思います。 皆さんありがとうございました。
614 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 07:55:01.73 ID:1DnVcsvQd.net] やはりな
615 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 08:00:48.49 ID:+IdMirEn0.net] Windows Server で Hyper-V 動かしてその上に Windows 10 入れてそのアプリ動かせばええやん
616 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 09:05:08.75 ID:1DnVcsvQd.net] ハイパーバイザー型よりホスト型の方が融通効くしフリーのもある
617 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 09:19:51.89 ID:lDI8MaGS0.net] 個人利用なら好きにすればいいけど共用のサーバー機でそんなことして問題起きると責任問題になるよ
618 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 09:26:18.23 ID:+IdMirEn0.net] >>606 Hyper-V は両方あるからわざわざ 「Windows Server で」って書いてある >>607 普通はシステムのdll置き換えようとしてる時点で責任問題になるしそもそも Windows 10からアプリ持ってきてる時点でライセンス大丈夫か?って思うだろ
619 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 09:44:54.24 ID:S5uegLjFa.net] msvcrtってMicroSoft Visual C/c++ RunTimeなんだよね C言語ってライブラリを静的リンクすることが多いけど共通部分をdllにしたらディスク容量が少なくて済むんじゃねって発想で作られた過去の遺物 今は積極的に使うべきものじゃない おそらく古い古いソフトなんじゃね
620 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 09:48:41.00 ID:S5uegLjFa.net] そういう古いソフトは当然のように32ビット(ひどい時には16ビット)だから64ビット環境ではエミュレーションが働く その辺に何かありそうな気がするな知らんけど コンパイルし直せば直るような気がしないでもないがメーカーが対応する気ないんじゃどうしようもない
621 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 14:18:13.05 ID:UUE3JARA0.net] >>585 メモリとハードディスクの違いくらいはわかってないと無理でしょ
622 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 14:24:20.66 ID:e/MLj7zo0.net] Z80 は楽だったなあ
623 名前:ハノン108 mailto:sage [2022/10/11(火) 18:29:10.92 ID:RNyxjBqNH.net] >>610 16ビットはエミュレーションは利きません!
624 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 18:50:36.59 ID:D4ywmAPt0.net] >>613 なんで? https://learn.microsoft.com/ja-jp/sql/odbc/microsoft/using-16-bit-applications-with-32-bit-drivers?view=sql-server-ver16
625 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 19:07:33.88 ID:M2HX+v9qM.net] 64bit Windowsでは16bitアプリは動かせない(エミュレーション環境は32bitだけ) 32bit版Win10 ならかろうじて可能性はあるがWinServer2019は64bitだけなので完全に無理
626 名前:ハノン mailto:sage [2022/10/11(火) 19:10:36.62 ID:RNyxjBqNH.net] >>614 それは 32 ビット版 Windows の話 64 ビット版 Windows は 16ビットアプリを捨てました、AMD64 アーキをもっと勉強してね!
627 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 19:31:53.97 ID:D4ywmAPt0.net] >>616 サードパーティだがWineVDMというのを使えば動くようだ 勉強になったか?
628 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 19:49:30.50 ID:e/MLj7zo0.net] 32ビット版の仮想を動かしてその中で16ビットアプリを動かす事は出来る そういう多段ロケット使えば良いんだがそこまでして今動かすものがないw
629 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 20:01:38.90 ID:1DnVcsvQd.net] >>616 64bitホストに32bitゲスト載せるとさ 普通に16bitアプリを実行できるんだけど 本当にハード的に不可能なんかね?
630 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 20:05:48.94 ID:1DnVcsvQd.net] 32bit OSでは4GB超えできないとかさ マイクソの集団催眠にかかったやつの言う ちったあ勉強しろってマウントは 呆れるの通り越して笑う価値もない
631 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 20:10:22.58 ID:D4ywmAPt0.net] エミュレータ使うならできない理由はないなあ 単にマイクロソフトが自前のエミュレータの提供をやめたというだけでAMD64がどうとか言うのは知識不足のマウンターの妄言としか思えないな
632 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 20:51:12.11 ID:X1iGovPsM.net] 32ビットすら打ち切りたそうなのに?
633 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 22:06:01.71 ID:aJhELtxJ0.net] じゃあまずお好きな言語でエミュレータを作ってそこで動くZ80プログラムを作れ。
634 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 22:06:38.42 ID:aJhELtxJ0.net] リロード忘れた。間に山盛りに他の書き込みが。 削除できないからもういいや。わすれてくれ。
635 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 22:31:48.32 ID:aIs/ZXKV0.net] XP mode はエミュレータか? おいサル
636 名前:ハノン mailto:sage [2022/10/11(火) 22:36:50.66 ID:d6pThQK8H.net] >>617 ,619 それってエミュレータでしょ?仮想的なCPUをコードでガリガリ書いてインタプリタしているって奴、そんなのでもまともに動く時代になったんですねえ >>618 ,619 私も 16 ビットを 64 ビットで動かすときはエミュっています http://takeda-toshiya.my.coocan.jp が有名で私も便利に使っています [] [ここ壊れてます]
638 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 22:46:46.46 ID:D4ywmAPt0.net] >>626 AMD64の勉強したらこの話に関係ないことがわかったか?
639 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 23:02:05.82 ID:d6pThQK8H.net] まあ私も「エミュレーション」という言葉を、ソフトウェアによるエミュレーションか、80386 がやり始めた仮想86モードという意味でのエミュレーションかをはっきり区別せずにパンパン書いたせいもありますね、ごめんなさいね
640 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 23:04:40.15 ID:D4ywmAPt0.net] WOW64とサンクはその話とはまた別だぞ それはハードの話だろ MSが提供しなくなったのはサンクだ
641 名前:デフォルトの名無しさん mailto:sage [2022/10/11(火) 23:21:05.30 ID:aJhELtxJ0.net] thanks
642 名前:デフォルトの名無しさん mailto:sage [2022/10/12(水) 01:05:29.68 ID:P/bHT4Cpr.net] サークルKサンクス潰れたから提供のしようがない
643 名前:デフォルトの名無しさん mailto:sage [2022/10/15(土) 18:58:46.26 ID:fQccGg0Vd.net] なぜつまらないとわかっていてオヤジギャグを何故言ってしまうのか チコちゃんで脳科学的に分析してて笑ったわw
644 名前:デフォルトの名無しさん mailto:sage [2022/10/15(土) 19:44:27.23 ID:jaz9tT2QH.net] >>632 なんでなんで!
645 名前:デフォルトの名無しさん mailto:sage [2022/10/20(木) 03:24:32.42 ID:y3K9DSVg0.net] ジジイだからだよ。
646 名前:デフォルトの名無しさん mailto:sage [2022/10/20(木) 11:13:15.74 ID:SiOwIn850.net] ここはジジイしかいないからな
647 名前:デフォルトの名無しさん mailto:sage [2022/10/20(木) 19:25:01.75 ID:aXExphHPd.net] >>633 歳を取ると語彙が増えていき頭の中でダジャレが浮かびやすくなる それと同時にセンスが低下して面白いギャグかどうかがだんだんわからなくなる 結果的におっさんはつまらないダジャレを思いついたらすぐ言うようになる
648 名前:デフォルトの名無しさん mailto:sage [2022/10/20(木) 19:54:53.72 ID:UUAxnkpP0.net] オヤジギャグやダジャレより 連想したものをただ言ってれば、 例えツッコミ扱いしてくれて楽だろう
649 名前:デフォルトの名無しさん mailto:sage [2022/10/20(木) 19:58:46.29 ID:4Jg9TvVE0.net] つまらなくても笑えよ。敬老精神が欠如しているのか。
650 名前:デフォルトの名無しさん mailto:sage [2022/10/20(木) 20:00:11.34 ID:SiOwIn850.net] ソースにもだじゃれ入れてそう
651 名前:デフォルトの名無しさん mailto:sage [2022/10/20(木) 20:25:40.72 ID:w47Nq7BKH.net] >>639 char aznable
652 名前:デフォルトの名無しさん mailto:sage [2022/10/20(木) 22:06:49.25 ID:SiOwIn850.net] カウント変数にcuntは止めろとねんを押された
653 名前:デフォルトの名無しさん mailto:sage [2022/10/20(木) 22:28:20.65 ID:NFETJM8p0.net] コーディング規約があるなら守りましょう
654 名前:デフォルトの名無しさん mailto:sage [2022/10/20(木) 22:29:14.08 ID:NFETJM8p0.net] 一瞬idがNEETかと思ったが違ったw
655 名前:デフォルトの名無しさん mailto:sage [2022/10/20(木) 22:48:13.58 ID:SiOwIn850.net] ソースではなく、make終了時にBIGCOCKと表示させてた奴を知ってる 本人いたら、ゴメンナサイ、バラしました
656 名前:デフォルトの名無しさん mailto:sage [2022/10/21(金) 21:25:54.17 ID:CZbur0iYd.net] そう、こういうの 全然どうでもいい事をさも重要な秘密のようにw
657 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 07:10:33.74 ID:9/1OGIJE0.net] 独り言です インデントは4を使ってきたのだがプロの世界?では2みたいだな 軽くショックを受けた
658 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 07:12:57.69 ID:9/1OGIJE0.net] ちなみにインデント2を使ってるのはcatコマンドのソースです https://sources.debian.org/src/coreutils/9.1-1/src/cat.c/
659 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 07:27:37.61 ID:i1fpLCEI0.net] プロの現場にそういうところもあるというだけだよ 1つ目撃したからってそれが全てだと思うのは 早まった一般化という誤謬だ 誤謬を多発するやつは論理思考が苦手ってことだ むろんプログラマとしての適性ではマイナス要素だ
660 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 07:32:06.64 ID:A1wSH6ms0.net] 昔は画面が狭かったからそういう主義のやつも割といた そろそろ淘汰されてる頃じゃね
661 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 07:39:15.76 ID:i1fpLCEI0.net] 一画面ルールってのもあったな
662 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 08:27:39.75 ID:HgiMaBnhM.net] 今でもそこそこ使われてるだろ 一画面とは言わないまでも100行ルールとかの発展型も多い ひとつの関数が何千行もあればコードレビューで問題にされる
663 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 08:40:19.94 ID:i1fpLCEI0.net] ダラダラ書くなって話が廃れたとは言ってないんだが
664 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 09:25:59.68 ID:+gGQ3BRS0.net] GNUスタイルのインデントはゴミ
665 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 09:26:11.73 ID:KYgyTmU4M.net] 名前空間やクラスを使わないC言語は特に文が長くなりがちだから、2のほうが使い勝手がいいと思うことはよくある
666 名前:デフォルトの名無しさん (ワッチョイ 1363-HLP5) mailto:sage [2022/10/30(日) 10:52:42.74 ID:vrlOFY0H0.net] >>647 のcatソース見たけれど、 私にはブロックが分かりにくいと感じた 見慣れれば良いのかも知れないが
667 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 17:05:35.10 ID:wnFbyiurd.net] >>647 rms仙人の直筆か プロ?と言って良いのかはさておきスーパーハッカーではあるね 関数呼び出しの()前の空白とかは結構独特なスタイルだと思うぞ
668 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 17:11:32.88 ID:c3va8FLBd.net] ✗直筆 ✓監修 プロとは我らIT土方の事を指すのです
669 名前:おじ乳輪様 [2022/10/30(日) 17:12:30.77 .net] 中括弧の位置とか関数呼び出しのスペースとかなんでこんな独特なスタイルなの? なんのメリットが?
670 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 17:24:51.13 ID:xXAnW4UR0.net] もともとは egrep とかで使いやすい とかいう理由だった気がする
671 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 17:30:55.10 ID:1Zssd/uh0.net] web.sfc.wide.ad.jp/~sagawa/gnujdoc/standards-19981118/standards-ja_5.html
672 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 17:33:33.15 ID:ZM6oqeKp0.net] GNUのソースは読もうと思って読んだがあのスタイルに拒否反応が出て駄目だったわ
673 名前:デフォルトの名無しさん [2022/10/30(日) 23:05:10.18 ID:KHak5nKt0.net] ( ´_ゝ`)フーン
674 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 23:45:46.77 ID:QW7VZG88M.net] インデントごときで読む気が無くなるのは、単に向いてないだけだなw
675 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 23:52:22.08 ID:vrlOFY0H0.net] うん、むいてないからお前がやってくれ
676 名前:デフォルトの名無しさん [2022/10/31(月) 00:03:46.32 ID:EzTz1A6M0.net] ( ´_ゝ` ) フーン
677 名前:デフォルトの名無しさん mailto:sage [2022/10/31(月) 00:23:37.56 ID:8d/Em0+h0.net] スタイルがあるなら従うべきだけど、300-500行目に連発する } else { はさすがに目が滑る スクロールして追うのも辛い
678 名前:デフォルトの名無しさん [2022/10/31(月) 00:32:37.86 ID:MKojko7I0.net] ブロックの前にインデントを入れてるのはブロックも文なんだから単一文の時と同じようにインデントを入れるべきという理屈かな?
679 名前:デフォルトの名無しさん mailto:sage [2022/10/31(月) 01:42:04.37 ID:8d/Em0+h0.net] >>667 それ自体は一貫してるからいい、ただしこの場合は対応するifから平気で50行以上も離れているので、elseだけじゃスクロールバックしないと条件が何か分からん エディタのfold機能を活用するのもアリだけど、プレーンテキストとして読めるべきという姿勢のようだから、まさに>>660 にある #ifdef foo ...(長いコード) #else /* not foo */ のようにelseにコメントを添えさえすれば、俺的にはオッケー 余談だけど 個人的にはプリプロセッサの条件も自由にインデントしてる # ifdef foo ... # ifdef bar .... のように 殆ど見かけないから決して他人には勧めはしないけど
680 名前:デフォルトの名無しさん mailto:sage [2022/10/31(月) 01:43:55.98 ID:oYB2uzRMM.net] GNUのインデントは、Pythonを考慮すると利にかなってんだよな if foo: bar if (foo) { bar; } という対応がある Pythonはインデント自体にブロック要素があるから余計なカッコが要らないけど、Cはブロック要素にカッコが必要だから書いてあると考えれば、実はPythonと一緒なんだよ これに気付いた時はrmsは天才なんだと思い知らされた
681 名前:デフォルトの名無しさん mailto:sage [2022/10/31(月) 02:16:22.63 ID:8d/Em0+h0.net] >>669 結果的に同じ形に落ち着いてるけど、pythonとは正反対の思想から生じている事もお忘れなきよう 尊師の第一言語はcでなく言語に構文要素自体が存在しないlispだから、改行のみからコードブロックとインデントレベルがフォーマッタを問わず一意に定められる c系統(いわゆるブレース言語)は言語に構文を採用しつつ、フリーフォーム記述の許す折衷だから、フォーマッタとスタイルにバリエーションが生じる
682 名前:デフォルトの名無しさん mailto:sage [2022/10/31(月) 02:24:22.85 ID:8d/Em0+h0.net] 翻って、エディタ入力支援/フォーマッタプログラム無しにlispを記述するのは事実上不可能に近いので賛美してるわけではないよ 念の為
683 名前:デフォルトの名無しさん mailto:sage [2022/10/31(月) 11:19:45.88 ID:0hSBCDEtd.net] ))))))))くらいは序の口だし、括弧を数えてたら気が狂うわな ネストレベルに応じて機械的に挿入されるインデントのみによって構造を把握するから、Lispは実質的にPython並にインデント強制
684 名前:はちみつ餃子 mailto:sage [2022/10/31(月) 11:43:48.99 ID:HpV/6ZOj0.net] 今となっては C だってエディタの支援なしに書く気にはならんけどな。
685 名前:デフォルトの名無しさん [2022/10/31(月) 13:07:16.76 ID:J5/naAYk0.net] >>673 それは慣れの問題
686 名前:デフォルトの名無しさん mailto:sage [2022/10/31(月) 15:59:12.44 ID:YDjtl0u50.net] そう言うのには慣れたくない
687 名前:デフォルトの名無しさん mailto:sage [2022/10/31(月) 16:35:29.26 ID:gpqFhr3z0.net] LISP は先にあるんだし、Python の文法は諸々の言語の影響結果だろ ブロックの開閉で改行するってのは、ALGOL系のBEGIN~ENDの強い影響を感じる Cではむしろ、少し自由な書式書法になっていたのが退化した
688 名前:デフォルトの名無しさん mailto:sage [2022/10/31(月) 16:49:19.46 ID:YDjtl0u50.net] Cが退化したのではなく、人間が退化したんだろう
689 名前:デフォルトの名無しさん [2022/10/31(月) 20:11:09.56 ID:a6AXXlaBa.net] 括弧の入れ子がひどいコードを作ることがやばい
690 名前:デフォルトの名無しさん mailto:sage [2022/10/31(月) 21:12:31.27 ID:YDjtl0u50.net] 初心者のために、本来不要だけど括弧を付けるときはあった
691 名前:デフォルトの名無しさん [2022/10/31(月) 21:55:34.36 ID:MKojko7I0.net] ウザ
692 名前:デフォルトの名無しさん mailto:sage [2022/10/31(月) 22:06:42.50 ID:gNe27yrb0.net] >>679 俺は未来の自分のために言語仕様としては不要な括弧を付ける
693 名前:デフォルトの名無しさん mailto:sage [2022/11/01(火) 07:24:39.67 ID:8mAHYLmxd.net] 初心者でも務まる仕事か
694 名前:デフォルトの名無しさん mailto:sage [2022/11/01(火) 15:13:43.68 ID:hGXBrabD0.net] 若手に優しい配慮は必要だと思う いらないと言うことに気がつけば それはそいつの進歩だ
695 名前:デフォルトの名無しさん mailto:sage [2022/11/01(火) 18:32:43.22 ID:8mAHYLmxd.net] 甘やかしでしかない
696 名前:デフォルトの名無しさん mailto:sage [2022/11/01(火) 18:40:22.15 ID:hGXBrabD0.net] たった1人で好きなシステム組んでみて