
Java
多年来,让我改变对某些编程语言看法的有三种,分别是Lua、
JavaScript和Rust。这些语言各有其独特的魅力和价值。很长时间以来,我并不是
JavaScript的用户。我是从ActionScript 3(AS3)转过来的。当时,一位技术水平不高的同事告诉我,学会了AS3之后,学
JavaScript会很容易,因为它们在底层有很多相似之处。但实际上,两者差异很大。与AS3相比,
JavaScript显得功能不足,甚至可以说它的面向对象(OO)特性是伪装的。除了有一套类似的事件系统外,
JavaScript在其他方面远不如AS3完善。那时候,Flash Player即将退出历史舞台,我手中有许多基于Flash Player ActiveX+
C++开发的游戏工具需要寻找替代技术进行维护。于是,我开始尝试使用Node.
JS和
typescript作为新的方向。当时我还编译过V8引擎,试图用它来模仿Flash Player ActiveX的功能,但发现这个方案非常麻烦。最终,我选择了Node.
JS。我没有一开始就选择
JavaScript,而是先选择了
typescript,因为它更纯粹,更接近于AS3的面向对象设计。直到后来,我真正开始使用Node.
JS部署项目时,一个基于Egg.
JS和
MongoDB的电商项目让我不得不直接使用
JavaScript。这时候我才真正了解了
JavaScript那些令人头疼的语言特性,比如React.createElement函数的复杂调用链以及new Array的链式调用等。直到我完全理解了ES2015标准后,我才开始对
JavaScript有了改观。新版本中的class语法更加规范,
JavaScript看起来终于像一门真正的编程语言了,而不再仅仅是一个脚本工具。这时,我对
JavaScript的态度变得不再反感。随着Promise、async/aw
AIt和ArrayBuffer等特性的引入,
JavaScript越来越好用,至少没有朝着让开发者感到困扰的方向发展。每年发布的新版本都会带来一些减少代码量的新特性,显示出极大的诚意。相比之下,
C++的发展则让人失望。从2006年听到
C++0x的消息到2011年才等到
C++11标准,结果却只得到了一个改进不多的版本,连字符串处理都依然不够完善。
JavaScript的发展历程反映了社会的真实情况:即使你不优秀,甚至一开始被认为是垃圾,只要坚持不懈地朝着正确的方向努力,最终也会获得回报。
JavaScript的流行并非偶然,它是通过不断迭代和完善赢得市场的。这并不是一场灾难,而是它应得的认可。每种编程语言都有其独特的优势和应用场景。我们不能仅凭第一印象就下定论,而应该通过实际使用和深入了解,才能真正体会到它们的价值。正如我在学习和使用这些语言的过程中所经历的那样,只有不断探索和实践,才能发现它们背后的潜力和魅力。无论是Lua、
JavaScript还是Rust,它们都在各自的领域中发挥着重要作用,并为开发者提供了丰富的工具和解决方案。通过不断学习和适应新技术,我们可以更好地应对日益复杂的编程挑战,创造出更加优秀的作品。