新手怎么开始学编程(「洞唐」新手如何自学编程,记住这些少踩坑)
Posted
篇首语:人的天才只是火花,要想使它成熊熊火焰,哪就只有学习!学习。本文由小常识网(cha138.com)小编为大家整理,主要介绍了新手怎么开始学编程(「洞唐」新手如何自学编程,记住这些少踩坑)相关的知识,希望对你有一定的参考价值。
新手怎么开始学编程(「洞唐」新手如何自学编程,记住这些少踩坑)
作者/ 洞唐Coder
排版/ 洞唐Coder
文章字数 / 3778
阅读时长 / 5分钟
身边经常有一些朋友问我,到底能不能自学编程?以我个人为经验我可以很负责任地告诉你。答案是:绝对可以。我接触到的一些程序员跟我一样,其实有很多都不是软件工程专业毕业的。
他们的上一份工作有些是会计师,设计师或者是其他领域的工程师。甚至有很多刚毕业的非软件工程系大学生也都上网自学,像我自己就是自学成才的。
当然,不是半路出家的程序员就要比科班出身的计算机专业毕业的程序员更好。在大学里学的不仅仅是知识本身,重要的是得到终身学习的自驱力和习得文化的熏陶。这一点,我有空会拿出来仔细讲讲。
科班出身的程序员们显然可以接触到圈子本身,不要忘了人际关系(划重点)也是我们在社会上打拼非常重要的环节。这些都不能直接用数字去衡量的,我见过一些科班出身的程序员所以我非常清楚这一点。
那下面我就开始分享6大自学编程的绝招。✅
为什么学编程?
每一个想学编程的人都应该思考一下为什么要学编程?
是觉得编程很酷?或是你想转行?还是想搞一个副业赚钱?
不管你出于什么原因,都应该静下心来认真思考一下。因为学习编程绝不是一时兴起的,而是需要耐心和坚持。我会在视频的最后和大家分享怎么做到坚持和不放弃。
搞明白你真正想要的,是什么?如果你分不清你想去学习编程这件事是出于一个什么样的想法时,请扪心自问“学习编程到底是我做事的手段还是我最终的目的?”这个很重要,我不希望你浪费时间在毫无意义的事情上。
举个例子,你想上架一款能帮助用户解决某类问题的APP到Apple App store或者Google Play Store,你就需要去学习怎么去制作手机应用程序。我们都知道iPhone和安卓手机的程序开发是有区别的,所以你得选择合适的编程语言。
假设你之前学的是网页编程,那网页编程的知识就不是非常适合你突然转去做手机App了。之后你又得重新去学习怎么制作手机App,这会浪费你宝贵的时间。人生苦短,学会合理分配时间也是必备的技能啊!
当你有了学习的目的,就去挑选适合自己的编程语言吧。你就可以针对自己的职业规划去挑选适合你的一些编程课或者是查阅相关的书籍
不要犹豫你要学哪一种编程语言
因为不管你怎么选,任何一门编程语言都有它的优势和劣势。
我只能说没有最好的语言,只有更适合你的语言。关于网络上时常出现的一些“什么是最好的语言”这样的话题争议时,当搞笑段子看就可以了。不要过于较真。
对于不同的应用场景,你要选择的编程语言也不一样。如果你想搭建一个动态网站,你可以选择JavaScript、Python、Ruby或者PHP这样的脚本型编程语言。这类编程语言结构相对简单一点,可以在短时间内上手。
如果你想从零开发一款游戏引擎或者操作系统,从编译型语言C或者C++入手就非常高效了。这类语言除了高效其次就是给程序员提供了灵活性能深度优化程序的质量。但也就是这样的灵活性,会要求程序员对编程语言的熟练度会更为苛刻。
简单举个例子,脚本型的语言就像特斯拉汽车,你只需踩油门就可以了。但编译型的语言就像开其他普通的车,不仅要观察路况还要付出大量保养的费用,保养不好的话车辆还会提前几年报废。所以用起来也相对复杂一点。
学习编程语言,有两种模式你可以参考。横向或者纵向学习。
什么是横向学习?在同一类型的编程语言里学习就是横向学习。
像脚本类型的语言中你可以先开始学Python,搞清楚什么是Python后就可以继续学习其他的脚本型语言了。
编程语言学起来其实真的不难,只要你学会了其中一种,就可以触类旁通,再学习其他语言就不难了。因为这些语言可以互相借鉴又像是在基础上再优化的。
纵向学习就是先易后难,比如说先去学习脚本型的语言,然后再去学习编译型的语言。
为什么做笔记?
不论你用纸质或是电子笔记本来做记录,我都非常建议你在学习过程中一定要做好笔记。这是到达你编程学习目的的重要手段之一。
做笔记的好处有以下几种:
把你学到的新东西立刻记下,因为这样能增强你对这个新知识的记忆
埋下记忆点,便于查漏补缺。因为学习编程要记录的东西真的是太多了,你可能现在都把一个月前学习的东西都忘光了。这时候笔记就能帮你温故而知新。
你可以在笔记里用文字记录你的学习过程,也能通过画(思维导图)脑图去整理知识点的思路。我个人经常使用用Xmind来做笔记,Xmind是一款跨平台的软件。内容可以同步到手机和电脑,还支持离线编辑。
当然除了Xmind,也有其他优秀的一些笔记软件。如微软PC自带的Notpad或者是Microsoft Office等,但洞唐都建议你使用那些能把内容同步到云端的笔记软件如Google Docs、Evernote,这样你的笔记就不容易丢失了。
如果你能养成写作的习惯,那就更好了。因为写一篇文章需要你先整理这些思路,确认这些知识点是对的。为了确认这些知识点,你必须主动搜集更多的信息去验证你的逻辑是否立得稳。这样你就可以从中学习更多的知识,等你发布你的文章后,如果有人给你反馈或建议,你也能从中受益。
学会求助
在学习编程的路上,你不应该是孤独的。
如果你身边有程序员朋友,你就可以直接向他们请教。但在大多数情况下,借助搜索引擎Google或者头条搜索就可以帮你解决编程上遇到的问题。作为初学者,你不会是第一个遇到类似问题的人。所以搜索引擎基本上都可以帮助你解决90%的问题,这些问题在Github、StackOverflow、Reddit、segmentfault里有答案。
这些平台里的程序员都很活跃也很乐意去帮助别人。
StackOverflow堆栈溢出 是一个科技Q&A问答的平台、
Github是全球最大的源代码托管服务商(大部分开源项目都在里面设立代码托管)、Reddit是类似于知乎的问答社区
如果你一遍遍去搜索,都没有找到答案。那么在以上几个平台去提问,看看其他的程序员能不能帮你解决。但问题是,你必须耐心等待别人的回复(因为程序员们可能都会比较忙,义务性的回复就不要太过于纠结了。记住,千万不要对热心回答你问题的网友无理取闹。)必要情况下可以做悬赏令,对回复耐心的且有据可查的回答给予一些红包打赏这样你可以更快获取你想要的同时也节约了宝贵的时间。
Segment Fault主要针对中国用户,与StackOverflow差不多。
在视频最开始我就答应你
洞唐会无私分享编程干货
希望可以让你少走弯路
以最快的速度上手编程
接下来,我就要和大家分享学好编程最重要的一点就是:坚持。
坚持100个小时
拒绝嘴炮,从自己做起。实践比什么都重要,编程是很看重实践的。不写代码,你根本学不到编程思维,所以我诚恳建议你每天写一个小时的代码。
然后持续100天。当你持续100天之后,你会觉得一天3个小时其实都不够用。
在学习编程的路上,你不应该是孤独的。千万不要一个人去做,一定要和别人多交流。
杨友三老师在《集体智慧》一书中提到过,信息只有流通起来才有价值。一个人闭门造车,一是进度很慢,二是特别容易放弃。该怎么解决呢?洞唐给你三个建议:
01.开通一个社交平台账号
每日分享你学习的知识点,在知识点里加#100DaysOfCode的话题标签。这是一个叫Kallaway的程序员推广的全球性活动,100DaysOfCode的宗旨就是想让学编程的人养成每天都写代码的习惯。
02.开通Github,上传你每天写的代码
遇到问题,可以直接把链接发给其他的程序员。让别人可以直接访问你的代码。Github里的代码也能当作一个笔记,把你的成果记下来。随着时间的推移,你的代码能力会显著提升有可能还会帮助到其他程序员。
汉传佛教八宗之祖、后凉国师鸠摩罗什在翻译《妙法莲华经》中说:“乃至童子戏,聚沙为佛塔。”所以说想要成为编程大佬,就必须从编程菜鸟开始,现在就去注册Github吧。(要牢记呀:不积跬步,无以致千里;不积小流,无以成江海。[呲牙])
开源项目并不是特指那种百万用户级别的大项目,你也可以先从小小的代码仓库开始。如果你已经是Github的老用户了,记得在视频下方留言说说你的心得体会给大家一个参考吧。[看]
03.参加线下的程序员聚会
你可以在开发者大会,欣赏资深程序员的代码与对方交流。或是认真聆听某互联网头部企业的员工分享的一些宝贵的经验,这里推荐你去硅谷、班加罗尔或北京中关村的咖啡店去找人聊聊。你都能从他们身上学习很多有用或者是你从来没有想到过的知识。
04.把你学会的东西再教给别人
为了不会教坏别人,那就主动承担起自己的责任吧。这不仅仅是内化知识,当老师能带给你一种成就感。这会极大地激励你。学习一下Linux开源精神吧,要知道Google Android就是基于Linux而开发的。
用软硬件结合的方式去学习
如果你还是在校学生或是还没有明确自己学习编程的目的,只是想把编程作为自己的个人爱好而已。那么洞唐就强烈建议你去使用MIT麻省理工学院“终身幼儿园团队”(Lifelong Kindergarten Group)开发的Scratch入手。
Scratch通过Code Clubs在英国和美国流行。Scratch被用作入门语言,是因为创建有趣的程序相对容易,并且学到的技能可以应用到Python和Java等其他编程语言中。
超简洁的操作页面让敲代码这件事极大降低了门槛,友好的开源让国内也出现了诸如Mind+、kitten等图形化编程社区。丰富的扩展包也增强了Scratch的可玩性,增加了Micro:bit、Lego WeDo 2.0、Lego Mindstorms EV3、lego SPIKE等硬件的扩展。甚至,你还可以使用JavaScript创建自己的 Scratch 3.0 扩展。
大家如果喜欢我的视频或文章
请给我一键三连[狗头]关注我的自频道
【你的洞唐 有点东西】
往期干货分享
相关参考
数控铣电脑编程怎么自学视频(数控编程自学秘籍,你还想再走多少弯路)
磨刀篇一、要有毅力意志这个很重要没有你就扯淡了,二、要有好的教程比如书和视频,书不要太厚几百页的就够了,也不要看得太过明白知道就好了,也不要全部看明白,知道书的一半你已经很不错了,因为你还不知能明白它...
...会儿算是黄金时期,学东西吸收都比较快。但是如果28岁开始学习,至少也要学习1年时间才能够符合企业的初级程序员岗位需求。2、如果想要成为资深基本需要5年时间才行,那会儿各个项目经验都累积了很多,但对你而言可能...
广州plc编程技成培训(PLC编程的基本步骤介绍,新手快看过来)
科学的PLC编程步骤其实很简单,但往往大多数工程师就是认为简单而忽略很多细节。细节的忽略,必然会在以后出现问题。想避免日后的问题,只有好好的遵守规则,没有规矩不成方圆,plc编程一样有其自身的规矩。第一步:阅...
新手怎么成为一名插画师(萌新小白想要自学插画,如何开始?今日有学)
零基础想要插画入门,千万不要什么都不懂就开始!为了便于萌新们正确入门插画,我们今日有学非常专业的插画老师,给大家详细整理了一份自学插画的思路和步骤。如果你自学找不到方向,可以参考哦,希望能对大家学习插...
数控机床编程入门的方法:分析工艺——划出走刀路线——建立坐标系标注坐标——按格式写程序。数控车床编程方法与步骤数控机床编程课,是数控专业的一门综合性较强的专业课,它要求学生不仅会读懂程序,还要会手工编...
数控加工中心新手入门(精华|数控加工中心编程技巧及常用指令一文通)
常用地址符含义地址功能含义A坐标字绕X轴旋转B坐标字绕Y轴旋转C坐标字绕Z轴旋转D补偿号刀具半径补偿指令E——第二进给功能F进给速度进给速度指令G准备功能指令动作方式H补偿号补偿号指令I坐标字圆弧中心X轴向坐标J坐标字...
数控机床编程入门的方法:分析工艺——划出走刀路线——建立坐标系标注坐标——按格式写程序。数控车床编程方法与步骤数控机床编程课,是数控专业的一门综合性较强的专业课,它要求学生不仅会读懂程序,还要会手工编...
#为健康加酚,为新青年加油#本人完全是刚开始跑步锻炼的小白,开始跑了有一个月的样子,想分享给一些准备跑步又或一直想跑步而没有实施的兄弟姐妹们~[加油]我从小算是个爱活动跑跳玩耍的孩子,到初中也迷上了篮球[虎]...
数控机床编程入门的方法:分析工艺——划出走刀路线——建立坐标系标注坐标——按格式写程序。数控车床编程方法与步骤数控机床编程课,是数控专业的一门综合性较强的专业课,它要求学生不仅会读懂程序,还要会手工编...
数控电脑编程教学入门教程(看完这篇新手应该如何上手数控加工编程,又Get到了一个新技能)
大家下午好,今天给大家分享一下,新手应该如何上手UG数控加工编程,如何在最短的时间内独立完成编程,秒变高级编程师。当然在这个艰辛的过程中是离不开自己刻苦的学习和意志力的拼搏。你看到别人的成就,却没有看见...