回忆自己的编程学习之路,不得不提到一个奇怪的现象——
在自己没能把握住一种新的语言时,那种语言随时可以冒出意料不到的错误来将人搞到一头雾水,耗时无数,往往到最后 发现是那种语言本身的BUG;而一旦凭着学习的深入,技术高超之后,狠狠地将一种语言压在脚下时,任凭自由的编写任意算法和代码也往往难得出现错误了。
于是出于惨痛的教训,每次一学习新的东西时,一遇到要解决的问题,我必定预设五种左右的解决方案,对分别研究算法实现,这样看起来花费的精力和时间增加了五倍,但事实是——
一种算法被证实无法行通后,可以马上换另一种,有时去检查本身编程语言或编译器自身的BUG的时间都省了,如果五种及以上都失败,那还说什么 呢,天意让自己不要写了吧!这样一来,事实证明时间花费反而少了许多,而且经过长期这样的发散式的思维训练,极大的提高的编程思维的活跃度,我想大概大脑中的神经元连接回路也至少增加了5的5次方倍吧,总感觉自己的脑袋越发灵光了似的。(呵呵,自夸下)
通过预设多种解决方案,还可以解决一些使用非正版IDE等带来的诡异现象,意思是说,不管算法的意外错误之幽灵要出现在哪个地方,因为已经有了备胎,则逃跑路线多的是,惹不起,肯定躲得掉。
有一次在仅用传统编程(而非训练机器学习方式)写一个自动识别WORD中杂乱无规律的任意题目的题干、选项、正确答案之类的任务时,需要处理WORD中的图元文件,将其提取出来保存为JPG或GIF的格式,前一天使用A算法方案,怎么测试都是万事OK,到第二天频繁提示各种成堆的错误,一开如以为是这台电脑系统被不知什么木马之类的搞了破坏,大概什么系统功能受到的影响,不料换 一台电脑仍然如此,便 瞬间 感慨:怕是我那操作系统已经自动智能化了吧,开始黑我了。好在当时已准备了备用算法,换一种算法去处理就成功了。当然第三天担心已成精的电脑系统故伎重演,于是又颤颤地作了几次测试,居然电脑精已退去了。
从此得出良好教训,凡事多预算几种方案,少多许烦恼,添无数脑回路。当然那点脑回路虽自感终究无法与日益强大的AI相抗衡,但多少能增加点自我安慰的情怀。
网友评论