パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

大文字小文字を区別するファイルシステムと区別しないファイルシステム、どっちがいい?」記事へのコメント

  • by Anonymous Coward on 2022年09月25日 20時12分 (#4332466)

    区別してたのをしなくしたら、区別する前提でのtar.gzファイルを展開した時とか、
    ファイル群をコピー・移動したりすると衝突しておかしくなっちゃうじゃないですか。

    • by Anonymous Coward on 2022年09月25日 20時37分 (#4332475)

      *nixルータのファームウェアをWindowsで展開しようとしたときに衝突して面倒だったな

      親コメント
    • by Anonymous Coward on 2022年09月25日 21時04分 (#4332487)

      若かりし頃データベースのテーブル作るときに全部小文字でタイプして作業したとき、アプリケーションがWindowsでは動くのにLinuxでは動かないという現象に遭遇して調べたらSQLが全部大文字だったのでLinuxではテーブルが見つからない扱いだった。

      親コメント
      • by Anonymous Coward

        あるプログラミング言語ではコンパイラは区別しないが、プリプロセッサは区別して処理するので混乱が生じる場合がある

      • by Anonymous Coward

        今、使ってるマイナーなCPUのコンパイラパッケージが作るビルド環境。WINで動作するものなのにソースのファイル名が大文字小文字混在だとリンカーでファイルが見つからなくなる。ファイル名の1文字目のに合わせたリンカ用のファイルができる。AbC.CをコンパイルするとAbC.objができるがリンカはABC.objをさがしてファイルが見つからなくなる。Cソースの拡張子は大文字だけで小文字だとコンパイルできない。

    • by Anonymous Coward

      LinuxとWindowsの両方でクロス開発とか珍しくないしUNIX系のMAC OSすらも区別しないし
      そもそも同一階層に大文字小文字区別前提でファイルを作るとか普通の感覚だと避けるでしょ。
      人間には大文字小文字をいちいち区別するのはメンドクサイから。

      • by Anonymous Coward on 2022年09月25日 20時48分 (#4332480)

        時には他人の作ったファイルを同一階層に取り込むこともあるし、プログラムが自動でファイルを吐き出すこともある
        って考えると「普通の感覚」をアテにしちゃあマズいんじゃないですかね

        親コメント
        • by Anonymous Coward

          MacやWindowsとクロス開発しないで大文字小文字区別する設定のままやってれば問題ないよ。
          クロスした時点で破綻するからそんな案件には近寄りたくないけどな。

        • by Anonymous Coward

          そう、プログラム内での、同一ファイル名検出とか、
          重複を避けたデータファイル書き出しをする箇所なんかを書き直さないといけないんですよね。
          自分の手がけたものもいくつも該当する。

      • by Anonymous Coward

        今はAndroidとかで素人でも大文字小文字区別環境に触れることは多く、Windowsと同じつもりでファイル名の大文字小文字を変更して保存したら別ファイルになって知らぬ間に容量を圧迫されるなどの被害を被る可能性がある
        混乱を来たす大文字小文字同一視ファイルシステムは滅ぼし尽くされるべき
        素人はコマンドラインや設定ファイルなどで読み込むファイル名を手入力で指定することなんてそう多くないから、大文字小文字が違っていてファイルが読み込まれずに戸惑う心配なんて要らない

        • by Anonymous Coward on 2022年09月25日 22時14分 (#4332525)

          Androidって大文字小文字区別するんだ。
          素人じゃないけど知らなかったぞ。

          親コメント
          • OSから見る時のファイル名は文字列型なので常に区別されます。ファイルシステムに書き込む時に正規化されたりされなかったり、読み出す時に区別されたりされなかったりします。「デベハトップ」に正規化されることもあるでしょう。

            なのでフルパスを指定してファイルを書き込んでそのファイルを読み込んだ時のファイルオブジェクトの持っているフルパスが先のものと一致(?)するかどうかは時と場合と運により、OS名では一概に言えないはずです。Linux KernelでもFAT16とかから起動してたら区別されないんではないでしょうか。

            親コメント
            • by Anonymous Coward on 2022年09月26日 8時58分 (#4332641)

              そもそもWindows/FAT/NTFSだって大文字小文字の正規化はしないよね。
              ショートファイルネーム部分は正規化されるけど、もはやショートファイルネームはオプションと思った方が良いくらいの代物だし。
              区別してるけど重複を許可せず大文字小文字無視でマッチしてると言う感じ。

              親コメント
            • by Anonymous Coward

              FAT16でLinuxを起動するとき、ファイル名の変換テーブルを噛ませたっけ。
              2.0で使ってた頃の記憶だけど。

        • by Anonymous Coward

          そもそも素人は大文字小文字なんて気にしてない。
          そんなもんで混乱をきたすのなら、AndroidにSDカードスロットなんて付かない。

        • by Anonymous Coward

          その混乱は大文字小文字区別するファイルシステムが原因だよね?
          滅ぼし尽くされるべきなのは大文字小文字区別環境だよ。

      • by Anonymous Coward

        MacOSで区別しないというのは知らなかった。意外だ。

      • by Anonymous Coward

        >LinuxとWindowsの両方でクロス開発とか珍しくないしUNIX系のMAC OSすらも区別しないし

        ほんそれ
        Unix上のDiskに2バイト文字ファイル名がなだれ込んできたのを見たときに目眩がした思い出
        文字コード変更できないユーザ様が「ファイル名文字化けした!」と騒ぎ立てたり

      • by Anonymous Coward

        MacとWindows(DOS)という一般ユーザーへの普及狙った側が同一視で一緒ですね。

        ユーザー視点もあるでしょうけど始めた頃のハード性能も多少影響してるのもあるのかな?

      • by Anonymous Coward

        人が避ける避けないの問題?
        システムとしてどうあるべきか、以外の観点要る?

        そういう観点でシステムを作るとエラい事になるよ。
        そういう観点を持った上でも 2038年問題とか、ダイジェストアルゴリズムの衝突とかが起きるわけで。
        MD5はまぁ、そうかって思ったけど、RSA1でちょっとびっくりして、DSAでかなりびっくりした人は多いのでは。

    • by Anonymous Coward

      srad
      sraD
      srAd
      srAD
      sRad

      SRAD

      のように手抜きファイル名が量産できるのが馬鹿馬鹿しくて気に入ってたんだけどなぁ。なんで今更って感じ。

    • ファイル名が大文字小文字違いで埋め込まれているものはすべて突然ファイルが見つからなくなる

      • by Anonymous Coward

        さすがに、既にファイルやディレクトリが存在するファイルシステムに対してそういう操作はできないのでは。
        もしできたら欠陥レベルかと。

        区別する区画→しない区画へのコピーや移動なら上書き警告で分かるだろうけど。
        でもcpやmvってオプションつけなきゃ上書き警告が出ないんだよなー
        なぜこうなっている?時代背景もあるのかな。
        これこそ変えたほうがいいと思うけど今更変えると問題大きいのかなあ。

        • by Anonymous Coward on 2022年09月26日 8時33分 (#4332627)

          なんか問題の根の深さがあまりわかっていないようなので、ほんの一例を上げると

          #include <windows.h>

          #include <Windows.h>

          が統一されていないソースコードが世界中の至るところにある。バイナリに埋め込まれているファイル名だって星の数ほどある。

          親コメント
          • by Anonymous Coward

            💡ピコーン
            いいこと考えた!!
            一度区別してアクセスして、見つからなかったら区別しないでアクセスするように実装しよう!

    • by Anonymous Coward

      大文字から始まる Makefile とすべて小文字の makefile が一つの書庫に仕込まれていて, Windows で展開できなかったことがある.
      # ン, あの頃は DOS だったかも.

あと、僕は馬鹿なことをするのは嫌いですよ (わざとやるとき以外は)。-- Larry Wall

処理中...