零基础如何开始学编程

先仔细思考一下你学编程的目的。因为靠这个家伙吃饭当程序员和凭借这个技能来提升当前自身的竞争力,需要的学习路线和难度是完全不一样的。

我认为其实学编程是一个很大的目标或者很缥缈的一个概念,很有可能天天嘴上喊着要自学编程的人,其实完全没想好,要用编程来干什么事或发挥什么价值。编程本身只是一个技能或者一种工具,是要发挥价值的。没有目的的学编程,就是耍流氓。

目的不同需要考虑的也不一样~
业余编程和专业编程是两码事!!!
像同一个游戏,职业选手和路人玩的基本是两个游戏。

如果是非程序员,只是用来提升自身的竞争力。
例如:在校学生的搞搞一些刷游戏的小脚本、人事行政的搞搞办公自动化、数据行业的搞搞爬虫和数据分析,金融行业的搞搞量化分析和交易……
那么业务逻辑是主要的,编程是辅助手段,主要用于提高效率。

如果是这种目的的,其实就不需要按部就班,稳扎稳打的那种学习方式和路线。别动不动上来,给自己列个书单,什么《操作系统》,《网络原理》,《编译原理》,《xx数据结构与算法》……
不是说这些东西不好,毕竟是一些练内功的东西,非专业程序员已经没有时间的不建议开始就搞这些。除非你是在校大学生或者拥有大把时间,并且意志坚定的人。

如果立志要当专业程序员并且时间充裕,那么老老实实的硬实力和软实力两手抓,系统的学习就行了。

零基础的人最开始,不需要从这种太细节的地方入手。不然很快,就会沉溺在知识的海洋。可以遵照由上到下的方式进行学习,我又不开发硬件,不做cpu,不做编译器,只是编个程而已,为什么要自己给自己找不痛快? 600多页a4纸的c程序某专业书看个十个八个月的,最后因为做不出东西,失去了初学编程的乐趣,何苦呢。可以先入门写点能装x炫耀的东西,提升点兴趣,再扩展学习其他东西。

然后有能力和时间,再以点带面,从内置数据结构的使用延伸到数据结构设计,线程文件的什么的延伸到操作系统,socket网络编程延伸到网络原理……

不过零基础最麻烦的是入门问题,不然装个环境,都能从入门到放弃。然后出错调试两天调不通,再次放弃。如果有条件的,找些小伙伴一起学习,方便讨论和相互监督。再或者能找个大佬稍微带带最好,不然一个小问题,卡个三五天,心态会爆炸。

零基础另外一个问题就是坚持。能不能制定严格的作息时间和学习计划,然后坚定的执行下去。毕竟自学编程需要一天天从早到晚的面对电脑上网,网上能然你分心的东西太多了。比如你在知乎看一些优秀的回答或者B站观看学习视频的时候,能不能保证不被一些别有用心的推荐算法给诱惑过去。

零基础入门,建议选择一些相对简单的语言。python其实就是一个相对比较好的选择,python基础语法相对简单,该有概念也都有。语言都是相通的,就算后边又需要学习其他语言,那也是很快的,直接套过去就行。

但学编程,语言永远不是第一位,而是要考虑应用,由应用反推需要什么语言或者技术。

  1. 如果想做游戏开发,那么就Unity/C#、Unreal/C++、Cocos或LayaAir/js等都可以。
  2. 如果想做自动化办公vba/python。
  3. 如果想做爬虫数据分析python/java。
  4. 如果想做机器学习方向c++/python。
  5. 如果想做前端那就js。
  6. 如果想做后端开发,那么就java、php、python、go等都可以。
  7. 如果想做app开发,那么就java,object-c。

这样目的性更强,不容易迷失方向。语言搞定之后,就开始学习不同方向所需要的技术。

个人认为,学习资料:文字+图解方式(可以是书或者博客或者学习网站)的效果大于视频,除非是一些操作性比较强的视频效果会好一点,比如安装环境。

最后祝愿大家都能学有所成,得到自己想要的东西吧!

猜你喜欢

转载自blog.csdn.net/weixin_47388144/article/details/105972181