采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师好, 我跟着您的课程学完了Python高级核心技术和Django课程。在高级核心技术的最后中学到了协程,感觉特别绕,如果用好协程感觉最好还要加上实例tornado的应用。 那门问题来了,Python易学难精,花大量的时间在Python的高阶领域是否划算呢?就像您说的,Go轻轻松松就能运用协程,而且性能轻松超越Python。 我们打工人真的时间有限,所以请老师给出意见,该专精Python还是Python再加上Go,那种投入更划算呢?
这样说吧,如果你追求开发效率那么你使用python一定没错,因为光从使用来来讲 python比其他语言都简单,但是当你要追求性能的时候你会发现 - 光使用一门高并发的语言根本解决不了问题啊!!, 你使用python并发没有go语言高,但是当你开发web系统的时候一定会使用到数据库,结果你发现go语言和python确实能轻轻松松实现上万个协程并发,但是你更会发现 - 数据库的并发1s只能入库2000左右,还是配置稍微好点的情况下,这时候你会发现 - 能开上万个协程有卵用。因为数据库承受不了!你会发现: 我得先去提高数据库的并发,结果你发现:
1. 数据库提高并发要学很多内容:
索引调优
分库分表
分布式方案引入
2. 当你把上面做完了你会发现: 尼玛,数据库有不论如何优化都有瓶颈,怎么办啊? - 当然是上缓存啊
好,接着你把缓存引入了,你会发现:
缓存穿透
缓存击穿
缓存雪崩
缓存同步
分布式缓存
3. 当你以为上述问题都解决了,你会发现还是不够啊,因为还有其他类型的需求,比如大量的日志啊,使用mysql和缓存根本没办法啊,好吧- 你引入了kafka,但是kafka引入之后你发现了很多问题
1. 消息挤压怎么办
2. 消息丢失了怎么办
哎太多了,当你顺着这条线走下去,你会发现 - 我靠!! 我花了这么长时间根本就没有go语言或者python什么事儿,我基本的精力都是在解决各种问题中,语言都是辅助,实际上开发过程就是这样啊,你会发现你更多的精力是在架构和解决问题上以及引入各种组件以及填坑各种组件,你会被逼着去学习各种组件的原理-要不然你解决不了问题啊,你才会发现你在语言上花的时间真的是很少一部分,当然语言的高级特性仍然很重要,这是这些只是万里长征第一步,所以用什么你都应该养成去了解底层的动力,这样才会走的更远
我开始也是在纠结到底是学哪个语言,看了bobby老师的课后才发现,语言就那么回事,真的是冰山一脚,老师的课确实让我视野打开了许多,为老师点个赞!现在感觉编程就是个高级组装工,完全就是搭载搭积木,并且解决相互搭配协调的问题,高等级程序员的就是自己造积木。我的理解,不对的欢迎指正!
正解, 这就好比你如果懂电路那么你会发现维修电脑是一件非常easy的事情,否则出现一些疑难杂症你好除了回复别人:“这个只有换主板”这种话以外,你无法知道怎么修复,其实你要是知道原理你会知道,其实可能某个线路有问题修复一下就行了。这就是初级和高级的区别,当然你要达到更高级的话你可能会想:我能不能自己设计 一个电路来解决一些比如耗电的问题等等
登录后可查看更多问答,登录/注册
快速转型Go工程师,成为具备双语言后端能力的开发者
655 1
863 1
1.5k 20
1.0k 11
1.0k 10