Day 3. 关於.NET後端技术

我在接触写程序後没多久(大约半年)就开始接触後端,一开始什麽都看不懂,当时公司里的前辈虽然愿意回答问题,但他偏向直接丢需求给我要我完成,因此我後来因进度落後压力太大,常常回到家後继续加班到半夜1、2点(当然没有加班费),这让我当时非常害怕自己是不是没有这方面的才能......如今回头看真的还是很佩服自己在这麽负面的情绪下撑下来了XDDD
我接触过的有Java、PHP、VB6、VB.NET、ASP Classic、C#,其中Java跟PHP因当时的IDE输Visual Studio(当时是VS2012)太多了,所以我後来都是用VS开发,因此我只针对我熟的.NET家族的来评论推荐度,给新手一点方向

程序语言

首先先介绍微软的程序语言

Visual Basic.NET

推荐度:★☆☆☆☆

简称VB.NET,请不要简称VB,会让人以为你在说VB6
通常你现在如果还有接触到VB.NET的专案,通常都是旧网站的维护案,而且应该都是WebForm的专案,虽然VB.NET不是只能写Web的後端,也能写Windows的桌面应用,但VB.NET真的慢慢衰退了,而且跟C#比起来,他的未来性真的比较......另外有人说他的写法跟C#差不多,稍微变化一下就可以,但其实在某些地方其实你会发现他们还是很不一样的,以下举例两种语言的字串阵列宣告
VB.NET :

Dim catArray As String() = New String(10) {}
Dim length As Integer = catArray.Length

C# :

string[] catArray = new string[10];
var length = catArray.Length;

两个程序的length(阵列长度)结果会不一样,C#版的会是10,但VB.NET的会是11,因为VB.NET的阵列宣告是宣告最後一个元素的索引是多少(光这个差异就会让你抓Bug抓一整天)

Visual Basic 6

推荐度:☆☆☆☆☆

简称VB6,後面的6是他的最後一个版本,不过你不用知道没关系,因为完全不推荐,只是因为上面有讲到所以才顺便介绍一下,当你遇到还有公司还在写这个,请你马上开启人力银行履历,不要浪费生命在上面了,他除了能写Windows桌面应用程序外什麽平台都跨不了,IDE还要去找非常旧版的才能使用,还在使用的公司少,学会了对履历的加分效果十分有限(PS:除非你觉得你待的公司你能一直待到退休,到你退休前都不会倒,也不会资遣你,那你就可以不用担心,你可以靠这个几乎用不到的技术吃饭吃一辈子)。

C#

推荐度:★★★★★

念做C Charp,不是C hashtag,这是笔者最常使用的程序语言,除了.NET Framework跟.NET Core,以及未来的.NET 5的新技术都会是用这语言为主流来支援(当然VB.NET也是可以,但绝对不会是主流),他也可以结合Xamarin技术开发iOS跟Andriod的APP,是跨平台能力相当优秀的语言,而且微软一直持续更新,优化C#的写法以及新增许多语法糖(方便的写法),而我们写成是最重要的就是网路上的资源,当你使用C#想解决什麽问题时,只要善用关键字大部分都找的到答案(最快的就是先去MSDN跟Stack Overflow找答案)

ASP Classic

推荐度:☆☆☆☆☆

全名Active Server Pages (ASP),也叫Classic ASP或ASP Classic,但不管叫什麽都没关系,因为也完全不推荐,当你遇到还有公司还在写这个,请你也马上开启人力银行履历,不要浪费生命在上面了,当然你如果已经脚麻了跑不动了也没关系,也许你在你的舒适圈内也过得很开心,但对於新手我是完全不推荐学这个的,程序没有前後分离、DEBUG麻烦(与C#、VB.NET比较),而且也没什麽公司还在用了(部分传产或制造业的老旧系统还是会有)。
特别提醒ASP Classic与ASP.NET是完全不一样的技术,请勿混淆。(之後会介绍两者的区别)
另外,如果你真的很不幸的接到了这类型的专案,这边还是有推荐的教学资源:
https://riptutorial.com/asp-classic

最後总结:C#>>VB.NET>>ASP Classic=VB6
下一篇我会在介绍.NET Framework、.NET Core


<<:  Leetcode 挑战 Day 02 [9. Palindrome Number]

>>:  Material UI in React [Day4] Theme (自订主题 Palette & Typography)

[Day5]PHP常量

PHP常量 可以使用 const 关键字或 define() 函数两种方法来定义一个常量。函数 de...

Day30 专案的结束以及新的开始

在 Day25 要求的功能,还剩下一个还没完成 不过实际上并没有推荐前10部影片的必要性 作为最後一...

30-19 之 Domain Layer - Repository

接下来我们要来谈谈,应该不少人常听到的『 Repository 』这个东东,目前我先将他放在 3-T...

Day 30:持续学习之流水帐未来方向

当初是同事的邀约也完赛了,以及自己在 2020 的自我挑战计画,30 天刚好也可以逼自己去产出一些东...

Day20 - 在 XState 与 Side Effect 互动吧~ action API

1. Action 与 Side Effect 昨天,我们确认了状态能被储存起来,然而我们这个开门,...