大規模なASPクラシックコードベースがありますが、ASP.NETで将来の開発を行うことを検討しています(そして、将来的には、私たちが持っているもの全体に移植する可能性があります)。言語の自然な選択はVB(既存のコードはVBScript)のようですが、私は急いでいますか?長期的には、言語の選択は違いを生むのでしょうか?
15 に答える
時間がかかるのは.Net(フレームワーク)の学習です。
特定の言語は問題ではなく、好みの問題です。私は通常、両方の言語でいくつかの play プロジェクトを試してみることをお勧めします (そして、あなたの好みに合う他の言語も)、どちらがより使いやすいか (またはより成功するか!) を判断してください。
まず第一に、それのために何かを移植しないでください。それが正常に機能していて、移植から得られるものがほとんどない場合は、そのままにして、VBScriptでバグ修正と小さな拡張を続けてください。物事を移動する十分な理由がある場合は、その時点でそれを実行しますが、移植を前もって行う場合は、その場でそれを学ぶよりも、最初に.NetバージョンのWebアプリケーションに精通する方がはるかに優れています。「クリーンな」環境でPostBackやViewStateなどの新しい概念を学ぶ方がはるかに簡単です。
また、移植するときに古い考え方から抜け出す余地も少なくなります(必要に応じて再設計するのではなく、古い考え方で機能させるだけです)。
最終的には、長期的には大きな違いはありません。ほとんどの場合、知覚的で個人的な好みの問題ですが、慣れていないため、新しいことを学んでいるという事実が強調されるため、最初にC#を学ぶことをお勧めします。うまくいけば、これは、大部分が手続き型のVB(script)の方法ではなく、自然な.Netの方法で物事を行うことを学ぶのに役立つでしょう。あなたは学ぶだけでなく、学ぶことをやめようとしています。いくつかのキーワードに精通していると、不利になります。
いくつかの投稿全体に他の利点を反映し、私自身のいくつかを追加します。
- 将来の潜在的な収益:C#開発者は、知覚の違いのため、一般的にVB.Net開発者よりも価値があります。
- そこにあるオープンソースの.NetコードのほとんどはC#であり、その品質は一般的に(常にではありませんが)高くなる傾向があります。
- インターネット上には、VB.Netよりも多くのQ&Aと例があります。私がこれを投稿した時点では、C#でタグ付けされた1572の投稿があり、ここStackOverFlowではVB.Netで185の投稿しかありません。
- C#OOキーワードはかなり標準的であり、他のOO言語コードを読みやすくします。VB.Netがオフになり、理由もなく名前が変更されます。たとえば、抽象(C#、C ++、Javaなど)とMustInherit(VB.Netのみ)などです。
- 両方の言語に慣れると、VB.NetコードよりもC#コードを視覚的に解析する方がはるかに簡単であることが一般的に認められています。
- C#のユーザーに「見下されて」しまうことはなく、VB.Netの人々をからかうのに役立ちます(必要に応じて、文化は存在します...)
最初にC#でそれを学んだら、その逆よりもVB.Netにロールオーバーする方がはるかに簡単なはずです。あなた自身の未来に投資してください。
ASP3 から ASP.NET に移行したとき、最終的に VB.NET の代わりに C# を使用することにしました。
私は何年もの間 Basics (MS-BAsic、GW-Basic、Quick-Basic、Visual Basic、VBScript) を書きましたが、VB6 や VBScript で行っていたように常に何かを書こうとするため、VB.NET を使用するのは非常に困難でした。
したがって、C# は私にとってより良い選択でした。習慣の重さによって遅くなることはありません。
また、C# は (現時点では) 新しい言語でしたが、新しい VB.NET キーワードは彼に Cobol の匂いを与えました :)
また、プロジェクト内で組み合わせることができることも忘れないでください。
重要なことは、.NET を学ぶことです。C# や VB は構文だけを変更するため、特定の言語ではありません。.NET 環境でのそれらの背後にあるロジックは同じです。
VB 開発者と C# 開発者の間に文化の違いがあると言う人もいますが、機能の違いはほとんどないため、最も快適な構文の言語を選択します。もう 1 つの選択肢は、両方を学ぶことです。私の意見では、.net に移行する際の最大の障害は、巨大な .net フレームワーク、つまり実際の言語構文をかなり早く習得できるようになることです。
C#またはVB.NETの両方で同じことを行うことができます。結局、どちらに移植するのが簡単かを選択することになるでしょう。
ASPをASP.NETに直接(IMHO)移植するべきではないことに注意してください。.NETの機能の多くが失われるため、とにかくかなりの量の書き換えが含まれます。ですから、冗長性が少なく、書き込みと読み取りが簡単だと思うので、C#を使用します。
私は両方で開発していますが、C# が私の好みです。
ほとんどのことは両方の言語で行うことができます。私は確かに、vb プロジェクトを C# で書き直すつもりはありません。
ただし、C# の場合: 一般に、新しい言語機能はまず最初に c# に導入されます。たとえば、linq のラムダ式です。c# でコードを記述できます。C# を使用すると、よりきちんとする必要があります。構文と関数名を JavaScript に変換する .net コミュニティには、vb 開発者に対するスノッブがあります。
.NET は、フレームワークと基本クラス ライブラリに関するものです。VB または C# - Chris が述べたように、実際には構文上の違いがあります。
VBScript から VB.NET への移行はより自然です。新しい構文を学習してから、Framework と BCL に移行できます。それらに慣れたら、C# 構文も同様に学習できます。バイリンガルであることは、常に良いです。
2sontek: C# でサポートされていない VB の機能もあります。開発者の 80% (またはそれ以上) は機能の 20% しか使用しておらず、違いはごくわずかです。20% には収まりません。
大きな違いはありませんが、いくつかの違いがあります(ほとんどの場合構文上の違いがあります)。古いサイトがVBScriptの場合は、おそらくVB.NETを使用する方が簡単です。
Visual BasicでサポートされていないC#3.5の機能がいくつかありますが、言語の選択は常にチームの好みであり、皆さんが最も生産的だと感じるものです。
.net または c# 問題をどのように解決するか、そして何があなたをより創造的にするかはあなた次第です。しかし、私はすぐに .net が消去され、C# が ASP で使用できる唯一の言語になると思います。.net の概念の学習を開始し、言語を asp.net mvc の C# に変更した後、将来さらに役立つので、C# に移行する必要があることをお勧めします。
経験上、現在のスキルセットを使用するのが最も簡単です。これが vb6/vbscript などにある場合は、まず vb.net を調べます。また、プロジェクトのタイムスケールと納期によっても異なります。vb.net を使用すると、速度が速くなります。時間があれば、新しい牧草地を探すときに開発市場でより強力な足場を提供するためだけに、c# を真剣に検討します。
C# について調べることもできます。
VB.Net と C# はどちらも Web アプリケーションを作成するのに最適ですが、実際にはニーズによって異なります。
たとえば、C# はイベントに最適で、VB.Net は XML に最適です。
あなたの開発者がより快適に感じるものを選んでください。
私は最近、テクノロジーに基づいた英国の平均賃金を掲載しているサイトを見ていました。今はリンクを見つけることができません (典型的です!) が、C# の平均賃金は VB.NET の平均賃金よりも約 5,000 ポンド高かったことを覚えています。
両方を学ぶつもりがない場合 (そして、それらの唯一の違いは構文であるため、習得しない理由はまったくありません)、私は C# を選びます。