株式会社ジーワンシステムの代表取締役。 新しいものを生み出して世の中をあっといわせたい。イノベーションってやつ起こせたらいいな。

VB6を使い続けること(セキュリティについて)

»

 思いがけずコメントがたくさんついたので追加。皆さんありがとうございました。

 主旨は、やたらに新しいものを追いかけるのも、古いものに固執するのもよくない。必要に応じて取捨選択すればいいじゃないのってことです。

 以下、あまり大声で言えないので独り言モードで大阪弁です(普段はこんなしゃべり方)。独り言だから、ホンネやけどくれぐれも「わたしの公式見解じゃないので」。って裏表があって大人みたいだ(笑)。おもろいと思う人にとってはおもろいかも知らんけど、分からん人は流してください。

 いきなり、余談から。ホリエモンは量刑について不満らしい。

 思わず、ヤツのブログにコメントしてしまったけど、正直ちょっとヤツのいうことにも一理があると思い始めたところだったので、ものごっつ腹立つ。アホかと。王様でないとできない、一般的に馬鹿げた仕組みを実現するために金を儲けたかったんじゃないのか。そのために、ヤツは立法精神はさておいて「法律に抵触してない」ということを根拠にアホなことをしてきたんちゃうんか?

 立法精神を無視するというのは、法に書いてあることがすべてであるという考え方で、抜け道を探して「違法じゃない!」を根拠に、それまで積み重ねてきた商習慣やモラルを踏みにじってきたわけで、逆に有罪ならば量刑は法にある内容まで可能じゃないのか?

 それをヤツは、判例を持ち出して量刑がどうの言ってるけれど、判例よりも長い歴史のある商習慣を散々踏みにじってきて、いまさら判例などというのは、冗談にしてもひどい話や! 無罪でなかったら「量刑は法律上の最高刑であるべき」と自ら言うぐらいでちょうどいい。無罪を主張するのは許せるとしても「男を貫いてみろ」と言いたい。

 で、表題に戻って、何が言いたいかというと、法律よりも立法精神が重要なんで、さらには契約も「あなたを信じて取引します」という約束の精神が契約書(に書いてある内容)よりも、はるかに重要なわけやね。

 日本も金融機関に大量に入れたけれど、アメリカもGMに何兆という公的資金を入れるわけ。個人的には今混乱したとしても、潰したほうがよいと思うけれど(うちには絶対公的資金は入れてくれないしな~)。公的資金注入はどんな法的根拠なの? ほとんど事後法だったりするわけで、影響が大きいときは、アメリカのような契約社会でも政府自身が平気で法律も曲げるってことなのよ。

 で、VB6が公式サポートが切れていることを気にする人がたくさんいるようで、特にセキュリティ面で気になるらいしけど……。マイクロソフト(以下MS)の立場に立って、仮にVB6 にとんでもないセキュリティホールが見つかったとしてどういう対応をするんやろ? 現在も使っている何万というユーザが迷惑をこうむるわけやね。

 しかし、どう考えてもVB6を使い続けている何万というユーザは、今、.Netに移行していないわけで、MSにとってもっとも大切で確実性の高い見込みユーザなわけ。その見込みユーザに対して、「とっくにサポート切れているから、MSとしてはサポートしません」と言うの!? そんなんあり得るか?

 VB6でセキュリティホールが見つかったとして、パッチを作ることも、配布するコストも、MSにとっては微々たるもので、そんなことができないほど体力のない会社ではないやん? それでも、仮に「MSはサポートしません」と無責任なことを言ったらどうなるか? 迷惑をこうむった何万というユーザ達が向かうのは「MS以外でのリプレース」、つまりJavaなどに(下手すればOSからOfficeスイートまで)流れるわけで、当たり前やけど、MSが一番恐れる結果になる。とはいえ、「いつまでもサポートしますよ」では、新しいモンが売れないから契約上はサポートしないとなっているけれど、大きな声では言えんけど皆まで言わすなよ、ってことヤネ(そんなわけで大阪弁)。

 そんなことが現実にあり得ると思うなら(思う人が多いらしいけれど)ちょっと、頭でっかちになりすぎじゃないの? 社会は法律や契約だけで動いているわけやない、という単純な現実がまるで見えてヘンのじゃないかな?それでも、MSがVB6のサポート切れを言い出すほどアホやとしたら、.Netは同じように危うくって信用ならんということになるし、逆に、もし.Netが信頼して使えるなら、VB6も使って大丈夫ってことになるわけや。

 ちなみにIDEのサポートは切れているけれど、ランタイムのサポートはまだまだ続く。一説には、2017年ぐらいまで続くらしいし、まぁ、IDEでなにか問題があってもこっち(開発者)側の問題なので、わたしは全く気にならない。

 何を持って信頼に足るかというのも難しい話やれど、どんなものにも危険性も利便性もある。昔のシリンダー錠はその筋の人には針金で簡単に破れたし、大昔のアニメの「ルパン三世」でも針金で開けてた(笑)ぐらいやから、みんな針金で開けれるという認識があったはずだけれど、その鍵を信じて安心していた。日本でシリンダー錠の対策が打たれ出したのっていつごろからなんやろ? てか、いまだにシリンダー錠はあるしね。

 それに、毎年交通事故で数千人は亡くなって、数万人は後遺症に苦しむわけやけれど、みんな道を歩いたり自動車に乗ったりするわけや。ぶっちゃけて、シリンダー錠よりも自動車よりもVB6は安全だと思いますよ。少なくとも10年間で死んだ人は……デスマで亡くなった人はいるかも知れんけど言語のせいじゃないし。

 おまけに、セキュリティで問題になるのは、OSや言語(ランタイム)とかの問題ってほとんどないわけ。今までに大問題になったものというのは、メールの操作ミスや、安易なパスワードによるウィルスやワームの被害を受けるとか、公開しているディレクトリに個人情報を置くとか、SQLインジェクションとか、つまりは人為的なミス(が重なったもの)。

 パッチはいっぱい出ているけれど、そのパッチの対象になっているセキュリティホールを突くには、そもそも特定企業のシステムの構成を熟知してなければならなかったり、LAN内へのアクセス権が必要なものがほとんど。そんな犯罪をできる人は、業務上システムの管理者権限を持っているので、セキュリティホールを突かなくても、あんなことやこんなことができてしまうから、仮に悪意を持って犯罪行為をしようとしたら、セキュリティホールを突くなんてめんどくさいことする必要ないし、できる人が限られているから簡単にアシがつくので、よほどのアホでないとやらない。

 もっとも、簡単にアシがついても、銀行員の横領とか、医者が患者に、教師が生徒に性的犯罪をするとか、当然のモラルがない犯罪も起きるわけやから、それと同じぐらいの確率では起きるやろうけどね……(教師が生徒によりも、システム管理者の犯罪の方が少ない気がするというと偏見かな?)。

 最大のセキュリティホールは人間なわけで、何べん言ってもキーボードの裏にパスワードを書いてる奴がいなくなるまで、どんな対策しても無駄なんよ。それを超えるセキュリティホールが見つかることはほとんどないから、セキュリティ対策は、パッチ、ウィルスパターン更新やパスワードの変更など基本的な対策を行った後は、教育にコストを掛けた方がいい。システム管理者に対しては、それ以上の高いモラル教育と監視を強化するしかないわな。

 ともかく、サポート契約が切れて「セキュリティ問題がものすごく大変!」というのは、システム屋(=自分)は信用ならないと言ってるのと同じで(笑)、究極のマッチポンプをやってるよね。「サポート契約が……」とか言ってしまうのは、減点法で管理される官僚的な大企業に多い感覚です。ほかに若い人が言っちゃうのは「契約社会」とかって肩肘張って背伸びして勉強してましたって感じかな。例えば会社の呑み会は、たしかに就労規則にも何にも書いてないかもしれないけれど、「呑み会反対!」って言っちゃうようなものです。

 法律も契約も最低限のことしか書いてなく、法律も契約書もどうでもよいとはいわんけど、それ以前の不文律がある。法律や契約を守ればよいのでもなく、アメリカのような契約社会であっても、GMに対する公的資金のように、政府といえどときには踏み外すこともあるし、業界にも会社にも不文律があるわけや。

 それでも、杓子定規で頭でっかちになって、「法律!」「契約!」となってしまうところに、ホリエモンが言ってることにも、ブラック議論にもつながるんじゃないかな。わたしも不文律と戦っているのですけど、ちょっとちがうんよね~。

 それはさておき、システム屋として営業する上で、個人的には「.Netを使ってほしい」ってのもあるし、顧客が受ける便益に差が無かったら、あえて、VB6を選ぶ必要もない。官僚的で「サポート切れしたものなんてあり得ない」ってところもあるし、担当者が新しいモノ好きってところでは、VB6なんておくびにも出さんわな。

 官僚的なところに「VB6でやりましょう!」というのはアホだし、せっかく買ったVB6の開発環境や、今までの教育コストがもったいないと思っているところには「大丈夫ですよ」って言ってあげるのもプロの仕事とわたしは思っている。

 まぁ、わたしにとってはどっちを使っても一緒だから、相手が望んでいる答えを出してあげたらいいと思っているだけですけどね。わたしには、頑なまでに貫く部分と、無節操なまでに相手に合わせる部分がある。

 マージャンでも決め打ちするヤツはどうしようもなくヘボで(わたしのことやけど)、それでも運がよかったら上がれるわな。プロは運に頼ったらアカン。システムも、VB6に決め打つのも、.Netに決め打つのも、Webシステムに決め打つのも、SQLに決め打つのも駄目ってこと。

 とにかく、顧客の利益を第一のプライオリティにおいて頭を使うこと。

 見方によっては無節操なのかもしれないけれど、人になんと思われようとかまわないし、大事なのは自分の中に一貫した筋があればいいんじゃないかな。それがあるのが技術者だと思う。

 おまけなんですが。

 VB6から.Netが大変な変更だとか、Javaだとか、これからはRubyとか聞くたびに、「でも、RDBMSはまだ使うんでしょう?」って思う。わたしなんかVB4の終わりごろからSQLを使っているのね。メモリーが32~64MByteってなときに数百万件(だったかな?)扱って、ループしたら1週間とかかかるバッチがあったからね。まぁあきれ果てたけど、それを直しているうちにそれなりにSQLができるようになったわけ。

 そのころに仕入れた知識で今でも喰ってるわけです。VB4の方にこだわってたらとっくに喰えなかったやろうに。逆に考えると、SQLにロジック入れたがるわたしと、ループしたがる周りと、それだけ長い間ずーっとぶつかってきてるってことですけどね(苦笑)。もう、疲れたよ。

 常識的に考えたら、コロッコロ変わる言語にロジックを入れて振り回されるより、SQLができるようになった方がはるかに効率的って、いつもと同じオチ。

 あなたはすでにSQLを会話のペースでできている!

 あなたはすでにSQLを会話のペースでできている!(答え)

 この辺が会話のペースでできたら、数百本からなる基幹システム作っても、ループするのが3本とか5本しかない。全体から見たら1%ぐらいのイレギュラー処理で、ほぼすべての機能は母言語から見ればパラメータの受け渡しとダンプ出力になるもんね、ワークテーブルも使わんし。

 上の問題ぐらいが解けるようになったら、システム構築を頂上を目指す登山だとすると、たぶん、地べたから山頂を見ているか、ヘリコプターで空から見ているか、ぐらいに違った景色に見えます。みんなが富士の樹海へ進んでいるのを見て、何とか止めてあげたいと思っているのに、なんでか嫌がるからね……どこまで上から目線なんじゃ!って(笑)。

 VB6だろうが、.Netだろうが同じやし、いつまで枝葉末節のことでガタガタ言うんでしょうね?いい加減、この業界皆さんが気づく日が来てもよさそうなもんで、あえて知らんぷりするのかな?わたしが理解できないなんか深い理由があるのかな? ダミーのストアドプロシージャ書いて、画面や帳票から作るようになったら、そこまでは顧客側でできてしまう。これだけFWが発展してきたら、情報システム部があるぐらいの大手なら楽勝でしょ。顧客が作るんだからUIは完璧に完了するし、ダミーのストアドプロシージャは完璧な要件定義になりうる。手戻りは最小限になって、プロはテーブル設計とSQLの差し替えだけできれば良いってことに……。

 つまり、SQLができなかったらプロと認められなくなるってことか。そうなっても、わたしは全く困んないから言ってるし、むしろ歓迎だけど(笑)。

 戦略がバレてるのか……?

 だったら、ユーザが気づいてくれたらうれしいな。システムの開発コストは滅茶苦茶下がるし、ユーザが気づいたら業界は変わるのよ。大手ベンダーは要らなくなるかもしれんけどね。大手ベンダーが作ったとんでもないテーブル設計という負の遺産と戦わないといけないのだろうけど。

 ……ツッコミは歓迎するけれど、長~い独り言やって(笑)。大阪弁って書きにくいし、読みにくい。もう、やらないから許してください。

Comment(43)

コメント

インドリ

大意は同感です。日本は法律が甘すぎるゆえ、プロはより高いモラルが求められます。
私が問題視しているのはVB.NET2008(VB9)を「学習するのが嫌だから新規開発でも使う」という人です。
私は言語の新旧よりもその精神が問題だと思っています。
「プロならば常に学習しろ!」
何故VB6の新規開発に拘るのかといいますと、VB.NETは?といった際に、
「VB6しか知らないからVB6にしよう」という会社が沢山あるからです。
プロが鍛錬する事を放棄し、その怠惰精神をお客様に押し付けるというのが許せません。
それこそ、法律上問題ないからというホリエモン精神ではないでしょうか?
あと、前にも言いましたが、ここでSQLを持ち出すのは混乱を生むと思います。
SQLとVB6じゃあ比較になりません。

インドリ

前からです。彼らは私がいった事ならば何でも噛み付くストーカーの様な存在です。

インドリ

これは余談ですが、マイクロソフトの様な超巨大な企業ともなると保守費用は莫大な金額になります。
マイクロソフトがVB6をここまでサポートしているのは凄い努力の賜物だと思います。
ですからその辺はあまり言わない方がいいと思います。

プロならば勉強すればよいのですけれど……。

>「VB6しか知らないからVB6にしよう」という会社が沢山あるからです。

若いうちは腹立つかもしれませんけどね。
リスクテイクして若者を育てても逃げられるからな~。

会社としては、リスクを取るか取らないかの違いです。
会社にリスクを取らせたければ、リスクが如何に低いかを見せる必要があります。

リスクを取れば儲かるなら私はとっくに大金持ちです。

saki1208

saki1208です。

生島さん、酔ってます?
17時じゃそんなことはないですね。(w)

>>「VB6しか知らないからVB6にしよう」という会社が沢山あるからです。
>若いうちは腹立つかもしれませんけどね。
もう若くはないですが、腹は立ちますよ。

一時的に楽なだけで、将来的には暗いかなぁと...

他の誰も太刀打ちできないほどの経験とか、頭のよさとか、センスとか
そういった物があればKKDでなんとかなる部分も多いでしょうけど、そん
な人は一握りですよね。
それなりに年のいった決定権のある人が上記のような判断をしてしまうと
当に若い人達の可能性までつぶしてしまうんじゃないでしょうか。

saki1208

ああっ!!

脱字が...

×当に若い人達
○本当に若い人達

>MSがVB6のサポート切れを言い出すほどアホやとしたら、
>.Netは同じように危うくって信用ならんということになるし、
>逆に、もし.Netが信頼して使えるなら、
>VB6も使って大丈夫ってことになるわけや。

うっ! カウンターパンチ!

これこそMS戦略の見えざるセキュリティホール。

まぁ、酔って書いてますけどね(笑)
校正が入るので、1、2日遅れです。

> 本当に若い人達の可能性までつぶしてしまうんじゃないでしょうか。

つぶれる可能性もあるかもしれません。
でもね、新しい技術にチャレンジさせて火を噴いて「ブラックだ~」って逃げる人もいるのです。

どっちが正しいとも、間違っているとも言えません。
逃げ出すタイプにはリスクのない方が良かったでしょうし、先に行きたいタイプにはチャレンジする仕事が良かったでしょう。

運不運はあるけれど、与えられたポジションと周りをちゃんと見ながらがんばっていた人は開ける可能性が高い業界だと思います。

がんばるだけでも駄目で、がんばらないのももちろん駄目ですね。

toanna

はじめまして
いつも楽しく読ませていただいています。

ボクは生島さんがSQLにたどり着いたのと似たような経緯で
精神面(ユーザー心理とシステムとのバランス感)へのこだわりに
たどり着きました。

もっと地理的に近ければ
お酒を交わしながら、とことん類似点と相違点について
照らし合わせてみたいものです。

結局、本当にユーザーのためになるのであれば、
BASICでもアセンブラでも構わないと考えています(現在の本文はJava)。

反対に、VB6しかできなかったとしても
それを使って完璧にユーザ要望に応えられるのであれば
まったく問題がない。。とも考えています。

まあ、そこまで頑張れる方であれば
渋々違うもので開発することになったとしても
根性でユーザに満足していただけるものは作れるでしょうね。

toannaさん、ども。

ユーザ心理は大事にはしているつもりですけど、技術者心理まで手が回らないのが目下の悩みです。
本当は100%分かっているのですけどね……。

渋々、RPGに手を出したことはあって根性でがんばったけれど、ユーザに満足してもらえたかは、自信がない(笑)

インドリ

若者が逃げていくという発想が日本的過ぎます。
人は流動するものです。
人を会社に固定しようという発想から抜けない限り日本は多分駄目でしょう。
そんな中、経営をなさっている生島さんは凄いと何時も思っています。
色々あると思いますが頑張ってください。

KOUICHI

大変参考になりました。
次から次へと、どこが便利になったわけでもない新しいソフトが出てきて、
そのたびにやれVBを買い替えろパソコンを買い替えろとわめくオタク社員に
辟易していた所です。

小生が自宅で使っているパソコンはまだウィンドウズ98ですが、
小生のような初心者が使う分には全く問題なくつかえております。
弊社のような小さな会社ならば、当然費用対効果を考えろと
常々申して居るのですが、オタク社員ほど二言目には「サポートが」
「セキュリティが」と申します。
買ったばかりならそういう心配も必要でしょうが、
もう10年以上も問題なく動いているシステムを、です。
お前は業者の手先かと。

今後も興味深いお話を期待しております。

KOUICHIさん、ども。

> 大変参考になりました。

ということは、KOUICHIさんに叱られる社員さんに恨まれるってことですね。
いや、恨まれてもまったく平気なのですけど(笑)

小さな会社であれば、ウィルス対策ソフトが入っていれば十分です。
これすらケチるのはかなり危険ですけどね。

VB6にセキュリティホールがあって、それを破るのに1人月でできる技術者は少ないですから(笑)そのコストと犯罪者になるリスクを払っても、得られるものは直接的な「金」ではなく情報です。その情報を「金」に換えるのに更にコストがかかりますから。

私も儲けたいのですけれど、マッチポンプは良くないですね。

> 若者が逃げていくという発想が日本的過ぎます。

アメリカでは、社内教育などしないし、社内教育をするときには何年間は同業他社に逃げないという契約を結びます。
ストリッパーになったアイドルじゃないけれど、コストを掛けてライバルを育てるなんて馬鹿げた話はないのです。

アメリカで会社として新しいことにチャレンジするときには、ごっそり経験者に入れ替えます。

未経験者はインターンとして、ただでも良いから経験を積ませてほしい。ってのが当たり前なのです。

日本で、会社と社員、どちらが悪いとは言いませんけどね、教育しろ、流出は当たり前では、矛盾してますよ。

インドリ

全てはお客様のためです。
職業訓練をしないで成り立つほどシステム開発は簡単ですか?
新卒信仰しているのですから、お客様の事を考えれば鍛えるしか方法はありません。
職業訓練はしない、新卒信仰はする、会社に人を縛り付けたい、中途採用はあまりしない、鍛錬はしない、知識が無い人程出生する、技術よりも肩書きを重視する、実力を評価しない・・・こんなことをしている日本社会が不合理すぎるのだと思います。
一体何をしたいのでしょうか?
何をしたいのかはっきりする事から始めないとならないと思います。
あと私の意見を捻じ曲げた人のお陰で誤解されているようですが、
私が教育といっているのは実践訓練および技術交流です。
学校のお勉強とは違います。

実践訓練の話ですよ、OJTも立派な教育ですし。

今は中途採用は少ないでしょうが、流出するのは他に行くところがあるわけで、弊社に流れてくる履歴書で30代なら平均して3社前後の経験がある人がほとんどです。
ハケンの会社が多かったですが2年前なんて取り合いでした。

何をもって縛り付けたいというかは分かりませんが、いついなくなるか分からない人に大きな仕事を任せるわけにはいきませんし、そんな人が話す方針に耳を貸す人もいないでしょう。
能力が低くても我慢した人が出世するし、おいしい仕事を持っていくかもしれません。

アメリカでは明確に契約に盛り込みますけれど、日本のビジネスでは大半は暗黙の不文律よって進みます。

会社対会社でも契約書は取り交わすけれど、問題が起きたときに契約書に行く前に仁義があります。

日本が不合理と思うのは契約書に頼りすぎで、不文律をちゃんと理解したら不合理ではなく合理的です。
不合理なら、こんな小さな国が世界第二位の経済力はもてません。

ですから、若い人が契約を振りかざし、不合理だと言ってもまず勝てないですよ。

まぁ、わたしも不合理な不文律と戦ってはいるのですけどね。

oumi

麻雀の決め打ちは「ロマン」ですよ(藁

職業訓練はしない
:ながーい時間をかけて訓練するので、しないように見えるだけじゃないかな
ってうか大企業ほどしてますけどね訓練。
新卒信仰はする
:新卒採用しないと日本経済に影響が出るってことじゃないかな。
会社に人を縛り付けたい
:良い人は残っていてほしいよね
 (残業の話じゃないだろうね・・・)
中途採用はあまりしない
:比較的変なのが多い、即戦力に足る実力の持ち主が少ないってのが本音だな
鍛錬はしない
:鍛練って自分でするものだな
知識が無い人程出生する
:知識より知恵のある人を出世させたいな、なぜなら、知恵=知識*スキル*目的 という公式に当てはまると思うんだ。
技術よりも肩書きを重視する
:肩書き以外に客観的に何かを判断する基準はあるかな?無いのでは?特に初対面であればあるほどそうだよね
実力を評価しない:
実力ってのは本人が思うほど無い物だね実際。つまり、期待されている力はもっと高いとこにある、なんてことが結構あるね。
実力を何だととらえるかで、受け取り方も変わっちゃうね。

こんなことをしている日本社会が不合理すぎるのだと思います。
合理とはどういうことになるんだろう?
インドリさん何が言いたいのか真意が伝わりにくいね。

日本以外で仕事したことあるのかどうかわかりませんが、私の知る限りでは、とんでもないおべんちゃら世界ですね「米」は・・BOSS神
その点日本の企業は、能力主義で良いと思いますよ。

ベンチャーは・・・わかりません(^^;


というか、このコメント話の流れから思いっきりずれてるかな・・・
(まぁ燃えろ~~ってことで・・・)

mayo

初めてコメントさせて頂きます。
コメントの盛り上がりに便乗です(笑)

セキュリティの話しではないのかもしれませんが
私なりの意見です。

私しは新しいもの大好き人間なので
.NETに関してはベータ版から始めてました。
ベータ版で作成したソースが.NETFrameWorkの仕様大幅変更により
全てがパーになった時は某会社に殺意も覚えたものです。

それはさておき、会社で初めて.NETで機関システムの移行を行ったのですが
上層部のVB6への変更要求はすさまじいものでした。
なんせ、正式版が出た瞬間に開発言語として提案したものですから。

・実績がない
・判例がない
・セキュリティは大丈夫なのか?
・開発要員がいない

数々の問題を挙げられ、それを全てクリアして
やっとVB.NETでの提案を行えました。

ここで私が言いたいのは、新旧問わず全ての言語には問題があり
また、解決策は存在します。

新しい言語は実績がないので不安、古い言語はサポート切れが心配などです。

それらをクリアするのが我々のミッションであり
そのおかげで対価をいただけています。

新しい言語を覚えるのはとてもいいことだとは思いますが
本当にその言語をきっちりと理解して扱える事が大事だと思います。

ちなみに現在の開発主流言語はFlex!次はアンドロイドかな?

インドリ

VB6を新規開発で使用する会社に向上心があると思いますか?
VB6の採用理由として、「だって動くもの」しかないのであれば、
要するに「この程度でもいいだろう」とお客様を嘗めているのです。
何度も言っていますが、どんな言語でも原理的に殆どのものは作れます。
だからといって、その様なお客様を嘗めた態度を「法律では禁止されていない」として、
とり続けるのは如何なものかと言っているわけです。
よりよいものを「より早く」「より安く」売るのが商売です。


ちなみに、VB6は非オブジェクト指向(継承がない)なのですが、それでもVB.NETと生産性が変らないといえるのでしょうか?
何故オブジェクト指向があるのかをよく考えていただきたいものです。
保守性を言い訳にする人をよく見かけますが、保守性がいいのは非オブジェクト指向言語とオブジェクト指向言語のどちらなのでしょうか?

インドリ

結局のところ、この問題はSQLを採用しないといっている不合理な人々と同じ問題だと思います。
彼らの本音を言えば、怠けて売り続けたいのでしょう。

九種九牌ってやったことのないロマンチストです(笑)
日本はなかなか合理的な国だと思うのもロマンチスト故なのかもしれません。

mayo

インドリさん、VB6はオブジェクト指向言語ですよ。

http://homepage1.nifty.com/CavalierLab/lab/vb/clsmdl/index.html

また、オブジェクト指向は結局のところ
構造体の派生でしかないので
それでどれだけ生産性が上がるのかも疑問の所ですね。

VB6か、.Netかについては次に書きました。

弊社は.Netは2003からですが、これは大はずれでかなりむかついています。

2005、2008は、まぁ使えるかな。

mayo

.NET2002はもっと悲惨でしたよ(笑)

インドリ

生島さんがよく「炎上してほしい」と言って居ましたので細切れにかつ反抗的にコメントしました。
※物事は一面的な見方では捉えられないということは承知していますし、実のところ私はVB6も大好きです。もともとVB使いですしね。

実は私もロマンチストです。
SQLの問題、COBOLerの問題、VBerの問題・・・などが理論的に解決される事を願っています。
でも本音を言えば完全解決は無理でしょうね。
言語開発者たちはよく「古い言語に固執し続ける人の問題」を述べています。
「日本は・・・」って書きましたが、実はどこの国でもその点は同じです。
商売には倫理に反する事を行い楽して儲ける方法が常に存在します。
それと戦い続けるのが技術者と経営者の宿命だと言えるのかもしれません。
念のために言っておきますが、とはいっても悲観的にこの件を捉える必要は無いと思います。
私は「VB6を新規開発で・・・」という会社を説得した事が何度もあります。
其の多くは重役たちが知らないのが問題であって、理性的に説得すれば大概の人は納得します。
其の時一番反抗するのは、VB6しか知らない怠け続けている技術者達だったりします。
経営者もエンドユーザーもメリットがあれば何言語でもいいのです。

インドリ

VB6は完全オブジェクト指向言語ではなくて、【オブジェクト指向風言語】だというのは有名な事実です。
無理やり出来るという点はどの言語でも同じですから完全なオブジェクト指向言語だとはいえません。
2002それほど使えなかったのですか?
私は発売と同時にC#とVB.NETを修得して有効活用していました。

> .NET2002はもっと悲惨でしたよ(笑)

でしょう。

バージョンが4つぐらい進んで、そろそろ検討しようか?でちょうど良いぐらいなのです。弊社は、商売上、「新しいものが大好き」というお客様にも合わるというスタンスでやってますが何か得したかというと、何もない。

しっかり古い技術で体力つけて、不具合も対処策も出尽くしてから手をつける方がビジネスとしては圧倒的に正しい。

インドリ

えっと、2002の何がいけないのですか?
私はリフレクションがあるだけでも生産性が桁違いに上がると思います。

mayo

>無理やり出来るという点はどの言語でも同じですから
>完全なオブジェクト指向言語だとはいえません。
これは正しいので、反論は致しません。
「オブジェクト指向での開発は一応できますよ」
の方が正しかったですね。
まあVB6でクラスを使用するなんてやりませんが・・

>2002それほど使えなかったのですか?
>私は発売と同時にC#とVB.NETを修得して有効活用していました。
IDEの重さと使いにくさはなかったですね。メモ帳で開発してました。
あと実行時のメモリ管理も結構ずさんでした。よくIISが落ちてました。

ところで.NETの出だしのうりの
。「JavaがWrite once, run anywhereなら、.NetはWrite once, run anywhere By Any Languageだ」
はどこにいったんだ・・・
Pascal言語で.NETを遊びで開発してたのも懐かしい

mayo

>えっと、2002の何がいけないのですか?
>私はリフレクションがあるだけでも生産性が桁違いに上がると思います。

何がいけないというのではなく、その後の2003の時に大幅に機能が
上がったというほうが正しいのかな?

バージョンアップするは費用がかかるとは、お客に言えず・・・・

インドリ

この話題盛り上がりますね。
生島さんはネタ選びが上手いです。


mayo さんへ
懐かしい、それはありましたね。
それに加えて、ASP.NETのエディタがもう無茶苦茶で(笑)
私はメモ帳で出来ればあんまり気にしません。
有効な機能だけを選んで使っていました。


>Pascal言語で.NETを遊びで開発してたのも懐かしい
おお、Delphi.NET使ったのですか!羨ましい。


>「JavaがWrite once, run anywhereなら、.NetはWrite once, run anywhere By Any Languageだ」
はどこにいったんだ・・・

気持ち分かります。広告は気にしちゃ駄目です。


mayoさんへ
なるほど、そうでしたか。
費用が上がるのですか?
うーん、それならばお客様にいえません。
人件費が削減できて逆に安くなると思ったのですが、現実は違うようですね。

oumi

>Pascal言語で.NETを遊びで開発してたのも懐かしい

Delphiですか!!Delphiですか~!!ハァハァ
また2万円台で売ってくれないかなー


>ところで.NETの出だしのうりの
>「JavaがWrite once, run anywhereなら、.NetはWrite once, run >anywhere By Any Languageだ」
>はどこにいったんだ・・・

It is there now. 1.0 1.1 Excluding.
英語あってるかな・・

mayo

>Delphiですか!!Delphiですか~!!ハァハァ
>また2万円台で売ってくれないかなー

みなさんすいません。
単純なPascalなんですよー
お遊び言語のままどっかに消えていきました(笑)

saki1208

saki1208です。

すごい。昼間にめちゃめちゃレスがのびてますね。
私の作業場所は、基本的にネットできないので。
# 社内全域でできない訳ではありませんが...

2002出荷開始当時は、MS系ではないものすごくマイナーなツール
(言語ですらない)をターゲットに仕事をしていましたから、浦島太郎
になるのがいやで、自分でMSDNに入って、2002ゲットしました。
それまでは、継承なんて使ったことがなく、概念だけは何となく理解
していたつもりでしたが、実際にいろんなソースを見たり、書いたり
して目からウロコだったのを思い出します。
# 仕事では、今でもVB6どっぷりですよ。
# (あまり前向きな理由ではない。反対はしましたが、却下されました。)
# .NETの案件もありますけど...

生島さんの会社で作られているようですけど、今はサードパティーの
コンポーネントを排除しようと働きかけています。
# しょうがない場合もありますが、VB6時代になれた物を使いたがり
# ますけど使ってみると別物です。
# いろんな物をコロコロ変えるので毎回苦労する。
# せめて自社パッケージには、自前のを用意しようよー。

saki1208

また、脱字が。

×生島さんの会社で作られているようですけど、今はサードパティーの
○生島さんの会社でも作られているようですけど、今はサードパティーの

コメントがつくのは……。
ちょっと煽りすぎなのかと反省。

プログラマのひでみさんに、チャチャ入れようと思ったけど、危険を感じてやめます。まぁ、ひでみさんの感覚で言えば、わたしもプログラマですがね。

> 生島さんの会社でも作られているようですけど、今はサードパティーの
> コンポーネントを排除しようと働きかけています。

まぁ、確かに苦労させられたし、スプレッド?に腹たったので作ったわけで、売ってもいいかなと思ってリリースしたわけで……、今、苦労させてるかもね……。

私も商売なので、弊社のコンポーネントについても書いていきますので、また、よろしくお願いいたします。

インドリ

>コメントがつくのは……。
ちょっと煽りすぎなのかと反省。

済みません。喜んでくれると思って私も刺激的に書きすぎました。

「炎上してほしい」じゃなくって、「炎上しても議論がしたい」です。


あくまでも議論がしたいのであって、炎上は目的ではないです。

JULY

VB6 のランタイムのサポート期限が来た後で、本当に Microsoft が問題を修正すると思いますか?

本当に、「パッチを作ることも、配布するコストも、MSにとっては微々たるもの」と思われますか? ご自身の会社で作られたソフトで、5 年以上、放置されたソフトあって、そこに、「バグがあるらしい」という話が来たときに、本当に自分のバグが動かを調べ、修正し、配布する、というのを、「潜在的な顧客を失うかもしれない」という理由で無償で対応しますか?

対応コストが Microsoft にとって微々たるものだろう、と言われていますが、逆に Microsoft にしてみれば VB6 の不具合に対応しないことで失う顧客は微々たるものではないですか? VB6 に不具合にがにっちにもさっちもいかない状態になって、他に移行せざるを得なくなっても、そのうち、何割かは .net 環境に行こうする、と高を括ることもできるし、実際、移行せざるを得ないとしたら、.net に移行するのが多いのでは? だとすれば、Microsoft が本当に対応しない方が確率が高いのでは?

個人的には、何らかの理由で VB6 が最適と思えば、それはそれでよいと思いますが、VB6 に対するリスク評価が、「とは言っても、対応するだろう、MS は」だったら、甘い気がします。前の「十分枯れているんだから、現実に問題は無いんじゃない」という方が説得力があります。

サポート切れの話ですから、IDEの話をしているつもりです。

マイクロソフトはラインタイムのサポートを2017年まではやると言ってるのですけれど、

VB6 1999年発売
.NET 2002年発売

現在2009年

2017年サポート切れ。

少なくとも、これまでの.NETの歴史(7年)よりも長い8年の猶予があるわけです。
それ以上、先のことを考えるのであれば何でも同じでしょう。

私は神ではないので8年後のことは何とも言えません。

JULY

> サポート切れの話ですから、IDEの話をしているつもりです。

じゃぁ、なおさら、「問題があったら、サポート切れても MS が直すだろう」という話を持ち出すまでもないですよね。

私が解せないのは、なんで「そうは言っても、MS はパッチを出すだろう」という話をしたのか、という点です。ランタイムが 2017 年まで、という話は前のエントリで読んで分かっています。VB6 で作ったプログラムに関して、VB6 のランタイムに含まれる深刻な問題があった場合は、まだ8年先までサポートされているから、収めたプログラムのサポート、という面ではまだ大丈夫、ということですよね。

まぁ、IDE 側のサポートが切れているとなると、ランタイムの問題ではなく、実は VB6 のコンパイラ自体に問題があったとか、あるいは、自分の書いたコードに問題があったときに、それを直そうと思ったら、もう VB6 が動く OS が乗ったマシンが無い、といったことが無いように気をつける、ということはあると思うのですが、それと「サポートが切れたといっても直すだろう」という主張は無関係だと思います。

で、本当に IDE 側に問題があった場合、私は Microsoft が直すとは思いません。この点は、生島さんとは意見が違っていて、その理由は先のコメントで書いたとおり、Microsoft にとって、VB6 から .Net に移行しないユーザは、十分に無視できるほど小さいだろう、と思うからです。

> もう VB6 が動く OS が乗ったマシンが無い、といったことが無いように
> 気をつける、ということはあると思うのですが、それと「サポートが切れた
> といっても直すだろう」という主張は無関係だと思います。

これはいくらなんでも、MSにいう問題じゃないでしょう。
個別の問題じゃないですか。

> その理由は先のコメントで書いたとおり、Microsoft にとって、VB6
> から .Net に移行しないユーザは、十分に無視できるほど小さいだろう、
> と思うからです。

元記事にあったように
http://el.jibun.atmarkit.co.jp/ahf/2009/05/windows7xp-mode.html
http://www.infoq.com/jp/news/2009/02/vb6
http://geekswithblogs.net/iupdateable/archive/2009/02/17/results-of-the-visual-basic-survey-part-1-language-and.aspx

イギリスでは87.62%がVB6を使っているそうですけれどね。

コメントを投稿する