僕が初めて学ぶのに VB.NET をおすすめする理由は主に3つあります。
- 分かりやすい文法(学びやすさ)
- 小規模から大規模まで多様に作れる(汎用性)
- 派生言語が多い(将来性)
1つずつ順番に説明しますが、良い事ばかり書いても仕方ないので、はっきり言うとVB.NETは衰退傾向にあります。
「おいおい、勧めといてそりゃないよ!」って声が聞こえてきそうですが順番に説明します(笑
VB.NETは衰退している
VB.NETの人気は全盛期に比べて衰退傾向にあります。
同じ技術を使っている C# の存在や、人工知能の需要増加に伴ったPythonの人気急上昇。さらにVB.NETの提供元であるMicrosoftはUWP(ユニバーサルWindowsプラットフォーム)を押しており、今後、VB.NETの新機能の更新は鈍化することが推測されます。
ただ、大切なのは良い面も悪い面も正しく理解しておくことだと思います。そのため、VB.NETがおかれている現状は次のリンク先に詳細をまとめておきます。参考にしてください。
リンク作成中….
それでも初めてはVB.NETがおすすめ
よくVB.NETがおすすめされる理由として、「環境構築の容易さ」であったり、「無料で使える」、「オブジェクト指向を採用している」などが挙げられています。
ただ、僕は「学びやすさ」「汎用性」「将来性」を強く押します。
分かりやすい文法(学びやすさ)
一番おすすめする理由は、処理内容がすべて書いていることです。これに限ります。
プログラムを書くのは時間がかかります。そのため、多くの言語は簡潔に書くため自明のルールを多数持っています。この自明のルールは初心者の大敵です。
具体例を挙げると、次のプログラムを作るとします。
歳が9歳以下か20歳以上である場合は「10代ではない」と表示する
これを仮に Java で書く場合、次になります。
if((age < 10) || (age >= 20)){
System.out.println("10代ではない");
}
これを書くには「”または(or)” は “||” で表現する」という自明のルールを知っていなければなりません。
しかし、VB.NETでは以下のように書きます。
If age < 10 Or age >= 20 Then
Console.WriteLine("10代ではない")
End If
このように、いきなり初心者にプログラムを見せてもなんとなく何をしているかわかります。
もし(If)、歳(age)が10より小さく、または(Or)、歳(age)が20以上、の条件が当てはまるとき(Then)、コンソール(Console)に書く(WriteLine)、”10代ではない”と、この条件の処理は終わり(End If)
である。
全く知らない人でも読めばわかります。これは初めて学ぶ人には非常にありがたい話です。
今人気の Python なんて自明のルールだらけですし、他の言語を学ぶときはギャップが激しく、苦労すると思います。(貶す意図は全くない、どちらかといえば好きな言語)
ただ、処理内容が全て書いているのも一長一短です。当然、書く文字数が多くなるので開発に時間がかかり生産性が落ちます。
最初にお伝えした通り、大切なのは良い面と悪い面を正しく理解していることです。初心者にとって大切なのは生産性よりも学びやすさです。VB.NET でしっかり基礎を学んで、別の言語が必要になったら学んだらいいんです。
小規模から大規模まで多様に作れる(汎用性)
次におすすめする理由は、VB.NETならパソコンでできることは大体出来るという点です。
正確に言うとWebサイトを作るなど、特定の言語が必要なことはできませんが、ちょっとした計算を自動化するツールから、企業が使うようなシステムも開発することができます。これは、一つの言語で多くの経験を積めるという点でとても時間単価が良いと考えられます。
教育用のプログラムなどを初めての言語として進めないのはここが大きな理由です。プログラムをブロックでつなぎ合わせてふてこい猫を動かす某教育用プログラムなどありますが、それを学んでも、結局、大規模なシステムを作ろうとするとまた一から別の言語を学ばないといけません。
それであれば、実用的で実際に現場でも使われており学びやすい言語を最初から選択するべきだと考えています。
派生言語が多い(将来性)
最後は、VB.NETから派生するプログラム言語が多くあり、将来的にも役に立つことです。
将来性と書きましたが、この将来性とは VB.NET を指しているのではなくあなたの将来性です。僕は VB.NETを学ぶことで以下のプロゴラム言語も同時に学べていると考えてます。
- C#
- VBA
VB.NETの正式名称は Visual Basic といい、2000年頃から .Net Framework がプラットフォームとして採用されました。この .Net Framework は C# でも採用されています。
また、VBA は Visual Basic for Applications の略で、主にExcel、Access、Word、PowerPoint、Outlook など、Office製品の機能をカスタマイズしたり拡張したりすることができます。
それぞれ、詳しく説明します。
C#
C# は先ほど伝えた通り、VB.NET と同じプラットフォームを使っています。そのため、基本的な構造が同じで出来ることもほぼ同じです。
正直、僕は C# を殆ど書いたことありませんが、難なく読めますし、書けと言われれば明日からでも書けると思っています。(こんなこと言ったら多方面から怒られてしまうかもしれませんが(笑 )
実際に僕の経験として、 VB.NET を書きている時に詰まってしまい、ネットで調べてもいい文献が見つからない場合があります。そんな時はC#で文献を探します。C# は人気が高く人口が多いので文献も多いです。その C# の文献を参考にして、そのまま VB.NET に適用する事が多々あります。
それだけ似ているということです。
初心者向けの VB.NET を学ぶことで、人気の C# も学べるなんてお得ですよね。
VBA
VBA は非常に歴史のある言語で、名前の通り Visual Basic の派生言語です。
VBA はかなり歴史の長い言語で Microsoft も目の上のたんこぶ状態で早く撲滅したがってる様子です。ただ、今でもまだまだ現役で、特に Excel は老舗の企業に深く根付いているため、なかなかサポートを終了できないのが現状です。
実際に、取引先から「Excel と VBA で作ったツールがあるんだけど、作った人が退職して維持できない。何とかできない?」という相談をよく受けます。
更に、最近はデータアナリストやサイエンティストが重宝されだしましたが、データを分析する上で手っ取り早く VBA を使ったりすることもあるそうです。
VB.NET を学ぶことで、VBA に近い知識を身に着けるられるなんてお得ですよね。
まとめ
正直に言って、VB.NET は廃れていく言語ではあります。よくて別の言語に統合するでしょう。別の記事でお伝えした通り、言語人口も減少傾向ですし、言語別の平均年収も高いほうではありません。
ただ、大切なのは良い面と悪い面を正しく理解することです。
VB.NET は「学びやすさ」があり、「汎用性」や「将来性」があります。
そのため、初心者がプログラムを学ぶ上で、時間効率が非常に良いです。
しっかり基礎を学んで、必要な時に必要なプログラム言語を学べばいいんです。
コメント