1.1 不允许左花括号另起一行
1.2 编译器莫名其妙地给行尾加上分号
1.3 极度强调编译速度,不惜放弃本应提供的功能
1.4 错误处理机制太原始
1.5 垃圾回收器(GC)不完善、有重大缺陷
1.6 禁止未使用变量和多余import
1.7 创建对象的方式太多令人纠结
1.8 对象没有构造函数和析构函数
1.9 defer语句的语义设定不甚合理
1.10 许多语言内置设施不支持用户定义的类型
1.11 没有泛型支持,常见数据类型接口丑陋
1.12 实现接口不需要明确声明
1.13 省掉小括号却省不掉花括号
1.14 编译生成的可执行文件尺寸非常大
1.15 不支持动态加载类库

Go语言的优点:
并发/网络/性能/工具(fmt/pprof/test)/标准库(http/json/log/flags/atomic)/Google
Go语言垃圾回收器真正致命的缺陷是,会导致整个进程不可预知的间歇性停顿。
像某些大型后台服务程序,如游戏服务器、APP容器等,由于占用内存巨大,其内存对象数量极多,GC完成一次回收周期,可能需要数秒甚至更长

时间,这段时间内,整个服务进程是阻塞的、停顿的,在外界看来就是服务中断、无响应,再牛逼的并发机制到了这里统统失效。垃圾回收器定期

启动,每次启动就导致短暂的服务中断,这样下去,还有人敢用吗?这可是后台服务器进程,是Go语言的重点应用领域。

小米网在使用Go的开发第二版抢购系统的过程中也遇到了Go程序消耗大量内存后,GC缓慢,最终导致服务不可用的问题.C语言使用网络框架库比如

libevent/libev/libuv/acl(Advanced C/C++ Library)后是否就能抵消Go的优势,而又没有Go垃圾回收时卡顿的缺点呢?在OpenResty(Nginx)

上进行Lua编程也是另一种开发高性能网络应用的选择.

----------------------------------------------------------------
Go 缺点
1 GO很慢,运行速度比Java慢,一个编译型的语言居然比解释性的还慢.
2 GO缺少安全检查,在第三方包调os.exit((1)的我见过太多了.
3 泛型不想吐槽,就没有泛型支持
4 err成为函数返回值成为标配,写起来千篇一律,if太多,没意思
5 :=这种定义我真不想说什么,看代码的时候左值什么类型都不知道,还要深入看右值的函数去看,尤其是没有一个好的IDE可以点进去看函数定义.
Go 优点
6 没有一个好的工程版本管理,尤其是github上第三方的.
1 开发速度很快,代码比较简洁.
2 标准库比较强大
3 编译简单,最后就一个可执行文件

----------------------------------------------------------------
Plan 9的作者还是没有Anders Hejlsberg 会懂得简单的道理,Plan 9的复杂有点过了

作为一个使用golang开发了一年多的人,看遍全文,我只能说,这个作者要么go刚刚入门,要么根本不懂go的精髓。

好热闹,我也来点参与感。最近用Go写过小工具,总体感觉满意,语法很干净,包组织比较舒服,并发非常爽。不足的是:IDE的确没找到合适的

,用过IntelliJ+golang插件以及LitteIDE,跟成熟的IDE相比差了挺多的。

nodejs 粉们不知道你们的 TJ 大神都已经转 golang 了吗?http://www.welefen.com/about-tj-farewell-node.js-article.html

go和nodejs都是很差的语言.node那异步回调也能被大吹特吹,异步回调是C++早已玩烂的东西好吗!
我支持C#,c#ide完善,语言设计精妙,现在c#跨平台能力比java还强,c#的异步语法甩nodejs一百条街

参考:http://blog.csdn.net/liigo/article/details/23699459

go的优缺点的更多相关文章

  1. DDD CQRS架构和传统架构的优缺点比较

    明天就是大年三十了,今天在家有空,想集中整理一下CQRS架构的特点以及相比传统架构的优缺点分析.先提前祝大家猴年新春快乐.万事如意.身体健康! 最近几年,在DDD的领域,我们经常会看到CQRS架构的概 ...

  2. [NodeJS] 优缺点及适用场景讨论

    概述: NodeJS宣称其目标是“旨在提供一种简单的构建可伸缩网络程序的方法”,那么它的出现是为了解决什么问题呢,它有什么优缺点以及它适用于什么场景呢? 本文就个人使用经验对这些问题进行探讨. 一. ...

  3. emmet,jade,haml, slim,less,sass,coffeescript等的实战优缺点

    摘要: 文章背景,来自于群内周五晚上的一次头脑风暴式的思维碰撞交流活动. 随着前端技术的蓬勃发展, 各种新技术随着生产力的需要不断的涌入我们的视野, 那今天探讨的话题是这些新时代的前端兵器谱: 一. ...

  4. sql server的优缺点

    sql server的优点众多,让其在数据库领域独占鳌头,成为最受欢迎的数据库系统,其优缺点也自然是喜爱者们所关注的,首先了解一下它的历史: sql server是一个关系型数据库管理系统,最初是由M ...

  5. 单页Web应用优缺点

    一.定义单页 Web 应用 (single-page application 简称为 SPA) 是一种特殊的 Web 应用.它将所有的活动局限于一个Web页面中,仅在该Web页面初始化时加载相应的HT ...

  6. 使用iframe的优缺点,为什么少用iframe以及iframe和frame的区别。

    注:HTML5不再支持使用frame,iframe只有src 属性一.使用iframe的优缺点优点:1.程序调入静态页面比较方便;2.页面和程序分离;缺点:1.iframe有不好之处:样式/脚本需要额 ...

  7. 几款主流PHP框架的优缺点评比

    PHP是一种在国内外都比较流行的开源服务器端脚本开发语言.能够适应大中小型项目的开发需求.我们将在这篇文章中向大家介绍几款主流PHP框架及其相关优缺点评比,作为一个参考分享给朋友们. 主要参考的PHP ...

  8. Mvc与WebForm优缺点及Mvc的使用

    关于Mvc与WebForm的优缺点在网上的评论可谓不胜枚举,但脱离了我们的项目来谈这些意义就不大了.以我们这次改版来看,WebForm的优势有以下几点: 一,可以使用<#include>, ...

  9. mysql_建立索引的优缺点 #转自Starzm#

    建立索引的优缺点: 为什么要创建索引呢? 这是因为,创建索引可以大大提高系统的性能.         第一.通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性.         第二.可以大大加 ...

  10. AJAX工作原理及其优缺点

    1.什么是AJAX?AJAX全称为"Asynchronous JavaScript and XML"(异步JavaScript和XML),是一种创建交互式网页应用的网页开发技术.它 ...

随机推荐

  1. PHP版本中的VC6,VC9,VC11,TS,NTS区别

    以windows为例,看看下载到得php zip的文件名 php-5.4.4-nts-Win32-VC9-x86.zip VC6:legacy Visual Studio 6 compiler,是使用 ...

  2. 基于Redis主从复制读写分离架构的Session共享

    1.搭建主从复制 第一步:将Redis拷贝到虚拟机上的指定文件夹内,此Redis作为主服务 第二步:将Redis拷贝到本机的指定文件夹内,此Redis作为从服务 第三步:修改主服务的配置文件(redi ...

  3. 虚拟局域网VLAN

    6.5.1配置路由器广域网端口的PPP封装 (1)配置路由器A: Router>enable Router#config Router_config#hostname Router-A Rout ...

  4. Linux&UNIX上卸载GoldenGate的方法

    1. Log on to the database server (as oracle) where the GoldenGate software is installed. [root@oracl ...

  5. python学习第六天

    一. 模块介绍1. 模块的定义:用一堆代码实现了某个功能的代码集合     包的定义:本质就是一个目录(必须导游一个_init_.py文件),是用来从逻辑上组织模块的.2. 需要多个函数才能完成(函数 ...

  6. WPF之UseLayoutRounding和SnapsToDevicePixels

    最近在工作中看别的朋友XML代码时,发现SnapsToDevicePixels 属性然后通过查询资料了解其作用 1)UserLayoutRounding为False,导致控件布局相对屏幕若不是整数则不 ...

  7. 插值和空间分析(一)_探索性数据分析(R语言)

    > library(lattice) > library(sp) > data(meuse) > coordinates(meuse) <- c("x" ...

  8. mdelay,udelay,msleep区别

    delay函数是忙则等待,占用CPU时间:而sleep函数使调用的进程进行休眠. udelay引用头文件/include/asm-***/delay.h,mdelay和ndelay则引用/includ ...

  9. 《C++Primer》复习——with C++11 [3]

    1.我们的程序经常使用很多IO库,用来输入输出例如:istream(输入流)类型,提供输入操作. ostream(输出流)类型, 提供输出操作. cin, 一个istream对象,从标准输入读取数据. ...

  10. Android Bluetooth Stream Non-blocking Communication Tutorial

    This is a tutorial for Android to do non-blocking bluetooth socket communication. I am using 32feet ...