アカウント名:
パスワード:
4000^10 = 2.56*10^14区切り文字のバリエーションを加えても大したことがなく、ランダムな英数字8桁と同程度。普通に辞書とブルートフォースを複合されたら短時間でクラックされるな。
脱線です。このコメント固有の批判という訳ではないのですがスラドでよく見る、べき乗の演算子^にいつも違和感を覚えています。
http://blog.media.teu.ac.jp/2021/08/post-89817a.html [teu.ac.jp]
Microsoft系のBASICで使われてる演算子なので、歴史は長めよ。8ビット機でも使われてたから。
C言語系は高級言語の中では低級寄りなので算術演算のうちCPUが直接やってくれなさそうな高コストな演算はライブラリに追い出した。かわりにビット演算子が入っている。高級言語という意味ではC系は異端。
ちなみに ** がべき乗なのは古くはFORTRANやCOBOL、最近ならjavascript,rubyやpython,perl なども。BASICはどちらかといえば異端ではあるが^ がべき乗なのはbc(1)コマンドやLaTeX、数値演算系(MathematicaやR)もそうなので、派閥としては小さくない。
^をべき乗として使うのは、ALGOL-60がべき乗演算子として↑(上矢印)を採用したことに遡る気がします。ALGOLは元々計算機科学でアルゴリズム表記用に定義された側面があるので、数学側の人が↑をべき乗に使うのは自然な流れでした。例えばクヌースの矢印表記もべき乗としての↑を拡張したものですし、教育用に作られたダートマスBASIC(1964)もFORTRANをベースとしたにもかかわらず**ではなく↑をべき乗演算子としています。
1963年にASCII規格が定義されたとき、↑はコード0x5eに割り当てられていました。ASCII規格は1965年に改訂され、0x5eのグリフは^(キャレット)に変更されますが、(ダートマスBASICを簡略化した)MS-BASICでは同じコードの^をべき乗に使い、8bit機でも^がべき乗として定着しました。
例えば、表計算の始祖であるvisicalcも^がべき乗演算子です。Excelで^が使えるのはおそらくこのためでしょう。
また、TeX, Mathematica, Rが^をべき乗に使うのもこの変更の影響がありそうです。
ちなみに、ALGOLの策定にはFORTRANの言語設計者であるバッカスも参加していますので、FORTRANがべき乗演算子として**を採用したのは単に、当時のメインフレームの文字コードセットであるEDCBICに↑も^も無かったせいだと思われます。
という訳で^をべき乗に使うのを「違和感がある」とか「異端」と言われると一寸もにょもにょします…。
なかなか興味深い+1したい
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
皆さんもソースを読むときに、行と行の間を読むような気持ちで見てほしい -- あるハッカー
日常的に使われる英単語は約4000 (スコア:0)
4000^10 = 2.56*10^14
区切り文字のバリエーションを加えても大したことがなく、ランダムな英数字8桁と同程度。
普通に辞書とブルートフォースを複合されたら短時間でクラックされるな。
べき乗演算子 (スコア:0)
脱線です。
このコメント固有の批判という訳ではないのですが
スラドでよく見る、べき乗の演算子^にいつも違和感を覚えています。
http://blog.media.teu.ac.jp/2021/08/post-89817a.html [teu.ac.jp]
Re: (スコア:0)
Microsoft系のBASICで使われてる演算子なので、歴史は長めよ。
8ビット機でも使われてたから。
Re: (スコア:0)
C言語系は高級言語の中では低級寄りなので算術演算のうちCPUが直接やってくれなさそうな高コストな演算はライブラリに追い出した。
かわりにビット演算子が入っている。高級言語という意味ではC系は異端。
ちなみに ** がべき乗なのは古くはFORTRANやCOBOL、最近ならjavascript,rubyやpython,perl なども。
BASICはどちらかといえば異端ではあるが
^ がべき乗なのはbc(1)コマンドやLaTeX、数値演算系(MathematicaやR)もそうなので、派閥としては小さくない。
Re:べき乗演算子 (スコア:0)
^をべき乗として使うのは、ALGOL-60がべき乗演算子として↑(上矢印)を採用したことに遡る気がします。
ALGOLは元々計算機科学でアルゴリズム表記用に定義された側面があるので、数学側の人が↑をべき乗に使うのは自然な流れでした。
例えばクヌースの矢印表記もべき乗としての↑を拡張したものですし、教育用に作られたダートマスBASIC(1964)もFORTRANをベースとしたにもかかわらず**ではなく↑をべき乗演算子としています。
1963年にASCII規格が定義されたとき、↑はコード0x5eに割り当てられていました。
ASCII規格は1965年に改訂され、0x5eのグリフは^(キャレット)に変更されますが、(ダートマスBASICを簡略化した)MS-BASICでは同じコードの^をべき乗に使い、8bit機でも^がべき乗として定着しました。
例えば、表計算の始祖であるvisicalcも^がべき乗演算子です。
Excelで^が使えるのはおそらくこのためでしょう。
また、TeX, Mathematica, Rが^をべき乗に使うのもこの変更の影響がありそうです。
ちなみに、ALGOLの策定にはFORTRANの言語設計者であるバッカスも参加していますので、FORTRANがべき乗演算子として**を採用したのは単に、当時のメインフレームの文字コードセットであるEDCBICに↑も^も無かったせいだと思われます。
という訳で^をべき乗に使うのを「違和感がある」とか「異端」と言われると一寸もにょもにょします…。
Re:べき乗演算子 (スコア:1)
// J「せやかてAPL、やっぱあかんかったやん」
Re: (スコア:0)
なかなか興味深い
+1したい