是一个类似于,学武功是先练《少林基本功》还是直接练《辟邪剑法》的问题。
首先,会提出这个问题的人大部分是还未接触到编程的,可能出于对这行的“钱景” 或是 对行业的“酷炫性”产生的兴趣,想要通过自学来入行。
这里就出现了分支,如果你只是有兴趣,想要做出一些东西来验证你的想法的话,可能《 Python 》《PHP》这样的编程语言比较适合你。目的性不是很强的学习,很容易因为畏难,无法解决问题就选择放弃,所以建议还是选择简单一些,并且能马上看到结果的语言来学习比较好。
这类编程语言就类似于编程界的《辟邪剑法》,你可以不懂底层,没有基本功也能很快让你上手,做出你印象中程序的样子,这样可以更好地提升你的兴趣并且解决你的问题。
如果你是出于对这行的“钱景”,想要未来在这行扎根,并且有不错的发展的话,应该不至于因为难而放弃吧?所以以C语言入门还是不错的。
之所以说C语言不那么适合入门,无非是因为:
C语言接近底层, 会让你厌倦无意义的基本概念,而且做不出酷炫的东西,并且对于大多数人来说,C语言在以后工作中基本用不上。
C语言是面向过程的(这里不用争论C语言也能实现面向对象,先收好40米大刀,我是友军),所以抽象程度相对较低,更像是需要一拳一腿练习的《少林基本功》,所以搞清楚,学C语言的目的,是为了扎实的基本功,为了更方便以后的学习。
当然,这里并不是指C语言简单,而是说C语言更像是武功的基础。《 Python 》这样的语言也许一上来就能直接舞一套《辟邪剑法》,但是如果对于体内真气走向不清晰的话,一旦出问题就容易走火入魔,更甚至是只有厉害的剑招,没有雄厚的内力支撑,这样的后果就是,一旦江湖再出现什么厉害的武功,你就只能感叹一句“***”,然后加入争夺秘籍的队伍中,否则只能沦为后辈的垫脚石。
而C语言就是要你清楚体内每一根经脉的走向,真气汇聚的走向,这确实很不爽。尤其是同样初学的人已经能够用《 Python 》指点江山,动不动就在你身边放个剑气啥的。
但是相信我,只要熬过这个坎,别特么说是《辟邪剑法》了,你就是心情大好想要打一套降龙十八掌,发一套六脉神剑,也只会感叹一句,他娘的,天下武功果然是殊途同归啊,这就是高手和宗师的区别,也是个人价值的体现。
《 Python 》这种语言,有个两三年其他语言经验之后,想学的话,一两周就能快速上手,而C语言这样的语言,你搞五年《 Python 》,难度对你来说都低不了多少,还是一个学习的过程。
天下武功出少林(此少林取自金庸大师的少林,和这个少林没毛关系),对于编程语言更是如此,C语言作为始祖级的语言,肯定有缺点,但是这种讲究一拳一脚的练武方式,是普通人成长为宗师最佳的方式之一。
你看江湖,一会来个辟邪剑法,一会来一个九阴白骨爪,偶尔降龙十八掌还来跑个龙套,但是我少林(同上)武功依然屹立不倒,这也就是为什么我说要先学C语言,然后才考虑C++或Java还是Python还是PHP的原因,哈哈。
最后有一句话,我们共勉。
学习有提高效率的方法, 但是绝对没有捷径可言。