はてなキーワード: コンパイルとは
某社内でのソフトウェア技術者について書きたくなったので書いてみる。
まず、そもそもプログラミングは下請け or 子会社がやるものという認識。それを、最近本社でもソフトウェア技術者を採用し始めたけど、やっぱり低く見られがち。プロジェクトの開発リーダーは必ず電気回路の人だし、外部との折衝もやらせてくれない。工場の製造用ソフトだってハードウェア技術者が無理して書いてる。
周りのプログラマーのレベルも低いよ。自分の周りがそうなだけかもしれないけど、C言語以外できない人多いし、ポインタはおろか struct と union の違いも認識していない。環境がローレベルなのか、仮想メモリとかいう考え方もない。 Windows しか使ったことない人ばかりだし、簡単なコンパイルエラー直すだけで数時間がかり。バグ管理はもちろん Excel。ヘッダファイルの define 一覧が Excel に表としてまとめられていて、手動で同期取ってたりする。
あとパソコンに対する考え方が古いよね。未だにCADを17インチディスプレイで書いてるし。今年会社で導入標準モデルになってるパソコンはメモリ2GB, HDD 320GB しか積んでない。マシンに投資するのは無駄という考え方が伝わってくる。スペックアップを主張しても「昔はもっと遅かった」で終了。
デスマーチを避ける考えもないかな。デスマーチを乗り越えたのが武勇伝として語り継がれる。俺何日も徹夜したえらい、みたいな。
そんなくせして、「Apple は大した技術力がないけど、アイデアがよかったから iPhone や iTunes がヒットしてる」と言ってる。まずいね。
7月の頭には、彼と一緒に念願のメルボルン旅行に行く予定だった。
メルボルンに住んでいたことのある彼から話をよく聞いていて、ずっと行きたいと思っていた。
部屋探しもし始めた。ただ、なかなか気に入る部屋が見つからなかった。
私は新しい会社の寮に入ろうか悩んでいたが、彼が
「俺が少し家賃を負担するから、一緒に住む部屋を借りよう」という提案をしてくれた。
彼の態度や発言から、本当は結婚する気なんてないんだろうな、、と思い始めていた私は、
でも、私が一人で一緒に住む部屋を探しに行っている間に、彼は元カノと会っていた。
彼は、私には気付かれていないと思い込んでいたが、私は気付いていた。
別れたなんて言ってたけど、本当は別れていないのかもしれないな、と思った。
でも、元カノのところに戻る事が彼の幸せなら私はそれを応援したいと思っていたし、
そうならそうとはっきり言って欲しかった。でも、会っていた事を問い詰めても、彼は会ってないとしか言わなかった。
元彼がこの世からいなくなってちょうど2年の日、私は彼と一緒に家具や家電を見に行った。
昔から、結婚する相手と一緒に家具や食器を見に行く事は憧れていた。
彼の態度は、どう考えても結婚しようと思っているようには見えなかった。
勢いで結婚しようなんて言ってしまって、後悔してるんだろうなぁ。と思った。
元カノのところに戻りたいんだろうなぁと思った。
この人と一緒にいるわけにはいかない。決断は早い方がいいと思った。
そして私は、「あの部屋は契約しないことにした」というメールを送った。
旅行は一人で行く事にした。ずっと行きたかった場所だし、英語が通じる国なら一人旅でも不安はない。
その事だけ伝えようと思っていたら、彼から電話がかかってきた。
出るつもりはなかったのに、間違ってボタンを押して通話状態になってしまった。
切るわけにもいかず、仕方なく話す事にした。
私は友達にすら戻る気はないと告げたが彼は食い下がり、とりあえず旅行は一緒に行こうと言った。
さて寝ようかという時になって、彼が「やっぱり嫁においでよー」と言った。
まさかそんな事言われるなんて、思ってもみなかった。
色んな感情が溢れて、大泣きした。彼の前で泣いたのはそれが初めてだった。
本当は、彼とずっと一緒にいたいと思っていた。彼のことを思って、身を引くつもりだった。
でも、結局できず、二度目のプロポーズをOKした。
ある時、物珍しさから彼のスマホをいじっていて、偶然発着信履歴を見てしまった。
ほとんど全てが、私以外の女の名前だった。彼は一人ひとりそれが誰であるか説明し始めたが、
ただ一人、全く説明をしない名前があった。それが元カノだった。
発着信履歴の8割がその名前だった。彼からも何回も電話をかけていた。
やっぱり、戻りたいんだろうなー。と、改めて思った。
日本に帰って来た日の夕方に、新居の鍵をもらう予定だった。
でも、部屋を契約したことを後悔していた。
鍵をもらった後、彼と一緒に家具を見に行ったが、全く楽しい気分にはなれなかった。
私から身を引かないといけない、そう思っているのに、どうしても決断できなかった。
使っていたPCの中のデータを全て消して、返さないといけない。
私が彼に送ったメールは、2460通にもなった。単純計算で、1日2~3通。
コンパイル中とか、残業中の息抜きとか、飛行機の待ち時間とか、そういう暇つぶしの他愛ないやりとりが、
いつの間にかそんな数になっていた。そのやりとりに、どれだけ救われたか分からない。
全て消す事で、けじめをつけようと思った。
痩せてサイズが合わなくなり、全く着る事もなくしまったままだった服が大量に出てきた。
その服を着て彼に会った時の記憶が蘇ってきた。全部ゴミ袋に突っ込んだ。
捨てる事で、全部終わりにできると思っていた。
先日「Flashエンジニアが今後10年食べていくには?」というテーマを元に
Flash に精通した Web 技術者達のディスカッションが行われる催し物があった。
http://www.publickey1.jp/blog/11/flash10.html
この記事だけでは内容が省略しすぎているため
時間があれば是非録画の模様もみていただきたい。前半初頭は音量が小さいので注意。
こういった催し物は面白いなと、私はとても楽しく見させていただいた。
http://www.ustream.tv/recorded/19073524
http://www.ustream.tv/recorded/19074357
ディスカッションでは Flash だけではなく HTML5 についても触れている。
ディスカッションの感想をディレクションや営業を行なっている知人に聞いたり、
ネット上の反応を見てみたところ以下のような意見がいくつかあった。
「『Flash が好きな人』だけではなく HTML5 派の人との対談もあればよかった」
「Flash 派の人の話だから HTML5 が使えないという話はいまいち参考にならない」
『Flash 派』『HTML5 派』という くくりで考えてしまう人は
まだまだ多いと実感する。
パネリスト達は
過去から現在までに様々なプログラミング言語を利用し、あらゆる技術に精通している。
Flash という表示媒体/環境開発がベター(時にはベスト)だと考え、
Flash をよく扱っている、という旨を話している。
最後の締めとして
Flash よりも優れたものが登場するのであればそちらに移行するでしょう、
とも言っている。
これだけの説明があったのに
ディスカッション内で触れた HTML5 に対する否定的な話は、
『Flash 派』とやらのポジショントークだと目に写ってしまったのだ。
Java やら C やら objective-c やら perl やら php やら
サーバサイドからスマホ用ネイティブ言語を用いてのアプリ制作まで
色んな事やってます、と言っても
現在世の中には HTML5 を推し、合わせて Flash を否定する記事が結構出回っている。
技術者が話す専門的な用語の飛び交う話よりも
HTML5 vs Flash 的な読みやすい記事に耳を傾けてしまう人はいる。
Apple 製品を好む人は「ジョブズがそう選択したのだから」と
なおさらこういった記事に目を向けてしまう。
「Flash vs HTML5 の話にのせられてしまうのは、よくわかっていない人だ。」
ディスカッション内では、
ネット上の煽り記事を読み不安に思ったクライアントから連絡を受け
きちんと状況をゼロから説明するハメになってしまった、という内容があった。
似たような状況になっている人もいるのではないだろうか。
当方周辺では、
「Flash は駄目だ」「Flash でなくても HTML5 ならできるはずだ」
「HTML5 は Flash の代わりになるものだと言われている」と
クライアント、あるいは仕事先の関係会社から耳にする機会が増えてきた。
技術者の及ばないところで
ベターではない技術が選択、あるいは勧められてしまう やっかい性。
その記事は世間の目には届かない。
TV CM でバンバン流れている iPhone や iPad では Flash を見ることができない
という状況に乗じた
勘違いを正すためには、今までよりもより一層
あるいはメッセージを発信するよう心がけていかねばならないと感じる。
パネリスト達のような
Flash を扱う事が可能な技術力を持ち合わせている人にとって
Flash が終わろうが、代わりの技術が HTML5 やらその他何になろうが
大した影響はない。
『プログラミング』についての話をしてみる事にする。
「世にあらゆるプログラミング言語があるが
「何か一つ言語を習得し
『Flash の事は全く知らないがプログラミングプロフェッショナルの人』
が近くにいるならば是非上記について伺ってみてほしい。
その通りだと答えてくれるはずだ。
他の言語で作ったものを Flash のプログラミング言語に移植することも容易いのだ。
ここで上記三行の「他の言語」を「JavaScript」に置き換えてみてほしい。
HTML の DOM 操作に必要な言語は JavaScript である。
言語は、Flash ならば ActionScript、HTML5 ならば JavaScript を用いる。
画面描画は
あるいは用意されている描画用 API を ActionScript で呼び出し、
あるいは用意されている描画用 API を JavaScript で呼び出す。
Flash と似たような技術として Java Applet や Shockwave があるが、
これらも一緒で
言語を変え、その技術に合わせた描画を行う処理を記述するだけだ。
Web 技術者が何かに属していて、何かには属していないかのような区別の仕方は
的がはずれている事を なんとなく感じていただけただろうか。
仕事に対し、あるいは表現したい事に対し、ベターな選択を行うだけの事なのである。
環境や表示内容に合わせ両方を採る選択もあるだろう。
パネリストの中に ActionScript が好きだ、という人がいた。
これは別に
Flash が好き(製品のファン)だから ActionScript が好き、と言っているのではない。
ActionScript が優れたプログラミング言語だと判断しての発言なのだ。
HTML5 を選択するだけの事であり、
その別の技術を選択し、
Flash より優れた技術が登場しなければ Flash を使い続ける、
ただそれだけの事なのである。
もう少し突っ込んだ話をすると
Flash のプログラミング言語である ActionScript(ActionScript 1.0)と
HTML 表示制御を行う言語 JavaScript は 実は同じ言語仕様である。
『ECMAScript』という単語で調べてみてほしい。
「Flash と HTML5 は対立するもの」と考えていた人、
あるいは ActionScript や JavaScript を触れたことがない人にとって
「え?そうなの?」と思う人もいる事だろう。
JavaScript は大規模開発に向いていない、という話は聞いたことがないだろうか。
同様の言語仕様である ActionScript 1.0 はこの問題を解決するため
ActionScript 2.0 から ActionScript 3.0 へと進化していった。
Flash は開発がし易い、という話がよく挙げられるが
その理由の一つがこれである。
現行の JavaScript と ActionScript 1.0 は ECMAScript 3 準拠に対し、
ActionScript 3.0 は ECMAScript 4 準拠である。
言語として進化しているものを Flash は採用しているので
開発は抜群にし易い。
ECMAScript 4 準拠の JavaScript も登場する日もあったかもしれなかったのだが、
ECMAScript 4 標準化が白紙、
ECMAScript 4 は無かったことになってしまったのだ。
ActionScript 3.0 で作成したプログラムが
ちなみに JavaScript は大規模開発に向いていない、という事に対し、
最近では Google が新言語 Dart というものを開発している。
位置づけとしては ActionScript 2.0 に近いと比喩した人もいる。
ActionScript 2.0 はコンパイル時 ActionScript 1.0 に変換されて出力される。
Dart も同じく JavaScript 変換機能を持つ。
先の事は誰にもわからない。
HTML5 が成長するとは必ずしも言えない。
技術者は身を持って知っている。
表示と動作の差異、技術者はずっと苦しめられてきている。
めんどくさい。コストがかかる。
HTML5 も同じ道を辿るのでは、と言われてしまうのも仕方がない。
実際に HTML5 の各ブラウザの実装具合はバラバラである。
Flash はといえば、
今でも 10年以上前のスクリプト言語 (ActionScript 1.0 よりも前の言語)で
Flash が動作するブラウザがいつまで携帯に搭載され続けるのか、
まだ誰にもわからない。
今後も当面携帯向け Flash を作り続ける事になるのかもしれない。
携帯向け Flash は一つの容量が小さいというのが救いである。
IE6 対応 HTML サイト制作にせよ、携帯向け Flash 制作にせよ
状況に応じて何を選択するかを判断できるほどの技術力を身につける事
選択する技術に何ができて何ができないのか、
どの技術を組み合わせるとよいのか、
自ら判断できるようになった時、一人前の Web 技術者になったと言えるだろう。
一つ何かをモノにしてしまえば前述の通り移行は容易い。
それを極めるくらいまでとことん勉強してほしい。
続けていくと見えてくるはずだ。自信という名の悟りの道が。
気になった点をいくつか。
現状の HTML5 の実装具合のバラバラさに対し、
「(HTML5の)表示の差分を埋めてくれる何かが登場するかもしれない」
と言う発言があった。
言った当人も会場にいる人達も、きっとこう思っただろう。
「それってなんて Flash Player?」と。
「あれはやめたほうがいい」という発言があった。
勝手に注釈するのであればこの発言は
「Flash で作られた重たい Web を HTML5 でまた再現するつもりなの?」
という皮肉であろう。
//ダイアログクラスにメンバ変数を定義 std::auto_ptr<CBitmap> m_pbmp; //bitmapを設定するメンバ関数 void C*****Dlg::Set*****Bitmap() { CDC* pDC = GetDC(); CDC memdc; memdc.CreateCompatibleDC(pDC); m_pbmp.reset(new CBitmap()); CBitmap&amp; bmp = *m_pbmp; bmp.CreateCompatibleBitmap(pDC, width, height); CBitmap* old = memdc.SelectObject(&amp;bmp); memdc.FillSolidRect(0,0,width,height, color); memdc.SelectObject(old); ((CStatic*)GetDlgItem(IDC_STAIC_*********))->SetBitmap(bmp); }
スクリーンと同じデバイスコンテキストとビットマップを作成し単色で描画している。描画し終わった後のSelectObjectを忘れてはいけない。
CStatic::SetBitmapに渡した後も実際に描画されるまでCBitmapの寿命を保証しなければならない。
そのためメンバ変数にCBitmapを持たせるがCBitmapが再利用を考慮していないという驚くべき仕様なので仕方なくauto_ptrでラップしている。
いい加減MFC滅びてくれないかな。抽象度が低すぎる。こんな記事自分のブログに書きたくないよ。
さらにVisualStudio 2005のauto_ptrのバグを見つけた operator = にポインタを渡すとおかしくなる。これは本来コンパイルエラーになるべきで代わりにresetメンバ関数を使用するべきだ。
修正するには<memory>ヘッダのauto_ptr_refのコンストラクタのひとつ上の行(642行目)に private: template<class T> friend class auto_ptr; を挿入する。
先日、TBSの番組「夢の扉+」を見ていた。TBSの中で視ているのはこの番組だけだが。先日のテーマは「小さな町工場から日本の製造業を支える!」というもので、職人集団「チーム等々力」の免震テーブルの開発について綴られていた。
確かに、各職人の技術はすごい。ああいう職人技が日本を縁の下の力持ちとして支えているのも事実だと思う。例えば、新幹線の先頭ノーズはあれは職人手作業じゃなかっただろうか?
違和感を感じたのは、「職人が大学教授の求めているモノを理解出来ない」という点だった。結局番組では理系大学出身の技術者が、大学教授の要求(要件定義)を職人に分かるように図面に起こした事になっている。
それでいいんだっけ? 図面になっている物は作れるが、図面を起こす事が出来ないということだろうか?
我々IT技術者は、顧客のまだ具体的になっていない要求をヒヤリングするところから始まり、要件定義をし、設計し、実装し、テストし、納入し、運用・保守をする。だから、顧客の専門用語や技術も分からなければならないし、情報技術も分かっていなければならないし、運用・保守コストも考えなければならない。それに情報技術は進歩が早いにもかかわらず、分野によっては製品寿命が20年とかいうのもあるから、新技術だけ知っていても話にならない。
「チーム等々力」の方々は、いい製品を作るかもしれないけれど、IT業界的に言えば、コーディングだけ、という事に。否、それでも範囲が広い。コーディングは一種の「設計」でもあるから、範囲はもっと狭い。
そういえば、ITで「制作・製造」ってどの部分を指すんでしょうね。もしかして、コンパイル・リンクしている時間だけかも。なにしろ、コーディングも設計の一部であるから。
自分は、顧客の要求をヒヤリングするところから、運用・保守まで全てに関わっている。ヒヤリングしている時点でどう実装すれば良いか、どう保守するか、保守のための実装はどうするか、を考えながら顧客と接している(ここでいう実装とは、ハードウェアも含む)。
かなりゼネコン化されているので、元請けが仕事を取ってきて、こちらに仕事を発注する事になる。その時点で、かなりの情報が欠落している。元請けの方は、顧客(この場合エンドユーザー)の専門が分からないまま受注している事が多い。その上、実装を分からずに発注してくるから、かなり困る。結局、元請けに対し、かなりの懸案事項が発生する事態となる。顧客に対してこの設計では足りないとか、設計に対し実装不可能とか。それをいちいち指摘しないとならないが、これが時間がかかる。
こういう案件がたくさん来ると、今度は実装出来る人間に限界が出てくる。なので、実装するのをさらに下層の外注ソフトハウスに出すの事になるのだが、今度はこれが、エンドユーザーの事が分からないため、なんだかよく分からないブツが上がってくる。その上、金の切れ目は縁の切れ目だから、運用保守に関しては全く考慮されていないブツ。もちろん、中には優秀な外注さんもいて、すばらしいコーディングのブツが出来上がってくる事もあるが、そういう人に出会える確率は万分の一程度か。
そこへ追い打ちをかけるように、コスト低減要求と短納期要求、仕様変更。人月の神話。
顧客の頭の中を覗く人、顧客の要求を情報技術者向けに翻訳する人、翻訳されたものを実装する人、実装されたモノをテストする人、テストし終えたモノを納入・設置する人、運用・保守する人、がそれぞれ分業・連携取れていないのが、現日本のIT産業の姿です。
最近は自社の社員も質が下がってきていて、Windowsしかいじれないとか、統合開発環境内でしかブツが作れないとか、コンピュータがどう動いているかイメージ出来ないとか、果ては、顧客の専門用語が分からない、というのもいる。ソフトハウスに至っては、作ったはいいが、作ったモノに対してデバッグ出来ないとか言い出す始末。
というわけで、就活生には、ITはお勧めしない。もし、プログラミングだけしていたいというのであれば、メーカーではなく、小さなソフトハウスに就職した方が良い。でなければ、顧客と対等(同等)の(製品)知識と、新旧情報技術に対応出来るだけの能力が必要とされるのである。
補足求められたので少しだけ書く。
https://market.android.com/details?id=com.disk.defrag.rubiks&hl=ja
私は起動してません。
あちらこちらで見られるスクリーンショットと、逆コンパイラ結果からの推測です
ちょっと調べればわかりますが、あえて書きません。
個人的に、クラックの入り口になる知識を非アプリ開発者に広める必要性を感じていないので
わかる人に検証してもらってください。
私が検証したのはバージョン1.0です(難読化はされていませんでした)
以下のurlにアクセスしてデフラグしているふりをし、Javascriptを介してアプリ側のダイアログを出す
http://rubiks.adzoone.com/defrag/index.php
魚拓(貼り方あってる?)
http://megalodon.jp/2011-0921-1203-48/rubiks.adzoone.com/defrag/index.php
よこから失礼。
As3なら無料のFlashDevelopで十分だよ。純正品より使える。FlexSDKも無料だから、実質無料でコンパイル環境は整う。
Adobeのやつも買ったがFlashDevelopのほうがいい。
あと、HTML5 vs Flash とかいってるけどさ、ちょっとWEBにも動きがほしいよねレベルのFlashはどうせ消えるでしょ。HTMLコーダーが食えてた時代が終わったみたいなもの。だいたい情報系の言語スキルなんて5年も持たないって。
ばかでもつかえるエディターが出ればすぐ終わるよそんなもの。HTML5もそう。
生半可な人がそこに活路をもとめて漕ぎ出したところでエディターが出るまでの寸暇のアドバンテージもない。
そんな範囲のことが飯の種になるわけないじゃなぃぃ?
誰かがつくったものを真似して、誰でもできるようなことになっちゃったら制作単価下って食い合いになって終わりさ。
Airアプリでも書けって。だいたいHTML5と比較するのにFlash語るのにAir含めないってどうかしてるよ。
ただFlexで書くならフルスクラッチでゴリゴリ書けるひとじゃないと何もできないから、組み合わせるだけのプログラミングしかできない人はまだお呼びでないだけ。しかもScriptなのにコンパイルだからネット上でナレッジシェアされないしね。
FlexはActiveXやAppletと比較するべきで、プラットホームのHTMLと比較すんのはどうなのかなと思うよ。
あと、おまえらSilverLight馬鹿にしてるけど、日本にはこれが使えるエンジニアほとんどいから結構需要あるんだぜ?
MS以外の某大手もプッシュしている。
つまり、何がいいたいかっていうと、どんな言語、ツール使おうが、その上位10%にでも食い込んでりゃ食えるよ。
というかプログラミングの上位で食ってる人が特定の言語が使えないなんてことはないよね。
もしそう思ってるんだったら、後から来たのに悠々と追いぬかれるよ。
環境のせいにしてちゃ伸びないんだぜ。
いまいるところでまず嚢中の錐になってくだせぇ。
Vim-LaTeXは、デフォルトでは.dviでコンパイルして開く設定です。
でもMac OS Xなら、.dviにコンパイルしてX11上のxdviで見るより、直接.pdfにコンパイルしてPreview.appで開きたい。
http://vim-latex.sourceforge.net/
let g:Tex_DefaultTargetFormat = 'pdf' "標準で.pdfにコンパイルして開いてね
let g:Tex_ViewRule_pdf = 'open -a Preview.app' "PDFはPreview.appで開いてね
let g:Tex_CompileRule_pdf = 'pdflatex $*.tex' "pdflatexを使って.texから.pdfに変換してね
\ll
\lv
最後に、宇野は「〈いま・ここ〉だけが無限に広がるこのリトル・ピープルの時代の新しい世界においては、私たちは〈いま・ここ〉に「潜る」こと、徹底して内在的であることが逆説的に超越に接近してしまう」と語るけど、このレトリックって、大澤真幸が麻原彰晃に対して指摘した、
徹底した俗物性、過剰なまでの〈内在性〉が、逆に、麻原の〈超越性〉の根拠になっているのではないか。(大澤真幸『虚構時代の果て』)
とまったく同じなのだけど、これは本人的には大丈夫なのかしら。
ttp://blog.livedoor.jp/toshihirock_n_roll/archives/51653048.html
たとえば『完全自殺マニュアル』の鶴見済氏やオウム真理教の麻原彰晃は、「革命」を失った今、世界を変えるのではなく自分を変えようとしたわけですよね。ドラッグや「修行」によって。麻原は鶴見さんほど徹底できなかったヘタレだから革命のでき損ないに走っちゃったわけです。しかし、彼らのやったことはまさに「内在」的なアプローチだったと思う。だって、世界変革を「諦めて」自分をチューニングするんだから。
でも、ぼくがこの本で書いた「拡張現実の時代」においては、先ほどのゲームの例が代表するようにネットワーク的なものに支援されて超越―内在といった図式自体が崩壊していて、徹底的に内在することが超越に近づくというモチーフが頻出する。「ここではない、どこか」ではなく「いま、ここ」に留まったままゲームのルールを書き換えるための想像力の行使に焦点を合わせているわけ。それはそのまま「虚構の時代」(鶴見・麻原)と「拡張現実の時代」の違いでもある。ここもポイントで、「外部」を断念するというとすぐに鶴見・麻原的なものを年長世代自体は想像しちゃうけれど、それは90年代で時間が止まっている思考ですね。21世紀的な現実は「徹底して内在することによる超越」が、自意識のチューニングではなく現実のコミュニケーションとして創作物の生成や社会変革の可能性の方向に向かっている。これがまさに「仮想現実から拡張現実へ」ということ。
いやいやいや。。。ちょっとウノさん、何言ってるんですか・・・・。「内在」っていうこれまで批評用語としては、「超越-内在」っていう二項対立の一項として使われてきた用語を、かなり強引に自分タームの「内在」(これってむしろ「組織のインサイダー=内在者」っていう意味に近いと思うんだけど)に引きつけて使ってて、不要に名前空間のコンフリクトを起こしてる気がする。まさに、
人文系の評論はすぐに一般名詞を専門用語化する傾向がある。しかも、その本だけでしか通用しない専門用語をすぐにつくっちゃうのだ。”壁_temp”とか、”想像力_temp”とかいう名前にしてくれればわかりやすいのだが、我慢して慣れてみよう。
っていう奴。今まで現代思想界にはCritique.naizaiっていう広く使われてる変数なり関数なりがあったのに、そこにまた紛らわしいUno.naizaiっていう変数なり関数なりを持ってきてて、そこでCritique.naizaiをUno.naizaiと間違えてコンパイルした人に、「お前はUnoパッケージをインポートしてないから俺の本が読めてない」って文句言うのはちょっと無理筋過ぎないか。
まあ、用語の問題を脇に置けば宇野常寛の言いたいことも分からなくはない。現代思想や社会理論がこれまで、超越(トップダウンの理想主義的な社会モデル)か、内在(個々人の内面=インナースペースからの改革)か、という二項対立に拘泥したきたのに対して、組織の内在者=インサイダーが、組織へのハッキング的なコミュニケーションによるアプローチをかけることによって、ゆるやかに社会を変えていきましょう、ってのが彼の言いたいことなんだろうなあ、と思う。だけどそこで、現代思想のこれまで数十年の歴史のある用語体系に土足で踏み込んで、「内在」なんていう一般名詞を無理やり自分タームで使うのは無理筋だし、これまでその用語体系を使ってきた人の名前空間を不必要に混乱させる振る舞いだと思う。せめて「内在者(インサイダー)的アプローチ」くらいの用語にしておいてくれれば分かりやすいのにねえ・・・
http://anond.hatelabo.jp/20110811033545
自分ではそう思ってないけど、人から見ると負け犬の遠吠えに見えるから、
冷めた目で見てもらってかまわないです。
俺はいわゆる今まででプログラムできたことない(年齢=プログラム作れない暦)。
小中高とパソコンなかったから大学ではがんばってプログラム作ろうと思ってた
んだけど、文系の大学でハッカー全然いないから、友達に結構紹介してもらった。
まず、なんで俺がプログラムを作りたかったかというと。世間体を気にしていて、
早く口だけハッカーというレッテルをとりたかったから作りたかった。
まあそんな男が持てる分けないんだけど。
友達にも口だけ口だけってネタにされて(まあ冗談ってわかってるけど)、
まあ察してると思うけど、プログラムはできなかった・・・一応コンパイルまでこぎ着けて
全部 fatal error でさようならが8本(8連敗)、全く後に続かなかった。
1本目は、うまれて初めてパソコンの前でまともなコーディングをしたから完全に舞い上がって
ものすごい労力をつぎ込んだ。ハウツー本でエクセルマクロと同じ感覚でコーディングすると良い
と書いてあったから、俺が打った五行がコンパイルエラーしたら五行を書き直したり、
10行がコンパイルエラーしたら10行を直したり、15g(ry というやり取りをしていた。
(まあ内容は置いといて・・・)
OSの反応が途絶えてからパソコンの前で待ってて来るかな来るかな、って3時間くらい
待ってたこともあった。そして、無限ループで変数を増やしまくってたらしく
「このプログラムは不正な処理を行ったので強制終了されます。[詳細] をクリックすると、次のエラー メッセージが表示されます。」
っていわれて1本目撃沈。
それから友達から指摘を受けて、言語の扱い方を学んで次のコード次のコードへ
どんどんアプローチをかけていった。
2~6本目位までは1本目と同じくらいか、少し少ない熱意を持って
やったがそれも全て撃沈。
7~8本目位になったあたりで精神が病んできちゃって、8本目が撃沈した
次の日位から、食事が喉を通らなくなった。食べてもほぼ100%吐いてた。
なんで自分は書けないのか?書けなさすぎて劣悪な遺伝子だな、頭も悪いし
こんな遺伝子残さない方がいいんじゃないか、という劣等感を感じるようになった。
大学はそのときまで全然さぼらなかったんだけど、あまりのだるさに1日さぼって、
次の日は学校行っただけでダウン、ついた瞬間保健室へ駆け込み、休憩して授業を
受けずにそのまま帰宅。一週間で飯は食えるようになったけどそれでも前に比べる
とかなり小食になった。
そして、自分の気持ちの中でいくつかの結論が出た。
自分は本当に書けない、やればやるほど空回りする。そして、無理すればするほど
ぼろぼろになっていく。努力して、プログラムの為に尽くしてもプログラムが完成しないことに気づいた。
完全に逃げてるけど、俺の中でプログラム作ることはただたんにレッテルをとりたいだけ
そう思ってて今日まで過ごしてきたら、韓国戦見てたときに母さんが「あんたプログラム作らんの?」って
言ってきて「俺はもう作るのあきらめた」と言ったら、弾小飼がいかに Perl がすばらしい
か説いてきた。それと「一回もできたことない奴が分かったような口聞くな」とか
「そんなの負け犬の遠吠えだ」などと言ってきた。それでこっちの
意見を全く聞こうせず、ずっと MacBook Air のすばらしさを熱弁してくれた。
自分で逃げてるなんて百も承知、俺はもう疲れたんだよ。
日々見下されてて、俺に対する態度がひどくて劣等感を感じて、バイトは土日絶対1日入って、
それでコーディングするだけでも多大な労力を使ったのに、それが就職したら
毎日設計書書き?毎月の生活苦しいのに、定期的に設計書書いて誤字とかどうでもいいダメ出しをもらう?
そもそも好きって感情がわからんからプログラミングに意味を見い出せない。
だから今はもう一生口だけブックマーカーでいいかなと思っています。
思うと少し残念な気持ちに成る。
千人存在すれば、千通りの考え方があり、誰とて同じ存在は居ないと言えよう。
だが、心というものは先ず同じではない。
同様の遺伝子を持つ存在に人生を同様の経路で辿らせれば同一人物になるかもしれない。
一方、人格形成は生まれ持った要因によってのみ決まる。
どちらも突き詰めれば、脳内の分泌物と電気信号によるものでしかない。
だが、我々人間の社会に於いては、それ自体に一つの価値を見出してきた。
その為、数値化したり、分かりやすいデータにコンパイルし直す必要がある。
5因子モデルがその一例であろう。
NEO-PI-RやFFPQといったモデルがあるが、ここではFFPQについて語ろう。
性格を5つの次元に分類し、それによってその人間を判定する基準である。
これにより、複雑な事象を我々に近くしやすい次元にまで下げる事が出来る。
客観的に人間を見る一つの指標とはなるが、あくまでも客観的にである。
5つの次元以外の要因が絡み合えば、他の次元に何らかの影響があるのかもしれない。
自己を偽ることでそれらを全て好意的な結果に置き換えることも可能である。
だが、別の見方をしてみれば、生まれつきの人格を遺伝子レベルで変えてしまえば、
全てを良い結果として出せるのではないか。
もしそれがまかり通る世の中になれば、世界は大きな転換点を迎えるだろう。
この世に生を受けた瞬間に格差が生じるのだ。
時としてナチズムにも似たイデオロギーを生み出す可能性がある。
我々は、神の領域にまで踏み込んではならない。
人から聞いたある会社のことをまとめてみた。(はてなじゃありません。)
内容が変になって、一部の社員の意見で分裂。更新が難しくなったので無理矢統合。
企画者の思い込みだけで決まり、業務に追われている社員の意見を聞かずに無理矢理記事を書かせているので、一部の社員から反感を買っている。
コスト重視とか言っているけど、兼任で書かせているので実際コストパフォーマンスはもの凄く悪い。
専任じゃないから、パクリ、いまさら感、自己満などの記事ばかり。読者はどこやら。
デザイナーじゃない人がデザインのことをバカにして書いていたりして、仕事を発注するのが不安になる内容が目立つ。
マルチモニターを導入した結果、だらだら2chやネットばかり見るようになって効率の低下。
ハイスペックマシンを導入した結果、実環境を意識できなくなって品質低下。
スペックに己惚れて効率を疎かにした結果、コンパイル時間が無駄に長い。コンパイル中はだらだら(ry。
人材より良い環境を与えすぎてダメになった典型的なパターンに陥っている。
本当に必要なときほど、逆に旧スペックのマシンで仕事をさせて無駄に時間がかかっている。
担当部署があるのに、好き勝手にサーバーを立てようとしてトラブルを起こして迷惑をかけている。
納期を守らない。
自己保身のために平気で嘘をつく。同僚を陥れる。
周りの都合を考えないで、自分の都合の良いように仕様変更や解釈して仕事を行う。
古参は世間よりスペックが低くなってきているのにいまだに優秀な人材だと思い込んで口だけ動かして、手は動かさなくなっている。
目標設定も状況に合わせて修正して良いと勝手に解釈しているので、良い結果に書き換えて提出するのが横行。
評価する側も適当。
一回、成果をだすと給料が一気に上がり、よっぽどなことがないと下がらないので、好き勝手に迷惑かけ放題。
自分の考えや視野がすべて正しいと思い込んで、周りに拡散させる。
他社より一歩遅れているのに、最先端だと思い込んでいる。
成果主義とか言っているけど、経営陣にとって都合のいい人を優遇。(当たり前だけどえげつないほど)
結果だけでなれた能力不足の役職者にPMまがいなことをさせて現場を混乱させる。
一部の社員の意見でビジネスマナー研修を実施するようになったけど、平社員よりビジネスマナーがない役職者は受けず、
成果主義なので、結果を残した人だけが評価され。支援した周りは見返りなし。よって、協力するのがばかばかしくなってきている。
あとから入社した人が結果を出そうとすると、先に結果を出した人が優遇されているので、妨害される。
上からの押しつけばっかりで、下からの意見を求めない。決定してから意見を求める。よって、下からの意見は意味がない。
優遇されている人達も裏では経営者のことをバカにしている。密かに独立を企んでいる。
やる気が無い人を教育と行って無理矢理中間管理職にするので、下は大迷惑。
一部の素行が悪い社員のためにルールを作るけど、ほとんど守られていない。
素行が悪い社員ほど結果を残して出世するので、すぐにルールが変わったり形だけになる。
ばからしくなって無視するのが横行。
優秀な人もそれなりに増えたけど、それよりも偽物が増えて大混乱。
既存社員より優遇で入社させたけど、化けの皮がはげて後の祭り。
昔は好きな人同士が各自で集まってやっていたけど、人が増えてから強制的になった。
悪口や陰口が毎回でてくる、参加するたびに嫌な思いをする。
高給取りは毎日参加して、色々な事情で参加できない社員をダメな奴と罵っている。
まぁ、タイトルの「レガシープログラマ」とは私の事なんですけどね。
if( foo == TRUE ){
という判定文をよく見かける(fooはいろんなオブジェクトだと思ってほしい)。
個人的には、この書き方、嫌いなんだよね。
if( foo ){
か
if( foo != FALSE ){
と書いて欲しいわけよ。とにかく「TRUEか?」という判定にはして欲しくないわけです。
で、なんでこう書くの?と外注や若い連中に聞いたら、「TUREは1ですから」と必ず答える(断言する)。
あ、あれ???自分は「TRUEはFALSEでは無い。確定しているのはFALSE=0という事だけ」だとずっと思っていたんですわ。
古いC言語風に書けばこんな感じ。
#define FALSE 0 #define TRUE (!FALSE)
確かに、実際に値を表示させてみると、昔のVC6だと「1」という結果が出てくるし、VB6だと「-1」という結果が出てくる。これ、当時混乱の元だったんだよね。
新しいC++や規格ではBOOL型というのがきちんと定義されたと思うけど、製品寿命が20年とかいう私の職場では、DOSやC(K&R)、アセンブラは現役だし、プラットフォームもなにもWindowsに限らない。組み込みマイコンも使う(うちのところはVxWOKSだが)し、UNIXやLINUXも使う。
もちろん、マネージドC++(.netFramework)やC#、JAVA、Parlも私は使うし。でも、どのプラットフォームでどの言語になっても「TRUEか?」という判定文は使ってこなかった。
で、試しに、VC2008のincludeフォルダをgrepしてみたら、
#define TRUE 1
あ、ほんとに「1」だ。
typedef bool int
なんて見かけるから、やろうと思えば「5」でも何でも数字が入ってしまうわけですよ。そこで「== TRUE」なんてやられたら、絶対に成立しないわけで。バグの温床になるんじゃないかなー、と思ってかたくなに前述の姿勢を持っていたわけです。
今(最近の)言語はきちんと「BOOL」型(またはboolという名のクラス)を定義されていて、コンパイルエラーになるか、自動的に補正してもらえるのかもしれないけど、ちょっと気持ち悪い。
最近、ちょくちょく外注や若い連中と意見や話が合わず、「ああ、俺ってレガシープログラマなんだな」と思う事が多くなった今日この頃。ネットワークに平気でリトルエンディアンのデータを流すとか、勘弁して欲しい。LANアナライザでデータが見にくくてしょうが無い。
こんにちは、プログラミングをしているただの女子です。私は学歴も知識もありませんしブスですが、staticに関してはプロフェッショナル。今回は、モテるstatic女子力を磨くための4つの心得を皆さんにお教えしたいと思います。
あえてnewを使ってインスタンスを生成するようにしましょう。そして飲み会の場で好みの男がいたら話しかけ、わざとらしくパソコンを出してインスタンス生成してみましょう。そして「あ~ん! この言語本当にマジでチョームカつくんですけどぉぉお~!」と言って、男に「どうしたの?」と言わせましょう。言わせたらもう大成功。「プログラミングとか詳しくなくてぇ~! ずっとこのオブジェクト指向言語っていうやつ使ってるんですけどぉ~しっくりこないんですよぉ〜!いちいちnewって書かないといけなくて使いにくいんですぅ~! ぷんぷくり~ん(怒)」と言いましょう。だいたいの男はインスタンスを生成せずに、すべてstaticな関数でプログラムを書く習性があるので、newなんてキーワードは使っていないはずです。
そこで男が「static関数使わないの?」と言ってくるはず(言ってこない空気が読めない男はその時点でガン無視OK)。そう言われたらあなたは「なんかなんかぁ~!最近SQLが人気なんでしょー!? あれってどうなんですかぁ? 実行時に一行ずつコンパイルするスクリプト言語と違って、もっとも高級な言語なんでしょ?でもなんかよくわかんなーい。私かわいそーなコ★」と返します。すると男は「あぁあいつね、あいつ俺の友達なんだ、イイヤツだろ」といってくるので、そのまま調子に乗らせておきましょう。
「ファイル内ローカル関数」や「関数自体で状態を持つ」ことなどができる「static」をとにかく無闇につかうと、一般のstatic男性は「この子はstaticを愛してるんだなぁ」や「え?こんなところにもstatic使えるの?なにこれ?」と思ってくれます。インターネット上ではそのような〇〇おじさんや、××おじさんなど、変なひとがいるので、よいこの皆さんは関わらないようにしましょう。
飲み会などで男が女性に話すことといえばstaticの話やVBの話ばかり。よって、女性にとってどうでもいい話ばかりです。でもそこで適当に「へぇーそうなんですかぁ~?」とか「よくわかんないですけどすごいんですねぇ」と返してしまうと、さすがの男も「この女ダメだな」と気がついてしまいます。ダメ女だとバレたら終わりです。そこは無意味にテンションをあげて、「えー! なにそれ!? 知りたい知りたーい♪」と言っておくのが正解。たとえ興味がない話題でも、テンションと積極性でその場を乗り切りましょう。積極的に話を聞いてくれる女性に男は弱いのです。
いろいろと話を聞いたあと、「staticな関数を使えば、newって書かなくていいんですねー。覚えたぞぉ! メモメモ!」とコメントすればパーフェクト。続けて頭に指をさしてくるくる回しつつ「キュンキュンキュン! キュンキュンキュン!」と言って、「どうしたの?」と男に言わせるのもアリ。そこで「うるせぇハゲ」と言えば女子力アップ! そこでまた男は「オブジェクト指向ってしっくりこないんですよね〜オブジェクト指向って(ry」と連呼して壊れだすので、放置しておきましょう。
男とプログラミングするときは、とにかく「あーん! 私インスタンス生成ないんですよねぇ~(悲)」と言いましょう。するとほぼ100パーセント「え?インスタンスなんて生成する必要ないじゃん。static理解せずにわざわざインスタンス宣言してるやつなんて笑っちゃうよね〜」といわれるので、(こいつなんなの・・・)と心のなかで思うだけにして口には出さないようにしましょう。ここでまた100パーセント「どうしたの?」と聞かれるので、うつむいて3~5秒ほど間をおいてからボソッとこう言います。「そうですよね〜staticおじさんカッコイイ〜」と心にもないお世辞を言っておきましょう。
その瞬間、あなたの女子力がアップします。きっと男は「なんて優しい天使のようなコなんだろう! 絶対にゲットしてやるぞ! コイツは俺の女だ!」と心のなかで誓い、あなたに惚れ込むはずです。そういうやつより上にのし上がったら、そんなことは忘れて好きなだけインスタンスを生成して大丈夫です。「インスタンスを生成できないんじゃなかったっけ?」と言われたら「は?」とか「うざい」や「おまえは一生C言語でもかいてろ」と言っておけばOKです。
1. あえて2~3世代前のインタプリタを使う
あえて2~3世代前のインタプリタを使うようにしましょう。そして飲み会の場で好みの男がいたら話しかけ、わざとらしくパソコンを出していじってみましょう。そして「あ~ん! このインタプリタ本当にマジでチョームカつくんですけどぉぉお~!」と言って、男に「どうしたの?」と言わせましょう。言わせたらもう大成功。「LiLFeSとか詳しくなくてぇ~! ずっとコレ使ってるんですけどぉ~! すぐセグフォるんですぅ~! ぷんぷくり~ん(怒)」と言いましょう。だいたいの男は新しいインタプリタを持ちたがる習性があるので、古かったとしても1世代前のインタプリタを使っているはずです。
そこで男が「新しいインタプリタにしないの?」と言ってくるはず(言ってこない空気が読めない男はその時点でガン無視OK)。そう言われたらあなたは「なんかなんかぁ~! 最近LiLFeS1.4.0が人気なんでしょー!? あれってどうなんですかぁ? 新しいの欲しいんですけどわかんなぁぁああい!! 私かわいそーなコ★」と返します。すると男は「LiLFeS1.3.9でしょ? 1.4.0はまだ出てないよ。本当に良くわからないみたいだね。どんなコード書いたの?」という話になって、次の休みの日にふたりでLiLFeS課題デートができるというわけです。あなたの女子力が高ければ、男がデバッグしてくれるかも!?
「大きい!」とか「小さい!」などを表現する「><」をコードに入れると、Javaの男性ユーザーは「なんかこの子カワイイなぁ」や「Basicっぽいよね」「<>が正しいよね」、「ってか!=だよね」と思ってくれます。インターネット上では現実世界よりもイメージが増幅されて相手に伝わるので 「><」 を多用することによって、男性はあなたを可憐で女の子らしいと勘違いしてくれるのです。そういうコードを書くと絶対にコンパイルエラーになりますが気にしないようにしましょう。
3. とりあえず男には「えー! なにそれ!? 知りたい知りたーい♪」と言っておく
飲み会などで男が女性に話すことといえばEmacsやvimの話ばかり。よって、女性にとってどうでもいい話ばかりです。でもそこで適当に「へぇーそうなんですかぁ~?」とか「よくわかんないですけどすごいんですねぇ」と返してしまうと、さすがの男も「この女本当に情報屋か?」と気がついてしまいます。ダメ女だとバレたら終わりです。そこは無意味にテンションをあげて、「えー! なにそれ!? 知りたい知りたーい♪」と言っておくのが正解。たとえ興味がない話題でも、テンションと積極性でその場を乗り切りましょう。積極的に話を聞いてくれる女性に男は弱いのです。
いろいろと話を聞いたあと、「〇〇は〇〇で、〇〇が〇〇なんですね! 覚えたぞぉ! メモメモ!」とコメントすればパーフェクト。続けて頭に指をさしてくるくる回しつつ「キュンキュンキュン! キュンキュンキュン!」と言って、「どうしたの?」と男に言わせるのもアリ。そこで「私のハードディスクに記録しているのでありますっ☆」と言えば女子力アップ! そこでまた男は「この子おもしろくてカワイイかも!?」と思ってくれます。私は学歴も知識もありませんしブスですが、こういうテクニックを使えば知識がない私のようなバカ女のほうがモテたりするのです。男は優越感に浸りたいですからね。
4. aptitudeではプロプラをインストール出来ない女をアピールせよ
男とパソコンを起動したら、真っ先にFlashなどのプロプラなソフトを探して「あーん! 私これインストールできないんですよねぇ~(悲)」と言いましょう。するとほぼ100パーセント「どうして? 嫌いなの?」と聞かれるので、「嫌いじゃないしインストールしたいんですけどできないんですっ><」と返答しましょう。ここでまた100パーセント「嫌いじゃないのにどうしてインストールできないの?」と聞かれるので、うつむいて3~5秒ほど間をおいてからボソッとこう言います。「……だって、……だって、プロプラって中で何するか分からないじゃないですかぁっ! 個人情報かわいそうですぅ! まだ流出してないのにぃぃ~(悲)。図書券すらもらえないんですよ……」と身を震わせて言うのです。
その瞬間、あなたの情報科学系女子力がアップします。きっと男は「なんて分かっているコなんだろう! 絶対にゲットしてやるぞ! コイツは俺の女だ!」と心のなかで誓い、あなたに惚れ込むはずです。意中の男と付き合うことになったら、そんなことは忘れて好きなだけインストールして大丈夫です。「インストールできないんじゃなかったっけ?」と言われたら「大丈夫になった」とか「慣れた」、「GPLウザい」と言っておけばOKです。
内定をいただいて以来、業務関係の連絡が全くない会社とその会社に新入社員として入社した人の話です。
入社式でした。小さなIT企業なので3畳ほどのスペースで辞令を社長からいただきその後簡単な自己紹介をしました。4月中は研修を行うと聞いていましたが、実際は資格の勉強と社会マナーなどが収録されているDVDを2週間、プログラミング実習を別課題各1週間だと聞かされました。その時、やたらOJTというい単語を上司の口から出ていましたが、OJTという単語を確実に勘違いしている。
4月4日~
コンサル主催のセミナーにも向かいましたが、基本社内で資格の勉強をずっとしておりました。渡されたDVDは会社のPCで見ることはできませんでした。おそらく、大量の常駐ソフトによるメモリ不足、コーデック関係のどちらかだと思います。再生30秒ごとに数分止まるという無駄な時間が過ぎていき、とてもイライラしたことを覚えています。本当に私は今月入社することになっていたのだろうか。その割にはあまりにも準備がされていなかった。DVDを見せるなら正常に再生できるか。何か説明をするのならあらかじめ話す内容を決めておいているのか。そして大抵の説明の最後に「なにか質問はありますか?」と聞いてくる。質問するほどの内容を説明していないのにこの自信はなんなのだろうと思いました。DVDは結局個人的に借りて家で見てレポートを書くことにしました。会社のPCで再生できるように奮闘した結果がかくかくな再生では非常に時間の無駄だった。
会社への不安と不条理さと試されている感が交錯しながら2週間を終えました。
来てそうそう配属について連絡がありました。配属といっても自社開発はなく客先常駐のプロジェクトでした。「新人 PG 架空の経歴書 事前面接」このあたりのキーワードでピクピク来る人とは仲良くなれそうです。研修後半の課題が出されました。使っているPCがとても遅い。コンパイルが遅い。IE起動が遅い。無駄な常駐ソフト。
新人が一人で客先常駐って時点で、完全に終わってることを自覚しなさい。 - @katzchang.contexts のエントリを何回か見ました。元の増田が削除されているのが残念です。
どうやら新人が一人で客先常駐に行かされるらしいです。その事前面接をしました。前述したとおり架空の経歴書を渡され、ある事ない事しゃべってきました。どこの会社も行っているからという理由は弊社でそれを行う理由にはならない。もう今週くらいになると自分自身でキャリアプランニングをしている。最長2年の間に架空ではない経歴書を書けること。いつ会社を辞めるのか。それまでに自身に課さねばならないタスクはなにか。それらをGWにじっくり考えるつもりだ。
その他
話の中で人があまり出てきていませんが、ほとんど接しなかったためです。今年の新入社員は私一人だけでした。一日中会社にいてやること済ましてそのまま帰ることも何度もありました。たまに掛かってくる上司の電話口から声が小さい事を指摘されました。ずっと黙ったままの作業していて、発する声が元気なわけありません。それ以降、ぶつぶつつぶやきながら作業をすることにしました。社内には私しかおりませんので当然注意する人もおりません。
足掛け3年、携わってきたプロジェクトが4月上旬にサービスを開始する。紆余曲折あったけどデスマは無かったし、何よりメンバーが最高だった。固有名詞は出せないけど、ここに特に印象深かった思い出を列挙していきたい。
数社が各々作り上げた計10個余りの jar ファイルが、フルコネクト型ネットワークを連想させるような循環参照を抱えていることがわかったのが1年半前。述べ数カ月に及ぶ対策会議が開かれ、最終的にはコンパイルを断念するに至った。未だに問題は未解決。
なぜBTSが3機もあるのか俺を含め誰も理解出来ていなかった。無論それの使い方も各人でまちまち。しまいにはチケットを管理するEXCELを各人が持ち始めた。「チケット起こすと管理が面倒になるので手元で管理する」やめようね傷口広げずにチケット切っておこうね。
「Subversion のローカルリポジトリを更新 → ファイルを別の場所に移して修正 → ローカルリポジトリを更新 → 修正したファイルで上書き → コミット」やめようね思いっきりデグレってるじゃん。だいたい8人くらいがそれやってた。一番最初にやり始めたのは誰だ。
「設計書はちゃんと修正しなさい」「しています……がリポジトリ更新してますか?」「どうやるんだ?」「右クリックで更新を」「おお出来た。文字が赤いがこれはなんだ?」「競合ですね。EXCELファイルが50個ほど」
ああ、この機能はリリースしても使われないのかぁ……このシステムの目玉機能だったのになぁ。
最後に、今まさに就職活動してる学生さんたちにメッセージを。日本の SIer ってほんとに楽しいよ。文系も理系も大歓迎。けど機械音痴の奴、ちょっと自分を見つめ直してみようか。まだ遅くはないからさ。
文法が狂ってるプログラムなんて今日日見たことないんだけど、実際あるの?
だって、自分がかじった数少ない開発環境でさえ、たいていコンパイルで止まるし、
ものによっては打ち込むときにエラーだと言われるものまである。
まともな開発予算が組めていれば、レビューは当然予算に組み込むもの。
(項目として入れていなくてもオーバーヘッドを取るのは当たり前)
それをしないのは発注側の落ち度でしょう。ここで愚痴ってる場合じゃない。
初めて組むところに大きな物は任せないし、レベルが低ければ切る。
int main(void){
int i;
for(i = 1 ; i <;= 100 ; i++){
printf("%d \0Fizz \0FizzBuzz "+("\x0A\x00\x00\x04\x00\x0D\x04\x00\x00\x04\x0D\x00\x04\x00\x00"[i%15]),i);
}
printf("\n");
return 0;
}
これ以上FizzBuzzは短く出来ないと思われる。return 0 とか改行はぬけるっちゃぁ、抜けるけど・・・
for(int i = 1 ; i <;= 100 ; i++){
printf("%d \0Fizz \0FizzBuzz "+("\x0A\x00\x00\x04\x00\x0D\x04\x00\x00\x04\x0D\x00\x04\x00\x00"[i%15]),i);
}
}
まぁ、限界だな・・・
void main(void) { for(int i = 1 ; i <;= 100 ; i++) printf("%d \0Fizz \0FizzBuzz "+("\x0A\x00\x00\x04\x00\x0D\x04\x00\x00\x04\x0D\x00\x04\x00\x00"[i%15]),i) ;}
うん、わけわからん。
テスト基盤と実機基盤で判定が逆とか普通にあるし、電圧判定の閾値が違うとかもざら。
#define false 0
としないで
#ifdef XXX
#define false 0
#endif
とするか?
なんで、ifdefで定義そのものをOFFれるかっていうと、まれにfalseを理解できるCコンパイラがいるからでしょ?(つまりC++コンパイラを使ってCをコンパイル通すケース)
だから、C++がなかった時代はそれでいいけど、C++ができた時代には、コーディング規約を見なおさないといけないという話でしょ?
ちなみに#define FALSEを残すのは MS系コンパイラへのコンパチビリティ。MS系の旧ライブラリを通すときは一応FALSEで渡したほうが良い。
作り直したタイミングで、新しい企画に対応していかないと、いつかどこかで、対応できなくなるし、そもそも、falseは有名すぎる。
そんな、改変すればいい特殊ルールをいつまでも残しておいて、組み込みは特殊だからとか言うなって話はあるよね。
普通の一般プログラマでも、改変できる範囲は最近は多くなってきているのに、わざと、さわれれない旧ルールを残し続ける。
コードが同一なら、そらしょうがないけど、バージョンアップで、新規作り直しのタイミングで変えないとしたら、それはおかしい。
新しい人入れなきゃいけけないし、短期的に人を増やすタイミングなんていくらでもある。
そういう時に、ダイナミックに人を追加できないようなコーディングルールにする意味が分からない。
コーディングルールを決めるのは、設計担当で、人のアサインの事まで考えて、ルールを決めなきゃいけないんだから、一般のC++プログラマを短期的に追加できるルールに変更すべき
それが、大きな問題になるならわかるけど、falseをやめて、ON/OFFにする もできない理由は思いつかない。(作り直しだから)