新手如何学代码(新手如何学代码编程)

众所周知在快速发展的信息时代,程序员是极具优势的工作,不仅很少被社会琐事烦扰,还能拥有极高报酬。可是作为一个零基础的初学者该怎么成为一名合格的程序员呢?那么下面就让我分析一下初学者该怎么学习编程。

1.编程语言

要当程序员,肯定是要从学习一门编程语言开始。这是HelloGitHub给出的2022年5月编程语言排行榜:

可以从这个排行榜中清楚地看到哪些是热门语言,我整理了一下对于各种语言的看法,但是具体怎么选择就看你自己的需求啦:

Python:它很适合初学者,简单易学,并且和人工智能关系密切。目前主要应用于web开发、应用开发、大数据、数据挖掘、科学计算、机器学习、人工智能、运维、自然语言处理等等。

Java:相对于C也是比较简单的语言,不过它的学习难度肯定比Python大,在这三个语言中难度中等,、目前主要应用于安卓和 IOS 的应用开发、视频游戏开发、桌面GUI、软件开发等等。

C:难度最大,主要应用在操作系统、嵌入式领域和服务器领域。应用范围广,薪资待遇高。C++ 是 C 语言的一个超集,既有指针又有对象使它成为最复杂的语言。几乎所有现代编程语言都由C/C++发展而来,因此了解C/C++非常有利于快速掌握其他各类编程语言;

JavaScript: JavaScript 是一种动态类型、弱类型、基于原型的直译式脚本语言,也是使用频率最高的给 HTML 网页增加动态功能的语言。作为脚本语言,JavaScript 可立即运行而无需等待服务器响应,速度非常出色,并且它是动态类型语言,学习难度低。

这几个各有各的特色,但是如果你想入门当程序员,那我建议你从Python和Java中选,这两种语言相较于C来说,更容易上手。

2.算法和数据结构

作为初学者,当你把编程语言学到一定程度后,接下来就是编程的通用技能了:基本的算法和数据结构。

你可能会说,你以后想找的工作很简单,和算法这一块儿关系并不大,有基本的知识就够了;但要知道的是,这东西就好比地基,你之后的一切工作都将在这基础上开展,如果不会以后进入工作了将花费大量的时间精力和金钱在上面。

在我看来,这些是必须要掌握的:

10个算法:二分查找、递归、排序、搜索、哈希算法、分治算法、回溯算法、贪心算法、动态规划、字符串匹配算法。

10个数据结构:栈、数组、链表、队列、堆、跳表、图、Trie 树、散列表、二叉树;

千万不要小瞧这它们,每一个展开了去细学,怎么都得要一年半载;想想办法把这些吃透,起码以后再看见这些问题不用翻书,然后你就可以进一步向更深的层次进发,去思考这些问题:

编程框架是如何运转起来的?

主流的编程框架和设计模式存在怎样的共通模式呢?

List、Hash、key各自的应用场景和共通之处?

……

每一个问题都是一座大山,当你想明白并且拿出可行的解决方案,你的技术相比以往就会提升一个Level。

3.实操

“实践出真知”,这话放在编程的学习中,显得尤为合适。

网上有一句比较流行的话,“我的眼睛和大脑都会了,但是手不会。”学习编程的过程中也容易出现这些问题;可能你通过看书、看视频突然get到了某一个点,但是并没有去实操,在不久后重新遇到相关的问题,全部忘记也是正常的。

所以,寻找实操性较高的个人项目,提升阅读和编译速度,是学习编程的不二之选。GitHub上有几个有趣的项目,可以参考一下:

lllyasviel/style2paints 这是一个能够根据用户自定义的颜色给线稿上色的工具。在这里,以ABCD这种格式呈现一些结果。你只需要上传你的的草图,选择一种样式,然后放置光源。就可以实现AI上色当结果在没有任何人为颜色校正的情况下立即获得时,我们将此结果视为全自动结果。当结果需要一些颜色校正时,人类可以很容易地在画布上放置一些颜色提示,以指导AI着色过程。

seq2seq-couplet 这是一个使用 seq2seq 模型来进行对联(对对联)的项目。

MisterBooo/LeetCodeAnimation 为了帮助大家更好的入门学习算法,经过半年的积累,创作者给大家整理了《剑指 Offer》系列的四十道题目,都是算法面试的高频题目,每一道题目都提供详细的分析、精美的配图、易于理解的动画视频,适合那些第一次刷题的同学,当然,也适合重复刷题的老手再次学习巩固基础。

这篇文章就介绍到这里,希望对初学者能有所帮助,欢迎点赞分享(转载来源:程序员客栈)。

拓展知识:

相比于其他传统行业,程序员的确是低投入、高产出的工作。但你千万不要以为有台电脑,就能编程变现。零基础入行,如果方法不对,一定会困难重重。拿我自己来说吧,作为一个入行8年的老程序员,我不是科班生,完全是从零基础自学的编程,刚开始的时候也遇到了很多问题,跌过不少跟头,好在一路坚持了下来,现在也算有所建树。就给你分享一下我自己学编程的经验吧。

第一阶段,选择语言。

你需要用百度谷歌提前上网了解,像C、C++、Java、JavaScript,包括时下比较新潮的Python、Go,都是我们所说的编程语言。这些语言都没有绝对的优势,而是各有千秋,侧重于不同的需求。例如新兴的 Python 在数据分析和机器学习等方面有较好的应用,而传统的JavaScript、Java则是用于web前后端的开发,更符合市面上的岗位需求。

在选择时,你要先给自己想进的公司,想做的职位有一个初步的画像。我个人建议,如果是想要从事相关工作,还是要选择一个应用范围和前景都更广阔的语言作为入职的敲门砖。等到真正工作以后再学习其他语言。

第二阶段,学习编程“思想”

这时候你可能会纠结于是报个培训班还是自学?这要根据你自己的个人情况,现在网上编程的课程体系很丰富,像是 B站上有很多教Java的视频,不懂的地方也可以向百度和谷歌求教。至于培训班,在内容上其实和自学都没有多大出入,但可以帮你强制性的固定一个学习时间,花钱给自己买点儿压力,要是在时间和财力允许的状况下可以选择。

而在学习的过程中,切忌无脑的照着别人的代码敲,甚至我都不建议你记笔记。因为最重要的是能够学习别人的编程的思路,你要时刻思考这个功能是怎么实现,为什么要这么实现。最好能每次看完书或者视频,用自己的思路把这些东西整理出来,在和视频中对比,找出问题,这样才能把人家精髓的东西消化到自己的思维中。

第三阶段,动手实践。

学习时,你要给自己一个心理暗示,把自己当做一名真正的开发者。因为编程是一项必须放在实践中检验的工作。记熟语法和API只是基础,能用他们解决实际问题才叫编程。在你摸到一些编程思路之后,可以尝试着脱离课本完全自己实现功能。自己实现一些小项目来练手,看别人项目代码,与别人讨论,提升代码能力。最终的入职报告上,你所做的项目才是能证明你个人价值的经验。

第四阶段,了解业务逻辑。

什么是业务逻辑呢?简单来说,就是客户给你的框架和要求。

我刚开始工作的时候,也是一接到业务上手就写代码,以至于到了中后期会漏掉客户要求的点,或没办法周全客户的需求。这也是很多新手会犯的一个毛病,有经验的老手通常就会告诉你,没有任何一个项目十一上来就写代码了。

我们需要在动手之前,仔细的研究客户的框架和要求,理清业务逻辑。把编程过程中,要注意的点罗列清楚,可以做成一个流程图,再开始动手编程。

作为一个零基础的初学者,如果能走过这4个阶段,基本就算是入行了。这些也只是我自己个人的经验总结,希望能够帮助到大家。

新手如何学代码(新手如何学代码编程)

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注