大数据时代来临,动态语言如何解决并发特性需求

2015-12-04 15:04:32 694浏览

想起十年前的软件开发环境有时真的挺怀念的,那个时候只要会C或者是C++两个编程语言就足够施展了。如今随着软件开发的发展,编程语言也慢慢增添了很多新特性。而互联网应用的兴起,让这些新特性备受追捧。PHP在网站构建方面占据大半壁江山,Python因应互联网数据量的喷发在科学计算领域得以重用,而RoR成就了多少初创公司的创业荣光。当年被人不看好的小脚本,却在互联网时代找到了大展身手的好时机。现在你不会一门动态语言都不好意思说自己是程序员了。

这里需要重点说一下JavaScript,简直就是童话故事里面的丑小鸭,当初的不受待见谁能想到发展到如今的分量?甚至还延伸出了Node.js这样一个优质平台。一时间多少JavaScript开发者希望借助它实现心中的“全栈”梦想。同样,没有互联网,也就不会有JavaScript的大行其道。我认为,JavaScript在当代的价值,不会输给十几年前的Java。

动态语言确实让有头脑的企业和个人从中受益颇多。单单就是软件开发时效率的大幅度提升,成本就明显节省了不少。以前编程需要为1M、甚至几百K的内存绞尽脑汁,运用各种Hack技巧。但遵从摩尔定律,硬件的发展速度非常快,于是,开发者逐渐将眼光转到了开发效率上。动态语言中广泛应用的filter、map和reduce等具有浓郁函数式风格的高阶函数,被认为是提升开发效率的有效手段。当然,苹果的Swift,同样也大量应用了这些特性。

就目前编程语法发展过程的几个关注点,我的理解如下:

不止是面向对象,函数式的回归正在进行时。过去十几年时间里,Java和C#两种语言占据主流,面向对象编程被赋予至高无上地位。但现在大家越来越认识到,面向对象编程达到一定规模时,复杂度也伴之而来。因此,旧有的函数式风格又重出江湖,特别是一些函数式特性在动态语言中得到了良好验证。现在,开发者对待面向对象与函数式两种风格,已经不是非此即彼的印象了,而是认识到它们是可以相辅相成的,比如Scala。即使是Java,也开始引入一些函数式特性,更不用说先行一步的C#。再进一步,抛开风格之争,遵从应用为先,从而采取实用的编程模式,比如Golang、Rust。

随着多核和大数据时代取缔了当年的信息时代,当下互联网开发环境对并发特性提出了新需求。新出现的系统级语言如Scala、Clojure、Erlang、Go及刚正式发布的Rust,都对并发特性给予极大关注,并各有各的解决方案。即使是动态语言如PHP、Python和Ruby等,也在这方面不断尝试。同样的,函数式语言中的不可变性概念,能够较好地符合并发实现的现实需求。

   互联网给人们带来的服务往往超出了群众的预想,可是当大数据时代的来临,我们的互联网也将迈入另一个新的高度。程序员们必将作为先头部队,牢牢站在第一火线。扣丁学堂专注于IT教育培训,免费的iOS视频教程及编程语言视频为扣丁学堂赢来了极好的口碑,有兴趣的朋友可以站内与讲师沟通交流。

查看更多关于“JAVA资讯”的相关文章>>

标签:

热门专区

暂无热门资讯

课程推荐

微信
微博
15311698296

全国免费咨询热线

邮箱:codingke@1000phone.com

官方群:148715490

北京千锋互联科技有限公司版权所有   北京市海淀区宝盛北里西区28号中关村智诚科创大厦4层
京ICP备12003911号-6   Copyright © 2013 - 2019

京公网安备 11010802030908号