【问题标题】:Pros and cons of weak and strong typing弱类型和强类型的优缺点
【发布时间】:2011-08-02 05:14:36
【问题描述】:

我正在从 Java 过渡到 PHP/Javascript,并发现使用弱类型语言的所有实际方面。

由于我能够全面比较这两种方法,我想了解每种方法的优缺点。另外,还有其他形式的打字吗?

【问题讨论】:

标签: language-agnostic typing strong-typing weak-typing


【解决方案1】:

弱动态类型的编程语言(如 PHP)使程序员的错误以不连贯的行为发生(例如,程序会显示愚蠢的信息)。

使用强动态类型语言(如 python),编程错误会导致错误消息。它使错误更容易被发现和诊断,但通常在显示消息后程序变得不可用。

最后,使用强静态类型语言(如 Java、Ada、OCaml、Haskell 等)可以在编译时发现一些错误,从而降低提供错误程序的风险。 (但发布时间较晚)

【讨论】:

  • "稍后发布。" - 有任何证据吗?如果我们不谈论一些 100 行的琐碎程序,我会怀疑。
  • PHP 是您列出的语言中唯一一种纯粹为 Web 环境而开发的语言。网络上下文只处理字符串。
【解决方案2】:

是的。 Python 使用Dynamic Typing

通常,这取决于个人偏好和给定语言的预期用途的架构师所扮演的角色。

例如,弱类型的 PHP(一种脚本语言)是有意义的,因为它通常执行的任务远没有那么复杂,并且与编译语言相比需要更少的约束。

【讨论】:

    【解决方案3】:

    关于你的最后一个问题,Mathematica is said to be "typeless."

    高级、无类型、动态语言,在所有数据、函数和接口中具有一致的符号语法和语义

    【讨论】:

      【解决方案4】:

      PHP/javascript 可用于开发比 Java 更好看的 UI。 PHP 将比 java 具有更少的限制并且易于学习和执行。

      【讨论】:

      • 这不是强/弱类型的问题,是吗?
      • PHP 和 Javascript 在 Web 堆栈中扮演不同的角色,而 PHP 或 Java 是否比 Java 更容易学习和执行还值得商榷。 JavaBits 是对的;这甚至不能解决问题。
      猜你喜欢
      • 2011-03-23
      • 2011-10-20
      • 2020-02-19
      • 1970-01-01
      • 2010-10-05
      • 2023-03-11
      • 1970-01-01
      • 2014-09-07
      • 2011-06-22
      相关资源
      最近更新 更多