编程语言学习小结

学习一门语言大概会经历如下几步。

1.基本语法

学习任何东西,都是一个由表及里的过程。学习一门编程语言也一样。对于一门编程语言来说,“表” 就是基本词汇和语法。 对于基础语法的学习,我们可以看一些简短而又系统的教程。

2.编码实践

所谓“纸上得来终觉浅,绝知此事要躬行”是也。此处就不多说。 掌握基础,持续练习 每一门编程语言的学习内容都会涉及: 运行环境 数据类型(数字、字符串、数组、集合、映射字典等) 表达式 函数 流程控制 类、方法 等等,不同的语言还有一些不同的特性,可以通过对比学习来加深理解。并通过大量实践深入理解,达到熟练使用。后面还要再去深入了解面向对象编程OOP、函数式编程FP、并发、异常、文件IO、网络、标准库等内容,并辅以持续的练习,这些内容才能够让你真正进入编程领域并做出实际的软件。 相信10000小时定律,No Pain, No Gain。 学习一门新的语言的时候,要利用以前所学的语言的功底,但是也要保持开放的心态。这些在认知心理学中有相应的讲述。感兴趣的读者可以去了解一下。

3.技近乎道

基础语法学习,能让你快速上手,应用实践。对技巧和坑的关注,一定程度上拓展了你的知识面。系统学习,一方面会进一步拓展你的知识面。另一方面,也有利于你语言知识结构的形成。 任何一门成熟语言,都有其特有的生态。这个生态包括: 框架,扩展包,解决方案,模式, 规范等。 在不断编码实践过程中,我们逐步熟练使用很多API库、框架,也不断踩坑填坑、看源代码、不断解决问题,不断加深对语言的理解,同时会看一些优秀的框架源代码。 如果还有精力,我们再去学习语言更底层的东西,而不仅仅停留在应用层面。如Java中的集合类实现的算法与数据结构,如JVM是如何执行Java代码的。如Java的线程和操作系统线程的关系。以及一些操作系统方面的知识。 最后,达到游刃有余的境界。这一层级,基本可入武林高手之列了。 庖丁释刀对曰:“臣之所好者,道也,进乎技矣。始臣之解牛之时,所见无非牛者。三年之后,未尝见全牛也。方今之时,臣以神遇而不以目视,官知止而神欲行。依乎天理,批大郤,导大窾,因其固然,技经肯綮之未尝,而况大軱乎! 这里的“牛”,可以理解为我们所说的各种编程思想,编程范式,编程方法,编程技巧等等。最后,达到“运用之妙,存乎一心”之境也。

4.创造世界

编程的本质就是创造世界。 达到这个境界的,基本都是世界顶尖大牛了。 例如,编程语言发展史上的杰出人物(下面只是一份不完全名单):

约翰·冯·诺伊曼: 操作系统概念的发起者 肯·汤普逊&丹尼斯·里奇: 发明了C和Unix 约翰·巴科斯:发明了Fortran 阿兰·库珀:开发了Visual Basic 詹姆斯·高斯林:开发了Oak,即后来的Java 安德斯·海尔斯伯格:开发了Turbo Pascal、Delphi,以及C# 葛丽丝·霍普,开发了Flow-Matic,该语言对COBOL造成了影响 肯尼斯·艾佛森:,开发了APL,并与Roger Hui合作开发了J 比尔·乔伊:发明了vi,BSD,Unix的前期作者,以及SunOS的发起人,该操作系统后来改名为Solaris 艾伦·凯:开创了面向对象编程语言,以及Smalltalk的发起人 Brian Kernighan:与丹尼斯·里奇合著第一本C程序设计语言的书籍,同时也是AWK与AMPL程序设计语言的共同作者 约翰·麦卡锡:发明了LISP 比雅尼·斯特劳斯特鲁普:开发了C++ 尼克劳斯·维尔特:发明了Pascal与Modula 拉里·沃尔:创造了Perl与Perl 6 吉多·范罗苏姆:创造了Python ......

这些人,都在创造一个美妙的思维逻辑之塔,创造一个新世界。正是这些各个编程领域的引领者们,才使得我们这个世界更加美好。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 附录B 编程的本质附录B 编程的本质编程的本质N小结编程简史名词纪要参考资料

    尼古拉斯·沃斯(Niklaus Wirth,1934年2月15日—),生於于瑞士温特图尔,是瑞士计算机科学家。Pascal语言之父。

    一个会写诗的程序员
  • 《Spring Boot极简教程》附录2 编程的本质N小结

    尼古拉斯·沃斯(Niklaus Wirth,1934年2月15日—),生於于瑞士温特图尔,是瑞士计算机科学家。Pascal语言之父。

    一个会写诗的程序员
  • 第1章 JVM语言家族概览

    所谓编程语言只是一个抽象的规范,而编译器是这个规范的实现,它是在这个规范的严格定义下被实现的.

    一个会写诗的程序员
  • 我为什么建议大家一定的会 C 语言

    在如今 Python 和 Java 大火的市场前景下,我还是建议,如果你还在学校读书,或者你有大把的空闲时间,不着急去找工作,那就静下心来,好好学习一下 C 语...

    诸葛青云
  • 如何快速学习C语言?系统学习路线奉上

    C语言的重要性 C语言作为编程行业必备的基础,它引入N多的库可以用来开发比较复杂的图形程序,如:俄罗斯方块,如:操作数据库的界面,但是它的意义不在于开发图形界面...

    企鹅号小编
  • 自学C语言的最大难题是什么?

    万事开头难,自学C语言最大的困难在于遇到问题不知道如何解决,还有不知道学到什么程度才能找到工作,这是自学编程语言最大的障碍,学到中间不知道什么时候是个头,遇到问...

    程序员互动联盟
  • 无需任何配置一个浏览器,就可进行31种语言开发

    《程序员修炼之道:从小工到专家》的作者就提出了编码套路(Code Kata)这个概念,说如果要提高自己的编程能力,就要不断的刻意练习,我们称之为Code Kat...

    BestSDK
  • 这是一篇非常具有操作性的程序员初学者攻略。

    1 前言 如今编程成为了一个越来越重要的「技能」: 作为设计师,懂一些编程可能会帮你更好地理解自己的工作内容; 作为创业者,技术创始人的身份则会让你的很多工作显...

    老九君
  • 天分不够,能精通C语言嘛?

    疑惑一 做C++一年多了,感觉自己基础还是很差,内存管理,指针等等都是一知半解,做项目也是经常犯低级错误,该怎么办? 之前的文章里面可能也多少提到过,c++学起...

    程序员互动联盟
  • Java到底是编译型语言还是解释型语言?

    像C、C++ 他们经过一次编译之后直接可以编译成操作系统了解的类型,可以直接执行的 所以他们是编译型的语言。没有经过第二次的处理 而Java不一样他首先由编译器...

    Fundebug

扫码关注云+社区

领取腾讯云代金券