自学程序员怎么入门
自学编程最怕的自学不是没天赋,是程序抱着教程从第一页翻到最后一页,然后关掉窗口问自己:我刚才看了什么?员入我见过太多人卡在这一步。2019年有个朋友想转行,自学买了三本Python书,程序每天下班啃两小时,员入三个月后连一个能跑起来的自学命令行工具都写不出来。问题不在他笨,程序在他把编程当历史课背了。员入
先装环境,自学再写代码,程序别等“学完基础”再动手。员入你不需要知道变量在内存里怎么分配,自学就能让程序打印出“hello”。程序打开浏览器搜“Python在线运行”,员入随便找个网页版编辑器,敲下第一行print("我开始了")。按运行。看到输出那一刻,比看十页变量作用域有用。我学编程第一天干的事是写了个计算器,只能做加法,代码丑得没法看,但那个加法按钮真的能点。这种“能跑”的反馈,是自学路上唯一能续命的东西。
选语言别纠结。想快速看到界面就JavaScript,想跟数据打交道就Python,想理解计算机底层就C。但别同时学两门。我认识一个哥们儿,周一到周三学Java,周四到周六学Go,周日复习,半年后两门都停留在“知道怎么打印数组”。语言是工具,锤子螺丝刀各买一把没问题,但你得先会用其中一把把钉子敲进去。
遇到报错别急着搜。先读错误信息。很多人扫一眼“SyntaxError”就复制去百度,其实那行字已经告诉你第几行少了个冒号。我刚开始学的时候,一个缩进错误找了一小时,最后发现是Tab和空格混用。这种坑踩一次记一辈子。搜答案时加上语言名和错误关键词,比如“Python list index out of range”,比直接贴代码片段管用。Stack Overflow上那些被踩过一万次的答案,比你买的教材更新得快。
项目不用等“学完”再做。你学到循环就可以写个猜数字游戏,学到文件读写就可以做个记账本。有个读者跟我讲,他学完函数后花一个周末写了个批量重命名照片的小脚本,虽然只有三十行,但那是他第一次觉得“我会编程了”。这种小工具解决的是你自己的问题,动力比跟着教程做待办事项列表强十倍。教程里的项目是别人的需求,你自己的需求才带着真实的痒处。
别囤课。收藏夹里躺着二十个G的教程,不如把其中一个看完。B站、YouTube、Coursera上免费资源多到溢出,但看视频容易产生“我在学习”的幻觉。真正的学习发生在你暂停视频、自己敲代码、然后发现运行结果和老师不一样的时候。那个调试过程才是你的。
最后说个反常识的:初期别追求“理解原理”。你不需要知道为什么0.1 + 0.2不等于0.3,就能写出一个能用的网页。先让东西跑起来,再回头补底层。我写了两年前端才真正搞懂事件循环,但不妨碍我之前做的那十几个页面被人用着。编程是门手艺,手艺靠练,不靠背。
找个人看你代码。哪怕对方也是新手。我最早写的函数,被同学指出“你这个变量名a1 a2 a3,三天后你自己看得懂吗”。当时不服,一周后打开文件,确实看不懂。有人看,进步快一倍。没有真人,就把代码贴到论坛,被骂几次就长记性了。