为什么要用Go语言做后端
FMZ数字货币量化平台 www.fmz.com, 后端使用Go语言,这里是创始人Zero谈论使用Go语言所带了的便利。原帖地址:https://www.zhihu.com/question/27172183/answer/74951148
Go好比Web框架里的Angularjs....
这算是是Google的开发哲学像Angularjs只能做单页面应用一样, 应用场景不一样... 怎么跟做一个CMS上与PHP有可比性???但做Web后台应用你比比PHP跟angularjs的代码量就知道了.我不是一个Go粉但我现在是大并发网络后台服务有关的项目就用Go做, 因为用过他写过N多上万行的项目. 这些项目用C++或Java可能要一个星期, 用Go两天就能做好.
没认识Go之前,我做网络并发用的是ACE这个网络库, 被boost坑过, 也被erlang困扰过, python的tornado也做过一些项目.最后发现, 开发成本不在于项目复杂度..在于你所用的框架的坑有多少.而Go的坑, 做这么久项目以来, 没有遇到遇到了最后也证明是自己滥用了一些特性, 比如defer。
个人 喜欢专注一种应用场景的语言比如PHP专业做Web, C专门做系统, Go专门做网络服务, ASM负责调优性能, 语言学习成本又不高,一个个学就是了,未来混合语言编程是主流。。
我是一个爆栈工程师, 做一个项目在N种语言中切换. 没有什么不适应的, 反而感觉很自如. 性能也能发挥最大化. 像node这一种试图通吃的语言. 只是一个失败的尝试, 时间会证明的..
不知道上面这句会不会引来口水重要的事情说三遍:
语言的好坏是对应用场景来说的 !
语言的好坏是对应用场景来说的 !
语言的好坏是对应用场景来说的 !
没有最好的语言, 只有最适合你开发场景的语言
你用Go的模板做下前台试试?? 能让你疯掉...但你拿他来做后端试下, 能让你多出来时间陪家人朋友.
最后: 上面纯属个人观点。。欢迎指证, 但我不会鸟你们的. 因为我用过就用一门语言写过几个小项目的人, 不要用评价这门语言的好坏, 等你用他来写过几十万行的代码以后, 你就会发现,原来这么设计他妈的是有原因的...或者原来尼玛的我又选错语言了...
语言学习成本真不高。。。可以说没有成本. 相对收获来说如果你感觉学习一门新语言成本高, 只能说,你不适合作个码农..
为什么要用Go语言做后端的更多相关文章
- 用Go语言做产品半年的一些感觉
用Go语言做产品刚好半年,有一些感觉跟大家说道说道. 在使用Go之前,我常常想象,无法使用先进的Debug工具会对工作进度造成多么巨大的影响.甚至在Visual Studio的娇惯下认为,不能调试基本 ...
- mormort 土拨鼠,做后端服务那是杠杠的,基于http.sys
http.sys你可以用 mormort 土拨鼠,做后端服务那是杠杠的,基于http.sys并且还是开源的,作者天天更新代码,非常勤奋,官方论坛提问,回答也快其实,稍微看看,就能玩的挺好的
- [Windows Phone] 以多国语言做为开发前提 (1)
原文:[Windows Phone] 以多国语言做为开发前提 (1) ? 前言 在先前 TechDays 2013 的课程 [开发 Windows Phone 商务应用程式就是这麽快] 中,其中一个部 ...
- [Windows Phone] 以多国语言做为开发前提 (2)
原文:[Windows Phone] 以多国语言做为开发前提 (2) ? 前言 在先前的文章 [Windows Phone 开发 - 以多国语言做为开发前提 (1)] 中说明了简单的多国语言范例,今天 ...
- 用R语言 做回归分析
使用R做回归分析整体上是比较常规的一类数据分析内容,下面我们具体的了解用R语言做回归分析的过程. 首先,我们先构造一个分析的数据集 x<-data.frame(y=c(102,115,124,1 ...
- 担心后端代码泄露?用delphi做后端,模板扣出来,随时可以变化。
担心后端代码泄露?用delphi做后端,模板扣出来,随时可以变化. 本项目不是intraweb, unigui等类似的拖拉项目,只是一个简单 的模板引擎,理论上可以结合任何后端. 要就下载源码,作者保 ...
- 【转】网页游戏能用PHP做后端开发吗? PHP Libevent扩展安装及应用
网页游戏能用PHP做后端开发吗? 当然可以.最好走HTTP,也可以做网络编程,而且写代码超简单,1个函数就可以建一个服务器端.stream_socket_server()多线程不是什么好主意,你可以用 ...
- C语言做一个通讯录程序(在console里面运行)
最近复习C语言的时候看到网上有个C语言通讯录的小项目,于是看了下那个程序实现的大概的功能,然后自己也跟着做了个.代码还算简洁,贴上来给有需要的人. // // main.m // AdressBook ...
- 用C语言做一个横板过关类型的控制台游戏
前言:本教程是写给刚学会C语言基本语法不久的新生们. 因为在学习C语言途中,往往只能写控制台代码,而还能没接触到图形,也就基本碰不到游戏开发. 所以本教程希望可以给仍在学习C语言的新生们能提前感受到游 ...
随机推荐
- HDU 4035 期望dp
这道题站在每个位置上都会有三种状态 死亡回到起点:k[i] 找到出口结束 e[i] 原地不动 p[i] k[i]+e[i]+p[i] =1; 因为只给了n-1条路把所有都连接在一起,那么我们可以自然的 ...
- [TyvjP1050] 最长公共子序列(DP)
传送门 f[i][j] 表示第 1 个串匹配到第 i 位,第 2 个串匹配到第 j 位的答案. f[i][j] = max(f[i - 1][j], f[i][j - 1]) (a[i] != ...
- 守护进程详解及创建,daemon()使用
一,守护进程概述 Linux Daemon(守护进程)是运行在后台的一种特殊进程.它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件.它不需要用户输入就能运行而 且提供某种服务,不是对整 ...
- Codeforces 651E Table Compression【并查集】
题目链接: http://codeforces.com/problemset/problem/650/C 题意: 给定n*m的矩阵,要求用最小的数表示每个元素,其中各行各列的大小关系保持不变. 分析: ...
- mysql计算两个日期之间的天数
MYSQL自带函数计算给定的两个日期的间隔天数 有两个途径可获得 1.利用TO_DAYS函数 select to_days(now()) - to_days('20120512') 2 ...
- pymongo collection.save 问题
项目中有这样一个需求,把路由器信息存入mongo,DB的结构如下: { router_name: name, router_ip: ip, interfaces: [ {oid:1,name:if1} ...
- 彻底来理解下hashmap吧
1.什么叫hashmap? 答:首先是一种map集合,其次呢,它是一种利用hash表来存储的数据结构.所以叫hashmap. 2.hashmap的特点是什么? 答:hashmap的特点是key值不能重 ...
- 我的arcgis培训照片3
来自:http://www.cioiot.com/successview-557-1.html
- symfony 使用原始sql
$this->get('database_connection')->fetchAll('select * from book where book.id=3')
- JAVA 小程序之ATM
一个JAVA的小程序,主要要求有模块化编程的思想,能够把ATM中各个功能独立成为一个一个的方法. ATM主要功能有: 查询余额: 取款: 存款: 修改密码: 退出. 以上功能均由独立的方法给出,具体实 ...