编程语言技术热度的一些转变

四五年前,大家对语言讨论比较火热,经常在有人在论坛上对不同的语言进行比较,还对孰优孰劣等问题争论得面红耳赤。另外一个就是对框架和设计模式的推崇,当时JAVA的框架正值顶峰,不谈一下IOC这些概念都不好意思出来跟人说话。而当时微软的.net在奋起急追,VB和Delphi也还有很多公司在用,C/S和B/S也还在混战,可以说是百花齐放,显得很有活力。不过据我所观察到的,大概到09年的时候,这种热度突然就下降了。到现在就很少有人讨论这方面的东西了。可以看得出来07、08年的时候是一个技术的转型期,在这个转型期开发人员的工资水平也得到了提高。过了这个转型期,大部份公司对语言或技术的选择都基本定型了,于是就又按步就班的运转了起来。

从另一个角度来看,当时正值80后的大学毕业生出来工作两三年,刚好处在意气风发精力旺盛的阶段,再到后面社会环境改变,生活压力加大,再加上陆续的结婚生子,就缺少了对待技术的激情,更多想的是用好掌握的工具来踏实干活。

从技术来讲,国内主要还是做应用开发,不是JAVA就是.net,而这两门语言或者平台,本身内容是很多的,不是局限在语言本身,从技术难度来说不算难,但国内大多数公司分工都不会很细,有很多技术点要掌握,SQL、框架、HTML、JavaScript、CSS、数据库及服务器配置、安全性以及各种第三方的库都要熟悉,不然很难开发出优质的应用。因为苹果公司的引领,以及移动开发的兴起,现在业界对界面美工及交互这方面要求变高了,以前有些软件界面是很丑的,现在很少了,对美工注重的另一个反映就是现在国内的网站越来越漂亮了。从以前不谈一下IOC不好意思出来说话变成了不精心做美工不好意思拿出来见人。这样看来好像国内软件业上到一个新层次了,从追求功能完备到开始追求美观易用了。这里有个反面典型就是铁道部的网站,很丑。另一个就是国内几个出名点的Linux网站,很丑。

另一个方面就是底层开发,随着Android的兴起,驱动开发这些有很多需求,而且似乎从事的人不多,高手就更少了,国内做Linux系统开发水平不高,国产的ROM多多少少不稳定,当然这个在世界范围内也是难题,大公司的机子很多都不能升级,国内厂商为了市场考虑把不太稳定的ROM也放出来升级。

还有就是移动开发,应该是当今的焦点,我对IOS开发了解不多,从使用来看,IOS上的软件质量较Android要高。从编程语言排行来看,Java热度并没有随着Android的快递增长而增长,可见很多搞Android开发的都是以前做Java的转行过来的。做JAVA的大多从事服务端开发,和手机平板等本地应用还是有较大不同,Android框架也和B/S框架完全不同。我想这个也是Android应用质量不如IOS的原因。移动开发不简单,也不单单是应用本身,大部份应用都需要服务端支持,加在一起都是一个系统。只要称之为系统,各种技术点都七七八八要用上来。

现在社会也愈加压抑,软件开发这个行业从职业来讲,收入算是中等或偏上,但是确实也不容易。国内对知识产权的不保护,也导致软件行业不太正常的发展,整体来讲,软件行业产值不提升,开发人员的收入也难增长。于是大家就默默的工作、生活,于是互联网上有关技术的热度就下降了,繁华过后,总会寞落。当下Win8和Wp8推出,Android、IOS乱战,触摸本的推出以及可预见的触摸型应用的增长,这些对软件开发行业都是很好的机会。但是不知怎的,总感觉少了一种意气风发的激情,也许真的老了,也许人类本不需如此折腾。唉,一声长叹。


### 关于 npm 支持的编程语言 npm 是 Node.js 的包管理工具,主要用于 JavaScript 生态系统的依赖管理和分发。尽管 npm 主要服务于 JavaScript 和其衍生的语言(如 TypeScript),但它并不严格限定只支持这些语言。通过一些特定的方式,其他编程语言也可以被集成到 npm 中。 #### 1. **JavaScript** 作为 npm 的核心支持语言,JavaScript 自然是最广泛使用的语言之一。开发者可以通过 `npm` 安装各种 JavaScript 库和框架[^2]。 #### 2. **TypeScript** TypeScript 是一种静态类型的超集语言,最终会被编译为 JavaScript。由于它的兼容性和强大的类型检查功能,在现代前端开发中非常流行。许多流行的库也提供了官方的 TypeScript 类型声明文件[^3]。 #### 3. **CoffeeScript** 这是一种简洁语法风格的编程语言,能够转换成等价的 JavaScript 代码。虽然近年来 CoffeeScript 的热度有所下降,但仍有一些项目继续维护和支持它。 #### 4. **Dart (间接支持)** Dart 开发者可以利用 dart2js 工具将其代码转译为 JavaScript 后发布至 npm 注册表上。这种方式使得 Dart 成功融入到了更大的 JS 社区之中。 #### 5. **Rust via WebAssembly** 随着 WebAssembly 技术的发展,越来越多的 Rust 程序员选择将自己的 Wasm 输出上传到 npm 上供他人调用。这实际上扩展了传统意义上仅限脚本解释执行环境下的可能性边界[^4]。 需要注意的是,除了上述提到的一些例外情况外,大多数时候我们讨论 “npm 支持哪些编程语言” 实际指的是那些能以某种形式转化为可运行于浏览器或者 node.js 平台上的 js 文件的内容;因此理论上任何可通过相应手段转变为标准 ECMAScript 格式的程序设计语种都有机会成为其中的一员。 ```bash # 设置淘宝镜像源来加速国内用户的下载速度 npm config set registry https://registry.npm.taobao.org # 切换回默认官方仓库 npm config set registry https://registry.npmjs.org/ ``` 查看当前配置好的资源位置: ```bash cat ~/.npmrc ``` 以上命令可以帮助用户更好地理解如何操作 npm 来适应不同需求场景下的工作流程设置问题[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值