有关编程的12个猜想

摘要:编程世界的将来如何目前仍难预料,但可以肯定的一点是技术一直在加速发展。本文搜罗出12个独特的编程视角猜想,一起来看看有哪些猜想在不久的将来就能变为现实。

编程世界的将来如何目前仍难预料,但可以肯定的一点是技术一直在加速发展。以下搜罗出12个独特的视角猜想,我们一起来看看有哪些猜想在不久的将来就能变为现实?


1. GPU接班CPU

游戏玩家们热衷于吹嘘自己的显卡有多快多高端,全开特效有多少多少FPS,而事实上GPU前进的步伐不会仅限于此。物理学家利用GPU来进行高速微观分析,航天学家利用GPU来模拟天体运动,生物学家利用GPU来研究生物种群规律。未来的编译器应可直接运作于GPU,摆脱对CPU的依赖,使得GPU的使用更加普遍。

2. 数据库能进行更复杂的数据分析

将来数据库能做更多的工作,而不仅仅是数据仓库。如商业智能分析,数据模型抽取,大数据应用等等。但要进行如此高强度的复杂运算,数据的搬运成本是成败的关键。如果有个数据引擎能直接处理杂乱无章的海量数据,而无需人为地把数据放入一个个独立的大数据包然后再处理,这样对数据分析速度将带来革命性提升。

3. 无处不在的JavaScript

JS将不仅作为开发语言来使用。目前JS除了活跃于浏览器,在服务器端也开始崭露头角,如NodeJS。浏览器式的HTML5应用在运行性能上给了开发者足够的信心。

一方面JS如机器码那样玲珑,另一方面提供了良好的Web轻量级支持。浏览器方面大有吞噬整个平台的架势;Chrome OS和Chrome book的出现,让人们不禁思考:JS和浏览器还有什么不能做的?

4. 全民皆Android 

相机备制造商如尼康,迫于移动端越来越高端的硬件与技术压力,已经开始在自家相机上运行Android系统,直接执行Instagram等社交软件。此外,Android智能电视,电冰箱,耳机等也相继涌现。

尽管UI一环仍被人诟病,不够方便过于复杂,但一旦Android 生态圈建立,渗透成为数字家庭的“内核”,设计者们定会着手解决该问题。此外,传统PC制造者也嗅到了出局的味道,开始着手让Android App直接在PC上运行,传统的Windows应用或许将迎来更艰难的发展困境。

5. 广义互联网——物联网

Android /Linux等平台热潮持续的一个良副作用是不断推动更多的事物成为网中物。例如重要的日常之物-汽车。导航与购物成为叩开互联的敲门砖;诸如热点提示,广告营销等功能的开发为开发者提供了更多的赚钱机会。

关键的一步是要区分开各个领域所关注的要点。例如:针对不同年龄段开发相应的智能玩具,智能温控设备需要连接天文台并读取相关信息。APIs在其中将发挥重要的支援作用。

6. 新开源环境

Android ,Ubuntu,MySQL等平台/工具的成功,为开源环境注入了源源不断的活力与动力。但是一个亟需的解决的问题是:开源后,如何寻找足够的资金来支援可持续发展?目前似乎还没有太多的成功例子来说明“开源=赚钱”。

大多数企业所发布的开源资源更贴切的说法应该是演示版,只不过挂上了开源的头衔。开发者对于其核心秘密目前还没有太多的讨价还价空间。优秀的开源项目将会给开发者更多的发挥空间,形成新的开源环境。

7. 更丰富的WordPress类在线内容管理系统

美政府先前倾力打造的保险交易网站被认为是个很大的失误---自行开发。现时基本没有人再这么大费周章地开发自己的内容系统了。WordPress,Joomla,Drupal等都可让我们迅速地构建自己的Web Apps,丰富的插件功能更是如虎添翼。如果日后还有更直观的数据浏览系统支持类似于PHPMyAdmin和调试工具支持,类似的管理系统会迈进另一个发展的里程碑。

8. 插件式开发取代完全编程 

PhotoShop能成为最广泛使用的图片编辑工具,最根本原因之一在于它提供了海量的插件支持。类似的插件式开发意味者程序员将更多地进行代码片段式而不是进行传统的完全编程。轻巧的插件式编程可以利用整个微开发环境中的一切,更加灵活简便。

9. 命令行的生命延续

或许这与大部分人的想法相悖,命令行并不会马上就结束自己的旅程。虽然越来越多的工具提供了拖拽式开发,但仍存在为数不少的终端式文本编辑器式的工具,甚至某些工具还只支持命令行模式。

命令行的生命力在于轻巧和使用广泛。我们可以轻松地对一个任务脚本进行扩展或把它附加到另一个功能脚本,这是目前拖拽式编程的阿喀琉斯之踵。

10. 简化之路漫漫

过去50年,程序员尽了最大的努力来培养新一代开发者,这可以说是成功的----但还仅是最基础部分。编程福音者奉行全民皆程序员的宏伟目标,同时会争取更多的资源支持。但真正的懂编程是要明白每次按键后的0与1运作过程,是要明白创造软件的方法学与开发环节的每个细节。教会别人知晓if-then-else看上去很美,但这并不能说就能带来更多的程序员。

11. 外包与内包 针尖对麦芒

人们普遍认为所有的程序设计工作将会被安排给全球薪酬最低的国家。此外,根据经济学推断,越来越多的劳动密集型工作将会被自动化工具或机器取代,真正的工作机会将会留给懂得商业的人。

一旦上述设想成真,外包服务团队将两面受敌。一方面不得不与新的自动化工具进行抗争,议价空间会被进一步压缩;另一方面,企业内部团队会加强内生性培养,使得在外包合同谈判上占据主动。


12. 管理者对程序设计更加外行

有时候与不懂编程的人讨论需求是最头疼的事情,而结局往往是令人沮丧,讨论双方都没有得到自己想要的东西。

管理者对基础技术认知的浅薄,往往造成招聘中年龄歧视的最根本原因之一。一方面认为年轻一代更掌握前沿技术,自己不用再花时间去认识;另一方面觉得年轻一代更加卖力工作。

因此,整个工作环境看似朝气蓬勃,实质是一个仅仅奉行够用就好的中庸而又机械般运转的工作室。

英文出自:ITworld

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/447318.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

面试中如何剔除“鱼目混珠”程序员?

公司招聘面试事宜是一个耗时耗钱的项目,从挑选简历开始,还要花更多的时间面试候选人。有的时候这些人才机构会向你保证这些人都是Java天才、SQL专家、堆栈开发者等等,但实际上真实情况远不及你想想的。对于一个公司来说,执行招聘面…

java容器相关问题

同步类容器 1,这些复合操作在多线程并发地修改容器时,可能会表现出意外的行为,最经典的便是ConcurrentModificationException,原因是当容器迭代的过程中,被并发的修改了内容,这是由于早期迭代器设计的时候…

趣文:如果编程语言是车

C语言是全能手,小巧,强大,所向披靡,可靠,任何事情都能对付。 C是新的C,双倍的能力,双倍的尺寸,适应险恶的环境,但是你如果没练好就去驾驶,很可能会撞车。 C#是…

开发者应该了解的API技术清单!

摘要:有人说,有API的地方就有App,借助这些API开发者轻松构建出一款应用,极大地提高开发效率和开发质量。文中整理了一份API服务清单,内容涵盖:监控/调试、 CDN 、数据库、仪表盘、支付、通信等方面&#xf…

提高程序员职场价值的10大技巧

如果你已经是个很牛叉的程序员,但是依然觉得觉得还不够的话,欢迎阅读此文。本文旨在帮助各位更上一层楼。 你是不是觉得自己已经掌握了所有的编程技巧?别太自以为是了! 会写代码的确很重要,但是要拿到更好薪水&#…

google python的风格规范

点击链接,查看内容

IT人应当知道的10个行业小内幕

如果你打算从事IT行业或刚进入这个行业,也许本文下面的小内幕会吓到你,因为这些事平常都不会公开讨论的。如果你是IT资深人士,或许你已经遇到其中的大部分了。如果你愿意,请一起来参与讨论吧。 这些内幕大多数是针对网络管理员、…

Volatile原子性一致性JVM指令重排

概念 Volatile概念:Volatile关键字的主要作用是使变量在多个线程间可见。作用: 在多线程间可以进行变量的变更,使得线程间进行数据的共享可见 阻止指令重排序,happens-before package com.example.core.cas;import com.example.c…

Java JUC工具类--CyclicBarrier

CyclicBarrier:栅栏的概念,多线程的进行阻塞,等待某一个临界值条件满足后,同时执行 类比:每个线程代表一个跑步运动员,当运动员都准备好后,才一起出发,只要有一个人没有准备好&#…

Java JUC工具类--Future

Future模式,也是非常经典的设计模式,这种模式主要就利用空间换时间的概念,也就是说异步执行(需要开启一个新的线程)在互联网高并发的应用服务中,我们随处可见这种理念和代码,主要就是使用了这种…

Java JUC工具类--ForkJoin

ForkJoin Fork/Join框架是JAVA7提供的一个用于并行执行任务的框架,是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架Fork/Join中两个重要的类 ForkJoinTask:使用该框架,需要创建一个ForkJoin任务…

修复bug的12个关键步骤

要多少时间才能修复bug,事先是很难知道的,特别是如果你和这些代码还素不相识的话,情况就更加扑朔迷离了。James Shore在《The Art of Agile 》一书中,明确指出要想修复问题得先知道问题的所在。而我们之所以无法准确估计时间是因为…

Java JUC工具类--Master-Worker

Master-Worker Master-Worker模式是常用的并行计算模式。它的核心思想是系统由两类进程协作工作:Master进程和Worker进程Master负责接收和分配任务,Worker负责处理子任务当各个Worker子进程处理完成后,会将结果返回给Master,由Ma…

python 基础知识点整理 和具体应用

Python教程 Python是一种简单易学,功能强大的编程语言。它包括了高效的高级数据结构和简单而有效的方法,面向对象编程。Python优雅的语法,动态类型,以及它天然的解释能力,使其成为理想的语言,脚本和应用程序…

使用postman模拟百度通用文字识别

1,登录百度AI开放平台 百度AI网站新手指南链接在顶部导航栏中,找到控制台选项,输入账号和密码,进入管理中心页面在管理中心页面中,找到文字识别的选项找到创建应用的选项,进行ocr项目的创建需要输入应用的…

Java调用百度OCR文字识别的接口

调用百度OCR文字识别的接口,来自于百度官网,亲测可以使用 跳转链接FileUtil的下载链接Base64Util下载链接HttpUtil下载链接GsonUtils下载链接Accurate.java文件 package com.baidu.ai.aip;import com.baidu.ai.aip.utils.Base64Util; import com.baidu.…

Redis Cluster集群模式

Redis Cluster 它是Redis的分布式解决方案,在Redis 3.0版本正式推出的,有效解决了Redis分布式方面的需求。当遇到单机内存、并发、流量等瓶颈时,可以采用Cluster架构达到负载均衡的目的。数据分布理论: 分布式数据库首要解决把整个数据集按照…

Redis整合Springboot实现数据共享

代码的整体结构 RedisSessionConfig.java package com.cc.springbootredissession.config;import org.springframework.context.annotation.Configuration; import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession;Configuration E…

Redis整合Springboot实现单机配置

整体结构 配置文件 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/…