#编程学习

我在小红书上的号是浙大吴美律,消费一下母校😄然后发了这篇帖子后,有人留言说浙大就这水平?别给浙大丢脸了,坦白讲看到的时候是有点内耗的,但是转念一想,浙大就这水平,也没毛病,为啥呢, 我是浙大法律系的,没有编程基础,现在学编程3个月,我想问下程序员,你们大一刚入学3个月的时候,一定不会犯错吗? 常见的一个误区是,如果一个人很厉害(比如学历还可以),在任何领域都不应该犯低级错误,然而这个观点是不成立的, 比如我是律师,我就看到过很多老板,在签合同上犯巨大的错误,大到法律专业出身的人会觉得离谱,比如合同主体名称写错,比如给别人做担保却不自知。 他们在创业上是厉害的,但在法律上不专业,也没有经过系统学习,就是会犯严重错误。 所以我们可以提出一个假设:任何人在新领域学习新事物时,都会犯错。 我们还可以提出另一个假设:擅长调动资源、聪明的人可以快速走过这段犯错的时光,像我这样不擅长求助、比较笨的人,通过在X上发推,获得了很多大佬的留言帮助,其实也帮我快速走出弯路了。 犯错是很正常的,也并不可耻,而是一种正常现象。 国内的教育体制、竞争机制下,每个中国年轻人的容错率都很低,可能大家中学都被这么骂过:“这道题我讲了多少遍了,怎么还能错!(班主任怒吼ing)”,这导致大家对犯错的容忍度很低,似乎人人都应该像颜回一样不贰过。有些人因此厌蠢,本质是对自己犯错的恐惧,投射到了别人身上。 然而我想说的是,这种观念其实是阻碍大家进步的,我们上课的时候,比较难的知识点,都是要学一学期的,甚至很多知识点,到中高考也没真正掌握,大部分简单知识点,也不可能指望一次学习就永远学会,学习就是这种缓慢而曲折的过程。 想通上面这点,其实我就完全放松了,现在我是一个工作之外业余时间刚学编程3个月的人,和AI协作的能力还有待提高,又没有找身边程序员朋友帮忙,同时忽略了夯实自己的编程基本功,所以走了些弯路, 如果不是发推,可能我还意识不到自己的问题,可能要走更久的弯路,可见多发推是件好事,我成长得更快了。 感谢panda总带我做推特,每天在群里看大家兴高采烈发推,互相up,更新的动力满满,群里也有大佬给我解答编程的问题,氛围真好!
我就好奇了,到底是谁抱着学好C++啥语言都能轻松的心态去推荐初学者学习的?我怎么就没有感受到有多么可迁移?😅 核心无非是两个:编程范式和生态。 那显然不是所有人一上来做模板就是 policy-driven 的,必然有一个腌入味的过程。那问题是入味了以后如果遇到其他语言,要怎么设计组件?那显然整个设计思路是不太一样的。 还有比如每个语言的内存模型、对象模型、并发模型,以及运行时环境都各有千秋,线程、协程、异步化每家的支持都不一样,同步原语也有很多细微的差别,是直接跑在物理机上还是虚拟机或者解释器上都非常讲究。 更进一步的还有性能观,大家优化目标和技巧基本上像在平行世界一样,底层硬件到高层架构关注点都截然不同,而且又根植在语言的哲学和特性上,很头疼。 关键的问题还有生态,趁手的调试工具和构建体系,以及编译器、库的不同实现,加上那些社区、商业公司驱动的千奇百怪的环境,面对新语言建立不起那种整体图景就非常卡手。 所以那有人宣扬C++学好了啥都不怕甚至捧上鄙视链神坛的,是伪科学;我曾听闻有人向本科生推荐:精通一门语言,最好是C++。精通C++,这个话起码我是从来不敢说的;当然,也有可能是我水平有限,没办法一人击穿整个计算机的体系结构。 总的来说,还是“没有银弹”的思想:种瓜得瓜、种豆得豆,没有什么足以称得王道的路径,只是有些战术层面上的方法比其他方法更高效。 前辈们还是不要祸害新手啦!
你们现在的键盘侠啊,真是一言不合就开骂,搞得好像自己天赋异禀、神功护体似的。 什么“如果一个人没能力仅靠免费的互联网资源掌握Python,他就和程序员这行无缘了”?——我只能说,这种话啊,听起来像是个自学成才的少年天才在装X,其实大概率只是刚看了点视频就以为自己摸到了编程的天灵盖。 现实是什么?现实是: 免费的资源当然多,但碎、杂、无结构,还容易误导。一个初学者在茫茫信息里找重点,难度不亚于在沙漠里找饮用水。这就像告诉一个刚学开车的人:“马路上车多,你自己在马路上练,不会你就别当司机了。”——这不是暴论,是不负责任。 很多人不是不想学,是不知道从哪学,或者根本不知道自己学错了。花点钱报个班,买的是结构化学习、有人带、能提问、能纠错。这叫投资自己,不叫“没天赋”。 而且,程序员这个行业,不是靠“省钱”或者“独立完成任务”的人才能进的行业。更不是你一口“自学成神”就能卡门的圈子。别忘了,这世上大部分牛人,也都是踩着别人的肩膀起来的。 所以啊,像“暴论哥”这种发言,听听就行了。当茶余饭后的乐子。真要拿来指导人生方向,那可就比花四千多报班学Python还贵多了——因为你浪费的是时间,是机会,是信心。 祝你们都别被这种“自学鄙视链”忽悠瘸了。