2012年重要的软件开发发展

我之前( 2007年 , 2008年 , 2009年 , 2010年 , 2011年 )对当年软件开发中最重要的发展持偏见。 这篇文章是2012年的版本,我的所有偏见和偏见都可以自由承认。

10. Groovy 2.0

Groovy的2.0一直是一个重要版本的Groovy 。 Groovy 2可以说最引人注目的新功能是其静态类型检查和静态编译功能。

9. Perl 25岁

Perl在2012年庆祝成立25周年 。 喜欢它还是讨厌它 , Perl 无疑已成为主要的脚本语言,尤其是在非Windows环境中。 Perl不是我的最爱(我宁愿使用Groovy, Python或Ruby ),但是我发现自己有时需要使用它,通常是因为我正在修改或使用已经用Perl编写的现有脚本或脚本集。 生日快乐 ,Perl!

8. Git和GitHub

Git现在是版本控制中的时尚选择,而GitHub在托管代码方面也同样时尚。 为什么有人会在企业中使用Git? 指出,“ Git在开发社区中具有类似邪教的追随者。” Pro Git (2009)这本书可免费在线阅读 ,也可以下载为PDF,mobi或ePub电子书。

7. NoSQL和多语言持久性

NoSQL的概念似乎正在成熟,并从毫不减弱的炒作和夸张逐渐转变为了解何时可以正常工作以及何时不能正常工作。 彼得·韦纳 ( Peter Wayner)在关于NoSQL革命的7个 硬道理中写道:NoSQL系统远非完美匹配,而且常常会以错误的方式出现。 最聪明的开发人员从一开始就知道这一点。 ……聪明的NoSQL开发人员只是指出NoSQL代表“不仅仅是SQL”。 如果群众误解了首字母缩写词,那就是他们的问题。

Martin Fowler的nosql页面指出:'NoSQL数据库的兴起标志着关系数据库统治时代的结束。 但是NoSQL数据库不会成为新的主导者。 关系将仍然很流行,并且在大多数情况下都会使用。 但是,它们将不再是自动选择。” 以此,Fowler引入了多语言持久性的概念(他提到该概念先前由Scott Leberknight于2008年提出),并将其与多语言编程的概念进行了明确比较。 如果我们作为软件开发社区相信在同一个应用程序中使用多种语言(多语言编程)的优势是值得的,那么我们也可以确定在同一应用程序中使用多种数据存储的优势(多语言编程)持久性)也是值得的。

6.移动开发

2012年,移动开发继续快速增长。2012年12月Tiobe Index上的文章指出,Objective-C由于其快速增长而很可能再次成为2012年的年度语言(2012年12月仅次于C和Java以及C ++和C#之前的版本)。 该摘要的作者得出有关该指数语言等级的结论,“实际上,如果您不在手机市场,那么您将失去市场。”

苏珊娜·卡托 ( Suzanne Kattau ) 在2012年发表的“ 移动开发”一文简要总结了2012年流行的移动设备平台和操作系统的变化。

5. Scala(以及带Play和Akka的Typesafe Stack 2.0)

我在这些年终审查帖子中多次强调了Scala ,但这是我对Scala的最高评价,因为Scala在2012年是非常出色的一年。2012年8月23日,Cameron McKenzie问:“ Scala是新的Spring框架吗? ' 2012年10月1日宣布 Spring创始人Rod Johnson加入了Typesafe的董事会可能暗示了这个问题的答案(Johnson 于7月离开SpringSource )。 Scala提供了繁琐的函数式编程与广泛流行且久经考验的面向对象编程的交集,并且是JVM上Java语言以外的其他语言日益流行的一部分。 不难看出为何在2012年取得了丰收。

Typesafe博客的特色是2013年为什么要学习Scala? 首先声明:“ 2012年对于Scala编程语言来说是重要的一年-发行了具有纪念意义的版本,大型企业和社交网站都采用了它,并且举办了Scala Days会议,使过去的日子不知所措。” 然后,该帖子继续列出了在2013年学习Scala的原因,并广泛引用了其他有关Scala的近期积极帖子。

Ted Neward曾预测,2013年“ Typesafe(及其Scala / Akka / Play!堆栈)将开始对企业领域产生重大影响,并开始为Groovy / Grails争取到一笔可观的收入。” 在这篇文章中,我并没有将Play和Akka称为独立的2012年重大发展,而是将它们与Scala融合在一起,作为证明Scala成为2012年第5名的理由。毫无疑问,2012年是一个很大的发展Akka和Play的一年。 2012年, Typesafe Stack 2.0随Play 2.0和Akka 2.0一起发布 。

4.大数据

大数据在2012年是大数据 。 美国在线政府 将大数据评为 技术类 2012年最佳 。 杰夫·纽伯格 ( Geoff Nunberg)认为,“ 大数据”应该成为年度新闻 。 随着大数据的兴起,人们对统计计算语言R的 兴趣 (毫不奇怪)上升了。

3. HTML5

对于HTML5来说, 2012年又是重要的一年。 尽管HTML5继续受到开发人员的欢迎 ,成为标准友好的传播者,但有关HTML5当前状态的一些硬道理 (例如性能与本机代码 )也变得更加显而易见 。

话虽这么说,我认为HTML5仍然有一个非常美好的未来。 尽管肯定夸大了它有一天会变成什么,而不是今天的样子 ,但是忽略它或低估它的用处也很愚蠢。 英国《金融时报》执行人有两篇文章提醒我们注意这一点:HTML5尚未死 , HTML5神话破灭 。 文章“ HTML5准备就绪”表示,移动HTML5的创建者Facebook克隆人从性能的角度谈论了证明HTML5现已准备就绪的尝试。

2.安全性

在过去的几年中,对安全漏洞,风险和漏洞的意识不断提高,这在很大程度上是由于敏感数据丢失事件和新的法律要求引起的高调事件 。 但是,就对软件架构和设计的安全性要求和期望的认识提高而言, 2012年似乎比大多数年份都大 。

Java似乎在2012年受到坏的安全新闻的打击特别严重。提供此类示例的文章和文章包括10亿台受到Java攻击风险的计算机 , 甲骨文的Java安全性不断下降,因为研究人员发现了其关键错误修复中的错误 , Java漏洞影响10亿个插件 , 又一个星期,发现另一个Java安全问题 , Oracle和Apple努力解决Java安全问题 , 尽管存在安全风险 , Java仍然扮演着至关重要的角色 。

Oracle将于2013年2月停止修补Java 6的文章建议,Java的用户应在2013年2月之前升级到Java 7,届时Oracle将在Oracle支持计划之外向Java SE 6提供最后一个公开可用的安全补丁。 专家说,另一篇文章被称为Oracle的Java安全更新缺乏 。

1.云计算

似乎每个人都在2012年想要一片云 ,即使他们实际上并不需要。 Archana Venkatraman 这样说 :“ 2012年是云计算成为主流的一年。” 史蒂夫·塞洛克(Steve Cerocke)表示,“ 2012年将是云计算之年 。” 关于2012年最大的云故事的其他文章和帖子包括2012年的十大最大云故事和2012年的 前五名云计算新闻故事 。

当热情远大于否定主义时,云计算就成为了许多新潮技术和方法的最佳选择。 查尔斯·巴布科克 ( Charles Babcock)的 《 云计算:2012年的最佳和最差新闻》对我而言比许多专注于云计算的出版物更有趣,因为它突出了2012年云计算的优缺点。

荣誉奖

我无法将使我对2012年软件开发感兴趣的所有内容都跻身前十名。 这是一些几乎没有错过我晋级的人。

C

如前所述,C编程语言在2012年Tiobe索引中名列第一。编程中最高级的语言之一也是其最受欢迎的语言之一。 当人们认为许多其他语言本身都是基于C的,而当人们认为许多语言都在争取类似C的语法时 , C的功能和影响会得到更好的理解。 C的受欢迎程度多年来一直保持强劲,2012年对于C来说又是非常强劲的一年。

关于C案的另一条证据是2012年末O'Reilly出版了Ben Klemens的著作《 21世纪C: 新派的C技巧》 。 作者今天在O'Reilly 新学校C中讨论了这本书和C。

尽管我已经好几年没有写C代码了,但是我对这种语言一直很喜欢。 这是我在大学期间主要使用的语言(Pascal和C ++是我后来很少使用的其他语言),我用C语言编写了电气工程的顶峰项目的代码。我记得(现在很高兴)花了整整一个星期六在我的第一个C分配中,与一个bug战斗只是因为我使用赋值运算符( = )而不是相等运算符( == )才意识到它不起作用。 当我学习其他语言时,无论是要区别于其他语言还是要更好地调试程序(即使调试器尚不可用),本课也为我提供了很好的帮助。 我认为我的C经验为以后使用C ++和Java进行专业开发打下了良好的基础。

摇篮1.x

使用表达性编程语言而不是XML或过时的make语法来构建软件似乎是一件很有益的事情。 但是,make,Ant和Maven在这一领域继续占据主导地位,但是基于Groovy的Gradle显示出提供我们一直在寻找的替代方案的早期迹象。 Gradle在接受度和普及性上还有很长的路要走,还有许多其他构建系统,但Gradle的理想都失败了,但是Gradle在2012年确实吸引了很多关注,并有望在未来几年的基础上继续发展。 Gradle 1.0于2012年6月正式发布, Gradle 1.3于2012年11月发布。

开发运维

其中, 斯科特·安伯勒 ( Scott Ambler)预测,“ DevOps将在2012年成为新的IT流行语”。如果不是2012年的“流行语”,那不是因为缺乏尝试DevOps宣传人员的机会。 该DevOps的运动持续增长势头在2012年DZone 的DevOps区看到一个或多个帖子的每一天加入的主题。 未能进入前十名的唯一原因是,当我离开博客圈与开发人员交流时,我仍然看不到“ Typical Everyday Coder”在谈论它。

Amber的结论段落始于这样的预测:“当然,由于DevOps的实际范围,大多数组织中可能会进行大量讨论,而几乎没有采取任何行动,但是从现在起几年后,我们将回顾2012年, DevOps真正开始腾飞的一年。 只有时间会给出答案。 继续有文章试图解释什么是DevOps 。

值得关注的开发人员离职

2012年,主要开发人员与他们的长期组织有所分离。如前所述,Spring Framework创始人Rod Johnson离开了VMWare / SpringSource (并最终成为Scala公司Typesafe的董事会成员)。 乔什·布洛赫 ( Josh Bloch )也许以在JDK上的Sun工作和编写有效Java而著称,但在谷歌工作了八年后于2012年离开了Google 。

中兴但流行的Java框架的复兴

在2012年,有两个非常流行的基于Java的长牙框架复活。Tomek Kaczanowski最近发布了JUnit Strikes Back ,其中他引用了一些证据表明JUnit复活了,这可以说是JUnit中最常用的测试框架。 Java(在许多方面,以及许多其他基于nUnit的单元测试框架的灵感)。 克里斯蒂安·格罗布迈尔 ( Christian Grobmeier )的最新文章《新log4j 2.0》讨论了Log4j2的许多好处,以及如何将其与最近流行的日志框架(例如SLF4J甚至Apache Commons Logging)一起使用 。

电子书(电子书)

一般而言,电子书(ebook)正变得广泛流行,但在软件开发书中也是如此。 这并不奇怪,因为电子书不仅具有许多一般性的好处,而且还具有软件开发所特有的好处。 尤其值得一提的是,能够以电子方式搜索术语(克服了许多印刷编程书籍常见的索引不足问题)。 其他优点包括可以在笔记本电脑,移动设备,电子阅读器和其他便携式设备上阅读本书的功能。 这不仅使一本特定的书容易获得,而且使随身携带许多涉及许多不同技术主题的许多书变得容易。 电子书也不太可能在不知不觉中被他人“借用”或丢失。

电子书的最大优势也许就是成本。 众所周知,技术书籍通常不是出版商的大笔利润。 但是,由于印刷和发行成本占传统出版成本的很大一部分,因此电子书使出版商更容易以比印刷等价物低的价格为这些书定价。

电子书出版商减少的成本可以转嫁给消费者。 我最近利用了Packt Publishing的报价,以40美元的总价购买了他们的八本书作为电子书。 考虑到一本印刷的编程书籍可能要花费40美元或更多,这是很划算的。 我还通过其他技术出版商(例如O'Reilly和Manning)提供的有关电子书的其他优惠发表了博客。

我特别感谢Manning抢先体验计划 (MEAP)。 由于有了电子书,该程序才可行,并且使读者能够在书发展时阅读。 由于技术变化如此之快,因此尽可能快地访问这些书籍的均匀部分通常是有帮助的。

最后,电子书的另一个优势是它们的最终处置权。 实际上,它们甚至只占老式CD或DVD的一小部分,如果需要,我通常可以挖掘出副本。 但是,当我不再需要它们并需要空间时,可以将它们从电子设备中删除。 对其处置没有环境或物流方面的担忧。 这很重要,因为这些书的确会很快过时,有时过时的编程书比根本没有书更糟糕,因为这可能会引起误解。

PhoneGap /科尔多瓦

鉴于2012年移动开发和HTML5的普及, PhoneGap和Cordova在2011/2012年大放异彩也就不足为奇了。 在Web与原生辩论中,Web的优势之一是Web应用程序在多个设备上的可移植性。 PhoneGap / Cordova方法为编写代码带来了一些好处,但保留了运行本机应用程序的一些性能优势。

目标C

Objective-C有望在2012年再次获得年度Tiobe Index语言奖。这是移动开发盛行的另一个指标,因为Objective-C的知名度几乎完全与iPhone / iPad开发有关,尽管Objective-C的历史与NeXT工作站甚至被称为Java的灵感 (引用Patrick Naughton的广告)而非C ++ 。

Kotlin

几年来,“酷小子”在有关Java功能的文章或博客上发布反馈消息已成为一种潮流,宣称反馈Groovy或Scala所做的博客文章或文章中的内容要比Java更好。 现在,许多“酷孩子”(或可能具有相同操作方式的不同“酷孩子”)在Scala博客文章和文章上似乎都在做同样的事情,主张Kotlin优于Scala。

由于Scala和Groovy在整体流行度和使用率方面仍落后于Java,因此Kotlin在采用率方面落后于Groovy和Scala。 但是,肯定有Kotlin具有某些特征。 首先, Kotlin网页将这种语言描述为“一种可编译为JVM字节码和JavaScript的静态类型编程语言”。 我绝对可以看到“静态类型化”和“编译……到JavaScript”对于必须编写JavaScript但更喜欢静态编译的开发人员的喜爱。 Kotlin项目负责人Andrey Breslav认为,编译为“类型化JavaScript”的静态语言将是2013年的重大发展,他引用了Dart和TypeScript作为其他示例。 能够在JVM上运行也是一个优点,尽管这与Groovy或Scala没什么不同。

对Kotlin的主要肯定是赞助商: JetBrains 。 他们的IDE IntelliJ IDEA可能会为Kotlin语言提供优雅的支持。 这也是拥有资源(金钱和人力)以提高成功机会的发起人/所有者。 由于JetBrains正在“ 计划推出Kotlin Beta版并开始在生产中广泛使用它 ”,因此他们更有可能继续以这种新语言投资资源。

我无法证明自己将Kotlin列为2012年的前十名,但是一旦Kotlin被发布用于生产用途,如果Kotlin被广泛采用的话,它有可能再入一年的前十名。

锡兰

Kotlin不是JVM唯一新兴的静态语言。 锡兰在这个领域还比较年轻。 我写了有关JavaOne 2012演示文稿《锡兰入门》的 文章 , 该文章提供了简短的概述和描述信息。

Ceylon IDE ( Eclipse插件)的第一个里程碑是在2012年初发布的,随后在3月发布了Ceylon M2(“ Minitel”) 。 随后是6月的Ceylon M3('V2000')版本和10月的Ceylon M4('Analytical Engine')版本 。

那些具有长期可行性的最佳机会的较新的JVM友好语言是那些有力赞助者的语言:Groovy有SpringSource,Scala有TypeSafe,Kotlin有JetBrains,Ceylon有RedHat。

Oracle / Google Android诉讼结束

在超过Android的甲骨文和谷歌之间的官司似乎有, 在大多数情况下 , 在2012年得出的结论 。 两家公司之间似乎仍然血腥,但是解决这一问题可能会使Android平台继续取得成功,并有可能在将来的某些时候在Java上两家公司之间进行协作。 看看Google是否允许其员工向JavaOne 2013提交摘要将会很有趣 。

大家一个程序员

当HTML在1990年代初期到中期开始在各个大学和学院中扩展时,似乎我认识的每个人都在学习HTML。 我们大多数人通过复制其他人HTML源代码并对其进行编辑以供自己使用来“学习”它。 当然,那时的一切都是静态的,并且很容易拿起。 这也可能歪曲了我的观点,即我主修电气工程专业,并且侧重于计算机科学,所以周围的人倾向于采用和使用新技术。 也许是自那时以来的第一次,我感到越来越有兴趣推动所有人学习特定级别的编程。 我不需要为此提供任何支持,因为我可以参考乔布·杰克逊 ( Joab Jackson )的2012年:编码成为必需的那年 。 这篇文章不仅列举了关于每个人是否应该学习编程的辩论的几个例子,而且还在标题中巧妙地使用了“ rigueur ”。

Java

我没有将Java本身列入2012年的“十佳”。也许这表明我也觉得2012 年对于Java来说是缓慢的一年 (并且同意这不一定是一件坏事)。 话虽如此, Martijn Verburg在2012年的Java世界中列出了Java世界中的“年度个人亮点” 。 开发人员下注 。 这些包括JVM进入云,Java / JVM社区的增长, OpenJDK , Java EE 7和Mechanical Sympathy 。

从许多方面来说,这都是一件小事,但是我认为James Gosling 返回JavaOne并扔掉T恤衫,象征着本已强大的Java开发社区中的复兴势头日益增强。

杰弹性

总体而言,云上的Java在2012年是很重要的一年。Jelastic的日子特别好。 下面的屏幕快照来自Jelastic首席运营官Dmitry Sotnikov发出的电子邮件。

2012年重要的软件开发发展_第1张图片

Jelastic在JavaOne 2012上被多次提及。 其中一些提及是由于获得了2012年杜克选择奖 。其他提及是由于詹姆斯·高斯林 ( James Gosling )对他使用Jelastic的积极评价 。 正如我之前在博客上写道,Gosling在JavaOne 2012 Community Keynote上将自己描述为“真正的Jelastic粉丝”。

基于Linux的ARM设备

Oracle于2012年宣布发布 Linux ARM JDK。即使在Linux ARM设备上运行JavaFX,也能证明Oracle有兴趣支持Linux ARM设备。 鉴于甲骨文在经常获得丰厚回报的领域进行投资而闻名,因此可以得出结论,甲骨文可能会在未来看到Linux ARM设备的巨大潜力。 一篇有趣的文章探讨了ARM上的Java 8:Oracle针对Android的新镜头?

没有听说过一种非常流行的Linux ARM设备Rasperry Pi ,就无法参加JavaOne 2012的主题演讲。 同样, BeagleBoard和PandaBoard也变得非常流行。

改善软件开发人员的就业市场

对于那些从事软件开发工作的人来说,2012年似乎是个好年头,而且这一趋势可能还会持续下去。 在其《美国最佳工作》故事中, CNN Money将软件开发人员排名第9位( 软件架构师排名第3 )。 例如, 劳伦·赫普勒 ( Lauren Hepler)曾撰文指出, 软件开发人员在2013年的工作预测中排名最高,并引用了《福布斯》基于幻灯片的演示文稿 。

也许比这些故事更重要的是我对软件开发人员市场激增的轶事观察。 我已经看到潜在的雇主和客户主动提出了许多求职要求。 我还看到针对开发人员的广告牌广告有所增加,尤其是在软件开发高度集中的美国地区。 总体而言,不断改善的就业市场可能是引起人们越来越多的兴趣的原因之一。

其他资源

还有其他可能引起关注的职位。 Katherine Slattery 从《 2012年顶级发展新闻报导》中摘录的内容涉及Node.js的 “炒作周期”,开源硬件,本机应用程序与HTML5应用程序,以及“学习编码”的热潮。

泰德·纽瓦德 ( Ted Neward )的年度预测 (在本例中为2013年)以及对他的前一年的预测 (在本例中为2012年)的回顾非常有趣。

结论

2012年是跨许多不同领域和开发类型的软件开发又一个重要的年份。 这篇文章中讨论的许多主题是重叠的,并且以某种方式与移动开发,云计算和更高的数据可用性相关联。

参考:我们的JCG合作伙伴 Dustin Marx在Inspired by Actual Events博客上提出的2012年重要软件开发 进展 。

翻译自: https://www.javacodegeeks.com/2013/01/significant-software-development-developments-of-2012.html

你可能感兴趣的:(编程语言,人工智能,java,大数据,xhtml)