2013年3月12日,Tiobe公布了新一期编程语言排行榜。Java依旧是占据第一的位置,C语言紧随其后。值得注意的Objective-C持续发力,已经占到了第三的位置。咋一看榜单,前5条中C#下滑最快,从第3名下降到第五名。而其他语言都与之前没有变化。

一个关注点是 JavaScript 急剧下降!虽然当月流行度还未突破历史最低记录,但如果计算6个月平均排名,已经是TIOBE有记录以来的最低值。来自 Solidot 的评论称:

" 最新出炉的TIOBE编程语言排名中,Javascript的排名又一次下跌。虽然当月流行度还未突破历史最低记录,但如果计算6个月平均排名,已经是TIOBE有记录以来的最低值。对比HTML5的google trends记录你会惊讶地发现js流行度与HTML5关注度竟然成反比。

虽然全世界都把希望寄托在HTML5,但是js老旧的语法特性实在难当此大任。为此Google推出了Dart,微软推出了TypeScript,都希望用来弥补js的缺陷。但这些都不可能代替js,类似的尝试早在2008年的ECMAScript4就曾惨遭失败,在js的世界,任何可能破坏兼容的改进都是无法接受的。

这个问题导致那些习惯面向对象,不愿使用js的程序员们宁可以其他语言编写代码,将js看作编译结果。除了Dart和TypeScript以 外,CoffeeScript,Fantom, HaXe,Opa等多种语言也都在语言设计之初就将js设定为编译目标。这不但对js开发造成了严重的碎片效应,还因为二次编译给本就性能不佳的js带来 进一步的损失。"

最近一段时间,关于Java安全性的新闻层出不穷。被伤害的不光是普通计算机用户,甚至还包括苹果公司、美国政府。此次安全风波波及面之广,恐怕是Oracle始料未及的。

1.黑客利用网页漏洞进行攻击

据国外安全研究机构称,当前的Java版本中包含了一个严重的安全漏洞,可能导致电脑在访问带有恶意代码的特定网页时被感染。Window系统中的所有主流浏览器都可能被利用并感染,其中也包括Chrome。该漏洞也存在于苹果最新的Mountain Lion操作系统。

为此,苹果不得不单独发布Java相关更新,以保证Mac用户的安全性。素以跨平台性强著称的Java,也让所有运用他的人无处可藏。

2.Java安全机制

Java早期的安全框架强调的是通过验证代码的来源和作者,保护用户避免受到下载下来的代码的攻击。Java安全模型的前三个部分——类加载体系结构、class文件检验器、Java虚拟机(及语言)的安全特性一起达到一个共同的目的:保持Java虚拟 机的实例和它正在运行的应用程序的内部完整性,使得它们不被下载的恶意代码或有漏洞的代码侵犯。相反,这个安全模型的第四个组成部分是安全管理器,它主要用于保护虚拟机的外部资源不被虚拟机内运行的恶意或有漏洞的代码侵犯。这个安全管理器是一个单独的对象,在运行的Java虚拟机中,它在对于外部资源的访问控制起中枢作用。

Java签名/证书机制,可以保障使用者,安全地调用外部提供的jar,防止你信任的jar被篡改。首先,Java的签名,必须是基于jar包的。也就是说,你必须将你要提供的class,打包到jar里。然后,通过Java 提供的签名工具(jarsigner)对jar包进行签名,发布。

签名原理:使用非对称算法,生成一对公钥/私钥。

3.Oracle应对Java漏洞危机

甲骨文软件质量保证经理Eric Maurice透露,五个漏洞中有四个存在于桌面系统的Java Web Start应用和浏览器Java小程序中。其中三个被通用漏洞评分系统评为10级,这是很严重的事情:如果Java运行在Windows XP这种默认以管理员身份运行的系统,那么黑客能够利用这些漏洞完全损害系统的保密性,完整性和可用性;在Linux或者Salaris这类以非管理员权限运行的系统中情况会好一些。安全研究人员对剩下的一个漏洞也做出过说明,该漏洞影响服务器部署的Java安全套接字扩展(JSSE),基于Lucky Thirteen攻击SSL/TLS实现。

新的Java 6 _update41可以从甲骨文网站下载,而不是Java.com,目前必须手动下载。但Java 6 安装程序的更新功能会提示用户下载并安装Java 7 _update15。这一切都在甲骨文的计划中。甲骨文之前在网站上宣布,将启动自动更新帮助Windows32位系统用户完成升级。甲骨文将加快其对Java的修补速度。Maurice说,“甲骨文会继续加快Java更新发布速度,特别是帮助解决桌面系统浏览器的Java运行环境安全,以重树安全信誉。”

其实这次Java漏洞危机并不是第一次,之前2010年也有报道宣称Java漏洞会影响Windows运行安全。各位用户还是尽量及时更新自己的Java,作为开发语言中举足轻重的语言,Java的安全性还是值得信赖的。

前10名编程语言走势图

20到50名语言排行

下面是第50到100的编程语言排名

(Visual) FoxPro, 4th Dimension/4D, ABC, Agilent VEE, Alice, Apex, AutoIt, AutoLISP, bc, C shell, CL (OS/400), Clipper, Clojure, Dart, Dylan, ECMAScript, Eiffel, Emacs Lisp, F#, Go, Groovy, Icon, IDL, Inform, Informix-4GL, J, JScript.NET, Ladder Logic, LPC, MEL, MUMPS, NATURAL, Oberon, OCaml, Occam, OpenCL, Oz, Pike, Q, REXX, S, sed, Simula, Smarty, SPARK, VBScript, VHDL, WebDNA, xBase, XSLT

2013年3月编程语言排行榜:有毒的Java相关推荐

  1. 2013年6月编程语言排行榜,C语言位据第一位

    2013年6月编程语言排行榜,C语言位据第一位 2013年6月编程语言排行榜,C语言位据第一位 C语言是很多主流开发语言的母体,.NET的底层,Java的底层都是C开发的,虽然很多新语言来势汹汹,但究 ...

  2. TIOBE 3 月编程语言排行榜:主流 Java、C++ 惨遭嫌弃,Python 势头迅猛

    取代不了的 Java.挡不住势头的 Python.吐槽不尽的 C++......数百种编程语言中也仅有那么几种当属主流语言,而如今这些主流的编程语言局势如何?身处其中的开发者又需要了解哪些内容? 本文 ...

  3. 2013年3月编程语言排行榜

  4. 2012年9月编程语言排行榜 Java并不应该被取代

    [51CTO独家特稿]TIOBE今天公布了九月份编程语言排行榜,八月和七月相比来说,并没太多显著的变化,PHP从第7的位置上升到第六,但比2011年来说仍有下滑的趋势.另外还有变化的则是Lua和上月相 ...

  5. TIOBE 4 月编程语言排行榜:Python 持续升温,Perl 苦苦挣扎

    点击上方"CSDN",选择"置顶公众号" 关键时刻,第一时间送达! TIOBE 刚刚发布了 4 月编程语言排行榜. 前 20 名中,Java 依然占据榜首,老牌 ...

  6. 2020年02月编程语言排行榜

    2020年02月编程语言排行榜 最新 TIOBE 编程语言排行榜,关注编程语言动态 February Headline: Objective-C on its way out Objective-C ...

  7. TIOBE 5 月编程语言排行榜:Python、C++竞争白热化,Objective-C已沦为小众语言

    作者 | 屠敏 出品 | CSDN(ID:CSDNnews) 日前,TIOBE 编程语言社区最新发布了 2019 年 5 月排行榜. 和 4 月榜单相比,5 月编程语言排行榜的 Top 10 位置并没 ...

  8. TIOBE 2月编程语言排行榜:Python逼近C,Groovy重回TOP 20

    作者 | 唐小引 出品 | CSDN(ID:CSDNnews) 新月伊始,一月一更的 TIOBE 编程语言社区发布了最新的 2 月编程语言排行榜. 继 Python 语言成为 "2018年度 ...

  9. python现在第几版-2020 年10月编程语言排行榜,Python 排名逼近第二

    原标题:2020 年10月编程语言排行榜,Python 排名逼近第二 来源:菜鸟教程 TIOBE 2020 年 10 月份的编程语言排行榜已经公布,官方的标题是: Python 排名逼近第二. TIO ...

最新文章

  1. TOMCAT startup.bat
  2. 社交网络分析与反欺诈
  3. ejb jsf jpa_完整的WebApplication JSF EJB JPA JAAS –第2部分
  4. 编程之美--读书笔记--返回一个数组中所有元素被第一个元素除的结果
  5. JavaScript模板引擎Template.js基本使用详解
  6. C# 中 NPOI 库读写 Excel 文件的方法【摘】
  7. Redis主从复制、哨兵、Cluster安装部署
  8. c# lock的使用及注意事项
  9. 小学生都能看懂的生成函数入门教程
  10. 【翻译】微软会投资和支持Skype在非微软平台上的业务
  11. win10系统托盘图标不见了_win10托盘图标不显示怎么回事_win10任务栏托盘图标显示不完全如何修复...
  12. 即时通讯源码/im源码uniapp基于在线聊天系统附完整搭建部署教程
  13. rdkitpython | 多个化合物中挑选最大片段
  14. mimics软件临床应用.计算机辅助外科入门技术,Mimics软件临床应用 计算机辅助外科入门技术.pdf...
  15. FPGA驱动ESP8266 WiFi模块
  16. android power 按键,android 添加按(power键)电源键结束通话(挂断电话)
  17. 程序人生 | 春风得意马蹄疾,一日看尽长安花
  18. matlab第四章图像复原与重建
  19. 设置vscode默认打开浏览器为谷歌
  20. get请求获取不到参数

热门文章

  1. linux 下脚本安装 mysql_linux(centos7)下编译安装mysql(数据库)一键安装详解+脚本文件...
  2. python2048游戏代码_【Python】用Python实现2048小游戏(源代码,1.0版本)
  3. 视频光端机的应用领域有哪些?
  4. 移动通信学习笔记_01概述
  5. 计算机模拟定点突变,分子模拟对接和定点突变提高10β–去乙酰巴卡亭-华南农业大学学报.PDF...
  6. 单开双控_卧室或者楼梯灯怎么安装单联双控
  7. 【MFC系列-第14天】MFC核心类库的成员介绍(记事本快捷键)
  8. 虚拟机使用计算机网络,虚拟机技术在计算机网络专业课程教学中的应用
  9. 排序算法三:堆排序基本原理以及Python实现
  10. 在建工地扬尘在线监控系统推荐_配电室为何需要安装蓄电池在线监控系统?保定钰鑫电气...