アカウント名:
パスワード:
区別してたのをしなくしたら、区別する前提でのtar.gzファイルを展開した時とか、 ファイル群をコピー・移動したりすると衝突しておかしくなっちゃうじゃないですか。
*nixルータのファームウェアをWindowsで展開しようとしたときに衝突して面倒だったな
若かりし頃データベースのテーブル作るときに全部小文字でタイプして作業したとき、アプリケーションがWindowsでは動くのにLinuxでは動かないという現象に遭遇して調べたらSQLが全部大文字だったのでLinuxではテーブルが見つからない扱いだった。
あるプログラミング言語ではコンパイラは区別しないが、プリプロセッサは区別して処理するので混乱が生じる場合がある
今、使ってるマイナーなCPUのコンパイラパッケージが作るビルド環境。WINで動作するものなのにソースのファイル名が大文字小文字混在だとリンカーでファイルが見つからなくなる。ファイル名の1文字目のに合わせたリンカ用のファイルができる。AbC.CをコンパイルするとAbC.objができるがリンカはABC.objをさがしてファイルが見つからなくなる。Cソースの拡張子は大文字だけで小文字だとコンパイルできない。
LinuxとWindowsの両方でクロス開発とか珍しくないしUNIX系のMAC OSすらも区別しないしそもそも同一階層に大文字小文字区別前提でファイルを作るとか普通の感覚だと避けるでしょ。人間には大文字小文字をいちいち区別するのはメンドクサイから。
時には他人の作ったファイルを同一階層に取り込むこともあるし、プログラムが自動でファイルを吐き出すこともある って考えると「普通の感覚」をアテにしちゃあマズいんじゃないですかね
MacやWindowsとクロス開発しないで大文字小文字区別する設定のままやってれば問題ないよ。クロスした時点で破綻するからそんな案件には近寄りたくないけどな。
そう、プログラム内での、同一ファイル名検出とか、 重複を避けたデータファイル書き出しをする箇所なんかを書き直さないといけないんですよね。 自分の手がけたものもいくつも該当する。
今はAndroidとかで素人でも大文字小文字区別環境に触れることは多く、Windowsと同じつもりでファイル名の大文字小文字を変更して保存したら別ファイルになって知らぬ間に容量を圧迫されるなどの被害を被る可能性がある混乱を来たす大文字小文字同一視ファイルシステムは滅ぼし尽くされるべき素人はコマンドラインや設定ファイルなどで読み込むファイル名を手入力で指定することなんてそう多くないから、大文字小文字が違っていてファイルが読み込まれずに戸惑う心配なんて要らない
Androidって大文字小文字区別するんだ。素人じゃないけど知らなかったぞ。
OSから見る時のファイル名は文字列型なので常に区別されます。ファイルシステムに書き込む時に正規化されたりされなかったり、読み出す時に区別されたりされなかったりします。「デベハトップ」に正規化されることもあるでしょう。
なのでフルパスを指定してファイルを書き込んでそのファイルを読み込んだ時のファイルオブジェクトの持っているフルパスが先のものと一致(?)するかどうかは時と場合と運により、OS名では一概に言えないはずです。Linux KernelでもFAT16とかから起動してたら区別されないんではないでしょうか。
そもそもWindows/FAT/NTFSだって大文字小文字の正規化はしないよね。ショートファイルネーム部分は正規化されるけど、もはやショートファイルネームはオプションと思った方が良いくらいの代物だし。区別してるけど重複を許可せず大文字小文字無視でマッチしてると言う感じ。
FAT16でLinuxを起動するとき、ファイル名の変換テーブルを噛ませたっけ。2.0で使ってた頃の記憶だけど。
そもそも素人は大文字小文字なんて気にしてない。そんなもんで混乱をきたすのなら、AndroidにSDカードスロットなんて付かない。
きたすからピクセルからスロットが消えたのだ
SDカードスロットがあると大容量版が売れないからでしょ
その混乱は大文字小文字区別するファイルシステムが原因だよね?滅ぼし尽くされるべきなのは大文字小文字区別環境だよ。
MacOSで区別しないというのは知らなかった。意外だ。
旧MacOSで区別してなかったから、MacOSXでも基本的には区別してない。システム的には大文字小文字の区別には対応してる。
>LinuxとWindowsの両方でクロス開発とか珍しくないしUNIX系のMAC OSすらも区別しないし
ほんそれUnix上のDiskに2バイト文字ファイル名がなだれ込んできたのを見たときに目眩がした思い出文字コード変更できないユーザ様が「ファイル名文字化けした!」と騒ぎ立てたり
MacとWindows(DOS)という一般ユーザーへの普及狙った側が同一視で一緒ですね。
ユーザー視点もあるでしょうけど始めた頃のハード性能も多少影響してるのもあるのかな?
人が避ける避けないの問題?システムとしてどうあるべきか、以外の観点要る?
そういう観点でシステムを作るとエラい事になるよ。そういう観点を持った上でも 2038年問題とか、ダイジェストアルゴリズムの衝突とかが起きるわけで。MD5はまぁ、そうかって思ったけど、RSA1でちょっとびっくりして、DSAでかなりびっくりした人は多いのでは。
srad sraD srAd srAD sRad ︙ SRAD のように手抜きファイル名が量産できるのが馬鹿馬鹿しくて気に入ってたんだけどなぁ。なんで今更って感じ。
ファイル名が大文字小文字違いで埋め込まれているものはすべて突然ファイルが見つからなくなる
さすがに、既にファイルやディレクトリが存在するファイルシステムに対してそういう操作はできないのでは。もしできたら欠陥レベルかと。
区別する区画→しない区画へのコピーや移動なら上書き警告で分かるだろうけど。でもcpやmvってオプションつけなきゃ上書き警告が出ないんだよなーなぜこうなっている?時代背景もあるのかな。これこそ変えたほうがいいと思うけど今更変えると問題大きいのかなあ。
なんか問題の根の深さがあまりわかっていないようなので、ほんの一例を上げると
#include <windows.h>
と
#include <Windows.h>
が統一されていないソースコードが世界中の至るところにある。バイナリに埋め込まれているファイル名だって星の数ほどある。
💡ピコーンいいこと考えた!!一度区別してアクセスして、見つからなかったら区別しないでアクセスするように実装しよう!
大文字から始まる Makefile とすべて小文字の makefile が一つの書庫に仕込まれていて, Windows で展開できなかったことがある.# ン, あの頃は DOS だったかも.
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
クラックを法規制強化で止められると思ってる奴は頭がおかしい -- あるアレゲ人
今更、区別する→しないは有り得ないのでは (スコア:2, 興味深い)
区別してたのをしなくしたら、区別する前提でのtar.gzファイルを展開した時とか、
ファイル群をコピー・移動したりすると衝突しておかしくなっちゃうじゃないですか。
Re: 今更、区別する→しないは有り得ないのでは (スコア:2, 参考になる)
*nixルータのファームウェアをWindowsで展開しようとしたときに衝突して面倒だったな
Re:今更、区別する→しないは有り得ないのでは (スコア:2, おもしろおかしい)
若かりし頃データベースのテーブル作るときに全部小文字でタイプして作業したとき、アプリケーションがWindowsでは動くのにLinuxでは動かないという現象に遭遇して調べたらSQLが全部大文字だったのでLinuxではテーブルが見つからない扱いだった。
Re: (スコア:0)
あるプログラミング言語ではコンパイラは区別しないが、プリプロセッサは区別して処理するので混乱が生じる場合がある
Re: (スコア:0)
今、使ってるマイナーなCPUのコンパイラパッケージが作るビルド環境。WINで動作するものなのにソースのファイル名が大文字小文字混在だとリンカーでファイルが見つからなくなる。ファイル名の1文字目のに合わせたリンカ用のファイルができる。AbC.CをコンパイルするとAbC.objができるがリンカはABC.objをさがしてファイルが見つからなくなる。Cソースの拡張子は大文字だけで小文字だとコンパイルできない。
Re: (スコア:0)
LinuxとWindowsの両方でクロス開発とか珍しくないしUNIX系のMAC OSすらも区別しないし
そもそも同一階層に大文字小文字区別前提でファイルを作るとか普通の感覚だと避けるでしょ。
人間には大文字小文字をいちいち区別するのはメンドクサイから。
Re: Re:今更、区別する→しないは有り得ないのでは (スコア:2, 興味深い)
時には他人の作ったファイルを同一階層に取り込むこともあるし、プログラムが自動でファイルを吐き出すこともある
って考えると「普通の感覚」をアテにしちゃあマズいんじゃないですかね
Re: (スコア:0)
MacやWindowsとクロス開発しないで大文字小文字区別する設定のままやってれば問題ないよ。
クロスした時点で破綻するからそんな案件には近寄りたくないけどな。
Re: (スコア:0)
そう、プログラム内での、同一ファイル名検出とか、
重複を避けたデータファイル書き出しをする箇所なんかを書き直さないといけないんですよね。
自分の手がけたものもいくつも該当する。
Re: (スコア:0)
今はAndroidとかで素人でも大文字小文字区別環境に触れることは多く、Windowsと同じつもりでファイル名の大文字小文字を変更して保存したら別ファイルになって知らぬ間に容量を圧迫されるなどの被害を被る可能性がある
混乱を来たす大文字小文字同一視ファイルシステムは滅ぼし尽くされるべき
素人はコマンドラインや設定ファイルなどで読み込むファイル名を手入力で指定することなんてそう多くないから、大文字小文字が違っていてファイルが読み込まれずに戸惑う心配なんて要らない
Re:今更、区別する→しないは有り得ないのでは (スコア:1)
Androidって大文字小文字区別するんだ。
素人じゃないけど知らなかったぞ。
Re:今更、区別する→しないは有り得ないのでは (スコア:4, 興味深い)
OSから見る時のファイル名は文字列型なので常に区別されます。ファイルシステムに書き込む時に正規化されたりされなかったり、読み出す時に区別されたりされなかったりします。「デベハトップ」に正規化されることもあるでしょう。
なのでフルパスを指定してファイルを書き込んでそのファイルを読み込んだ時のファイルオブジェクトの持っているフルパスが先のものと一致(?)するかどうかは時と場合と運により、OS名では一概に言えないはずです。Linux KernelでもFAT16とかから起動してたら区別されないんではないでしょうか。
Re:今更、区別する→しないは有り得ないのでは (スコア:1)
そもそもWindows/FAT/NTFSだって大文字小文字の正規化はしないよね。
ショートファイルネーム部分は正規化されるけど、もはやショートファイルネームはオプションと思った方が良いくらいの代物だし。
区別してるけど重複を許可せず大文字小文字無視でマッチしてると言う感じ。
Re: (スコア:0)
FAT16でLinuxを起動するとき、ファイル名の変換テーブルを噛ませたっけ。
2.0で使ってた頃の記憶だけど。
Re: (スコア:0)
そもそも素人は大文字小文字なんて気にしてない。
そんなもんで混乱をきたすのなら、AndroidにSDカードスロットなんて付かない。
Re: (スコア:0)
きたすからピクセルからスロットが消えたのだ
Re: Re:今更、区別する→しないは有り得ないのでは (スコア:1)
SDカードスロットがあると大容量版が売れないからでしょ
Re: (スコア:0)
その混乱は大文字小文字区別するファイルシステムが原因だよね?
滅ぼし尽くされるべきなのは大文字小文字区別環境だよ。
Re: (スコア:0)
MacOSで区別しないというのは知らなかった。意外だ。
Re: Re:今更、区別する→しないは有り得ないのでは (スコア:1)
旧MacOSで区別してなかったから、MacOSXでも基本的には区別してない。
システム的には大文字小文字の区別には対応してる。
Re: (スコア:0)
>LinuxとWindowsの両方でクロス開発とか珍しくないしUNIX系のMAC OSすらも区別しないし
ほんそれ
Unix上のDiskに2バイト文字ファイル名がなだれ込んできたのを見たときに目眩がした思い出
文字コード変更できないユーザ様が「ファイル名文字化けした!」と騒ぎ立てたり
Re: (スコア:0)
MacとWindows(DOS)という一般ユーザーへの普及狙った側が同一視で一緒ですね。
ユーザー視点もあるでしょうけど始めた頃のハード性能も多少影響してるのもあるのかな?
Re: (スコア:0)
人が避ける避けないの問題?
システムとしてどうあるべきか、以外の観点要る?
そういう観点でシステムを作るとエラい事になるよ。
そういう観点を持った上でも 2038年問題とか、ダイジェストアルゴリズムの衝突とかが起きるわけで。
MD5はまぁ、そうかって思ったけど、RSA1でちょっとびっくりして、DSAでかなりびっくりした人は多いのでは。
Re: (スコア:0)
srad
sraD
srAd
srAD
sRad
︙
SRAD
のように手抜きファイル名が量産できるのが馬鹿馬鹿しくて気に入ってたんだけどなぁ。なんで今更って感じ。
区別しない→するだってあり得ない (スコア:0)
ファイル名が大文字小文字違いで埋め込まれているものはすべて突然ファイルが見つからなくなる
Re: (スコア:0)
さすがに、既にファイルやディレクトリが存在するファイルシステムに対してそういう操作はできないのでは。
もしできたら欠陥レベルかと。
区別する区画→しない区画へのコピーや移動なら上書き警告で分かるだろうけど。
でもcpやmvってオプションつけなきゃ上書き警告が出ないんだよなー
なぜこうなっている?時代背景もあるのかな。
これこそ変えたほうがいいと思うけど今更変えると問題大きいのかなあ。
Re:区別しない→するだってあり得ない (スコア:2, すばらしい洞察)
なんか問題の根の深さがあまりわかっていないようなので、ほんの一例を上げると
と
が統一されていないソースコードが世界中の至るところにある。バイナリに埋め込まれているファイル名だって星の数ほどある。
Re: (スコア:0)
💡ピコーン
いいこと考えた!!
一度区別してアクセスして、見つからなかったら区別しないでアクセスするように実装しよう!
Re: (スコア:0)
大文字から始まる Makefile とすべて小文字の makefile が一つの書庫に仕込まれていて, Windows で展開できなかったことがある.
# ン, あの頃は DOS だったかも.