我们常常在讨论选择什么语言入门,讨论了python的优美,java的广泛,c的硬核,swift的未来……然而作为一个多年浸淫在编程的人,我想说学编程前更重要的不是讨论这些东东,而是选择好方向。
语言不重要么?当然重要,但选择一个体系更加重要。选择好一个体系意味着你可以在近后的学习中触类旁通,比如:给毒刺导弹写制导程序的人永远可能不知道什么叫JQuery,但是学习Arduino可能就是分分钟的事。
这里我们把相关的语言分类,相似度高集合在一起,因为只学习好一门语言可以说啥也做不了,建议选个方向再定什么语言。
1. 后台和电脑应用开发。
我们平时在电脑上用的WORD,游戏等,给网站支持的逻辑后台,手机应用APP的云(远端)都属于这一类。这些归一类主要共同点是,他们都负责复杂高负荷的运算的部分,能胜任这些任务的语言包括:python,java,php,c++,c#,Ruby,R,GO,Fortran。
其中C语言是变体最多的,visual C和原生C就是两种语言。R和Fortran语言主要用于科学计算,计算矩阵,进行统计分析回归,这些之类的复杂东西。Ruby和GO都是比较新的语言,网站的后台啊,一些应用程序都可以实现。java是最传统应用最广泛的语言,开发一些客户端程序网页的后端完全没有问题。Php一般只用于网页的开发,Python应用最为广泛,科学计算有很多大学的老师也要用,网页的开发应用广泛,一些桌面的程序开发稍微少一点。更接近底层的是c语言,更接近互联网和区块链的是ruby和go,目前应用更广泛的是Java,因为谷歌的推广Java还可以用来写手机端的程序, 其实以个人的看法来说,除了java在手机端的优势,python完全可以胜任上述任何语言的任何工作。在这一类语言中有一些很特殊的语言是无论学任何语言都必须学习的,比如说sql语言。因为后端程序的特殊性就涉及到一些复杂的计算,肯定是要用到数据库的知识。
2. 前端网页。
前端网页是HTML, JavaScript的天下,从JavaScript来看,它衍生出了好几种语言,其中包括typescript, NODE JS也延伸出了很多框架Jquery,Bootstrap,Angula,适合手机的VUE,等等的框架有几十种,NODE JS当然也有人把它当做成是一种后端语言, 实际上它也是可以在操作系统这个层级运行的,这种归类主要由于现在人们在网页开发中普遍把它作为一种前端的工具来使用。HTML它是一种描述性的语言,跟JavaScript并不矛盾,JavaScript是网页中的程序,html是网页描述的方式。这两种语言在网页当中都需要使用,都需要学习。前端的争议比较少的,还有必须要学习的就是json。
3. 智能设备。
智能设备是从传感器这边过来。一般来说是c语言的天下。由于一些智能设备的内存小,CPU运算简单,只能使用一些特别高效的语言,所以c语言成为当时不2的选择。但是随着一些智能设备的发展,一些小型的智能设备也可以安装Linux系统和windows系统。所以python等一些高级语言,在这一块就有了发展的余地。
4. 手机APP
这里是指安装在手机上的应用程序,并不是指手机微信里的小程序等一些,手机的网页在此归纳为前端开发。在手机APP开放中有一两种开发方式,一种是原生态开发。原生态开发是指写的程序能够被编译成手机系统直接运行的代码,安卓系统主要是使用谷歌推荐的Java,苹果系统主要是苹果推出的Swift和C。呃,另外一种就是指平台化开发, 这种开发呢,一般是借助于手机浏览器的特性,通过使用同一种语言,可以把程序部署在同时部署在苹果和安卓系统上。这样的开发一般使用JavaScript,加上一些框架。
5 微软平台
经过以上的介绍,看似Java,在手机开发后台开发方面优势明显,甚至语法相似的JavaScript都有一种天下的趋势。但是上述两种语言不要认为写法相似,其实根本是两个不相关的语言。其中还有一系列异军突起的语言,是托于微软的办公office组件, 微软的一系列VBA包括c#,对于支持微软的office,sharepoint和其他服务器程序都有无可比拟的优势,考虑到win10操作系统,在手机端和在平板电脑方面的扩展,其后面的潜力不容小视。
综上所述,编程语言Python除了在手机端表现欠佳以外,在其他各个领域可谓都是卓越不凡。Java系统基本上跨了各大平台,表现可谓中规中矩,但是略显老气。在前端只有JavaScript一枝独秀。其他编程语言要么诞生时间不长,要么在自己专有的领域里面才能发挥突出。考虑到微软平台的扩张性,我们继续对c#持续的关注。
搜索公众号xns-cn或是中文小牛书,加入牛粉的编程世界,与我们一起共同进步。
网友评论