编程语言的局限

作者: 老瓦在霸都 | 来源:发表于2024-11-22 10:10 被阅读0次

最近重新复习了 Java 这门我曾经非常熟悉的语言 , 翻阅到 Bruce Ekecl 的 ON JAVA 一书, 他在卷首就引用了维根斯坦(Ludwig Wittgenstein)的名言: 'The limits of my language means the limits of my world.' 我的语言的局限即我的世界的局限.

作为程序员, 一种语言会悄然无息的引导你进入某种思维模式, 同时远离其他思维模式.

看到这里, 我深有同感, 我现在用的最多的编程语言是 Python , 而 C++ , Java 和 JavaScript 也是我熟知的语言, 我用它们来谋生, 写过许多正式项目和 side project.

在语言之间我也曾经有过好恶, 对 JavaScript 我还写过一篇吐槽的文章 C++程序员眼中丑陋的 JS

可是随着年岁的增长, 我也渐渐领悟到不应局限于语言的边界, 很多编程语言为了解决机器语言的复杂性, 引入了更多的自身的复杂性, 当看到 Java 项目中那么多的注解, 那么多的 setter/getter , 各种框架的各种奇技淫巧, 我觉得 Java 把事情搞得有点过于复杂了.

然而,当我转过头来看 Python 时,它以其简洁优雅赢得了我的心,却又让我在某些场合深感无力。Python 的”人生苦短,我用 Python”俨然是一种哲学,但苦短的人生里,性能瓶颈和动态类型引发的神秘错误却也未必总是浪漫。要处理百万级请求?C++程序员笑而不语;要严谨的数据类型推导?Kotlin 不禁哼起了歌。

每种语言就像一个国家,有自己的文化、风俗和治理方式。Java 是个喜欢规规矩矩穿西装打领带的“商务精英”,一丝不苟地写注解,带着 setter 和 getter 出席每场会议。它的框架让你觉得这家伙的行事逻辑虽复杂,却极其可靠;但有时候你会被它的“繁文缛节”搞得头晕。Python 呢,就像那个穿着短裤坐在沙滩边的哲学家,轻松、灵活、心态平和。它告诉你“随便来就好”,但你一问细节,它却抬头望天:“呃……随缘。”

至于 JavaScript,哼!它是那个疯狂的艺术家,一边画着画一边对你喊“函数可以是对象!变量可以是全局的!”它让人又爱又恨,一会儿心旷神怡,一会儿吐血三升。它对 web 世界贡献颇多,却总喜欢打破规则,以至于你时常需要捂着脑袋回忆:undefined和null到底谁是谁?

C++ 则是那个老牌将军,手握重兵,沉稳而强大。它的丰富特性和近乎无限的可能性,让你能写出火箭程序,也能在调试指针错误时痛不欲生。它给了你巨大的自由,但自由的代价是责任,你用 C++ 编程时,总会感觉背后有一股声音低语:“用我的力量之前,你得先承担它的重量。”

所以,我渐渐学会不再责怪语言的短板,正如不再对国籍或性格大加评判。每种语言都有它的独特优势,也都有让你抓狂的地方。我们要做的,是学会扬长避短,借助它们的力量去完成适合的任务。

比如,写脚本自动化?Python 是最佳伴侣;搭建高性能服务器?C++ 当仁不让;做企业级应用?Java 能帮你一统江湖;开发动态的 web 页面?JavaScript 是一等一的工具。

当我从这个角度看待编程语言,它们不再是“对立的阵营”,而是工具箱里的各种工具——螺丝刀、锤子、电钻,各有其用,不必争个高低贵贱。正如 Bruce Eckel 引用的维根斯坦所言:语言的局限即世界的局限。当你跨越语言的边界,你的思维模式和解决问题的方式也会更加丰富。重要的是,灵活运用这些工具,把复杂的事简单化,而不是反过来。

最后,献上一句编程界流传的格言:“最好的语言是什么?适合这项任务的那一种。”

相关文章

  • 北邮在线揭秘——2018年最值得去学习的编程语言

    编程已经成为最受欢迎的职业,不像之前编译软件局限于少量的编程语言。现在,我们有许多种编程语言可供选择。随着跨平台支...

  • 北邮在线揭秘——2018年最值得去学习的编程语言

    编程已经成为最受欢迎的职业,不像之前编译软件局限于少量的编程语言。现在,我们有许多种编程语言可供选择。随着跨平台支...

  • C++ 面向对象编程

    面向对象编程 面向对象编程是一种设计思想,并不局限于语言 无论是C++, Java,还是C语言, 或者Shell,...

  • Swift服务端开发系列完整版

    作为 “吃青春饭” 的程序员,不要局限于自己熟悉的业务,不要局限于自己的编程语言,更不要局限了自己的人生维度。 S...

  • 语言的局限

    有没有一种思想是不带着象征 符号或语言的 头脑若是不被这些东西阻塞 思维活动就会变得截然不同 它不再有任何边界 语...

  • 语言的局限

    是人发明表达人的思想的 人的思想,认识世界,从错综复杂的关系中隔离出来一条来研究。控制变量,单一变量。 力的分析 ...

  • 语言的局限

    我写作的时候总是会遇到一些不知道怎么用文字表达的情感,这时就想如果我能形容出一个事物,让读者在阅读它时会产生我想表...

  • 语言局限

    别人恐惧时我贪婪 和 不要在乎别人的看法 中的“别人”是指谁? 别人恐惧时我贪婪中的别人,是指散户,还是指主力资金...

  • 动态编程语言和静态编程语言

    动态编程语言:python等 静态编程语言:java等 动态编程语言和静态编程语言区别: 动态编程语言的变量并不是...

  • 小议语言的局限

    作者:老少阴阳 其实,作此文,标题就讲完了,语言有局限。所以,动笔之前,我就想到了文成之后,他的局限自然随来...

网友评论

    本文标题:编程语言的局限

    本文链接:https://www.haomeiwen.com/subject/wdmnjjtx.html