编辑说明:仅想澄清的是,我并不打算暗示为动态语言编写IDE可能是不可能的。/编辑
根据我的具体经验,我思考了多年关于JavaScript的对话/评论,其中很多在堆栈上,但偶尔有人会说,JS没有像样的IDE的原因是因为动态类型使它太难做。
我从解析JS的角度考虑过这个问题,我不明白类型与自动完成或直接转到内容定义之类的功能有何关系。如果有什么,我认为在动态语言中通过传递参数建立范围和可用性将更容易建立,而无需担心类型检查问题。特别是在JS中,在大多数情况下规则实际上相当简单。
直到我开始听到人们引用动态类型作为技术阻碍问题时,我才认为在大多数动态脚本语言中,您可以从控制台运行,减少冗余性并在实时执行环境中轻松测试,从而使调试更加容易,从而减少了IDE的需求。
那么是哪一个?静态类型的某些内容使得更容易解析代码以建立范围/可用性,还是我对需求减少的理解是正确的?