最近見かけた困ったWeb屋

 

曰く、

生まれてはじめて、

C/C++プログラムのソースを修正しました。

修正内容はばっちりだとおもいます。

ですが、コンパイルの仕方が分かりません。

修正内容は問題ないはずです。バグもありません。絶対大丈夫です。

コンパイルする方法だけ教えてくれれば確実に動くはずなんです。

 

さらっと撃墜しておきました。

開発を排便でタトえるなら

ソースの変更はケツから何かを絞り出す行為で、

それは生まれたての小鹿でもできる。

しかし希望の硬さで綺麗なトグロを巻くのは難しい。

それに便秘だとなかなか出ないこともある。

(squeeze)

コンパイルはケツを拭く行為で、

確実にこなすにはそれなりのテクニックが必要だ。

(clear up mess)

動かしてみるのは水を流す行為で、

誰でもできる簡単なことだ。

(flush)

ブートローダでもない限り、

それ自体に技術はいらねぇ。

ユーザーにでもやらせておけ。

 

ケツからひねり出すのに成功しただけで、

偉そうにC/C++プログラマぶってるんじゃねぇよ。

そんなもん、生まれたての赤ん坊でもできるんだよ。

てめぇのケツもてめぇで拭けないで、

「絶対バグはありません」とか

言ってんじゃないよ。

(注:これは脳内撃墜です)

聞けば、修正前のソースのコンパイル確認すらしていないという。

その時点でコンパイルできない代物だったら、どうやってビルドを通すんですかねw

 

そういえば数年前、とある現場で、

(自称)超巨大スーパーリバースプロキシ開発

→実態はただのラッパのできそこない

の進捗報告を小耳にはさんで聞こえてきたのが・・・

全体で数千ファイルあるソースの、

コンパイル状況は85%です。

これまでに発生したコンパイルエラー100個のうち85個は原因を解消しました。

あと数日でコンパイルできると思います。

・・・(数日後)・・・

現在、数千ファイルのすべてのソースのコンパイルは成功しております。

しておりますが、リンクエラーが1000個発生しており、このうち解消の見込みがついているものは10個ほどです。

リンクエラーは同じ原因が重複して発生しているものがありますので、それほど時間は要しませんが・・・その分析には高度なスキルが必要であり・・・各実装担当では解消できず・・・作業完了のメドが・・・

というような笑えない状況。

最近この状況を加速しているのは、超ベテランJava屋の増加です。

彼らはコンパイルの大変さは知っていますが、リンク&ロードを理解していないことがあります。

もちろんクラスファイルのロードについては経験上知見をもっているのでしょう。クラスパス地獄とかね。

リンクのトラブルというのは、環境についての知見が必要です。JVMについてだけいくら知見があっても、C/C++あるいはその他のリンクが必要な処理系でのリンクエラーの文言とそれが意味するところを理解するにはそれなりの知識が必要です。もちろんググレカスでカバーできるでしょうがね。

ごみためまんはビルドが通らないソースはソースではなく、ただの落書きだと考えます。

ソースはビルド環境とセットでないと意味がありません。同様にバイナリは実行環境とセットですね。