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. java 高精度

    package BigDecimal; import java.math.BigDecimal; import java.lang.Object; public class BigDecimalTes ...

  2. 解决DataSnap支持的Tcp长连接数受限的两种方法

    如何解决DataSnap支持的Tcp长连接数受限的问题? 方案一: 采用代理服务器方式,基本流程为: 1.客户先连接代理服务器:2.获取可用的服务器IP和端口:3.关闭与代理服务器之间的连接:4.建立 ...

  3. 第六周 E题 期望.....

    Description Given a dice with n sides, you have to find the expected number of times you have to thr ...

  4. 查看表空间信息SQL集合

    1.查看表空间的名称及大小 SELECT t.tablespace_name as "表空间名", )), ) AS "所占物理空间M" FROM dba_ta ...

  5. WPF-控件-层级控件-Menu-嵌套结构

    <?xml version="1.0" encoding="utf-8" ?> <Data xmlns=""> &l ...

  6. Daject初探 - 一个开源关系型数据库对象关系映射(ORM)模型

    Daject简介 Daject是用php写的一个关系型数据库抽象模型,通过该模型,可以在不写任何SQL或写很少的SQL就能执行大多数数据库查询操作.Daject具有面向对象,跨数据库的优点,通过数据库 ...

  7. 【原创】CHROME 最小字体限制为12PX的终极解决方案

    CHROME 最小字体限制为12PX的终极解决方案 本文由五月雨恋提供,转载请注明出处. 相信不少做网站的用户会有这样一个问题,Chrome 默认最小字体是12px(最新版英文也有此问题),这个是 C ...

  8. 1996: [Hnoi2010]chorus 合唱队 - BZOJ

    Description Input Output Sample Input41701 1702 1703 1704Sample Output8HINT 水题,区间dp,f[l,r,k]表示区间[l,r ...

  9. c++ 时间格式化

    struct tm tm_time; strptime(time.c_str(), "%Y%m%d %H:%M:%S", &tm_time); time_t tt = mk ...

  10. 【BZOJ】【1834】【ZJOI2010】Network 网络扩容

    网络流/费用流 这题……我一开始sb了. 第一问简单的最大流…… 第二问是要建费用流的图的……但是是在第一问的最大流跑完以后的残量网络上建,而不是重建…… 我们令残量网络上原有的弧的费用全部为0(因为 ...