你为什么放弃golang?

Python09

你为什么放弃golang?,第1张

因为内存管理粗糙。经常看到fmt.xxx导致内存占用太多,反射导致内存占用太多的抱怨。

go语言适合写服务器组件,那种和业务数据无关的服务器。比如数据库服务器、web服务器、日志搜索引擎等。如果用来写一个crm管理系统,非常累,因为缺乏好多高级特性和庞大的第三方库,而且语法比较单一,总体感觉就跟写命令行差不多。

Go语言是谷歌2009发布的编程语言,这个语言发明的目的,就是为了在运行速度接近C/C++语言的基础上(注意是接近),降低开发者的门槛,减少开发难度。

Go语言,在功能上没有超过C/C++,适用者为没有C/C++经验的开发者,开发出接近C效率的程序。对于已经熟练掌握C/C++的开发者来说,Go语言没有优势,还要重学语法,适应开发环境,明显是不符合效率的。

总结

其实语言这东西,都有其优势和劣势。而且有些东西并不是纯技术的。比如java的优势在于清晰的语意表达。写代码的上限不高,但是下限也不低,适合工业开发。

而go呢,不得不说go在微服务这块有先天优势。毕竟java中要实现go的很多功能,需要引入第三方库。很笨重。而go原生支持,这个微服务就很轻巧。但是go的语法太活,工业用是一个挺大的弊端。

     在软件开发行业,新技术正以快节奏的方式出现。程序员在选择编程语言时也应该顺应行业和时代的发展趋势,以保持他们在技术市场的领先优势。许多编程语言中哪一种是你最喜欢的?

      最近,GitHub作为编程界的“脸谱”,列出了世界上十种最流行的编程语言。它们都在使用吗?让我们看看。

      世界十大编程语言列表

10、C

      C是最常用和最古老的编程语言之一,创建于20世纪70年代初。1978年,贝尔实验室正式发布了C语言,并出版了一本名为《The C Programming Language》的书,该书被用作对C语言的非正式标准解释。

9、Go

      Go最初是由谷歌设计的,旨在为全球最繁忙的搜索引擎谷歌提供一个巨大的多处理器系统。如今,用围棋语言编译的程序已经可以与C9和C9的速度相匹配,并且更加安全,已经成为开发人员的热门选择。微软也开发了

8、C#

      语言,发音为“C-夏普”。它是Java的竞争对手,主要用于开发商业软件和系统级应用程序。

7、CSS

      层叠样式表(CSS)是一种广泛使用的网站设计和基于浏览器的编程语言。

6、C++

      C是创建于1983年的C编程语言的一个分支。我们可以在桌面网络应用程序或服务器框架中找到它。

5、PHP

      PHP被广泛使用。我们包括雅虎!脸谱网和其他使用PHP作为网站代码的大型网络公司。PHP是C语言、JAVA语言和PERL语言的混合。它可以将程序嵌入html中执行。

4、Ruby

      Ruby因其易于阅读和书写而赢得了许多赞誉。Ruby可以使构建网络应用程序变得容易。这种语言的座右铭是“程序员最好的朋友”,这也被许多老程序员称为最易读的语言。

3、Java

      Java最初是由太阳微系统公司在1991年创建的。Java吸收了C语言的优点,具有功能强大、使用方便的特点。甲骨文在2009年收购太阳后,爪哇已经成为一个强大的制造商。JAVA是安卓应用程序中最常见的语言。自2007年3月以来,世界各地的人们都可以修改JAVA源代码。

2、Python

      Python可追溯到1989年,由荷兰吉多·范·罗苏姆发明。由于其可读性很强的代码,它很受程序员的欢迎,许多程序员认为这是最容易上手的语言。

1、JavaScript

      尽管它们的名字与Java非常相似,但JavaScript实际上与JAVA没什么关系。它在客户端的脚本语言中被广泛使用,最初是在html网页上,但它也会减慢浏览器速度,有时会使用户暴露在安全漏洞中。

      但是与此同时,我们可以发现几乎所有的网页现在都有了阴影。

      除了全球十大编程语言之外,GitHub流行的编程语言列表还包括TypeScript、Shell、Swift、Scala和Objective-C.

      以下是全球十大编程语言的完整投票表:      8、Ruby

      7、CSS

      6、C

      5、C#

      4、PHP

      3、Python

      2、Java

      1、JavaScript

C++适合本地程序的开发。Go语言适合网络程序和本地程序的开发。Go的优点:垃圾回收,语意明确,格式统一。 Go的缺点:效率目前没有C++高,但对于桌面程序而言,效率问题不大,因为硬件已经很快了。c++过于复杂了,加入很多炫技的内容。这些内容脱离了事情的本质。

最明显的就是所谓的面向对象。基于面向对象的工程如果足够大的情况下,会带来很大的耦合度,如果再加上内存管理,多线程等等。项目后期基本上没办法维护和增加功能。

关于c++的语言复杂性,你可以问知乎上的任何一位高手。没一个敢说自己精通c++。你也可以去看一下所有的c++编绎器,没有任何一个敢说自己完全实现了c++的标准。不同的编绎器之间实现细节又不同。所以功能再强大没有实用性,就失去了意义,只会制造更多的问题。