V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
nisnaker
V2EX  ›  程序员

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

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

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

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

    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   ·   实用小工具   ·   970 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 20:00 · PVG 04:00 · LAX 12:00 · JFK 15:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.