当我们在讨论开发效率的时候,我们在讨论什么。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
nisnaker
V2EX    程序员

当我们在讨论开发效率的时候,我们在讨论什么。

  •  
  •   nisnaker 2015-07-02 18:45:04 +08:00 3395 次点击
    这是一个创建于 3758 天前的主题,其中的信息可能已经有所发展或是发生改变。

    首先说一下,发这个帖子不是为了争论语言高下。

    刚才在某博客看到这么一句话:

    Nodejs标准的web开发框架Express,比起PHP的开发效率更高。

    先不说拿框架跟语言比是不是公平,我比较奇怪这个开发效率是怎么比较的。
    理论上来说,能监听80端口能实现http协议的语言,都能用来做web开发。先说说我的理解吧:

    • 编码工作量:极端比较就是汇编和PHP相比,实现相同的功能,PHP所需要的编码工作明显要少得多,那么我们可以认为(在web开发这一项来说)PHP的开发效率要高于汇编。
    • 对语言的熟悉程度:我是做PHP的,如果要我用PHP和Ruby做同样的功能,我肯定是觉得PHP效率更高,但是这样明显不客观。
    • 语言的学习曲线:web开发大体就是对数据的curd操作和对字符串的处理,就拿PHP和Nodejs来说,curd肯定有相关扩展,自己装好扩展写写业务查一下删一下就行,字符串处理高级语言都很方便,想做什么变换都有现成的函数(这一条我没做过调研,我觉得应该有),各语言之间的效率差异应该不大。如果论及到后端的缓存集群等其他技术,也就跟具体语言无关了,暂不讨论。

    可能有人会说了,我用ROR可爽了,一个上午就能搞定一个博客,但是其他人用其他语言的框架也未必不能,靠的无非是框架的“一站式”解决,啥都是现成的,开箱即用。

    就说这么点,大家理解的开发效率是怎样的呢?

    7 条回复    2015-07-02 22:39:04 +08:00
    nisnaker
        1
    nisnaker  
    OP
       2015-07-02 18:46:47 +08:00
    奇怪,为什么刚发的主题会显示 4小时0分钟前。
    picasso250
        2
    picasso250  
       2015-07-02 19:21:20 +08:00   1
    显然,比较开发效率,要控制其他的变量。

    不同语言(或者框架)的 average coder 开发同样的 average 功能的网站,所花费的时间多少,反比于开发效率。

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

    如何定义 average coder ? 一种定义方式是 average man 使用同样的时间(比如 2000 个小时)的学习与训练,这种定义着重智力上的可获得性。一种定义方式在所有的使用人群中取能力上的中位数/平均值,这种定义强调市场上的可获得性。当然,第二种定义还涉及到能力定义,以及比较能力的方法。

    如何定义 average 功能?显然开发一个facebook的承载量的网站不是average,而是top,而一个留言板显然又low了,那么我们可以从市场的角度出发,定义出一个最容易被用到的功能的一个交集(比如一个论坛)。

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

    显然还是直接开始撕逼来的痛快一些。
    yakczh
        3
    yakczh  
       2015-07-02 19:25:03 +08:00
    讨论开发效率其实是在讨论加班
    beneo
        4
    beneo  
       2015-07-02 20:03:45 +08:00
    讨论开发效率其实是在讨论加班
    gengrui
        5
    gengrui  
       2015-07-02 20:18:32 +08:00   1
    开发效率主要体现在如下几点:
    0. 学习效率。相对短的时间内,有一定计算机知识结构的程序员,能否对开发语言有更深刻的了解。
    1. 编码效率。相对短的时间内,能否搭建出更多的功能模块。
    2. 维护效率。程序员是否更容易写出best practises。
    3. 运行效率。

    好的语言,不仅仅是优雅,高效,易于更新和迭代,更重要的是,就算是初级程序员也不会犯太大的错误。
    zhaiduo
        6
    zhaiduo  
       2015-07-02 21:24:22 +08:00 via iPad
    应该讨论的是程序员是否牛逼,跟语言无关。
    noli
        7
    noli  
       2015-07-02 22:39:04 +08:00   1
    @picasso250 说得很有道理,尤其是设定与开发相关的基准 avg man 这个思路很重要。

    但我觉得 avg 功能不是一个有用的概念。需求是变动的,应对变动的是 coder 和 语言,这个应该作为开发效率的一部分因素而不是基准了。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     987 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 21ms UTC 18:44 PVG 02:44 LAX 11:44 JFK 14:44
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86