ITworldが記事「C leads the way in "ugly hacks"|ITworld」 で、コードに関する興味深い分析結果を公開した。それは、GitHubの検索機能を使用して「ugly hack」(酷いコードだ)という文字列が含まれたファイルを調べてまとめたもので、他のプログラミング言語にダブルスコア以上の差をつけてC言語が最も 多く「ugly hack」という文字列を含んでいたという。紹介されているプログラミング言語のトップ5は次のようになっている。
・C 18万1000ファイル
・PHP 7万9000ファイル
・JavaScript 3万8000ファイル
・C++ 2万2000ファイル
・Python 1万9000ファイル
記事ではこうした結果を踏まえ、C言語はほかのプログラミング言語と比べて酷いコードを生成する傾向があるか、もしくはC言語のプログラマは他のプログラ ミング言語のプログラマと比べて正直者なのかもしれないと説明。「どっちが真実であれ、酷いコードはすぐに修正したほうがいいよね」と話を締めくくっている。
http://news.mynavi.jp/news/2015/05/09/064/
4: アルゼンチンバックブリーカー(庭)@\(^o^)/ 2015/05/12(火) 23:59:13.66 ID:gnxlSPrg0.net
Cの歴史が長いから多いだけだろ
77: 目潰し(庭)@\(^o^)/ 2015/05/13(水) 07:30:13.25 ID:Le0ORQ/K0.net
>>4
これだと思うな
これだと思うな
93: ファイヤーバードスプラッシュ(新潟県)@\(^o^)/ 2015/05/13(水) 08:55:04.83 ID:WyJ4YWsI0.net
>>4
あとアセンブラに近いから当たり前だな
あとアセンブラに近いから当たり前だな
2: エルボーバット(dion軍)@\(^o^)/ 2015/05/12(火) 23:58:31.71 ID:PDiN7PSx0.net
使用者数多いからとちゃいますのん?
5: エクスプロイダー(東京都)@\(^o^)/ 2015/05/12(火) 23:59:16.45 ID:Puy6fg/A0.net
単にファイル数で比較するのは公平でないと思うが
まあCだな
まあCだな
6: シューティングスタープレス(catv?)@\(^o^)/ 2015/05/12(火) 23:59:36.52 ID:byAfi0G20.net
おまじない、はデフォ
7: ダイビングエルボードロップ(WiMAX)@\(^o^)/ 2015/05/12(火) 23:59:53.35 ID:ihoNb9Pw0.net
inlineを使うな
8: 毒霧(やわらか銀行)@\(^o^)/ 2015/05/13(水) 00:01:16.43 ID:Kk2BSW4D0.net
ハードや低レベルAPI叩いてるからじゃないの?
「嫌だなあこんなの」みたいなこと考えながら書くことはある
「嫌だなあこんなの」みたいなこと考えながら書くことはある
9: タイガースープレックス(catv?)@\(^o^)/ 2015/05/13(水) 00:01:39.93 ID:8M1YaLPa0.net
40: アキレス腱固め(兵庫県)@\(^o^)/ 2015/05/13(水) 00:56:06.39 ID:40E7v16n0.net
>>9
更新が止まっていて残念
更新が止まっていて残念
10: 毒霧(東京都)@\(^o^)/ 2015/05/13(水) 00:02:59.36 ID:AOUFVxlJ0.net
これ分母が書いてないのがな
11: 栓抜き攻撃(茸)@\(^o^)/ 2015/05/13(水) 00:03:09.47 ID:nfu36es60.net
汚く書けるポテンシャルが圧倒的だしな
12: 断崖式ニードロップ(家)@\(^o^)/ 2015/05/13(水) 00:03:42.34 ID:j8jA6z/A0.net
言語が古い方がおまじないが生まれやすいと思う
91: チェーン攻撃(空)@\(^o^)/ 2015/05/13(水) 08:31:05.30 ID:mQtDCeuD0.net
>>12
と言うか、低級言語ほどだな
おまじないもコンパイラ、アセンブラ、ハードウェアのちゃんとした知識があって使っているなら問題無いから
と言うか、そう言うコードは昔の知っている人が書いて、引き継いだ人が理解出来ず放置するしか無くなっているってパターンが結構ある
単純にクソコードなだけの方が多いけど
と言うか、低級言語ほどだな
おまじないもコンパイラ、アセンブラ、ハードウェアのちゃんとした知識があって使っているなら問題無いから
と言うか、そう言うコードは昔の知っている人が書いて、引き継いだ人が理解出来ず放置するしか無くなっているってパターンが結構ある
単純にクソコードなだけの方が多いけど
14: ときめきメモリアル(dion軍)@\(^o^)/ 2015/05/13(水) 00:04:52.41 ID:rr8IT7BY0.net
80文字で改行とかよみにくい
昔はしょうがなかったのかもしらんが
今も規約として残ってたりするのは単なる怠慢なの?
昔はしょうがなかったのかもしらんが
今も規約として残ってたりするのは単なる怠慢なの?
15: ファイヤーボールスプラッシュ(チベット自治区)@\(^o^)/ 2015/05/13(水) 00:14:30.86 ID:WPW86RMC0.net
とは言っても、動いてるところは変えたくないんだよなぁ
って放置された結果でもある
って放置された結果でもある
16: スリーパーホールド(庭)@\(^o^)/ 2015/05/13(水) 00:14:43.69 ID:6EL5lPcU0.net
最終行に
/* あとは任せた */
/* あとは任せた */
36: フルネルソンスープレックス(神奈川県)@\(^o^)/ 2015/05/13(水) 00:48:52.20 ID:G9ANNiIz0.net
>>16
どのソースの最終行だよ
どのソースの最終行だよ
17: トペ スイシーダ(WiMAX)@\(^o^)/ 2015/05/13(水) 00:15:50.24 ID:FHOeU8aL0.net
イヤミなやつがc使いに多いだけだな
酷いやつ はそれが酷いコードだとわからん
酷いやつ はそれが酷いコードだとわからん
18: ツームストンパイルドライバー(埼玉県)@\(^o^)/ 2015/05/13(水) 00:16:12.06 ID:Y5i8GTDb0.net
デバッグモードでコンパイルしないと動かないプログラム(単なるバッファオーバーフロー)
20: 不知火(dion軍)@\(^o^)/ 2015/05/13(水) 00:20:06.28 ID:niUb60KD0.net
吉里吉里のスクリプトに一番近い普通の汎用言語ってなに?
37: 毒霧(東京都)@\(^o^)/ 2015/05/13(水) 00:49:28.60 ID:AOUFVxlJ0.net
>>20
kagとtjsはそれぞれhtmlとjavascriptじゃね
近いかどうかは微妙な所だけど
kagとtjsはそれぞれhtmlとjavascriptじゃね
近いかどうかは微妙な所だけど
21: ダイビングフットスタンプ(東京都)@\(^o^)/ 2015/05/13(水) 00:20:17.51 ID:AnapVPyQ0.net
ループの込み入ったところで、複雑な構造体のデータを修正する時
*(dptr+13)=0みたいな事書いて、後でちゃんと直そうって思ってて
すっかり忘れる
*(dptr+13)=0みたいな事書いて、後でちゃんと直そうって思ってて
すっかり忘れる
22: ローリングソバット(茸)@\(^o^)/ 2015/05/13(水) 00:21:38.14 ID:dcT5Aqw+0.net
みんなコメントにそんなツイートみたいなこと書いてるのか?
見たこと無いぞ
見たこと無いぞ
23: ダイビングフットスタンプ(東京都)@\(^o^)/ 2015/05/13(水) 00:23:29.13 ID:AnapVPyQ0.net
>>22
数年後の自分は別人だからな
自分宛に書いてる
数年後の自分は別人だからな
自分宛に書いてる
25: ツームストンパイルドライバー(埼玉県)@\(^o^)/ 2015/05/13(水) 00:26:09.87 ID:Y5i8GTDb0.net
JavaScriptとかミニマイズしてないでコメント残したままサーバにアップしたのを偶に見る
26: スリーパーホールド(庭)@\(^o^)/ 2015/05/13(水) 00:30:52.82 ID:6EL5lPcU0.net
製品なら変なコメントあったらコードレビューで弾かれると思うんだけどそんなことはないのか?
30: 栓抜き攻撃(千葉県)@\(^o^)/ 2015/05/13(水) 00:38:23.09 ID:EMA9i+/m0.net
>>26
まともな会社ならそうだよ。
ギャグみたいなコメントが許されるのは、零細 ロゲ会社とかだろ。
まともな会社ならそうだよ。
ギャグみたいなコメントが許されるのは、零細 ロゲ会社とかだろ。
33: ダイビングフットスタンプ(東京都)@\(^o^)/ 2015/05/13(水) 00:44:36.38 ID:AnapVPyQ0.net
>>30
やかましいわ!
やかましいわ!
32: フェイスロック(東京都)@\(^o^)/ 2015/05/13(水) 00:44:32.09 ID:7jTBHZ+d0.net
/* お◯◯こ なめてぇーよぅ */
/* チツちゃん、クリちゃん、スキ!スキ! */
/* チツちゃん、クリちゃん、スキ!スキ! */
52: ローリングソバット(愛知県)@\(^o^)/ 2015/05/13(水) 02:27:49.70 ID:NnqcE9O80.net
>>32
江戸時代でなぞなぞやってろ
江戸時代でなぞなぞやってろ
51: サソリ固め(チベット自治区)@\(^o^)/ 2015/05/13(水) 02:25:13.78 ID:i1d1y+Q20.net
>>32
ROMに焼いとけよw
ROMに焼いとけよw
39: リバースパワースラム(神奈川県)@\(^o^)/ 2015/05/13(水) 00:55:07.55 ID:xNG1CpRw0.net
超綺麗なアルゴリズム実装がとても触れられない状態になるのは良くあることだが
41: リバースパワースラム(大阪府)@\(^o^)/ 2015/05/13(水) 01:00:38.97 ID:gAOKn/z40.net
>>1
javaはStreamWriterとかわかりそうで意味不明なクラス多い
pythonのclass生成手順はC言語以下
javaはStreamWriterとかわかりそうで意味不明なクラス多い
pythonのclass生成手順はC言語以下
42: エメラルドフロウジョン(東京都)@\(^o^)/ 2015/05/13(水) 01:04:27.50 ID:AUIoK5tg0.net
Cから学ぶ人が多いからだろ
要するに初心者が書いたコードが多く残ってるだけでは
要するに初心者が書いたコードが多く残ってるだけでは
44: ジャンピングエルボーアタック(チベット自治区)@\(^o^)/ 2015/05/13(水) 01:08:18.23 ID:aZs+/gUb0.net
>>42
初心者は汚いコードを書くけど、自分で汚いとコメントを残さない
初心者は汚いコードを書くけど、自分で汚いとコメントを残さない
45: エメラルドフロウジョン(東京都)@\(^o^)/ 2015/05/13(水) 01:19:36.57 ID:AUIoK5tg0.net
>>44
確かに
とすると、低水準ならではの自由度で、
汚いコードも容易に書けちゃうからかな
汚いというよりアクロバティックなコードが多い様にも思えるが
確かに
とすると、低水準ならではの自由度で、
汚いコードも容易に書けちゃうからかな
汚いというよりアクロバティックなコードが多い様にも思えるが
61: フロントネックロック(群馬県)@\(^o^)/ 2015/05/13(水) 03:40:49.52 ID:Mnzp78HC0.net
>>44
GitHubで見てんだから意識はしてるんじゃないの
GitHubで見てんだから意識はしてるんじゃないの
43: ジャンピングエルボーアタック(チベット自治区)@\(^o^)/ 2015/05/13(水) 01:07:16.41 ID:aZs+/gUb0.net
Cプログラマはコードを書いている
PHP/JavaScriptプログラマはコピペしてるだけ
PHP/JavaScriptプログラマはコピペしてるだけ
57: リバースパワースラム(大阪府)@\(^o^)/ 2015/05/13(水) 03:10:21.01 ID:gAOKn/z40.net
>>43
馬鹿だろWindowsライクな使い方が流行る前から独自にやってるやつ沢山いたしMD5含め圧縮アルゴまで組んでる奴は多い
馬鹿だろWindowsライクな使い方が流行る前から独自にやってるやつ沢山いたしMD5含め圧縮アルゴまで組んでる奴は多い
46: 中年'sリフト(東京都)@\(^o^)/ 2015/05/13(水) 01:21:58.61 ID:CqN/HCRj0.net
C使いは自己陶酔してる奴が多いからな
他者が見て一見してわからないのが良いと勘違いしてる奴が多い
しかし何にしても正常に動いてるプログラムは弄らないのが吉
他者が見て一見してわからないのが良いと勘違いしてる奴が多い
しかし何にしても正常に動いてるプログラムは弄らないのが吉
49: タイガースープレックス(新疆ウイグル自治区)@\(^o^)/ 2015/05/13(水) 02:06:15.40 ID:uYeWcvgi0.net
力技で何とか動いてる時のヒヤヒヤ感!
60: デンジャラスバックドロップ(東京都)@\(^o^)/ 2015/05/13(水) 03:35:45.01 ID:nl2C4eAE0.net
Cのコードだとまず他人に読まれないから正直になれるのだろう。
PHPとか同僚や上司にすぐ読まれる可能性高いから(しかもコメントから)酷いコードでもシラを切る。
PHPとか同僚や上司にすぐ読まれる可能性高いから(しかもコメントから)酷いコードでもシラを切る。
81: キャプチュード(滋賀県)@\(^o^)/ 2015/05/13(水) 07:47:06.30 ID:pcI3omaU0.net
>>60
え?普通の会社ってコードレビューと称して、書いたプログラムコードについて上司があれこれいちゃんもを付ける
糾弾会みたいな乗ってないの?
え?普通の会社ってコードレビューと称して、書いたプログラムコードについて上司があれこれいちゃんもを付ける
糾弾会みたいな乗ってないの?
82: ドラゴンスクリュー(茸)@\(^o^)/ 2015/05/13(水) 07:50:40.60 ID:DuDDvFvZ0.net
>>81
それやって時間が足らなくなって常にデスマーチになってる部署あったな
それやって時間が足らなくなって常にデスマーチになってる部署あったな
85: ファイヤーボールスプラッシュ(芋)@\(^o^)/ 2015/05/13(水) 08:08:55.81 ID:lLtqCaX20.net
>>82
ソフト屋とレビューアの質による。
ベテランばかりの部署におけるレビューに大した意味は無いが、半端ものの集まりにおけるレビューは製品の質に直結する。
うるせえことを言われることが分かって初めて、しっかり考え始める奴が少なからずいる。
ソフト屋とレビューアの質による。
ベテランばかりの部署におけるレビューに大した意味は無いが、半端ものの集まりにおけるレビューは製品の質に直結する。
うるせえことを言われることが分かって初めて、しっかり考え始める奴が少なからずいる。
58: バズソーキック(新疆ウイグル自治区)@\(^o^)/ 2015/05/13(水) 03:18:37.87 ID:L6y76QGZ0.net
他人のコードに、課題のメモがコメントに残ってたりすると泣きそうにはなる
90: ジャンピングカラテキック(西日本)@\(^o^)/ 2015/05/13(水) 08:29:18.92 ID:7AgXlhXi0.net
C言語はマジで色々できすぎだからな
意味不明なパット見ではわからないコードを書きやすい
意味不明なパット見ではわからないコードを書きやすい
92: ドラゴンスクリュー(愛知県)@\(^o^)/ 2015/05/13(水) 08:33:57.33 ID:i/w0pQEG0.net
>>90
そこだよね 構造体の中で再起を使ってループさせるとかやってるし
そこだよね 構造体の中で再起を使ってループさせるとかやってるし
65: アイアンクロー(庭)@\(^o^)/ 2015/05/13(水) 04:12:12.67 ID:jnoFdAv20.net
気持ち悪い。転職してIT抜け出してよかった
66: パロスペシャル(家)@\(^o^)/ 2015/05/13(水) 04:18:03.73 ID:S9qiqd+l0.net
>>65
これからはITだぞ情報系行け
と言ってた高校の担任を殴りたい
これからはITだぞ情報系行け
と言ってた高校の担任を殴りたい
68: アイアンクロー(庭)@\(^o^)/ 2015/05/13(水) 04:42:35.60 ID:jnoFdAv20.net
>>66
あいつら基本信用出来ないよな
奨学金も勧めてくるし
あいつら基本信用出来ないよな
奨学金も勧めてくるし
76: デンジャラスバックドロップ(西日本)@\(^o^)/ 2015/05/13(水) 07:23:39.00 ID:eRAQuSVU0.net
>>66
うちの担任は情報系はやめとけって忠告してくれたけど聞かずに情報系に進んでしまったよ
うちの担任は情報系はやめとけって忠告してくれたけど聞かずに情報系に進んでしまったよ
79: フルネルソンスープレックス(新疆ウイグル自治区)@\(^o^)/ 2015/05/13(水) 07:33:12.17 ID:+fxZWlU80.net
/* */←これより
//←こっち使うな
//←こっち使うな
89: タイガードライバー(家)@\(^o^)/ 2015/05/13(水) 08:13:40.78 ID:hv48arfM0.net
何で正常に機能するのか作成した本人でさえよくわからないコードって
本当に存在するのか?つか、ありえるのか?
本当に存在するのか?つか、ありえるのか?
94: タイガードライバー(SB-iPhone)@\(^o^)/ 2015/05/13(水) 09:22:44.05 ID:qsaeXIAQ0.net
>>89
作った本人でもわからなくなったコードは存在する
作った本人でもわからなくなったコードは存在する
98: 中年'sリフト(空)@\(^o^)/ 2015/05/13(水) 09:44:44.09 ID:osm3JQPS0.net
>>89
組み込みならザラにある
組み込みならザラにある
100: カーフブランディング(大阪府)@\(^o^)/ 2015/05/13(水) 09:52:20.71 ID:VqsIvoQw0.net
>>89
ちょっとでもいじると全部くずれるってコードを書いたことがある。
main()の10行程度の処理だったんだけど、触るとPG全体が崩壊するという・・・
徹夜明けの変なテンションで書いた思い出。
ちょっとでもいじると全部くずれるってコードを書いたことがある。
main()の10行程度の処理だったんだけど、触るとPG全体が崩壊するという・・・
徹夜明けの変なテンションで書いた思い出。
95: 急所攻撃(禿)@\(^o^)/ 2015/05/13(水) 09:28:18.14 ID:fqh9aA/v0.net
>>89
とりあえず動いてるから触らない ってのはあるかと
とりあえず動いてるから触らない ってのはあるかと
http://hayabusa3.2ch.sc/test/read.cgi/news/1431442604/
コメントする