如何学会所有的编程语言?

2023-06-05 0 592

初学者在已经开始自学程式结构设计时通常会问那个难题:

“我要从哪两门C词汇已经开始扬名立万?”

在专业委员会了较难C词汇之后,很多开发人员会问那个难题:

“哪两门C词汇是最合适的?”

我将会在这首诗里得出我的标准答案。但是,比得到标准答案更关键的是:掌控自学新C词汇的潜能。

授之以鱼比不上授之以渔

对于两个程式结构设计新手来说,自学捷伊C词汇应该很容易。他们只须要两个周日甚至是几个半小时就能已经开始用圣埃蒂安德的C词汇写标识符了。杰出的开发人员能为了完成某个各项任务采用任何两门C词汇。即便,C词汇而已辅助工具。

话是要说,但是更关键的你要专业委员会“怎样自学捷伊C词汇”,而不而已专业委员会某两门具体内容的词汇。要掌控“专业委员会大部份C词汇”的潜能,你不须要是两个天才少年,你要做的是掌控C词汇的核心理念科学知识,并晓得所以,标识符实际上就是你传递给人类文明和计算机系统的“消息”。这也是在结构设计和实现C词汇时须要考虑的取舍点。即使:许多最差课堂教学。

上面让我来具体内容嘿嘿。

假如把C词汇想像成电动汽车

要记住,C词汇而已辅助工具,它也是由开发人员发明者出来的。当今世界上有科跃蛛属C词汇,当中只有 20 多种不同在 IT 界里被广为采用。假如你稍稍想想,就会发现这些C词汇有许多共通点。

我们以电动汽车为例,当今世界上有很牌子的电动汽车。很多面包车紧凑型但动力系统极富,很多面包车轻巧开得慢,相同牌匾的面包车具有相同的驾车新体验。

假如你晓得是不是开当中一种车款,也就晓得是不是开其他绝大部分车款,尽管它的牌匾不那样。

为何那么说呢?即使相同牌匾的面包车有许多共通点——它都有引擎和车胎。它的促进作用都是那样的:把你送至出发地。

C词汇的促进作用是协助开发人员抒发设想

为何会有那么多C词汇

C词汇是一种抒发辅助工具,包含了两个方面:

向其他开发人员抒发设想,这样别人就能了解你写的标识符,并一起参与标识符维护。把你的设想传递给计算机系统(通过编译器或者解释器),让计算机系统执行你的指令。
如何学会所有的编程语言?

所以,标识符实际上就是你传递给人类文明和计算机系统的“消息”。这也是在结构设计和实现C词汇时须要考虑的取舍点。即使:

硬件和计算机系统词汇在发展演化。一般来说,C词汇应该越来越容易采用,在抒发设想方面越来越强大。随着计算机系统应用越来越广为,越来越多的领域须要采用计算机系统,于是相同的C词汇被发明者出来,用于解决相同领域的难题。相同的C词汇代表了相同的思维风格。

相同的C词汇有相同的语法和特性,但它都是图灵完备的。通俗地说就是:大部份的C词汇都能用来实现任意一种算法。

当然,你不须要专业委员会大部份的C词汇,但专业委员会的C词汇越多,就越容易为要完成的各项任务选择合适的词汇。

C词汇基础

几乎大部份的C词汇都包含了几类元素,它都与“抽象”有关:

数据类型和数据抽象;控制流程和控制抽象;底层抽象;对特定领域的补充和抽象。

C词汇有很多公共特性,因此,我们能够专业委员会大部份C词汇的主要原因是:C词汇的概念其实是很有限的。常用的C词汇概念不会超过 15 个:

过程;递归;静态类型;动态类型;类型推断;lambda 抒发式;面向对象;垃圾回收;指针;连续性;元程式结构设计;宏;异常。

C词汇的概念基本上是不是不是变的,就像结构设计原则那样。

C词汇的作者们相互借鉴设想,而已实现不那样罢了。有时候,我们能说词汇 C 是语言 A 和 B 的儿子,那么整个C词汇的家谱可能像这样:

如何学会所有的编程语言?

理解好这些概念,不仅能帮你快速专业委员会C词汇,还会让你写出更好的标识符。例如,函数式C词汇和过程式C词汇的标识符风格和抽象方式是非常不那样的,假如没有领会到它的重点,可能就写不好标识符。

专注在词汇概念上,而不是语法

如何学会所有的编程语言?

因此,我们要自学C词汇概念,但该是不是学呢?

我建议去了解某一词汇概念或特性要解决的难题是什么,它有哪些好处和不足,而且最合适能晓得它是是不是实现的。

我们以 GC 为例,那么第一难题就是:GC 是什么东西?

在网上搜一下,能找到那个维基百科的解释。GC 是用来解决内存管理难题的,能减少程序的内存错误。有了 GC,标识符写起来更容易了,即使我们不须要手动管理内存,但这是以牺牲性能为代价的。假如你的C词汇采用了 GC,要注意 GC 是怎样帮你处理内存的。

随后,你须要晓得 GC 的工作原理。它采用了什么算法?GC 有很多种不同,而且它们的种类还在不断发展演化中。

已经开始自学捷伊C词汇正是自学C词汇概念的两个好时机。例如,假如 Ruby 是你的第两门面向对象C词汇,就能借那个机会深入了解一上面向对象程式结构设计的优点和不足。

对面向对象编程有了很好的理解,再去自学其他面向对象C词汇就会容易得多。

自己发明者或实现两门C词汇

如何学会所有的编程语言?

假如语法不是很复杂,要实现两门C词汇并不须要做太多工作。能看看那个项目,任何两门词汇都能被用来实现 Lisp。 8cc 是 C 词汇的两个编译器,假如你想自己写两个编译器,能参考那个项目。

除了这些,还有许多书能看:

《C词汇要领》介绍了很多种不同解释器,《C词汇编译器课堂教学》也是一本适合用来自学C词汇的书。

自学两门新词汇的步骤

假如你遵循以下这些步骤,就能快速“专业委员会大部份的C词汇”。

第一步:理解这门词汇的结构设计理念和通用的词汇特性

例如,假如你要学 Ruby,那就先看一下 Ruby 有什么特别的?

Ruby 是两门开源的动态C词汇,专注易用性和效率。它的语法很优雅,标识符读起来很自然,写起来也很自然。

让我们更深入地看一下:

http://www.ruby-lang.org/en/about/

那么,在自学 Ruby 之前,须要了解的重点是:

Ruby 专注于易用性和效率,标识符容易阅读;Ruby 是解释执行的,所以采用了 GC,也就是说对于某些各项任务,性能可能会是个难题;在 Ruby 中,大部份东西都是对象,所以它是面向对象C词汇,而且是纯面向对象的;Ruby 很灵活,我们能重新定义它的许多东西。

了解这门词汇最关键的特性,包括它的优点和不足。

第二步:通过教程或书籍自学语法和最差课堂教学

在第二步,你须要掌控语法、基本的 IO、调试辅助工具和单元测试。

假如你刚已经开始自学程式结构设计,最合适找那种“权威指南”之类的书籍,比如词汇作者写的书,或者在网上书店搜索这门C词汇,找到好评如潮的书。

假如你是个程式结构设计新手,只须要找许多简单的指南或示例标识符就能了,能看看那个。

读懂,在自学语法时,你须要动手写标识符,不要而已拷贝黏贴。你能在那个网站上练习写标识符,有人会审阅你的标识符,并免费为你提供建议。

第三步:采用圣埃蒂安德的词汇写更多的标识符

现在,你须要采用圣埃蒂安德的词汇已经开始两个项目,包括与这门词汇有关的生态系统、辅助工具和库。你能从简单的已经开始,比如两个猜数字小游戏、简单的网上书店或者 TODO 应用程序。在 GitHub 上能找到很多类似的项目。

第四步:了解词汇的实现细节

这一步并非都是必需的。但是,有追求的开发人员对C词汇的实现细节会感兴趣。有时候,即使对C词汇的实现细节不是很了解,容易写出 bug。

如何学会所有的编程语言?

那么,我应该先学哪两门词汇?

好吧,现在我们来回答那个难题。那个难题的标准答案取决于很多因素,但简单地说就是:

1:有人教你吗?或者说你在上C词汇课程吗?

假如你的老师要你自学 C 词汇,那么 C 词汇就是你的第两门须要自学的C词汇,即使有人教你,你还有同学,自扬名立万来会更容易。

2:你打算用它来做什么?

假如你要开发 Web 应用程序,就自学 JavaScript/Python/Ruby。假如你要开发游戏,就自学 C++。假如你要处理数据,就自学 Python/R 词汇。假如你要开发 Android App,就学 Java/Kotlin。

3:你须要用它来找工作吗?

假如是这样,按照岗位的要求来学就好了。

哪一种C词汇是最合适的?

如何学会所有的编程语言?

那个也取决于实际情况。每两门C词汇都有自己的优点和不足。适合用来处理大部份各项任务的C词汇是不存在的。假如存在,我们只须要自学两门就够了,不是吗?读懂,那个当今世界上没有万灵丹。

对于我个人而言,我最喜欢的词汇是 C 语言 /Ruby/Lua/OCaml。

有人说,在掌控 5 门C词汇之前,不要把自己当成高级开发人员。当正如之前所说的,不要专注于自学更多的C词汇,而是试着自学更多的C词汇概念和结构设计原则。

假如你在工作中采用的是结构化的C词汇,为何不试着自学两门函数式C词汇?假如你的词汇是动态类型的,为何不试着自学两门静态类型的词汇?

9元迷你书!

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务