放弃对语法的执念吧!高级开发人员不是这么炼成的……


全文共1442字 , 预计学习时长5分钟
放弃对语法的执念吧!高级开发人员不是这么炼成的……
本文插图
图源:unsplash
导航都用过吧?想去最近的超市 , 不认识路不要慌 , 谷歌地图帮你忙 , 去几次之后你就不再需要地图了 。
搬新家后附近的体育馆、饭店皆是如此 , 你不会永远需要导航帮忙 。
你记住了它们的位置 , 但并不是刻意去记住每条道路、每条可能的路线 , 多去几次 , 这是自然而然的事 。 而且有时 , 某个地方你可能只想去一次 。
在编程中亦是如此 。
软件开发新手可能会感觉很糟糕 , 因为他们没能记住足够多的语法 , 仍然需要查阅资料 。 在他们看来 , 这说明自己不是一个合格的开发人员 。
开始编程之旅后最两个常见问题是什么?
· 该如何学习所有语法?
· 要花多长时间掌握并应用这些语法(前提是不查阅资料)?
很多人记住一些常用的语法之后 , 可能就觉得自己是个编程好手了 。 他们认为真正重要的是能记住多少语言或者多少种编程语言和框架 。
放弃对语法的执念吧!高级开发人员不是这么炼成的……
本文插图
图源:unsplash
为了能客观地看待这个问题 , 现在来比较一下不同编程语言中用来查找字符串长度的语法:
· seq.length , JavaScript列表 , Java数组 。
· seq.size() , Java序列 , jQuery表达式(不建议使用) 。
· len(seq) , Python 。
· length seq , Haskell 。
· (count seq) , Clojure 。
· seq.count() , Django查询集 。
· SeqType'Length , Ada数组 。
· strlen(seq) , C语言 , 空终止 。
· sizeof(seq)/sizeof(seq[0]) , C语言 , 静态分配 。
可以看到 , 每种语言或技术都有它自己的查找字符串语法 , 想要记住12种语言中的同类语法是很难的 。 使用多种编程语言的开发人员很难记住他们用过的所有语法 , 他们甚至可能懒得去学这些语法 。
语法重要到必须记住的地步了吗?来看看高级开发人员是怎么说的:
放弃对语法的执念吧!高级开发人员不是这么炼成的……
本文插图

放弃对语法的执念吧!高级开发人员不是这么炼成的……
本文插图

放弃对语法的执念吧!高级开发人员不是这么炼成的……
本文插图
放弃对语法的执念吧!高级开发人员不是这么炼成的……
本文插图

放弃对语法的执念吧!高级开发人员不是这么炼成的……
本文插图
放弃对语法的执念吧!高级开发人员不是这么炼成的……
本文插图

放弃对语法的执念吧!高级开发人员不是这么炼成的……
本文插图
欧麦尔·曼苏说:“我编写了255行代码 , 包括一个工作服务器和一个客户端 。 我用谷歌查询了23次 , 主要登陆了StackOverflow、Netty 4网站、Github和JavaDocs 。 计算一下 , 平均每写10行代码就要查询1次!我不知道会是这样 。 ”
放弃对语法的执念吧!高级开发人员不是这么炼成的……
本文插图
他们的坦白应该让各位鼓起勇气 , 不必为记不住语法的所有细微之处而感到丢脸 。 这可能是很多初级开发人员关心的问题 。 实际上 , 各位无需记住所有内容 。
甚至技术招聘人员都不关心这个问题 。 以下是谷歌的一位工程总监对此作出的回应: