zoukankan      html  css  js  c++  java
  • 讨论贴:语言重要还是工具重要

    我之前一直用 ASP.NET / C# 开发 Web 程序,因为一直处在 Visual Studio 的强大呵护之下,从来没觉得调试有啥问题,基本上不是刨到 .NET Framework 类库的 bug 级别的问题,一般都可以解决。
    但觉得用 C# 写有些东西很麻烦,要写很多、很多代码。安全是安全了,但开发效率很低。

    现在用 Python / Django 开发网站,因为 Python 是动态语言,感觉语法是简单了,很凝练。但是带来的问题是,经常出现低级错误。比如想当然的写错变量名,写错函数名之类,由于没有编译时检查,错误的代码一旦在某个 if..else 分支中,而测试时没有覆盖到,就说不准在某个时候引爆。

    另外就是在 Django 中因为 Framework 处理的环节太多,经常代码里有个错误,经过层层处理,丢失了真正的异常信息,然后界面报出来一个什么 "索引错误" 云云。我已经无数次看到界面报索引错误了,不管实际的错误是什么情况:
       可能是 url 映射文件中不能正确导入某个新建的 module,
       可能是变量名写错,
       。。。
    所以 Django 很多时候报出的出错信息近乎无用。没有真正的调试工具,排错变得很困难!

    这个时候我用的工具是 EditPlus -> Ulipad.
    Ulipad 的提示做的比较到位,但是有时候也有不少 bug. 或者帮倒忙的情形,和 Visual Studio 的 Intellisence 相比,其使用手感还有很大的一段距离。这一点和大多数编辑器/IDE类似,包括 Eclipse.

    直到我用上 Eclipse/PyDev, 才发现原来 Django 的程序也是可以调试的,熟悉的 Step In, Step Over,.. 再一次的,一切都在掌控之中,每个变量在断点的一霎那纤豪毕现。。。


    我的结论是:

    工具比语言重要。

    一个好的工具可以大大提高软件质量。而动态语言虽然相比 C# 等静态编译的语言具备更多的灵活性,可以用很少的代码干很多事情,但缺乏编译时检查,可能给软件的可靠性埋下很多定时炸弹。

    调试工具很重要,必须有调试工具,否则开发效率极低。

    编辑器,不太重要。在上述都具备的前提下,有没有自动提示无所谓,当然有更好。

    所以最值得期待的是:对动态语言开发提供强大支持的 IDE. 比如 Visual Studio 级别的。在这一点上 Eclipse + PyDev 还不够好用。

    动态语言(IronPython, Ruby, ..) + 超级好用的 IDE: 无敌了。。。YY中~~





  • 相关阅读:
    js 遇到问题
    table 排序 添加 删除 等操作
    json对象
    .style, .getComputedStyle(),.currentStyle区别
    3个div 宽度移入移出时变化
    运动 js
    OWASP Top 10之文件上传漏洞简析(二)
    owasp top10 之文件上传漏洞简析
    前台实现ajax 需注意的地方
    apache-Rewrite重写规则配置
  • 原文地址:https://www.cnblogs.com/RChen/p/764579.html
Copyright © 2011-2022 走看看