新一代编程: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)
编程即是编制对数据进行运算的过程.特殊的运算必须用特定的数据结构来支持有效运算.如果没有数据结构的支持,我们就只能为每条数据申明一个内存地址了,然后使用这些地址来操作这些数据,也就是我们熟悉的申明变量 ...
随机推荐
- Atitit 知识图谱的数据来源
Atitit 知识图谱的数据来源 2. 知识图谱的数据来源1 a) 百科类数据2 b) 结构化数据3 c) 半结构化数据挖掘AVP (垂直站点爬虫)3 d) 通过搜索日志(query record ...
- Android 实现应用升级方案(暨第三方自动升级服务无法使用后的解决方案)
第三方推送升级服务不再靠谱: 以前在做Android开发的时候,在应用升级方面都是使用的第三方推送升级服务,但是目前因为一些非技术性的问题,一些第三方厂商不再提供自动升级服务,比如友盟,那么当第三方推 ...
- 每天一个linux命令(9):touch 命令
linux的touch命令不常用,一般在使用make的时候可能会用到,用来修改文件时间戳,或者新建一个不存在的文件. 1.命令格式: touch [选项]... 文件... 2.命令参数: -a ...
- Oracle 11g系列:约束
约束是每个数据库必不可少的一部分,约束的目的在于保存数据的完整性.数据完整性是指数据的精确性和可靠性.数据库约束主要包括:主键约束.外键约束.唯一性约束.检查约束和默认值约束. 1.主键约束 主键约束 ...
- 最先进的开源游戏引擎KlayGE 4.3发布
转载请注明出处为KlayGE游戏引擎,本文的永久链接为http://www.klayge.org/?p=2536 经过KlayGE团队半年来的努力,今天KlayGE 4.3正式发布了!在这个版本的开发 ...
- C++程序员们,快来写最简洁的单例模式吧
想必每一位程序员都对设计模式中的单例模式非常的熟悉吧,以往我们用C++实现一个单例模式需要写以下代码: class CSingleton { private: CSingleton() //构造函数是 ...
- javascript运算符——算术运算符
× 目录 [1]一元加 [2]一元减 [3]递增[4]递减[5]加法[6]减法[7]乘法[8]除法[9]求余 前面的话 javascript中的算术操作主要通过算术运算符来实现,本文将介绍算术运算符的 ...
- knockoutjs中使用mapping插件绑定数据列表
使用KO绑定数据列表示例: 1.先申请V,T,T2三个辅助方法,方便调试.声明viewModel和加载数据时的映射条件mapping 2.先使用ko.mapping.fromJS()将原来的 ...
- [OpenCV] Samples 09: image
根据需求,转化为不同的颜色格式,split后处理各自通道. plImage <==> Mat 格式转换 Mat --> plImage 简单写法: IplImage copy = m ...
- A/B 测试之前必须要了解的 10 件事
如今,转化率优化(CRO)已是营销人员必须具备的技能,并且与 ROI 直接挂钩.但是在优化网页的转化率方面又有太多因素要考量,如果你已经不堪其忧,请专心做一件事-- A/B 测试. A/B测试,即你设 ...