如何从零开始学编程
给入坑计算机的新人一些建议
本文默认读者会使用电脑,了解文件树的存在,知道文件扩展名等基础知识。
建议静下心来,一行一行慢慢阅读。
# 为什么要编程
编程可以做一些有意思的小东西,对计算机施加一点魔法,让它能够按照你的需求行事。
不仅如此,在学习编程的过程中,你会逐渐了解到计算机运行的底层逻辑。倒也不是非常底层,但你至少会对某些事情的发生,某些事物都有什么作用会产生一定的印象。这些印象长期叠加起来形成你的经验,就能够更容易识破网络诈骗了。
有人可能会问,在 AI 时代,我还要学编程吗?那当然还是要学的,就我的了解,学编程不仅仅是学语法、学用法,更多的是培养逻辑思维。就功利性的角度来说,学好一门编程语言,自然就知道如何管理项目、AI 生成的代码大致是什么意思、代码会产生什么效果。就不会将 AI 作为自己的外置大脑,完全许愿式地祈求 AI 能够给出正确的程序了。当你有了一定的经验之后,可以在发现 AI 做错了的时候即使制止,给予反馈,修正 AI 错误的路线,让你的开发效率更高,程序更优质。
总之,完全没学过编程的小白,来学一门自己感兴趣的语言是很有必要的。
# 如何开始编程
所有资料都是开放的,你并不需要买课,互联网就是你最好的老师。
在刚开始的时候,我不建议使用 AI 写代码,AI 会剥夺你思考的权利。在学习阶段,你可以去问 AI 某一段代码是什么意思,但不要让 AI 来完成你的代码编写工作,否则这就不叫学习。
开始的方式有很多,比较枯燥的方式是找一本教材开始,对着教材一页一页操作,就跟大学课堂的教学一样。这很枯燥,教材一般只会教授指定语言的基础语法,你只需要知道它这么写、能记住这么写会产生什么效果就行了。去找一些编程语言的入门教程的效果也是一样的。
从教材开始的目的是打好基础,当然,你也可以完全不读教材,找一个你感兴趣的点开始。
例如我是从百度贴吧连载的 Minecraft 启动器制作教程,以及罗培羽先生的书籍《手把手教你用C#制作RPG游戏》开始接触编程的。
不要害怕犯错,学习编程和学习英语其实有一定共通之处,但并不是因为它们都用26个字母,毕竟“易语言”可是全中文关键字,也不见得能够很快上手。 你要通过编写代码的过程中,逐渐了解这个语言的脾气,知道它能干什么,不能干什么。
其实这和读教材再实践的效果差别不大,但是过程相对更加有趣。你感兴趣的东西你才会去做,让兴趣去驱动你的编程。
# 加一些交流群
与同好互换交流经验是很重要的。刚学会一点编程,做个小东西出来正常运行,会让你兴奋,也会让你膨胀。把你的东西发到群里看,必会有前辈来给你浇盆冷水降降温,长点记性。有人来指点你是好事,说明他们多少在乎你的成果,并且想要向你传授经验。这样的群也不难找,并非专门的编程交流群才能交流,随着电脑在全国的普及,出现了越来越多从初中甚至小学就入坑的业余程序员。在一些人数较多的游戏交流群(特别是 Minecraft 这种便于修改的游戏),也许都可以找到编程同好。
不建议一个新手去做太庞大的东西,更不要过早接触开源。做太庞大的东西会极其耗费你的精力,一时半会弄不完不说,还劳神伤身,影响学习、工作、生活。
首先,开源需要先学习 Git 的使用。虽然有图形化工具,但是学习 Git 的用法,理解分支、提交、合并等概念,也是需要一定水平和时间的。
在学完 Git 的基本用法之后,如果你的代码原创,只是搜索了一些资料研究用法,没问题,你可以随意开源,能开源就是好样的。
但如果你的代码有一部分从别人的项目那里来,或者使用 AI 生成,AI 从某处摘抄了一些代码。这个时候我不建议你开源,特别是用 AI 写代码的情况下。你自己写代码生产不了多少东西,但是 AI 能生产很多东西,很容易就能把仓库搞乱,或者出现不尊重其它开源软件的许可证的情况。事情弄得不好看的话,很难处理。
# 将基础补回来
你也许知道某个语法大致能造成什么效果,但可能只是一知半解,在合适的时机下,最好去主动查一下某个语法的具体用法是什么样的。
- 01
- 《生化危机:爆发夜》观后感09-19
- 02
- 为什么不要使用 AI 来提交反馈问题07-18