偶觉得劝戒年轻人(或者大家视为初学者)不要用VS的程序员可能持有这些心态,偶把它分为正面劝戒和负面劝诫:
正面:
希望你能够通过 makefile, premake, grunt, gulp 等 build 工具,一步一步地搭建工程环境从而对程序如何从繁多的文件中,build生成一份用户可用的模块或执行文件 有一个详细全面的认知。理解整个项目的生成原理,可以让你更好地和其他的程序员一起工作,更好地命名你的原程序文件以及规划你的文件所在路径。而且对于拿到手的项目,可以理解他在编译的每个时间段都做了什么事情。毕竟现在大型项目的build过程,不单单包括调用编译器,他或许还涉及到对源代码拷贝,连接合并,或者对源代码模板解析生成中间文件等管线操作。希望你多开阔眼界,看看程序世界中各种各样的工具的处理方案,也许能够从其他的工具中获得一些好的灵感,或者通过不同种类工具的学习来融会贯通。希望你不被VS而约束或绑死在一个操作系统平台上做开发。而通过对通用工具的熟悉,获得良好的开发素质,从而在未来的技术变化中更快更好地适应不同平台。对于初学者,如果一味地使用VS去操作编译的全过程,或许会失去了对build pipeline做一些编程控制的能力,而这部分能力将会在你lead一个团队做事情时有所优势,同时也让你们的项目规划更趋于自动化。所以,如果有程序员出于这样的初衷给予年轻人劝诫,偶觉得他的出发点是不错的。
负面:
觉得自己不用VS很牛,希望用这种方式迅速占领高地,提升B格,拉开你与他的差距。希望你绕更多的弯路和花更多的时间去研究一些有的没的,从而平衡自己多年使用其他工具获得的技能的心态。希望你能够和他使用相同的工具来获得简单交流的快感,以及拉帮结派。无论怎样,强制要求你不用或者强制要求你使用特定工具的low b,请无视他的存在。
而那些在你使用过程中,跟你介绍其他工具如何处理这些问题,以及告诉你项目如何完整构建,抛开VS该如何来做,以及给予你很好的其他平台解题思路的程序员,请好好地请他吃饭,他们是真心想帮助你提升你的视野和编程水平,并且真心希望你能够加入到他们团队中形成良好交流的人们。