动态语言,涅磐重生还是死路一条?
最近花时间一直在看python和ruby,为了在Web应用又看了Karrigell和Rails.
刚开始的时候是很兴奋地,毕竟这两个新玩具还是够玩上很长一阵子了,不过对于动态语言所标榜的code is the best configuration
却在使用的过程中产生了很多的疑惑,写这篇Post主要就是把心里的疑惑说出来,看看有没有大虾能够解惑了,算是抛砖引玉吧。
其实动态语言的历史并不短,起码在我出生前就肯定存在了,不过到了现在才开始流行起来。其实python,ruby都是老家伙,不会比现在
的java年轻,看来时装届多少年依次的潮流回归在计算机领域神奇般的有效了。抛开其他的,其实就语言上来说python,ruby都是很具备
前瞻性的,偶是相当喜欢的(抛开ruby的日本血统而言,正因为如此我才去看了python)。可能是被J2EE庞杂的配置文件所厌烦了。
现在就开始流行code is the best configuration的说法,不过我认为此说法太过片面。诚然代码就是配置这个说法在某种程度上是正确
的,但是很多时候我们并不能这么做。回过头来看java(.NET同理),java(.NET)是强类型的语言,都必须编译后才能执行,所以在写代码
的时候,很多可能改变的常量我们都会提取出来放到配置文件里去,这个是语言,是平台所决定的,所以看来在java动态化前是不能把
代码当作配置了。但是如果java果真动态化了,我们就能这么做么?如果一个正常在线运行的系统地源代码是随便改动的那么怎么保证
系统的安全,稳定,如果在修改的时候有用户访问怎么办?就算是先在测试环境里先修改,那么和需要编译的僵硬的java又有多大的优
势呢?反观,在现在的大型关键应用系统中又有多少使用动态语言的呢?所以在短期内我还不很看好动态语言。不过就和当年C++的狂热
支持者用效率来贬低java一样,一个当年也被称为玩具的语言,先在成了电信,企业应用,大型应用的代名词,谁知道先在的玩具,将来
就不能成为一柄利器呢?话虽如此,还是喜欢用python,起码现在对我来说当作脚本写点小东西还相当实用的。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述