真正的零基础,非科班如何自学编程!

这篇文章写得特别好,来自公众号:编程剑谱,分享给大家,特别是正在自学编程的同学

先回顾一下自己大学的编程经历:

熟悉我的都知道我是非科班,一路自学编程的,我在大一的时候编程一点点都不会,在大二的国庆假期,才会用 C 语言写 hello world,大二上学期结束之时,也仅仅只会 C 语言,编程真正的好好用心学,是从大二下学期的三月份开始,大二下学期进入实验室,是自己编程能力真正提升的开始,大三一年基本都待在实验室,是我编程能力的提升,历经大三暑期腾讯实习,大四在百度实习期间,成功转型算法工程师,拿到了 2 家大厂算法 offer。

从我开始学习编程,中间历经新手、入门、进阶、实习、后台转算法等经历,一路打怪升级,走到了今天,现在静下心来想想,都不知道当初的自己是怎么坚持过来的。

我个人是真正的零基础,非科班,一路自学编程,走过来的,踩过很多坑,感悟比较多,今天,就想把我当初如何入门的一些心得体会分享给大家。

1、信心 + 决心

我接触的第一门编程语言是 C 语言,C 语言是一门古老的语言,是一门跟底层打交道的语言,也是大学很多科班出身必学的一门课程,应该很多人都会 C,之后我用 C++ java go python js 都写过代码,但是至今我最喜欢的还是 C,不因为别的,就因为它是我学习的第一门编程语言,先入为主,对我的影响很大,开启了我的编程先河。

现在国内的程序员,会使用 C/C++ 的人到是不少,但是真正掌握的 C/C++ 的高手就太少了,有时间有兴趣的话,Linux C/C++ 我还是很推荐去学学,对于系统底层,逻辑思维的提升都很有帮助。

有兴趣的可以看看:

学习编程,需要的基础就是:数学 + 英语 + 简单的逻辑思维,数学的话,只要你达到初中的数学水平,常见的数学公式是很好理解的,英语的话,常见的单词会写 + 实在不会也可以百度啊,逻辑思维,也没有特别绕的,在你打算学习编程之前。你必须清楚的知道:它没那么难,要相信自己一定能学的会,学的好!

对于编程,不论科班、非科班,不论男生、女生,只要你想学,就一定能学的好,要有这个信心和决心。一旦下定了决心要走编程这条路,便风雨兼程,义无反顾,要有不撞南墙不回头的魄力!

2、兴趣 + 坚持

学习任何一件事情,如果没有兴趣,强迫自己去学,学起来会极其的痛苦,也不会学的太好,也很难坚持长远的走下去,如果遇到困难,没有解决,会极其的有挫败感,很容易让你产生放弃的感觉,所以新入门学习编程的,先学语法,在实践,慢慢的要找到学习编程的兴趣。

学习编程,一开始接触,可能很难有感觉与兴趣,我当初开始学习 C 语言的时候,纯是硬着头皮上的,当自己学久了,才慢慢的喜欢上编程的,用 C 写坦克大战、贪吃蛇、五子棋这些游戏、引发了自己对技术的探索和强烈的欲望,慢慢的就深陷其中了。所以学习编程,不是因为你有多喜欢编程,有兴趣才去学的,而是因为当你学过一段时间,用技术解决问题,做出了一些东西,而引发你极大的兴趣,从而更深入的去学习,去研究,这种兴奋,这种兴趣,经历过的人都懂!

学习编程,还需要坚持,在编程的路上,遇到的各种环境安装问题,代码编译问题等等,遇到的困难比你想象的大,有些问题会折磨我1 2天甚至一周,才能解决,解决问题的方法总比困难多,你要相信,花时间总能解决,在这还必须坚持下去(这些都是以前走过的路,踩过的坑)。

python 现在比较火,也简单易学,未来在人工智能领域会起到重要的作用,其发展的趋势也很不错,能做出很多有意义的东西(爬虫、数据分析都能用于实践),C 语言刚开始学起来是有点吃力,但是一旦当你把 C 学好了,在编程的路上会越走越快,用 C 做一些智能系统,做一些简单游戏,也是很有意思的,对底层(主要是操作系统)的理解会更加深刻,综合当下的趋势来说,我建议新手入门首选编程语言:C 或者 python 都挺不错的。

3、方法 + 习惯

刚开始学习编程的时候,选定一门语言,先学习这门语言的基础语法,找找编程的感觉与手感还是比较重要的,培养自己的学习方法 + 合理的规划时间很重要,新手建议,多看视频 + 多动手敲,一定要有自己学习编程的三步走战略,我的战略就是:视频 + 书 + 项目。

对于一门语言,最初的入门阶段,是从陌生到熟悉,从 0 到 1 的阶段,是最难的时期,也是花费时间比较久的阶段,我刚开始学习 C 大概花了一个学期的时间,对于一门语言,你入门用了 3 个月左右的时间,我觉得是正常的,是合理的。

我学习 C 的时候,用的编译器是 VC++ 6.0,是一款很老的编译器,对于一门语言的学习,首选一门适合自己的系统与工具,才能很舒心的进行编程,我现在工作基本上用的是 python、C/C++,用的都是 Vim 进行编写程序以及编译运行,用 Vim 是真的很爽,我是特别的喜欢 Linux 下面的 Vim,建议大家不管是 C 还是 python 入门,都可以考虑 Vim(前提你首先的熟悉 Linux 系统,熟悉 Vim)。 

我当初学习编程,没有用过任何的自动补全编译器以及设置,在学习的阶段,一定要照着敲,一个字母一个字母的敲,这样才能让你更加的熟悉这门语言以及培养自己编程的手感,我是建议:新手一定要一个字母一个字母的敲,不要偷懒,不要嫌浪费时间,这个阶段一定不要省;等你到了一定阶段,编程能力大幅提升之际,在使用自动补全,那会可真的就是行云流水,肆意为之!

在你学了一门编程语言的基础之后,对于数据结构 + 算法,操作系统 + 计算机网络,Linux + sql,这些计算机的基础知识也得多花时间去学习,多看书,系统的学习;学习阶段,讲究的是技术的扎实与全面,需要不求甚解的精神,多去刨根问底,追宗溯源,找工作阶段,需要的是多看面经以及多刷题,一定要清楚的认识到自己目前所处的阶段,一定要在正确的时间干正确的事情(学习阶段切勿看面经学习,学习阶段切勿刷题,以免对自己束手束脚,思维局限,在学习的阶段,是自己折腾技术最佳的时候,一定要多浏览各大技术网站、多尝试,打开思维,活学活用)。

编程习惯的培养也是至关重要的,尤其是新手,对于变量的命名,要有人文化的思想,以及换行、一些中间加空格的写法必须的规范,从最开始就要严格的要求自己,一定要注重细节;编程规范,一旦养成习惯,后面再改可就难了,最好多看看官方文档以及代码示例,模仿着写。

新手学习编程,有人报班,有人自学,我在这说一下,如果你有大量时间,自学完全没问题,如果时间很紧迫,报个培训机构,快速的提升与学习也没有问题,学习最终还是要靠自己,报不报培训班取决于你有没有足够的时间自己去摸索。

4、能力 + 潜力

三步走战略 + 五大能力提升,这块我之前写过一篇文章:

三步走战略:视频 + 书 + 项目 / 春招 + 实习 + 秋招 等,不同阶段走不同的三步走战略。

快速学习能力、信息检索能力、技术选型判断力、应用业务能力,解决问题能力 ---> 五大能力。

学习阶段,一定要注重自己能力的培养,多折腾,多踩坑,多积累经验,只有日积月累的学习,长时间在技术领域的不断深耕,才会对你潜移默化,让你的能力越来越强。

每个人的潜力都是无穷的,都是巨大的,潜力需要被挖掘,需要有人逼自己一把,才能最大程度的被激发出来,这块需要自己挖掘和外界因素,公司招聘也是特别的看重个人潜力。

工程设计,编程习惯、编程素养,这些都是我们要注意的地方,从细节做起,从初学编程做起,养成这些好习惯,一定会让自己受益终生的;以后在工作中会感谢初学编程的自己,这样做也能让我们少踩很多的坑,能最大程度的避免不必要出错的地方,是值得从现在做起,从现在改变。

学好编程,没有捷径,就是不断的敲,不断的 debug,不断的做项目实践,就是这么简单纯粹!

量变引起质变,需要我们付出更多的时间,加倍的努力,才能拿到最终自己满意的效果!

零基础、非科班,照样可以学好编程!!!

推荐阅读

640?

长按识别二维码,关注Python之禅

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
大学生参加学科竞赛有着诸多好处,不仅有助于个人综合素质的提升,还能为未来职业发展奠定良好基础。以下是一些分析: 首先,学科竞赛是提高专业知识和技能水平的有效途径。通过参与竞赛,学生不仅能够深入学习相关专业知识,还能够接触到最新的科研成果和技术发展趋势。这有助于拓展学生的学科视野,使其对专业领域有更深刻的理解。在竞赛过程中,学生通常需要解决实际问题,这锻炼了他们独立思考和解决问题的能力。 其次,学科竞赛培养了学生的团队合作精神。许多竞赛项目需要团队协作来完成,这促使学生学会有效地与他人合作、协调分工。在团队合作中,学生们能够学到如何有效沟通、共同制定目标和分工合作,这对于日后进入职场具有重要意义。 此外,学科竞赛是提高学生综合能力的一种途径。竞赛项目通常会涉及到理论知识、实际操作和创新思维等多个方面,要求参赛者具备全面的素质。在竞赛过程中,学生不仅需要展现自己的专业知识,还需要具备创新意识和解决问题的能力。这种全面的综合能力培养对于未来从事各类职业都具有积极作用。 此外,学科竞赛可以为学生提供展示自我、树立信心的机会。通过比赛的舞台,学生有机会展现自己在专业领域的优势,得到他人的认可和赞誉。这对于培养学生的自信心和自我价值感常重要,有助于他们更加积极主动地投入学习和未来的职业生涯。 最后,学科竞赛对于个人职业发展具有积极的助推作用。在竞赛中脱颖而出的学生通常能够引起企业、研究机构等用人单位的关注。获得竞赛奖项不仅可以作为个人履历的亮点,还可以为进入理想的工作岗位提供有力的支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值