为什么开发人员从Java转到Go
使用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相关推荐
- Java 8 失宠!开发人员向 Java 11 转移...
以下文章来源方志朋的博客,回复"666"获面试宝典 作者:白开水 来源:OSC开源社区(ID:oschina2013) 此前的 Java 社区报告曾指出,Java 8 仍是开发人员 ...
- 阿里开发人员献礼“Java架构成长笔记”,深入内核,拒绝蒙圈
导言 提起阿里,行外人联想到的关键词无非是"交易"."淘宝"."支付宝",但对于程序员来说,阿里庞大的技术体系才是最吸引人的.实际上阿里作为 ...
- 火狐是用java开发的吗_超级不负责任 Firefox开发人员因Java区块而受到攻击
火狐是用java开发的吗 由于上周晚些时候发布了补丁,因此Java现在需要明确的许可才能在最新版本的Firefox中运行. Mozilla的开发人员是Firefox背后的非营利组织,他们希望它能帮助保 ...
- java安装_我最喜欢的Java高级开发人员书籍
java安装 我上一篇博客文章(我对高级Java开发人员的十个最喜欢的在线资源)的想法,是由Xiaoran Wang发表的 "面向高级Java开发人员的十大网站"的启发. Wang ...
- GitHub上最受开发人员欢迎的5大Java项目
GitHub上有很多Java项目(准确地说,大概是744K个),但是开发人员最兴奋的是哪些项目?今天,小千列举了GitHub上一些最流行的Java项目.从Mockitos到Guava,以及 java- ...
- java开发人员_Java 8:开发人员怎么看?
java开发人员 由于Java 8发行倒计时已经开始,因此Java开发人员似乎肯定已经准备好参与其中. 根据Typesafe的一项调查 ,参与其中的开发人员中有65%回答说他们将在24个月的计划中迁移 ...
- java 断点_每个Java开发人员应拥有的持久断点
java 断点 当开发人员使用Java进行工作时,即使您尝试调试其他内容,也总是会遇到一些失败的情况. 这是应该在每个IDE中启用的持久断点的列表. (恕我直言) 是的,从理论上讲,您应该能够从良好的 ...
- 我最喜欢的Java高级开发人员书籍
我上一篇博客文章 (我对高级Java开发人员的十个最喜欢的在线资源)的想法是由Xiaoran Wang发表的针对高级Java开发人员的十大网站的启发. Wang还写了一篇名为<面向Java高级开 ...
- 每个Java开发人员应拥有的持久断点
当开发人员使用Java进行工作时,即使您尝试调试其他内容,也总是会遇到一些失败的情况. 这是应该在每个IDE中启用的持久断点的列表. (恕我直言) 是的,从理论上讲,您应该能够从良好的日志记录实现中获 ...
最新文章
- Linux卸载unity,你如何删除Unity?
- Windows RT复活!Windows 10 Cloud首波截图曝光
- Java深度历险(二)——Java类的加载、链接和初始化
- Centos7安装Python3.6
- boost::python::enum_相关的测试程序
- python判断密码强度_python – 检查密码的强度(如何检查条件)
- POI读取Excel文件时,row.getCell(0).getStringCellValue()报错:数字转换异常
- 10月17日Servlet培训日记
- 如何創建一個自己的 Composer/Packagist 包 (PHP)
- 简述网桥、网关、网卡之间的联系和区别
- java与jsp的关系_浅谈servlet与jsp的关系
- NPM酷库050:xmlbuilder,创建XML文件
- window 软件 C盘 文件 搬家(配置文件搬家)
- 七夕情人节表白网页代码大全(浪漫的html表白源代码)
- wpf 语音通话_WPF+WCF一步一步打造音频聊天室(四):视频会话
- 知物由学 | Android 模拟点击研究,如何突围“黑灰产”的自动化作弊?
- python视频推荐知乎_用Python下载知乎视频,非常实用!
- Point Estimation
- python如何爬取百度云_python如何爬取百度云连接方法指导
- python087(文件—文件概念以及文本文件和二进制文件的区别)
热门文章
- phpMyAdmin安装
- word 2010 从第三页开始设置页码
- 【流媒體】jrtplib—VS2010 下RTP开源协议库JRTPLIB3.9.1编译
- Tomcat中的线程池(APR和ThreadPool)
- JBoss 类加载器问题解决
- TP5 MYSQL按照原来的IN顺序查询
- POJ3228二分最大流
- 【RecyclerView】 八、RecyclerView.ItemDecoration 条目装饰 ( onDraw 和 onDrawOver 绘制要点 )
- 【CMake】Android Studio 中使用 CMake 编译单个 C++ 源文件 ( 常用的 CMake 命令解析 )
- redis常用命令(一)