学习任何一门编程语言,都会面临的**个问题都是:如何学习这门语言?
千锋武汉小编不想说什么多看、多学、多写、多练之类的废话。世上事有难易乎?无他,唯手熟尔。谁不知道熟能生巧的道理?
有必要谈谈的是:如何由浅入深的学习一门编程语言?学习所有编程语言有没有一个相对统一的学习方法?
为此,我特意请教了一位资深程序员大咖,希望能给正准备入门编程的同学一些参考。
这位程序员接触过不少编程语言:Java、Python、Javascript、C、C++、Shell等等。每次学习一门新的编程语言,掌握程度或深或浅,但是学习的曲线却大抵相似。
下面,是他按照个人的学习经验总结一下,学习编程语言的基本步骤。
一、学习编程语言的步骤
二、基本语法
首先当然是了解语言的最基本语法。
控制台输出,如C的printf,Java的System.out.println等。
普通程序员的**行代码一般都是输出 “Hello World” 吧。
三、基本数据类型
不同编程语言的基本数据类型不同。基本数据类型是的申请内存空间变得方便、规范化。
四、变量
不同编程语言的声明变量方式有很大不同。有的如Java 、C++需要明确指定变量数据类型,这种叫强类型定义语言。有的语言(主要是脚本语言),如Javascript、Shell等,不需要明确指定数据类型,这种叫若类型定义语言。
还需要注意的一点是变量的作用域范围和生命周期。不同语言变量的作用域范围和生命周期不一定一样,这个需要在代码中细细体会,有时会为此埋雷。
五、逻辑控制语句
编程语言都会有逻辑控制语句,哪怕是汇编语言。
掌握条件语句、循环语句、中断循环语句(break、continue)、选择语句。一般区别仅仅在于关键字、语法格式略有不同。
六、运算符
掌握基本运算符,如算术运算符、关系运算符、逻辑运算符、赋值运算符等。
有些语言还提供位运算符、特殊运算符,视情节掌握。
注释(没啥好说的)
七、函数
编程语言基本都有函数。注意语法格式:是否支持出参;支持哪些数据作为入参,有些语言允许将函数作为参数传入另一个参数(即回调);返回值;如何退出函数(如Java、C++的return)。
八、数组、枚举、集合
枚举只有部分编程语言有,如 Java、C++、C#。
但是数组和集合(有些语言叫容器)一般编程语言都有,只是有的编程语言提供的集合比较丰富。使用方法基本类似。
九、常用类
比较常用的类(当然有些语言中不叫类,叫对象或者其他什么,这个不重要,领会精神)请了解其API用法,如:字符串、日期、数学计算等等。
十、语言特性
语言特性这个特字反映的就是各个编程语言自身的"独特个性",这涉及的点比较多,简单列举一些。
十一、编程模式
比较流行的编程模式大概有:
面向对象编程,主要是封装、继承、多态;函数式编程,主要是应用Lambda;过程式编程,可以理解为实现需求功能的特定步骤。
每种编程模式都有一定的道理,我从不认为只有面向对象编程才是王道。
Java是面向对象语言,从Java8开始也支持函数编程(引入Lambda表达式);C++可以算是半面向对象,半面向过程式语言。
十二、语言自身特性
每个语言自身都有一些重要特性需要了解。例如,学习C、C++,你必须了解内存的申请和释放,了解指针、引用。而学习Java,你需要了解JVM,垃圾回收机制。学习Javascript,你需要了解DOM操作等。
十三、代码组织、模块加载、库管理
一个程序一般都有很多个源代码文件。这就会引入这些问题:如何将代码文件组织起来?如何根据业务需要,选择将部分模块启动时进行加载,部分模块使用懒加载(或者热加载)?
最基本的引用文件就不提了,如C、C++的#include,Java的import等。
针对代码组织、模块加载、库管理这些问题,不同语言会有不同的解决方案。
如Java可以用maven、gradle管理项目依赖、组织代码结构;Javascript (包括 Nodejs、jquery、react等等库)可以用npm、yarn管理依赖,用webpack等工具管理模块加载。
十四、容错处理
程序总难免会有bug。
所以为了代码健壮性也好,为了方便定位问题也好,代码中需要有容错处理。常见的手段有:
异常
断言
日志
调试
单元测试
十五、输入输出和文件处理
这块知识比较繁杂。建议提纲挈领的学习一下,理解基本概念,比如输入输出流、管道等等。至于API,用到的时候再查一下即可。
十六、回调机制
每种语言实现回调的方式有所不同,如.Net的delegate (大量被用于WinForm程序);Javascript中函数天然支持回调:Javascript函数允许传入另一个函数作为入参,然后在方法中调用它。其它语言的回调方式不一一列举。
十七、序列化和反序列化
首先需要了解的是,序列化和反序列化的作用是为了在不同平台之间传输对象。
其次,要知道序列化存在多种方式,不同编程语言可能有多种方案。根据应用的序列化方式,选择性了解即可。
十八、进阶特性
以下学习内容属于进阶性内容。可以根据开发需要去学习、掌握。需要注意的是,学习这些特性的态度应该是不学则已,学则死磕。因为半懂半不懂,特别容易引入问题。
对于半桶水的同学,我想说:放过自己,也放过别人,活着不好吗?
并发编程:好处多多,十分重要,但是并发代码容易出错,且出错难以定位。要学习还是要花很大力气的,需要了解大量知识,如:进程、线程、同步、异步、读写锁等等。
反射:让你可以动态编程(慎用)。
泛型:集合(或者叫容器)的基石。精通泛型,能大大提高你的代码效率。
元数据:描述数据的数据。Java 中叫做注解。
十九、库和框架
学习一门编程语言,难免需要用到围绕它构建的技术生态圈——库和框架。这方面知识范围太庞大,根据实际应用领域去学习吧。比如搞JavaWeb,你多多少少肯定要用到 Spring、Mybatis、Hibernate、Shiro等大量开发框架;如果做Javascript前端,你可能会用到React、Vue、Angular 、jQuery等库或框架。
总结以上,编程语言学习的道路是任重而道远的,未来是光明的。
**一句话与君共勉:路漫漫兮其修远,吾将上下而求索。
千锋12大IT学科免费试听课火热报名中,全程大咖亲授,做IT/互联网行业更具实战型、全能型的技术人才,拿高薪!可以关注“武汉千锋”公众号,先预约千锋免费IT热门试听课,亲身感受教学效果,评价讲师的教学水平,了解学员的学习情况和就业情况!
千锋教育的课程涵盖HTML5大前端、JavaEE+分布式开发、Python全栈+人工智能、全链路UI/UE设计、云计算、全栈软件测试、大数据+人工智能、智能物联网+嵌入式、Unity游戏开发、Go语言开发、网络安全、互联网营销等IT热门技术方向。
人生在做重要选择时,一定慎重,但是一旦你做出了选择,那么就要一往无前,相信千锋,给自己一个机会,请相信千锋是你腾飞的起点!
资讯来源:北京千锋互联科技有限公司武汉分公司
|
友情提示:
信息由用户自行发布,如果发现错误或不符合法规或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。 |
当前页在本站[名站在线]7天内点击次数(点击次数为零的日期不显示): |
信息评估: |
(还没有网友对该信息作出评估,你想为该信息提供第一个评估吗?) |
萧山环氧乙烯基酯树脂厂房地坪***萧山环氧乙烯基酯树脂厂房地坪***400-0709-910请拨打400-0709-910电话,永坚地坪公司
地坪是底层房间与土层相接触的部分,它承受底层房间的荷载,要求具有一定的强度和刚度,并具有防潮、防水、保暖、耐磨的性能。地层和建筑物室外场地有密切的关系,要处理好地坪与平台、台阶及建筑物沿边场地的关系,使建筑物与场地交接明确,整体和谐。影响耐磨地坪漆施工的因素有很多的,但是环境因素一般只有两个的,一个是施工环境的温度...萧山环氧耐压砂浆厂房地坪***萧山环氧耐压砂浆厂房地坪***400-0709-910请拨打400-0709-910电话,永坚地坪公司
环氧树脂地坪泛碱,就是地坪表面出现象“水颖一样的斑块,这种泛碱现象容易在潮湿的天气中出现,情况严重的还会影响地坪美观。
除了天气关系,环氧树脂地坪涂膜出现泛碱原因还有以下4点为使地坪涂料的施工达到良好效果,对于尚未找平的地面,应首先施工水泥找平以进行找平处理。土建方找平时,在水泥初凝时,用专业地面机械对地面进行磨平处理。...萧山透明环氧树脂厂房地坪***萧山透明环氧树脂厂房地坪***400-0709-910请拨打400-0709-910电话,永坚地坪公司
环氧树脂地坪与混凝土粘结性能有哪些主要因素,通过系统的试验研究和分析,可以认为适宜粗糙、干燥、坚实的混凝土面、合适的环氧树脂材料与配合比以及合理、完善的施工工艺措施能够提高界面的粘结效果。环氧树脂材料因高强、耐磨,抗渗、抗冻和抗冲击性能好等特点,愈来愈受到工程部门的重视,已经成为研究和应用发展**的建筑材料之一,近几年...PSA300R-PFCPSA300R-PFCPRT现货库存
PSA300R-PFCPRT现货库存
PSA300R-PFCPRT现货库存
咨询热线18150367981林经理
诚信经营,质量为首,诚信至上,深圳长欣竭诚为您服务
`
深圳长欣自动化设备有限公司厦门办事处
联系人林经理销售经理
手机18150367981
传真0592-5580710请备注林经理收
邮箱2851759117@qq.com
QQ2851759117
所有备件的质保期均为1年,经过专业测试认证。
如果您需要订购产品超过1件,请与我们联系,我们可以为您提供折扣。
我们...萧山水泥密封固化剂厂房地坪***萧山水泥密封固化剂厂房地坪***400-0709-910请拨打400-0709-910电话,永坚地坪公司
环氧地坪漆具有耐强酸碱、耐磨、耐压、耐冲击、防霉、防水、防尘、止滑以及防静电、电磁波等特性,颜色亮丽多样,清洁容易。温度**在8℃以上;并且如果环境温度低于15℃时,漆膜固化时间会显著延长;地面是否平整会影响到家庭装修地板的使用和使用寿命,还会引起地板起拱等非正常的使用现象,墙面装饰的依据是地面,因此地面是否平整也会影响...
|
|
|
|
|