新一代编程:scala泛函编程技术-唠叨
准备了半年后,终于决定在这里开始我的scala编程技术学习体验撰写之旅。初步打算在这里把我学习、体验、掌握scala编程的过程与有兴趣的朋友分享。我想,虽然我这不是正式论文或者教课书之类的,但写个开场白总是好的。以后都是技术性的表述了,还是把握最后机会唠叨一下吧。。。
刚好完成了一个行业云平台项目,决定暂停下来仔细思考一下下一步应该怎么走,是不是要改改方向?在之前的项目里,作为项目开发负责人,为了保证项目的成功率,必须完全依赖公司现有的技术、技能资源,绝不能轻易引进新的技术线路和手段,所以眼睁睁的看着外面的应用和开发技术不断发展却又无能为力。眼看着但又抓不住新事物发展的节奏,心里总是憋屈的慌。现在终于有个机会可以放慢脚步仔细考虑清楚该何去何从了。
外面的世界到底变成什么样了?
短短数年,电子商务俨然已成为了商业社会的主流模式。交易模式的网络化,移动化改变了整个社会人们的生活、工作模式。网络和移动的特质使小微企业及个人可以直接参与交易,造就了电子商务的大面积普及、几何级增长。在这个大潮流下,信息技术的发展方向和实际应用发生了根本的变化,主要体现在数据的产生和使用模式;一是数据产生泛滥,数据飞速膨胀。二是传统信息系统模式已经无法适应现代电子商务需要,必须由封闭的企业内部计算模式转换到社会数据资源共享模式。商务系统也从传统的重交易记录模式变成更重视交易决策过程支持模式。电子商务决策需要从更广泛的信息源头对海量杂乱无章的的各类数据进行精准的分析提取才能形成。大数据技术由此得以发展来应对海量数据的收集、存储、处理、使用。
下一步会发生什么?
电子商务模式造成了信息行业大数据环境。随着电子商务普及化的推进,商业社会对计算能力的要求也变越来越高。计算机软硬件技术的创新发展必须满足电子商务发展的需要。大数据的存储、加工、使用将不是任何大企业甚至政府部门能够独立承担的了。只有像公共电力系统一样,通过高度的资源集中形成强大的计算资源中心,然后再分配给大众终端用户这种形式才能使广大的弱小用户也能拥有与大企业相比拟的强大计算能力、避免重复建设。所以,云计算的发展将是信息技术行业发展的主要方向。电子商务系统对商业社会中的大数据资源将越加依赖。针对各类行业特点的行业信息平台将会逐渐形成,为行业内企业提供交易平台及计算能力。可以预见的是企业内部的服务器将会被迁移到云端,数据库被行业信息平台替代。电子商务交易只需用移动终端连接云端信息平台就可以实现了。当然,一些大型企业的生产、办公这些内部数据闭循环模式的系统还是会保留一段时间,但后台服务器逐渐向云端迁移还是不可避免的。信息系统开发将从我们熟悉的面向企业内部服务器数据库SQL编程变成需要面向云端服务器,针对信息平台用NOSQL编写网络电子商务软件这种新的模式,数据处理应用模式也会从企业内部数据处理转换到信息平台大数据应用方式了。可以肯定,未来IT行业需要的是:分布式数据、高并发处理、并行运算、NOSQL及超大型互动复杂的网络平台编程。可能某天一觉醒来,突然意识到我们所熟悉掌握的技能已经是过去式了,再也无法为我们谋取一份像样的差事了。按现在的发展趋势,这并不算是危言耸听。那么大家为什么还没动起来呢?这也许是所谓的“慢火煮青蛙”吧:大家都对目前的环境很适应,感觉掌握的技能足够应付,干嘛杞人忧天;而那些行业领军企业也没有充足的投入准备对正在运行中的产品进行升级替换,甚至推倒重来。待到电子商务真正发展普及全民皆商的那一天,后果将肯定是可悲的。
我们该怎么应对?
现在谁也无法确定将来会怎样。但考虑的长远些总是有好处的。如果抱着这种想法,那么在有条件的情况下升级一下自己的技能总是值得的。 我将在下面发表的博客中把我是怎样筹划技术选型、学习掌握、实际应用整个过程和大家分享。
新一代编程:scala泛函编程技术-唠叨的更多相关文章
- 实用的Scala泛函编程
既然谈到实用编程,就应该不单止了解试试一个新的编程语言那么简单了,最好通过实际的开发项目实例来演示如何编程.心目中已经有了一些设想:想用Scala泛函编程搞一个开源的数据平台应用系统,也就是在云平台P ...
- scala泛函编程是怎样被选中的
现在计算机技术发展现象是:无论硬件技术如何发展都满足不了软件需求:无论处理器变得能跑多快,都无法满足软件对计算能力的需要.按照摩尔定律(Moore's Law)处理器(CPU)每平方面积上包含的半导体 ...
- 怎样学习Scala泛函编程
确切来说应该是我打算怎么去学习Scala泛函编程.在网上找不到系统化完整的Scala泛函编程学习资料,只好把能找到的一些书籍.博客.演讲稿.论坛问答.技术说明等组织一下,希望能达到学习目的.关于Sca ...
- 泛函编程(4)-深入Scala函数类
既然是泛函编程,多了解一下函数自然是免不了的了: 方法(Method)不等于函数(Function) 方法不是函数但可以转化成函数:可以手工转换或者由编译器(compiler)在适当的情况下自动转换. ...
- 泛函编程(35)-泛函Stream IO:IO处理过程-IO Process
IO处理可以说是计算机技术的核心.不是吗?使用计算机的目的就是希望它对输入数据进行运算后向我们输出计算结果.所谓Stream IO简单来说就是对一串按序相同类型的输入数据进行处理后输出计算结果.输入数 ...
- 泛函编程(34)-泛函变量:处理状态转变-ST Monad
泛函编程的核心模式就是函数组合(compositionality).实现函数组合的必要条件之一就是参与组合的各方程序都必须是纯代码的(pure code).所谓纯代码就是程序中的所有表达式都必须是Re ...
- 泛函编程(29)-泛函实用结构:Trampoline-不再怕StackOverflow
泛函编程方式其中一个特点就是普遍地使用递归算法,而且有些地方还无法避免使用递归算法.比如说flatMap就是一种推进式的递归算法,没了它就无法使用for-comprehension,那么泛函编程也就无 ...
- 泛函编程(27)-泛函编程模式-Monad Transformer
经过了一段时间的学习,我们了解了一系列泛函数据类型.我们知道,在所有编程语言中,数据类型是支持软件编程的基础.同样,泛函数据类型Foldable,Monoid,Functor,Applicative, ...
- 泛函编程(5)-数据结构(Functional Data Structures)
编程即是编制对数据进行运算的过程.特殊的运算必须用特定的数据结构来支持有效运算.如果没有数据结构的支持,我们就只能为每条数据申明一个内存地址了,然后使用这些地址来操作这些数据,也就是我们熟悉的申明变量 ...
随机推荐
- PDO事务处理
PDO事务处理 2014-9-3 10:44:19 By jiancaigege==================================== 概要:将多条sql操作(增删改)作为一个操作单 ...
- Java线程:创建与启动
Java线程:创建与启动 一.定义线程 1.扩展java.lang.Thread类. 此类中有个run()方法,应该注意其用法: public void run() 如果该线程是使用独立的 R ...
- salesforce 零基础学习(十八)WorkFlow介绍及用法
说起workflow大家肯定都不陌生,这里简单介绍一下salesforce中什么情况下使用workflow. 当你分配许多任务,定期发送电子邮件,记录修改时,可以通过自动配置workflow来完成以上 ...
- VMware Workstation cannot connect to the virtual machine 解决方案
今天 打开虚拟机 忽然遇到这个问题: VMware Workstation cannot connect to the virtual machine. Make sure you have righ ...
- 每天一个linux命令(34):du 命令
Linux du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的. 1.命令格式: du [选项][文件] 2.命令功能 ...
- HTTP学习四:SPDY和HTTP/2.0
1 HTTP1.0/1.1与HTTPS的不足 1.1 HTTP1.0/1.1不足 单路连接 HTTP 协议的最大弊端就是每个 TCP 连接只能对应一个 HTTP 请求,即每个 HTTP 连接只请求一个 ...
- SSM环境搭建(接口编程方式)
一直用ssm在开发项目,之前都是直接copy别人的项目,今天趁着项目刚刚交付,自己搭建一下ssm环境,做个记录 一.创建项目.引入jar包,因为版本不一样,就不贴出这部分的内容了.个人平时的习惯是,先 ...
- 2014PPTV-题解
今天在看PPTV几道题目,顺便联系起红宝书<JavaScript高级程序设计>一起看了起来. 1. var msg = 'hello';//顶级作用域windwo下有个变量msg func ...
- [转载]PhotoShop性能优化
现在随着Photoshop版本越来越高功能也越来越强大,而往往强大的功能需要电脑有好的配置运行,比如HDR.图像合成或者3D和视频等类似的功能,还有处理比较大尺寸的图像时,如果电脑配置不够强往往非常卡 ...
- Linux - Screen
GNU's Screen homepage Screen是由GNU计划开发的用于命令行终端切换的自由软件,可以看作是窗口管理器的命令行界面版本. 可以通过该软件同时连接多个本地或远程的命令行会话,并在 ...