Размер видео: 1280 X 720853 X 480640 X 360
Показать панель управления
Автовоспроизведение
Автоповтор
影片章节:00:00 为什么00:12 关于Python00:35 Golang的优势-性能02:26 加载速度02:40 开发框架04:28 调试05:25 Python和Golang共同的优势05:33 Golang与C++语言的比较。我做了一个字幕,可惜没有无法帮博主上传。
厉害
@@dinggecoding 放上字幕和影片章节,可以提高观看量哦。如果需要有人帮你做这样的事情,可以考虑一下我哦。
@@bookshop84 感谢,可以给我发邮件。zjet888@gmail.com
@@dinggecoding 发过去了,请知悉。
有两点不同意丁哥的观点:1. 申明变量时 是否需要指定数据类型? 其实我个人认为Python 做了一个很好的尝试 很多时候编译器是可以自动识别数据类型的 除非有特殊需求。 新一代编译器比如GO的编译器 允许不申明数据类型 由编译器自动识别。 相反 Java的编译器就比较笨 把一个short age; 但不允许age=age+4; 因为它把4按照缺省的int 类型来处理了。好弱者的编译器。2、 关于脚步语言和编译语言。其实一个语言和是否是编译语言并没有直接对应关系。比如现在的Go语言 即可以当脚步语言在解释器上运行 也可以编译成直接可运行程序。理论上 c语言也可以有一个解释器 作为动态语言来运行。3、 我个人感觉 计算机专业的软件开发工程师和非计算机专业的区别 不在于对一两门编程语言的熟悉程度 而是更低层的一些东西 比如:计算机原理及汇编语言、 编译原理、操作系统设计、数据结构和算法。 这些东西 才是非计算机专业的工程师往往比较欠缺的。
写的很好。
个人觉得,变量类型即使可以不申明,但是变量本身最好申明,否则很容易因为使用了类似的变量,出逻辑错误。而且大小写最好跟普通人类语言一样不要敏感。
@@z48723888 完全同感。
我学习pyton最大的感触,就是因为变量不需要预先定义,结果因为拼写等很容易造成逻辑错误。
之前搭建内部服务用python搞服务端,这次换到go了,发现太香了。
因为python在国内做web开发,很多都是小公司,项目刚起步的时候,用户量比较少。python还可以。但是如果公司的产品发展不错,到10万活跃用户量的时候,并发性就有点hold不住了。就有很多公司要重构,转go,想丁哥谈谈,python高并发有没有什么好的方案,还是说只能换语言
10万日活为何不用php呢,开发岂不是更快
python 一堆一步框架 sanic fastapi 等看看 并发性照样hold住
豆瓣之前都是python写的,网易游戏也有很多服务端项目是python写的,不是语言性能不行,是你有没有驾驭它的能力
有道理
@@jianxinfeng6036 如果不能简单就驾驭,说明还是语言不行
Python Pycharm/Vscode 调试都很方便的,也可以打包成单个可执行文(pyinstaller, nuitka), 写 Python 也是要关注变量类型的,应为 str + int 之类的许多操作,不注意类型的话,就 error 了。
我弱弱的问一句。PHP是没人要了吗?
杠精一下你所说的几点Go相对于Python的优势- Go单文件部署比Python多文件部署方便这属于上古时期的对比优势。现在哪家公司还手动部署?ci/cd自动化测试+编译(Go)+部署,不管使用容器还是serverless,都不需要人工干预。所以不管Go还是Python都没区别- Go可以断点调试这点各大主流的IDE都可以提供Python断点调试Go真正超越Python的地方在于:- 语言级别并发支持(锁和通道)。虽然Python也有AsyncIO, 但Python始终有GIL的限制,无法多核并发。这一点Go语言占尽优势,也是Cloud Native架构的首选语言- 编译型语言的执行速。这对于需要大量CPU计算的业务来说非常适合,虽然Go不如C++或者Rust那么快,但比Python要快几十上百倍(取决于算法)但Python绝对不是玩票性质的语言。RUclips,instagram,Dropbox的后端基本都是Python,只有少量新业务使用Go。Reddit和知乎的后端也都是Python。
关于CICD这一点很认同,甚至现在都是容器化部署,连运行时都一起搞定了,单文件多文件什么的根本谈不上问题
想知道丁哥對JAVA怎麼看?
大致是对的 但是我发现往往喜欢拿python和其他语言比较评论的人 往往是对python一知半解
语言之间的差异在硬件提升,集群扩展的条件下不值一提,真正的原因主要还是装逼。IT领域中没有秘笈,说穿了无非就是那些概念原理,如何组合使用就是看水平了。不能反编译或者难以反编译的语言当然更好了。
这点可能丁哥不太深究,python打断点其实也很方便,只是设置起来要花点时间
python go都是强类型 只不过python是动态语言 类型在运行过程中可以变化 如果不运行起来 很容易让人不知道 在此时此刻 处理的数据是什么类型的
说的很好啊。
直譯式語言就算強型別也枉然
谁告诉你 Python 不能打断点的?
反正我们公司是基于django写框架,就这样还没搞的特别好了,再改golang重写就封了。
python部署100个文件?python不能指定数据类型?python执行效率不行,那cython呢?Go调试比python舒服???
python也可以编译打包成一个文件去部署
可能正是因为Python易上手,不需要考虑过多复杂的情况,才特别受欢迎
一直不关心语言。能写出好应用就是好语言! python可以节约很多时间
但是不是所有的应用都不关系运行速度.
@@lucasidealthm7128 很多公司产品都没做起来就要求速度,没必要,只要能写出赚钱的应用。后面再优化速度就行。用户起来了肯定关心速度。产品起步阶段要求速度那就是本末倒置
哥,如果GO耍的好的话,有没有必要学rust? golang用久了有点回不去的感觉
go用得好為什麼還要轉rust?只為了那多出的一點點效能?換來更複雜的語法,更小眾的市場,更高的學習成本,更久的開發時程......犧牲的地方太多了,當然,我不是指rust不好,它是很優秀的語言,我只是站在已經熟悉golang的角度,去評斷是否有需要轉換rust這件事,不是說不能轉換,而是轉換需要成本,轉換前你要有明確的目的,為了什麼吸引你的原因,值得你轉換,而不是盲從。
有一句说一句,只会py是很找不到好工作的
不说加载速度,运行速度上,python和go相差上百倍以上。
其实是市场的认知问题,总爱拿性能说事,python 性能没有想象那么菜鸡
Python更容易上手,调试go相对方便,Python配之后也可以适用
我感觉python代码可读性不高……哈哈
那99%是因为代码没写好LOLPython 在我用过的几类语言里面是最接近自然语言的了。
4年後AI崛起主流還是python
玩习惯java觉得编程要有个框加好,golang自带库确实很够用了,
回头来看这个视频,如果之前用Python 要转型的话,我宁愿用 Java 。
说实话,我java转go,写起来真的很不舒服,理解简单,但是总感觉少了东西。。。。。
go語法其實不是C Like語法(Java還比較像),但設計的理念卻很像C(比如struct),也就是因為這樣,它並不是完全支援物件導向的語言(或者說只做半套),可以理解物件的屬性是宣告在struct,,方法是宣告在struct之外,不支援this (偏要用迂迴的做法將本身物件傳入),不用管記憶體回收,可以理解成介於C及C++之間的簡化版語言。你若java用很熟練了,一定對物件導向的概念根深蒂固,但golang的設計就不是要全面支援物件導向的,所以用起來很彆扭。但如果你是學C起家的,你會發現它比C簡單很多,且更物件化。
哈哈哈,恐怖的头文件嵌套😂
为什么不使用java呢
因为很多大系统,之前java写的核心模块,性能快顶不住了,都在用golang重写。
應用場景不太一樣,Java適合做server端(client端應用程式也可,部署比較麻煩,而且還要確保每臺client端的jvm環境),golang比較像C,直接編譯成執行檔。
丁哥,技术的应用也应该根据市场和公司现况来,不是技术本身决定。
嗯
看的出来,up主对go和python一知半解
同意
计算机专业 ~ 程序员
让我觉得难受的是类型,我不喜欢不确定类型
就我的浅显认知觉得,高效大规模稳定运行,编译语言还是比脚本用得安心,虽然也有高手解决python的一些办法.
Python 的 debug 也很方便
nice
can u do english , it's better to go world .....
丁哥太牛了,各种语言都能贯通,能否介绍下如何学好一门语言和了解内存里发生了什么,比如一般人学语言会用function把变量放进括号里就以为学会了,但不了解内存如何处理变量,换个语言就感觉很吃力,还是基础最重要,记得丁哥有一集说过要理解到底发生了什么,能否以后多讲点底层的东西?多谢!
可以看看汇编
@@kholmsk20 先让他试一下C吧,没被折磨疯的话,可以再考虑更底层的汇编。
丁哥老前辈,点赞!
#program once
发量
good
丁哥, 我给你发了email, 想跟你请教个问题,麻烦你查看下。 感谢你了。
已回复邮件
影片章节:
00:00 为什么
00:12 关于Python
00:35 Golang的优势-性能
02:26 加载速度
02:40 开发框架
04:28 调试
05:25 Python和Golang共同的优势
05:33 Golang与C++语言的比较。
我做了一个字幕,可惜没有无法帮博主上传。
厉害
@@dinggecoding 放上字幕和影片章节,可以提高观看量哦。如果需要有人帮你做这样的事情,可以考虑一下我哦。
@@bookshop84 感谢,可以给我发邮件。zjet888@gmail.com
@@dinggecoding 发过去了,请知悉。
有两点不同意丁哥的观点:
1. 申明变量时 是否需要指定数据类型? 其实我个人认为Python 做了一个很好的尝试 很多时候编译器是可以自动识别数据类型的 除非有特殊需求。 新一代编译器比如GO的编译器 允许不申明数据类型 由编译器自动识别。 相反 Java的编译器就比较笨 把一个short age; 但不允许age=age+4; 因为它把4按照缺省的int 类型来处理了。好弱者的编译器。
2、 关于脚步语言和编译语言。其实一个语言和是否是编译语言并没有直接对应关系。比如现在的Go语言 即可以当脚步语言在解释器上运行 也可以编译成直接可运行程序。理论上 c语言也可以有一个解释器 作为动态语言来运行。
3、 我个人感觉 计算机专业的软件开发工程师和非计算机专业的区别 不在于对一两门编程语言的熟悉程度 而是更低层的一些东西 比如:计算机原理及汇编语言、 编译原理、操作系统设计、数据结构和算法。
这些东西 才是非计算机专业的工程师往往比较欠缺的。
写的很好。
个人觉得,变量类型即使可以不申明,但是变量本身最好申明,否则很容易因为使用了类似的变量,出逻辑错误。而且大小写最好跟普通人类语言一样不要敏感。
@@z48723888 完全同感。
我学习pyton最大的感触,就是因为变量不需要预先定义,结果因为拼写等很容易造成逻辑错误。
之前搭建内部服务用python搞服务端,这次换到go了,发现太香了。
因为python在国内做web开发,很多都是小公司,项目刚起步的时候,用户量比较少。python还可以。但是如果公司的产品发展不错,到10万活跃用户量的时候,并发性就有点hold不住了。就有很多公司要重构,转go,想丁哥谈谈,python高并发有没有什么好的方案,还是说只能换语言
10万日活为何不用php呢,开发岂不是更快
python 一堆一步框架 sanic fastapi 等看看 并发性照样hold住
豆瓣之前都是python写的,网易游戏也有很多服务端项目是python写的,不是语言性能不行,是你有没有驾驭它的能力
有道理
@@jianxinfeng6036 如果不能简单就驾驭,说明还是语言不行
Python Pycharm/Vscode 调试都很方便的,也可以打包成单个可执行文(pyinstaller, nuitka), 写 Python 也是要关注变量类型的,应为 str + int 之类的许多操作,不注意类型的话,就 error 了。
我弱弱的问一句。PHP是没人要了吗?
杠精一下你所说的几点Go相对于Python的优势
- Go单文件部署比Python多文件部署方便
这属于上古时期的对比优势。现在哪家公司还手动部署?ci/cd自动化测试+编译(Go)+部署,不管使用容器还是serverless,都不需要人工干预。所以不管Go还是Python都没区别
- Go可以断点调试
这点各大主流的IDE都可以提供Python断点调试
Go真正超越Python的地方在于:
- 语言级别并发支持(锁和通道)。虽然Python也有AsyncIO, 但Python始终有GIL的限制,无法多核并发。这一点Go语言占尽优势,也是Cloud Native架构的首选语言
- 编译型语言的执行速。这对于需要大量CPU计算的业务来说非常适合,虽然Go不如C++或者Rust那么快,但比Python要快几十上百倍(取决于算法)
但Python绝对不是玩票性质的语言。RUclips,instagram,Dropbox的后端基本都是Python,只有少量新业务使用Go。Reddit和知乎的后端也都是Python。
关于CICD这一点很认同,甚至现在都是容器化部署,连运行时都一起搞定了,单文件多文件什么的根本谈不上问题
想知道丁哥對JAVA怎麼看?
大致是对的 但是我发现往往喜欢拿python和其他语言比较评论的人 往往是对python一知半解
语言之间的差异在硬件提升,集群扩展的条件下不值一提,真正的原因主要还是装逼。IT领域中没有秘笈,说穿了无非就是那些概念原理,如何组合使用就是看水平了。不能反编译或者难以反编译的语言当然更好了。
这点可能丁哥不太深究,python打断点其实也很方便,只是设置起来要花点时间
python go都是强类型 只不过python是动态语言 类型在运行过程中可以变化 如果不运行起来 很容易让人不知道 在此时此刻 处理的数据是什么类型的
说的很好啊。
直譯式語言就算強型別也枉然
谁告诉你 Python 不能打断点的?
反正我们公司是基于django写框架,就这样还没搞的特别好了,再改golang重写就封了。
python部署100个文件?python不能指定数据类型?python执行效率不行,那cython呢?Go调试比python舒服???
python也可以编译打包成一个文件去部署
可能正是因为Python易上手,不需要考虑过多复杂的情况,才特别受欢迎
一直不关心语言。能写出好应用就是好语言! python可以节约很多时间
但是不是所有的应用都不关系运行速度.
@@lucasidealthm7128 很多公司产品都没做起来就要求速度,没必要,只要能写出赚钱的应用。后面再优化速度就行。用户起来了肯定关心速度。产品起步阶段要求速度那就是本末倒置
哥,如果GO耍的好的话,有没有必要学rust? golang用久了有点回不去的感觉
go用得好為什麼還要轉rust?
只為了那多出的一點點效能?
換來更複雜的語法,更小眾的市場,更高的學習成本,更久的開發時程......
犧牲的地方太多了,
當然,我不是指rust不好,它是很優秀的語言,我只是站在已經熟悉golang的角度,去評斷是否有需要轉換rust這件事,不是說不能轉換,而是轉換需要成本,轉換前你要有明確的目的,為了什麼吸引你的原因,值得你轉換,而不是盲從。
有一句说一句,只会py是很找不到好工作的
不说加载速度,运行速度上,python和go相差上百倍以上。
其实是市场的认知问题,总爱拿性能说事,python 性能没有想象那么菜鸡
Python更容易上手,调试go相对方便,Python配之后也可以适用
我感觉python代码可读性不高……哈哈
那99%是因为代码没写好LOL
Python 在我用过的几类语言里面是最接近自然语言的了。
4年後AI崛起主流還是python
玩习惯java觉得编程要有个框加好,golang自带库确实很够用了,
回头来看这个视频,如果之前用Python 要转型的话,我宁愿用 Java 。
说实话,我java转go,写起来真的很不舒服,理解简单,但是总感觉少了东西。。。。。
go語法其實不是C Like語法(Java還比較像),但設計的理念卻很像C(比如struct),也就是因為這樣,它並不是完全支援物件導向的語言(或者說只做半套),可以理解物件的屬性是宣告在struct,,方法是宣告在struct之外,不支援this (偏要用迂迴的做法將本身物件傳入),不用管記憶體回收,可以理解成介於C及C++之間的簡化版語言。
你若java用很熟練了,一定對物件導向的概念根深蒂固,但golang的設計就不是要全面支援物件導向的,所以用起來很彆扭。
但如果你是學C起家的,你會發現它比C簡單很多,且更物件化。
哈哈哈,恐怖的头文件嵌套😂
为什么不使用java呢
因为很多大系统,之前java写的核心模块,性能快顶不住了,都在用golang重写。
應用場景不太一樣,Java適合做server端(client端應用程式也可,部署比較麻煩,而且還要確保每臺client端的jvm環境),golang比較像C,直接編譯成執行檔。
丁哥,技术的应用也应该根据市场和公司现况来,不是技术本身决定。
嗯
看的出来,up主对go和python一知半解
同意
计算机专业 ~ 程序员
让我觉得难受的是类型,我不喜欢不确定类型
就我的浅显认知觉得,高效大规模稳定运行,编译语言还是比脚本用得安心,虽然也有高手解决python的一些办法.
Python 的 debug 也很方便
nice
can u do english , it's better to go world .....
丁哥太牛了,各种语言都能贯通,能否介绍下如何学好一门语言和了解内存里发生了什么,比如一般人学语言会用function把变量放进括号里就以为学会了,但不了解内存如何处理变量,换个语言就感觉很吃力,还是基础最重要,记得丁哥有一集说过要理解到底发生了什么,能否以后多讲点底层的东西?多谢!
可以看看汇编
@@kholmsk20 先让他试一下C吧,没被折磨疯的话,可以再考虑更底层的汇编。
丁哥老前辈,点赞!
#program once
发量
good
丁哥, 我给你发了email, 想跟你请教个问题,麻烦你查看下。 感谢你了。
已回复邮件