对于王垠的这篇 “无谓的编辑器战争" 大家有什么看法? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
mozartgho
V2EX    程序员

对于王垠的这篇 “无谓的编辑器战争" 大家有什么看法?

  •  
  • /li>
  •   mozartgho 2013-05-24 00:18:35 +08:00 12715 次点击
    这是一个创建于 4528 天前的主题,其中的信息可能已经有所发展或是发生改变。
    59 条回复    1970-01-01 08:00:00 +08:00
    Hongmin
        1
    Hongmin  
       2013-05-24 00:41:01 +08:00 via Android   1
    写java 还是用eclipse , 省事的多。可惜要有一台强劲的电脑
    Ricepig
        2
    Ricepig  
       2013-05-24 01:06:37 +08:00 via iPhone
    写的正合我意,哈哈
    levon
        3
    levon  
       2013-05-24 03:56:24 +08:00
    终于有一篇文章我还能看得懂的
    missdeer
        4
    missdeer  
       2013-05-24 08:05:36 +08:00
    不错。。。
    alexrezit
        5
    alexrezit  
       2013-05-24 08:17:45 +08:00
    说得很不错, 不过有一点不同意: "vi 盲目求快和麻烦的模式切换", 一点也不麻烦好么?
    所有只能用方向键移动 cursor 的编辑器都是耍流氓, 所以我给 Xcode 装上了 XVim 并且设置 Insert 模式的快捷键 control h/j/k/l 移动.
    fly2never
        6
    fly2never  
       2013-05-24 08:32:25 +08:00   3
    经常写java和Objc的表示,IDE绝对是必要的.但是Vim的操作又很高效,所以我用ideavim/vrapper/xvim等IDE的vim插件,两者兼顾.
    DouO
        7
    DouO  
       2013-05-24 08:53:28 +08:00   1
    @alexrezit Mac 下的文本输入框都支持 Emacs 的光标移动键绑定。
    shiweifu
        8
    shiweifu  
       2013-05-24 08:53:33 +08:00
    @alexrezit
    我觉得装了XVim 之后,Xcode 变的好卡
    haooyi
        9
    haooyi  
       2013-05-24 08:58:41 +08:00
    坐等回复里vim和emacs和IDE党开战
    RisingV
        10
    RisingV  
       2013-05-24 09:05:06 +08:00
    这从来不是一场战争,只是程序员之间相互调侃的幽默
    ijse
        11
    ijse  
       2013-05-24 09:11:21 +08:00
    做前端的不是不喜欢IDE,而是没有找到好用的IDE。。
    vietor
        12
    vietor  
       2013-05-24 09:23:51 +08:00
    大神们都在使用文本编辑器,本身就说明了它的价值:简单、有限依赖、注重结构、高度可定制。
    IDE嘛,你用,我用,大家用;为了满足“任何层次”的人使用,提供的方法也就变得非常“平庸”,而且与“环境”高度依赖。
    alexrezit
        13
    alexrezit  
       2013-05-24 09:26:14 +08:00
    @DouO
    我知道. emacs 的 control 太多了, 我也就用用删除键 control d, control k 什么的. 其他的懒得学又手指短, 就用 vim 啦.

    @shiweifu
    有 bug 倒是真的, 但你这说得好像不装就不卡似的.
    推荐你装个 trollcode, 可好玩儿了, Xcode 一卡死就弹出这个:
    vietor
        14
    vietor  
       2013-05-24 09:29:34 +08:00
    此外,关于IDE:
    1)写C/C++居然用java驱动的Eclipse恶不恶心?
    2)写了这么多年程序,发现不会使用“自动构建”恶不恶心?
    3)用惯了VS,就感觉别的IDE不好用,Windows适合做一切恶不恶心?
    cassyfar
        15
    cassyfar  
       2013-05-24 09:54:50 +08:00
    IDE有IDE的好处 但是对于C 越底层IDE越难伺候
    ctags还是不错的 刚才特意试了下xcode的jump to definition 结果symbol not found... 我的不是obj-c
    xcode的细节和代码补全确实把vim爆表了 但是vim的visual mode是一大优势
    另外IDE的致命伤就是GUI... 在ssh x forwarding渣出翔的时代 我还是用CLI吧

    我隐约记得他之前有篇文章专门把 代码在意长短不在意语意简明的 给喷了,这篇有拿长短当优势论...
    detailyang
        16
    detailyang  
       2013-05-24 10:37:11 +08:00
    vim插件clang_complete补全c/c++ 真心不错 = =
    0bit
        17
    0bit  
       2013-05-24 10:42:34 +08:00
    自从用了PyCharm 之后,再也不想用Eclipse、Sublimetext、Aptana了
    darasion
        18
    darasion  
       2013-05-24 10:49:12 +08:00
    我觉得,如果能结合ide和vim就好了,可惜现在的东西都不行,都不符合我需要的这个条件。

    vim 做成ide需要配置一大堆东西,需要配置的都不行。
    ide 要做成vim,貌似还没有(模仿快捷键这种太低级,根本不行)。
    alexrezit
        19
    alexrezit  
       2013-05-24 10:56:35 +08:00
    @cassyfar
    XVim 就能给 Xcode 加上 visual mode, 常用的功能都有.
    zuyf
        20
    zuyf  
       2013-05-24 11:00:36 +08:00
    王垠大神的论点一向犀利, 对于一个能够连续进入三所顶尖大学, 并连续三次放弃博士学位, 而且很帅的神人, 我辈只能默默仰视之, 在我们看来很自大的言辞, 或许就是事实吧。

    下面是王垠最新一篇博文的开头, 就从这种气势, 我也要学习下:

    “ydiff 是我的一个小实验,用以探索一种全新的程序比较以及版本控制系统。说它是“小实验”的原因是因为实现它所用的技能占不到我头脑 10% 的能力,我花在上面的时间不到一个月。我一直以为已经有其他人做出了类似的系统,可是几年以后我才发现,它所包含的技术对于别人来说的难度出乎我的意料之外。ydiff 到现在仍然是世界上最先进的程序比较系统。它的算法精确性和界面的友好性,大大超过了 Semantic Designs SmartDifferencer, Compare++ 等商业产品。”
    sdjl
        21
    sdjl  
       2013-05-24 11:05:15 +08:00   2
    有一个关键, 这要看你写的是java c#编译语言, 还是python shell脚本语言。
    用编译语言的人更依赖IDE吧, 比如重构工具, 用脚本语言的人也许感觉vim就够用了
    jason52
        22
    jason52  
       2013-05-24 11:46:08 +08:00
    @zuyf 王垠的写作手法是一绝呀!!
    tonyzzp
        23
    tonyzzp  
       2013-05-24 12:52:37 +08:00
    对于一个写久了java,被eclipse惯坏了的人,你们就使劲喷我吧。
    66beta
        24
    66beta  
       2013-05-24 13:31:25 +08:00
    eclipse没有它儿子netbeans好用,但是netbeans依然卡

    Sublime 很好,单界面,跨平台,丰富的扩展
    kqz901002
        25
    kqz901002  
       2013-05-24 13:38:52 +08:00
    @vietor 请不要因为使用一种语言/系统/设备而抱有优越感,作者并没有说Windows很好,只是认为Visual Studio是个很不错的IDE,希望其他OS也有个这样的IDE,关于前两点我赞同。
    F281M6Dh8DXpD1g2
        26
    F281M6Dh8DXpD1g2  
       2013-05-24 13:51:59 +08:00
    @zuyf "ydiff 到现在仍然是世界上最先进的程序比较系统。它的算法精确性和界面的友好性,大大超过了 Semantic Designs SmartDifferencer, Compare++ 等商业产品。” 我很好奇他是用什么标准做出这样的评判的......
    Xg
        27
    Xg  
       2013-05-24 13:53:16 +08:00
    搞不懂没事总关注他干嘛,文章里大多是空泛的理论,很少有干货存在。。
    IDE/Editor之争以及IDE/Editor具体工具之争的时间跨度已经超过他的年龄了,文章总数想来也不会少到哪里去,到现在唯一的结论就是爱用什么用什么。。

    真的是多这一篇不多,少这一篇不少。。只能拿来刷存在感而已
    saharabear
        28
    saharabear  
       2013-05-24 13:55:03 +08:00
    谁要把编辑器真的当成战争,谁就傻了。很多emacser, vimer都是两者双修的,并且大家随便拿起某种编辑器和ide都是两天就熟练的。

    就是调侃调侃而已。
    mozartgho
        29
    mozartgho  
    OP
       2013-05-24 14:13:26 +08:00
    @liprais 就凭他在coverity工作这一点,我相信他的评判。coverity的代码分析公司是这个星球上最牛的!
    F281M6Dh8DXpD1g2
        30
    F281M6Dh8DXpD1g2  
       2013-05-24 14:32:34 +08:00
    @mozartgho 这逻辑....
    ybf1220
        31
    ybf1220  
       2013-05-24 14:36:40 +08:00
    编辑器爱用什么就用什么,管不到别人,管好自己就行。有时间还是做点有贡献的事吧。
    同意 @Xg 的观点。
    mozartgho
        32
    mozartgho  
    OP
       2013-05-24 14:51:28 +08:00
    @liprais 呵呵 我只是觉得王垠在coverity也许真能利用他的长项,做出一些震撼的东西来。另外coverity的工具真的很牛叉,因为我们在用。
    davepkxxx
        33
    davepkxxx  
       2013-05-24 17:36:23 +08:00
    我不在自己不擅长的领域和擅长该领域的人战斗。
    davepkxxx
        34
    davepkxxx  
       2013-05-24 17:40:13 +08:00   1
    比起无谓的编辑器战争,我们还是讨论豆腐脑是甜好还是咸好吧,这才是国本。
    0bit
        35
    0bit  
       2013-05-24 22:52:13 +08:00
    @davepkxxx 豆腐脑必须是咸的!烧死那些异教徒!
    Candyhorse
        36
    Candyhorse  
       2013-05-24 23:10:40 +08:00
    @0bit 是吗?我用了两天PyCharm,还是适应不了……改怎么配置……
    0racleTink
        37
    0racleTink  
       2013-05-25 00:34:22 +08:00
    @sdjl +10086
    chemzqm
        38
    chemzqm  
       2013-05-25 00:43:54 +08:00 via iPad
    无谓还说那么老多,而且明显不是真懂vi,只能说自个儿懒得深入,瞎比一通还不忘嘲讽下自己
    wuyamoyun
        39
    wuyamoyun  
       2013-05-25 07:22:01 +08:00
    看了以上,我觉得问题根本不在编辑器,而是计算机硬件,赶紧升级电脑是正事
    0bit
        40
    0bit  
       2013-05-25 07:48:07 +08:00   3
    @Candyhorse 按照自己熟悉的,修改快捷键配置,如果是VIM党,可以装上IdeaVim;
    如果同时做前端开发的话,可以装上Live Edit,File Watcher,都是神器。
    还内置virtualenv,方便的管理多个Python环境,以及直接通过界面调用pip安装类库,方便的debug,还有TDD,doctest等。
    总之吧,就是一个特别省心的IDE,相对于Eclipse之流来说,省了很多配置,并且更智能了。
    jjgod
        41
    jjgod  
       2013-05-25 07:51:51 +08:00   1
    意思其实不错,就是说我既然做的是语言解析的活就希望用的编辑器都能理解我编辑的代码,现在编辑器发展也是这个方向么,比如 SublimeClang, YouCompleteMe 这种插件走的都是这样路子。

    IDE 这个概念不是不好,只不过对很多人来说 overhead 太高了,有的 IDE 在语言解析的实现上又有诸多问题,比如缓存管理做得不好,加上完全是个黑盒子基本上没法 hack,倒不如松散耦合的编辑器更有改进空间。

    比如 Xcode 打开我工作的项目,更新一遍索引就得半小时,真要用它啥活都别干了,SublimeClang 则立即打开一个文件就能工作,具体编辑的时候哪怕 Xcode 的补全更精确一点对我都是无足轻重的因素了,但不同的人可能就有不同的看法,比如做轻量一点项目的时候用 IDE 就可能更有效率。
    likuku
        43
    likuku  
       2013-05-25 10:04:32 +08:00
    vi/vim 只说一点:要在一个1万行的文件里,删除第503行到873行,我不知道其它编辑器有啥很方便的办法(拿编辑器写段程序来处理的不算)。
    likuku
        44
    likuku  
       2013-05-25 10:06:40 +08:00
    @mozartgho 从某个时期开始,觉得王的文章空谈太多,大赚眼球骗点击率的嫌疑很高。
    youdu
        45
    youdu  
       2013-05-25 12:01:32 +08:00
    @likuku 所以他的博客名字叫“当然我在扯淡”。:)
    luikore
        46
    luikore  
       2013-05-25 12:12:07 +08:00
    @likuku textmate cmd+L 503-873, 按 delete
    kshatriya
        47
    kshatriya  
       2013-05-30 10:19:15 +08:00
    你们不能多关注点语言本身?
    binux
        48
    binux  
       2013-05-30 10:38:45 +08:00   3
    当大部分还在用windows开发的时候,用Linux B格会高一点
    当很多人开始用Linux了,用OSX B格会高一点
    用OSX的人多了之后,其实windows也蛮好的,B格又高一点
    当大部分在用记事本IDE的时候,用VIM什么的,B格高一点
    当大部分人在争论那种编辑器好的时候,跳出来说“无谓的战争”,B格又高了一点
    hooluupog
        49
    hooluupog  
       2013-05-30 11:47:18 +08:00
    王垠的那个ydiff最近被推荐到hacker news上了。
    Golevka
        50
    Golevka  
       2013-05-30 17:14:36 +08:00
    @likuku cat管道给tail | head一过滤
    momo5269
        51
    momo5269  
       2013-05-30 18:16:02 +08:00
    lispworks...
    hongyz
        52
    hongyz  
       2013-05-31 14:07:11 +08:00
    真心觉得说得很对。
    现在的IDE还不够强。记得在某个TED演讲看到,有人开发了代码结构图形可视化的IDE。
    hongyz
        53
    hongyz  
       2013-05-31 14:13:34 +08:00
    @likuku 你没看懂文章的意思吧?IDE对于AST结构的处理的优势,这个是重点。“删除第503行到873行”,不会这样删除的吧,只会删除某个函数,某个类,某个语句块。
    hongyz
        54
    hongyz  
       2013-05-31 14:20:25 +08:00
    @sdjl 对,静态语言更容易解析成AST。动态语言也是需要的。对于动态语言,边写边提示代码可能比较困难。写完后查看代码还是很好用的。AST是超越具体编程语言的。
    likuku
        55
    likuku  
       2013-05-31 14:31:30 +08:00   1
    @hongyz 对于不用IDE的人,只是用个编辑器,的确有这种需求(快速定位,快速删除行)。另外,表示文章没看过(没看的部分原因,44楼说明了),只是根据本帖这么多人的回复内容举的例子。
    Golevka
        56
    Golevka  
       2013-05-31 18:54:29 +08:00
    @hongyz 路过并表示没看出来parse的难易程度和目标语言是静态类型/动态类型有什么关系
    Gal3rielol
        57
    Gal3rielol  
       2013-05-31 19:54:55 +08:00
    @Golevka

    不是parse,而是理解语义。
    动态语言不带type annotation,做出IDE的那些功能很难,所以写ruby,python的时候用编辑器是可以的,因为根本没有好的IDE可以用。
    而写Java,objc这种能用IDE却不用,非要用编辑器就...
    Golevka
        58
    Golevka  
       2013-05-31 20:20:44 +08:00   1
    @Gal3rielol type annotation对于type inference来说不是必须的, 只要有能力静态地推导变量的类型就行. 不过那么多号称类型推导各种强大不用写type annotation的语言也没见有多少像样的IDE... 嘛, 其实OOer们的想法非常简单, 只要在对象后面打个.能弹出一个自动补全的popup就行.
    jiyinyiyong
        59
    jiyinyiyong  
       2013-06-01 08:52:58 +08:00
    崇拜其人, 更希望他能像 Light Table 作者一样, 有了点子就开始动手.
    先写博客刷上 Hacker News 让全世界都知道, 然后上 KickStarter 揽钱,
    然后每个月发文章视频介绍进展,
    我们都热衷那些先进强大的工具, 只是很少有人有能力设计加实现出来
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5289 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 07:07 PVG 15:07 LAX 00:07 JFK 03:07
    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