共计 4729 个字符,预计需要花费 12 分钟才能阅读完成。
学习编程与文治绝学
武侠小说中,各路侠客绿林好汉都是从基本功开始一招一式学起,把握了足够多的招式后,加之勤学苦练,质变引起量变,会有一天关上任督二脉顿悟出这些招式背地的哲学逻辑,成为一代宗师。在编程的学习过程中,咱们何尝不是从一招一式的函数、语法、个性等学起,把握了一门编程语言后,再学习另一门语言就会快很多,如同领有内功后,习得其余文治也会轻松很多。
如果编程语言是一门文治绝学,各语言别离是哪门文治绝学呢?
汇编语言
汇编语言 – 易筋经
汇编语言是计算机提供给用户的最快最无效的语言,也是可能利用计算机的所有硬件个性并可能间接管制硬件的惟一语言。采纳它编写的程序具备存储空间占用少、执行速度快的特点,这些是高级语言所无奈取代的。通常用在最底层的程序优化,硬件操作或嵌入式编程的场合,曾经很少有人间接编写汇编。
《天龙八部》中扫地僧练的就是少林派的独家秘法易筋经。扫地僧除了扫地之外,做的惟一一件事,就是参悟易筋经,几十年的修为,练就一门绝世武功,高深莫测,无坚不摧,高效,无招胜有招。
C 语言
C 语言 – 九阳神功
C 语言是一门面向过程的计算机编程语言,与 C++、Java 等面向对象编程语言有所不同。C 语言的设计指标是提供一种能以繁难的形式编译、解决低级存储器、仅产生大量的机器码以及不须要任何运行环境反对便能运行的编程语言。C 语言主要用途除了实现编程语言底层性能,还利用在实现操作系统,还在通信畛域也有很大的用武之地。尽管绝对用来开发利用层面略微显得蠢笨一点,然而在考究效率的底层施展空间十分微小。
C 语言高效、灵便、功能丰富、表达力强、作为一门根底的底层语言与九阳神功偏内功是统一的,九阳真经着重内力,不重招法,外面论述的其实也次要是“刚柔并济”的情理。一代武当宗师张三丰,就是以九阳内功为根底,才创制了武当一脉功夫。所以学好 C 语言,有弱小的内功后,再学习其余语言就会绝对轻松。
C++
C++ – 九阴真经
C++ 是 C 语言的继承,它既能够进行 C 语言的过程化程序设计,又能够进行以抽象数据类型为特点的基于对象的程序设计,还能够进行以继承和多态为特点的面向对象的程序设计。与 C 语言相比 C++ 减少了以下方面:
- 类型查看更为严格
- 减少了面向对象的机制
- 减少了泛型编程的机制(Template)。
- 减少了异样解决。
- 减少了运算符重载。
- 减少了规范模板库(STL)。
如果 C 语言是偏内功的九阳神功,那么 C++ 无异于《九阴真经》,两者都是很根底的,并且两者间有近缘,这两门把握精通之后天下武学皆能容易把握。。
《九阴真经》并重招式,威力弱小、博大精深,蕴含有数神奇招术 (内功、轻功、拳、掌、腿、刀法、剑法、杖法、鞭法、指爪、点穴密技、疗伤法门、闭气神功、移魂大法等等),诡秘莫测,义理艰深难学,C++ 同样蕴含很多内容,还在不停的延申,简单、弱小、百科全书式的语言、在大规模我的项目背后简直无其余语言可及。
C++ 跟《九阴真经》一样,有很多误区容易陷入,比较突出的问题就是内存透露,如果使用不当,很容易落得跟周芷若、欧阳锋、梅超风等一样走火入魔。
java
java – 小无相功
Java 是一门面向对象编程语言,不仅排汇了 C++ 语言的各种长处,还摒弃了 C++ 难以了解的多继承、指针等概念,因而 Java 语言具备功能强大和简略易用两个特色。Java 语言作为动态面向对象编程语言的代表,极好地实现了面向对象实践,容许程序员以优雅的思维形式进行简单的编程。
Java 具备简略性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java 能够编写桌面应用程序、Web 应用程序、分布式系统和嵌入式零碎应用程序等。
小无相功是金庸武侠小说《天龙八部》中「逍遥派」的一门内功,威力弱小。只有身具此功,再晓得其余文治的招式,倚仗其威力无比,能够模拟他人的绝学甚至胜于原版,没有学过此功的人很难分辨。这一特点与 Java 的分布式、解释性、可移植性、多线程、动静执行相似。
Java 体系宏大又提供很多网络技术的反对,正如小无相功为根基运行少林七十二绝技,而 jvm 体系又如同逍遥派体系。门下弟子泛滥又超群绝伦,名声煊赫,博采众长,独步天下。
python
python – 太极
Python 是一种跨平台的计算机程序设计语言。是一个高层次的联合了解释性、编译性、互动性和面向对象的脚本语言。最后被设计用于编写自动化脚本 (shell),随着版本的不断更新和语言新性能的增加,越多被用于独立的、大型项目的开发。能够利用于以下畛域:
- Web 和 Internet 开发
- 科学计算和统计
- 人工智能
- 桌面界面开发
- 软件开发
- 后端开发
- 网络爬虫
Python 语言的简洁性、易读性与太极入门简略相似,然而要达到肯定高度也须要长期锤炼,同样达到的成果也极高,精通后威力也微小,能够以柔克刚,与太极一样 Python 速度慢。
Go 语言
Go 语言 – 北冥神功
Go(又称 Golang)是 Google 开发的一种动态强类型、编译型、并发型,并具备垃圾回收性能的编程语言。
Go 的语法靠近 C 语言,但对于变量的申明有所不同。Go 反对垃圾回收性能。
与 C++ 相比,Go 并不包含如枚举、异样解决、继承、泛型、断言、虚函数等性能,但减少了 切片 (Slice) 型、并发、管道、垃圾回收、接口(Interface)等个性的语言级反对。
GO 语言的要害个性次要包含以下几方面:
- 并发与协程
- 基于消息传递的通信形式
- 丰盛实用的内置数据类型
- 函数多返回值
- defer 机制
- 反射 (reflect)
- 高性能 HTTP Server
- 工程治理
- 编程标准
语言容易上手,解决了并发编程和写底层利用开发效率的痛点,有 Google 这个世界一流的技术公司在前面撑持,杀手级利用 Docker 的生态圈在这几年齐全爆棚。所以,Go 语言的将来是不可限量的。可能会吞食很多 C、C++、Java 的我的项目。
北冥神功,金庸小说《天龙八部》中「逍遥派」最高武学,练成北冥神功后,全身每处穴道皆可吸人内力,且兼容天下文治。剧毒不侵。强凶王道,顺手攻打便有莫大威力。真气护体进攻大增,受到攻打时反震敌人。速度大增。这些特点与 Go 语言速度极快、性能强、效率高、先进的并发反对模型和丰盛的标注库有相似的中央。
object-c
object-c – 独孤九剑
Objective-C 感觉是 C 语言体系中比拟杰出的大师兄,而后自立门户,不过还会 C 语言,Objective-C 是一种在 C 的根底上退出面向对象个性裁减而成的编程语言,能够把 Objective-C 看成是 ANSI 版本 C 语言的一个超集,它反对雷同的 C 语言根本语法,同时它还扩大了规范的 ANSI C 语言的语法。
独孤九剑在文治体系里比拟独特与 object-c 是苹果开发软件的语言相似,与 object-c 相似风清扬的独孤九剑剑法同样洒脱、优雅、防御大于防守。
JavaScript
JavaScript – 吸星大法
JavaScript 直译式脚本语言,是一种动静类型、弱类型、基于原型的语言。动态性和跨平台性强。
JavaScript 的劣势:
- 疾速的终端反馈:Java 脚本为客户端编写,不须要服务器端反对就可运行。也不须要在客户端被编译进步速度劣势。在用户电脑上作为脚本执行,依附工作,后果简直是立刻实现的。
- 简洁性:JavaScript 很容易学习和实现。提供大量的预编制的功能性对象代码,使得开发一个满足用户须要的脚本变得轻而易举。
- 用处宽泛:JavaScript 和其余语言能够很好的交互,并且广泛应用于各个领域。
因为 Javascript 的倒退十分快,Javascript 推出一年半之后,国际标准就问世了。过早的标准化,Javascript 的规格还没来及调整,就固化了。设计缺点还没有充沛裸露就成了规范。例如:
- 不适宜开发大型程序,没有名称空间,很难模块化;容许同名函数的反复定义,前面的定义能够笼罩后面的定义,很不利于模块化加载。
- 十分小的规范库,只能实现一些基本操作,很多性能都不具备。
- 全局变量难以管制。
- 数组和对象的辨别,因为 Javascript 的数组也属于对象(object),所以要辨别一个对象到底是不是数组,不是很清晰。
吸星大法,出自金庸的武侠小说《笑傲江湖》,是日月神教教主任我行修习的文治,任我行仗以威震江湖的绝学。修炼者有任我行、令狐冲,惟一坏处是有内力反噬之险。同为汲取他人内力的一流文治。给人的感觉就是北冥神功是正版,化功大法是盗版,吸星大法是删减版。
JavaScript 如同吸星大法 用好了神奇,能最简略实现目标,规范有删减的缺点,用不好管制,还可能反噬。
C
C# – 蛤蟆功
C# 的声音,如同蛤蟆功不受待见一样。是微软公司公布的一种由 C 语言 和 C++ 衍生进去的面向对象的编程语言、在继承 C 语言 和 C++ 弱小性能的同时去掉了一些它们的简单个性(例如没有宏以及不容许多重继承)。C# 综合了 VB 简略的可视化操作和 C++ 的高运行效率,以 .NET 框架类库作为根底,领有相似 VB 的疾速开发能力,齐全面向对象和类型平安。
因为 C# 是后生,所以其很多语法都是其它语言的改良。从整体看,C# 语法比 java 更优雅。反对事件、委托、属性、Linq 等一系列让业务开发更简略的性能。
仅能运行在 Windows 平台 ) 使其慢慢被排挤于支流之外。现在偏居一隅,难以影响中原大势。
蛤蟆功,欧阳锋独创,成为南宋期间天下武林五大高手之一,号称西毒。是一门极厉害的功夫。威力足以跟降龙十八掌打成平手,精力出问题的欧阳锋和洪七公一战也能打成平手,两人内力耗尽最终死在华山上,可见蛤蟆功的威力。
与蛤蟆功一样,C# 功力深厚,刚呈现时景色有限,但在 .net 宏大的类库下也显得有些臃肿, 再加上仅能运行在 Windows 平台所以倒退绝对迟缓,呈现了很多看不起 C# 的声音,如同蛤蟆功不受待见一样。
PHP
PHP – 降龙十八掌
PHP 实用性强,跨平台强,效率高,容易部署,齐全开源,反对简直所有的风行的数据库及操作系统。
PHP 是在服务器端执行的脚本语言,独特的语法混合了 C、Java、Perl 以及 PHP 借鉴的语法。利于学习,应用宽泛,专一于 Web 开发,写中小型网站后盾的首选。PHP 支流框架仍然基于 MVC 模式,但也在一直地翻新,比方 Codelgniter 框架,性能高、速度快,实用于共享主机;Seagull 则性能更加弱小,代码库的标准化和模块化更高,同时也有较多的文档提供反对。
毛病:
- 对多线程反对不太好,大多数时候只能简略的模仿去实现的。
- 语法不太谨严。
- PHP 的解释运行机制繁琐。
每当有编程语言之争时,总有人说“PHP 是世界上最好的语言”,当然,也有很多批评的声音,没有一种语言是被所有人承受,影响 PHP 名誉可能和 PHP 薪资无关,从“PHP 是世界上最好的语言”这一点来说勉强与被扫地僧称为天下第一的降龙十八掌匹配。
侠客 – 程序员
如果把编程语言比喻为文治绝学,那么一代巨匠都是很牛逼的程序员。
在武侠小说中,张三丰是位武学奇才,技击之术冠绝天下。如果放到当初来看,张真人的角色很可能是个蠢才程序员。师从觉远大师,学习了九阳神功, 如果是程序员就是精通 从语言这门偏内功的语言,对当前的倒退至关重要。起初张真人又学习了很多其余文治,借鉴了《太和功》、《九转玄功》、《纯阳功》等内息功法,是一位编程能力很高,创新能力不可小觑的程序员。
在武侠小说中,绝顶高手,都不止会一门文治,天下之术,皆为我用,然而相对有一门文治达到炉火纯青的境地,作为程序员不要想着集成和借鉴他人的货色,本人也须要“练武”。
代码的世界,也是江湖。对编程思维了解越透彻,内功便深厚,多把握一门语言,便是多了一门武艺。
图片来源于网络,如有侵权,分割删除。
免喷申明: 本文纯属娱乐,程度无限,只写了几种语言,欢送评论,在看,分享
加微信学习群,加微信 cyuyan2020,备注“加群”