|
武侠小说中,各路侠客绿林好汉都是从基本功开始一招一式学起,掌握了足够多的招式后,加之勤学苦练,量变引起质变,会有一天打开任督二脉顿悟出这些招式背后的哲学逻辑,成为一代宗师。在编程的学习过程中,我们何尝不是从一招一式的函数、语法、特性等学起,掌握了一门编程语言后,再学习另一门语言就会快很多,如同拥有内功后,习得其他武功也会轻松很多。 如果编程语言是一门武功绝学,各语言分别是哪门武功绝学呢? 01汇编语言 - 易筋经 汇编语言是计算机提供给用户的最快最有效的语言,也是能够利用计算机的所有硬件特性并能够直接控制硬件的唯一语言。采用它编写的程序具有存储空间占用少、执行速度快的特点,这些是高级语言所无法取代的。通常用在最底层的程序优化,硬件操作或嵌入式编程的场合,已经很少有人直接编写汇编。 《天龙八部》中扫地僧练的就是少林派的独家秘法易筋经。扫地僧除了扫地之外,做的唯一一件事,就是参悟易筋经,几十年的修为,练就一门绝世武功,高深莫测,无坚不摧,高效,无招胜有招。
02C 语言 - 九阳神功 C 语言高效、灵活、功能丰富、表达力强、作为一门基础的底层语言与九阳神功偏内功是一致的,九阳真经着重内力,不重招法,里面阐述的其实也主要是“刚柔并济”的道理。一代武当宗师张三丰,就是以九阳内功为基础,才创制了武当一脉功夫。所以学好 C 语言,有强大的内功后,再学习其他语言就会相对轻松。
03C++ - 九阴真经
如果 C 语言是偏内功的九阳神功,那么 C++ 无异于《九阴真经》,两者都是很基础的,并且两者间有近缘,这两门掌握精通之后天下武学皆能容易掌握。 《九阴真经》偏重招式,威力强大、博大精深,包含无数神奇招术(内功、轻功、拳、掌、腿、刀法、剑法、杖法、鞭法、指爪、点穴密技、疗伤法门、闭气神功、移魂大法等等),诡秘莫测,义理艰深难学,C++ 同样包含很多内容,还在不停的延申,复杂、强大、百科全书式的语言、在大规模项目面前几乎无其他语言可及。C++ 跟《九阴真经》一样,有很多误区容易陷入,比较突出的问题就是内存泄漏,如果使用不当,很容易落得跟周芷若、欧阳锋、梅超风等一样走火入魔。
04java - 小无相功 Java 具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java 可以编写桌面应用程序、Web 应用程序、分布式系统和嵌入式系统应用程序等。 小无相功是金庸武侠小说《天龙八部》中「逍遥派」的一门内功,威力强大。只要身具此功,再知道其他武功的招式,倚仗其威力无比,可以模仿别人的绝学甚至胜于原版,没有学过此功的人很难分辨。这一特点与 Java 的分布式、解释性、可移植性、多线程、动态执行类似。 Java 体系庞大又提供很多网络技术的支持,正如小无相功为根基运行少林七十二绝技,而jvm体系又如同逍遥派体系。门下弟子众多又出类拔萃,名声显赫,博采众长,独步天下。
05 Python - 太极
Python 语言的简洁性、易读性与太极入门简单类似,但是要达到一定高度也需要长期锻炼,同样达到的效果也极高,精通后威力也巨大,可以以柔克刚,与太极一样 Python 速度慢。 06Go语言 - 北冥神功 Go 的语法接近 C 语言,但对于变量的声明有所不同。Go 支持垃圾回收功能。与 C++ 相比,Go 并不包括如枚举、异常处理、继承、泛型、断言、虚函数等功能,但增加了 切片(Slice) 型、并发、管道、垃圾回收、接口(Interface)等特性的语言级支持。 GO 语言的关键特性主要包括以下几方面:
语言容易上手,解决了并发编程和写底层应用开发效率的痛点,有 Google 这个世界一流的技术公司在后面支撑,杀手级应用 Docker 的生态圈在这几年完全爆棚。所以,Go 语言的未来是不可限量的。可能会吞食很多 C、C++、Java 的项目。 北冥神功,金庸小说《天龙八部》中「逍遥派」最高武学,练成北冥神功后,全身每处穴道皆可吸人内力,且兼容天下武功。剧毒不侵。强凶霸道,随手攻击便有莫大威力。真气护体防御大增,受到攻击时反震敌人。速度大增。这些特点与 Go 语言速度极快、性能强、效率高、先进的并发支持模型和丰富的标注库有类似的地方。
07Object-c - 独孤九剑 独孤九剑在武功体系里比较独特与 object-c 是苹果开发软件的语言类似,与 object-c 类似风清扬的独孤九剑剑法同样潇洒、优雅、进攻大于防守。
08JavaScript - 吸星大法 JavaScript的优势:
由于 Javascript 的发展非常快,Javascript推出一年半之后,国际标准就问世了。过早的标准化,Javascript 的规格还没来及调整,就固化了。设计缺陷还没有充分暴露就成了标准。例如:
吸星大法,出自金庸的武侠小说《笑傲江湖》,是日月神教教主任我行修习的武功,任我行仗以威震江湖的绝学。修炼者有任我行、令狐冲,唯一害处是有内力反噬之险。同为吸取别人内力的一流武功。给人的感觉就是北冥神功是正版,化功大法是盗版,吸星大法是删减版。 JavaScript 如同吸星大法 用好了神奇,能最简单实现目的,标准有删减的缺陷,用不好控制,还可能反噬。
09C# - 蛤蟆功 由于 C# 是后生,所以其很多语法都是其它语言的改进。从整体看,C# 语法比 java 更优雅。支持事件、委托、属性、Linq等一系列让业务开发更简单的功能。 仅能运行在Windows平台)使其渐渐被排斥于主流之外。如今偏居一隅,难以影响中原大势。 蛤蟆功,欧阳锋独创,成为南宋时期天下武林五大高手之一,号称西毒。是一门极厉害的功夫。威力足以跟降龙十八掌打成平手,精神出问题的欧阳锋和洪七公一战也能打成平手,两人内力耗尽最终死在华山上,可见蛤蟆功的威力。 与蛤蟆功一样,C# 功力深厚,刚出现时风光无限,但在 .net 庞大的类库下也显得有些臃肿,再加上仅能运行在 Windows 平台所以发展相对缓慢,出现了很多看不起 C# 的声音,如同蛤蟆功不受待见一样。 10PHP - 降龙十八掌 PHP 是在服务器端执行的脚本语言,独特的语法混合了 C、Java、Perl 以及 PHP 自创的语法。利于学习,使用广泛,专注于 Web 开发,写中小型网站后台的首选。PHP 主流框架依然基于 MVC 模式,但也在不断地创新,比如 Codelgniter 框架,性能高、速度快,适用于共享主机;Seagull 则功能更加强大,代码库的标准化和模块化更高,同时也有较多的文档提供支持。 缺点:
11侠客 - 程序员 在武侠小说中,张三丰是位武学奇才,技击之术冠绝天下。如果放到现在来看,张真人的角色很可能是个天才程序员。师从觉远大师,学习了九阳神功,如果是程序员就是精通 从语言这门偏内功的语言,对以后的发展至关重要。后来张真人又学习了很多其他武功,自创了《太和功》、《九转玄功》、《纯阳功》等内息功法,是一位编程能力很高,创新能力不可小觑的程序员。 在武侠小说中,绝顶高手,都不止会一门武功,天下之术,皆为我用,但是绝对有一门武功达到炉火纯青的地步,作为程序员不要想着集成和借鉴别人的东西,自己也需要“练武”。 代码的世界,也是江湖。对编程思想理解越透彻,内功便深厚,多掌握一门语言,便是多了一门武艺。 |
| 形象生动 |
| 好形象,新知识GET |
微信公众号
手机版