使用Java来开发企业级的应用可能是一个不错的选择,但是使用Google的Go语言来开发系统软件会更有优势,一名来自PivotalJava开发者如是说,目前他已经成为Go语言的支持者。

Pivotal的一个使用Go语言开发其Cloud Foundry 云平台的工程师Matt Stine说:Go语言在包、模块化和并发方面有很大优势,如果你尝试解决的问题是Go语言所擅长的领域,如大型、高性能服务器端程序,我可以说Go非常适合这样的场景。”

Stine认为Go是一个“相当无聊”的语言,而不是一个神奇的、现代的、功能丰富的语言,但是尽管如此,“你仍然可以使用它开发出一些令人兴奋的东西”。他认为Go是一个构建系统级软件的工具。开发者可以使用Go语言标准库来构建系统级软件,而不像其他语言一样需要第三方框架。

Stine提到,在处理并发时,Golang有内建的功能,这与Java不同,Java的并发的工具类是通过类库支持的。Stine说:“我认为Go语言本身的语法结构就非常适合处理并发。”另外,Go支持多返回值。

Go也提供了闭包和Map,Map可以将一种类型的值(Key)与其他类型的值关联起来,他们都是Go的内建数据结构。Stine还称赞了Go的slice。通过slice,被包装后的数组可以方便地为序列的数据提供接口。在Go中,很多与数组相关的编程都通过slice来实现。

在Go语言中,半自动资源管理是通过defer关键字来提供的。“取代创建资源、使用资源、然后在下面关闭资源的是,我可以马上告诉它,‘在该函数其余功能执行完后再执行这个函数’”,stine说。

Stine强调,Go语言在面对包和模块化的时候比Java更有优势,原因是在Go语言中它们比Java简单得多。“在Go里面,所有类型和函数必须属于一个包,但是每一个源文件必须申明它所属的包。”

Java,由Sun Microsystems公司在1995年推出,在语言流行排行榜(包括Tiobe,PyPL和RedMonk编程语言排行榜)中得分最高或者接近最高。Go语言,在RedMonk排行中正在上升,在6月的排行中来到第21位。在7月的Tiobe排行中,Go被排在30位。

  • 转载自 并发编程网 - ifeve.com

为什么开发人员从Java转到Go相关推荐

  1. Java 8 失宠!开发人员向 Java 11 转移...

    以下文章来源方志朋的博客,回复"666"获面试宝典 作者:白开水 来源:OSC开源社区(ID:oschina2013) 此前的 Java 社区报告曾指出,Java 8 仍是开发人员 ...

  2. 阿里开发人员献礼“Java架构成长笔记”,深入内核,拒绝蒙圈

    导言 提起阿里,行外人联想到的关键词无非是"交易"."淘宝"."支付宝",但对于程序员来说,阿里庞大的技术体系才是最吸引人的.实际上阿里作为 ...

  3. 火狐是用java开发的吗_超级不负责任 Firefox开发人员因Java区块而受到攻击

    火狐是用java开发的吗 由于上周晚些时候发布了补丁,因此Java现在需要明确的许可才能在最新版本的Firefox中运行. Mozilla的开发人员是Firefox背后的非营利组织,他们希望它能帮助保 ...

  4. java安装_我最喜欢的Java高级开发人员书籍

    java安装 我上一篇博客文章(我对高级Java开发人员的十个最喜欢的在线资源)的想法,是由Xiaoran Wang发表的 "面向高级Java开发人员的十大网站"的启发. Wang ...

  5. GitHub上最受开发人员欢迎的5大Java项目

    GitHub上有很多Java项目(准确地说,大概是744K个),但是开发人员最兴奋的是哪些项目?今天,小千列举了GitHub上一些最流行的Java项目.从Mockitos到Guava,以及 java- ...

  6. java开发人员_Java 8:开发人员怎么看?

    java开发人员 由于Java 8发行倒计时已经开始,因此Java开发人员似乎肯定已经准备好参与其中. 根据Typesafe的一项调查 ,参与其中的开发人员中有65%回答说他们将在24个月的计划中迁移 ...

  7. java 断点_每个Java开发人员应拥有的持久断点

    java 断点 当开发人员使用Java进行工作时,即使您尝试调试其他内容,也总是会遇到一些失败的情况. 这是应该在每个IDE中启用的持久断点的列表. (恕我直言) 是的,从理论上讲,您应该能够从良好的 ...

  8. 我最喜欢的Java高级开发人员书籍

    我上一篇博客文章 (我对高级Java开发人员的十个最喜欢的在线资源)的想法是由Xiaoran Wang发表的针对高级Java开发人员的十大网站的启发. Wang还写了一篇名为<面向Java高级开 ...

  9. 每个Java开发人员应拥有的持久断点

    当开发人员使用Java进行工作时,即使您尝试调试其他内容,也总是会遇到一些失败的情况. 这是应该在每个IDE中启用的持久断点的列表. (恕我直言) 是的,从理论上讲,您应该能够从良好的日志记录实现中获 ...

最新文章

  1. Linux卸载unity,你如何删除Unity?
  2. Windows RT复活!Windows 10 Cloud首波截图曝光
  3. Java深度历险(二)——Java类的加载、链接和初始化
  4. Centos7安装Python3.6
  5. boost::python::enum_相关的测试程序
  6. python判断密码强度_python – 检查密码的强度(如何检查条件)
  7. POI读取Excel文件时,row.getCell(0).getStringCellValue()报错:数字转换异常
  8. 10月17日Servlet培训日记
  9. 如何創建一個自己的 Composer/Packagist 包 (PHP)
  10. 简述网桥、网关、网卡之间的联系和区别
  11. java与jsp的关系_浅谈servlet与jsp的关系
  12. NPM酷库050:xmlbuilder,创建XML文件
  13. window 软件 C盘 文件 搬家(配置文件搬家)
  14. 七夕情人节表白网页代码大全(浪漫的html表白源代码)
  15. wpf 语音通话_WPF+WCF一步一步打造音频聊天室(四):视频会话
  16. 知物由学 | Android 模拟点击研究,如何突围“黑灰产”的自动化作弊?
  17. python视频推荐知乎_用Python下载知乎视频,非常实用!
  18. Point Estimation
  19. python如何爬取百度云_python如何爬取百度云连接方法指导
  20. python087(文件—文件概念以及文本文件和二进制文件的区别)

热门文章

  1. phpMyAdmin安装
  2. word 2010 从第三页开始设置页码
  3. 【流媒體】jrtplib—VS2010 下RTP开源协议库JRTPLIB3.9.1编译
  4. Tomcat中的线程池(APR和ThreadPool)
  5. JBoss 类加载器问题解决
  6. TP5 MYSQL按照原来的IN顺序查询
  7. POJ3228二分最大流
  8. 【RecyclerView】 八、RecyclerView.ItemDecoration 条目装饰 ( onDraw 和 onDrawOver 绘制要点 )
  9. 【CMake】Android Studio 中使用 CMake 编译单个 C++ 源文件 ( 常用的 CMake 命令解析 )
  10. redis常用命令(一)