学习编程语言,我们学习什么?

更新日期: 2019-07-07 阅读: 2.4k 标签: 编程

编程语言种类繁多,很多时候程序员都要去学习一门门新的语言,在这个过程中我有很大的疑问,掌握一门编程语言最重要的是掌握哪些内容,有没有一套通用的方法论。结合自己有限的实践经验,我总结了一些学习语言路径,希望和大家交流。



基础类容

不管是什么语言,基础类容基本不变,包括:数据、运算、控制和传输。这一部分一般可以快速学会,需要注意的是通常有差异的部分,比如变量常量申明,作用于范围;访问控制字符;修饰符含义;函数的表达和调用等。


系统框架

为了方便程序员编程,每个语言都会提供系统库。包括数组、集合、日期、字符串等常用的基础类容,以及我们如果想实战就必须接触到的一些UI、序列化、网络编程、多线程、数据库层方面的类容。我认为这一部分常用的类必须学习,其他实战的类或库可以再实际使用的时候再深入学习。


语言特性

每一种语言的诞生都是为了解决某些问题,所以一个程序必然有优点也有缺点,这就是语言的特性,我认为一个编程语言的精髓在于其特性,因此学习这些语言特性是重中之重。

一般而言,一个语言肯定是使用某一种编程范式作为主要编程思想。比如面向对象语言,我们一定会关注封装、继承和多态三种特征如何实现。也会关注一些特殊的比如多重继承、重载,以及为了实现面向对象特征而引入的一些抽象类、接口、泛型、协议等理念。还有构造析构过程,面向对象的底层实现等。

函数式编程的函数一等公民思想,很多面向对象语言也引入了函数式的使用,以及由函数式而引出的响应式编程等。

学习C++就必须学习指针、引用、内存申请和释放。很多语言帮助程序员管理内存,不需要程序员手动去编写这部分内容。但是我认为了解掌握一个语言在这方面的处理和实现还是很重要的。

其他的还有不同语言的特有特性,比如JavaScript的dom操作等。


编译运行

使用一种语言我们有必要知道他是什么类型的语言。编译、解释或者脚本语言,动态或者静态类型语言,强类型与弱类型语言等等。

编译运行过程也是我们必须了解的,比如使用什么编译器编译运行的。由此引出来的一些内容:JVM,中间字节码,OC的运行时,指令集等概念。


实际使用

学习一门语言最终的目的就是使用其解决实际问题,编出可执行程序。除了学习上面提及的系统框架的一些进阶类容,还要掌握代码文件组织、模块加载、库管理类容。异常处理的相关知识,以及有必要学习一些第三方库以快速开发,避免重复造轮子。


总结

基本路径就是上述按步骤过来,有一些在最开始也不需要特别深入,比如编译运行机制部分,还有一些可以边写程序边学习比如一些比较复杂的系统库和第三方库。由于本人也没有深入学习多种语言,所以总结起来还是不够充分和细致,只能说提供一个入门路径分享。一般深入学习五六种不同类型语言之后,再去学习程序语言设计相关知识和原理,相信会对编程语言理解有一个质的飞跃,之后再接触新的编程语言应该可以信手拈来。这作为一个目标而努力吧。

原文:http://www.cocoachina.com/articles/29252

本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!

链接: https://fly63.com/article/detial/4561

相关推荐

在线运行编程网站

学编程的程序员小伙伴越来越多了,在学习的过程中会发现很多知识点如果不在工作中运用或者手写带验证的话,很容易忘记。任何技能的掌握都是需要不断练习的。在此整理一些在线运行编程的网站。

前端的编程软件哪些比较好用?

推荐8款最好用的前端开发工具供美工或者前端开发人员使用,当然若你是NB的全栈工程师也可以下载使用。Web前端开发最常见的编程软件有以下几种: 在前端开发中,有一个非常好用的工具,Visual Studio Code,简称VS code

程序员的笔记,编程写软件学到的 7 件事

如果你真的做出了一些东西,在面对那些令人眼花缭乱的理论知识,或是和你相似甚至比你做的更糟糕的人时大可不必谦虚。在一天结束之时,正是那些在战壕中的开发者——构建、测试和开发了代码的人,真正做了事情。

十大编程语言榜单

如果你是软件开发领域的新手,那么你会想到的第一个问题是“如何开始?”编程语言有数百种可供选择,但是你怎么发现哪个最适合你,你的兴趣和职业目标又在哪里呢?选择最佳编程语言以学习的最简单方法之一,是通过市场反响、技术趋势的发展…

Blockly - 来自Google的可视化编程工具

Google Blockly 是一款基于Web的、开源的、可视化程序编辑器。你可以通过拖拽块的形式快速构建程序,而这些所拖拽的每个块就是组成程序的基本单元。可视化编程完成

感觉自己不适合做程序员,什么样的人不适合做程序员?

学习是一件艰苦的事情。很多人想要成为程序员,在学习编程的过程中,面对各种 bug 和源源不断的问题,有时会对自己是否适合编程这一问题产生困扰。在教学的过程中,他总结出了不适合做程序员的十个特征

CSS并不是真正的编程语言

每隔几个月就会出现一篇文章表明:CSS并不是真正的编程语言。以编程语言的标准来说,CSS过于困难。使用这门语言会很有创造性:事实确实如此,CSS不同于传统的编程,且具有缺陷,同任何标准化编程语言相比

自学编程的网站有那些?

如今,很大一部分人在学习编程的道路上都选择自学,但都苦于找不到适合自己的学习资源,今天为大家介绍11个免费的自学编程的网站,为大家提供一些帮助。很多人自学编程,都会通过w3school,你可以通过它学习所有的网站建设基础教程

无码编程:无代码软件开发大行其道

代码是大多数软件程序和应用程序的骨干。每行代码充当一条指令:采用一种逐步性的逻辑机制,以便计算机、服务器和其他机器执行操作。想创建那些指令,就要知道如何编写代码,这项宝贵的技能有时很吃香。

自学编程的六个技巧总结

这些事情可以帮助新手在他们漫长的旅程中学习编程。我知道我还有更多东西需要学习,并将继续学习如何永远地学习。最重要的事情说三遍,请继续,不要放弃,不要放弃,不要放弃。

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!