V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
SlipStupig
V2EX  ›  Python

最近研究 python 的一个小失落

  •  2
     
  •   SlipStupig · 2016-08-01 08:02:33 +08:00 · 31302 次点击
    这是一个创建于 3038 天前的主题,其中的信息可能已经有所发展或是发生改变。

    python 有一个很-O 选项我一直很好奇这个选项是干嘛的, help 写的是:

     -O     : optimize generated bytecode slightly; also PYTHONOPTIMIZE=x
    -OO    : remove doc-strings in addition to the -O optimizations
    

    python 优化选项可以产生更小的 bytecode 文件,我试着选了一下,确实小了一点,但是对性能提升并没有什么用,后来看官方邮件是这么回复的:


    > Py_NoSiteFlag = 1...assuming you don't need to load site.py 
    >
    >     for example:</br>
    >
    > extern int Py_OptimizeFlag;
    > extern int Py_NoSiteFlag;
    > ...
    > if( !Py_IsInitialized() ) {
    >     Py_OptimizeFlag = 2;
    >     Py_NoSiteFlag = 1;
    >     Py_Initialize();
    

    • -O 所谓的优化就是删除内置的__debug__这个方法,然后禁用从网络引用包,体积能变下就是删除这两块的代码,所以变小的效果也不明显

    • -OO 是在-O 基础上删除所有的文档字符串,如果你定义了个 """ Comment """,将会被 python 删除掉(前段时间被坑了,找不到变量)

    最后结论是 python 优化选项并没有什么用,想加速换 pypy

    第 1 条附言  ·  2016-08-02 07:24:15 +08:00
    我仅仅只是说一下我的小发现,结果触发了语言大战,这个是我完全没想到的,希望大家不要再说语言好坏了
    第 2 条附言  ·  2016-08-03 14:35:27 +08:00
    本来我就说个小发现,然后早上起来我突然发现我就就有一个金币,各位大侠我承认 PHP 是世界上最好的语言,各位别吵了!
    第 3 条附言  ·  2016-08-15 18:02:49 +08:00
    各位大仙能不能停手啊,访问都破万了.....
    268 条回复    2016-11-08 23:23:43 +08:00
    1  2  3  
    serial
        201
    serial  
       2016-08-17 12:40:24 +08:00
    @FrankHB

    你编译出来的不是二进制,计算机能理解个逼啊?

    你写的程序不是二进制程序? 傻逼!

    没上过大学就别瞎逼逼。
    FrankHB
        202
    FrankHB  
       2016-08-17 12:41:38 +08:00
    @serial 噫,原来龙书能钦定啥叫编译器啊……这玩意儿 GB 文献引用是[S]还是[P]?这种玩具定义一个 Smn 定理就打趴了。
    就按你愿意的缩小外延扯 the stream of characters 吧,你把 characters 脑补成啥了?随便一个 short 类型的值算不算 character ?跟你 bb 的 01 又有几毛钱关系?
    serial
        203
    serial  
       2016-08-17 12:42:37 +08:00
    @FrankHB

    你爹写的尾递归版本归并排序,自己 TMB 去体会: https://github.com/tulayang/tail-call-merge-sort/blob/master/sort-es6.js
    wizardforcel
        204
    wizardforcel  
       2016-08-17 13:13:22 +08:00 via Android
    @serial

    [ 你编译出来的不是二进制,计算机能理解个逼啊? ]

    你知道 typescript 和 coffescript 嘛??真是孤陋寡闻。

    [ 你爹写的尾递归版本归并排序,自己 TMB 去体会 ]

    体会啥??体会你把尾递归写成“ [parse(), parse(), parse()] ”嘛??
    serial
        205
    serial  
       2016-08-17 13:21:07 +08:00
    @FrankHB

    你是不是你 MB 脑残? the stream of characters 是人类写的代码, 0 1 是编译器最终翻译后输出的二进制序列。

    [ the stream of characters ] ===> [Compiler] ===> [ 0 1 sequences ]

    傻逼一个。
    FrankHB
        206
    FrankHB  
       2016-08-17 13:21:12 +08:00
    我还以为回复被吃了……原来换页了没显示出来。

    @serial 还打肿脸充胖子。跟一个不懂 C 瞎 bb “指针就是地址”的即视感……

    你写程序难道直接写 0101 ?你还总是抢编译器生成二进制代码的活?你的程序不艹成二进制就没人能看?你理解程序还需要计算机替你先理解?(意思是你连个独立的 code review 都做不了,有个球用啊……)没实现出编译器设计语言的都是傻缺?我撸了个编译成 CPU 内部状态的编译器就是不要求 target 你个 01 要求用户艹你个什么字符流,你行你咬我啊?

    就算是生成二进制代码,谁 tm 给你保证会完整保留源程序的语义?讨论语言 bb 艹这种实现有卵用。或者你干脆分不清什么是“程序”吧?

    终于怂到没话可说丢码跑了?没注意到你这又在打自己脸了?

    不指望你是 Belleve 或者能撸 ANF 和 delimited continuation 什么的,搞个 CPS 什么的吓唬围观群众都不敢了么? bb 编译器如何如何,拿 ES 偷懒结果撸了个排序……想证明什么都扯不清,也是 6 。
    serial
        207
    serial  
       2016-08-17 13:22:43 +08:00
    @wizardforcel

    傻逼, typescript coffescript 都出来了。哥再给你普及,它们是运行在解释器,解释器是个二进制程序。写你 M 的逼呀。屁都不懂,还逼逼。
    FrankHB
        208
    FrankHB  
       2016-08-17 13:24:17 +08:00
    @serial 又在自己打脸了。“人类写的代码”?计算机到底认识不认识你个 source code ?更不用说抛开 FSF 的 zz 私货场景以外 source code 本来就可以是二进制形式,你告诉我你在编译什么卵?

    还有谁 tm 告诉你代码就得是人写的?就这点三脚猫认识居然还有脸拿 Lisp 给自己脸上糊啥?
    FrankHB
        209
    FrankHB  
       2016-08-17 13:26:44 +08:00
    @serial 笑死了……解释器是个二进制程序都出来了。。。。不管实现,哪家 ES 钦定你这里是以“二进制程序”的形式跑的,没二进制程序就嗝屁了? Evaluation tower 哭晕在厕所……
    serial
        210
    serial  
       2016-08-17 13:34:28 +08:00
    @FrankHB

    > 你写程序难道直接写 0101 ?你还总是抢编译器生成二进制代码的活?你的程序不艹成二进制就没人能看?你理解程序还需要计算机替你先理解?

    > “人类写的代码”?计算机到底认识不认识你个 source code ?更不用说抛开 FSF 的 zz 私货场景以外 source code 本来就可以是二进制形式,你告诉我你在编译什么卵?

    > "解释器是个二进制程序都出来了"

    ------------------------------------------------------------------------

    你蠢比一样的话语,充分暴漏了你确实没上过大学。

    谁会直接写 0101 ?人类写字符代码,编译器解释成 0 1 二进制序列。

    还 “你的程序不艹成二进制就没人能看”,看你 MB 呀,二进制是给机器运行的。你给你爹看二进制?给你讲过了,二进制 0 1 直接映射到与非门 0 1 电平。--- 这当然得原谅我没给你这小学生普及一个常识:与非门是由高和低两个电平的,和 0 1 在语义正好相当。

    编译,是为了让你用自然语言的方式编写逻辑,然后为这些逻辑生成复杂的 0 1 序列,交给机器运行。懂了吗?傻逼。

    解释器不是二进制程序吗?哎哟,原来你家的解释器不是二进制程序跑的呀!千古奇葩!!!就你这句“哪家 ES 钦定你这里是以“二进制程序”的形式跑的”,就足以说明你屁都不懂。

    还是那句话,把编译器的原理好好 TMB 搞懂了:

    [ the stream of characters ] ===> [Compiler] ===> [ 0 1 sequences ]
    serial
        211
    serial  
       2016-08-17 13:36:31 +08:00
    @FrankHB

    原来你家的解释器不是用二进制跑的呀,牛逼,下边是你这脑残脱着它跑的吧。
    wizardforcel
        212
    wizardforcel  
       2016-08-17 14:02:49 +08:00 via Android
    @serial

    浏览器能直接解释 ts 和 coffee ??(手动滑稽)
    FrankHB
        213
    FrankHB  
       2016-08-17 14:44:47 +08:00
    @serial 逗比再次自己打脸。

    不过在此之前我觉得先澄清一下为什么的对大学特别有怨念的样子……你没上?

    嘛,反正地图炮撂在这里:上过大学也好没上过大学也好,九成九的童鞋 C 的水平都是辣鸡,也不够格断言什么叫编译器而什么都不是。(的确大学不太可能会把 EINAC 并不是用十进制的列入考点……)

    > 谁会直接写 0101 ?人类写字符代码,编译器解释成 0 1 二进制序列。

    开始人来疯了。没编译器之前发明出体系结构的和手写 shellcode 的被你开除出人类阵营了?

    Excuse me ……编译器“解释”?

    > 还 “你的程序不艹成二进制就没人能看”,看你 MB 呀,二进制是给机器运行的。

    这边做安全的没见了打死你算你运气。

    > 你给你爹看二进制?给你讲过了

    还有 Intel® 64 and IA-32 Architectures Software Developer ’ s Manual 的表给爹看 MB 咯?照你的逻辑,我附近貌似有很多你爹……

    > 二进制 0 1 直接映射到与非门 0 1 电平。

    跟你说了几遍了不懂别 bb 。且不说你“映射”这种不靠谱的描述有多少水分,谁告诉你能映射就该映射?映射到高低电平就要与非门?或非门不行?
    该不会你数字逻辑电路就知道个××门吧……被锁存器还是 PN 结拍死,选个方向吧。

    > 这当然得原谅我没给你这小学生普及一个常识:与非门是由高和低两个电平的,和 0 1 在语义正好相当。

    二元逻辑谓词和真值一起炒冷饭……你是留级的时候跳过高中了?

    > 编译,是为了让你用自然语言的方式编写逻辑,然后为这些逻辑生成复杂的 0 1 序列,交给机器运行。懂了吗?傻逼。

    谁告诉你“为了”“自然语言”的方式了。

    谁告诉你编译目标就是 01 了?真是奇怪你哪来的脸皮扛得住现成的物理实现睁眼说瞎话。

    > 解释器不是二进制程序吗?哎哟,原来你家的解释器不是二进制程序跑的呀!千古奇葩!!!

    你的脑子是二进制程序还是你的脑子拙计到跑不动一个解释器?

    > 还是那句话,把编译器的原理好好 TMB 搞懂了:

    还是那句话,不懂的不用瞎 bb 。说你不懂啥叫编译器一点都不冤枉。

    算上你怂了缩了的,这楼里暴露的你显然不懂或者想装懂而露马脚的东西看样子包括但不限于:数理逻辑、计算机发展史、计算机组成原理、数字逻辑电路、集成电路设计、体系结构设计、程序语言理论、 C 语言、 Lisp 。

    有意见的可以继续跳,虽然可能别人会介意你的嘴脸太碍事。

    > [ the stream of characters ] ===> [Compiler] ===> [ 0 1 sequences ]

    这种民科理论看到的不要上当就是。
    FrankHB
        214
    FrankHB  
       2016-08-17 14:45:42 +08:00
    手滑…… EINAC 并不是用十进制→ EINAC 并不是用二进制而是用十进制……
    serial
        215
    serial  
       2016-08-17 14:55:33 +08:00
    @wizardforcel @FrankHB

    把 TMB 这几个名词搞清楚,彩笔们:

    Lexical Analyzer , Syntax Analyzer , Semantic Analyzer , Intermediate Code Generator , Machine-Independent Code Optimizer , Code Generator , Machine-Dependent Code Optimizer ; characte stream , token tream , syntax tree , target-machine code 。

    All these ---> Phases of a compiler.


    @wizardforcel

    我就坐等着你这傻逼爆料 “ typescript coffescript 编译成 JavaScript ” 呢。

    1. typescript coffescript 翻译后生成的 JavaScript ,你家的机器能运行?你 TMB 没有解释器能运行?

    2. typescript coffescript 翻译成 JavaScript 的程序叫做 Code Generator ,或者是 Intermediate Code Generator (中间代码生成器)。懂? 傻逼。今天给你普及这么多知识,你还不赶紧跪舔。
    dzhou121
        216
    dzhou121  
       2016-08-17 15:01:06 +08:00
    @serial

    整个就是各种概念一知半解, 通篇 binary code 和 machine code 混淆不清,

    > 还 “你的程序不艹成二进制就没人能看”,看你 MB 呀,二进制是给机器运行的。
    你的意思无非是说所有的编译器(compiler)最终都要生成能够给机器执行的"code",但是请问 Java 的 compiler 生成的 Java Bytecode ,能够给机器直接执行吗?
    dzhou121
        217
    dzhou121  
       2016-08-17 15:06:14 +08:00
    @serial

    >> typescript coffescript 翻译成 JavaScript 的程序叫做 Code Generator
    All these ---> Phases of a compiler.

    你自己也承认 Code Generator 也可以叫 compiler, 那请问 compiler 出来的都是二进制吗?自己打脸不是
    serial
        218
    serial  
       2016-08-17 15:08:40 +08:00
    @FrankHB

    > EINAC 并不是用十进制→ EINAC 并不是用二进制而是用十进制
    谁告诉你“为了”“自然语言”的方式了。

    十进制,你 TMB 怎么不用呢?

    ----------------------------------------------------------------------------------

    > 没编译器之前发明出体系结构的和手写 shellcode 的被你开除出人类阵营了?

    不懂就不要逼逼。你哪个老师高速你他们直接组装 0 1 序列给计算机运行?

    ----------------------------------------------------------------------------------------------

    > 跟你说了几遍了不懂别 bb 。且不说你“映射”这种不靠谱的描述有多少水分,谁告诉你能映射就该映射?映射到高低电平就要与非门?或非门不行?

    这是电子工程、计算机科学规范设定的。一群爹告诉你就是这么映射的,记住了么,脑残孩子。

    话说,你知道 TMB 与非门什么意思吗?不知道,赶紧百度。

    ------------------------------------------------------------------------------------------------

    > 谁告诉你“为了”“自然语言”的方式了。

    一大波设计编程语言的大师,告诉你为了自然语言的方式,记住了吗?

    -------------------------------------------------------------------------------------------------

    > 你的脑子是二进制程序还是你的脑子拙计到跑不动一个解释器?

    笑死人了。你家的解释器怎么跑动的?我挺奇怪,你家的解释器,不是二进制的,而且一直在跑着。

    真是个傻白,一点进程常识都没有。

    把编译原理记住了,

    [ the stream of characters ] ===> [Compiler] ===> [ 0 1 sequences ]

    ---------------------------------------------------------------------------------------------------

    最后,有空花钱去上个成人大学(电子电路的三极管、放大器、与非门都不懂,还搞计算机,丢人):
    serial
        219
    serial  
       2016-08-17 15:11:50 +08:00
    @dzhou121

    > 你自己也承认 Code Generator 也可以叫 compiler, 那请问 compiler 出来的都是二进制吗?自己打脸不是

    别乱盖帽子,我何时 “承认 Code Generator 也可以叫 compiler ”。你难道看不清楚我写的吗:

    Lexical Analyzer , Syntax Analyzer , Semantic Analyzer , Intermediate Code Generator , Machine-Independent Code Optimizer , Code Generator , Machine-Dependent Code Optimizer ; characte stream , token tream , syntax tree , target-machine code 。

    All these ---> Phases of a compiler.

    Code Generator  仅仅是编译器其中一个 phase 。自己数数,上面多少个 phase 。编译器的 phase 多个,扫描、语义检查、语法检查、中间生成、中间优化、目标生成、目标优化、...
    dzhou121
        220
    dzhou121  
       2016-08-17 15:15:17 +08:00
    @serial

    > 没编译器之前发明出体系结构的和手写 shellcode 的被你开除出人类阵营了?
    不懂就不要逼逼。你哪个老师高速你他们直接组装 0 1 序列给计算机运行?

    你知道曾经有过打孔编程?就是直接组装 0 1 序列给计算机好么
    https://en.wikipedia.org/wiki/Punched_card
    serial
        221
    serial  
       2016-08-17 15:15:56 +08:00
    @dzhou121

    > 你的意思无非是说所有的编译器(compiler)最终都要生成能够给机器执行的"code",但是请问 Java 的 compiler 生成的 Java Bytecode ,能够给机器直接执行吗?

    问的好,这也同时揭示了 Java 为什么那么慢。 Java JIT ,虚拟机,首先要摆出了,这就是 Java 慢的最直接原因。

    Java 生成中间代码后,传递给 VM ,然后由 VM 进行边解释边运行。 Java 和 C 、 C++ 不同,就在于其一部分需要虚拟机的解释器来运行。

    VM 和其解析器,正是二进制进程运行在后端。
    dzhou121
        222
    dzhou121  
       2016-08-17 15:25:00 +08:00
    @serial

    所以啊,就不要二进制来二进制去,没有任何意义,你写程序的时候肉眼看到的是 text , compiler 读进去的还是字符的 binary
    FrankHB
        223
    FrankHB  
       2016-08-17 15:29:09 +08:00
    @serial

    > 十进制,你 TMB 怎么不用呢?

    奇怪了,用不用关你鸟事?

    因为你以为计算机都不用二进制以外的玩意儿,所以用了的都不算计算机?你这逻辑 6 翻了。


    > 不懂就不要逼逼。你哪个老师高速你他们直接组装 0 1 序列给计算机运行?

    老师?组装?你咋不说历史上的计算机是你下的蛋里蹦出来的呢?

    > 这是电子工程、计算机科学规范设定的。一群爹告诉你就是这么映射的,记住了么,脑残孩子。

    又在扯什么鬼了。

    规范?你的引用呢?出处?谁指定的?谁有义务遵守?

    拿技术标准打你你倒有脸不痛不痒扯起“规范”了。

    > 话说,你知道 TMB 与非门什么意思吗?不知道,赶紧百度。

    话说你知道门是啥意思吗……知道的话为什么还会纠结这玩意儿干什么吃的呢?

    > 一大波设计编程语言的大师,告诉你为了自然语言的方式,记住了吗?

    哪个大波大师?我咋没听说过?是不是成天吹汉语编程什么的?

    先替你做一些排除法: Dennis Ritchie 、 James Gosling 、 Guido van Rossum 、 Rob Pike ,这几个人是比较名不副实的,即便如此他们也没拉下脸来扯什么“为了自然语言”。

    自然语言这种先天不存在设计的玩意儿能用是因为用户基本上都能赔个几十年进去。否则,照着糊 DSL 效率都未必满足需求。我倒是记得前些天有 NLP 业内人士表示放弃乱七八糟的自然语言才是解决处理困难的出路。

    你还有脸把向后进看齐当成目的了?

    > 笑死人了。你家的解释器怎么跑动的?我挺奇怪,你家的解释器,不是二进制的,而且一直在跑着。

    笑死人了,你脑子灵活性还比不上二进制实现的机器啊……

    难怪会有那么 zz 的理论……

    > 最后,有空花钱去上个成人大学(电子电路的三极管、放大器、与非门都不懂,还搞计算机,丢人):

    你是不是看到能选择被 PN 结挂婊所以才百度了些似是而非的东西偷懒往这个方向吹啊……因吹死挺,看你大脑复杂性连个结电容都放不下的样子,也真是难为你了。
    FrankHB
        224
    FrankHB  
       2016-08-17 15:34:59 +08:00
    @serial 别 bb 了, Java bytecode 不是你亲家二进制 spec 嘛,这也咬?
    @dzhou121 JVM 有硬件实现: https://en.wikipedia.org/wiki/Java_processor
    虽然这掩盖不了 JVM 在 ISA 的角度上某些方面设计得比较渣渣,也否认不了 JVM 一开始的设计没打算适应硬件实现。
    ashchen
        225
    ashchen  
       2016-08-17 15:46:06 +08:00
    绝不碰 python
    lxy
        226
    lxy  
       2016-08-17 15:55:09 +08:00
    这么多天过去了,葱球仍在战斗呀 ( ⊙ o ⊙ )
    littleshy
        227
    littleshy  
       2016-08-17 16:08:31 +08:00
    默默把系统里的 python 卸载了……
    wizardforcel
        228
    wizardforcel  
       2016-08-17 16:08:42 +08:00 via Android
    @serial

    [ typescript coffescript 翻译后生成的 JavaScript ,你家的机器能运行?你 TMB 没有解释器能运行? ]

    我家的机器不能运行不代表不能编译。编译出来 js 不代表不用解释。

    那我问你包含几个 phase 才叫“编译器”??谁给你钦定的包含所有 phase 才叫“编译器”??

    [ 一大波设计编程语言的大师,告诉你为了自然语言的方式,记住了吗? ]

    自然语言能写程序??笑死爹了。一篇自然语言文章能分析出正面和负面就不错了。

    [ 十进制,你 TMB 怎么不用呢? ]

    你用脑袋思考问题的时候不用十进制用二进制??

    [ Java 生成中间代码后,传递给 VM ,然后由 VM 进行边解释边运行。 ]

    即时编译运行( jit ), java 如果不上 jit ,会跟 py 一样慢。

    [ 笑死人了。你家的解释器怎么跑动的?我挺奇怪,你家的解释器,不是二进制的,而且一直在跑着。 ]

    非二进制的计算机上跑二进制的解释器??又混淆模型和实现。

    人类完全可以手动模拟来解析一段简单的代码,你说人类也是二进制??
    serial
        229
    serial  
       2016-08-17 16:23:27 +08:00
    @FrankHB

    > 因为你以为计算机都不用二进制以外的玩意儿,所以用了的都不算计算机?你这逻辑 6 翻了。

    不用二进制的玩意,明显被淘汰几十年了,傻白。

    ------------------------------------------------------------

    > 规范?你的引用呢?出处?谁指定的?谁有义务遵守?

    哈哈,说明你没上过大学呗,教科书、各个计算机大牛的书,买来看看。记得买老外的,特别是贝尔实验室的。傻白。

    ------------------------------------------先替你做一些排除法: Dennis Ritchie 、 James Gosling 、 Guido van Rossum 、 Rob Pike ,这几个人是比较名不副实的,即便如此他们也没拉下脸来扯什么“为了自然语言”。 --------------------

    > 话说你知道门是啥意思吗……知道的话为什么还会纠结这玩意儿干什么吃的呢?

    笑喷我了,“门” ...

    -------------------------------------------------------------------------------------------------------

    > 先替你做一些排除法: Dennis Ritchie 、 James Gosling 、 Guido van Rossum 、 Rob Pike ,这几个人是比较名不副实的,即便如此他们也没拉下脸来扯什么“为了自然语言”。

    这些人在手写 0 1 咯? 你还真是傻白。麻烦你把计算机原理先搞懂。

    --------------------------------------------------------------------------------------------------------

    > Java bytecode 不是你亲家二进制 spec 嘛,这也咬?

    Java bytecode 只是中间代码,不是给计算机运行的,傻白。懂? Java bytecode 还要经过虚拟机,又是二进制解释器,解释到二进制序列。傻白。
    serial
        230
    serial  
       2016-08-17 16:26:34 +08:00
    @wizardforcel

    > 我家的机器不能运行不代表不能编译。编译出来 js 不代表不用解释。
    > 那我问你包含几个 phase 才叫“编译器”??谁给你钦定的包含所有 phase 才叫“编译器”??

    这是规范,一个编译器模型的架构。傻逼。

    > 自然语言能写程序??笑死爹了。一篇自然语言文章能分析出正面和负面就不错了。

    脑残到极品了, if else 不是自然语言,难道是火星语言。

    > 非二进制的计算机上跑二进制的解释器??又混淆模型和实现。
    > 人类完全可以手动模拟来解析一段简单的代码,你说人类也是二进制??

    你知道代码是什么?人类写的代码是人类可以看懂的语言,编译器翻译出来的是机器可以看懂的。你,屁都不懂。
    azh7138m
        231
    azh7138m  
       2016-08-17 16:28:57 +08:00 via Android
    livc
        232
    livc  
       2016-08-17 16:29:20 +08:00 via Android
    卧槽 误入战场…撤!
    srjzcar
        233
    srjzcar  
       2016-08-17 16:45:57 +08:00
    看大神们还在辨...真学习了~
    mind3x
        234
    mind3x  
       2016-08-17 17:15:09 +08:00
    @FrankHB 他既然敢于把 TypeScript 的 compiler(或 transpiler)钦定成"Code Generator",这场仗注定你赢不了的啊……

    比如什么『 Java bytecode 只是中间代码,不是给计算机运行的,傻白。懂? Java bytecode 还要经过虚拟机,又是二进制解释器,解释到二进制序列』,我要是举出来能直接运行 Java bytecode 的 ARM Jazelle ,他大概又会说 ARM 也是解释器不是 CPU 吧...
    miniwade514
        235
    miniwade514  
       2016-08-17 17:15:13 +08:00
    这仗打得……电影票都省了
    incesa
        236
    incesa  
       2016-08-17 17:16:54 +08:00
    中午的时候还 190 多楼呢 下午下班一看 我去 第三页都 20 多个回复了。。楼主你赚翻了啊[doge]
    hehehas
        237
    hehehas  
       2016-08-17 17:24:42 +08:00
    一个 pythoner 开始担忧未来了
    hehehas
        238
    hehehas  
       2016-08-17 17:25:44 +08:00
    看了各位的 github (如已有)感觉就知道胜负了
    muziyue
        239
    muziyue  
       2016-08-17 17:42:42 +08:00
    菜逼瑟瑟发抖,根本看不懂你们在吵啥
    Arnie97
        240
    Arnie97  
       2016-08-17 17:53:59 +08:00 via Android
    以下各条均节选自 @serial 的精彩发言,我只做搬运,不做评论。

    > 也真操了,这种傻逼说起话来还觉得自己挺懂一样。我再给你普及一下:计算机不只只用二进制 0 1 ,而且只懂加法,不懂减法、乘法、除法。
    > 你连起码的计算二进制原理都没搞懂,大学还没别业呢?
    哥告诉你个常识:纯位图是 TM 人类写的解析器 --- 解析一个文本到协议规范的二进制流。计算机只认 TM 的二进制 0 1 , understand ?
    > 脑残到极品了, if else 不是自然语言,难道是火星语言。


    > 有道理就讲出来,没道理就别 BB 。说一堆无用的废话 P 话,只能显得你很 LOW 。
    > 怎么举报这个傻 B
    muziki
        241
    muziki  
       2016-08-17 17:55:55 +08:00
    年度大戏。。。
    JhZ7z587cYROBgVQ
        242
    JhZ7z587cYROBgVQ  
       2016-08-17 18:09:38 +08:00
    我基础差看到一半就开始看不懂了,感觉真是听君们一顿吵,胜读十年书,赶紧先去看看各位大神贴的链接学习学习
    FrankHB
        243
    FrankHB  
       2016-08-17 18:21:51 +08:00
    @serial

    > 不用二进制的玩意,明显被淘汰几十年了,傻白。

    难道是因为你脑子用了二进制所以就各种神棍咯?

    得了吧,二进制表示撸 spec 的逗比方法论从来就不入流,根本连被淘汰的资格都没有。很多东西本来就是先让人理解才有意义,你非得哪壶不开提哪壶 bb 机器表示,一开始就不上道。你咋不把 BNF 编码成二进制再用?

    至于淘汰嘛,还不用扯软件。硬件上淘汰了不用二进制的玩意儿?鬼知道。要不你先实力把 IA-32 的十进制算术指令驱逐出境?顺便把 256 进制也给淘汰了嘛?

    > 哈哈,说明你没上过大学呗,教科书、各个计算机大牛的书,买来看看。记得买老外的,特别是贝尔实验室的。傻白。

    你是不是 YY 想上大学上得傻了。

    说过你这辈子不用想舔 WG14 屁股就点破你什么尽量了。吹吹吹什么“各个计算机大牛”,具体的名字一个都没脸 bb ?

    贝尔实验室?哦,那个命名二得惨绝人寰的汇编语法的玩意儿?那个发明各种 TOCTTOU 炸妈接口的边界模糊的古董的原产地?还能靠朗讯借尸还魂嘛?

    > 这是规范,一个编译器模型的架构。傻逼。

    夭寿啦,一口发明一个规范囊括所有编译器?

    > 脑残到极品了, if else 不是自然语言,难道是火星语言。

    看来你对自然语言了解也很二。哪个火星自然语言有 if else 这种文法?还是你以为有几个标识符拼写得一样就新发明了一种自然语言?

    > 你知道代码是什么?人类写的代码是人类可以看懂的语言,编译器翻译出来的是机器可以看懂的。你,屁都不懂。

    原来 1010 是不是代码还要看人是不是可以看懂?

    @mind3x

    我觉得现在只教育语文问题也行了……
    muziki
        244
    muziki  
       2016-08-17 18:25:28 +08:00
    从头看完了,虽然「和谐词」比较多,但是学到不少
    miniwade514
        245
    miniwade514  
       2016-08-17 18:47:53 +08:00
    @muziki 垃圾话多了,干货就少了。这帖子第一页还能精读,到后面都不忍直视了。。
    wizardforcel
        246
    wizardforcel  
       2016-08-17 18:51:45 +08:00 via Android
    @serial

    [ 这是规范,一个编译器模型的架构。 ]

    龙书叫“规范”??你先问问人家作者同意不同意。

    [ if else 不是自然语言,难道是火星语言。 ]

    if else 对于自然语言叫“单词”,对于编程语言叫“关键字”,啥时候能钦定“语言”了??

    印欧语系的语言里相同的单词多了,都是一种语言?

    你家的狗会汪汪叫,你也会汪汪叫,所以你也是狗??
    mind3x
        247
    mind3x  
       2016-08-17 19:00:42 +08:00
    @FrankHB 我觉得他也不一定真的就是像他自己表现出来的那样概念混乱——我猜他大概也知道哪些地方自己在强辞夺理,只是拉不下面子认输,就只好坚持采取声东击西敌进我退你没上过大学的战术了……
    qddegtya
        248
    qddegtya  
       2016-08-17 19:11:24 +08:00
    我去,误入战场。
    FrankHB
        249
    FrankHB  
       2016-08-17 19:54:36 +08:00
    @mind3x 像是懂得浅一开眼界就懵了没词了于是只能复读机了的感觉。类似 CPU 当了解码跟不上就重复回放了……
    popu111
        250
    popu111  
       2016-08-17 19:57:48 +08:00
    看着 LZ 的 append 。。。心疼
    dtfm
        251
    dtfm  
       2016-08-17 20:46:27 +08:00
    讨论归讨论,那个 serial 一直指别人骂别人没读过大学、对 Frank 个人进行攻击、还兼有问候别人父母是几个意思? 增加气氛么,好好的一个 Python 讨论讨论被搞成了骂街场。

    @Livid
    likai
        252
    likai  
       2016-08-17 21:18:44 +08:00
    前面还可以。后面怎么开战了。快逃。
    cgcs
        253
    cgcs  
       2016-08-18 00:29:48 +08:00
    这么无聊的帖子,我居然看完了~~~真是白读大学了
    Livid
        254
    Livid  
    MOD
       2016-08-18 06:57:12 +08:00
    @dtfm 谢谢举报,这个帐号会被彻底 ban 。
    kitalphaj
        255
    kitalphaj  
       2016-08-18 08:44:51 +08:00
    哈哈,这个帖子我也是笑了。。。

    有本事就把工资单或者你开的公司报出来。说这么多有啥用,都这么牛逼还天天混 V2 。。。呵呵
    jingliang
        256
    jingliang  
       2016-08-18 10:17:23 +08:00
    好想看看各位大神的 paper 或 github 学习学习啊
    pixstone
        257
    pixstone  
       2016-08-18 10:41:17 +08:00
    战斗异常激烈,全程懵逼中。
    SlipStupig
        258
    SlipStupig  
    OP
       2016-08-18 11:52:10 +08:00
    @kitalphaj 小伙子你不要再挑起战争了,工资高和上 v 站一点冲突没有.......
    andyL
        259
    andyL  
       2016-08-18 13:23:57 +08:00
    虽然全程懵逼,但是 @serial 至少还能针对问题来讨论,即使被前面一个猫头像的人发散开去,也能针对发散的问题讨论,后面的 FrankHK 所谓的逐条打脸也就是逐条否定或者逐条反问来否定,但是又不给出深入的正解,一句话带过,耍流氓态度明显,还有一个龙,被给出的几道代码题, serial 代码都给出来了,为什么不针对继续讨论。讨论问题,又不是大学的辩论赛,都当成表演性质了。
    xieyudi1990
        260
    xieyudi1990  
       2016-08-18 13:30:10 +08:00 via Android
    @FrankHB
    先开始我以为只是大家语言表述有问题,那个 serial 所说的嘛,强行解释也勉强解释得过去。爆下限的是这句话:

    知道与非门是什么吗?傻逼! 0 1 直接映射与非门的 “与” 和 “非”,懂了吗? 傻逼! 要不要老子给你贴贴三极管、放大器的电路图。

    我实在搞不懂他这个映射是什么意思。不行还死要面子,吵了三页是为了啥,我还看了 3 页更是逗逼,唉。
    Feiox
        261
    Feiox  
       2016-08-18 15:27:44 +08:00
    @FrankHB @serial 哎。

    贴一段维基百科的解释,单就谁对谁错不就结了么。如果说维基百科在这种词条上都不具有权威性,那,好吧,我服。

    编译器( Compiler ),是一种计算机程序,它会将用某种编程语言写成的源代码(原始语言),转换成另一种编程语言(目标语言)。

    它主要的目的是将便于人编写,阅读,维护的高级计算机语言所写作的源代码程序,翻译为计算机能解读、运行的低阶机器语言的程序,也就是可执行文件。编译器将原始程序( Source program )作为输入,翻译产生使用目标语言( Target language )的等价程序。源代码一般为高阶语言( High-level language ),如 Pascal 、 C 、 C++、 C# 、 Java 等,而目标语言则是汇编语言或目标机器的目标代码( Object code ),有时也称作机器代码( Machine code )。 一个现代编译器的主要工作流程如下: 源代码( source code )→ 预处理器( preprocessor )→ 编译器( compiler )→ 汇编程序( assembler )→ 目标代码( object code )→ 链接器( Linker )→ 可执行文件( executables ), 最后打包好的文件就可以给电脑去判读运行了。

    哎。
    FrankHB
        262
    FrankHB  
       2016-08-18 19:53:58 +08:00   ❤️ 1
    @andyL 一坨判定性问题给否定还叫没深入的正解,你还想怎么深入?对正在没人提什么代码自顾自跑题的神棍要怎么不流氓?
    @xieyudi1990 一开始喝茶看戏偶尔吐槽,某人跳到藐视群众智商的程度就没办法了。
    那个映射我也没懂。感觉是不知道与非门之外的门,或者不知道与非门比等效的其它门好在哪(一般意义下的硬件成本)。跟什么映射扯不上关系。
    @Feiox 喂鸡也说不上多权威,但否定源语言就是为了设计得接近自然语言以及目标语言就只能用二进制表示的神棍理论倒也差强人意。
    只是看他脸皮厚到被贴了喂鸡条目直接打脸都能无视就兴味索然了。对后排群众有提示看“ source code ”这个词条。
    GeekGao
        263
    GeekGao  
       2016-08-20 14:36:54 +08:00
    @andyL 前因后果观察不够仔细,所以你不太理解大家为啥辩跑题了
    GeekGao
        264
    GeekGao  
       2016-08-20 14:52:05 +08:00
    @FrankHB
    @wizardforcel
    @dzhou121

    你们对处理器架构、编译器、操作系统知识的掌握,跟那个被删号的家伙以及簇拥们彼此都不在一个层次上,辩论也没意义。这好比现代外科大夫给部落巫医簇拥们治病一样。

    所以么,别去“治疗” “装睡的人” 以及 “根本醒不来的人” 了 。
    FrankHB
        265
    FrankHB  
       2016-08-20 19:26:10 +08:00
    @GeekGao “请尽量让自己的回复能够对别人有帮助”,我想如果能提供一点不那么常被引用到的关键词,大概也算……当然,建立在这里的大部分读者不是 “装睡的人” 以及 “根本醒不来的人” 的假设上。
    onlyForFun
        266
    onlyForFun  
       2016-08-22 00:25:50 +08:00
    @serial 对于你这种逗比,我也是醉了,而且特么明显用的是小号。。。

    还是建议大家,忽视这种没逼格的人
    onlyForFun
        267
    onlyForFun  
       2016-08-22 00:27:41 +08:00
    @Livid 做得好,给赞,👍
    mutalisk
        268
    mutalisk  
       2016-11-08 23:23:43 +08:00
    @serial
    干嘛这么纠结 pymongo, pymysql, paramiko 。
    不是还有 txmongo, txmysql, twisted/conch 。
    对于那些用 python select 的 module, 也可以 monkey patch 一把嘛。
    1  2  3  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1049 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 20:15 · PVG 04:15 · LAX 12:15 · JFK 15:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.