编程语言和学习
在这篇Scala社区赢得人心的5大技巧的文章里,第一条吸引了我:
“1.不要陷入C++一样的、不断膨胀的问题里,留下太多的选择,且没有清晰的最佳实践。”
我对这条深有同感,我目前使用的主要语言之一是C++,但更准确地说是其中的一个小子集,而且每次想从这个子集里跳出来,学学别的内容,向“更高级,更资深”的C++使用者迈进时,常常赶到很困惑,C++太庞大了,不知道要往哪里走,而且要真正地把C++的功能都探一遍,要耗费很多时间,可惜人生短暂。
Scott Meyers的《Effective C++》里的第一个条款:“视C++为一个语言联邦”里,把C++分成“C, Object-Oriented C++, Template C++, STL”4个子语言。但是,日常用起来,好像并不止于这4个,还面临着很多的选择和决策。问题在于,选择太多,没有清晰的最佳实践。有时候,选择太多,玩得太花,也容易出问题。
现在我学习一门新的一门语言或技术时,最喜欢的方式是找到最佳实践,快速上手。一本薄薄的册子快速浏览完,对于新内容的整个知识地图有了了解,明白了关键原理机制,知道了日常最基本常用的功能,就可以开始干活了。日后随着使用的深入,需要用到一些更高级的内容时,前面的知识地图能够指导我往哪里走。
好吧,在这个有很多语言和工具可以选择的时代,希望能用最快速可靠的方式把事情做完,然后多出来的时间去学习下一门语言。