新手如何学习一门新的语言

2024-02-27 09:18
文章标签 语言 学习 新手 一门

本文主要是介绍新手如何学习一门新的语言,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文节选自《 程序员成长路线图:从入门到优秀》内容浅显易懂,建议大家阅读下。

学习程序设计语言是程序员的看家功夫。许多程序员边编边学,没有止境,可以说是“活到老学到老”。在语言面前,程序员永远是学生。然而,程序设计语言是一项不断发展的技术,从机器语言到汇编语言,从低级语言到高级语言,从面向过程语言到面向对象语言,从C/S语言到B/S语言,从非跨平台语言到跨平台跨系统语言,从纯语言到开发平台工具,真的是目不暇接。这些革命性的技术浪潮推动着程序员不断学习新的语言以适应其发展,否则程序员将被淘汰。

学习新的语言有两类人员,一类是从来没有程序设计语言基础的、没有编过程序的人;另一类是已经掌握了一门或一门以上语言,正想要学习更高版本语言或新的语言的人。对于第一类的人我且称为新手。

新手要学习一门程序语言,若是将新手比作一张白纸,可以画出最新最美的图画,同样也可以画得乱七八糟没有美感。新手的第一门语言对其今后的影响是巨大的,如果学得好,则自信心大增,对今后的发展非常有利;如果学得不好,学不下去,则对其职业生涯打击很大。新手面对众多的语言往往无从下手,第一,不知道学哪种语言为好;第二,不知道如何学习;第三,不知道能不能学好!

我认为,就目前而言,先学习Java、C#,今后再想学习应用于后台的C语言都是不错的选择。

针对第三点,我认为只要想学,有职业压力,没有学不好的,只有学不到最好的。

关于第二点,我的建议应特别注重两个要点:一是基础,二是动手能力。学语言首先要看书,然后要动手。那些认为光看书就能学会语言的想法是很幼稚的,而那种光注重编程而不注重读书的人,将来一定是动手能力强而编程水平低的。

1)新手不要急于求成,要把时间放长一点,先把基础知识学好,基础越扎实,今后编程水平就越有可能提高。看书至少要花三个月时间。

主要选择计算机原理、程序设计原理以及所学语言相关(最好是入门类,不要刻意地选择哪本,对初学者来说,任意一本都是好的)的三类书籍。

2)由于看书过程中肯定会遇到很多不懂的概念,而且各种概念之间的关系也不容易理解和掌握,所以许多新手望而生畏,坚持不下去。这个时候一定要学会坚持,坚持读下去,反复读下去,对实在不懂的概念要注意收集,将其牢记在心。这个时候最好不要找人去解答,而是把所有的书籍反复看完3遍之后,再去找人解答,这样就可以加深对这个问题的理解,而且解答者也愿意回答。如果一有问题就去问,一是解答者容易失去耐心,二是自己对问题没有印象,容易产生依赖性。

3)有了一定基础知识之后,就要自己想办法安装编程环境。安装编程环境的要点可参照1.2节中有关“流程”的阐述,这里就不再赘述。

4)开发环境安装完成后,新手就可以编写显示“hello world!”程序了。

编写这个程序目的主要是学习主程序的作用、主程序的参数入口、简单的赋值语句、显示功能调用和退出程序语句。通过完成这个程序,新手就可以对编写程序流程有一个切身体会。

5)接下来可以学习算术运算编程。试一试算术表达式编写,可以简单地编写一个计算器示例;也可以编写一个显示日历的复杂程序(若输入年份,则显示这个年份的日历)。在这个阶段主要是学习函数以及函数的调用、算术运算、条件语句、循环语句、显示功能等,这些都是编程的基础。

6)完成算术运算的学习后,可以编写更复杂的完整的程序了。例如可以编写一个学生信息管理程序。其功能为:接受一个学生信息(例如,学号、学生姓名、班级、年龄)并把它保存在计算机中,同时提供增加、删除、修改、查询功能。信息保存形式可以是文本文件,也可以是数据库。

这个阶段主要是学习变量、数据存放、文件操作、数据库操作、程序完整性等,这也是编程的基础。

7)完成上述学习之后,程序员要学会回头梳理自己编写的程序,梳理自己已经学过的概念。可以对自己以前的程序进行修改,培养不断提高自己编程水平的意识。

8)在这些过程中若遇到问题,先看帮助。帮助不行,最好是找懂行的人询问,不要自己钻牛角尖,浪费时间。上网查询也可以,但是不如询问别人直接。看书是不能解决问题的,切记!

9)在这些都完成之后,程序员可以有目的地针对自己将要开发的内容进行相应的技术学习和准备了。

10)编写程序的时间估计需要2~3个月。一般而言,一个新手学习一门语言需要半年左右的时间。有的可能要少一点,有的可能会多一点。但是,无论如何,最终的结果是程序员对语言有了初步的了解,可以用语言编写简单的程序了。

这篇关于新手如何学习一门新的语言的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/751936

相关文章

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Go语言中泄漏缓冲区的问题解决

《Go语言中泄漏缓冲区的问题解决》缓冲区是一种常见的数据结构,常被用于在不同的并发单元之间传递数据,然而,若缓冲区使用不当,就可能引发泄漏缓冲区问题,本文就来介绍一下问题的解决,感兴趣的可以了解一下... 目录引言泄漏缓冲区的基本概念代码示例:泄漏缓冲区的产生项目场景:Web 服务器中的请求缓冲场景描述代码

Go语言如何判断两张图片的相似度

《Go语言如何判断两张图片的相似度》这篇文章主要为大家详细介绍了Go语言如何中实现判断两张图片的相似度的两种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 在介绍技术细节前,我们先来看看图片对比在哪些场景下可以用得到:图片去重:自动删除重复图片,为存储空间"瘦身"。想象你是一个

Go语言中Recover机制的使用

《Go语言中Recover机制的使用》Go语言的recover机制通过defer函数捕获panic,实现异常恢复与程序稳定性,具有一定的参考价值,感兴趣的可以了解一下... 目录引言Recover 的基本概念基本代码示例简单的 Recover 示例嵌套函数中的 Recover项目场景中的应用Web 服务器中

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

Go语言中使用JWT进行身份验证的几种方式

《Go语言中使用JWT进行身份验证的几种方式》本文主要介绍了Go语言中使用JWT进行身份验证的几种方式,包括dgrijalva/jwt-go、golang-jwt/jwt、lestrrat-go/jw... 目录简介1. github.com/dgrijalva/jwt-go安装:使用示例:解释:2. gi

Go 语言中的 Struct Tag 的用法详解

《Go语言中的StructTag的用法详解》在Go语言中,结构体字段标签(StructTag)是一种用于给字段添加元信息(metadata)的机制,常用于序列化(如JSON、XML)、ORM映... 目录一、结构体标签的基本语法二、json:"token"的具体含义三、常见的标签格式变体四、使用示例五、使用

Go语言使用slices包轻松实现排序功能

《Go语言使用slices包轻松实现排序功能》在Go语言开发中,对数据进行排序是常见的需求,Go1.18版本引入的slices包提供了简洁高效的排序解决方案,支持内置类型和用户自定义类型的排序操作,本... 目录一、内置类型排序:字符串与整数的应用1. 字符串切片排序2. 整数切片排序二、检查切片排序状态:

基于Go语言实现Base62编码的三种方式以及对比分析

《基于Go语言实现Base62编码的三种方式以及对比分析》Base62编码是一种在字符编码中使用62个字符的编码方式,在计算机科学中,,Go语言是一种静态类型、编译型语言,它由Google开发并开源,... 目录一、标准库现状与解决方案1. 标准库对比表2. 解决方案完整实现代码(含边界处理)二、关键实现细

如何合理管控Java语言的异常

《如何合理管控Java语言的异常》:本文主要介绍如何合理管控Java语言的异常问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍2、Thorwable类3、Error4、Exception类4.1、检查异常4.2、运行时异常5、处理方式5.1. 捕获异常