G家四大官方语言:C++, Java, Python, Go. 除了Go比较特殊,其他三个应该是目前的主流(leetcode在线刷题就支持C++, Java, Python)。我曾经和很多码农一样,总觉得C++比别的语言难(相对Java, Python),所以要学就学C++。但后来才觉得上班用啥就学啥更合适,一是因为每天上班8小时都在用,当然有更多时间思考熟练;二就是因为下面的故事。
=============================================================我之前一两年时间都在纠结应该好好学哪门语言。我开始做的是iOS, 所以用的最顺手的是obj-c。但一方面obj-c似乎不够高深,另一方面obj-c毕竟依托于苹果,万一苹果改语言(swift)或者苹果变成下一个诺基亚就立刻悲剧了。所以我开始想学好学c++或者java,因为这两门语言生命力更强(那时候经常看TIOBE排名,很明显感觉到obj-c的起伏完全由苹果决定)。但看了几本书以后依然没想好应该学哪门。直到我进Google之后认识了现在的同事c。 c在公司里已经呆了4年,已经有了c++,java,javascript,python的readbility( G家的readbility说明你是这门语言的expert,可以审核别人的代码)。一天c突然转过头来问另一个同事:I haven't use c++ for a long time, could you tell me how to...?这时候我突然发现:他没有每天/每周/每个月/每年?都练习c++。昨天晚上大家一起吃饭,c又谈到了刚看到的一篇关于OO语言应该如何设计的博客。然后开始讨论java,c++应该怎么改进...
这时候我又发现:他每天/每周/每个月?都会更新对编程的认知。随着我使用的语言越来越多,我越来越坚信:编程语言只是用来表达思想的工具,不同的语言在不同方面做了取舍。我们要做的是学好后面的思想,然后为当前的项目选择合适的语言和框架。做到这一点的人会得到码农的荣誉称号:Architect.