golang和java
by Harshavardhana
通过Harshavardhana
In the last 2 years Golang (or simply ‘Go’) has raised to the ranks of mainstream programming languages like Java, Python and C/C++. Companies like Google, Docker, DigitalOcean and more have picked up Go to build their modern cloud infrastructure tools.
在过去的两年中,Golang(或简称为“ Go”)已经上升到Java,Python和C / C ++等主流编程语言的行列。 诸如Google,Docker,DigitalOcean等公司已选择Go来构建其现代云基础架构工具。
Since its first release January 21, 1996 Java has succeeded far beyond anyone’s expectations. From mobile apps to mission critical financial software Java is ubiquitous today. Comparing the Go’s pace of growth with Java, some enthusiastically speculate if Go could be the next Java or at least raise to an equal stature.
自从1996年1月21日首次发布以来, Java的成功远远超出了所有人的预期。 从移动应用程序到任务关键型财务软件,Java现在无处不在。 将Go与Java的增长速度进行比较,一些人热情地推测Go可能是下一个Java,或者至少可以发展到同等地位。
While Java has been around for close to 2 decades, Go is relatively young. First stable release appeared only 3 years ago. It may be premature to compare Go to Java at this point in time. However there is preliminary data to compare the early days and current trends of both the languages.
虽然Java已经存在了将近20年,但Go还是相对年轻。 第一个稳定版本仅在3年前出现。 现在比较Go与Java为时尚早。 但是,有初步数据可以比较两种语言的早期和当前趋势。
Language History
语言史
James Gosling, Mike Sheridan, and Patrick Naughton initiated the Java language project in June 1991. Java was originally designed for interactive television, but it was too advanced for the digital cable television industry at the time. The language was initially called Oak after an oak tree that stood outside Gosling’s office. Later the project went by the name Green and was finally renamed Java, from Java coffee.
詹姆斯·高斯林(James Gosling),迈克·谢里丹(Mike Sheridan)和帕特里克·诺顿(Patrick Naughton)于1991年6月启动了Java语言项目。Java最初是为交互式电视而设计的,但是对于当时的数字有线电视行业来说,它太先进了。 这种语言最初是在高斯林办公室外的一棵橡树之后被称为橡树的。 后来,该项目以Green命名,并最终从Java coffee中重命名为Java。
In 1991 Java was definitely ahead of its times. In the first 4 years, Java re-incarnated itself couple of times before it reached its final form. Java was strongly influenced by Objective-C, Smalltalk and Modula. The goal of Java was to be a modern object oriented portable language that is also high performance, robust and secure. It got its fundamentals just the right proportion to be sophisticated and simple at the same time. Java’s byte code approach and virtual machine implementation was just brilliant.
1991年,Java绝对领先于时代。 在最初的四年中,Java在达到其最终形式之前进行了两次重新训练。 Java受Objective-C,Smalltalk和Modula的强烈影响。 Java的目标是成为一种现代的面向对象的可移植语言,同时具有高性能,健壮性和安全性。 它的基本原理恰到好处地兼具了复杂性和简单性。 Java的字节码方法和虚拟机实现非常出色。
Language History
语言史
Robert Griesemer, Rob Pike, and Ken Thompson started designing Go at Google in late 2007, to address the software development problems Google was facing.
Robert Griesemer,Rob Pike和Ken Thompson于2007年底开始在Google设计Go,以解决Google面临的软件开发问题。
Go also took the same four years to mature from concept to version 1, similar to Java and most other languages. Go was strongly influenced by Modula, Pascal, Oberon and Newsqueak. It was born out of frustration with the existing system programming languages. Go was designed to be a fun language and at the same time it is productive, practical, expressive and powerful. Programmers could sense how Google might have influenced Go’s design choices and tooling, but who wouldn’t want to inherit Google’s best practices. Go’s highlight is efficient go-routines, channels and fast compilation.
从概念到版本1,Go也花了相同的四年时间才成熟,类似于Java和大多数其他语言。 Go受到Modula,Pascal,Oberon和Newsqueak的强烈影响。 它源于对现有系统编程语言的不满。 Go被设计为一种有趣的语言,同时又富有成效,实用,富有表现力且功能强大。 程序员可以感觉到Google如何影响Go的设计选择和工具,但是谁不想继承Google的最佳实践。 Go的重点是高效的go例程,通道和快速编译。
Java is popular both in the open source and proprietary world. List of popular projects and companies using Java is endless. It is one of the most proven and mature modern languages of our times. Java’s biggest strength is the availability of experienced high quality software developers across the world. Here is a gist of notable open source projects in Java.
Java在开源和专有世界中都很流行。 使用Java的受欢迎的项目和公司列表不胜枚举。 它是当今时代最成熟,最成熟的现代语言之一。 Java的最大优势是在世界范围内拥有经验丰富的高质量软件开发人员。 这是Java中著名的开源项目的要旨。
Since Go is in the early days of adoption, its list is nowhere comparable to Java. However the adoption Go already has received at this stage by organizations like Google, Dropbox, MongoDB, The BBC and SoundCloud is noteworthy. Leading trend in the industry today is cloudification of the enterprise software stack. Go is rapidly growing as the language of choice for cloud infrastructure and tooling projects. Here is a list of notable open source projects in Go.
由于Go处于采用初期,因此它的清单在任何地方都无法与Java相提并论。 然而,值得注意的是,Google,Dropbox,MongoDB,BBC和SoundCloud等组织在现阶段已经采用了Go。 当今行业的领先趋势是企业软件堆栈的云化。 Go作为云基础架构和工具项目的首选语言正在Swift发展。 这是Go中著名的开源项目的列表。
Java has outlived its expectations and it’s already on the decline. It has been falling gradually since 2005. Not much data has been collected publicly before 2005, but this sufficient to make a comparison with Go.
Java已经超出了预期,并且已经在下降。 自2005年以来,它一直在逐渐下降。2005年之前,公开收集的数据很少,但这足以与Go进行比较。
Go has been experiencing phenomenal growth since 2011. While Java has been declining Go has been growing at a rapid pace. However if you overlay the plot you will notice Go has a long way to go.
自2011年以来,Go一直在经历惊人的增长。尽管Java一直在下降,但是Go一直在快速增长。 但是,如果叠加了该图,您会发现Go仍有很长的路要走。
Unquestionably Java is one of the most mature programming languages today. Anything above version 3 is considered “ready for prime time” in the enterprise world. Java is already on its way to version 9. It is supported by all major operating systems and hardware architectures.
毫无疑问,Java是当今最成熟的编程语言之一。 版本3以上的任何内容在企业界都被视为“准备黄金时间”。 Java已经在向版本9过渡。所有主要的操作系统和硬件体系结构都支持Java。
Major release versions of Java, along with their release dates:
Java的主要发行版本及其发行日期:
Compared to Java, Go is still in its infancy. Latest stable release of Go “v1.6” happened just weeks ago. Go has a vibrant collaborative community driven approach and frequent release cycles, approximately every 6 to 8 months. It is easy to foresee with this approach Go will reach maturity sooner than Java.
与Java相比,Go仍处于起步阶段。 Go“ v1.6”的最新稳定版本是在几周前发生的。 Go具有活跃的协作社区驱动方法,并且发布周期频繁,大约每6到8个月一次。 通过这种方法很容易预见,Go会比Java更快地成熟。
Major release versions of Golang, along with their release dates:
Golang的主要发行版本及其发行日期:
It is too early to tell if ‘Go’ will ever replace Java or even reach its level of ubiquity, but quite certainly Go will make a long lasting impact in the general purpose programming languages category forever. It is likely to replace more of Python, Ruby, NodeJS, Perl, C, C++ environments before it makes any noticeable dent in the Java landscape.
现在判断“ Go”是否会替代Java甚至达到其普遍性还为时过早,但是可以肯定的是,Go将永远对通用编程语言类别产生长远影响。 在Java领域出现明显缺陷之前,它很可能会替换更多的Python,Ruby,NodeJS,Perl,C,C ++环境。
翻译自: https://www.freecodecamp.org/news/comparing-early-days-of-go-and-java-db8163bc6798/
golang和java