首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
拉钩
V2EX  ›  问与答

有多少国内民科程序员独创的概念或理论?

  •  
  •   b821025551b · 342 天前 · 2971 次点击
    这是一个创建于 342 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最具代表性的,i++和++i,上学的时候真的是强背下来应付考试;
    当然理论级的,就是 tcp 的粘包,百度一下一堆复制粘贴的解决方案,还有长篇大论教你怎么去拆包;

    这些东西,真的是坑人不浅。
    第 1 条附言  ·  342 天前
    举例有些问题,应该是++i++这种。
    56 回复  |  直到 2018-01-08 09:59:23 +08:00
        1
    ljsh0102   342 天前
    啥叫民科程序员?是学生物转程序员的?还是学 vb 转 python 的?
        2
    CodeCRH   342 天前
    “最具代表性的,i++和++i ”
        3
    ljsh0102   342 天前
    再说 i++和++i 什么意思?你执行一下试试不就知道了,又不是伪概念?背下来不理解就去嘲讽别人踏坑总结的经验?
        4
    hqdmy   342 天前
    996
        5
    hqdmy   342 天前
    247
        6
    ryd994   342 天前 via Android
    粘包真的害人
    TCP 是流,根本不存在包的概念
        7
    eurokingbai2   342 天前   ♥ 1
    H5
        8
    Andiry   342 天前
    i++和++i 怎么了,区别显而易见,跟民科没关系吧。
        9
    we2ex   342 天前 via Android
    学面向对象的时候重载过++运算符,感觉毫不违和
        10
    h4lbhg1G   342 天前
    i++和++i,虽然实际上没啥用,然而他是 C 语言的一部分。它在教学上的作用,就是看你的注意力能否集中而已,对于这种有的人一分钟就可以记下来,而有的人一学期都搞不明白。这个例子实际上对于之后的编译原理也有一定帮助。
        11
    coderluan   342 天前
    i++和++i,根本不是中国人创造的啊。爱死抠这个的人,主要是大学老师,不在民间,也不是程序员。
    你想喷那些死扣概念的人没问题,但是你别灵光一现加上什么“国内民科程序员独创”,这不是让人家喷你吗?
        12
    dangyuluo   342 天前 via iPhone
    可能我个人水平不行(很可能),我很少用多个++在一行
        13
    xwhxbg   342 天前
    我水平不行,C family 学不会,只能用 go 这样人体工程学做的好的
        14
    ballshapesdsd   342 天前   ♥ 3
        15
    chunqiuyiyu   342 天前 via iPhone
    @ballshapesdsd 真是开眼界了
        17
    h4lbhg1G   342 天前
    @ballshapesdsd issues 里面不忍直视 O(∩_∩)O 哈哈~
        18
    xwhxbg   342 天前
    我估计当年肯定是一帮民科翻译的外国计算机文献,什么套接字,句柄都是那时候搞出来的,我到现在都不知道句柄为毛要这么翻译,人家就是个 handler,翻译成回调都行啊
        19
    carlclone   342 天前
    @xwhxbg 理论派都喜欢搞晦涩难懂的词汇,不奇怪....
        20
    takato   342 天前
    @xwhxbg handler 直接按照英文词根理解似乎很直白。。处理者- -。。
        21
    pezy   342 天前 via iPhone
    现在连学校学的东西也叫民科了?

    你不能因为现在编译器进化了,而忽视 i++ 和 ++i 原本的区别呀。
        22
    geelaw   342 天前   ♥ 1
    @xwhxbg 您连 handle 和 handler 都没分清。Handler 是处理程序(异常处理、事件处理……),你可以传递一个 handler 的 handle (比如,函数指针); handle 是用来访问一个对象的东西。
        23
    b821025551b   342 天前
    @coderluan
    @h4lbhg1G #10
    @pezy #21 i++和++i 当然很正常,我指的是++i++这种。
        24
    zgx030030   342 天前
    代码生成真随机数??
        25
    h4lbhg1G   342 天前
    @xwhxbg 似乎只有民科才会真真于热衷于黑谭浩强 C 以及一些国内的翻译的国外技术书籍吧。术语嘛,用多了也就习惯了,或者眼不见心不烦只看英文原版就好了。
        26
    Keyes   342 天前
    @ballshapesdsd 明哥好歹也是 800star 的人了
        27
    h4lbhg1G   342 天前
    @b821025551b 这种确实比较恶心,不过想想如果你要自己动手写一个 C 编译器,就会理解这个也是有道理的。当然对于非计算机专业的,这个理解知道了纯属应付考试之用,或者让他们知道有这么回事,可以很复杂。好了我洗不下去了,滑稽

    其实大学专业课有很多专业都在扣这种细节,考试前的辅导,也大约都是在讲一堆今后无用的特化技巧。
        28
    Keyes   342 天前
    @b821025551b ++i++编的通 = =?
        29
    x86vk   342 天前 via Android
    讲道理 i++和++i 不算民科吧,都是进了标准的。
    举例用++i++++这种 ub 还差不多
        30
    jiangzhuo   342 天前
    007
        31
    h4lbhg1G   342 天前
    @x86vk 我记得 C++里面 Pre-increment 比 Post-increment 优先级要低一些,然后也有左右结合优先顺序问题。不一定是 undefined behavior。
        32
    b821025551b   342 天前
    @Keyes #28 看编译器,有的可以通过,而且不同编译器运行结果不同。
        33
    viator42   342 天前 via iPhone
    a==1 故意写成 1==a
        34
    feather12315   342 天前 via Android
    @viator42 #33 …那你这要把某本经典书批判一番了,忘记是 KR 的 C 还是 C 的缺陷与陷阱了
        35
    LeoNG   342 天前
    让我想起之前看《图解 HTTP 》一书,里面对于 HTTP 的中文译名的注释。HTTP 通常是被译作"超文本传输协议",但是有人觉得这样翻译不恰当,应该是"超文本转移协议"。附上链接 http://www.ituring.com.cn/article/1817
        36
    Luckyray   342 天前
    @ljsh0102 执行一下还真不一定知道...我一直到前几天才知道这个结果 c 语言标准里没有定义,完全取决于解释器的具体实现方式。所以不同解释器结果可能不同。
        37
    katsusan   342 天前 via iPhone
    @viator42 这种写法好像是有说法的,漏写一个等号的话后者编译不通过
        38
    LeoNG   342 天前
    @viator42 #33 我同在某本经典书里面见过,作者建议是这种应该是变量放右边,常量放左边。为的就是防止粗心少写一个=号。 但是这个我感觉对于那些非 type safe 的语言来说,是个不错的技巧吧。
        39
    viator42   342 天前 via iPhone
    @feather12315
    @katsusan
    @LeoNG 知道为啥这么写,只是感觉这样代码看起来别扭,尤其表达式复杂的时候。而且我也从来没少写过等号
        40
    h4lbhg1G   342 天前
    @viator42 表达式复杂为啥不加一行 bool condition=balabala; if(condition) 这种更加明了,if 语句里面越短越好。
        41
    feather12315   342 天前 via Android
    @viator42 #39,clang 可以探测到各种错误了新版的 GCC 好像也可以了(印象中)
        42
    slack   342 天前 via Android
    这个帖子让我想起知乎上一个叫薛非的大神。。
        43
    Bryan0Z   342 天前 via Android
    @ballshapesdsd 他不过自己写了一个 jQuery 类库,为啥被黑这么惨,大一的时候我也经常仿写 Java 的 library 练手啊…
        44
    mingyun   342 天前
    @ballshapesdsd 看评论笑了
        45
    ysc3839   342 天前
    @Bryan0Z 看看 README
        46
    x86vk   341 天前 via Android
    @h4lbhg1G 对,理论上来说是有一个什么最大可读入原则,然后按照那样去 parse 的话这里++(i++)是会出问题的,但很多老编译器不是这么 parse 的,就直接给编译过了,所以说是 ub 的。
        47
    NoBody777   341 天前
    @Andiry 楼主指的是++i++这种,他后来更正了
        48
    Light3   341 天前
    @ballshapesdsd 之前我还用过呢 我感觉这哥们 除了性格比较张扬 自己写成这样 不丢人阿..
        49
    q397064399   341 天前
    @ryd994 #6 从应用来看 就是包啊, 只不过这个包 抽象层次更高了,
        50
    Bryan0Z   341 天前 via Android
    @ysc3839 中文版好像没啥问题,就是个更新日志,英文版没几句正确的
        51
    xwhxbg   340 天前
    @geelaw handle 也不能翻译成句柄啊,指针那是 pointer 啊,跟 handle 咋又扯一起了?函数指针难道不是个 pointer ?
        52
    geelaw   340 天前
    @xwhxbg 指针是句柄的一种实现。

    句柄是标志感兴趣的对象的一个东西。指针标志的是感兴趣的内存。
        53
    geelaw   340 天前
    @xwhxbg 此外句柄一词最初是在编译相关的书籍中出现,直到今日编译原理课程中也会使用“句柄”一词(一个句型的最左直接短语),后来是一词不多译导致套用到“用于访问感兴趣对象的事物”上。

    其他领域的一词不多译导致的初学者障碍也是很常见的,例如数学中,研究矩阵的相似时会用到 lambda-矩阵的“法式”((Smith) normal form ),实际上自然的翻译是“ Smith 标准形”,根据猜测是因为代数和几何联系非常紧密,做几何的人以为 normal 是表示垂直、单位化的那个“法”(例如“法线”),因而如此翻译。
        54
    gnaggnoyil   340 天前
    @geelaw 啊?normal form 国内翻译不一直是"标准形"吗?不然你们是怎么称呼 Jordan normal form 的?
        55
    geelaw   340 天前
    @gnaggnoyil 一词多译啊,我说的是矩阵的特征矩阵的 Smith 标准形会被叫做“法式”。
        56
    xwhxbg   339 天前
    @geelaw 看了你的解释更加懵逼了。。。可以说说 handle 会发生什么么?我之前观察的结果是对应注册的函数会被调用,也就是 handler 的用法。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   827 人在线   最高记录 4019   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 23ms · UTC 22:08 · PVG 06:08 · LAX 14:08 · JFK 17:08
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1