西西河

主题:Adobe停止开发移动平台上的Flash版本 -- holycow

共:💬72 🌺116 新:
全看分页树展 · 主题 跟帖
家园 随便说说而已

计算机语言出现大约70多年了吧,有什么理论上的重大突破吗?看Tiobe的趋势图,命令式语言函数式语言,静态语言动态语言,强类型语言弱类型语言,总的趋势是逐渐靠近,各自吸收利用彼此的优点。

现在在项目中混用各种开发语言的现象很多,比如底层驱动用c开发,中间件选java,表现使用css/html/javascript,管理使用脚本语言。甚至在同一层混用各类语言,python+c, java+c++, java + 脚本语言等等。

.net代表的虚拟机上的强类型语言,相比解释型语言依然有性能上的优势,而且JIT技术至少给了虚拟机与native语言比较的机会。而其他脚本语言在解释器上,还有很多向java/.net虚拟器学习的地方。未来可能有通用虚拟机的出现。

C++语言有点复杂,C/GP/Template...各种风格塞进一个语言里,词法形式上就不简洁。看那Template,和LISP里的宏有什么区别,不好用。只是现在在这个层面上,没有其他语言能替代它。C不行,D不行,Go似乎也不行。另外,C++也想加GC,这和java有什么太大区别呢,内置GC库的静态语言?

而且,随着并行技术的成熟,虚拟机技术反而更有机会扩张范围,毕竟把并行计算放到虚拟机中比每个应用自己内置更经济些。

说来说去,(工程类)程序员最好还是从底层到系统层到应用层都有所了解,掌握几种各自代表性语言。

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河