新一代编程: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)
编程即是编制对数据进行运算的过程.特殊的运算必须用特定的数据结构来支持有效运算.如果没有数据结构的支持,我们就只能为每条数据申明一个内存地址了,然后使用这些地址来操作这些数据,也就是我们熟悉的申明变量 ...
随机推荐
- C#学习系列-.NET体系结构
.NET框架概述 .NET 框架为.NET应用程序运行提供虚拟机环境,为.NET应用程序提供编译.运行.内存管理.垃圾回收.安全等服务. .NET框架组成部分 1.公共语言运行时(Common L ...
- How Google TestsSoftware - Part One
This is the firstin a series of posts on this topic.The one question I get morethan any other is &qu ...
- springSide部署出现AnnotationConfigUtils.processCommonDefinitionAnnotations(…) is not public!
AnnotationConfigUtils.processCommonDefinitionAnnotations(…) is not public! Make sure you're using Sp ...
- CCNA网络工程师学习进程(2)基本的网络设备
在组网技术中用到的设备有中继器(Repeater).集线器(Hub).网桥(Bridge).交换机(Switch).路由器(Router).分别工作在OSI参考模型中的物理层.数据链路层和网络层. ...
- codeforces Soldier and Number Game(dp+素数筛选)
D. Soldier and Number Game time limit per test3 seconds memory limit per test256 megabytes inputstan ...
- SQL*Loader之CASE7
CASE7 1. SQL脚本 case7包含两个SQL脚本,一个是删除脚本ulcase7e.sql,一个是创建脚本ulcase7s.sql [oracle@node3 ulcase]$ cat ulc ...
- Unity 游戏存档 PlayerPrefs类的用法
unity3d提供了一个用于本地持久化保存与读取的类--PlayerPrefs.工作原理非常简单,以键值对的形式将数据保存在文件中,然后程序可以根据这个名称取出上次保存的数值. PlayerPr ...
- select语句for update---转载
作用: Select…For Update语句的语法与select语句相同,只是在select语句的后面加FOR UPDATE [NOWAIT]子句. 该语句用来锁定特定的行(如果有where子句,就 ...
- 百度地图JavaScript API覆盖物旋转时出现偏移
在项目中,调用百度地图JavaScript API,做覆盖物的旋转再添加到地图上,结果出现偏移了. 调试过程中的效果图: 发现图片的旋转并不是按车子的中心来的,而是之外的一个点.最后发现犯了一个很细节 ...
- 优秀前端开发教程:超炫的 Mobile App 3D 演示
今天,我们想与您分享一个实验性的3D效果.它涉及到一个3D移动设备和一些移动应用程序截图.点击切换按钮时,我们将让移动设备转动并移动每个画面,使我们能看到一个分层的视图.你可能之前没见过这种应用程序演 ...