初学者不知道怎么学编程?那么你一定要收藏这篇文章

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

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

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

  1. Python:它很适合初学者,简单易学,并且和人工智能关系密切。目前主要应用于web开发、应用开发、大数据、数据挖掘、科学计算、机器学习、人工智能、运维、自然语言处理等等。
  1. Java:相对于C也是比较简单的语言,不过它的学习难度肯定比Python大,在这三个语言中难度中等,、目前主要应用于安卓和 IOS 的应用开发、视频游戏开发、桌面GUI、软件开发等等。
  1. C:难度最大,主要应用在操作系统、嵌入式领域和服务器领域。应用范围广,薪资待遇高。C++ 是 C 语言的一个超集,既有指针又有对象使它成为最复杂的语言。几乎所有现代编程语言都由C/C++发展而来,因此了解C/C++非常有利于快速掌握其他各类编程语言;
  1. JavaScript: JavaScript 是一种动态类型、弱类型、基于原型的直译式脚本语言,也是使用频率最高的给 HTML 网页增加动态功能的语言。作为脚本语言,JavaScript 可立即运行而无需等待服务器响应,速度非常出色,并且它是动态类型语言,学习难度低。

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

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

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

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

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

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

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

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

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

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

……

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

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

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

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

  1. lllyasviel/style2paints 这是一个能够根据用户自定义的颜色给线稿上色的工具。在这里,以ABCD这种格式呈现一些结果。你只需要上传你的的草图,选择一种样式,然后放置光源。就可以实现AI上色当结果在没有任何人为颜色校正的情况下立即获得时,我们将此结果视为全自动结果。当结果需要一些颜色校正时,人类可以很容易地在画布上放置一些颜色提示,以指导AI着色过程。
  1. seq2seq-couplet 这是一个使用 seq2seq 模型来进行对联(对对联)的项目。
  1. MisterBooo/LeetCodeAnimation 为了帮助大家更好的入门学习算法,经过半年的积累,创作者给大家整理了《剑指 Offer》系列的四十道题目,都是算法面试的高频题目,每一道题目都提供详细的分析、精美的配图、易于理解的动画视频,适合那些第一次刷题的同学,当然,也适合重复刷题的老手再次学习巩固基础。

这篇文章就介绍到这里,希望对初学者能有所帮助,欢迎点赞分享

如何学好编程?相见恨晚的学习方法

关于编程学习的最佳方法就是:重复地阅读代码和编写代码(读>写代码>读>写代码),阅读书籍、博客文章、开源代码,了解语言或系统,自己实际去写代码。

下面分为四步走给大家说下!

编程学习需要很多的知识,不同的语言还有不同的语法,不同的应用环境。学习编程的第一步,就是我们各种编程的基础知识,这里还包括数据结构、基础语法,网络知识概念等。然后通过别人写的例子进行更好地学习,快速理解各种语法规则等。

例如:每一种编程语言都包含内功(算法、数据结构)和招式(变量、条件判断、循环、函数、模块、文件、并发)这些招数不管你学C还是Java,C++都是会有的,只是语法不一样而已。

“学习编程的唯一方式就是编程”。编程学习往往需要大量实践,理论再好不动手也是不行的,从第一个“Hello word”开始。从看别人的代码、模仿别人的代码,再到写出自己的代码,这都需要经过大量的练习。

一开始你可能只是写一个函数,再后来就是写一个小程序,再者就是参与小项目开发了,很多项目都是具有相似性的,经过不断地练习之后,可能不到半年你的实战经验就足以丰富到尝试大项目了。

通过项目实践,找到完成增项目的整体思维,培养大局观意识,把知识系统地链接起来。遇到问题及时记录下来,然后针对性地去学习相关的知识,如此循环,通过一个知识点然后不断地向外延伸,这样的学习更加高效实用。

例如,你正在做某个项目,需要用到B,而学B的时候,发现又要去学C才能更好地理解,C当中又包含D,这样一步步去推导学习,性价比更高,更节省时间,效果也更好。

简单来说就是以教促学,每当你认为学会或者掌握一个知识后,去给别人讲明白,通过这种方式对自己做一个检验。

以此作为参考,编程的学习也可以分为三个环节:

  • 1、学:就是学习模仿优秀的项目,阅读优秀的源码
  • 2、练:就是练习,找 demo、小型项目、开源项目,大量重复地敲代 码
  • 3、教:就是教练,通过写教程或者视频的方式给其他人讲明白一个项目

1、2 两点属于被动学习,吸收效率在 10% 至 30% 之间,而 3 属于主动学习,也就是费曼学习,吸收效率高达 90% 。

也就是大家可以通过强制输出带动输入,为了提高学习效率,可以主动地分享和教其他人,在这个过程中也是对自己学到内容的一种复习和检验。

如何开始学编程

  

        当然学习编程之前必须有个预备操啊,上学时代我们学习之前就必须做早操啊,做完才可以去学习,编程也不例外,虽然我挺不喜欢早操,那也没办法,谁叫你是学生,是学生就必须去做预备工作。

        预备工作:工具:一台电脑(这不是废话吗?),一本关于c语言教程的书(本人推荐C  Primer Plus 第五版)

        操作流程:第一步~启动电源,第二步~开机(怀疑小编是不是哪根线搭错了),第三步~下载一个非常有用的软件,小编就是使用visual stido2013这个强大到屌炸天的编译器,会带给你全新的体验。

        有了编译器还不够,虽然强大,也不足以让你可以自己无师自通,不用学习就可以操作的吧,如果是的话,那么快点做我师傅吧,太牛了你,你就是百年难遇的彗星,那么耀眼,话说回来彗星我连见都没见过。

        这时候你就需要一本c语言的书来帮助你学习,小编觉得书才是学习的真正意义上使得你明白透彻。

        有了书籍就会有相应的习题给你去做,如果你单单在书上写,那我可以告诉你你真的是又傻又天真啊。编程最忌讳的就是不敲代码而是写代码,如果你在这个编译器去操作,了解一些环境让自己的代码可以适应这个环境,不然的话,你就好像又回到了解放前啊,回到了那个黑暗的时代,那是上学读书的死记硬背死读书的时代啊。

        你也知道编程本来就是一个枯燥乏味的事情,如果只是一个人去学习,没有互动,没有朋友的监督,没有朋友的支持,一路下来都是自己去学的话,那么我可以很负责任的告诉你,你别这样下去了,这样真的会给自己逼疯,你可以尝试在qq社交工具认识自己志同道合的朋友,一起奋斗,一起努力,一起敲代码,一起抱怨,一起开心。总之朋友才是学习的动力,也是学习维持的润滑油。

        如果你具备了以上几点,那么恭喜你,你可以去学习了,去探索自己的一番新天地,别再生活在压抑的世界,因为这是你,你就必须好好珍惜自己。

本文属原创,拒绝转载,谢谢!

如果对编程感兴趣,想了解更多的编程知识,解决编程问题,以及入门指导,帮你解决编程中遇到的困惑,我们这里有java高手,C++/C高 手,windows/Linux高手,android/ios高手,请大家关注微信公众号:程序员互动联盟或者coder_online

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。