Web开发之C#:(1)编程语言介绍

作者:陆金龙    发表时间:2016-07-20 23:51   


程序员要掌握的编程语言

以下是IEEE Spectrum 与计算机记者 Nick Diakopoulos 携手给出的编程语言人气排行榜前十名,左边一列是2015年排行榜,右边一列是2014年的排行榜。

个人观点,Web和移动开发方向的开发,需要熟练掌握以上排行中3-5门编程语言,同时还需要掌握数据语言SQL、标记语言Html、Css等。要支撑从数据库、服务端到web前端以及移动端各环节的开发,涉及的有SQL、C#、Java、JavaScript、Html等,如果涉及IOS平台开发,就还包括Object-C和Swift在内。这样看来,只会1-2门语言,是远远不够的,经验丰富的开发人员,其熟练使用的编程语言可能达到5-6门之多。

对于初学者,一个阶段以重点学习和使用一门语言为宜,以确保基础牢固。但是一旦能熟练使用一门语言的时候,就要考虑多学习和使用一门语言。程序员千万不要给自己设限,技能越多,机会才越多。

Web、移动开发编程语言

本人认为Web、移动开发中涉及的编程语言如下图所示:

其中当前比较流行的3大web技术为PHP、JSP、ASP.Net,对应的服务端编程语言分别为:PHP、Java、C#。

而移动开发则以Android和IOS两大平台为主,对应的编程语言分别为Java和Object-C及Swift。

Web技术比较

单从Web开发来看,PHP以其极致简洁和轻量,能够快速开发应用且可以简单轻松地支持高强度Web访问,在国际上LAMP(Linux Apache Mysql Php)架构已经占领了统治地位。但在客户端、移动端开发方面,PHP还是显得无能为力,PHP似乎是为web而生的。

Java在应用框架底下的架构是无与伦比的,远胜过其他任何语言,Java的框架利于大型的协同编程开发,系统易维护、可复用性较好。然而大概因为Web网站开发的特殊性,重量级的Java平台却逐渐被极致轻量的PHP边缘化了。

基于微软的Windows Server IIS SqlServer ASP/ASP.NET的架构,由于不开源、收费等因素在国际市场上并不吃香,只是因为盗版的盛行在中国占有较大的市场,随着中国在保护知识产权方面的日趋完善,免费的LAMP依旧是未来的趋势。

C#、Java、PHP语言比较

回到语言上,PHP是脚本语言,是弱类型的、面向过程,是解释执行的。相比而言,Java、C#这样编译型的强类型的面向对象的语言就要强大得多。编译型语言在开发服务工程和客户端项目上都有PHP这样的脚本语言所不可比拟的强大优势。即便是近几年PHP在Web市场占据的优势,也在很大程度上得益于这几年PHP语言对面向对象特性的增强,以及Yii、ThinkPHP等一些优秀、成熟的MVC框架的应用。

抛开Java成熟的应用框架及其开源、跨平台优势等不谈,当从语言层面比较,C#语言应该算是更胜一筹,这秉承了微软一贯的后来居上做派。C#语言借鉴了Java非常多的优点,摒弃了Java语言中不好的一些方面,同时又吸收了很多新的设计思想和理念(其中很多是Java发展很多年之后才发展起来的),做为一门新发展起来的语言,表现得更优秀也就不足为奇了。遗憾的是,碍于微软封闭、不跨平台的特点,加上微软体系缺乏成熟优秀的Web框架,C#语言所处的生态环境比之Java来说,已经被甩了好几条街,相比而言这点语言上的优势能实在发挥不出什么实质的作用。不管怎样,这不影响我们学习一门优秀的语言,况且学习C#,亦可将其好的语言特性和设计思想应用到其他语言编程上。