学编程的方法可以分为两种:
1、正编程
用短短数天的时间,静下心、认认真真看最简单的基础语法。后面再多看范例,多动手,多学习别人的开源项目,最多半年,必成高手。
这就好比学打拳击,只要用短短几天的时间,认认真真练最简单的直摆勾、滑步这种基本功。后面就是打!打!打!最多半年,必然很能打。
2、反编程
不喜欢看基础语法,那多枯燥,就那么点简单的语法能有啥用?用到哪学到哪,决不在看起来无用的基础语法知识上浪费时间。直接看视频多好,学起来不吃力,照葫芦画瓢能速成,马上就可以看到效果。最好是当前流行什么,你就做什么视频。时下什么最火,你就做什么教学,总之就是要时髦,要劲爆,要吸引人心。老师不懂教,学生前来帮忙,你这样讲,你那样教 …… 看了一年又一年,学了一年又一年,五年十年以后,还是实打实的小白和菜鸟,离开视频教程就两眼一抹黑,啥都写不出来。
这就好比学武术套路,先拜师,后叩头,其他该拿点啥你懂的,一年 10 套路,保证你学不完,学到胡子花白。最后教你一招一般交情不会说的:遇到会拳击散打的,走为上策。
浮躁 —— 是学好编程的大敌。
敬畏 —— 是学好编程的法宝。
蹲得下去才能蹦得高,沉得住气 —— 才能出拳有力。
有人问我为啥句柄的值是指针,我说你显然基础语法都没看。他自豪地表示:“你说的很对我没有看基础语法”,不停批评是我教的不好。我说你基础语法不看,我怎么教你。
过了很多天,他过来说他终于明白了,原因是他自己把窗口句柄与进程句柄搞混了,又开始教育我怎么写教程。我说窗口句柄与进程句柄 —— 在基础语法文档里都有详细解释,没有几个开发工具像 aardio 这样良心,这些很基础的知识都尽讲细讲。
他仍然在批评我教得不好,他说其他语言就教的好,其他语言他学了很多年,教得就很好 …… 我说你用了一个 Windows 开发工具很多年,居然连窗口句柄与进程句柄也分不清楚,这正说明他没教好你,你这是被拖进坑里出不来了。这正说明你学习方法有问题 ……
同样的『反编程』,我两小时内就遇到了 3 个,其中 2 个还把我拉黑了。
我观察了十几年,喜欢『反编程』的用户,他们不是花更长的时间学编程,而是永远都无法真正学会编程。真的我看过很多很多,三年、五年、十年 …… 水平基本没有太明显的变化,永远只能照葫芦画瓢抄别人做好的东西,创新能力、动手能力基本为零。他们永远、永远、永远在等着别人的视频然后继续照葫芦画瓢。
有人不明白基础语法、基础编程知识就是创造一切的基石,是变化无穷的魔术棒。如果搞不定基础知识,就不应该学编程,如果搞定了基础知识,你就已经学会了编程。
有人甚至宣扬『语法无用论』,我见过最夸张的说法就是:“ aardio 极好,就是要浪费时间学语法不好,如果完全照搬 PHP 语法才是聪明的选择,这样我们会 PHP 的就可以直接用 aardio 开发图形化桌面软件了,不用再去多学习新语言,aardio 的用户量一定会更多,怪只怪 aardio 的作者太贪心,有现成的不去照搬,非要自己发明语法 ……”,听完这些,我竟无言以对。
不太明白的是:为什么不提出 JavaScript 也改成完全照搬 PHP 语法呢?这下 PHP 程序员不就更幸福了吗?前端后端 PHP 一把梭,也没 Node.js 啥事了。
我就给你一句 aardio 调用 WinAPI 代码:
var ok,info = ::User32.GetLastInputInfo(
{INT size = 8;INT time}
)
你来用 PHP 写个同样的我看看画面有多美。
Python 倒是可以做这事:
from ctypes import Structure, windll, c_uint, sizeof, byref
class LASTINPUTINFO(Structure):
_fields_ = [
('cbSize', c_uint),
('dwTime', c_uint),
]
def get_idle_duration():
lastInputInfo = LASTINPUTINFO()
lastInputInfo.cbSize = sizeof(lastInputInfo)
windll.user32.GetLastInputInfo(byref(lastInputInfo))
millis = windll.kernel32.GetTickCount() - lastInputInfo.dwTime
return millis / 1000.0
『正编程』的程序员低头看地,『反编程』的的程序员抬头看天。
『反编程』们正在忙着将最时髦的编辑器配置得更美观。
『正编程』们用着简单粗暴的 IDE。
也可以写出简单实用的软件。
联系客服