パスワードを忘れた? アカウント作成
16536355 story
プログラミング

ソースコードの中で罵倒してる? 147

ストーリー by headless
罵倒 部門より
カールスルーエ工科大学の学生、Jan Strehmel 氏が C 言語で書かれたオープンソースコードを調べたところ、罵倒語を含むソースコードがコーディング標準により準拠していたそうだ (論文: PDFArs Technica の記事)。

調査は GitHub で公開されている C 言語のオープンソースコードを用い、Strehmel 氏の所属する研究グループが開発したオープンソースのコーディング標準準拠チェックツール「SoftWipe」で 10 点が満点となる評価を行っている。対象は 300 個以上の英語の罵倒語のうち少なくとも 1 個含む 3,800 件以上のリポジトリと、罵倒語を含まない 7,600 件以上のリポジトリとなっている。

SoftWipe による評価は罵倒語を含まないリポジトリで中央値 5.41 (信頼区間 5.38-5.45、標準誤差 0.02)、罵倒語を含むリポジトリで中央値 5.87 (信頼区間 5.81-5.93、標準誤差 0.01) となり、罵倒語を含む方が 0.5 点ほど高くなっている。普段から自分の各ソースコードでしばしば罵倒語を使う指導教授の Alexandros Stamatakis 氏はこの結果を聞き、「cool」と思ったそうだ (残念)。

Strehmel 氏は同じ研究室のメンバーから Linux のソースコードに多数の罵倒語が含まれるというグラフを見せられて今回の研究を思いついたという。Linux 開発者の Linus Torvalds 氏は罵倒表現でも知られるが、Linux のソースコードでは 2018 年の Code of Conduct 更新を境に「fuck」が急減したようだ。スラドの皆さんはソースコード内で罵倒しているだろうか。
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2023年03月19日 20時25分 (#4429470)

    /* よくわからないが動いているので以下は触らないこと */

    • by Anonymous Coward

      /* とりあえずスリープを入れてみる */

      • Re:古の禁忌 (スコア:3, 参考になる)

        by Anonymous Coward on 2023年03月19日 21時41分 (#4429505)

        TEMPORARY, I HOPE HOPE HOPE
        とコメントに書かれたアポロ誘導コンピュターのプログラムを思い出した。

        https://aerith7.hatenablog.com/entry/2016/12/21/171726 [hatenablog.com]

        例:
        HONI SOIT QUI MAL Y PENSE(悪意を抱く者に災いあれ)
        NOLI ME TANGERE(私に触れるな)

        親コメント
      • by jizou (5538) on 2023年03月19日 20時29分 (#4429473) 日記

        いまどきのLinuxで、それで動いてたらすごいなぁ。

        親コメント
        • by Anonymous Coward

          今だと「同じ仮想マシンで実行するとなぜかうまくいかないので別コンテナを起動する」みたいな豪快なものになってたりするかも

      • by Anonymous Coward

        シェルスクリプトで( ... )& の後のwaitがどういうわけか無視されることがあるが、( ... ; sleep 1 )& とすると正しく動くことがあって、結局バックグラウンド処理が早すぎるとwaitより先に終わってしまうことがあるんだろうという結論になりました。あっているのかな…?

        • by ktmizugaki (46208) on 2023年03月24日 20時20分 (#4432297) 日記

          おそらく間違っています。
          バックグラウンド処理の中で、さらにバックグラウンド処理などを実行していて、その終了を待つ必要があるのに、待っていない、というような可能性が考えられます。
          例えば、下記のコマンドを実行した場合、 1 3 2 の順に出力されます。
          ( echo 1; (sleep 5; echo 2) & sleep 1) & wait; echo 3

          --
          svn-init() {
            svnadmin create .svnrepo
            svn checkout file://$PWD/.svnrepo .
          }
          親コメント
  • 仕様がおかしいのを口として書き残している。
    元がが腐っているのでしょうが無いのでしょう。

    一度作ると忘れるので、後でいじった時になぜそういう変な作り方をしたかわかるように書いている
    大事なことだね。

    • んでなんでその記述と実装が食い違ってんですか

      親コメント
    • by Anonymous Coward

      これかな。
      罵倒語は使わないけど、おかしなコードを書くことになった理由を書き連ねると
      どう取り繕っても「おまえ(製品を作った人)のライブラリはクソだ。引数を無視した動作をするし、明らかに間違った動作をする。ドキュメントは中途半端で記述が足らないか、明確に間違ってる記述がある。」
      という主張が見え隠れする。

    • by Anonymous Coward

      その時のコメントがただの指摘をこえた罵倒になるというのは、
      苦労してバグ追跡した犯人が仕様バグや規格違反だった時の怒りなんでしょうね。

      直せないコードに仕込まれたバグを罵る行為は自分も身に覚えがありますが、
      ググって出てきたレベルの「踏まなかった地雷」を罵倒することはそうそうない。

    • by Anonymous Coward

      コードじゃなく設定ファイルのコメントだけど、Control-Hを押すとDEL(177)が来るんで"BRAIN DAMAGED"と書いたことがある。

  • 日本語だがhogeとかfugaとかを使っている時点でお察し

    #60年代から80年代の価値観に対して、今の価値観から「それは倫理的でない」って「異世界転生無双」するの、どうなのかな
    ##逆に、いまから数十年先の世界から「異世界転生」してきた主人公位から「2020年代って、おかしくない?、と現代が『倫理観無双』」されたりしなくない?

    • またhogeの話をしている…
      親コメント
    • by Anonymous Coward

      昔の倫理(価値観)を今の倫理(価値観)で裁くな、なんて主張をたまに見かけるけど、そのほとんどが間違っていると思う
      昔の価値観を歴史として受け入れることと、今の価値観に照らして評価することは両立する
      というか両方やらなきゃだめ、歴史に学ぶことにならないから
      今の価値観とは相いれないから普遍的に悪、ではなくて、今の価値観とは相いれないから「我々は」それに向かわないよう注意すべしと考えなければならない

      長々書いたけど#の部分に自分が答えるならば、どちらも言動として正しい
      ただし、当時の人間の行動を省みて自らの行動に否定的に反映させる意図においてのみ
      否定するだけなら、愚かと断じるだけなら、嘲笑うだけなら、倫理観無双はどうなのかという問いと同じくらい意味が無い(逆に言えば愚かと嘲笑うのもそれに止まらなければ行儀は悪いが間違いでは無い)
      考える際に普遍的な正邪を意識するから間違うのだろうね

      • 十分過去の発言を掘れば、人に対して現在の価値観に反する発言を見つけるのはある程度簡単なわけですよ。すると本人のアクション不要で人をキャンセルすることができます。それはフェアじゃない、有害だ、というのが"裁くな"ではないかと。

        親コメント
      • その「今の価値観に照らして評価すること」という時の「今の価値観」というものを、
        みんなが「俺/特定組織の価値観こそが今の価値観だ」と思いこんじゃうからなぁ。

        階級差とか文化圏を特定しつつやるならいいと思うけどね。

        例えば Geek とか Nerd とかゲーマーの文化圏だと罵倒語とかはたしなみみたいなもんじゃないの?(スノッブってやつ)

        一方で人文系高学歴意識高い系の文化圏だとそれは悪だよねーって。

        それぞれが自分の文化圏の中でその語を使うこと自体は問題にはならない。
        どこかの文化圏の価値観を他の文化圏に押し付ける結果にならなければいいなぁ、と
        思うんだけどねぇ。

        --
        # mishimaは本田透先生を熱烈に応援しています
        親コメント
      • by Anonymous Coward

        >歴史に学ぶことにならないから

        これは賛同できる。我々の価値観は今を基礎として、次に一歩を進む時に、過去の事象を糧として進むことは正しい

        >昔の倫理(価値観)を今の倫理(価値観)で裁くな、なんて主張をたまに見かけるけど、そのほとんどが間違っていると思う

        例えば中世日本の価値観だと、「家」の存続を「大事」におもって、「個人」の幸福や身体・生命を蔑にすることがあるが、これをいまの個人の幸福追求主義の価値観で裁くのは間違っていると思う。彼らには彼らの生命財産を賭けて保ちたい価値観があったのは間違いない。それは現代の価値観では量れない。
        これは (#4429476) さんの意見に真っ当に反対意見である。

        • by Anonymous Coward

          おっしゃること分かります
          私の角を立てる書き様にも真っ当に考えを返していただけたこと、ありがとうございます

          私は、(#4429483)さんが書かれた
          >我々の価値観は今を基礎として、次に一歩を進む時に、過去の事象を糧として進む
          そのために過去を「裁く」ことも必要であると考える者で、これに賛否があることは当然と思います
          ただし前述のとおり、「裁く」段においてもただ否定するのみの行為は厳に慎むべきと考える次第です

    • by Anonymous Coward

      なろう小説みたいなご都合主義だから「無双」できるのであって、未来の倫理観を過去で振りかざしても「このアホは何を言っているんだ?」が妥当な反応でしょ
      内容によっては牢屋にぶち込まれたり処刑
      稀にいる進歩的な人(過去の世界ではただの変人)は賛同するかもしれない

      • by Anonymous Coward

        なろう小説を読んでるとここまで頓珍漢なことをかけるんだなと思いました。
        いやぎゃくかなろう小説くらいしか読めないのか。

    • by Anonymous Coward

      口汚さとhoge/fugaは全然別の話に思えるけど、これ何かの隠語だったの?

    • by Anonymous Coward

      それでこの調査って、ソースに罵倒語を書くような劣った奴は断罪されろって論旨だったんですか?

    • by Anonymous Coward

      hoge/fugaはfoo/barみたいなもんでしょ

  • by Anonymous Coward on 2023年03月19日 20時15分 (#4429465)

    コメントに書いたことは…あったかなあ?

    # え?そっちじゃない??

    • by Anonymous Coward

      コメントにバイナリーを埋め込むのが標準

    • by Anonymous Coward

      おんあみりとどはんばうんはったそわか

      # 悪いコードを懲らしめます

  • by Anonymous Coward on 2023年03月19日 20時24分 (#4429468)

    馬超語なら書いたことが

  • by Anonymous Coward on 2023年03月19日 20時44分 (#4429481)

    とかVBAコードの中に書いたりしてませんよ。ええ。

    • by Anonymous Coward

      ああ、何かを罵倒していた記憶を鮮明に大量に思い出せるのはVBAの仕事やってた時か…。
      その使用を進める人に対しても、それで書かれたコードに対しても、それで作られたシステムに対しても、言語と環境に対しても。

      • by Anonymous Coward

        VBAって基本コード公開されるし、そんな長いコード書くわけでもないので罵倒するには良い開発環境ではないのでは?

    • by Anonymous Coward

      邪悪なM$君が召喚されちゃうぞ

    • by Anonymous Coward

      そういえばその手の遊びはCやVBからだったなと思ったら
      COBOLやFORTRANはコーディングシートに手書きさせられ(てレビューにまわされ)たから
      ふざけようが無かったわ

  • by Anonymous Coward on 2023年03月19日 22時13分 (#4429516)

    ファイルと関数/変数名、ついでにテーブル関連を全て全半角混じり文字(および10語ぐらいの文章)にしたら、怒られた。
    OSや言語、DBMS的に動作保証されてるし、日本人的に分かりやすく、可読性という意味でメンテしやすいのだから良いだろ別に… と思った

    • by Anonymous Coward on 2023年03月19日 22時24分 (#4429524)

      メンテしにくいだろ。見た目の区別がつきにくい文字があるだろうが。

      親コメント
    • by Anonymous Coward on 2023年03月19日 22時56分 (#4429539)

      そういや昔話だがOracleにSJISでスキーマ定義した奴がいて、後にOracleをアップデートしようとしたらシステムがUTF-8だとバイト数の制限で移行できないというバカがいたな。(1文字2BYTEが3BYTEになってテーブル名だか列名だかの制限超えたらしいw)
      そもそも当時のOracleは非ASCIIなテーブル名とか保証してないのにいきってやってたらしい。(裏技的に定義できたけど保証はしてない)
      そのシステムのためだけにOracleがSJISのままにとなって大変だったらしいw

      親コメント
    • by Anonymous Coward

      自分しか使わないものはそれでもいいが、共同開発する場合は一貫性をもった命名にしないと、可読性が著しく低下する。
      既存のライブラリとの一貫性も考慮するなら、通常の命名は英語一択。
      怒られるのは当然。

      • by Anonymous Coward on 2023年03月20日 11時01分 (#4429669)

        法律関連/税務関連のプログラムは、変数名や関数名でその手の用語は必ず漢字なりの日本語使うのが基本。ローマ字とかにすると一文字違いで全く別のものを扱ってしまうこともあるし、英訳も一意に決まると限らん。
        その手のミス一つですら数億単位の損害賠償になったりするから、そちらの分野では日本語で命名するってのが一貫性をもったスタイルで、要求仕様だったりするんだよね。

        親コメント
    • by Anonymous Coward

      開発環境の関係(複数のエディタ使用)でTabとスペースが混在したコード書いてたら怒られたことあったっけ
      そんなに気になるならわざわざ空白文字表示設定なんか有効にしなきゃいいのにとは思った

    • by Anonymous Coward

      落語の寿限無みたいなソースコード、当人以外誰も読みたくない

  • by Anonymous Coward on 2023年03月19日 23時22分 (#4429548)

    ソースコードを読みながら悪態つくことなら良くあるが。

    「この糞コードを書いたのは誰だあ」

    • by Anonymous Coward

      「誰かのせいにしたいが自分の顔しか思い浮かばない」

      # よくあるよね

      • by Anonymous Coward

        三日前の自分は他人です。
        そう思ってコメント書けと自らの戒めにしてるんですけどねぇ・・・

    • by Anonymous Coward

      (´・ω・)つ鏡

    • by Anonymous Coward
      COBOLなら既に定年退職してますってのが有り得るな
      Cで未だに20年前のをメンテさせられてるけど
      • by Anonymous Coward

        20年前のならまだいいな。30年前のまであるよ。

typodupeerror

未知のハックに一心不乱に取り組んだ結果、私は自然の法則を変えてしまった -- あるハッカー

読み込み中...