アカウント名:
パスワード:
これって単純にCがよく使われていて、リソースも沢山ある言語だから、というだけの話ですよね?別に特段ストーリーにする必要性はないと思うのだけれども……まあ、ネタに困っているのかな。
ファイル数が多いだけという可能性がありますよね。何処かに書いてあるのかな?
これ [namaristats.com]によると、GitHubにC言語のリソースが多いという訳ではないです。
ランクでvimLが3位にある事もそうですが、
1) 言語機能が貧弱で手を抜きがちな要素が多い。2) それに気が咎める程度には判っている作者が多いこと。
で上位に立っているような気がしますね。Cの場合は更に「性能の為に手を汚さざるを得ない」と言うこともありそうですが。
別スレッドでも話題になってますが、大抵のuglyなコードは「クロスプラットフォームの流儀から外れる」「Cのコーディング作法を逸脱して書くよりない状況になってしまう」と言う話なんで。
ハードウェアに依存するコードを書かないといけないとか、OSの(主にリアルタイム性に関する)制約で不本意なコードを書かないといけないとか、あとは仕様変更とか仕様の不備・果てはミドルウェア側の仕様の問題で「美しくない」コードでいくしかなくなったとか。
なので、言語機能が貧弱かどうかはあんまし関係ないでしょう。
他の高級言語ではミドルウェアがuglyなコードを書くのを代行してるだけで、本質的には余り変わらない気がします。
手を抜きがち→泥臭い?ダック・タイピングとかクロージャとか手抜きっつーより泥臭い実装になっちゃう。
えっと、
例外処理がないので関数の成否をリターンステータスで返す -> 成功すると決めてかかる。mallocしたメモリを自分で解放しなきゃいけない -> プロセスが終了すれば解放されるからそのまま。データ型が貧弱 -> 配列で済ます。中間に挿入するときはmemcpyでずらす。
#ごめんなさいごめんなさい。
使い勝手の悪い言語は何をするにも醜いハックで敢えて明言する必要も無いレベルだったり、醜いハックであってもデザパタの名の元に常套手段としてしまいいちいち言及することもなかったり、醜いハックであってもそれを書くかどうかは別の問題ですよね。
PHPやJavaScript(Node.js)とかのWeb系だと、セキュリティのための後付け要素で手を汚してる例も結構ありそう。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
海軍に入るくらいなら海賊になった方がいい -- Steven Paul Jobs
人口の問題 (スコア:0)
これって単純にCがよく使われていて、リソースも沢山ある言語だから、というだけの話ですよね?別に特段ストーリーにする必要性はないと思うのだけれども……まあ、ネタに困っているのかな。
Re: (スコア:0)
ファイル数が多いだけという可能性がありますよね。
何処かに書いてあるのかな?
Re: (スコア:0)
これ [namaristats.com]によると、GitHubにC言語のリソースが多いという訳ではないです。
ランクでvimLが3位にある事もそうですが、
1) 言語機能が貧弱で手を抜きがちな要素が多い。
2) それに気が咎める程度には判っている作者が多いこと。
で上位に立っているような気がしますね。
Cの場合は更に「性能の為に手を汚さざるを得ない」と言うこともありそうですが。
Re:人口の問題 (スコア:2)
別スレッドでも話題になってますが、大抵のuglyなコードは「クロスプラットフォームの流儀から外れる」「Cのコーディング作法を逸脱して書くよりない状況になってしまう」と言う話なんで。
ハードウェアに依存するコードを書かないといけないとか、OSの(主にリアルタイム性に関する)制約で不本意なコードを書かないといけないとか、
あとは仕様変更とか仕様の不備・果てはミドルウェア側の仕様の問題で「美しくない」コードでいくしかなくなったとか。
なので、言語機能が貧弱かどうかはあんまし関係ないでしょう。
他の高級言語ではミドルウェアがuglyなコードを書くのを代行してるだけで、本質的には余り変わらない気がします。
Re: (スコア:0)
手を抜きがち→泥臭い?
ダック・タイピングとかクロージャとか手抜きっつーより泥臭い実装になっちゃう。
Re: (スコア:0)
えっと、
例外処理がないので関数の成否をリターンステータスで返す -> 成功すると決めてかかる。
mallocしたメモリを自分で解放しなきゃいけない -> プロセスが終了すれば解放されるからそのまま。
データ型が貧弱 -> 配列で済ます。中間に挿入するときはmemcpyでずらす。
#ごめんなさいごめんなさい。
Re: (スコア:0)
使い勝手の悪い言語は何をするにも醜いハックで敢えて明言する必要も無いレベルだったり、
醜いハックであってもデザパタの名の元に常套手段としてしまいいちいち言及することもなかったり、
醜いハックであってもそれを書くかどうかは別の問題ですよね。
PHPやJavaScript(Node.js)とかのWeb系だと、セキュリティのための後付け要素で手を汚してる例も結構ありそう。