互联网上和 SO 上有很多讨论,即 here和 here ,关于静态语言与动态语言。
我不会再询问关于彼此的问题。相反,我的问题是针对那些从静态类型语言转移(或至少试图转移)到动态语言的人。
我并不是在谈论在网页上适度使用 JS 或嵌入静态类型软件或小型个人脚本中的其他脚本语言。我的意思是转向动态语言作为在团队中开发生产质量软件的主要通用语言。
那么容易吗?最大的优势和最大的挑战是什么?它有趣吗? :)
UPD:您认为 IDE 支持足够好吗?您是否发现您需要更少的 IDE 支持?
最佳答案
这容易吗?
适度。有些 Java 主义是很难改掉的习惯。我的前六个月,我用 ; 编写 Python。恶心。然而,一旦我克服了它,我就没有回头。
最大的优势是什么?
从“写入 -> 编译 -> 构建 -> 运行 -> 中断 -> 调试 -> 写入”循环转变为“写入 -> 运行 -> 中断 -> 写入”循环。需要一些时间才能习惯 Python 命令行解释器的即时满足感。在尝试编写(更不用说编译)任何代码之前,我已经习惯了无休止的设计和规划。
起初我认为 python 命令行是一种“仅供教育”的界面。然后阅读在 >>> 提示符下键入应用程序的文档字符串、文档测试和用户指南,我开始意识到真正出色的 Python 软件将复杂性和细微差别归结为您可以交互式键入的内容。
[我希望我可以设计出那些干净利落的东西。]
最大的挑战是什么?
多重继承。我很少使用它。
好玩吗?
到目前为止。
它的生产力也非常高。更多时间关注用户需求和真实数据。更少的时间规划具有适当接口(interface)的继承层次结构以捕获含义并且正确编译并且足够可扩展以至少持续到下一个版本。
关于dynamic - 从静态语言转向动态语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/583507/