学习一门语言大概会经历如下几步。
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
......
这些人,都在创造一个美妙的思维逻辑之塔,创造一个新世界。正是这些各个编程领域的引领者们,才使得我们这个世界更加美好。
转发:http://www.kotlindoc.cn/chapter/easy_kotlin_chapter_1.html
相关推荐
怎样去学习一门编程语言,总结的很好!
四年专业英语单词快速记忆...我们在这里总结了编程语言中常用到15类编程语言中的,编程英语单词4300多个,以后还会不断的增加,并给出了这些英语单词的快速记忆方法,“编程语言快速记忆手册”将助您十倍速的学习编程。
VHDL编程的一些心得体会 VHDL语言学习总结
Java编程规范学习总结Java编程规范学习总结
R语言笔记
《中文编程:学习进阶》结合编程语句和运行结果图对各项重点功能进行介绍,并通过书中编程案例的实践和习题辅助读者及时进行总结。 本书适用于初步掌握了易语言中文编程技巧的编程爱好者。 中文编程:...
硬件描述语言HDL(Hardware Description Language,HDL)是一种用形式化方法来描述数字电路和数字逻辑系统的语言。设计者可利用这种语言描述自己的设计思想,然后利用EDA ...适用于FPGA入门和初学者,总结了一大堆,
《java开发篇》学习总结,JAVA应用编程150例,java+编程
Python青少年趣味编程课程 详细教学大纲 课程性质与目标 Python是一门非常流行的、简单易学的编程语言。在许多人工智能等高新技术领域有着深入的应用,它是一门非常适合青少年学习编程的入门语言。python青少年趣味...
Java 编程语言基础 Java 编程语言基础是 Java 语言的基础知识,涵盖标识符、字面值、变量、数据类型...Java 编程语言基础知识涵盖了标识符、字面值、变量、数据类型等概念,理解这些基础知识是学习 Java 语言的前提。
程序语言学习,如何学习一门编程语言,(一位过来人的总结)
人工智能编程课程总结 人工智能编程课程是一门涵盖了多个领域的综合性课程,包括机器学习、深度学习、自然语言处理、计算机视觉等方面。在这门课程中,我们学习了Python语言的基础知识,并通过实践掌握了各种常用的...
Pytho n青少年趣味编程课程 详细教学大纲 一、 课程性质与目标 Python是一门非常流行的、简单易学的编程语言。在许多人工智能等高新技术领域有 着深入的应用,它是一门非常适合青少年学习编程的入门语言。python青...
“大数据”是需要新处理模式才能具有更强的决策力、洞察发现力和... 本文对大数据入门的基本概念,以及辅助学习大数据的常用软件作了简单的总结,内容主要分为大数据导论,大数据学习相关软件,计算机组成,编程语言四个部分
用 C 语言实现面向对象编程,我曾经在嵌入式控制系统工作过,苦于嵌入式系统编程一直是 C 语言,而没法用 C++或其他高级 语言的面向对象方法编程。经过研究生的学习和探索,偶然间发现高焕堂老师写 OOPC(面向对象 C...
个人收藏及总结,包括各个方向,囊括算法,数据结构,编程语言,操作系统,机器学习及深度学习,分布式系统,大数据处理,学习资源及方法总结..zip
go语言基础入门学习文档以及go语言并发学习的一些案例总结,我是一个两年多的Java开发工程师,从18年开始,开始接触容器化kubernetes这一块的项目,一开始是做了一个Java对接k8s启动pod,管理pod的平台。今年决定对...
自己学习R语言编程后归纳整理的笔记,从R的下载、安装、设置、帮助系统的使用到R的数据结构、编程结构、面向对象编程、绘图、文件读写、数学运算等都有涵盖,所有命令都在R-3.2.0下亲测过,针对每个数据结构包括了...
内含学习路线,官方文档,个人总结,面试经验,旨在编程学习从0到1一站式学习 一站式编程学习网站,涵盖前后端、运维,包括但不限于Java、Python、Go、HTML、JavaScript、TypeScript、Git、Docker、k8s。内含学习...
软件开发设计:应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的项目开发与学习资料 硬件与设备:单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、存储设备...