PHP 与 .NET:你应该学习哪一个?
如果你是一个软件开发人员,世界上没有足够的时间来学习你可能需要工作的每一种技术,语言和平台,或者找到更好的工作; 在某些时候,你将不得不决定在什么方向扩展你的知识库。
你的选择将对你的以后的生活产生巨大的影响。 如果你花费太多时间学习一种处于过时的技术,它可能使未来的就业成为一个有问题的事情。 幸运的是,有很多技术将继续增长,并证明在未来几年对世界有用,看你如何选择?
考虑到所有这一切,让我们来看看PHP和.NET,两个享受广泛支持的编程平台。 PHP是一种通用的脚本语言,许多人依赖于Web开发(目前有数亿个网站利用它),而.NET是由Microsoft构建的用于Windows相关Web工作的框架。 虽然当然有可能学习两个平台的复杂性,是否有值得解决的比另一个?
首先,有什么区别?
如上所述,PHP是一种开源的编程语言,主要用于开发基于Web的应用程序。有几个工具,允许你使用它来编写桌面应用程序,但大多数PHP编写的应用程序在Web服务器上运行(大多数使用PHP的人似乎都使用Apache服务器,虽然有些工具在Microsoft IIS上)。
PHP是一种语言,但.NET是一个包含几种不同技术的整个平台。有两种主要的语言,你可以使用.NET来创建桌面或Web应用程序:VB.NET和C#(其他存在,当然,但那些是主要的两个)。与PHP一样,.NET需要一个Web服务器(特别是Microsoft IIS)来创建Web应用程序(它还需要ASP.NET,这是一个.NET更广泛的平台的一部分)。
虽然.NET内置到Microsoft Windows中,您可以使用免费和开放源代码产品Mono在Linux上运行.NET桌面应用程序。 PHP有时在Linux上预安装,如果没有,它快速和容易安装。但是要使用这两个平台开发,你需要一些免费的工具:对于.NET,你需要一个免费的Visual Studio Express产品从微软;对于PHP,有几个选项 - 一个流行的选择是Eclipse。
有学习PHP或.NET的好处。你应该学习两个?如果你刚接触编程,我认为答案是否定的:在你的职业生涯的早期阶段,你需要把精力集中在一件事情上,这将转化为高薪工作。如果你试图去广泛,你会伸展自己瘦,不掌握任何东西。 (我在职业生涯早期犯了这个错误,并开始伤害我的工作前景 - 雇主往往不信任简历,列出数百种技术,申请人应该是一个专家。)选择一件事,并且伟大的!
我应该选择什么?
那么你选哪个? 当然,您可以查看您所在区域的PHP和.NET入门级作业,并使用该数据来影响您的决策。 但是这项研究只会告诉你今天:五年后呢?
以下是一些问题,可帮助您完成可能的决策:
首先,你想在Windows上创建桌面应用程序吗?然后.NET是一个伟大的方式去。
在Windows上的Web应用程序?.NET是一个很好的选择。然而,你可以在Windows上做PHP(虽然它可能在Linux上更常用)。
你爱Linux,想专注于它吗?然后去PHP,如果你在做Web开发。虽然.NET可以在Linux上借助Mono运行,但它更适合于桌面而不是Web。
那么,在Linux上的桌面应用程序呢?在这种情况下,您可能希望远离PHP和.NET,并学习其他语言和技术,例如C ++和Gtk +,或者可能是wxWidgets与诸如C ++或Python之类的语言结合使用。虽然Mono在Linux上工作,但在入门级工作机会方面有点过于狭窄。
如果你想做Windows和Linux呢?这离开了我之前说的聚焦;关注一个或另一个在你的职业生涯早期。后来,你可以开始考虑诸如跨平台开发之类的事情。但是,为了学习一项新技术和登陆入门级工作,请保持专注 - 一个警告:如果你要去Web开发,不要忘记客户端。也学习一些JavaScript。 (你以后会感谢我。)
如果你打算去Windows,你选择C#还是VB.NET?这是一个潜在的有争议的问题,在任何一方有强烈的意见。要记住的一件事是,他们实际上是非常相似的语言下面,只是与不同的语法;你可以完成同样的事情。但作为一个有25年经验的软件开发人员,我可能建议你去C#路线。我的原因是什么事情变得有争议:VB.NET有一点点耻辱附加它作为一个“业余”的语言(即使不是)。因此,高级程序员在启动新项目时更有可能选择C#。
结论
随着你的编程知识变得越来越先进,你会发现更容易拾起新的语言。 今天的许多流行语言共享类似的语法,它源自于原始的C编程语言。 (我在谈论C ++,Java,C#,PHP和JavaScript。)这使得以后很容易学习,多种语言可能确实在你的未来 - 但现在,保持专注。 最重要的是:开心!