幻の上帝吧 关注:325贴子:3,165
  • 6回复贴,共1

反面教材批判Vol.4

取消只看楼主收藏回复

这次比较没营养,不过到了2015年还是有那么多笑话理解,我只能说图样。
既然难得长篇大论集中那么多硬伤,挂挂无妨。


IP属地:北京1楼2015-05-14 10:29回复
    原地址:http://www.zhihu.com/question/30292024/answer/47685808
    原问题:
    纯C语言的工作有前(钱)景吗?
    研一,实习,有个纯C语言开底层系统的offer,公司是创业公司,创始人有硅谷背景。这个offer应该接受吗?纯C的开发以后转行去其他公司容易吗?
    ```
    韦易笑,二十年老程序员
    收起
    刘帅帅、zo chen、知乎用户 等人赞同
    要不要黑一下 C++呢?呵呵呵。
    ```
    上来就跑题,不过这个在知乎貌似也正常。


    IP属地:北京2楼2015-05-14 10:30
    回复
      EOF


      IP属地:北京8楼2015-05-14 10:44
      收起回复
        Update1-1
        嘛,之前漏看了,点开回复才发现还有些新笑话,那就更新一下。
        反正一概没突出战斗力的也不用管谁是谁了,正好也省得删ID抬头。
        ```
        pezy
        另外一个不可否认的细节是,C++ 的 UB 实在太多太容易出现了,一个好奇心重的初学者随随便便就能写出 UB 的代码,老手就会用C++标准去说事。关键是实际生产环境中,客户会管你 UB 不 UB,管你标准不标准?写了几年 C++ 的人,需要时刻谨记各种标准里的细节,束手束脚,Effective 系列都出了四本了,满脑子都是条款、隐患、小心翼翼。所以知乎上 C++ 程序员集中在两个出路:1. GUI 和图形,固守最后防线;2. 直接去研究编译器了,因为 C++ 给他带来太多的好奇与疑惑,各种标准的实现(G++, VC, Clang) 各有各的精彩。最关键的,他发现 C++ 编译器复杂度是其他语言的好几倍。所以呢,搞清楚自己到底想干啥,不是上述两条,可得好好掂量。
        ```
        C++的UB太多太容易出现……似乎C压力不大?
        在C++减UB的同时C11还在同样的领域里加新UB呢……虽然基本被坑的也是活该(最常见的情形就是自以为是天生喜欢手贱,通常不关好奇心多少事)。
        ```
        知乎用户
        跟template比,java的generic也强不到哪里去,一样的坑
        ```
        这位童鞋,你要说都是坑我是没什么意见,不过要拿Java的那个类型擦除的残次伪劣品和随便一个什么其它语言的正常设计相提并论?过分了吧。正常的Java用户大概都会觉得胡说八道,.NET用户大概也乐于落井下石。
        嘛,不限Java,一般所谓的generics其实也就是有限制的prenex parametric polymorphism,C艹的template好歹还有higher rank polymorphism和dependent type,虽然残废到和没有差不了太多,但是也够吊打没有的了。


        IP属地:北京12楼2015-05-15 17:36
        回复
          Update2-1
          凭经验就知道这里越是无知的越喜欢蹦跶,所以提前在Update后面加上数字。所料果然不错。
          首先仍然是非挂婊部分。
          ```
          Irons Du
          C++的规则确实太多,有些提供给开发者的接口往往会由于能力等问题解决不好。 所以我倾向使用最轻量级,最安全的C++部分,自己能清晰的了解执行过程。其他语言的特性是少即是多,C++是多即是好(强),问题就在于(想开发非常牛逼的)对开发者要求很高。 总得来说,用简单的C++比起C还是要好得多,清晰些。
          ```
          其它语言……多少其它语言呢。
          很显然,ISO C就不是“少即是多”。翻翻看看吧。
          ```
          Irons Du
          也很喜欢C语言,简洁每一行代码都清晰,但它也是低阶的语言,没有gc,写出来的多行代码(系统)就并非清晰(对使用者要求很高)。
          ```
          C的问题不在于没有GC(没GC可以造)而是缺少抽象(别把预处理元编程当成纯FP语言的意义上)和一些基本的保证(比如C的实现用了依赖指针布局的常规实现的GC就是不可移植的,而C++11允许实现提供GC)。
          ```
          C++主张不控制开发者,但问题是能力"不够"的使用者者想去控制(优化也好,提供订制也好)时,往往不尽完美(无法应对所有未遇到的问题)(就容易进坑)。而其他语言则限定了开发者(只)能干啥,没那么多选择(心负)(只需关心业务的表达)。
          ```
          C同样不主张控制开发者,而且一些方面比C++远远要过头,搞得纯C差不多就是鸡肋。
          之前说过的comp.std.c上面问remove的返回值的问题就是个例子。没被墙的自己看。


          IP属地:北京16楼2015-05-16 10:17
          回复
            ```
            <b>C语言Java specification又短到那去了?再说,妥妥的Hasty Generalization。</b>
            hasty generalization【中二】不解释了。短跟坑多是两码事,Java specification跟C是两码事,用C++实现的话Java specification就短了?【智商】
            ```
            难道C的坑不够少?
            这个玩意儿提过了随便搜就是不展开了。不过就这点常识都不懂还好意思提什么“百度C++吧为代表的Cpper”啊,恐怕谁是谁都认不清吧。
            知道Java specification跟C是两回事,怎么不敢正视实现和specification和实现的差别呢。
            嘛,如此义正言辞地偷换概念,大概你爹也是不会一巴掌给替你的中二程度不如的逻辑能力发育水准拨乱反正的吧。
            ```
            <b>相关不等于因果</b>
            非常扯淡的一句话。数据挖掘、统计学做的就是分析相关性,你来一句不等于因果就给否了?人类几十年的工作真浪费。
            ```
            虽然扯这个最终还是得靠点逻辑能力(比如知道什么叫“蕴含”),不过能把这样浅显的句子曲解成这种鸟样……考虑到之前的水准我觉得还够不上“别有用心”,那么大概就是语文能力有问题吧。
            ```
            <b>好,我倒是要问问你,C语言拿来实现lolisa/first_order_logic_prover · GitHublolisa/Artificial_Intelligence_A_Modern_Approach · GitHub要怎么做?</b>
            此人写了两个玩具,就自以为是
            ```
            我很奇怪凭上面这样一贯逗比的逻辑水准和对相关领域的理解,是如何有自信评论什么是“玩具”“自以为是”的。看来起码还缺了一条“自我感觉良好”嘛。这也算是中二常见症状了。
            ```
            认为自己驾驭了C++这种全世界最复杂的语言(尽管他们不承认这点以标榜【智商】)
            ```
            这真是中二骚年你想多了。
            C++什么时候有脸说最复杂了?你见识还真广,嘛?不说别个,来,肛个同年代的C++/CLI看看?
            C++整体上这么简单(只是破事多了烦)、刻意经过正交设计以至于学习起来的时间复杂度几乎能优化成平摊O(1)的东西,还真不适合标榜智商。
            根据我的经验,泛泛而谈所谓复杂的,几乎连外延在哪都不知道,随便问几个问题就暴露出对C++不懂装懂的现实。可惜这个蛋已经不必要扯了——上面对“面向对象”的理解就够说明问题了。
            敢问你在避免复杂和创造工程价值之类的问题上干过什么实事?看起来是没有,因为有这样的玩意儿在正式场合到处蹦,早就为了避免有辱国格处理掉了。
            这样的情况还大言不惭别人“却在这些方向上没有任何作为”,脸皮是有多厚啊?
            至于真正远远比C++难的东西在哪?学术上工程上都多得是。
            把C++妄想成“最复杂”,除了逻辑混乱以及掩盖自己可悲的学习能力以外,好像也不好找出多少其它的自然的理由了。这不就是一种中二么。
            ```
            解决了巨复杂的问题。
            ```
            这是哪个中二脑补出来的呢。
            顺便,实现的复杂性和实现者的智商多少有些相关,懂?
            ```
            敢问这两段代码拿去卖多少钱?用于哪个场景?事实是,这两端代码,没有任何工程价值,简单说,没用。
            ```
            看,找不到肛的地方就想婊价值观了……这不明显就是中二的典型反应么。自己打脸真愉悦。


            IP属地:北京32楼2015-07-17 00:45
            回复
              嘛,还好Fabrice也就只是逼到能艹圆周率玩玩IOCCC,别的都没谁干不过(还不用算上内讧的libav)——不管哪个领域的稍微完整点的实用的一流设计和实现都轮不到他——否则被C厨强制抖M的世界还真是……
              C编译性能?哦,不是Scheme这种看起来没法吃的样子……还真是浪费了。


              IP属地:北京40楼2015-09-17 22:41
              回复