午後にVB6よりも.NETのメリットを賞賛する午後があります。[閉まっている]


9

私の会社は小さな20人のエンジニアリング会社です。ここでのすべてのアプリケーションプログラミングは、過去25年以上ここで働いている間にアセンブリのバックグラウンドからVB6を学んだ2人と私自身によってVB6で行われます。

その結果、VB6コードは、文字列型変数、ひどく長い関数、数百のパブリックグローバル変数(一部は引数を渡して値を返すよりも優先される)のような恐ろしいコードのにおいがし、単一のオブジェクトではありませんクラス。リファクタリングはほとんど不可能であり、変更を行うにはコード全体を掘り下げる必要があり、一度作成すると、常にさらに多くの穴が生じるようです。

私の上司は、VB6が死んだテクノロジであることを認識しており、新しい開発のために.NETに移行する私の嘆願に耳を傾けてくれます。私たちは.NETに移行していますが、彼はそれを新しいWindows OSとの互換性を保つための方法であり、より優れたコードを記述する方法ではないと考えています。

単なる最新性を超えて、VB6に対する.NET言語の利点を最もよく説明するにはどうすればよいですか?.NETへの移行適切な移行であるだけでなく、現在のプログラミングパラダイムも変化し始める必要あることを最も強調するために何を言えるでしょうか。上司がVisual Basic .NETがVB6のように見えることを聞くとすぐに、彼の最初の本能は単に古いコードの混乱を.NETに変換することであることを知っています。

私はそれは、単一の午後に変更誰の考え方に不可能になることを理解し、どのように私は、少なくとも強く型付けされた変数、カスタムクラス、およびprivateフィールドのようなものではないというのが私の組立-携えた上司を説得することができ、総時間の無駄とエネルギー?


4
VB6開発者は死にかけている品種ですか?.NET開発者とVB6開発者を募集してみてください。それぞれに対して取得するCVの数を確認します。2つの古いタイマーがリタイアすると、代替品(または、非常に高価な代替品)がなくなるという事実は、議論の余地があるはずです。
2012年

3
私は彼が得ることを理解しようとしますが、ほとんどの自己尊重の開発者は死んだ言語をオフにとどまります。MSがVB6のサポートをいつ停止するかはわかりませんが、リソースを見つけることがますます難しくなっています(製品のサポート終了は、VB6に対するもう1つの議論です)。これがどれだけ役立つかはわかりませんが、勉強してみてください。msdn.microsoft.com / en - us / vstudio / ms788708.aspx- 2008年はIDEの寿命の終わりでした。そして、私は「カスタムサポート契約がマイクロソフトから利用できるかもしれない」のが好きです
Oded

1
@Oded残念ながら、これらの議論のどれも、VB.NETがVB6、グローバルパブリック変数などすべての代用として使用できるという事実に実際には触れていません。.NETを使用した後、実際にその利点のすべてをどのように使用しますか?
dlras2

1
例で説明するかもしれません。VB .NETで解決する方がはるかに簡単なVB6で解決するのが難しい問題はありますか?コードベースからいくつかの例を選んで、VB6の機能では不可能な.NETのより良いコードにそれらをクリーンアップする方法を示していただけますか?
FrustratedWithFormsDesigner 2012年

1
@DanRasmussen VB.NETはVB6プロジェクトを正しくインポートできませんでした(まだ修正されていますか?)。アップグレードするのは簡単ではありません。

回答:


16

短い回答:質問に挙げた基準に基づいて、彼らの考えを変えるためにできることは何もありません。これらはすべて技術的なものです。これは宗教的な議論に相当します。失敗への最短ルートは、この場合の中で、観客の視点からではない引数を提示することで、ビジネスの所有者。

より長い答え:ビジネスの変化は、1つのことと1つのことだけによって推進されます。収益に利益をもたらします。

...どうすれば、アセンブリ型のボスに、強く型付けされた変数、カスタムクラス、プライベートフィールドなどが時間とエネルギーの無駄ではないことを少なくとも納得させることができますか?

彼らは時間とエネルギーの浪費することはできませんが、より重要なのは、彼らはあなたの費用のお金を!あなたの提案が長期にわたってかなりの利益につながることを定量的に示すことができなければなりません。ただ、主張クリーンなコードは、ある「より良い」ので、十分ではありませんきれいなコードを生成するために多くの方法がかかります。

最新のテクノロジーを使用するコストがにどのようにつながるかを明確にできる場合($COST + X) * TIME = $PROFITXは自明でない正数であり、TIME比較的短い場合、説得力のあるシナリオを作成できます。

ROIを計算する別の方法(投資収益率)

ROI式

このROI / RORが、特に長期間にわたって取るに足らない数値である場合、ビジネスケースもあまりありません。

あなたの会社は実際にどのようにお金を稼いでいますか?

コードは何行ですか?何人の顧客?このソフトウェアは年間どのくらいの収益を生み出しますか?収益は主に契約をサポートしていますか?または新しいライセンス?ターゲット市場は安定していますか?拡大する?契約?このソフトウェアは、他のはるかに収益性の高い製品の損失リーダーですか?

良いビジネスマンがテーブルに置いたお金を無視するのは難しい。

もちろん、あなたは難しい事実であなたの声明をバックアップすることができなければなりません。つまり、学術的な技術的な詳細だけでなく、実際のビジネスを本当に理解していることを示す実数を提供できる必要があります。

プロだけでなく

また、詳細なリスク分析と、これらのリスクが発生した$COST場合のリスクを提供することは、現実的なケースがあり、VB6を実行する必要がないことを非難するだけではないことを説得するのに役立ちます。

古い犬に新しいトリックを教える

...現在のプログラミングパラダイムも変化し始めた場合にのみ、.NETへの移行が良い動きであることを最も強調するために何を言えるでしょうか。...

プログラミングパラダイムを変更するかしないか、新しいテクノロジをできるだけ慣用的にすることは、リスク分析の一部です。しかし、これは、そもそも変更を加えることで大きな利益が得られることを証明した後でのみ、別の議論になります。

ビジネスパーソンは、技術者がテクニカルケースを聞く傾向があるのと同じように、ビジネスケースを聞く傾向があります。あなたの質問のあなたのすべてのケースはあなたの状況で最高に学術的な技術的メリットを支持しています。

予測

私はここでいくつかの仮定を行っていますVB6アプリ、小さな店、少数の開発者、2人の古い開発者/ビジネスオーナーがニッチマーケットアプリを指している可能性があります。「混乱」のコードベースです。これにより、小規模なユーザーベースも年々劇的に増加していないと私は信じるようになり、次の結論に至ります。

このアプリケーションを使用して技術的な方向性を変更することには、本当に説得力のあるビジネス上の理由はないでしょう。そして、VB.Netへの移植は時間の無駄でもあります。混乱するだけですが、今ではそれ以上のことがあり、開発チームの2/3は新しいことを学ぶことに専念していません。幸運を。


2
残念ながら、少なくとも短期的および中期的には、書き換えのコスト(およびトレーニングと専門知識の獲得)は通常、アプリを実行し続けるコストを上回ります。ただし、長期的には、リライト自体を$ next_new_technologyでリライトする必要があるというリスクがあります。
gbjbaanb

4
+1宗教論争。OPが.NETで働きたい場合、彼は.NETショップで仕事を得るべきです。この会社でVB6から.NETに移行することは大きなリスクを伴う大きなリスクだと思います。
カークブロードハースト

「リファクタリングはほとんど不可能であり、変更にはコードの徹底的な調査が必要であり、一度行った後は常により多くの穴が生じるように思われる」と彼の側をざっと見た以外は、すばらしい答えです。ビジネスにとって価値のある最後の声明です。ビジネスコストを大幅に高くせずにコードベースを変更できないことを示すことは、あなたの答えに沿った非常に有効な議論です。もちろん、そのステートメントをバックアップするためにメトリックはそこにある必要があります。

@ GlenH7個人的に私はあなたが引用するものは劇的な個人的意見とレトリックである思います。なぜならOPは彼らの個人的意見と議題を押すこと以外には何の懸念も示さないからです。私の答えは、彼らが変化の本当の原動力が何であるかを考慮しておらず、それが彼らが考えたり考慮したものではないことを提案することです。私のポイントは、「高価」である長期にわたる増分変更は、彼らが同じ期間にわたって提案しているものより常に安くなるでしょう。彼らが言ったこと、そしてあなたが受け入れられないビジネスの議論を引用することをする

声明にある程度のレトリックがあったことに同意した。一部のショップ(そして、いや、一般的には小さなショップではありません)は、失敗/脱出を追跡しているため、バグに関するハードメトリックを生成することが可能です。OTOH、ほとんどのショップはその情報を保持しておらず、それはビジネスプレゼンテーションではあまり考慮されない「直感」にすぎません。

11

私の主力製品がVB6で記述され、3人が保守している顧客がいます。彼らにウェブサービスを呼んでほしいパートナーがいたので、私は彼らを助けるようになりました。これはVB6から実行するのは非常に困難ですが、VB.NETまたはC#から簡単に実行できるため、VB6からCOMコンポーネントのように見える.NETアセンブリを記述して、呼び出しできるようにしました。次に、誰かにWebサービスを提供する必要がありました。次に、小さなスタンドアロンユーティリティを作成したかったため、一部の情報を暗号化および復号化し、XMLを解析する必要がありました。私はそれらを.NETで書くように教えました。フラグシップ製品がまったく縮小していないにもかかわらず、過去5年ほどの間、ますます多くのコードが.NETに含まれています。彼らが嫌うその一部があります-すべてのアプリはそれらを持っています-そして彼らがどこでこれらの部分を引き出して(今は縮小の始まり)、それらをサービスまたは個別のユーティリティに入れています。残りはholus-bolusから.NETに変換されます。うん、悪い変数名とすべて-私の心には、現在のプログラミングパラダイムを変更しなくても、.NETに移行することには多くの利点があります。これらには以下が含まれます:

  • 最新のVisual Studioを、より優れた検索、より優れたIntellisense、より高速なビルドなどで使用できます。
  • まともなソース管理システム(つまり、VSSではない)と統合できます。
  • .NETに無料で付属するライブラリがあり、暗号化、XML解析、画像処理などの短い作業を行うことができます。
  • .NETプロジェクトの国際化とローカリゼーションははるかに簡単です(これは、フランス語版と英語版の両方を必要とするカナダの大規模な顧客からの問い合わせにより、クライアントのバランスが低下した可能性があります)
  • 安価な制御ライブラリ(Telerik、Infragistics、ComponentOneなど)は、ほぼ無料で驚くべき機能を提供します
  • VB6を教えるために費やされた時間に価値がない状況では、夏の学生のように一時的な助けを見つけるのがはるかに簡単になります(新しいフルタイムの採用に教えることについてどう感じているかについては議論しないでください)。
  • アプリケーションはUAC対応であるため、Vista、7、および8でより適切に実行されます。XP互換モードで実行する必要はありません。

もっとありますが、確かにそれで十分ですか?

プログラミングのパラダイム、強い型付け、コンパイラはあなたの友人、カプセル化はあなたの友人などの問題は私の心にあります(そして私はこれらの意見を得るために報酬を得ます)。あなたがその丘で死にたいのなら先に進んでください、しかしあなたはVB6のコピーを開いたまま死にます。


最後の段落はどういう意味ですか?
dlras2

6
「.NETへの移行」と「すべてのプログラムを別の方法でみましょう」は異なります。2つ目の方法と戦うことを選択した場合、成功する可能性が低いだけでなく、それらをに移行することはほぼ確実です。そのアプローチでネット。私は彼らが別の方法でプログラムする必要があることに同意します。しかし、.NETへの最良の道は、「今あるものと同じですが、チョコレートソースと振りかける」です。
ケイトグレゴリー

私はそれらを異なる問題として扱うことの利点を理解していますが、問題は、個別の問題としてそれらに取り組むことで、単に。
dlras2 2012年

1
より良いアプリケーション(より優れたコントロール、より多くの機能)といくつかのより良いプロセス(ソースコントロールに潜入し、作業項目の追跡さえも可能)が開発者と一緒になり、異なる方法で実行できること、そして変更の痛みに価値があることがわかりますこれらの大きな利点のために。彼らはあなたが彼らに尋ねる次のことをもっと受け入れるようになります。また、「メンテナンス不可能」はバイナリではありません。コードは素晴らしいものではありませんが、状況は以前より良くなります。あなたも信頼性を証明しているでしょう。
ケイトグレゴリー

8

数年前にVB6プロジェクト(会社のカスタムERPシステム)から始めましたが、徐々に.NETに移行しています。それはどこか半ば終わりました。

まず第一に、VB6からVB.Netへの変換はほとんど常に悪い考えです(そして私はそれについて多くの研究をしました)。違いが多すぎます。また、上司がVB.Netが「VB6のようなもの」であると考えている場合、彼は完全に誤解されており、見通しをすばやく変更する必要があります。

私の戦略は、2つのコードベースを別々に維持して別々に維持し、モジュール全体をVB6から.NETにゆっくりと移動することでしたが、そのモジュールに大きな変化が生じようとしているときにのみ、コストの一部を償却することができました。それでも、書き換えは非常に高価でリスクの大きい作業です。

既存のVB6を新しい.NETコードと統合する方法は2つあります(おそらく、非常に長い間そうするので、そのアイデアに慣れる方がよいでしょう)。最初に行った方法は、.NETで小さなモジュールの作成を開始し、メインのVB6アプリケーションに.NET実行可能ファイルを起動させて、いくつかのコマンドラインパラメーターを渡すことでした。これは機能しましたが、.NETの起動時間は4〜10秒であるため、この方法で実行できることには制限があります。

ひどく痛み始めたら、私は戦略を反転させ、このCodeProject記事のメソッドを使用して、メインの.NETアプリケーションに既存のVB6フォームを表示しました。この経路をたどると、.NET起動時間のヒットが1回だけ発生し、展開にClickOnceを使用することができました。これは、以前のVB6アプリの展開方法と比較すると、天の恵みでした。

とは言っても、.NETでVB6より優れている点は次のとおりです。

  • より良い永続化フレームワーク(NHibernate、EntityFramework、Linq2Sqlなど)
  • LINQ(これがいかに重要であるかを十分に強調することはできません)
  • ジェネリック!
  • ラムダ構文(「中央の穴」のような問題全体をエレガントに解決します)
  • 同様にActionFuncタイプ
  • リフレクション(めったに使用しないものですが、使用すると非常に大きくなります)
  • はるかに優れた単体テストのサポート(もちろん、他の従業員に単体テストを説得することはできないと思いますが、そうすべきです)
  • ReSharper(およびその他のリファクタリング/プロファイリングツール)(MZ-Toolsよりも10倍優れています)
  • ClickOnceおよび/またはセットアップ/インストーラープロジェクト
  • Windowsサービスプロジェクト
  • 真のオブジェクト指向サポート(VB6はCOMに基づいており、この分野では本当に悪いです。)
  • 静的型付け
  • XMLサポートに組み込まれている
  • WPFとWindowsフォーム(VB6のコントロールは非常に制限があります)
  • WCF
  • オンラインでより多くのサンプルコード
  • 例外(VB6のエラー処理は比較すると絶対にひどい)
  • Visual Studioのソース管理統合
  • Decimal タイプ(VB6にはCDecが含まれていても、最初のクラスの10進数タイプはありませんでした)
  • ファーストクラスのサポート Guid
  • 64ビット整数のファーストクラスサポート
  • より良いコレクションライブラリ
  • ReportViewer
  • マルチスレッド、タスク並列ライブラリ

VB6の欠点:

  • あなたはそれのパフォーマンスに気づくでしょう。心配するだけでは十分ではないかもしれませんが、私を信じてください。結局のところ、VB6はネイティブコードにコンパイルされます。

公平を期すために、VB6 / .NETを組み合わせたソリューションを維持することの欠点をいくつか示します。

  • 2つのデータアクセスレイヤーの維持(VB6アプリに実際に1つあると想定)
  • サービスやフォームなどを公開するための追加の配線。片側から反対側へ
  • 頭の中で2倍の複雑さ/アーキテクチャを維持する

さて、ほのめかしたように、.NETでコードの記述を開始する場合は、アーキテクチャをゼロから再構築する必要があります。ただし、大企業のフレームワークに共通する多くのパターンや慣習がそこから生まれる.NETやJavaプログラミングの世界に精通している人はいません。

フォーム上のボタンのドラッグに慣れている人を連れてダブルクリックし、クリックイベントハンドラーにSQL文字列を直接書き込んで、それがうまく機能している場合、SOLIDをフォローすることの利点を理解させるのは非常に困難です。設計原則。一方、弾丸をかじって、すべての新しいコードが自動化された単体テストで90%以上カバーされると決めた場合、SOLID設計原則を採用しない限り、それを行うのは本当に難しいことをすぐに理解できます。

だから、あなたは状況の現実を本当に厳しく見る必要がある。私の場合、私が唯一のプログラマーであり、私はそれを経験したことがなくても、すべての新しいコードを単体テストするように決定しました。これが最初の1週間、最初の1か月でも達成できることにマイナスの影響を与えたことを十分に強調することはできません。それでも私はそれをする決意であり、私は経営陣から賛同を得ました。ほとんどの人はその贅沢を持っていません。今、私はたくさんのコードを持っており、ほとんど問題なく主要なリファクタリングを終えました。

現実的には、単体テストを実行することはありません。つまり、依存関係の注入などの原則をチームメートに正当化することは困難です。.NETを、アーキテクチャ上のメリット以外のメリットで販売する必要があります。あなたはより良いライブラリサポートとより良いツールに集中しなければなりません。それが共鳴する唯一のものです。私はあなたのデモで以下を提案します:

  • Windowsフォームプロジェクトを作成します(WPFとxamlから離れてください-あまりにも驚異的です)
  • SQLデータベース(一部のテストデータベース)に接続する
  • Linq2SqlまたはEntityFrameworkを使用して、そのデータモデルを生成する
  • エンティティのリストを返すメソッドを持つリポジトリクラスを作成します
  • linqを使用してそのメソッドでクエリを記述し、インテリセンスを指摘する
  • linqがエンティティだけでなくすべてのオブジェクトで機能することを指摘する
  • データベースを変更してモデルを再生成すると、コンパイルエラーが発生することを示す
  • DataGridViewメインウィンドウにをドロップします
  • リポジトリのエンティティをグリッドに入力して、データバインディングを示します。
  • VB6よりもはるかに優れているグリッドのすべてのクールな要素を指摘する
  • .rdlcファイルを作成する(レポート)
  • Visual Studio内で簡単なレポートを作成する
  • ウィンドウにレポートビューアをドロップし、レポートビューア内にレポートを表示します
  • (明らかに、あなたはReportViewerをインストールする必要があり、これすべてを最初に練習しました)
  • 「真ん中の穴」の問題を考え出してからAction、パラメーターとしてを取るメソッドを作成することで、問題を解決する方法を示します。最初に別のメソッドをパラメーターとして渡し、次にラムダ構文を使用して匿名のデリゲートを渡すことで心を吹き飛ばします
  • List<T>およびDictionary<T1,T2>コレクションクラスを使用してジェネリックスを示し、厳密に型指定されたコードを作成する方法を示します(VB6にも同様のものがありますが、動的に型指定されます)
  • 書くforeachあきれるほど、使用する並列だループSystem.Diagnostics.Stopwatchの中にループを変更するには、タスク並列ライブラリーを使用し、その後、それを実行するのにかかる時間を測定するためにParallel.Foreachループし、マルチコアのマシンにしていると仮定すると、スピードアップを発揮します。
  • グローバル例外ハンドラーを追加する機能を示します(これはVB6では実行できないことです)

それが私がすることです。


1

これはあなたが政治家の帽子ではなく政治家の帽子をかぶる必要がある状況だと私には思えます。あなたはあなたの議論をどのように行うか、そしてあなたの聴衆を怒らせないように非常に注意しなければなりません。VBの欠点を示すのではなく、.NETの利点を必ず示すようにしてください。VBの不利な点を議論すると、同僚は決定を守る必要があり、多大な投資をしている言語は悪い言語であることを認めざるを得なくなります。代わりに、.NETへの移行により、利用可能なツールがどのように強化され、生活が楽になるかを説明します。

この議論をする私の理想的な方法は、誰もが常に不満を言っているタスクまたはコードを見つけ、.NETを使用して修正することです。私は特にVBに精通していませんが、VBの代わりに.NETを使用することでおそらくより簡単になる、迷惑なタスクの短いリストを次に示します。

  • 文字列操作
  • XML解析
  • 検索/マッチング/正規表現
  • 数学(通常、新しい言語にはより高速で包括的な数学ライブラリがあります)
  • GUI構築/設計

上記のタスクのいずれか、または通常作業しているプロジェクトに固有のその他のタスクを選択し、それらに座って、問題をすばやく簡単に処理するコードを最初から作成します。実際にコードを書くプロセスを示すことは、VSの新しいバージョンがテーブルにもたらすツールを見せびらかし、.NETへの移行が誰の生活も難しくしないという証拠を提供します。

これに入ると、あなたは絶対に、積極的にあなたは宿題をしなければなりません。ツールがどのように機能するのかわからない場合や、コードが正しく機能しない場合は、ツールを勝手に使うことはできません。


0

あなたが最初に言うことは、VB6はもはやMicrosoftによってサポートされていないということです。あなたはそれを実行し続けることができますが、あなたは長期的にはそのオプションがゼロであることを理解する必要があります。VB6アプリがWindows8で実行されるのか、またはIDE自体がWin8で実行されるのかもわかりません。

したがって、最終的には実質的に書き換えを行う必要があります。その場合は、後でではなく今すぐ開始して、使用する新しい技術を見つけるための十分な時間を与えることができます(VB.NETは理想的に聞こえますが、これは、iPadでアプリを動作させるなど、より最先端のものを試す機会です。

短期的には、既存のアプリが消費するCOMコンポーネントとして新しいセクションを導入することで、問題を少し緩和できます。できれば、これらのコンポーネントは、避けられない書き換えが発生しても残っているはずです。

.NETがVB6よりも優れている理由について、技術的な議論に悩むことはありません。あなたはそこで敗北する議論に直面するでしょう、技術それ自体は決して問題を解決しません。その技術をどのように適用するかはあなた次第であり、VB6アプリがあなたのために何かを解決している場合、答える議論はありません。メンテナンスのしやすさ、または経験豊富なスタッフの可用性について話すことができますが、それを行うと、既存のスタッフは新しい技術に関する専門知識がなく、トレーニングを受ける必要があることを認め、十分な時間をかけて十分に理解します。それと。また、多くの書き換えが元のプロジェクトよりも悪い結果になる場合があることについての質問に答える必要があります(専門知識の欠如が原因である場合もありますが、大規模な設計が原因である場合もあります)。


MSは、Windows 8を実行するIntel / AMD PCでVB6をサポートします。VB6でMetroアプリを作成することはできませんが、.NETでMetroアプリを作成することもできません。どちらもWin32上に構築されています。少なくともC#for .NETで記述されたコードは、WinRTに移植してMetroで実行する方が簡単だと思われますが、単純な再構築であるとは限りません。
Scott Whitlock、

0

彼に「古い車の新車vs車」の類比を与えてください:

はい、どちらもおそらく目的地にたどり着くでしょう。ただし、新車にはクランクは必要ありません。チョークは必要ありません。マップは必要ありません。急ブレーキをかけたときにホイールがロックせず、最後に自動車事故から離れる可能性が高くなります。。

  • VB6はレガシーであり、その新しいCOBOL
  • .NETにはより優れたフレームワークがあります
  • .NETには優れたツールがあります
  • .NETの方がパフォーマンスが良い
  • .NETの方がIDEが優れている
  • .NETの言語サポートが向上
  • .NETにはより優れた機能があります
  • .NETのコミュニティサポートが向上

7
車の類推は通常失敗し、あなたの違いは何も変わりません。事はあること古い車がいることを新しい車は、それがために支払われているしません!あなたがタクシーを所有していて、それが支払われて、それが維持するのにかかるコストよりも多くのお金を稼いでいるなら、そして新しい車はあなたがビジネスパーソンとして持っているよりもあなた

2
@JarrodRoberson有償ですが、ブレーキが頻繁にかかる傾向があり、しばらくすると機能しなくなります。車のアナロジーは素晴らしいです。:)
スティーブン・ジュリス

1
実際、この車のアナロジーは良いです。OPの上司はそのタクシーを続けています、そしてOPは彼に近づく間それを考慮するべきです。完全な切り替えは1日で発生することはありませんが、少しずつ移動し、断片を次々に変更していきましょう。
ZJR 2012年

1
事業主はこれを自分で設計し、組み立てました。それは何回もそれ自体にお金を払っている可能性が高く、メンテナンスはすべての意図と目的のために無料であり、開発者は3人しかいないので、彼はその1人です。私が言ったように、車のアナロジーはひどいです、これは特にそうであり、あなたは完全にベースビジネスから離れているあなたの議論で私に私の主張をします。新しいソフトウェアを使用すると、せいぜい一年で彼の利益がはるかに少なくなり、最悪の場合、不確定な期間、彼はお金を失うことになります。

2
アプリケーションには、物理的なアイテムのように摩耗や涙のエントロピーはありません。また、自然に萎縮することもないため、摩耗することも、使用に関係なく壊れることもないため、物理的なアイテムとの類似性、特に自動車は適用されません。アプリケーションは、それが目的を果たす限り、永久に実行されます。私が数年前に働いていたある会社には、ドアのカードリーダーを制御する古いMS-DOSベースのマシンがありました。ソフトウェアが使い古されるという考えはばかげています。とはいえ、優れたライフエンド計画は常に実施されている必要があります。その計画がソフトウェアを決して書き直さない場合でも。

0

まず、質問を変更する必要があると思います(stackexchangeではなく、社内で)。.NETがVB6より優れているのはそれほど多くの理由ではありませんが、VB6がサポートされなくなったため、次に進むべき時が来ました。その「新しい」テクノロジーはどうあるべきかを関係者に尋ねますか?多分それは。ネットではありません。

あなたは新しい技術に移行する必要があるようにしかし、それは聞こえる場所でいくつかの良いプログラミングパターンと実践を取得します。2番目の部分への答えははるかに難しいです。おそらく、アプリケーションの小さなセクションでそれを実行し、その価値があることを証明する必要があります。


-1

上司に2つの欲しい広告を書くように伝えます。C#開発者向け。VB6エキスパート用。それらをそこに置きなさい。結果を比較します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.