黑基Web安全攻防班
安基网 首页 资讯 职场族 查看内容

编程语言很难学,那么新手该选什么语言呢?

2018-3-25 17:47| 投稿: xiaotiger |来自: 互联网


免责声明:本站系公益性非盈利IT技术普及网,本文由投稿者转载自互联网的公开文章,文末均已注明出处,其内容和图片版权归原网站或作者所有,文中所述不代表本站观点,若有无意侵权或转载不当之处请从网站右下角联系我们处理,谢谢合作!

摘要: 编程是技术革新的核心,当今的编程语言有能力让开发者不再束缚他们的潜力来构建未来的技术。如果你是一名具有前瞻性的开发者或者想成为一名具有前瞻能力的开发者,那么,是时候开始学习编程了,至少在最好的编程语言 ...

编程是技术革新的核心,当今的编程语言有能力让开发者不再束缚他们的潜力来构建未来的技术。

如果你是一名具有前瞻性的开发者或者想成为一名具有前瞻能力的开发者,那么,是时候开始学习编程了,至少在最好的编程语言中选择一个,类似 go,Python, Swift, JavaScript, C#, C, Ruby, PHP, Haskell, Java, C++ 或者 Rust。

对于想从事移动程序开发的人来说,学习Swift、C#、Java和JavaScript是很好的选择。对于web开发来说,在CSS、 HTML、JavaScript这样的前端技术支持下,使用PHP、Java、Python和Ruby on Rails是第一选择。

如果你对硬件编程感兴趣,想要开发嵌入式系统、操作系统、通信设备或者复杂的游戏引擎等,那么选择的语言依然是C/C++(主要是C)。

语言排名不分前后。

1、Go

在并发方面, goroutine 和 channel 机制提供了语言层面的轻量级和毫无拖泥带水的并发机制;在性能方面,提供了不弱于 Java 的性能(性能是个伪命题),而内存资源消耗方面,相对 Java 和其它动态语言,具备明显的优势;在语法方面,具备了部分 Python 的动态语言特性,在对象初始化、构造和序列化等方面提供了无比简洁的表述方式,而这些处理代码可能占据 10%~50% 的代码分量,尤其对于处理数据、配置和协议映射场景,相比 C、C++、Java 在此方面拙笨,这就是动态语言为何让人着迷的关键所在。

2、Java

Java 的成功得益于 10 年前以 Unix 系统为主的 SUN、IBM、Oracle 等大型公司的强力支持,这让它在企业应用领域和 WEB 应用方面站稳了脚跟,而随后的 10 年,前半段是靠 x86+Linux 带来的革命继续保持份额,后半段就是 android 的成功让其在步履蹒跚停止脚步后再一次登顶。这二十年,Java 积累了最强大的生态系统,你可以说它无所不包, 毋庸置疑,Java 早已是一艘航空母舰的巨大身躯,这足已证明它的地位与成功。但是其语言、库、框架和生态系统的复杂度,对技术人员构筑其巨大的障碍,比如并发方面,语言的 synchronized 机制,标准库的 notify 再到 concurrent,也可以通过 Apache+tomcat 容器来获得 HTTP 等的并,而基于 JVM 技术,Java 又与其它语言具有良好的互操作性,比如并发方面的 Scala,可以选择其 Actor 或者也是用 Scala 写的 Akka,当然业界选择 nginx 等混搭的场景更多,太多太多…

3、C/C++

对于 C/C++ 程序员,有一个振奋人心的大事件,C++11 发布,相比 C++98,无论在语言和标准库上,都是一个极大飞跃,C++ 之父说它是一门新语言,这不为过,同时如此多的顶尖 C++ 高手对 boost 库的贡献(其实已是实时上的标准库),在网络、并发编程和一些基本应用方面,已经提供了性能最优秀的库,极大地降低了此方面的开发难度。传统的 C++ 程序员,尽快过渡到 C++11 上,这需要编译环境的更新,而编译环境更新又会带来内存检测和性能分析方面最强力的工具,CC++ 曾经最广受诟病的内存越界与泄露问题,在 gcc5.2 版本和 Intel 最新 CPU 面前,内存飞踩可以被抓在第一现场,同时Intel提供的 vtune 性能分析工具,是个人目前为止所遇到的最强大工具。

4、python

python作为一门高级编程语言,它的诞生虽然很偶然,但是它得到程序员的喜爱却是必然之路。

Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易懂,初学者学Python,不但入门容易,而且将来深入下去,可以编写那些非常非常复杂的程序。

作为初学python的科班出身的小白,python非常简单,非常适合人类阅读。阅读一个良好的Python程序就感觉像是在读英语一样,尽管这个英语的要求非常严格!Python的这种伪代码本质是它最大的优点之一。它使你能够专注于解决问题而不是去搞明白语言本身。

5、PHP

在web领域,php确实是一门开箱即可使用的语言,不管是在linux下还是windows下,搭建web开发环境都非常便利,特别是对于新手来说。按照示例就可以很快写出一个demo,是非常方便简单的,不需要OO,不需要额外的模板引擎。如果需要额外的库,把文件直接加到目录里面,使用include或者require进来即可。这对于新来,或者开发微型项目,都无疑是最方便的。四个字:开箱即用。

而开发大型项目,那么OO,模板引擎,包管理器,各类框架也是应有尽有。可以说,php也是能够满足企业级的开发需求。

6、C#

由于C#是后生,所以其很多语法都是其它语言的改进。作为一个商业产品,C++用户是C#的首要目标,所以它充分照顾到了C++用户的习惯。从整体看,C#语法比java更优雅。这里java粉丝就可能会站出来,说java也有好的地方----对的,我没说C#在任何地方都优于java,请不要举出局部上的反例----C#和java比较的文章比比皆是,这里就不再重复了。

C#团队在设计语法时充分照顾到了常见的业务需求,而不是单纯的技术层面上的纸上谈兵。于是,C#支持事件、委托、属性、Linq等一系列让业务开发更简单的功能。

C#的IDE功能非常强大,C#的文档有包含中文的多国语言,C#所需要的运行平台在用户量极大的windows上内置。一切的一切都在向我们诉说,C#有一个强大的爹。同时也说明,C#不仅仅是一个语言,更是一个极具匠心的产品。所以,用户可以享受到这个产品的各个功能----包括售后服务。

总结

根据枪的造型来看,还是C/C++比较好看。所以,人生苦短,我用python。


小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里 注册账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职加薪!



免责声明:本站系公益性非盈利IT技术普及网,本文由投稿者转载自互联网的公开文章,文末均已注明出处,其内容和图片版权归原网站或作者所有,文中所述不代表本站观点,若有无意侵权或转载不当之处请从网站右下角联系我们处理,谢谢合作!


鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论

最新

返回顶部